a brief introduction to ga theory. principles of adaptation in complex systems john holland proposed...

10
A Brief Introduction to GA Theory

Upload: isabel-charles

Post on 29-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

A Brief Introduction to GA Theory

Page 2: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

Principles of adaptation in complex systems

• John Holland proposed a general principle for adaptation in complex systems:

– Adaptation requires the correct balance between “exploration” and “exploitation”

Page 3: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

• “Exploration”

– Adaptation consists of “searching” for new useful traits

• “Exploitation”

– Adaptation also consists of spreading useful traits once they are discovered

Page 4: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

• Holland developed a mathematical theory of the correct balance between exploitation and exploration in adaptive systems

• The theory used an idealized example: a “two-armed bandit”.(From D. E. Goldberg, Genetic Algorithms in Search,

Optimization, and Machine Learning. Addison-Wesley 1989.

Page 5: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

• You are given n quarters to play with, and don’t know the probabilities of payoffs of the respective arms.

• What is the optimal way to allocate your quarters between the two arms so as to maximize your earnings (or minimize your losses) over the n arm-pulls ?

(From D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley 1989.

Page 6: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

• In Holland’s theory, each arm roughly corresponds with a possible “strategy” to test.

• The question is, if one strategy (arm) seems good, how much time should you spend exploiting it, and how much time should you spend exploring other, possibly better, strategies?

Page 7: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

• Holland developed a mathematical model to answer this question, meant to apply to all complex adaptive systems.

• Basic result: you should continue to play both arms (exploration), but, over time, exponentially increase the number of quarters (samples) you give to the observed better arm.

• This led to the development of “genetic algorithms” and the notion of “schema processing” and the “Schema Theorem”.

Page 8: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

Schema Theory

General idea (“traditional” theory):

GAs work by discovering, emphasizing, and recombining good “building blocks” of solutions in a highly parallel fashion.

Implies that good solutions are made up of good “building blocks”--- pieces of solutions that confer higher fitness on many strings they are part of.

Page 9: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

Schemas

• Formalizations of “building blocks.” Here, assume individuals are bit strings. (There are many generalizations of schemas to other representations.)

• Subsets of bit strings expressed as templates. E.g., A = 100111B = 010011

H1= ****11

H2= **0***

H3= **0**1

H4= **0*11

A and B are instances of H1 - H4.**0*11 is order 3 (has 3 defined bits). **0*11 has defining length 3.

Page 10: A Brief Introduction to GA Theory. Principles of adaptation in complex systems John Holland proposed a general principle for adaptation in complex systems:

Schema Processing in GAs

General ideas:

• Any string is an instance of 2l schemas, so its fitness gives some information about those schemas.

• The population of N individuals contains between 2l and N2l

schemas (“implicit parallelism”).

• A GA explicitly samples strings, it implicitly samples schemas.

• The sampling procedure is gradually biased towards above-average fitness schemas.