SlideShare a Scribd company logo
1 of 34
Download to read offline
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 1
Lecture 10Lecture 10
Evolutionary Computation:Evolutionary Computation:
Evolution strategies and genetic programmingEvolution strategies and genetic programming
II Evolution strategiesEvolution strategies
II Genetic programmingGenetic programming
II SummarySummary
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 2
AnotherAnother approach to simulating naturalapproach to simulating natural
evolution was proposed in Germany in the earlyevolution was proposed in Germany in the early
1960s. Unlike genetic algorithms, this approach1960s. Unlike genetic algorithms, this approach
−− called ancalled an evolution strategyevolution strategy −− was designedwas designed
to solve technical optimisation problems.to solve technical optimisation problems.
Evolution StrategiesEvolution Strategies
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 3
II In 1963 two students of the TechnicalIn 1963 two students of the Technical
University of Berlin,University of Berlin, Ingo RechenbergIngo Rechenberg andand
HansHans--Paul SchwefelPaul Schwefel, were working on the, were working on the
search for the optimal shapes of bodies in asearch for the optimal shapes of bodies in a
flow. They decided to try random changes inflow. They decided to try random changes in
the parameters defining the shape following thethe parameters defining the shape following the
example of natural mutation. As a result, theexample of natural mutation. As a result, the
evolution strategyevolution strategy was born.was born.
II Evolution strategies were developed as anEvolution strategies were developed as an
alternative to the engineeralternative to the engineer’’s intuition.s intuition.
II UnlikeUnlike GAsGAs, evolution strategies use only a, evolution strategies use only a
mutation operator.mutation operator.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 4
In its simplest form, termed as a (1In its simplest form, termed as a (1++1)1)--evolutionevolution
strategy, one parent generates one offspring perstrategy, one parent generates one offspring per
generation by applyinggeneration by applying normally distributednormally distributed
mutation. The (1mutation. The (1++1)1)--evolution strategy can beevolution strategy can be
implemented as follows:implemented as follows:
Step 1Step 1:: Choose the number of parametersChoose the number of parameters NN toto
represent the problem, and then determine a feasiblerepresent the problem, and then determine a feasible
range for each parameter:range for each parameter:
Define a standard deviation for each parameter andDefine a standard deviation for each parameter and
the function to be optimisedthe function to be optimised..
Basic evolutionBasic evolution strategiesstrategies
{ }axmmin xx 11 , , { }axmmin xx 22 , , . . . , { }axmNminN xx ,
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 5
Step 2Step 2:: Randomly select an initial value for eachRandomly select an initial value for each
parameter from the respective feasible range. Theparameter from the respective feasible range. The
set of these parameters will constitute the initialset of these parameters will constitute the initial
population of parent parameters:population of parent parameters:
xx11,, xx22, . . . ,, . . . , xxNN
Step 3Step 3:: Calculate the solution associated with theCalculate the solution associated with the
parent parameters:parent parameters:
X = fX = f ((xx11,, xx22, . . . ,, . . . , xxNN))
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 6
Step 4Step 4:: Create a new (offspring) parameter byCreate a new (offspring) parameter by
adding a normally distributed random variableadding a normally distributed random variable aa
with meanwith mean zero and prezero and pre--selected deviationselected deviation δδ to eachto each
parent parameterparent parameter::
ii = 1, 2, . . . ,= 1, 2, . . . , NN
NormallyNormally distributed mutations with mean zerodistributed mutations with mean zero
reflect the natural process of evolutionreflect the natural process of evolution (smaller(smaller
changes occur more frequently than largerchanges occur more frequently than larger ones).ones).
Step 5Step 5:: CalculateCalculate the solution associated with thethe solution associated with the
offspring parameters:offspring parameters:
( )δ,0axx ii +=′
( )NxxxfX ′′′=′ ,...,, 21
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 7
Step 6Step 6:: CompareCompare the solution associated with thethe solution associated with the
offspring parameters with the one associated withoffspring parameters with the one associated with
the parent parameters. If the solution for thethe parent parameters. If the solution for the
offspring is better than that for the parents, replaceoffspring is better than that for the parents, replace
the parent population with the offspringthe parent population with the offspring
population. Otherwise, keep the parentpopulation. Otherwise, keep the parent
parameters.parameters.
Step 7Step 7:: GoGo to Step 4, and repeat the process until ato Step 4, and repeat the process until a
satisfactory solution is reached, or a specifiedsatisfactory solution is reached, or a specified
number of generations is considerednumber of generations is considered..
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 8
II An evolution strategy reflects the nature of aAn evolution strategy reflects the nature of a
chromosome.chromosome.
II A single gene may simultaneously affect severalA single gene may simultaneously affect several
characteristics of the living organism.characteristics of the living organism.
II On the other hand, a single characteristic of anOn the other hand, a single characteristic of an
individual may be determined by the simultaneousindividual may be determined by the simultaneous
interactions of several genes.interactions of several genes.
II The natural selection acts on a collection of genes,The natural selection acts on a collection of genes,
not on a single gene in isolation.not on a single gene in isolation.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 9
II One of the central problems in computer science isOne of the central problems in computer science is
how to make computers solve problems withouthow to make computers solve problems without
being explicitly programmed to do so.being explicitly programmed to do so.
II Genetic programming offers a solution through theGenetic programming offers a solution through the
evolution of computer programs by methods ofevolution of computer programs by methods of
natural selection.natural selection.
II InIn fact, genetic programming is an extension of thefact, genetic programming is an extension of the
conventional genetic algorithm, but the goal ofconventional genetic algorithm, but the goal of
genetic programming is not just to evolve a bitgenetic programming is not just to evolve a bit--
string representation of some problem but thestring representation of some problem but the
computer code that solves the problem.computer code that solves the problem.
GeneticGenetic programmingprogramming
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 10
II Genetic programming is a recent development inGenetic programming is a recent development in
the area of evolutionary computation. It wasthe area of evolutionary computation. It was
greatly stimulated in the 1990s bygreatly stimulated in the 1990s by John KozaJohn Koza..
II According to Koza, genetic programming searchesAccording to Koza, genetic programming searches
the space of possible computer programs for athe space of possible computer programs for a
program that is highly fit for solving the problem atprogram that is highly fit for solving the problem at
hand.hand.
II Any computer program is a sequence of operationsAny computer program is a sequence of operations
(functions) applied to values (arguments), but(functions) applied to values (arguments), but
different programming languages may includedifferent programming languages may include
different types of statements and operations, anddifferent types of statements and operations, and
have different syntactic restrictions.have different syntactic restrictions.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 11
II Since genetic programming manipulates programsSince genetic programming manipulates programs
by applying genetic operators, a programmingby applying genetic operators, a programming
language should permit a computer program to belanguage should permit a computer program to be
manipulated as data and the newly created data tomanipulated as data and the newly created data to
be executed as a program. For these reasons,be executed as a program. For these reasons,
LISPLISP was chosen as the main language forwas chosen as the main language for
genetic programming.genetic programming.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 12
LISP has a highly symbolLISP has a highly symbol--oriented structure. Itsoriented structure. Its
basic data structures arebasic data structures are atomsatoms andand listslists. An atom. An atom
is the smallest indivisible element of the LISPis the smallest indivisible element of the LISP
syntax. The numbersyntax. The number 2121, the symbol, the symbol XX and the stringand the string
““This is a stringThis is a string”” are examples of LISP atoms. Aare examples of LISP atoms. A
list is an object composed of atoms and/or otherlist is an object composed of atoms and/or other
lists. LISP lists are written as an ordered collectionlists. LISP lists are written as an ordered collection
of items inside a pair of parentheses.of items inside a pair of parentheses.
LISP structureLISP structure
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 13
For example, the listFor example, the list
((−− ((** A B) C)A B) C)
calls for the application of the subtraction functioncalls for the application of the subtraction function
((−−) to two arguments, namely the list (*A B) and) to two arguments, namely the list (*A B) and
the atom C. First, LISP applies the multiplicationthe atom C. First, LISP applies the multiplication
function (*) to the atoms A and B.function (*) to the atoms A and B.
Once the list (*A B) is evaluated, LISP applies theOnce the list (*A B) is evaluated, LISP applies the
subtraction function (subtraction function (−−) to the two arguments, and) to the two arguments, and
thus evaluates the entire listthus evaluates the entire list
((−− ((** A B) C).A B) C).
LISP structureLISP structure
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 14
Graphical representation of LISP SGraphical representation of LISP S--expressionsexpressions
II Both atoms and lists are called symbolicBoth atoms and lists are called symbolic
expressions orexpressions or SS--expressionsexpressions. In LISP, all data. In LISP, all data
and all programs are Sand all programs are S--expressions. This givesexpressions. This gives
LISP the ability to operate on programs as if theyLISP the ability to operate on programs as if they
were data. In other words, LISP programs canwere data. In other words, LISP programs can
modify themselves or even write other LISPmodify themselves or even write other LISP
programs. This remarkable property of LISPprograms. This remarkable property of LISP
makes it very attractive for genetic programmingmakes it very attractive for genetic programming..
II Any LISP SAny LISP S--expression can be depicted as a rootedexpression can be depicted as a rooted
pointpoint--labelled tree with ordered branches.labelled tree with ordered branches.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 15
BA
* C
−
LISP SLISP S--expression (expression (−−−−−−−− (*A B) C)(*A B) C)
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 16
How do we apply genetic programmingHow do we apply genetic programming
to a problem?to a problem?
BeforeBefore applying genetic programming to a problem,applying genetic programming to a problem,
we must accomplishwe must accomplish five preparatory stepsfive preparatory steps::
1.1. Determine the set of terminals.Determine the set of terminals.
2.2. Select the set of primitive functions.Select the set of primitive functions.
3.3. Define the fitness function.Define the fitness function.
4.4. Decide on the parameters for controlling the run.Decide on the parameters for controlling the run.
5.5. Choose the method for designating a result ofChoose the method for designating a result of
the runthe run..
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 17
II The Pythagorean Theorem helps us to illustrateThe Pythagorean Theorem helps us to illustrate
these preparatory steps and demonstrate thethese preparatory steps and demonstrate the
potential of genetic programming. The theorempotential of genetic programming. The theorem
says that the hypotenuse,says that the hypotenuse, cc, of a right triangle with, of a right triangle with
short sidesshort sides aa andand bb is given byis given by
22
bac +=
II The aim of genetic programming is to discover aThe aim of genetic programming is to discover a
program that matches this function.program that matches this function.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 18
II To measure the performance of the asTo measure the performance of the as--yetyet--
undiscovered computer program, we will use aundiscovered computer program, we will use a
number of differentnumber of different fitness casesfitness cases. The fitness. The fitness
cases for the Pythagorean Theorem arecases for the Pythagorean Theorem are
represented by the samples of right triangles inrepresented by the samples of right triangles in
Table. These fitness cases are chosen at randomTable. These fitness cases are chosen at random
over a range of values of variablesover a range of values of variables aa andand bb..
Side a Side b Hypotenuse c Side a Side b Hypotenuse c
3 5 5.830952 12 10 15.620499
8 14 16.124515 21 6 21.840330
18 2 18.110770 7 4 8.062258
32 11 33.837849 16 24 28.844410
4 3 5.000000 2 9 9.219545
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 19
Step 1Step 1:: Determine the set of terminals.Determine the set of terminals.
TheThe terminals correspond to the inputs of theterminals correspond to the inputs of the
computer program to be discovered. Ourcomputer program to be discovered. Our
program takes two inputs,program takes two inputs, aa andand bb..
Step 2Step 2:: SelectSelect the set of primitive functions.the set of primitive functions.
TheThe functions can be presented by standardfunctions can be presented by standard
arithmetic operations, standard programmingarithmetic operations, standard programming
operations, standard mathematical functions,operations, standard mathematical functions,
logical functions or domainlogical functions or domain--specific functions.specific functions.
Our program will use four standard arithmeticOur program will use four standard arithmetic
operations +,operations +, −−, * and, * and //, and one mathematical, and one mathematical
functionfunction sqrtsqrt..
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 20
Step 3Step 3:: Define the fitness function.Define the fitness function. A fitnessA fitness
function evaluates how well a particular computerfunction evaluates how well a particular computer
program can solve the problem. For our problem,program can solve the problem. For our problem,
the fitness of the computer program can bethe fitness of the computer program can be
measured by the error between the actual resultmeasured by the error between the actual result
produced by the program and the correct resultproduced by the program and the correct result
given by the fitness case. Typically, the error isgiven by the fitness case. Typically, the error is
not measured over just one fitness case, butnot measured over just one fitness case, but
instead calculated as a sum of the absolute errorsinstead calculated as a sum of the absolute errors
over a number of fitness cases. The closer thisover a number of fitness cases. The closer this
sum is to zero, the better the computer program.sum is to zero, the better the computer program.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 21
Step 4Step 4:: Decide on the parameters for controllingDecide on the parameters for controlling
the run.the run. For controlling a run, geneticFor controlling a run, genetic
programming uses the same primary parametersprogramming uses the same primary parameters
as those used for GAs. They include theas those used for GAs. They include the
population size and the maximum number ofpopulation size and the maximum number of
generations to be run.generations to be run.
Step 5Step 5:: Choose the method for designating aChoose the method for designating a
result of the run.result of the run. It is common practice inIt is common practice in
genetic programming to designate the bestgenetic programming to designate the best--soso--farfar
generated program as the result of a run.generated program as the result of a run.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 22
Once these five steps are complete, a run can beOnce these five steps are complete, a run can be
made. The run of genetic programming starts withmade. The run of genetic programming starts with
a random generation of an initial population ofa random generation of an initial population of
computer programs. Each programcomputer programs. Each program is composed ofis composed of
functions +,functions +, −−,, **,, // andand sqrtsqrt, and terminals, and terminals aa andand bb..
In the initial population, all computer programsIn the initial population, all computer programs
usually have poor fitness, but some individuals areusually have poor fitness, but some individuals are
more fit than others. Just as a fitter chromosome ismore fit than others. Just as a fitter chromosome is
more likely to be selected for reproduction, so amore likely to be selected for reproduction, so a
fitter computer program is more likely to survive byfitter computer program is more likely to survive by
copying itself into the next generation.copying itself into the next generation.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 23
Crossover in genetic programming:Crossover in genetic programming:
Two parental STwo parental S--expressionsexpressions
a
*
a
+
a b
−
(/ (− (sqrt (+ (* a a) (− a b))) a) (* a b))
/
a b
*
sqrt
−
a
+
b
/
a
sqrt
b
−
−
(+ (− (sqrt (− (* b b) a)) b) (sqrt (/ a b)))
b
a*
b
sqrt
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 24
Crossover in genetic programming:Crossover in genetic programming:
Two offspring STwo offspring S--expressionsexpressions
a
*
a
+
a b
−
/
sqrt
−
a
+
b
/
a
sqrt−
b
a b
*
b
−
a
*
b
sqrt
(/ (− (sqrt (+ (* a a) (− a b))) a) (sqrt (− (* b b) a))) (+ (−(* a b) b) (sqrt (/ a b)))
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 25
Mutation in genetic programmingMutation in genetic programming
AA mutation operator can randomly change anymutation operator can randomly change any
function or any terminal in the LISP Sfunction or any terminal in the LISP S--expression.expression.
Under mutation, a function can only be replaced byUnder mutation, a function can only be replaced by
a function and a terminal can only be replaced by aa function and a terminal can only be replaced by a
terminal.terminal.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 26
a
*
a
+
a b
−
(/ (− (sqrt (+ (* a a) (− a b))) a) (* a b))
/
a b
*
sqrt
−
a
+
b
/
a
sqrt
b
−
(+ (− (sqrt (− (* b b) a)) b) (sqrt (/ a b)))
a*
b
sqrt

