62
The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst http://hampshire.edu/lspector

The Future of Genetic Programming - Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Embed Size (px)

Citation preview

Page 1: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

The Future of Genetic Programming

Lee SpectorCognitive Science, Hampshire CollegeComputer Science, UMass Amherst

http://hampshire.edu/lspector

Page 2: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Outline

• Genetic programming

• Past and present

• Future

• for solving problems

• for advancing science and technology

• for understanding life

• Risks

Page 3: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Background• B.A., Oberlin College: Philosophy, Music/Art Technology

• Ph.D., U. Maryland, College Park: Computer Science (AI)

• Professor of Computer Science and Director, Institute for Computational Intelligence, Hampshire College. Past: Dean, Cognitive Science; MacArthur Chair; Co-chair, Re-visioning Committee; Faculty Trustee; Co-director of the Design, Art and Technology program; Member, Governance Task Force, Educational Policy Committee, etc.

• Adjunct Professor of Computer Science, U. Massachusetts, Amherst

• Editor-in-Chief, Genetic Programming and Evolvable Machines (Springer)

• Executive Committee, ACM-SIGEVO

Page 4: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 5: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Grants• Google: CS Engagement Award, Programming for Science• NSF: Human-Competitive Evolutionary Computation • NSF: Four College Biomath Consortium • NSF: Evolution of Robustly Intelligent Computational Systems • Sherman Fairchild Foundation: Design, Art, and Technology• NSF CreativeIT: The Computational Creativity Curriculum• NSF Director’s Award for Distinguished Teaching Scholars: Open-Ended

Evolution in Visually Rich Virtual Worlds• NSF, MRI/RUI: Acquisition of Instrumentation for Research in Genetic

Programming, Quantum Computation, and Distributed Systems• DARPA Agent Based Computing: Multi-type, Self-adaptive Genetic

Programming for Complex Applications• NSF Learning and Intelligent Systems: Inquiry-Based Science Education:

Cognitive Measures and Systems Support

Page 6: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Not GP• What, if anything, is a Wolf?

• Planning, Neuropsychology, and Artificial Intelligence: Cross-Fertilization

• Group size, individual role differentiation and effectiveness of cooperation in a homogeneous group of hunters

• Behind every innovative solution lies an obscure feature

• Wolf-pack (Canis lupus) hunting strategies emerge from simple rules in computational simulations

• Genetic Stability and Territorial Structure Facilitate the Evolution of Tag-mediated Altruism

• Hierarchy Helps it Work That Way

• Partial and total-order planning: evidence from normal and prefrontally damaged populations

Page 7: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming

• Evolution of computer programs

• for solving problems

• for advancing science and technology

• for understanding life

Page 8: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming

• Active evolution of computer programs

• for solving problems

• for advancing science and technology

• for understanding life

Page 9: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming

• Active evolution of computer programs

• for solving problems

• for advancing science and technology

• for understanding life

Page 10: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming

• Active evolution of computer programs

• for solving problems

• for advancing science and technology

• for understanding life

Page 11: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Algorithms

Page 12: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming

• Genetic algorithms that produce executable computer programs

• Programs are assessed by executing them

• Automatic programming by evolution

Page 13: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

GPTP 2014

Page 14: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Humies Criteria• 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).

Page 15: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Humies Algorithms

Page 16: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Humies Applications

Page 17: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Humies Problem Types

Page 18: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Evolution, the Designer

“Darwinian evolution is itself a designer worthy of significant respect, if not religious devotion.”

Page 19: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Humies 2004GOLD MEDAL

Page 20: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming for Finite Algebras

Lee SpectorCognitive ScienceHampshire CollegeAmherst, MA 01002

[email protected]

David M. ClarkMathematics

SUNY New PaltzNew Paltz, NY 12561

[email protected]

Ian LindsayHampshire CollegeAmherst, MA 01002

[email protected]

Bradford BarrHampshire CollegeAmherst, MA 01002

[email protected]

Jon KleinHampshire CollegeAmherst, MA [email protected]

ABSTRACTWe describe the application of genetic programming (GP)to a problem in pure mathematics, in the study of finite al-gebras. We document the production of human-competitiveresults in the discovery of particular algebraic terms, namelydiscriminator, Pixley, majority and Mal’cev terms, showingthat GP can exceed the performance of every prior methodof finding these terms in either time or size by several or-ders of magnitude. Our terms were produced using the ECJand PushGP genetic programming systems in configurationsthat included alternative code generators, asynchronous is-lands, trivial geography, parsimony-based selection, alpha-inverted selection pressure, and fitness case challenges. Weconclude with a discussion of the prospects for further ap-plications of the presented methods.

