Introduction to Evolutionary Computing (EC) Chapter 1 A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Contents (I) What is EC? Positioning of EC and the basic EC metaphor Historical perspective Biological inspiration: – Darwinian evolution theory (simplified!) – Genetics (three fundamental features of biological evolution) Particulate genes and population genetics The adaptive genetic code The Genotype/Phenotype Dichotomy A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Contents (II) Traditional variants of EC Motivation for EC What can EC do: examples of application areas Demo: evolutionary magic square solver A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction What is EC? (1) Evolutionary Computing is a relatively new research direction, of great importance both theoretically and especially in terms of applications viewpoint. Although the history of evolutionary computation dates back to the 1950s and 1960s, only within the last decade have evolutionary algorithms became practicable for solving real-world problems on desktop computers. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction What is EC? (2) Evolutionary computing began by lifting ideas from biological evolutionary theory into computer science, and continues to look toward new biological research findings for inspiration. Darwin’s principle “Survival of the fittest” can be used as a starting point in introducing evolutionary computation. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction What is EC? (3) Evolutionary Computation is the research field belonging to Artificially Intelligence. Fogel (1995) declared Artificial Intelligence as “They solve problems, but they do not solve the problem of how to solve problems.” In contrast, Evolutionary Computation: “provides a method for solving the problem of how to solve problems”. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Traditional variants of EC. EC deals with a range of problem-solving techniques based on principles of biological evolution, such as natural selection and genetic inheritance. EC studies basic principles of genetic algorithms (GA), evolutionary programming (EP), evolution strategy (ES), genetic programming (GP). Other researchs: Genetic Chromodynamics, Linear Classification Systems, Codificarea Delta, Algoritmi Genetici Dezordonați A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Different Views of EC/EA/GA/EP The techniques and technology that is discussed in this course can be viewed as: An approach to computational intelligence and for soft computing A search / optimization paradigm As an approach for machine learning As a method to simulate biological systems As a subfield of artificial life As generators for new ideas, new designs and for music and computer art A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Universe Borg Vogons Art Life Sciences etc Biotop Society Stones & Seas etc Science Politics Sports etc Social Sciences Mathematics Earth Exact Sciences etc Physics Computer Science etc Software Engineering Computational Intelligence etc You are here Neural Nets Evolutionary Computing Fuzzy Systems A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Positioning of EC EC is part of computer science EC is not part of life sciences/biology Biology delivered inspiration and terminology EC can be applied in biological research A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction EC as Search Search Techniques Backtracking HillClimbing Simulated A* Annealing EC A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction EC as Machine Learning Machine Learning Learning from Examples Reinforcement Learning Classifier Systems A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction EC as Randomized Algorithms Algorithms Randomized Algorithms EC Deterministic Algorithms A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction The Main Evolutionary Computing Metaphor EVOLUTION PROBLEM SOLVING Environment Problem Individual Fitness Population Chromosome Gene Candidate Solution Quality Set of potential solutions Encoding of potential solutions Part of encoding Fitness chances for survival and reproduction Quality chance for seeding new solutions A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Brief History 1: the ancestors Darwin, Mendel and the Modern Synthesis 1859 - publication of the ‘Origin of Species’ by Charles Darwin – – 1865 - Gregor Mendel presents his work on ‘Experiments in Plant Hybridisation’ – Explained evolution as due to natural selection acting on heritable variation Very similar ideas proposed by A. R. Wallace at about the same time Demonstrated the particulate nature of inheritance (Darwin had assumed it was blending) These two achievements together paved the way for the ‘Modern Synthesis’… A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction The Modern Synthesis (aka neo-Darwinism) One problem that had worried Darwin was ‘regression’ of traits – – – Darwin assumed blending of heritable material Hence the ‘value’ of any trait would tend to converge in a population as evolution progressed The resulting lack of variation in the population would give natural selection nothing to act on, so evolution would stall Mendel’s results went un-noticed by evolutionists for about 30 years A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction The Modern Synthesis (continued) Once rediscovered, Mendel’s laws of particulate (i.e. genetic) inheritance were incorporated into Darwinian evolutionary theory The result was the ‘modern synthetic theory of evolution’, or ‘neo-Darwinism’ – – Emphasizes natural selection acting on genetic variation in populations Primarily mathematical in nature, modeling gene spread in populations Population genetics Quantitative genetics Subsequently, the physical basis of particulate inheritance was found Discovery of DNA by James Watson and Francis Crick, 1962 Nobel Laureates in Medicine A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction The Emergence of Evolutionary Computing Evolutionary ideas (using simulated evolution to solve engineering and design problems) were being applied in optimization as early as the mid 20th century, e.g. – – Box (1957) Evolutionary operation: a method for increasing industrial productivity. Applied Statistics 6, 81-101 Bremermann (1962) Optimization through evolution and recombination. In: SelfOrganizing Systems. In the 1970’s Genetic Algorithms became a prominent research area – John Holland presented a mathematical definition of GAs, and theory explaining their performance – Holland (1975) Adaptation in Natural and Artificial Systems Holland was mainly interested in adaptive systems, but his student Ken De Jong catalyzed research on for GAs for optimization, formulating a test suite of problems De Jong (1975) An Analysis of the Behavior of a Class of Genetic Adaptive Systems. PhD thesis, University of Michigan A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Brief History 2: the ancestors • 1948, Turing: proposes “genetical or evolutionary search” • 1962, Bremermann optimization through evolution and recombination • 1964, Rechenberg introduces evolution strategies • 1965, L. Fogel, Owens and Walsh introduce evolutionary programming • 1975, Holland introduces genetic algorithms • 1992, Koza introduces genetic programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction A Brief History (2) of Evolutionary Computation (cont.) The designers of each of the EC techniques saw that their particular problems could be solved via simulated evolution. – – – Fogel was concerned with solving prediction problems. Rechenberg & Schwefel were concerned with solving parameter optimization problems. Holland was concerned with developing robust adaptive systems. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction A Brief History (2) of Evolutionary Computation (cont.) Each of these researchers successfully developed appropriate ECs for their particular problems independently. In the US, Genetic Algorithms have become the most popular EC technique due to a book by David E. Goldberg (1989) entitled, “Genetic Algorithms in Search, Optimization & Machine Learning”. This book explained the concept of Genetic Search in such a way the a wide variety of engineers and scientist could understand and apply. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction A Brief History of Evolutionary Computation (cont.) However, a number of other books helped fuel the growing interest in EC: – – – – Lawrence Davis’, “Handbook of Genetic Algorithms”, (1991), Zbigniew Michalewicz’ book (1992), “Genetic Algorithms + Data Structures = Evolution Programs”. John R. Koza’s “Genetic Programming” (1992) D. B. Fogel’s 1995 book entitled, “Evolutionary Computation: Toward a New Philosophy of Machine Intelligence”. These books not only fueled interest in EC but they also were instrumental in bringing together the EP, ES, and GA concepts together in a way that fostered unity and an explosion of new and exciting forms of EC. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Brief History 3: The rise of EC • 1985: first international conference (ICGA) • 1990: first international conference in Europe (PPSN) • 1993: first scientific EC journal (MIT Press) • 1997: launch of European EC Research Network EvoNet A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction EC in the early 21st Century • 3 major EC conferences, about 10 small related ones • 3 scientific core EC journals • 750-1000 papers published in 2003 (estimate) • EvoNet has over 150 member institutes • uncountable (meaning: many) applications • uncountable (meaning: ?) consultancy and R&D firms A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Darwinian Evolution 1: Survival of the fittest All environments have finite resources (i.e., can only support a limited number of individuals) Lifeforms have basic instinct / lifecycles geared towards reproduction Therefore some kind of selection is inevitable. Competitionbased selection is one of the two cornerstones of evolutionary progress. Those individuals that compete for the resources most effectively have increased chance of reproduction Note: fitness in natural evolution is a derived, secondary measure, i.e., we (humans) assign a high fitness to individuals with many offspring A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Darwinian Evolution 2: Diversity drives change Phenotypic traits: – – – Behaviour / physical differences that affect response to environment Partly determined by inheritance, partly by factors during development Unique to each individual, partly as a result of random changes If phenotypic traits: – – Lead to higher chances of reproduction Can be inherited then they will tend to increase in subsequent generations, leading to new combinations of traits … A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Darwinian Evolution: Summary Population consists of diverse set of individuals Combinations of traits that are better adapted tend to increase representation in population Individuals are “units of selection” Variations occur through random changes yielding constant source of diversity, coupled with selection means that: Population is the “unit of evolution” Note the absence of “guiding force” A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Adaptive landscape metaphor (Wright, 1932) • Can envisage population with n traits as existing in a n+1-dimensional space (landscape) with height corresponding to fitness • Each different individual (phenotype) represents a single point on the landscape • Population is therefore a “cloud” of points, moving on the landscape over time as it evolves - adaptation A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Example with two traits A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Adaptive landscape metaphor (cont’d) •Selection “pushes” population up the landscape •Genetic drift: • random variations in feature distribution (+ or -) arising from sampling error • can cause the population “melt down” hills, thus crossing valleys and leaving local optima A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Natural Genetics The information required to build a living organism is coded in the DNA of that organism. The main role of DNA molecules is the long-term storage of information. O moleculă de ADN conține zone numite gene Structura ADN-ului este unică nu numai pentru o specie anume ci și pentru orice individ al oricărei specii animale sau vegetale. La om ADN-ul conține circa 3,27 miliarde de perechi de baze (3,27 miliarde de „trepte” în helixul dublu). A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Genotype vs. Phenotype "Genotype" is an organism's full hereditary information, even if not expressed. "Phenotype" is an organism's actual observed properties, such as morphology, development, or behavior. Genotype (DNA inside) determines phenotype Genes are the functional units of inheritance encoding phenotypic traits (characteristics); is a complex mapping – One gene may affect many traits (pleiotropy) – Many genes may affect one trait (polygeny) Small changes in the genotype lead to small changes in the organism (e.g., height, hair colour) A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction The 8 queens problem: representation Phenotype: a board configuration Genotype: a permutation of the numbers 1 - 8 Obvious mapping 1 3 5 2 6 4 7 8 A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Genes and the Genome Genes are encoded in strands of DNA called chromosomes In most cells, there chromosome (diploidy) The complete genetic material in an individual’s genotype is called the Genome Within a species, most of the genetic material is the same are two copies of each A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Example: Homo Sapiens Human DNA is organised into chromosomes Human body cells contains 23 pairs of chromosomes which together define the physical attributes of the individual: A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Reproductive Cells Gametes (sperm and egg cells) contain 23 individual chromosomes rather than 23 pairs Cells with only one copy of each chromosome are called Haploid Gametes are formed by a special form of cell splitting called meiosis During meiosis the pairs of chromosome undergo an operation called crossing-over A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Crossing-over during meiosis Chromosome pairs align and duplicate Inner pairs link at a centromere and swap parts of themselves Outcome is one copy of maternal/paternal chromosome plus two entirely new combinations After crossing-over one of each pair goes into each gamete A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Fertilisation Sperm cell from Father Egg cell from Mother New person cell (zygote) A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction After fertilisation New zygote rapidly divides etc creating many cells all with the same genetic contents Although all cells contain the same genes, depending on, for example where they are in the organism, they will behave differently This process of differential behaviour during development is called ontogenesis All of this uses, and is controlled by, the same mechanism for decoding the genes in DNA A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Genetic code (I) • All proteins in life on earth are composed of sequences built from 20 different amino acids (alanină, valină, leucină, izoleucină, prolină, triptofan, fenilalanină, metionină, glicocol, serină, treonină, tirozină, asparagină, glutamină, cisteină, acid aspartic, acid glutamic, arginină, lisină, histidină (acesta din urmă constituie un aminoacid esențial pentru copiii cu vârsta sub 1 an). Dintre aceștia, 8 sunt esențiali, adică nu pot fi produși de organismul uman și trebuie aduși din exterior, prin alimentație (valina, leucina, izoleucina, triptofanul, fenilalanina, metionina, lisina și treonina).) • DNA is built from four nucleotides in a double helix spiral: purines A,G; pyrimidines T,C • Triplets of these form codons, each of which codes for a specific amino acid. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Genetic code (II) • All proteins in life on earth are composed of sequences built from 20 different amino acids • DNA is built from four nucleotides in a double helix spiral: purines A,G; pyrimidines T,C • Triplets of these form codons, each of which codes for a specific amino acid • Much redundancy: • • • • purines complement pyrimidines the DNA contains much rubbish 43=64 codons code for 20 amino acids Genetic code = the mapping from codons to amino acids • For all natural life on earth, the genetic code is the same ! The Genetic Code (DNA) A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Genetic code (III) TTT Phe TCT Ser TAT Tyr TGT Cys TTC Phe TCC Ser TAC Tyr TGC Cys TTA Leu TCA Ser TAA STOP TGA STOP TTG Leu TCG Ser TAG STOP TGG Trp CTT Leu CCT Pro CAT His CGT Arg CTC Leu CCC Pro CAC His CGC Arg CTA Leu CCA Pro CAA Gln CGA Arg CTG Leu CCG Pro CAG Gln CGG Arg ATT Ile ACT Thr AAT Asn AGT Ser ATC Ile ACC Thr AAC Asn AGC Ser ATA Ile ACA Thr AAA Lys AGA Arg ATG Met* ACG Thr AAG Lys AGG Arg GTT Val GCT Ala GAT Asp GGT Gly GTC Val GCC Ala GAC Asp GGC Gly GTA Val GCA Ala GAA Glu GGA Gly GTG Val GCG Ala GAG Glu GGG Gly A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Transcription, translation A central claim in molecular genetics: only one way flow Genotype Phenotype Genotype Phenotype Lamarckism (saying that acquired features can be inherited) is thus wrong! A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Mutation Occasionally some of the genetic material changes very slightly during this process (replication error) This means that the child might have genetic material information not inherited from either parent This can be – catastrophic: offspring in not viable (most likely) – neutral: new feature not influences fitness – advantageous: strong new feature occurs Redundancy in the genetic code forms a good way of error checking A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Motivations for EC: 1 Nature has always served as a source of inspiration for engineers and scientists The best problem solver known in nature is: – the (human) brain that created “the wheel, New York, wars and so on” (after Douglas Adams’ HitchHikers Guide) – the evolution mechanism that created the human brain (after Darwin’s Origin of Species) Answer 1 neurocomputing Answer 2 evolutionary computing A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Motivations for EC: 2 – technical view • Developing, analyzing, applying problem solving methods a.k.a. algorithms is a central theme in mathematics and computer science • Time for thorough problem analysis decreases • Complexity of problems to be solved increases • Consequence: Robust problem solving technology needed Paralel and distributed systems evaluated on HPC or LAN A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Problem types solved by EC In terms of starting ideas and applications, Evolutionary Computing highlights two aspects: – use ideas and concepts of complex adaptive systems to solve computational problems (search, optimization) – use computers and computational models in order to model complex adaptive systems EC developed methods are general, independent of the problem, and the criterion function The advantage of evolutionary algorithms includes its ability to address problems for which there is no human expertise. From the optimization point of view, the main advantage of EC techniques is that they do not have much mathematical requirements about the optimization problems. All they need is an evaluation of the objective function. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Problem type 1 : Optimisation We have a model of our system and seek inputs that give us a specified goal e.g. Traveling Salesman Problem – time tables for university, call center, or hospital – design specifications, Automated DSE, etc – A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Optimisation example 1: University timetabling Enormously big search space Timetables must be good “Good” is defined by a large number of competing criteria (students view, professors view, university management view) Timetables must be feasible (no clashes) Vast majority infeasible of search space is A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Optimisation example 2: Satellite structure Optimised satellite designs for NASA to maximize vibration isolation Evolving: design structures Fitness: vibration resistance Evolutionary “creativity” A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Problem types 2: Modelling We have corresponding sets of inputs & outputs and seek model that delivers correct output for every known input • Evolutionary machine learning A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Modelling example: loan applicant creditability British bank evolved creditability model to predict loan paying behavior of new applicants Evolving: prediction models Fitness: model accuracy based on historical data A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Problem type 3: Simulation We have a given model and wish to know the outputs that arise under different input conditions Often used to answer “what-if” questions in evolving dynamic environments e.g. Evolutionary economics, Artificial Life A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Simulation example: evolving artificial societies Simulating trade, economic competition, etc. to calibrate models Use models to optimize strategies and policies Evolutionary economy Survival of the fittest is universal (big/small fish) A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Simulation example 2: biological interpretations Incest prevention keeps evolution from rapid degeneration (we knew this) Multi-parent reproduction, makes evolution more efficient (this does not exist on Earth) A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Application of Evolutionary Computation Evolutionary Computing has been successfully applied to a wide range of problems including: – Aircraft Design, – Routing in Communications Networks, – Tracking Windshear, – Game Playing (Checkers) – Medicine (for example in breast cancer detection) – Engineering application (including electrical,mechanical, civil, production, aeronautical and robotics) A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Application of Evolutionary Computing (cont.) Air Traffic Control, (Automatic) Design (Space Exploration) in Computer Architecture, Scheduling (Traveling salesman problem) Machine Learning, Expert system, Machine intelligence Pattern Recognition, Job Shop Scheduling, VLSI Circuit Layout, Strike Force Allocation (strategy problem), A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Application of Evolutionary Computing (cont.) Theme Park Tours (Disney Land/World) http://www.TouringPlans.com Market Forecasting, Egg Price Forecasting, Design of Filters and Barriers, Data-Mining, User-Mining, Resource Allocation, Path Planning, Etc. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Demonstration: magic square Given a 10x10 grid with a small 3x3 square in it Problem: arrange the numbers 1-100 on the grid such that – all horizontal, vertical, diagonal sums are equal (505) – a small 3x3 square forms a solution for 1-9 A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Demonstration: magic square Evolutionary approach to solving this puzzle: Creating random begin arrangement Making N mutants of given arrangement Keeping the mutant (child) with the least error Stopping when error is zero A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Introduction Demonstration: magic square • Software by M. Herdy, TU Berlin • Interesting parameters: • Step1: small mutation, slow & hits the optimum • Step10: large mutation, fast & misses (“jumps over” optimum) • Mstep: mutation step size modified on-line, fast & hits optimum • Start: double-click on icon below • Exit: click on TUBerlin logo (top-right)