Genetic Programming in Control Theory: On Evolving Programs and Solutions to Control Problems

University essay from Lunds universitet/Institutionen för reglerteknik

Author: Kuan Luen Ng; [2000]

Keywords: Technology and Engineering;

Abstract: More often than not one would encounter a problem, know that the solution has to meet some requirements, but do not how to start or how to progress towards solving it. Motivation for a computer that can solve the problem automatically without explicitly programming it is apparent, i.e. a computer that \programs itself", is greatly desired. The method of genetic programming has demonstrated its potential by evolving programs for a wide range of applications. Examples are target identi_cation [Tackett, 1993], performing optical character recognition [Andre, 1994], electronic circuit design [Koza, 1996] among many. In certain areas, GP generated designs or solutions were shown to be on par or even better than those created by human; although this is of course, not always the case. However, the power of GP is inherent that it is possible to use all tools and functions of computer programming that have ever been devised since it is evolving programs from programs themselves. This thesis applies this method to the area of control engineering. Applying genetic algorithm to this field is not new, however, but using genetic programming is relatively recent. The intention is therefore clear, to introduce another set of tools, perhaps quite unconventional but hopefully useful, to the control engineer. All the solutions presented in this thesis have been implemented using the program Matlab. Although the mathematical functions that have been used are limited and often no more than simple additions or multiplication, it should be clear that a whole arsenal of Matlab functions could be used as part of GP, depending on how the programmer formulate his/her problem. Hence besides having the basic program code to be re-usable for di_erent problems, care has been taken to allow user to be able to add additional functions easily. Designing a GP run would then consist of simply selecting or writing functions, and setting up a suitable evaluation and termination criteria. Problem solving should be automatic. Perhaps one might think that the solutions presented here are trivial, and the program might not work for other more diÆcult problems, or it may end up in a combinational explosion. This should however not to be seen as a poor re ection on the method, but rather may simply be due to bad programming practice. Therefore having said that, it should also be mentioned that there is more than enough room for improvements to the basic program

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)