Presentation on theme: "Universal Darwinism: How Computer Science has Validated the Theory of Evolution Don Baker September 2, 2007 Lonestar Mensa."— Presentation transcript:
Universal Darwinism: How Computer Science has Validated the Theory of Evolution Don Baker September 2, 2007 Lonestar Mensa
About the Speaker Ph.D. in Computer Science Work for a telecommunications company as a researcher in the field of Computer-Supported Cooperative Work (CSCW) Adjunct Assistant Professor, Computer Science at UT – Taught the theory of computation Vice President of the Atheist Community of Austin Interests include atheism, memetics, evolutionary biology Disclaimer: I have no professional expertise in biology.
Why I'm Giving this Talk Interest in Alan Turing and his contributions – Turing is considered the father of Computer Science – Laid the foundations of computability and its power and limitations – Turing Machines as problem solvers – In 1948, Turing suggested that evolution may be an alternate way to generate a problem solving mechanism: “There is the genetical or evolutionary search by which a combination of genes is looked for, the criterion being the survival value.” Interest in evolutionary biology and its application to other areas – Richard Dawkins advanced the concepts of replicators and memes The advance of the Intelligent Design movement – Despite a lack of evidence for ID, it has gotten a lot of traction – Much of the traction among the lay audience is because the theory of evolution requires some thinking and imagination—it’s not an immediately compelling explanation – ID has effectively traded in building doubt in this “gap”
Why Evolution is not Compelling (in an “armchair reasoning” sense) So much apparent design in living things – Amazing complexity within organisms eyes, sonar, wings, camouflage, hunting strategies – Stunning diversity of species The gist of Darwin’s theory is very simple People generally cannot reason about the vast amounts of time involved “How can something so simple create something so complex in so little time?”
Evolution is Difficult to Study Experimentally Need a controlled environment with many organisms that are given a chance to evolve over many generations But we have learned: – Animal husbandry and agronomy have yielded important practical results Dog breeds Hybrid crops – We have seen evolution in bacteria and other species
How Might Computer Science Help? One definition of computer science: Constructive models of the world and their implications. Evolution is effectively an algorithm Computers can be used to create virtual environments in which simulations can run at speeds faster than their biological counterparts
Recasting the Problem Can we capture the essence of evolution in a simulation and, by inference, learn about the potential of evolution? In particular, is evolution alone able to create complex designs? Can diverse designs be created, perhaps with different characteristics?
What is the Essence of Evolution? Outward traits as an expression of instructions – Phenotype determined by genotype – Genotype may either be a blueprint or a recipe Instruction inheritance from parent(s) to child – Genotypic inheritance – The possibility of copying mistakes (mutation) Culling of individuals through natural selection based on a fitness criteria applied to outward traits – i.e. death vs. having lots of offspring – Competition for resources – Better instructions become more prevalent over time Evolution really operates on the instructions.
Outward Traits as an Expression of Instructions Instructions are digitally encoded Instructions are drawn from a “space” of possibilities Examples: – Cooking recipe The dish it describes – Architectural blueprint The building it describes – A game playing strategy A game where one side uses it – Computer program Output or other behavior – Electronic circuit diagram Signal response of the physical circuit
Instruction Inheritance from Parent(s) to Child High-fidelity (digital) copy, but not perfect – “Telephone” game vs. computer viruses – Instructions with mistakes have some possibility of generating a viable result Sexual (crossover) or asexual inheritance Mechanism of copying is not important – In computer simulations, inheritance is performed explicitly A set of instructions need only have a slight positive effect on the prevalence of instructions in future generations
Natural Selection on External Traits Continued existence of an individual is based on a fitness criteria as measured on the external traits – No “intelligent designer” making choices – More “fit” individuals generate more offspring – Even a large amount of random chance is ok The fitness criteria creates a landscape over the instruction space Natural selection can be likened to hill climbing (optimization)
Fitness Criteria In a computer simulation, the fitness criteria ranks the possible results according to some fixed metric – Speed, cost, size, etc. – Even simplicity or elegance (if they can be quantified) – Any combination of the above In biological evolution, the fitness criteria is just the fecundity of the individual – Changes in selection pressure due to weather, catastrophes, continental drift, etc. – Changes in selection pressure due to the evolution of other species (co-evolution)
Capturing Evolution in a Genetic Algorithm (GA) A genetic algorithm is a probabilistic search algorithm that iteratively transforms a set (called a population) of mathematical objects (typically fixed-length binary character strings), each with an associated fitness value, into a new population of offspring objects using the Darwinian principle of natural selection and using operations that are patterned after naturally occurring genetic operations, such as crossover (sexual recombination) and mutation. -- Koza
Genetic Algorithms Can Solve a Large Variety of Problems Relate the problem to an instruction space (genome) – e.g. all possible electronic circuits involving resistors, capacitors, inductors of standard values Create a means of random mutation and possibly crossover inheritance – e.g. Alter the circuit by adding or removing a component or changing value Create a fitness criteria as a function of the instruction space – e.g. “the least squares distance in frequency response of the circuit compared with the idealized frequency response of an amplifier” Start with an “Eve” individual from the instruction space – e.g. a circuit with no components Run the GA and wait – May want to define a termination criteria based on a “good enough” result – Might still have to wait many generations (hundreds to thousands) Note that the GA hasn’t been told how to design, but the winners in this race are solution designs.
Areas Where GAs have been Applied Acoustics Aerospace engineering Astronomy and astrophysics Chemistry Electrical engineering Financial markets Game playing Geophysics Materials engineering Mathematics and algorithmics Military and law enforcement Molecular biology Pattern recognition and data mining Robotics Routing and scheduling Systems engineering
Hemispherical Coverage Antenna …a circularly polarized seven-segment antenna with hemispherical coverage. Each individual in the GA consisted of a binary chromosome specifying the three- dimensional coordinates of each end of each wire. Fitness was evaluated by simulating each candidate according to an electromagnetic wiring code, and the best- of-run individual was then built and tested. The authors describe the shape of this antenna, as "unusually weird" and "counter- intuitive" (p.52), yet it had a nearly uniform radiation pattern with high bandwidth both in simulation and in experimental testing, excellently matching the prior specification.
Load-bearing Truss …that could be assembled in orbit and used for satellites, space stations and other aerospace construction projects. The result, a twisted, organic-looking structure that has been compared to a human leg bone, uses no more material than the standard truss design but is lightweight, strong and far superior at damping out damaging vibrations, as was confirmed by real-world tests of the final product.
Lowpass Filter Circuit Lowpass filter frequency response Evolved Campbell Filter (U. S. patent 1,227,113 George Campbell American Telephone and Telegraph 1917)
Acoustics Sato et al. 2002Sato et al used genetic algorithms to design a concert hall with optimal acoustic properties, maximizing the sound quality for the audience, for the conductor, and for the musicians on stage. This task involves the simultaneous optimization of multiple variables. Beginning with a shoebox-shaped hall, the authors' GA produced two non-dominated solutions, both of which were described as "leaf-shaped" (p.526). The authors state that these solutions have proportions similar to Vienna's Grosser Musikvereinsaal, which is widely agreed to be one of the best - if not the best - concert hall in the world in terms of acoustic properties.
Robocup Autonomous Robot Soccer Controller To solve this difficult problem, Andre and Teller provided the genetic programming algorithm with a set of primitive control functions such as turning, moving, kicking, and so on. Out of 34 teams in its division, Darwin United ultimately came in 17th, placing squarely in the middle of the field and outranking half of the human-written entries. A (human designed) entry
Are the Designs “Intelligent”? How do we measure the intelligence of a non- human designer? Can compare against human performance Are humans intelligent? …sometimes Rephrasing: “Can GAs create human- competitive designs?”
Eight Possible Criteria for Human- Competitiveness (Koza) The result was patented as an invention in the past, is an improvement over a patented invention, or would qualify today as a patentable new invention. The result is equal to or better than a result that was accepted as a new scientific result at the time when it was published in a peer-reviewed scientific journal. The result is equal to or better than a result that was placed into a database or archive of results maintained by an internationally recognized panel of scientific experts. The result is publishable in its own right as a new scientific result—independent of the fact that the result was mechanically created. The result is equal to or better than the most recent human-created solution to a long-standing problem for which there has been a succession of increasingly better human-created solutions. The result is equal to or better than a result that was considered an achievement in its field at the time it was first discovered. The result solves a problem of indisputable difficulty in its field. The result holds its own or wins a regulated competition involving human contestants (in the form of either live human players or human-written computer programs).
To Date, 36 Human-Competitive Results Have Been Obtained According to the criteria just given Several new patents have been generated Many designs are considered counterintuitive or not well understood by experts in the field from which the design is drawn
Improving on Genetic Algorithms Improving on nature – Many variations on inheritance mechanism are being considered by the GA community GAs are computationally expensive, but inherently parallel – Many challenges to build efficient GAs and computer hardware to support them GAs over computer programs are called Genetic Programming – Most general type of GA, as most design problems can be expressed in the form of a computer program
Genetic Programming (Evolution of computer programs) Program represented as parse tree in GP Mutations involve random changes to parse tree including – Localized statement changes – Structural rearrangements – Duplication of subtrees – Changing sub-trees into routines – Etc. Phenotype is the behavior of the running program Fitness measured by comparison of actual output to desired output for a given input
Genetic Programming is a General Problem Solving Technique Computer programs can solve entire classes of problems (i.e. Universal Turing Machine) But programs have to be designed In 1948, Turing suggested that evolution may be a way to generate a problem solving mechanism The “General Problem Solver” has been something of a holy grail of computer science research – Work in this area has spawned the field of artificial intelligence This important goal has been achieved!
Universal Darwinism Darwin’s theory applies to more than just biological evolution Evolution alone is able to create complex designs to a diversity of problems Application of Darwinian evolution within Computer Science has provided a powerful validation of his theory Genetic Programming is a general problem solving technique that has resulted from Darwin’s ideas
Parting Shot “Once a Darwinian process gets going in a world, it has an open-ended power to generate surprising consequences: us, for example.” –Richard Dawkins
Further Exploration (My material came primarily from these sources) “Evolving Inventions”, Koza, et. al. – Scientific American, February 2003 Genetic Programming web site (Koza’s work) – “Genetic Algorithms and Evolutionary Computation” by Adam Marczyk available via the Talk Origins archives – “Does Intelligent Design Require a Creator?” by Don Baker –
Richard Dawkins’ Biomorphs Introduced in “The Blind Watchmaker” Example Creatures Use the Program to Play God
Controversies Real evolution doesn’t have a goal Isn’t defining the fitness criteria in effect “playing God”? There is “design” in the starting point No new information is being generated
Response to the ID Proponents If something is a science then: – Predictions can be made from it – Technology can arise from it – Benefits to mankind can be derived Paley’s watchmaker argument (~1802) is older than the theory of Evolution (~1859) – ID/creationism has born no technologic fruit Evolution has made advances in biology and other fields, including computer science