−
b
Mutation in genetic programming:Mutation in genetic programming:
Original SOriginal S--expressionsexpressions
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 27
Mutation in genetic programming:Mutation in genetic programming:
Mutated SMutated S--expressionsexpressions
(/ (+ (sqrt (+ (* a a) (− a b))) a) (* a b))
/
a b
*
a
*
a
+
a b
−
sqrt
+
a
+
b
/
a
sqrt
b
−
(+ (− (sqrt (− (* b b) a)) a) (sqrt (/ a b)))
a*
b
sqrt
−
a
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 28
Step 1Step 1:: Assign the maximum number of generationsAssign the maximum number of generations
to be run and probabilities for cloning, crossoverto be run and probabilities for cloning, crossover
and mutation. Note that the sum of the probabilityand mutation. Note that the sum of the probability
of cloning, the probability of crossover and theof cloning, the probability of crossover and the
probability of mutation must be equal to one.probability of mutation must be equal to one.
StepStep 22:: GGenerateenerate an initial population of computeran initial population of computer
programs of sizeprograms of size NN by combining randomlyby combining randomly
selected functions and terminals.selected functions and terminals.
In summary, genetic programming creates computerIn summary, genetic programming creates computer
programs by executing the following steps:programs by executing the following steps:
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 29
Step 3Step 3:: Execute each computer program in theExecute each computer program in the
population and calculate its fitness with anpopulation and calculate its fitness with an
appropriate fitness function. Designate the bestappropriate fitness function. Designate the best--
soso--far individual as the result of the run.far individual as the result of the run.
Step 4Step 4:: With the assigned probabilities, select aWith the assigned probabilities, select a
genetic operator to perform cloning, crossover orgenetic operator to perform cloning, crossover or
mutation.mutation.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 30
Step 5Step 5:: If the cloning operator is chosen, select oneIf the cloning operator is chosen, select one
computer program from the current population ofcomputer program from the current population of
programs and copy it into a new population.programs and copy it into a new population.
•• If the crossover operator is chosen, select a pairIf the crossover operator is chosen, select a pair
of computer programs from the currentof computer programs from the current
population, create a pair of offspring programspopulation, create a pair of offspring programs
and place them into the new population.and place them into the new population.
•• If the mutation operator is chosen, select oneIf the mutation operator is chosen, select one
computer program from the current population,computer program from the current population,
perform mutation and place the mutant into theperform mutation and place the mutant into the
new population.new population.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 31
Step 6Step 6:: RepeatRepeat Step 4Step 4 until the size of the newuntil the size of the new
population of computer programs becomes equalpopulation of computer programs becomes equal
to the size of the initial population,to the size of the initial population, NN..
Step 7Step 7:: Replace the current (parent) populationReplace the current (parent) population
with the new (offspring) population.with the new (offspring) population.
Step 8Step 8:: Go toGo to Step 3Step 3 and repeat the process untiland repeat the process until
the termination criterion is satisfied.the termination criterion is satisfied.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 32
Fitness history of the best SFitness history of the best S--expressionexpression
Fitness,%
0 1 2 3 4
0
20
40
60
80
100
a
*
a b b
*
sqrt
+
G e n e r a t i o n s B e s t o f g e n e r a t i o n
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 33
What are the main advantages of geneticWhat are the main advantages of genetic
programming compared to genetic algorithms?programming compared to genetic algorithms?
II Genetic programming applies the sameGenetic programming applies the same
evolutionaryevolutionary approach. However, geneticapproach. However, genetic
programming is no longer breeding bit strings thatprogramming is no longer breeding bit strings that
represent coded solutions but complete computerrepresent coded solutions but complete computer
programs that solve a particular problem.programs that solve a particular problem.
II TheThe fundamental difficulty offundamental difficulty of GAsGAs lies in thelies in the
problem representation, that is, in the fixedproblem representation, that is, in the fixed--lengthlength
coding. A poor representation limits the power ofcoding. A poor representation limits the power of
a GA, and even worse, may lead to a falsea GA, and even worse, may lead to a false
solution.solution.
 Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 34