Categories and Subject DescriptorsI.2.2 [Artificial Intelligence]: Automatic Programming—program synthesis; I.1.2 [Symbolic and Algebraic Ma-nipulation]: Algorithms—algebraic algorithms

General TermsAlgorithms, Experimentation, Performance

KeywordsECJ, genetic programming, finite algebras, PushGP

1. INTRODUCTIONGenetic programming (GP) has the potential for applica-

tion to many areas of mathematics. In particular, any areain which open questions can be resolved by discovering rela-tively small equations, terms, or finite structures is a promis-ing area for the application of GP. For some such questionsthe very existence of a constraint-satisfying equation, term

Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.GECCO 2008 Atlanta, Georgia USACopyright 200X ACM X-XXXXX-XX-X/XX/XX ...$5.00.

or structure may settle the issue under study, while for oth-ers the specific properties of discovered solutions may haveadditional implications or provide additional insights.

In this paper we present initial but promising results fromthe application of GP to an area of pure mathematics, thestudy of finite algebras. While the idea for application inthis general area has been raised in the literature [?], we arenot aware of significant prior results. We document here thediscovery of particular algebraic terms that have both theo-retical significance and quantifiable di⇤culty, and we arguethat the results we have achieved are human-competitiveaccording to widely promulgated criteria.

In the following section we briefly describe the relevantmathematical context and the specific problems solved. InSection ?? we describe the GP techniques that we used toproduce our results, which are themselves presented in Sec-tion ??. In Section ?? we discuss the significance of theseresults, including our claims of human-competitive perfor-mance, and in Section ?? we summarize our findings anddiscuss prospects for further applications of the presentedmethods.

2. FINITE ALGEBRASFor the sake of this paper, and within the over-arching

area of mathematics known as universal algebra, an algebraA := ⌥A, F � consists of an underlying set A and an asso-ciated collection F of operations f : Ar � A on A. Thenatural number r is called the arity of the operation f . Uni-versal algebra is a significant branch of mathematics with along history (for example see [?], [?], [?]), important sub-disciplines such as group theory [?], and applications to sev-eral areas of science and engineering.

We use the term finite algebra to refer to an algebra inwhich the underlying set is finite. The finite algebra mostfamiliar to most computer scientists is the ordinary two-element Boolean algebra, B := ⌥{0, 1},⇤,⌅,¬�, in whichthe underlying set is {0, 1} and the associated operationsare the Boolean operators AND (⇤), OR (⌅) and NOT (¬).These operations can be defined by tables:

⇥ 0 10 0 01 0 1

⇤ 0 10 0 11 1 1

¬0 11 0

A well-known and convenient feature of Boolean alge-bra is the fact that this small set of operations is su⇤cient

Humies 2008GOLD MEDAL

Page 21: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Goal

• Find finite algebra terms that have certain special properties

• For decades there was no way to produce these terms in general, short of exhaustive search

• Previous best methods are exponentially slow or produce enormous terms

• Want to be able to find small terms quickly

Page 22: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Significance, Time

Page 23: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Significance, Time

Page 24: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Significance, Size

(for A1)

Page 25: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Significance, Size

(for A1)

Page 26: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 27: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

To the Future

• Expressive program representations (Push)

• Flexible genetic/epigenetic variation (Plush)

• Well-informed selection (Lexicase)

⇒ Automation of human programming

Page 28: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Program Representations

• Should facilitate the expression of programs that use:

• Arbitrary data structures

• Arbitrary control structures

• Modularity

• Should facilitate the development of effective (and ideally evolvable) genetic/epigenetic variation operators

Page 29: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Push• Designed for program evolution

• Data flows via stacks, not syntax

• One stack per type: integer, float, boolean, string, code, exec, vector, ...

• Rich data and control structures

• Minimal syntax: program → instruction | literal | ( program* )

• Uniform variation, meta-evolution

Page 30: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Plush

integer_eq exec_dup char_swap integer_add exec_if

2 0 0 0 1

1 0 0 1 0

InstructionClose?

Silence?

Page 31: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Selection

• In genetic programming, selection is typically based on average performance across all test cases (sometimes weighted, e.g. with "implicit fitness sharing")

