Genetic Programming

5.4 Genetic Programming

Although genetic programming was popularized in the 1990s by John Koza due to his well-known monograph [172], the main idea of this approach was introduced in 1985 by Cramer [61]. In genetic programming instead of searching a solution space with the help of a program, which is implemented on the basis of principles of evolution theory, a population of programs is created. Then, a space of programs is searched in order to find the one which can solve a class of problems in a satisfactory way. Of course, we have to define a function, to assess the quality (adequacy) of such programs. Thus, automatic synthesis of a computer program to solve a given problem is the objective of genetic programming. This objective has been extended to other

23 This problem is discussed in Sect. 8.4 . 24 Formal automata are introduced in Sect. 8.2 .

64 5 Evolutionary Computing systems in the technical sciences, such as digital circuits (electronics), controllers

(automatic control), etc. 25 In order to achieve such an ambitious objective, a human designer has to deliver certain knowledge to an AI system [173]. Firstly, the system has to know which components are to be used for generating a solution. In the case of a software system synthesis, arithmetic operations, mathematical functions, and various instructions of a programming language are such components. In the case of a digital circuit synthesis AND, OR, NOT, NAND, NOR logic gates, various flip-flops, etc. are such components. Secondly, a human designer has to define the fitness function. It seems that this is the most difficult problem. In order to define the fitness function, one has to formalize the task of a synthesized system precisely. Solving problems which belong to a certain class is, of course, the main objective of a synthesized system. Thus, systems-individuals should evolve in order to solve problems in a satisfactory way. In other words, the fitness function should define how well the system solves these problems. Thirdly, a human designer should deliver control parameters such as the size of the population, the probability of applying genetic operators, the termination condition, etc.

In genetic programming, programs are usually represented by tree or graph struc- tures. In Fig. 5.8 a the expression −b/2a is represented with the help of a tree structure. All expressions of a programming language can be represented with such a tree rep- resentation. The specific form of the “chromosomes” of individuals results in the

specific form of the genetic operators. A mutation is shown in Figs. 5.8 a and 5.8 c. A part of the first tree, which is mutated—the subtree −b (it is encircled by a dashed line √

(encircled by a dashed line in Fig. 5.8 c) is joined to the tree in place of the removed part. A tree √ which represents the expression −b −

in Fig. 5.8 a) is removed. A subtree representing the expression −b −

is obtained as a result of this mutation. A

2a

crossover operator consists of exchanging subtrees of trees (individuals). Let us cross

a tree which has been obtained as a result of the mutation (Fig. 5.8 c) and a tree which represents the expression a+b √ , which is shown in Fig. 5.8 b. The parts of the

−b +

“chromosomes" which are exchanged are encircled by a dashed line. As a result of the crossover we obtain the tree shown in Fig. 5.8 d, which represents the expression a+b

√ (it is not interesting), and the tree shown in Fig. 5.8 e, which represents −b −

√ the expression −b +

. This second expression has a well-known mathematical

2a interpretation, as does the initial expression −b/2a shown in Fig. 5.8 a. Let us notice that we have to formulate the well-defined fitness function in order to

generate (with genetic operators) a system which solves a certain class of problems. The fitness function directs the actions of the genetic operators. In genetic program-

25 If we analyze the applications of genetic programming, it seems that the synthesis of systems of electronics or automatic control is easier than the synthesis of software systems.

5.4 Genetic Programming 65

−b / 2a

(a)

−b

MUT

(b)

−b − /

a+b

(c)

−b +

/ 2a

(d)

−b + /

a+b

(e)

−b −

/ 2a

Fig. 5.8 a An exemplary expression of a programming language which is coded as a tree structure and its mutation, b, c the crossover of two structures, d, e descendant structures which are results of the crossover

ming crossing reasonable solutions is a basic operator. The mutation operator plays an auxiliary role.

On the basis of genetic programming a very interesting approach, called meta- genetic programming , was defined in 1987 by Jürgen Schmidhuber of the Technical University of Munich [265]. In this approach both chromosomes and genetic oper- ators evolve themselves, instead of being determined by a human designer. Thus, a meta-genetic programming system evolves itself with the help of genetic program- ming. A similar approach was used for constructing the Eurisko system by Douglas

Lenat 26 in 1976. The system, which is based on heuristic rules, also contains meta- rules allowing it to change these heuristic rules.

26 Douglas Lenat—a professor of computer science at Stanford University and Carnegie-Mellon University. A president of Cycorp, Inc., which researches the construction of a common-sense

knowledge base (ontology) Cyc.

66 5 Evolutionary Computing

Dokumen yang terkait

Hubungan pH dan Viskositas Saliva terhadap Indeks DMF-T pada Siswa-siswi Sekolah Dasar Baletbaru I dan Baletbaru II Sukowono Jember (Relationship between Salivary pH and Viscosity to DMF-T Index of Pupils in Baletbaru I and Baletbaru II Elementary School)

0 46 5

Institutional Change and its Effect to Performance of Water Usage Assocition in Irrigation Water Managements

0 21 7

The Effectiveness of Computer-Assisted Language Learning in Teaching Past Tense to the Tenth Grade Students of SMAN 5 Tangerang Selatan

4 116 138

the Effectiveness of songs to increase students' vocabuloary at second grade students' of SMP Al Huda JAkarta

3 29 100

The effectiveness of classroom debate to improve students' speaking skilll (a quasi-experimental study at the elevent year student of SMAN 3 south Tangerang)

1 33 122

Kerjasama ASEAN-China melalui ASEAN-China cooperative response to dangerous drugs (ACCORD) dalam menanggulangi perdagangan di Segitiga Emas

2 36 164

The Effect of 95% Ethanol Extract of Javanese Long Pepper (Piper retrofractum Vahl.) to Total Cholesterol and Triglyceride Levels in Male Sprague Dawley Rats (Rattus novergicus) Administrated by High Fat Diet

2 21 50

Factors Related to Somatosensory Amplification of Patients with Epigas- tric Pain

0 0 15

The Concept and Value of the Teaching of Karma Yoga According to the Bhagavadgita Book

0 0 9

Pemanfaatan Permainan Tradisional sebagai Media Pembelajaran Anak Usia Dini untuk Mengembangkan Aspek Moral dan Bahasa Anak Utilization of Traditional Games as Media Learning Early Childhood to Develop Aspects of Moral and Language Children Irfan Haris

0 0 11