II A fixedA fixed--length coding is rather artificial. As itlength coding is rather artificial. As it
cannot provide a dynamic variability in length,cannot provide a dynamic variability in length,
such a coding often causes considerablesuch a coding often causes considerable
redundancy and reduces the efficiency of geneticredundancy and reduces the efficiency of genetic
search. In contrast, genetic programming usessearch. In contrast, genetic programming uses
highhigh--level building blocks of variable length.level building blocks of variable length.
Their size and complexity can change duringTheir size and complexity can change during
breeding.breeding.
II Genetic programming works well in a largeGenetic programming works well in a large
number of different cases and has many potentialnumber of different cases and has many potential
applicationsapplications..

More Related Content

Viewers also liked

2010 national-geographic
2010 national-geographic2010 national-geographic
2010 national-geographicpsjlew
 
Week 6: Algorithmic Game Theory Notes
Week 6: Algorithmic Game Theory NotesWeek 6: Algorithmic Game Theory Notes
Week 6: Algorithmic Game Theory NotesDongseo University
 
一生受用不盡的經驗
一生受用不盡的經驗一生受用不盡的經驗
一生受用不盡的經驗psjlew
 
鼎藝千秋 3
鼎藝千秋 3鼎藝千秋 3
鼎藝千秋 3psjlew
 