• In nature, selection is typically based on sequences of interactions with the environment

Page 32: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Lexicase Selection

• Emphasizes individual test cases and combinations of test cases; not aggregated fitness across test cases

• Random ordering of test cases for each selection event

Page 33: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Lexicase SelectionTo select single parent:

1. Shuffle test cases

2. First test case – keep best individuals

3. Repeat with next test case, etc.

Until one individual remains

The selected parent may be a specialist in the tests that happen to have come first, and may or may not be particularly good on average

Page 34: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

wc

Page 35: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

wc Test Cases

• 0 to 100 character files

• Random string (200 training, 500 test)

• Random string ending in newline (20 training, 50 test)

• Edge cases (22; empty string, multiple newlines, etc.)

Page 36: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Instructions

• General purpose

• I/O

• Control flow

• Tags for modularity

• String, integer, and boolean

• Random constants

Page 37: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

wc Results

Page 38: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 39: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

29 Synthesis Benchmarks• From iJava: Number IO, Small or Large, For Loop Index,

Compare String Lengths, Double Letters, Collatz Numbers, Replace Space with Newline, String Differences, Even Squares, Wallis Pi, String Lengths Backwards, Last Index of Zero, Vector Average, Count Odds, Mirror Image, Super Anagrams, Sum of Squares, Vectors Summed, X-Word Lines, Pig Latin, Negative to Zero, Scrabble Score, Word Stats

• From IntroClass: Checksum, Digits, Grade, Median, Smallest, Syllables

• PushGP has solved all of these except for the ones in blue

Page 40: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 41: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

(Replace Space with Newline)

Page 42: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Life involves theevolution of programs

Page 43: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Life involves theevolution of programs

Page 44: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Life is theevolution of programs

Page 45: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Digital Organisms

• For the study of general principles of living systems

• Populations of individuals that act locally in environments

• Explore, in silico, key aspects of evolutionary processes

• Core War, Tierra, Avida, Echo, Polyworld, Framsticks, ...

Page 46: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

To the Future

• Expressive program representations (Push)

• Interactions among development, form, physics, behavior, and ecology (in virtual worlds)

• Evolution of reproduction and variation (autoconstructive evolution)

⇒ Evolution of adaptive complexity

Page 47: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Autoconstructive Evolution

• Individual programs make their own children, with endogenous variation

• Hence they control their own mutation rates and methods, sexuality, reproductive timing, etc.

• The machinery of reproduction and diversification (i.e., the machinery of evolution) evolves

• Requires expressive program representations (like Push)

Page 48: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

SwarmEvolve 2

• A "swarm-like" agent environment with energy dynamics and conservation

• Behavior (including action, communication, energy sharing, and reproduction) controlled by evolved Push programs

• Supports exploration of relations between adaptation and various kinds of resource sharing, under a range of environmental settings

Page 49: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 50: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Division Blocks

Page 51: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 52: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

coreeye

sensor range

Pucks

membrane

energy

inventory

information

Page 53: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 54: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Action

• Pucks act by making proposals to the universe

• The universe accepts proposals permitted by physics and compatible with the proposals of other pucks

• When conflicts arise the universe arbitrates

Page 55: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Proposals• Accelerate• Rotate• Remember • Transact (via bid/ask):

• Energy• Information• Inventory items • Binding

• Spawn new pucks

Page 56: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 57: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst
Page 58: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Genetic Programming

• Active evolution of computer programs

• for solving problems

• for advancing science and technology

• for understanding life

Page 59: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Prospects

• Automatic programming of large-scale software systems

• Significant discoveries, produced by evolutionary processes, in many areas of science and engineering

• Computational life forms demonstrating open-ended evolution and emergent evolutionary transitions

Page 60: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Risks

• Technology that we don't understand

• Human competitive technology

Page 61: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

Thanks

• David Clark, Moshe Sipper, and members of the Hampshire College Computational Intelligence Lab including Tom Helmuth, Bill La Cava, Jon Klein, and Karthik Kannappan for specific contributions to these slides.

• This material is based upon work supported by the National Science Foundation under Grants No. 1017817, 1129139, and 1331283. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Page 62: The Future of Genetic Programming -  Future of Genetic... · The Future of Genetic Programming Lee Spector Cognitive Science, Hampshire College Computer Science, UMass Amherst

The Future of Genetic Programming

Lee SpectorCognitive Science, Hampshire CollegeComputer Science, UMass Amherst

http://hampshire.edu/lspector