home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!mcsun!Germany.EU.net!Informatik.Uni-Dortmund.DE!lusty!heitkoet
- From: joke@ls11.informatik.uni-dortmund.de (Joerg Heitkoetter)
- Newsgroups: comp.ai.genetic,comp.answers,news.answers
- Subject: FAQ: comp.ai.genetic part 1/3 (A Guide to Frequently Asked Questions)
- Supersedes: <part1_743188477@lusty.informatik.uni-dortmund.de>
- Followup-To: comp.ai.genetic
- Date: 20 Aug 1993 13:57:14 GMT
- Organization: CS Department, University of Dortmund, Germany
- Lines: 1786
- Approved: news-answers-request@MIT.Edu
- Expires: 3 Oct 1993 13:57:09 GMT
- Message-ID: <part1_745855029@lusty.informatik.uni-dortmund.de>
- References: <NEWS_745855029@lusty.informatik.uni-dortmund.de>
- NNTP-Posting-Host: lusty.informatik.uni-dortmund.de
- Summary: This is part 1 of a trilogy entitled "The Hitch-Hiker's Guide
- to Evolutionary Computation". A monthly published list of Frequently
- Asked Questions (and their answers) about Evolutionary Algorithms,
- Life and Everything. It should be read by anyone who whishes to post
- to the comp.ai.genetic newsgroup, preferably *before* posting.
- Originator: joke@ls11.informatik.uni-dortmund.de (Joerg Heitkoetter)
- Xref: senator-bedfellow.mit.edu comp.ai.genetic:1182 comp.answers:1671 news.answers:11622
-
- Archive-name: ai-faq/genetic/part1
- Last-Modified: 08/20/93
- Version: 0.6
-
-
-
-
-
- FAQ(1/3) COMP.AI.GENETIC FAQ(1/3)
-
-
-
- [eds note: This is a preliminary version, ie. a "proposal", of the
- forthcoming FAQ to comp.ai.genetic. If you want to contribute new
- items, make corrections, or want to fill in a "[..]" template, drop
- me a mail.]
-
-
-
-
-
-
-
-
- The
- Hitch-Hiker's
- Guide to
- Evolutionary Computation
- (FAQ in comp.ai.genetic)
-
- edited by
-
- Joerg Heitkoetter
- Systems Analysis Research Group, LSXI
- Department of Computer Science
- University of Dortmund
- D-44221 Dortmund, Germany
- <joke@ls11.informatik.uni-dortmund.de>
-
- (Usually FAQ means "Frequently Asked Questions,"
- though it's sometimes referred to as
- "Familiar Awkward Questions" ;-)
-
- PLEASE, SEARCH THIS POSTING FIRST
- IF YOU HAVE A QUESTION
- and
- DON'T POST ANSWERS TO FAQs:
- POINT THE ASKER TO THIS POSTING
- and
- DON'T PANIC
-
- FAQ /F-A-Q/ or /fak/ [USENET] n. 1. A Frequently Asked Question.
- 2. A compendium of accumulated lore, posted periodically to
- high-volume newsgroups in an attempt to forestall such
- questions. Some people prefer the term `FAQ list' or `FAQL'
- /fa'kl/, reserving `FAQ' for sense 1.
-
- FAQ list
- /F-A-Q list/ or /fak list/ [USENET] n. Syn FAQ, sense 2.
-
- FAQL /fa'kl/ n. Syn. FAQ list.
-
- RTFAQ
-
-
-
- Version 0.6 Posted: 20 August 1993 1
-
-
-
-
-
-
-
- FAQ(1/3) PREFACE FAQ(1/3)
-
-
-
- /R-T-F-A-Q/ [USENET: primarily written, by analogy with RTFM]
- imp. Abbrev. for `Read the FAQ!', an exhortation that the person
- addressed ought to read the newsgroup's FAQ list before posting
- questions. RTFM /R-T-F-M/ [UNIX] imp. Acronym for `Read The
- Fucking Manual'. 1. Used by gurus to brush off questions they
- consider trivial or annoying. Compare Don't do that, then! 2.
- Used when reporting a problem to indicate that you aren't just
- asking out of randomness. "No, I can't figure out how to
- interface UNIX to my toaster, and yes, I have RTFM." Unlike
- sense 1, this use is considered polite. See also FM, RTFAQ,
- RTFB, RTFS, RTM, all of which mutated from RTFM, and compare
- UTSL.
-
- --- "The on-line hacker Jargon File, version 2.9.12, 10 May
- 1993", available via anon. ftp to ftp.gnu.ai.mit.edu in
- "/pub/gnu"
-
- PREFACE
- This posting is intended to help, provide basic information, and
- serve as a "first straw" for individuals, ie. uninitiated hitch-
- hikers, who are stranded in the mindboggling universe of Evolutionary
- Computation (EC); that in turn is only a small footpath to an even
- more mindboggling scientific universe, that, incorporating Fuzzy
- Systems, and Artificial Neural Networks, is sometimes referred to as
- Computational Intelligence (CI); that in turn is only part of an even
- more advanced scientific universe of mindparalysing complexity, that
- incorporating Artificial Life, Fractal Geometry, and other Complex
- Systems Sciences might someday be referred to as Natural Computation
- (NC).
-
- Over the course of the past years, GLOBAL OPTIMIZATION ALGORITHMS
- imitating certain principles of nature have proved their usefulness
- in various domains of applications. Especially those principles are
- worth copying where nature has found "stable islands" in a "turbulent
- ocean" of solution possibilities. Such phenomena can be found in
- annealing processes, central nervous systems and biological evolution
- which in turn have lead to the following optimization methods:
- Simulated Annealing (SA), Artificial Neural Networks (ANNs) and the
- field of Evolutionary Computation (EC).
-
- EC may currently be characterized by the following pathways: Genetic
- Algorithms (GA), Evolutionary Programming (EP), Evolution Strategies
- (ES), Classifier Systems (CFS), Genetic Programming (GP), and several
- other problem solving strategies, that are based upon biological
- observations, that date back to CHARLES DARWIN's discoveries in the
- 19th century: the means of natural selection and the survival of the
- fittest, ie. the "theory of evolution." The inspired algorithms are
- thus termed Evolutionary Algorithms (EA).
-
- Moreover, is this posting intended to introduce and help those, who
- are just beginning to read this newsgroup, and those who are new "on"
-
-
-
- Version 0.6 Posted: 20 August 1993 2
-
-
-
-
-
-
-
- FAQ(1/3) PREFACE FAQ(1/3)
-
-
-
- USENET. It shall help to avoid lengthy discussions of questions that
- usually arise for beginners of one or the other kind, and are boring
- to read again and again by comp.ai.genetic "old-timers."
-
- You will see this posting popping up each month in the USENET
- newsgroup comp.ai.genetic (including comp.answers, and news.answers,
- where it should be locatable at ANY time).
-
-
- CONTRIBUTIONS
- Contributions are always welcome. Send e-mail to the current editor
- of this posting, as stated somewhere above, if it is relevant, it
- will be incorporated. (Please format your contribution appropriately
- so it can just be dropped in. Unformatted contributions however,
- won't be rejected.)
-
-
- ARCHIVE SERVICE
- This posting (like all other FAQs, ie. the essence of the knowledge
- floating through USENET) is available between postings on
- rtfm.mit.edu in the directory "/pub/usenet/news.answers" as the files
- ai-faq/genetic/part?. The FAQ may also be retrieved by e-mail from
- <mail-server@rtfm.mit.edu>. Send a message to the mail-server with
- "help" and "index" in the body on separate lines for more
- information.
-
-
- DISCLAIMER
- This monthly posting is not meant to discuss any topic exhaustively,
- but should be thought of as a list of reference pointers, instead.
- This posting is provided on an "as is" basis, NO WARRANTY whatsoever
- is expressed or implied, especially, NO WARRANTY that the information
- contained herein is correct or useful in any way, although both is
- intended. However, please note that the opinions expressed herein do
- not necessarily reflect those of the Systems Analysis Research Group,
- neither as a whole, nor in part, they are just mine.
-
-
- HITCH-HIKING THE FAQNIVERSE
- This guide is big. Really big. You just won't believe how hugely,
- vastly, mindbogglingly big it is. That's why it has been split into a
- trilogy, ie. it can be pieced together from files "ai-
- faq/genetic/part1", "ai-faq/genetic/part2", and "ai-
- faq/genetic/part3".
-
- Searching for answers
- To find the answer of question number x, just search for the string
- "Ax)" (so the answer to question "Q42:" is at "A42)")
-
- What does, eg. [ICGA85] mean?
-
-
-
-
- Version 0.6 Posted: 20 August 1993 3
-
-
-
-
-
-
-
- FAQ(1/3) PREFACE FAQ(1/3)
-
-
-
- Some books would be referenced again and again, that's why they got
- this kind of "tag", that an experienced hitch-hiker will search for
- to dissolve the riddle.
-
- Why all this UPPERCASING in running text?
- Some words are written in all uppercase letters, eg. EVOLUTION, you
- will find these reappearing in the Glossary (cf A99).
-
- Referencing this Guide
- If you want to reference this guide (although I have currently no
- idea, why you should want to do this), I'd be insanely proud if it
- looks like:
-
- Heitkoetter, Joerg, ed. (1993) "The Hitch-Hiker's Guide to
- Evolutionary Computation: A list of Frequently Asked Questions
- (FAQ)", Usenet: comp.ai.genetic. Available via anonymous ftp from
- rtfm.mit.edu in pub/usenet/news.answers/ai-faq/genetic/part?. ~60
- pages. Or simply call it "the Guide", or "HHGEC" for acronymaniacs.
-
- Obtaining a PostScript version
- For innumerable reasons this guide is written using an ancient, good
- old-fashioned UNIX text formatting utility, namely troff(1); better
- to say the GNU version groff(1) and a hacked macro package based on
- "tmac.an"; it's thus easy to generate ASCII (posted), TeX DVI (not
- posted), and PostScript (ftpable) versions from a unique source. The
- latter, looks really crisp (using boldface, italics, etc.), and thus
- is available for those who prefer offline reading. Look for file
- "/pub/EA/docs/hhgec.ps.Z" on the SyS ftp-server:
- lumpi.informatik.uni-dortmund.de (129.217.36.140).
-
- The ZEN Puzzle
- For some weird reason this guide contains some puzzles which can only
- be solved by cautious readers who have (1) a certain amount of a
- certain kind of humor, (2) a certain amount of patience and time, (3)
- a certain amount of experience in ZEN navigation, and (4) a certain
- amount of books of a certain author.
-
- Usually, puzzles search either for certain answers (more often, ONE
- answer) to a question; or, for the real smartasses, sometimes an
- answer is presented, and a certain question is searched for. ZEN
- puzzles are even more challenging: you have to come up with an answer
- to a question, both of which are not explicitly, rather implicitly
- stated somewhere in this FAQ. Thus, you are expected to give an
- answer AND a question!
-
- To give an impression what this is all about, consider the following,
- submitted by Craig W. Reynolds. The correct question is: "Why is
- Fisher's `improbability quote' (cf EPILOGUE) included in this FAQ?",
- Craig's correct answer is: `This is a GREAT quotation, it sounds like
- something directly out of a turn of the century Douglas Adams:
- Natural selection: the original "Infinite Improbability Drive"' Got
-
-
-
- Version 0.6 Posted: 20 August 1993 4
-
-
-
-
-
-
-
- FAQ(1/3) PREFACE FAQ(1/3)
-
-
-
- the message? Well, this was easy and very obvious. The other puzzles
- are more challenging...
-
- However, all this is just for fun (mine and hopefully yours), there
- is nothing like the $100 price, some big shots in computer science,
- eg. Don Knuth usually offer; all there is but a honorable mentioning
- of the ZEN navigator, including the puzzle s/he solved. It's thus
- like in real life: don't expect to make money from the time being a
- scientist, it's all just for the fun of it...
-
- Welcome aboard. Enjoy the trip!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Version 0.6 Posted: 20 August 1993 5
-
-
-
-
-
-
-
- FAQ(1/3) TABLE OF CONTENTS FAQ(1/3)
-
-
-
- TABLE OF CONTENTS
- ai-faq/genetic/part1
- Q0: What is this newsgroup for? How shall it be used?
-
- Q1: What are Evolutionary Algorithms (EAs)?
-
- Q1.1: What's a Genetic Algorithm (GA)?
-
- Q1.2: What's Evolutionary Programming (EP)?
-
- Q1.3: What's an Evolution Strategy (ES)?
-
- Q1.4: What's a Classifier System (CFS)?
-
- Q1.5: What's Genetic Programming (GP)?
-
- Q2: What can you do with EAs? What can't you do with them?
-
- Q3: Who is or should be concerned with EAs?
-
- Q4: How many Evolutionary Algorithms exist? Which?
-
- Q4.1: What about Tierra, VENUS, PolyWorld, etc.?
-
- ai-faq/genetic/part2
- Q5: What about all this Optimization stuff?
-
- Q10: Good introductory material about EAs?
-
- Q11: Any journals and magazines about EAs?
-
- Q12: The most important conferences concerned with EAs?
-
- Q13: Evolutionary Computation Associations?
-
- Q14: Where do I get technical reports on EAs from?
-
- Q15: Other sources of information about EAs?
-
- Q15.1: Electronic Digests?
-
- Q15.2: Electronic Mailing Lists?
-
- Q15.3: Electronic Access to Research Institutes?
-
- Q15.4: Relevant Electronic News and FAQs?
-
- Q15.5: What about all these Internet Services?
-
- ai-faq/genetic/part3
-
-
-
-
- Version 0.6 Posted: 20 August 1993 6
-
-
-
-
-
-
-
- FAQ(1/3) TABLE OF CONTENTS FAQ(1/3)
-
-
-
- Q20: Available EA software packages? FTP sites?
-
- Q20.1: Free EA software packages?
-
- Q20.2: Commercial EA software packages?
-
- Q20.3: Software from current research projects?
-
- Q42: What is life all about?
-
- Q42b: Is there a FAQ to this group?
-
- Q98: What about Patents on EAs?
-
- Q99: I don't get the message. What about a Glossary on EAs?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Version 0.6 Posted: 20 August 1993 7
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- A0) What is this newsgroup for?
- The newsgroup comp.ai.genetic is intended as a forum for people who
- want to use or explore the capabilities of Genetic Algorithms (GA),
- Evolutionary Programming (EP), Evolution Strategies (ES), Classifier
- Systems (CFS), Genetic Programming (GP), and some other, less well-
- known problem solving algorithms that are more or less loosely
- coupled to the field of Evolutionary Computation (EC).
-
- The following guidelines present the essentials of the USENET on-line
- documentation, that is posted each month to news.announce.newusers.
-
- If you are already familiar with "netiquette" you don't want to read
- any further; if you don't know what the hell this is all about,
- proceed as follows: (1) carefully read the following paragraphs, (2)
- read all the documents in news.announce.newusers before posting any
- article to USENET. At least you should give the introductory stuff a
- try, ie. files "news-answers/introduction" and "news-answers/news-
- newusers-intro". Both are survey articles, that provide a short and
- easy way to get an overview of the interesting parts of the on-line
- docs, and thus can help to prevent you from drowning in the megabytes
- to read. Both can be received either by subscribing to news.answers,
- or sending the following message to <mail-server@rtfm.mit.edu>
-
- send usenet/news.answers/introduction
- send usenet/news.answers/news-newusers-intro
-
- Thanx in advance for your patience!
-
- You will probably find the following types of articles in this
- newsgroup:
-
- 1. Requests
- Requests are articles of the form "I am looking for X" where X is
- something public like a book, an article, a piece of software.
-
- If multiple different answers can be expected, the person making the
- request should prepare to make a summary of the answers he/she got
- and announce to do so with a phrase like "Please e-mail, I'll
- summarize" at the end of the posting.
-
- The Subject line of the posting should then be something like
- "Request: X"
-
- 2. Questions
- As opposed to requests, questions are concerned with something so
- specific that general interest cannot readily be assumed. If the
- poster thinks that the topic is of some general interest, he/she
- should announce a summary (see above).
-
- The Subject line of the posting should be something like "Question:
- this-and-that" (Q: this-and-that) or have the form of a question
-
-
-
- Version 0.6 Posted: 20 August 1993 8
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- (ie., end with a question mark)
-
- 3. Answers
- These are reactions to questions or requests. As a rule of thumb
- articles of type "answer" should be rare. Ideally, in most cases
- either the answer is too specific to be of general interest (and
- should thus be e-mailed to the poster) or a summary was announced
- with the question or request (and answers should thus be e-mailed to
- the poster).
-
- The subject lines of answers are automatically adjusted by the news
- software.
-
- 4. Summaries
- In all cases of requests or questions the answers for which can be
- assumed to be of some general interest, the poster of the request or
- question shall summarize the answers he/she received. Such a summary
- should be announced in the original posting of the question or
- request with a phrase like "Please answer by e-mail, I'll summarize"
-
- In such a case answers should NOT be posted to the newsgroup but
- instead be mailed to the poster who collects and reviews them. After
- about 10 to 20 days from the original posting, its poster should make
- the summary of answers and post it to the net.
-
- Some care should be invested into a summary:
-
- a) simple concatenation of all the answers might not be enough;
- instead redundancies, irrelevances, verbosities and errors should
- be filtered out (as good as possible),
-
- b) the answers shall be separated clearly
-
- c) the contributors of the individual answers shall be identifiable
- unless they requested to remain anonymous [eds note: yes, that
- happens])
-
- d) the summary shall start with the "quintessence" of the answers, as
- seen by the original poster
-
- e) A summary should, when posted, clearly be indicated to be one by
- giving it a Subject line starting with "Summary:"
-
- Note that a good summary is pure gold for the rest of the newsgroup
- community, so summary work will be most appreciated by all of us.
- (Good summaries are more valuable than any moderator!)
-
- 5. Announcements
- Some articles never need any public reaction. These are called
- announcements (for instance for a workshop, conference or the
- availability of some technical report or software system).
-
-
-
- Version 0.6 Posted: 20 August 1993 9
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- Announcements should be clearly indicated to be such by giving them a
- subject line of the form "Announcement: this-and-that"
-
- Due to common practice, conference announcements usually carry a
- "CFP:" in their subject line, ie. "call for papers" (or: "call for
- participation").
-
- 6. Reports
- Sometimes people spontaneously want to report something to the
- newsgroup. This might be special experiences with some software,
- results of own experiments or conceptual work, or especially
- interesting information from somewhere else.
-
- Reports should be clearly indicated to be such by giving them a
- subject line of the form "Report: this-and-that"
-
- 7. Discussions
- An especially valuable possibility of USENET is of course that of
- discussing a certain topic with hundreds of potential participants.
- All traffic in the newsgroup that can not be subsumed under one of
- the above categories should belong to a discussion.
-
- If somebody explicitly wants to start a discussion, he/she can do so
- by giving the posting a subject line of the form "Start discussion:
- this-and-that" (People who react on this, please remove the "Start
- discussion: " label from the subject line of your replies)
-
- It is quite difficult to keep a discussion from drifting into chaos,
- but, unfortunately, as many other newsgroups show there seems to be
- no secure way to avoid this. On the other hand, comp.ai.genetic has
- not had many problems with this effect, yet, so let's just go and
- hope...
-
-
- A1) What are Evolutionary Algorithms (EAs)?
- Evolutionary algorithms use computational models of evolutionary
- processes as key elements in the design and implementation of
- computer-based problem solving systems. A variety of evolutionary
- computational models have been proposed. They share a common
- conceptual base of simulating the evolution of individual structures
- via processes of SELECTION, MUTATION, and REPRODUCTION. The
- processes depend on the perceived PERFORMANCE of the individual
- structures as defined by an ENVIRONMENT.
-
- More precisely, EAs maintain a POPULATION of structures, that evolve
- according to rules of selection and other operators, that are
- referred to as SEARCH OPERATORS, (GENETIC OPERATORS) such as
- RECOMBINATION and MUTATION. Each individual in the population
- receives a measure of it's fitness in the environment. Reproduction
- focuses attention on high fitness individuals, thus EXPLOITING the
- available fitness information. Recombination and mutation perturb
-
-
-
- Version 0.6 Posted: 20 August 1993 10
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- those individuals, providing general heuristics for EXPLORATION.
- Although simplistic from a biologist's viewpoint, these algorithms
- are sufficiently complex to provide robust and powerful ADAPTIVE
- SEARCH mechanisms.
-
- --- from: "An Overview of Evolutionary Computation" [ECML93],
- 442-459.
-
- PSEUDO CODE
- The pseudo code of a typical EA looks like:
- Algorithm EA is
-
- // start with an initial time
- t := 0;
-
- // initialize a usually random population of individuals
- initpopulation P (t);
-
- // evaluate fitness of all initial individuals in population
- evaluate P (t);
-
- // test for termination criterion (time, fitness, etc.)
- while not done do
-
- // increase the time counter
- t := t + 1;
-
- // select sub-population for offspring production
- P' := selectparents P (t);
-
- // recombine the "genes" of selected parents
- recombine P' (t);
-
- // perturb the mated population stochastically
- mutate P' (t);
-
- // evaluate it's new fitness
- evaluate P' (t);
-
- // select the survivors from actual fitness
- P := survive P,P' (t);
- od
- end EA.
-
- A1.1) What's a Genetic Algorithm (GA)?
- The Genetic Algorithm is a model of MACHINE LEARNING which derives
- its behavior from a metaphor of the processes of evolution in nature.
- This is done by the creation within a machine of a POPULATION of
- individuals represented by chromosomes, in essence a set of character
- strings that are analogous to the base-4 chromosomes that we see in
- our own DNA. The individuals in the population then go through a
-
-
-
- Version 0.6 Posted: 20 August 1993 11
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- process of evolution.
-
- We should note that EVOLUTION (in nature or anywhere else) is not a
- purposive or directed process. That is, there is no evidence to
- support the assertion that the goal of evolution is to produce
- Mankind. Indeed, the processes of nature seem to boil down to
- different individuals competing for resources in the environment.
- Some are better than others. Those that are better are more likely to
- survive and propagate their genetic material.
-
- In nature, we see that the encoding for our genetic information
- (genome) is done in a way that admits sexual reproduction. ASEXUAL
- REPRODUCTION (such as by budding) typically results in offspring that
- are genetically identical to the parent. SEXUAL REPRODUCTION allows
- the creation of genetically radically different offspring that are
- still of the same general flavor (species).
-
- At the molecular level what occurs (wild oversimplification alert!)
- is that a pair of chromosomes bump into one another, exchange chunks
- of genetic information and drift apart. This is the RECOMBINATION
- operation, which GA/GPers generally refer to as CROSSOVER because of
- the way that genetic material crosses over from one chromosome to
- another.
-
- The crossover operation happens in an environment where the selection
- of who gets to mate is a function of the FITNESS of the individual,
- ie. how good the individual is at competing in its environment. Some
- genetic algorithms use a simple function of the fitness measure to
- select individuals (probabilistically) to undergo genetic operations
- such as crossover or REPRODUCTION (the propagation of genetic
- material unaltered). This is fitness-proportionate SELECTION. Other
- implementations use a model in which certain randomly selected
- individuals in a subgroup compete and the fittest is selected. This
- is called tournament selection and is the form of selection we see in
- nature when stags rut to vie for the privilege of mating with a herd
- of hinds. The two processes that most contribute to evolution are
- crossover and fitness based selection/reproduction.
-
- As it turns out, there are mathematical proofs that indicate that the
- process of fitness proportionate reproduction is, in fact, near
- optimal in some senses.
-
- Mutation also plays a role in this process, though it is not the
- dominant role that is popularly believed to be the process of
- evolution, ie. random mutation and survival of the fittest. It cannot
- be stressed too strongly that the genetic algorithm (as a simulation
- of a genetic process) is not a "random search" for a solution to a
- problem (highly fit individual). The genetic algorithm uses
- stochastic processes, but the result is distinctly non-random (better
- than random).
-
-
-
-
- Version 0.6 Posted: 20 August 1993 12
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- Genetic algorithms are used for a number of different application
- areas. An example of this would be multidimensional optimization
- problems in which the character string of the chromosome can be used
- to encode the values for the different parameters being optimized.
-
- In practice, therefore, we can implement this genetic model of
- computation by having arrays of bits or characters to represent the
- chromosomes. Simple bit manipulation operations allow the
- implementation of crossover, mutation and other operations. Although
- a substantial amount of research has been performed on variable-
- length strings and other structures, the majority of work with
- genetic algorithms is focussed on fixed-length character strings. We
- should focus on both this aspect of fixed-lengthness and the need to
- encode the representation of the solution being sought as a character
- string, since these are crucial aspects that distinguish Genetic
- Programming, which does not have a fixed length representation and
- there is typically no encoding of the problem.
-
- When the genetic algorithm is implemented it is usually done in a
- manner that involves the following cycle: Evaluate the fitness of all
- of the individuals in the population. Create a new population by
- performing operations such as crossover, fitness-proportionate
- reproduction and mutation on the individuals whose fitness has just
- been measured. Discard the old population and iterate using the new
- population.
-
- One iteration of this loop is referred to as a GENERATION. There is
- no theoretical reason for this as an implementation model. Indeed, we
- do not see this punctuated behavior in populations in nature as a
- whole, but it is a convenient implementation model.
-
- The first generation (generation 0) of this process operates on a
- population of randomly generated individuals. From there on, the
- genetic operations, in concert with the fitness measure, operate to
- improve the population.
-
- PSEUDO CODE
- The pseudo code of a standard GA looks like:
- Algorithm GA is
-
- // start with an initial time
- t := 0;
-
- // initialize a usually random population of individuals
- initpopulation P (t);
-
- // evaluate fitness of all initial individuals of population
- evaluate P (t);
-
- // test for termination criterion (time, fitness, etc.)
- while not done do
-
-
-
- Version 0.6 Posted: 20 August 1993 13
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- // increase the time counter
- t := t + 1;
-
- // select a sub-population for offspring production
- P' := selectparents P (t);
-
- // recombine the "genes" of selected parents
- recombine P' (t);
-
- // perturb the mated population stochastically
- mutate P' (t);
-
- // evaluate it's new fitness
- evaluate P' (t);
-
- // select the survivors from actual fitness
- P := survive P,P' (t);
- od
- end GA.
-
- A1.2) What's Evolutionary Programming (EP)?
- [..]
-
- PSEUDO CODE
- The pseudo code of an Evolutionary Programming algorithm looks like:
- Algorithm EP is
-
- // start with an initial time
- t := 0;
-
- // initialize a usually random population of individuals
- initpopulation P (t);
-
- // evaluate fitness of all initial individuals of population
- evaluate P (t);
-
- // test for termination criterion (time, fitness, etc.)
- while not done do
-
- // increase the time counter
- t := t + 1;
-
- // perturb the whole population stochastically
- P' := mutate P (t);
-
- // evaluate it's new fitness
- evaluate P' (t);
-
- // select the survivors from actual fitness
- P := survive P,P' (t);
- od
-
-
-
- Version 0.6 Posted: 20 August 1993 14
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- end EP.
-
- It should be pointed out that EP does not use any CROSSOVER as a
- GENETIC OPERATOR.
-
- A1.3) What's an Evolution Strategy (ES)? [preliminary]
- In 1963 two students at the Technical University of Berlin (TUB) met
- and were soon to collaborate on experiments which used the wind
- tunnel of the Institute of Flow Engineering. During the search for
- the optimal shapes of bodies in a flow, which was then a matter of
- laborious intuitive experimentation, the idea was conceived of
- proceeding strategically. However, attempts with the coordinate and
- simple gradient strategies (cf Q5) were unsuccessful. Then one of
- the students, Ingo Rechenberg, now Professor of Bionics and
- Evolutionary Engineering, hit upon the idea of trying random changes
- in the parameters defining the shape, following the example of
- natural mutations. The EVOLUTION STRATEGY was born. A third
- student, Peter Bienert, joined them and started the construction of
- an automatic experimenter, which would work according to the simple
- rules of mutation and selection. The second student, Hans-Paul
- Schwefel, set about testing the efficiency of the new methods with
- the help of a Zuse Z23 computer; for there were plenty of objections
- to these "random strategies."
-
- In spite of an occasional lack of financial support, the Evolutionary
- Engineering Group which had been formed held firmly together. Ingo
- Rechenberg received his doctorate in 1970 (Rechenberg 73). It
- contains the theory of the two membered evolution strategy and a
- first proposal for a multimembered strategy which in the nomenclature
- introduced here is of the (m+1) type. In the same year financial
- support from the Deutsche Forschungsgemeinschaft (DFG, Germany's
- National Science Foundation) enabled the work, that was concluded, at
- least temporarily, in 1974 with the thesis "Evolutionsstrategie und
- numerische Optimierung" (Schwefel 77).
-
- Thus, EVOLUTION STRATEGIES were invented to solve technical
- optimization problems (TOPs) like eg. contructing an optimal flashing
- nozzle, and until recently ES were only known to civil engineering
- folks, as an alternative to standard solutions. Usually no closed
- form analytical objective function is available for TOPs and hence,
- no applicable optimization method exists, but the engineer's
- INTUITION.
-
- The first attempts to imitate principles of organic evolution on a
- computer still resembled those iterative optimization methods known
- up to that time: In a two-membered or (1+1) ES, one parent generates
- one offspring per generation by applying NORMALLY DISTRIBUTED
- mutations, ie. smaller steps occur more likely than big ones, until a
- child performs better than its ancestor and takes its place. Because
- of this simple structure, theoretical results for stepsize control
- and CONVERGENCE VELOCITY could be derived. The ratio between
-
-
-
- Version 0.6 Posted: 20 August 1993 15
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- successful and all mutations should come to 1/5: the so-called 1/5
- SUCCESS RULE was discovered. This first algorithm, using mutation
- only, has then been enhanced to a (m+1) strategy which incorporated
- RECOMBINATION due to several, ie. m parents being available. The
- mutation scheme and the exogenous stepsize control were taken across
- unchanged from (1+1) ESs.
-
- Schwefel later generalized these strategies to the multimembered ES
- now denoted by (m+l) and (m,l) which imitates the following basic
- principles of organic evolution: a POPULATION, leading to the
- possibility of RECOMBINATION with random mating, MUTATION and
- SELECTION. These strategies are termed PLUS STRATEGY and COMMA
- STRATEGY, respectively: in the plus case, the parental generation is
- taken into account during selection, while in the comma case only the
- offspring undergoes selection, and the parents die off. m (usually a
- lowercase my, denotes the population size, and l, usually a lowercase
- lambda denotes the number of offspring generated per generation). Or
- to put it in an utterly insignificant and hopelessly outdated
- language:
-
- (define (Evolution-strategy population)
- (if (terminate? population)
- population
- (evolution-strategy
- (select
- (cond (plus-strategy?
- (union (mutate
- (recombine population))
- population))
- (comma-strategy?
- (mutate
- (recombine population))))))))
-
- However, dealing with ES is sometimes seen as "strong tobacco," for
- it takes a decent amount of PROBABILITY THEORY and applied STATISTICS
- to understand the inner workings of an ES, while it navigates through
- the hyperspace of the usually n-dimensional problem space, by
- throwing hyperelipses into the deep...
-
- Luckily, this medium doesn't allow for much mathematical ballyhoo;
- the author therefore has to come up with a simple but brilliantly
- intriguing explanation to save the reader from falling asleep during
- the rest of this section, so here we go:
-
- Imagine a black box. A large black box. As large as, say for example,
- a Coka-Cola vending machine. Now, ... (to be continued)
-
- [..]
-
- A single individual of the ES' population consists of the following
- GENOTYPE representing a point in the SEARCH SPACE:
-
-
-
- Version 0.6 Posted: 20 August 1993 16
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- OBJECT VARIABLES
- Real-valued x_i have to be tuned by recombination and mutation
- such that an objective function reaches its global optimum.
- Referring to the metaphor mentioned previously, the x_i
- represent the regulators of the alien Coka-Cola vending machine.
-
- STRATEGY VARIABLES
- Real-valued s_i (usually denoted by a lowercase sigma) or mean
- STEPSIZES determine the mutability of the x_i. They represent
- the STANDARD DEVIATION of a (0, s_i) GAUSSIAN DISTRIBUTION (GD)
- being added to each x_i as an undirected mutation. With an
- EXPECTANCY VALUE of 0 the parents will produce offsprings
- similar to themselves on average. In order to make a doubling
- and a halving of a stepsize equally probable, the s_i mutate
- LOG-NORMALLY, distributed, ie. exp(GD), from generation to
- generation. These stepsizes hide the INTERNAL MODEL the
- population has made of its environment, ie. a SELF-ADAPTATION of
- the stepsizes has replaced the exogenous control of the (1+1)
- ES.
-
- This concept works because selection sooner or later prefers those
- individuals having built a good model of the objective function, thus
- producing better offspring. Hence, LEARNING takes place on two
- levels: (1) at the genotypic, ie. the object and strategy variable
- level and (2) at the phenotypic level, ie. the fitness level.
-
- Depending on an individual's x_i, the resulting objective function
- value f(x), where x denotes the vector of objective variables, serves
- as the PHENOTYPE (fitness) in the selection step. In a plus strategy,
- the m best of all (m+l) individuals survive to become the parents of
- the next generation. Using the comma variant, selection takes place
- only among the l offspring. The second scheme is more realistic and
- therefore more successful, because no individual may survive forever,
- which could at least theoretically occur using the plus variant.
- Untypical for conventional optimization algorithms and lavish at
- first sight, a comma strategy allowing intermediate deterioration
- performs better! Only by FORGETTING highly fit individuals a
- permanent adaptation of the stepsizes can take place and avoid long
- stagnation phases due to misadapted s_i's. This means that these
- individuals have built an internal model that is no longer
- appropriate for further progress, and thus should better be
- discarded.
-
- By choosing a certain ratio m/l, one can determine the convergence
- property of the evolution strategy: If one wants a fast, but local
- convergence, one should choose a small HARD SELECTION, ratio, eg.
- (5,100), but looking for the global optimum, one should favour a
- SOFTer SELECTION (15,100).
-
- Self-adaptation within ESs depends on the following AGENTS (Schwefel
- 87):
-
-
-
- Version 0.6 Posted: 20 August 1993 17
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- RANDOMNESS:
- One cannot model mutation as a pure random process. This would
- mean that a child is completely independent of its parents.
-
- POPULATION SIZE:
- The population has to be sufficiently large. Not only the
- current best should be allowed to reproduce, but a set of good
- individuals. Biologists have coined the term REQUISITE VARIETY
- being necessary to prevent a species from becoming poorer and
- poorer genetically and eventually dying out.
-
- COOPERATION:
- In order to exploit the effects of a population (m > 1), the
- individuals should recombine their knowledge with that of others
- (cooperate) because one cannot expect the knowledge to
- accumulate in the best individual only.
-
- DETERIORATION:
- In order to allow better internal models (stepsizes) to provide
- better progress in the future, one should accept deterioration
- from one generation to the next. A limited life-span in nature
- is not a sign of failure, but an important means of preventing a
- species from freezing genetically.
-
- ESs prove to be successful when compared to other iterative methods
- on a large number of test problems (Schwefel 77). They are adaptable
- to nearly all sorts of problems in optimization, because they need
- very little information about the problem, esp. no derivatives of the
- objective function. For a list of some 300 applications of EAs, see
- the Sys-2/92 report (cf Q14). ESs are capable of solving high
- dimensional, multimodal, nonlinear problems subject to linear and/or
- nonlinear constraints. The objective function can also, eg. be the
- result of a SIMULATION, it does not have to be given in a closed
- form. This also holds for the constraints which may represent the
- outcome of, eg. a finite elements method (FEM). ESs have been adapted
- to VECTOR OPTIMIZATION problems (Kursawe 92), and they can also serve
- as a heuristic for NP-complete combinatorial problems like the
- TRAVELLING SALESMAN problem or problems with a noisy or changing
- response surface.
-
- References
-
- (Kursawe 92) F. Kursawe "Evolution strategies for vector
- optimization", Taipei, National Chiao Tung University, 187-193.
-
- (Kursawe 94) F. Kursawe "Evolution strategies: Simple models of
- natural processes?", Revue Internationale de Systemique, France (to
- appear).
-
- (Rechenberg 73) I. Rechenberg "Evolutionsstrategie: Optimierung
- technischer Systeme nach Prinzipien der biologischen Evolution",
-
-
-
- Version 0.6 Posted: 20 August 1993 18
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- Stuttgart: Fromman-Holzboog.
-
- (Schwefel 77) H.-P. Schwefel "Numerische Optimierung von
- Computermodellen mittels der Evolutionsstrategie", Basel: Birhaeuser.
-
- (Schwefel 87) H.-P. Schwefel "Collective Phaenomena in Evolutionary
- Systems", 31st Annu. Meet. Inter'l Soc. for General System Research,
- Budapest, 1025-1033.
-
- A1.4) What's a Classifier System (CFS)?
- [..]
-
- A1.5) What's Genetic Programming (GP)?
- Genetic Programming is the extension of the genetic model of learning
- into the space of programs. That is, the objects that constitute the
- population are not fixed-length character strings that encode
- possible solutions to the problem at hand, they are programs that,
- when executed, "are" the candidate solutions to the problem. These
- programs are expressed in genetic programming as parse trees, rather
- than as lines of code. Thus, for example, the simple program "a + b
- * c" would be represented as:
-
- +
- / \
- a *
- / \
- b c
-
- or, to be precise, as suitable data structures linked together to
- achieve this effect. Because this is a very simple thing to do in the
- programming language Lisp, many GPers tend to use Lisp. However, this
- is simply an implementation detail. There are straightforward methods
- to implement GP using a non-Lisp programming environment.
-
- The programs in the population are composed of elements from the
- FUNCTION SET and the TERMINAL SET, which are typically fixed sets of
- symbols selected to be appropriate to the solution of problems in the
- domain of interest.
-
- In GP the crossover operation is implemented by taking randomly
- selected subtrees in the individuals (selected according to fitness)
- and exchanging them.
-
- It should be pointed out that GP usually does not use any MUTATION as
- a GENETIC OPERATOR.
-
-
- A2) What can EAs do for you? What can't they do?
- In principle, EAs can compute any computable function, ie.
- everything a normal digital computer can do.
-
-
-
-
- Version 0.6 Posted: 20 August 1993 19
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- EAs are especially bad suited for problems that are already known how
- to solve, unless these problems are intended to serve as BENCHMARK
- PROGRAMS. Special purpose algorithms, ie. algorithms that have a
- certain amount of PROBLEM DOMAIN KNOWLEDGE hard coded in them, will
- usually outperform EAs, so there is no BLACK MAGIC in EC. EAs should
- be used when there is no other known problem solving strategy, and
- the problem domain is NP-complete. That's where EAs come into play:
- heuristically finding solutions where all else fails.
-
- Following is an incomplete (sic!) list of successful EA
- applications:
-
- TIMETABLING
- Another thing that has been addressed quite successfully with GAs is
- timetabling. A very common manifestation of this kind of problem is
- the timetabling of exams or classes in Universities, etc. At the
- Department of Artificial Intelligence, University of Edinburgh,
- timetabling the MSc exams is now done using a GA (Corne et al. 93,
- Fang 92). An example of the use of GAs for timetabling classes is
- (Abramson & Abela 1991).
-
- In the exam timetabling case, the fitness function for a genome
- representing a timetable involves computing degrees of punishment for
- various problems with the timetable, such as clashes, instances of
- students having to take consecutive exams, instances of students
- having (eg) three or more exams in one day, the degree to which
- heavily-subscribed exams occur late in the timetable (which makes
- marking harder), overall length of timetable, etc. The modular nature
- of the fitness function has the key to the main potential strength of
- using GAs for this sort of thing as opposed to using conventional
- search and/or constraint programming methods. The power of the GA
- approach is the ease with which it can handle arbitrary kinds of
- constraints and objectives; all such things can be handled as
- weighted components of the fitness function, making it easy to adapt
- the GA to the particular requirements of a very wide range of
- possible overall objectives . Very few other timetabling methods, for
- example, deal with such objectives at all, which shows how difficult
- it is (without GAs) to graft the capacity to handle arbitrary
- objectives onto the basic "find shortest- length timetable with no
- clashes" requirement. The proper way to weight/handle different
- objectives in the fitness function in relation to the general GA
- dynamics remains, however, an important research problem!
-
- GAs thus offer a combination of simplicity, flexibility & speed which
- competes very favorably with other approaches, but are unlikely to
- outperform knowledge-based (etc) methods if the best possible
- solution is required at any cost. Even then, however, hybridisation
- may yield the best of both worlds; also, the ease (if the hardware is
- available!) of implementing GAs in parallel enhances the possibility
- of using them for good, fast solutions to very hard timetabling and
- similar problems.
-
-
-
- Version 0.6 Posted: 20 August 1993 20
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- References
-
- (Corne et al. 93) D. Corne, H.-L. Fang, C. Mellish "Solving the
- Modular Exam Scheduling Problem with Genetic Algorithms". Proc. of
- 6th Int'l Conf. on Industrial and Engineering Applications of
- Artificial Intelligence & Expert Systems, ISAI, (to appear).
-
- (Fang 92) H.-L. Fang "Investigating GAs for scheduling", MSc
- Dissertation, University of Edinburgh Dept. of Artificial
- Intelligence, Edinburgh, UK.
-
- (Abramson & Abela 91) Abramson & Abela "A Parallel Genetic Algorithm
- for Solving the School Timetabling Problem'', Technical Report,
- Division of I.T., C.S.I.R.O, April 1991.
-
- JOB-SHOP SCHEDULING
- The Job-Shop Scheduling Problem (JSSP) is a very difficult NP-
- complete problem which, so far, seems best addressed by sophisticated
- branch and bound search techniques. GA researchers, however, are
- continuing to make progress on it. (Davis 85) started off GA
- research on the JSSP, (Whitley 89) reports on using the edge
- recombination operator (designed initially for the TSP) on JSSPs too.
- More recent work includes (Nakano 91),(Yamada & Nakano 92), (Fang et
- al. 93). The latter three report increasingly better results on
- using GAs on fairly large benchmark JSSPs (from Muth & Thompson 63);
- neither consistently outperform branch & bound search yet, but seem
- well on the way. A crucial aspect of such work (as with any GA
- application) is the method used to encode schedules. An important
- aspect of some of the recent work on this is that better results have
- been obtained by rejecting the conventional wisdom of using binary
- representations (as in (Nakano 91)) in favor of more direct
- encodings. In (Yamada & Nakano 92), for example, a genome directly
- encodes operation completion times, while in (Fang et al. 93) genomes
- represent implicit instructions for building a schedule. The success
- of these latter techniques, especially since their applications are
- very important in industry, should eventually spawn advances in GA
- theory.
-
- Concerning the point of using GAs at all on hard job-shop scheduling
- problems, the same goes here as suggested above for `Timetabling':
- The GA approach enables relatively arbitrary constraints and
- objectives to be incorporated painlessly into a single optimization
- method. It is unlikely that GAs will outperform specialized
- knowledge-based and/or conventional OR-based approaches to such
- problems in terms of raw solution quality, however GAs offer much
- greater simplicity and flexibility, and so, for example, may be the
- best method for quick high-quality solutions, rather than finding the
- best possible solution at any cost. Also, of course, hybrid methods
- will have a lot to offer, and GAs are far easier to parallelize than
- typical knowledge-based/OR methods.
-
-
-
-
- Version 0.6 Posted: 20 August 1993 21
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- Similar to the JSSP is the Open Shop Scheduling Problem (OSSP).
- (Fang et al. 93) reports an initial attempt at using GAs for this.
- Ongoing results from the same source shows reliable achievement of
- results within less than 0.23% of optimal on moderately large OSSPs
- (so far, up to 20x20), including an improvement on the previously
- best known solution for a benchmark 10x10 OSSP. A simpler form of job
- shop problem is the Flow-Shop Sequencing problem; recent successful
- work on applying GAs to this includes (Reeves 93)."
-
- References
-
- (Davis 85) L. Davis "Job-Shop Scheduling with Genetic Algorithms",
- [ICGA85], 136-140.
-
- (Muth & Thompson 63) J.F. Muth & GL. Thompson "Industrial
- Scheduling". Prentice Hall, Englewood Cliffs, NJ, 1963.
-
- (Nakano 91) R. Nakano "Conventional Genetic Algorithms for Job-Shop
- Problems", [ICGA91], 474-479.
-
- (Reeves 93) C.R. Reeves "A Genetic Algorithm for Flowshop
- Sequencing", Coventry Polytechnic Working Paper, Coventry, UK.
-
- (Whitley et al. 89) D. Whitley, T. Starkweather, D'Ann Fuquay
- "Scheduling Problems and Traveling Salesmen: The Genetic Edge
- Recombination Operator", [ICGA89], 133-140.
-
- (Fang et al. 93) H.-L. Fang, P. Ross, D. Corne "A Promising Genetic
- Algorithm Approach to Job - Shop Scheduling, Rescheduling & Open-Shop
- Scheduling Problems", [ICGA93], 375-382.
-
- (Yamada & Nakano 92) T. Yamada & R. Nakano "A Genetic Algorithm
- Applicable to Large-Scale Job-Shop Problems", [PPSN92], 281-290.
-
- MANAGEMENT SCIENCES
- "Applications of EA in management science and closely related fields
- like organizational ecology is a domain that has been covered by some
- EA researchers - with considerable bias towards scheduling problems.
- Since I believe that EA have considerable potential for applications
- outside the rather narrow domain of scheduling and related
- combinatorial problems, I started collecting references about the
- status quo of EA-applications in management science. This report
- intends to make available my findings to other researchers in the
- field. It is a short overview and lists some 230 references to
- current as well as finished research projects. [..]
-
- At the end of the paper, a questionnaire has been incorporated that
- may be used for this purpose. Other comments are also appreciated."
-
- --- from the Introduction of (Nissen 93)
-
-
-
-
- Version 0.6 Posted: 20 August 1993 22
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- References
-
- (Nissen 93) V. Nissen "Evolutionary Algorithms in Management Science:
- An Overview and List of References", Papers on Economics and
- Evolution, edited by the European Study Group for Evolutionary
- Economics. This report is also avail. via anon. ftp to
- gwdu03.gwdg.de in directory "pub/msdos/reports/wi", file "earef.eps".
-
- (Boulding 91) K.E. Boulding "What is evolutionary economics?",
- Journal of Evolutionary Economics, 1, 9-17.
-
- FURTHER APPLICATION(S)
- [..]
-
- References
-
- [..]
-
-
- A3) Who is concerned with EAs?
- Evolutionary Computation attracts researchers and people of quite
- dissimilar disciplines, ie. EC is a interdisciplinary research field:
-
- Computer scientists
- Want to find out about the properties of sub-symbolic information
- processing with EAs and about learning, ie. adaptive systems in
- general.
-
- They also build the hardware necessary to enable future EAs
- (precursors are already beginning to emerge) to huge real world
- problems, ie. the term "massively parallel computation" [HILLIS92],
- springs to mind.
-
- Engineers
- Of many kinds want to exploit the capabilities of EAs on many areas
- to solve their application, esp. optimization problems.
-
- Roboticists
- Want to build MOBOTs (MOBile RobOTs, ie. R2D2's and #5's cousins)
- that navigate through UNCERTAIN environments, without using built-in
- "maps". The MOBOTS thus have to adapt to their surroundings, and
- learn what they can do "move-through-door" and what they can't "move-
- through-wall" on their own by "trial-and-error".
-
- Cognitive scientists
- Might view CFS as a possible apparatus to describe models of thinking
- and cognitive systems.
-
- Physicists
- Use EC hardware, eg. Hillis' (Thinking Machine Corp.'s) Connection
- Machine to model real world problems which include thousands of
-
-
-
- Version 0.6 Posted: 20 August 1993 23
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- variables, that run "naturally" in parallel, and thus can be modelled
- more easily and esp. "faster" on a parallel machine, than on a
- serial "PC" one.
-
- Biologists
- In fact many working biologists are hostile to modeling, but an
- entire community of Population Biologists arose with the
- 'evolutionary synthesis' of the 1930's created by the polymaths R.A.
- Fisher, J.B.S. Haldane, and S. Wright. Wright's 'shifting balance'
- theory (balancing drift and selection in small POPULATIONS thereby
- avoiding local optima) is of current interest to both biologists and
- ECers -- populations are naturally parallel.
-
- A good exposition of current Population Biology modeling is J.
- Maynard Smith's text Evolutionary Genetics. Richard Dawkin's Selfish
- Gene and Extended Phenotype are unparalleled (sic!) prose expositions
- of evolutionary processes. Rob Collins' papers are excellent
- parallel GA models of evolutionary processes (available in ICGA91 and
- by ftp from ftp.cognet.ucla.edu "/pub/alife/papers").
-
- As fundamental motivation, consider Fisher's comment: "No practical
- biologist interested in [e.g.] sexual reproduction would be led to
- work out the detailed consequences experienced by organisms having
- three or more sexes; yet what else should [s/]he do if [s/]he wishes
- to understand why the sexes are, in fact, always two?" (Three sexes
- would make for even weirder grammar, [s/]he said...)
-
- Philosophers
- and some other really curious people may also be interested in EC for
- various reasons.
-
-
- A4) How many EAs exist? Which?
- The All Stars
- There are currently 3 main paradigms in EA research: Genetic
- Algorithms, Evolutionary Programming, and Evolution Strategies.
- Classifier Systems and Genetic Programming are offspring of the GA
- community. Besides this leading crop, there are numerous other
- different approaches, alongside to hybrid experiments, ie. there
- exist pieces of software that reside in some researchers computer,
- that have been described in papers of proceedings volumes, and may
- someday prove useful on a certain task. To stay in EA slang, we
- should think of these evolving strands as building blocks, that when
- recombined someday, will produce new offspring and give birth to new
- EA paradigm(s).
-
- Promising Rookies
- As far as "solving complex function and combinatorial optimization
- tasks" is concerned, Davis work on real-valued representations and
- adaptive operators should be mentioned (Davis 89). Moreover Whitley's
- GENITOR system incorporating ranking and "steady state" mechanism
-
-
-
- Version 0.6 Posted: 20 August 1993 24
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- (Whitley 89), Goldberg's "messy GAs", involves adaptive
- representations (Goldberg 91), and Eshelman's CHC algorithm (Eshelman
- 91).
-
- For "the design of robust learning systems", ie. the field
- characterized by CFS, Holland's (1986) classifier system, with it's
- state-of-the-art implementation CFS-C (Riolo 88), we should note
- recent developments in SAMUEL (Grefenstette 89), GABIL (De Jong &
- Spears 91), and GIL (Janikow 91).
-
- References
-
- (Davis 89) Davis, L. "Adapting operator probabilities in genetic
- algorithms", [ICGA89], 60-69.
-
- (Whitley 89) Whitley, D. et al. "The GENITOR algorithm and selection
- pressure: why rank-based allocation of reproductive trials is best",
- [ICGA89], 116-121.
-
- (Goldberg 91) Goldberg, D. et al. "Don't worry, be messy", [ICGA91],
- 24-30.
-
- (Eshelman 91) Eshelman, L.J. et al. "Preventing premature convergence
- in genetic algorithms by preventing incest", [ICGA91], 115-122.
-
- (Holland 86) Holland, J.H. "Escaping brittleness: The possibilities
- of general-purpose learning algorithms applied to parallel rule-based
- systems". In R. Michalski, J. Carbonell, T. Mitchell (eds), Machine
- Learning: An artificial Intelligence Approach. Los Altos: Morgan
- Kaufmann.
-
- (Riolo 88) Riolo, R.L. "CFS-C: A package of domain independent
- subroutines for implementing classifier systems in arbitrary, user-
- defined environments". Logic of computers group, Division of
- computer science and engineering, University of Michigan.
-
- (Grefenstette 89) Grefenstette, J.J. "A system for learning control
- strategies with genetic algorithms", [ICGA89], 183-190.
-
- (De Jong & Spears 91) De Jong KA. & Spears W. "Learning concept
- classification rules using genetic algorithms". Proc. 12th IJCAI,
- 651-656, Sydney, Australia: Morgan Kaufmann.
-
- (Janikow 91) Janikow C. "Inductive learning of decision rules from
- attribute-based examples: A knowledge-intensive genetic algorithm
- approach". TR91-030, The University of North Carolina at Chapel Hill,
- Dept. of Computer Science, Chapel Hill, NC.
-
- A4.1) What about Tierra, VENUS, etc.?
- None of these are Evolutionary Algorithms, but all of them use the
- evolutionary methaphora as their "playground". [..]
-
-
-
- Version 0.6 Posted: 20 August 1993 25
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- Tierra
- "This project involves inoculating the process of evolution into an
- artificial medium. Self-replicating machine code algorithms
- (``creatures'') are run on computers in which mutations occur in the
- form of bit flips. The result is evolution by natural selection. The
- project encompasses both biological and computational goals: To study
- the PROCESS of evolution in detail, through analysis of sequences of
- events and genetic changes. To observe the envelopes of evolutionary
- possibilities, both under identical and very different conditions. To
- understand what factors affect the shapes of phylogenetic trees. To
- understand what are the elements of evolvability in genetic
- languages. To understand what elements are required for an evolving
- system to spontaneously increase in diversity and complexity, as in
- the transition from single celled to multi-cellular life. To
- experiment with the control of evolution of machine code algorithms,
- for the purpose of breeding programs to do useful work. This work
- will lead to a greater understanding of the process of evolution, and
- to the possible forms that life may take on throughout the universe.
- In addition, it may provide a means (through evolution) of developing
- the software of the future, particularly software for massively
- parallel computers."
-
- --- from: "A Proposal: Evolution of Digital Organisms" by Thomas S.
- Ray (1992)
-
- Tierra by snail mail?
- Send a check for $65 US (drawn on an American bank), to:
- Virtual Life
- P.O. Box 625
- Newark, Delaware, 19715, USA
- (specify 3.5" or 5.25" disks)
-
- VENUS
- Steen Rasmussen's (et al.) VENUS I+II "coreworlds" as described in
- [ALIFEII] and [LEVY92], are inspired by A.K. Dewdney's well-known
- article (Dewdney 1984). Dewdney proposed a game called "Core Wars",
- in which hackers create computer programs that battle for control of
- a computer's "core" memory. Since computer programs are just
- patterns of information, a successful program in core wars is one
- that replicates its pattern within the memory, so that eventually
- most of the memory contains its pattern rather than that of the
- competing program.
-
- VENUS is a modification of Core Wars in which the Computer programs
- can mutate, thus the pseudo assembler code creatures of VENUS evolve
- steadily. Furthermore each memory location is endowed with
- "resources" which, like sunshine are added at a steady state. A
- program must have sufficient resources in the regions of memory it
- occupies in order to execute. The input of resources determines
- whether the VENUS ecosystem is a "jungle" or a "desert." In jungle
- environments, Rasmussen et al. observe the spontaneous emergence of
-
-
-
- Version 0.6 Posted: 20 August 1993 26
-
-
-
-
-
-
-
- FAQ(1/3) ANSWERS FAQ(1/3)
-
-
-
- primitive "copy/split" organisms starting from (structured) random
- initial conditions.
-
- --- stripped from (Farmer & Belin 92), p.821
-
- (Dewdney 84) "Computer Recreations: In the Game called Core War
- Hostile Programs Engage in a Battle of Bits", Sci. Amer. 250(5),
- 14-22.
-
- (Farmer & Belin 92) "Artificial Life: The Coming Evolution",
- [ALIFEII], 815-840.
-
- (Rasmussen, et al. 90) "The Coreworld: Emergence and Evolution of
- Cooperative Structures in a Computational Chemistry", [FORREST90],
- 111-134.
-
- (Rasmussen, et al. 92) "Dynamics of Programmable Matter", [ALIFEII],
- 211-254.
-
- PolyWorld
- Larry Yaeger's PolyWorld as described in [ALIFEIII] and [LEVY92] is
- available via anonymous ftp from ftp.apple.com in directory
- "/pub/polyworld".
-
- "The subdirectories in this "polyworld" area contain the source code
- for the PolyWorld ecological simulator, designed and written by Larry
- Yaeger, and Copyright 1990, 1991, 1992 by Apple Computer.
-
- PostScript versions of my Artificial Life III technical paper have
- now been added to the directory. These should be directly printable
- from most machines. Because some unix systems' "lpr" commands cannot
- handle very large files (ours at least), I have split the paper into
- Yaeger.ALife3.1.ps and Yaeger.ALife3.2.ps. These files can be ftp-ed
- in "ascii" mode. For unix users I have also included compressed
- versions of both these files (indicated by the .Z suffix), but have
- left the uncompressed versions around for people connecting from non-
- unix systems. I have not generated PostScript versions of the
- images, because they are color and the resulting files are much too
- large to store, retrieve, or print. Accordingly, though I have
- removed a Word-formatted version of the textual body of the paper
- that used to be here, I have left a Word-formatted version of the
- color images. If you wish to acquire it, you will need to use the
- binary transfer mode to move it to first your unix host and then to a
- Macintosh (unless Word on a PC can read it - I don't know), and you
- may need to do something nasty like use ResEdit to set the file type
- and creator to match those of a standard Word document (Type = WDBN,
- Creator = MSWD). [..]"
-
- --- from the README by Larry Yaeger <larryy@apple.com>
-
-
-
-
-
- Version 0.6 Posted: 20 August 1993 27
-
-
-
-