脊椎放鬆操
脊椎放鬆操脊椎放鬆操
脊椎放鬆操psjlew
 
2014-1 computer algorithm w2 notes
2014-1 computer algorithm w2 notes2014-1 computer algorithm w2 notes
2014-1 computer algorithm w2 notesDongseo University
 
六種眼疾原因
六種眼疾原因六種眼疾原因
六種眼疾原因psjlew
 
上海最好吃的20家面馆
上海最好吃的20家面馆上海最好吃的20家面馆
上海最好吃的20家面馆psjlew
 
How To Reverse Infertility & Have Your Bundles Of Joy
How To Reverse Infertility & Have Your Bundles Of JoyHow To Reverse Infertility & Have Your Bundles Of Joy
How To Reverse Infertility & Have Your Bundles Of JoyKolawole Bisiriyu
 
廁所對聯
廁所對聯廁所對聯
廁所對聯psjlew
 
The wiseoldman
The wiseoldmanThe wiseoldman
The wiseoldmanpsjlew
 
民國時期的風流人物
民國時期的風流人物民國時期的風流人物
民國時期的風流人物psjlew
 
U40@nagoya2
U40@nagoya2U40@nagoya2
U40@nagoya2I tomoko
 
Car art
Car artCar art
Car artpsjlew
 
不宜常吃的八道家常菜
不宜常吃的八道家常菜不宜常吃的八道家常菜
不宜常吃的八道家常菜psjlew
 
2012 全球奇人奇事
2012 全球奇人奇事2012 全球奇人奇事
2012 全球奇人奇事psjlew
 
Camouflage
CamouflageCamouflage
Camouflagepsjlew
 
新版人民幣問世了
新版人民幣問世了新版人民幣問世了
新版人民幣問世了psjlew
 
上海環球金融中心
上海環球金融中心上海環球金融中心
上海環球金融中心psjlew
 
世界四大博物館 法俄英美1308
世界四大博物館 法俄英美1308世界四大博物館 法俄英美1308
世界四大博物館 法俄英美1308psjlew
 

Viewers also liked (20)

2010 national-geographic
2010 national-geographic2010 national-geographic
2010 national-geographic
 
Week 6: Algorithmic Game Theory Notes
Week 6: Algorithmic Game Theory NotesWeek 6: Algorithmic Game Theory Notes
Week 6: Algorithmic Game Theory Notes
 
一生受用不盡的經驗
一生受用不盡的經驗一生受用不盡的經驗
一生受用不盡的經驗
 
鼎藝千秋 3
鼎藝千秋 3鼎藝千秋 3
鼎藝千秋 3
 
脊椎放鬆操
脊椎放鬆操脊椎放鬆操
脊椎放鬆操
 
2014-1 computer algorithm w2 notes
2014-1 computer algorithm w2 notes2014-1 computer algorithm w2 notes
2014-1 computer algorithm w2 notes
 
六種眼疾原因
六種眼疾原因六種眼疾原因
六種眼疾原因
 
上海最好吃的20家面馆
上海最好吃的20家面馆上海最好吃的20家面馆
上海最好吃的20家面馆
 
How To Reverse Infertility & Have Your Bundles Of Joy
How To Reverse Infertility & Have Your Bundles Of JoyHow To Reverse Infertility & Have Your Bundles Of Joy
How To Reverse Infertility & Have Your Bundles Of Joy
 
廁所對聯
廁所對聯廁所對聯
廁所對聯
 
The wiseoldman
The wiseoldmanThe wiseoldman
The wiseoldman
 
民國時期的風流人物
民國時期的風流人物民國時期的風流人物
民國時期的風流人物
 
U40@nagoya2
U40@nagoya2U40@nagoya2
U40@nagoya2
 
Car art
Car artCar art
Car art
 
不宜常吃的八道家常菜
不宜常吃的八道家常菜不宜常吃的八道家常菜
不宜常吃的八道家常菜
 
2012 全球奇人奇事
2012 全球奇人奇事2012 全球奇人奇事
2012 全球奇人奇事
 
Camouflage
CamouflageCamouflage
Camouflage
 
新版人民幣問世了
新版人民幣問世了新版人民幣問世了
新版人民幣問世了
 
上海環球金融中心
上海環球金融中心上海環球金融中心
上海環球金融中心
 
世界四大博物館 法俄英美1308
世界四大博物館 法俄英美1308世界四大博物館 法俄英美1308
世界四大博物館 法俄英美1308
 

Similar to 2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…

2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…Dongseo University
 
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…Dongseo University
 
lecture-09-evolutionary-computation-genetic-algorithms.pdf
lecture-09-evolutionary-computation-genetic-algorithms.pdflecture-09-evolutionary-computation-genetic-algorithms.pdf
lecture-09-evolutionary-computation-genetic-algorithms.pdfahmedsalim244821
 
Sequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural NetworksSequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural NetworksNguyen Quang
 
NLP in Practice - Part I
NLP in Practice - Part INLP in Practice - Part I
NLP in Practice - Part IDelip Rao
 
Thesis_Presentation
Thesis_PresentationThesis_Presentation
Thesis_PresentationMaruf Alam
 
Knowledge Management Managment at KM Australia 2010
Knowledge Management Managment at KM Australia 2010Knowledge Management Managment at KM Australia 2010
Knowledge Management Managment at KM Australia 2010milhof.org
 
Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!Roelof Pieters
 
BioJS Human Genetic Variant Viewer
BioJS Human Genetic Variant ViewerBioJS Human Genetic Variant Viewer
BioJS Human Genetic Variant ViewerSaket Choudhary
 
2021 04-04-google nmt
2021 04-04-google nmt2021 04-04-google nmt
2021 04-04-google nmtJAEMINJEONG5
 
Bioinformatica 29-09-2011-t1-bioinformatics
Bioinformatica 29-09-2011-t1-bioinformaticsBioinformatica 29-09-2011-t1-bioinformatics
Bioinformatica 29-09-2011-t1-bioinformaticsProf. Wim Van Criekinge
 
NNFL 15- Guru Nanak Dev Engineering College
NNFL   15- Guru Nanak Dev Engineering CollegeNNFL   15- Guru Nanak Dev Engineering College
NNFL 15- Guru Nanak Dev Engineering CollegeMR. VIKRAM SNEHI
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmMegha V
 
Doc format.
Doc format.Doc format.
Doc format.butest
 
Exchanging More than Complete Data
Exchanging More than Complete DataExchanging More than Complete Data
Exchanging More than Complete Datanet2-project
 
A Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsA Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsKaren Gomez
 

Similar to 2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co… (20)

2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…
 
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…
2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Hybrid Intellig…
 
APPIS Deep Learning Tutorial UB
APPIS Deep Learning Tutorial UBAPPIS Deep Learning Tutorial UB
APPIS Deep Learning Tutorial UB
 
lecture-09-evolutionary-computation-genetic-algorithms.pdf
lecture-09-evolutionary-computation-genetic-algorithms.pdflecture-09-evolutionary-computation-genetic-algorithms.pdf
lecture-09-evolutionary-computation-genetic-algorithms.pdf
 
50120140504022
5012014050402250120140504022
50120140504022
 
Sequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural NetworksSequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural Networks
 
NLP in Practice - Part I
NLP in Practice - Part INLP in Practice - Part I
NLP in Practice - Part I
 
Thesis_Presentation
Thesis_PresentationThesis_Presentation
Thesis_Presentation
 
Knowledge Management Managment at KM Australia 2010
Knowledge Management Managment at KM Australia 2010Knowledge Management Managment at KM Australia 2010
Knowledge Management Managment at KM Australia 2010
 
Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!
 
BioJS Human Genetic Variant Viewer
BioJS Human Genetic Variant ViewerBioJS Human Genetic Variant Viewer
BioJS Human Genetic Variant Viewer
 
2021 04-04-google nmt
2021 04-04-google nmt2021 04-04-google nmt
2021 04-04-google nmt
 
Bioinformatica 29-09-2011-t1-bioinformatics
Bioinformatica 29-09-2011-t1-bioinformaticsBioinformatica 29-09-2011-t1-bioinformatics
Bioinformatica 29-09-2011-t1-bioinformatics
 
NNFL 15- Guru Nanak Dev Engineering College
NNFL   15- Guru Nanak Dev Engineering CollegeNNFL   15- Guru Nanak Dev Engineering College
NNFL 15- Guru Nanak Dev Engineering College
 
2014 abic-talk
2014 abic-talk2014 abic-talk
2014 abic-talk
 
Using Machine Intelligence to Perform Predictive Toxicology
Using Machine Intelligence to Perform Predictive ToxicologyUsing Machine Intelligence to Perform Predictive Toxicology
Using Machine Intelligence to Perform Predictive Toxicology
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Doc format.
Doc format.Doc format.
Doc format.
 
Exchanging More than Complete Data
Exchanging More than Complete DataExchanging More than Complete Data
Exchanging More than Complete Data
 
A Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsA Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its Applications
 

More from Dongseo University

Lecture_NaturalPolicyGradientsTRPOPPO.pdf
Lecture_NaturalPolicyGradientsTRPOPPO.pdfLecture_NaturalPolicyGradientsTRPOPPO.pdf
Lecture_NaturalPolicyGradientsTRPOPPO.pdfDongseo University
 
Evolutionary Computation Lecture notes03
Evolutionary Computation Lecture notes03Evolutionary Computation Lecture notes03
Evolutionary Computation Lecture notes03Dongseo University
 
Evolutionary Computation Lecture notes02
Evolutionary Computation Lecture notes02Evolutionary Computation Lecture notes02
Evolutionary Computation Lecture notes02Dongseo University
 
Evolutionary Computation Lecture notes01
Evolutionary Computation Lecture notes01Evolutionary Computation Lecture notes01
Evolutionary Computation Lecture notes01Dongseo University
 
Average Linear Selection Algorithm
Average Linear Selection AlgorithmAverage Linear Selection Algorithm
Average Linear Selection AlgorithmDongseo University
 
Lower Bound of Comparison Sort
Lower Bound of Comparison SortLower Bound of Comparison Sort
Lower Bound of Comparison SortDongseo University
 
Running Time of Building Binary Heap using Array
Running Time of Building Binary Heap using ArrayRunning Time of Building Binary Heap using Array
Running Time of Building Binary Heap using ArrayDongseo University
 
Proof By Math Induction Example
Proof By Math Induction ExampleProof By Math Induction Example
Proof By Math Induction ExampleDongseo University
 
Estimating probability distributions
Estimating probability distributionsEstimating probability distributions
Estimating probability distributionsDongseo University
 
2018-2 Machine Learning (Wasserstein GAN and BEGAN)
2018-2 Machine Learning (Wasserstein GAN and BEGAN)2018-2 Machine Learning (Wasserstein GAN and BEGAN)
2018-2 Machine Learning (Wasserstein GAN and BEGAN)Dongseo University
 
2018-2 Machine Learning (Linear regression, Logistic regression)
2018-2 Machine Learning (Linear regression, Logistic regression)2018-2 Machine Learning (Linear regression, Logistic regression)
2018-2 Machine Learning (Linear regression, Logistic regression)Dongseo University
 
2017-2 ML W9 Reinforcement Learning #5
2017-2 ML W9 Reinforcement Learning #52017-2 ML W9 Reinforcement Learning #5
2017-2 ML W9 Reinforcement Learning #5Dongseo University
 

More from Dongseo University (20)

Lecture_NaturalPolicyGradientsTRPOPPO.pdf
Lecture_NaturalPolicyGradientsTRPOPPO.pdfLecture_NaturalPolicyGradientsTRPOPPO.pdf
Lecture_NaturalPolicyGradientsTRPOPPO.pdf
 
Evolutionary Computation Lecture notes03
Evolutionary Computation Lecture notes03Evolutionary Computation Lecture notes03
Evolutionary Computation Lecture notes03
 
Evolutionary Computation Lecture notes02
Evolutionary Computation Lecture notes02Evolutionary Computation Lecture notes02
Evolutionary Computation Lecture notes02
 
Evolutionary Computation Lecture notes01
Evolutionary Computation Lecture notes01Evolutionary Computation Lecture notes01
Evolutionary Computation Lecture notes01
 
Markov Chain Monte Carlo
Markov Chain Monte CarloMarkov Chain Monte Carlo
Markov Chain Monte Carlo
 
Simplex Lecture Notes
Simplex Lecture NotesSimplex Lecture Notes
Simplex Lecture Notes
 
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement Learning
 
Median of Medians
Median of MediansMedian of Medians
Median of Medians
 
Average Linear Selection Algorithm
Average Linear Selection AlgorithmAverage Linear Selection Algorithm
Average Linear Selection Algorithm
 
Lower Bound of Comparison Sort
Lower Bound of Comparison SortLower Bound of Comparison Sort
Lower Bound of Comparison Sort
 
Running Time of Building Binary Heap using Array
Running Time of Building Binary Heap using ArrayRunning Time of Building Binary Heap using Array
Running Time of Building Binary Heap using Array
 
Running Time of MergeSort
Running Time of MergeSortRunning Time of MergeSort
Running Time of MergeSort
 
Binary Trees
Binary TreesBinary Trees
Binary Trees
 
Proof By Math Induction Example
Proof By Math Induction ExampleProof By Math Induction Example
Proof By Math Induction Example
 
TRPO and PPO notes
TRPO and PPO notesTRPO and PPO notes
TRPO and PPO notes
 
Estimating probability distributions
Estimating probability distributionsEstimating probability distributions
Estimating probability distributions
 
2018-2 Machine Learning (Wasserstein GAN and BEGAN)
2018-2 Machine Learning (Wasserstein GAN and BEGAN)2018-2 Machine Learning (Wasserstein GAN and BEGAN)
2018-2 Machine Learning (Wasserstein GAN and BEGAN)
 
2018-2 Machine Learning (Linear regression, Logistic regression)
2018-2 Machine Learning (Linear regression, Logistic regression)2018-2 Machine Learning (Linear regression, Logistic regression)
2018-2 Machine Learning (Linear regression, Logistic regression)
 
2017-2 ML W11 GAN #1
2017-2 ML W11 GAN #12017-2 ML W11 GAN #1
2017-2 ML W11 GAN #1
 
2017-2 ML W9 Reinforcement Learning #5
2017-2 ML W9 Reinforcement Learning #52017-2 ML W9 Reinforcement Learning #5
2017-2 ML W9 Reinforcement Learning #5
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

2013-1 Machine Learning Lecture 07 - Michael Negnevitsky - Evolutionary Co…

  • 1.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 1 Lecture 10Lecture 10 Evolutionary Computation:Evolutionary Computation: Evolution strategies and genetic programmingEvolution strategies and genetic programming II Evolution strategiesEvolution strategies II Genetic programmingGenetic programming II SummarySummary
  • 2.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 2 AnotherAnother approach to simulating naturalapproach to simulating natural evolution was proposed in Germany in the earlyevolution was proposed in Germany in the early 1960s. Unlike genetic algorithms, this approach1960s. Unlike genetic algorithms, this approach −− called ancalled an evolution strategyevolution strategy −− was designedwas designed to solve technical optimisation problems.to solve technical optimisation problems. Evolution StrategiesEvolution Strategies
  • 3.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 3 II In 1963 two students of the TechnicalIn 1963 two students of the Technical University of Berlin,University of Berlin, Ingo RechenbergIngo Rechenberg andand HansHans--Paul SchwefelPaul Schwefel, were working on the, were working on the search for the optimal shapes of bodies in asearch for the optimal shapes of bodies in a flow. They decided to try random changes inflow. They decided to try random changes in the parameters defining the shape following thethe parameters defining the shape following the example of natural mutation. As a result, theexample of natural mutation. As a result, the evolution strategyevolution strategy was born.was born. II Evolution strategies were developed as anEvolution strategies were developed as an alternative to the engineeralternative to the engineer’’s intuition.s intuition. II UnlikeUnlike GAsGAs, evolution strategies use only a, evolution strategies use only a mutation operator.mutation operator.
  • 4.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 4 In its simplest form, termed as a (1In its simplest form, termed as a (1++1)1)--evolutionevolution strategy, one parent generates one offspring perstrategy, one parent generates one offspring per generation by applyinggeneration by applying normally distributednormally distributed mutation. The (1mutation. The (1++1)1)--evolution strategy can beevolution strategy can be implemented as follows:implemented as follows: Step 1Step 1:: Choose the number of parametersChoose the number of parameters NN toto represent the problem, and then determine a feasiblerepresent the problem, and then determine a feasible range for each parameter:range for each parameter: Define a standard deviation for each parameter andDefine a standard deviation for each parameter and the function to be optimisedthe function to be optimised.. Basic evolutionBasic evolution strategiesstrategies { }axmmin xx 11 , , { }axmmin xx 22 , , . . . , { }axmNminN xx ,
  • 5.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 5 Step 2Step 2:: Randomly select an initial value for eachRandomly select an initial value for each parameter from the respective feasible range. Theparameter from the respective feasible range. The set of these parameters will constitute the initialset of these parameters will constitute the initial population of parent parameters:population of parent parameters: xx11,, xx22, . . . ,, . . . , xxNN Step 3Step 3:: Calculate the solution associated with theCalculate the solution associated with the parent parameters:parent parameters: X = fX = f ((xx11,, xx22, . . . ,, . . . , xxNN))
  • 6.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 6 Step 4Step 4:: Create a new (offspring) parameter byCreate a new (offspring) parameter by adding a normally distributed random variableadding a normally distributed random variable aa with meanwith mean zero and prezero and pre--selected deviationselected deviation δδ to eachto each parent parameterparent parameter:: ii = 1, 2, . . . ,= 1, 2, . . . , NN NormallyNormally distributed mutations with mean zerodistributed mutations with mean zero reflect the natural process of evolutionreflect the natural process of evolution (smaller(smaller changes occur more frequently than largerchanges occur more frequently than larger ones).ones). Step 5Step 5:: CalculateCalculate the solution associated with thethe solution associated with the offspring parameters:offspring parameters: ( )δ,0axx ii +=′ ( )NxxxfX ′′′=′ ,...,, 21
  • 7.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 7 Step 6Step 6:: CompareCompare the solution associated with thethe solution associated with the offspring parameters with the one associated withoffspring parameters with the one associated with the parent parameters. If the solution for thethe parent parameters. If the solution for the offspring is better than that for the parents, replaceoffspring is better than that for the parents, replace the parent population with the offspringthe parent population with the offspring population. Otherwise, keep the parentpopulation. Otherwise, keep the parent parameters.parameters. Step 7Step 7:: GoGo to Step 4, and repeat the process until ato Step 4, and repeat the process until a satisfactory solution is reached, or a specifiedsatisfactory solution is reached, or a specified number of generations is considerednumber of generations is considered..
  • 8.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 8 II An evolution strategy reflects the nature of aAn evolution strategy reflects the nature of a chromosome.chromosome. II A single gene may simultaneously affect severalA single gene may simultaneously affect several characteristics of the living organism.characteristics of the living organism. II On the other hand, a single characteristic of anOn the other hand, a single characteristic of an individual may be determined by the simultaneousindividual may be determined by the simultaneous interactions of several genes.interactions of several genes. II The natural selection acts on a collection of genes,The natural selection acts on a collection of genes, not on a single gene in isolation.not on a single gene in isolation.
  • 9.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 9 II One of the central problems in computer science isOne of the central problems in computer science is how to make computers solve problems withouthow to make computers solve problems without being explicitly programmed to do so.being explicitly programmed to do so. II Genetic programming offers a solution through theGenetic programming offers a solution through the evolution of computer programs by methods ofevolution of computer programs by methods of natural selection.natural selection. II InIn fact, genetic programming is an extension of thefact, genetic programming is an extension of the conventional genetic algorithm, but the goal ofconventional genetic algorithm, but the goal of genetic programming is not just to evolve a bitgenetic programming is not just to evolve a bit-- string representation of some problem but thestring representation of some problem but the computer code that solves the problem.computer code that solves the problem. GeneticGenetic programmingprogramming
  • 10.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 10 II Genetic programming is a recent development inGenetic programming is a recent development in the area of evolutionary computation. It wasthe area of evolutionary computation. It was greatly stimulated in the 1990s bygreatly stimulated in the 1990s by John KozaJohn Koza.. II According to Koza, genetic programming searchesAccording to Koza, genetic programming searches the space of possible computer programs for athe space of possible computer programs for a program that is highly fit for solving the problem atprogram that is highly fit for solving the problem at hand.hand. II Any computer program is a sequence of operationsAny computer program is a sequence of operations (functions) applied to values (arguments), but(functions) applied to values (arguments), but different programming languages may includedifferent programming languages may include different types of statements and operations, anddifferent types of statements and operations, and have different syntactic restrictions.have different syntactic restrictions.
  • 11.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 11 II Since genetic programming manipulates programsSince genetic programming manipulates programs by applying genetic operators, a programmingby applying genetic operators, a programming language should permit a computer program to belanguage should permit a computer program to be manipulated as data and the newly created data tomanipulated as data and the newly created data to be executed as a program. For these reasons,be executed as a program. For these reasons, LISPLISP was chosen as the main language forwas chosen as the main language for genetic programming.genetic programming.
  • 12.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 12 LISP has a highly symbolLISP has a highly symbol--oriented structure. Itsoriented structure. Its basic data structures arebasic data structures are atomsatoms andand listslists. An atom. An atom is the smallest indivisible element of the LISPis the smallest indivisible element of the LISP syntax. The numbersyntax. The number 2121, the symbol, the symbol XX and the stringand the string ““This is a stringThis is a string”” are examples of LISP atoms. Aare examples of LISP atoms. A list is an object composed of atoms and/or otherlist is an object composed of atoms and/or other lists. LISP lists are written as an ordered collectionlists. LISP lists are written as an ordered collection of items inside a pair of parentheses.of items inside a pair of parentheses. LISP structureLISP structure
  • 13.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 13 For example, the listFor example, the list ((−− ((** A B) C)A B) C) calls for the application of the subtraction functioncalls for the application of the subtraction function ((−−) to two arguments, namely the list (*A B) and) to two arguments, namely the list (*A B) and the atom C. First, LISP applies the multiplicationthe atom C. First, LISP applies the multiplication function (*) to the atoms A and B.function (*) to the atoms A and B. Once the list (*A B) is evaluated, LISP applies theOnce the list (*A B) is evaluated, LISP applies the subtraction function (subtraction function (−−) to the two arguments, and) to the two arguments, and thus evaluates the entire listthus evaluates the entire list ((−− ((** A B) C).A B) C). LISP structureLISP structure
  • 14.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 14 Graphical representation of LISP SGraphical representation of LISP S--expressionsexpressions II Both atoms and lists are called symbolicBoth atoms and lists are called symbolic expressions orexpressions or SS--expressionsexpressions. In LISP, all data. In LISP, all data and all programs are Sand all programs are S--expressions. This givesexpressions. This gives LISP the ability to operate on programs as if theyLISP the ability to operate on programs as if they were data. In other words, LISP programs canwere data. In other words, LISP programs can modify themselves or even write other LISPmodify themselves or even write other LISP programs. This remarkable property of LISPprograms. This remarkable property of LISP makes it very attractive for genetic programmingmakes it very attractive for genetic programming.. II Any LISP SAny LISP S--expression can be depicted as a rootedexpression can be depicted as a rooted pointpoint--labelled tree with ordered branches.labelled tree with ordered branches.
  • 15.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 15 BA * C − LISP SLISP S--expression (expression (−−−−−−−− (*A B) C)(*A B) C)
  • 16.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 16 How do we apply genetic programmingHow do we apply genetic programming to a problem?to a problem? BeforeBefore applying genetic programming to a problem,applying genetic programming to a problem, we must accomplishwe must accomplish five preparatory stepsfive preparatory steps:: 1.1. Determine the set of terminals.Determine the set of terminals. 2.2. Select the set of primitive functions.Select the set of primitive functions. 3.3. Define the fitness function.Define the fitness function. 4.4. Decide on the parameters for controlling the run.Decide on the parameters for controlling the run. 5.5. Choose the method for designating a result ofChoose the method for designating a result of the runthe run..
  • 17.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 17 II The Pythagorean Theorem helps us to illustrateThe Pythagorean Theorem helps us to illustrate these preparatory steps and demonstrate thethese preparatory steps and demonstrate the potential of genetic programming. The theorempotential of genetic programming. The theorem says that the hypotenuse,says that the hypotenuse, cc, of a right triangle with, of a right triangle with short sidesshort sides aa andand bb is given byis given by 22 bac += II The aim of genetic programming is to discover aThe aim of genetic programming is to discover a program that matches this function.program that matches this function.
  • 18.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 18 II To measure the performance of the asTo measure the performance of the as--yetyet-- undiscovered computer program, we will use aundiscovered computer program, we will use a number of differentnumber of different fitness casesfitness cases. The fitness. The fitness cases for the Pythagorean Theorem arecases for the Pythagorean Theorem are represented by the samples of right triangles inrepresented by the samples of right triangles in Table. These fitness cases are chosen at randomTable. These fitness cases are chosen at random over a range of values of variablesover a range of values of variables aa andand bb.. Side a Side b Hypotenuse c Side a Side b Hypotenuse c 3 5 5.830952 12 10 15.620499 8 14 16.124515 21 6 21.840330 18 2 18.110770 7 4 8.062258 32 11 33.837849 16 24 28.844410 4 3 5.000000 2 9 9.219545
  • 19.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 19 Step 1Step 1:: Determine the set of terminals.Determine the set of terminals. TheThe terminals correspond to the inputs of theterminals correspond to the inputs of the computer program to be discovered. Ourcomputer program to be discovered. Our program takes two inputs,program takes two inputs, aa andand bb.. Step 2Step 2:: SelectSelect the set of primitive functions.the set of primitive functions. TheThe functions can be presented by standardfunctions can be presented by standard arithmetic operations, standard programmingarithmetic operations, standard programming operations, standard mathematical functions,operations, standard mathematical functions, logical functions or domainlogical functions or domain--specific functions.specific functions. Our program will use four standard arithmeticOur program will use four standard arithmetic operations +,operations +, −−, * and, * and //, and one mathematical, and one mathematical functionfunction sqrtsqrt..
  • 20.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 20 Step 3Step 3:: Define the fitness function.Define the fitness function. A fitnessA fitness function evaluates how well a particular computerfunction evaluates how well a particular computer program can solve the problem. For our problem,program can solve the problem. For our problem, the fitness of the computer program can bethe fitness of the computer program can be measured by the error between the actual resultmeasured by the error between the actual result produced by the program and the correct resultproduced by the program and the correct result given by the fitness case. Typically, the error isgiven by the fitness case. Typically, the error is not measured over just one fitness case, butnot measured over just one fitness case, but instead calculated as a sum of the absolute errorsinstead calculated as a sum of the absolute errors over a number of fitness cases. The closer thisover a number of fitness cases. The closer this sum is to zero, the better the computer program.sum is to zero, the better the computer program.
  • 21.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 21 Step 4Step 4:: Decide on the parameters for controllingDecide on the parameters for controlling the run.the run. For controlling a run, geneticFor controlling a run, genetic programming uses the same primary parametersprogramming uses the same primary parameters as those used for GAs. They include theas those used for GAs. They include the population size and the maximum number ofpopulation size and the maximum number of generations to be run.generations to be run. Step 5Step 5:: Choose the method for designating aChoose the method for designating a result of the run.result of the run. It is common practice inIt is common practice in genetic programming to designate the bestgenetic programming to designate the best--soso--farfar generated program as the result of a run.generated program as the result of a run.
  • 22.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 22 Once these five steps are complete, a run can beOnce these five steps are complete, a run can be made. The run of genetic programming starts withmade. The run of genetic programming starts with a random generation of an initial population ofa random generation of an initial population of computer programs. Each programcomputer programs. Each program is composed ofis composed of functions +,functions +, −−,, **,, // andand sqrtsqrt, and terminals, and terminals aa andand bb.. In the initial population, all computer programsIn the initial population, all computer programs usually have poor fitness, but some individuals areusually have poor fitness, but some individuals are more fit than others. Just as a fitter chromosome ismore fit than others. Just as a fitter chromosome is more likely to be selected for reproduction, so amore likely to be selected for reproduction, so a fitter computer program is more likely to survive byfitter computer program is more likely to survive by copying itself into the next generation.copying itself into the next generation.
  • 23.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 23 Crossover in genetic programming:Crossover in genetic programming: Two parental STwo parental S--expressionsexpressions a * a + a b − (/ (− (sqrt (+ (* a a) (− a b))) a) (* a b)) / a b * sqrt − a + b / a sqrt b − − (+ (− (sqrt (− (* b b) a)) b) (sqrt (/ a b))) b a* b sqrt
  • 24.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 24 Crossover in genetic programming:Crossover in genetic programming: Two offspring STwo offspring S--expressionsexpressions a * a + a b − / sqrt − a + b / a sqrt− b a b * b − a * b sqrt (/ (− (sqrt (+ (* a a) (− a b))) a) (sqrt (− (* b b) a))) (+ (−(* a b) b) (sqrt (/ a b)))
  • 25.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 25 Mutation in genetic programmingMutation in genetic programming AA mutation operator can randomly change anymutation operator can randomly change any function or any terminal in the LISP Sfunction or any terminal in the LISP S--expression.expression. Under mutation, a function can only be replaced byUnder mutation, a function can only be replaced by a function and a terminal can only be replaced by aa function and a terminal can only be replaced by a terminal.terminal.
  • 26.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 26 a * a + a b − (/ (− (sqrt (+ (* a a) (− a b))) a) (* a b)) / a b * sqrt − a + b / a sqrt b − (+ (− (sqrt (− (* b b) a)) b) (sqrt (/ a b))) a* b sqrt − b Mutation in genetic programming:Mutation in genetic programming: Original SOriginal S--expressionsexpressions
  • 27.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 27 Mutation in genetic programming:Mutation in genetic programming: Mutated SMutated S--expressionsexpressions (/ (+ (sqrt (+ (* a a) (− a b))) a) (* a b)) / a b * a * a + a b − sqrt + a + b / a sqrt b − (+ (− (sqrt (− (* b b) a)) a) (sqrt (/ a b))) a* b sqrt − a
  • 28.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 28 Step 1Step 1:: Assign the maximum number of generationsAssign the maximum number of generations to be run and probabilities for cloning, crossoverto be run and probabilities for cloning, crossover and mutation. Note that the sum of the probabilityand mutation. Note that the sum of the probability of cloning, the probability of crossover and theof cloning, the probability of crossover and the probability of mutation must be equal to one.probability of mutation must be equal to one. StepStep 22:: GGenerateenerate an initial population of computeran initial population of computer programs of sizeprograms of size NN by combining randomlyby combining randomly selected functions and terminals.selected functions and terminals. In summary, genetic programming creates computerIn summary, genetic programming creates computer programs by executing the following steps:programs by executing the following steps:
  • 29.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 29 Step 3Step 3:: Execute each computer program in theExecute each computer program in the population and calculate its fitness with anpopulation and calculate its fitness with an appropriate fitness function. Designate the bestappropriate fitness function. Designate the best-- soso--far individual as the result of the run.far individual as the result of the run. Step 4Step 4:: With the assigned probabilities, select aWith the assigned probabilities, select a genetic operator to perform cloning, crossover orgenetic operator to perform cloning, crossover or mutation.mutation.
  • 30.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 30 Step 5Step 5:: If the cloning operator is chosen, select oneIf the cloning operator is chosen, select one computer program from the current population ofcomputer program from the current population of programs and copy it into a new population.programs and copy it into a new population. •• If the crossover operator is chosen, select a pairIf the crossover operator is chosen, select a pair of computer programs from the currentof computer programs from the current population, create a pair of offspring programspopulation, create a pair of offspring programs and place them into the new population.and place them into the new population. •• If the mutation operator is chosen, select oneIf the mutation operator is chosen, select one computer program from the current population,computer program from the current population, perform mutation and place the mutant into theperform mutation and place the mutant into the new population.new population.
  • 31.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 31 Step 6Step 6:: RepeatRepeat Step 4Step 4 until the size of the newuntil the size of the new population of computer programs becomes equalpopulation of computer programs becomes equal to the size of the initial population,to the size of the initial population, NN.. Step 7Step 7:: Replace the current (parent) populationReplace the current (parent) population with the new (offspring) population.with the new (offspring) population. Step 8Step 8:: Go toGo to Step 3Step 3 and repeat the process untiland repeat the process until the termination criterion is satisfied.the termination criterion is satisfied.
  • 32.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 32 Fitness history of the best SFitness history of the best S--expressionexpression Fitness,% 0 1 2 3 4 0 20 40 60 80 100 a * a b b * sqrt + G e n e r a t i o n s B e s t o f g e n e r a t i o n
  • 33.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 33 What are the main advantages of geneticWhat are the main advantages of genetic programming compared to genetic algorithms?programming compared to genetic algorithms? II Genetic programming applies the sameGenetic programming applies the same evolutionaryevolutionary approach. However, geneticapproach. However, genetic programming is no longer breeding bit strings thatprogramming is no longer breeding bit strings that represent coded solutions but complete computerrepresent coded solutions but complete computer programs that solve a particular problem.programs that solve a particular problem. II TheThe fundamental difficulty offundamental difficulty of GAsGAs lies in thelies in the problem representation, that is, in the fixedproblem representation, that is, in the fixed--lengthlength coding. A poor representation limits the power ofcoding. A poor representation limits the power of a GA, and even worse, may lead to a falsea GA, and even worse, may lead to a false solution.solution.
  • 34.  Negnevitsky, Pearson Education, 2011Negnevitsky, Pearson Education, 2011 34 II A fixedA fixed--length coding is rather artificial. As itlength coding is rather artificial. As it cannot provide a dynamic variability in length,cannot provide a dynamic variability in length, such a coding often causes considerablesuch a coding often causes considerable redundancy and reduces the efficiency of geneticredundancy and reduces the efficiency of genetic search. In contrast, genetic programming usessearch. In contrast, genetic programming uses highhigh--level building blocks of variable length.level building blocks of variable length. Their size and complexity can change duringTheir size and complexity can change during breeding.breeding. II Genetic programming works well in a largeGenetic programming works well in a large number of different cases and has many potentialnumber of different cases and has many potential applicationsapplications..