cs254: genetic programming - hampshirefaculty.hampshire.edu › lspector › temp › cs254s18...

21
CS254: Genetic Programming Lee Spector

Upload: others

Post on 10-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

CS254: Genetic Programming

Lee Spector

Page 2: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Agenda

• Introductions: you and me

• Genetic Programming

• Syllabus (course description, assignments, etc.)

• Homework

Page 3: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

You

• Name

• Pronouns

• Institution, year

• Registration status

• Computer science experience

• Evolutionary biology experience

Page 4: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Me• B.A. Oberlin philosophy, TIMARA

• Ph.D. UMD computer science, artificial intelligence

• NIH/NINDS planning in the brain

• Hampshire:

• Cognitive Science

• DART: Design, Art & Technology

• Quantum computing

• Computational Intelligence Lab

• High-Performance Computing Cluster

• Adjunct Prof @ UMass

• Executive committee of ACM SIGEVO

• Editor of Genetic Programming and Evolvable Machines

Page 5: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Evolutionary Computation

Random Assessment

Selection

Variation

Solution

Page 6: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Evolving Lego Bridges

Page 7: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Genetic Programming

RandomPrograms Assessment

Selection

Variation

Software

Page 8: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

• Competition for evolutionary computation results

• Up to $10,000 in cash prizes

• Held annually since 2004

Page 9: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

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 10: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Humies Winners

• Application areas: antennas, biology, chemistry, computer vision, electrical engineering, electronics, games, image processing, mathematics, mechanical engineering, medicine, operations research, optics, optimization, photonics, physics, planning, polymers, quantum computing, security, software engineering

• Winningest technique: genetic programming

• Winningest problem type: design

Page 11: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Humies Gold Medal, 2012

Page 12: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Evolved Antenna

NASA Space Technology 5 Mission, Lohn, Hornby, and Linden

Humies Gold Medal, 2004

Page 13: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Humies Gold Medal, 2004

Page 14: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

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

((((((((x∗(y∗x))∗x)∗z)∗(z∗x))∗((x∗(z∗(x∗(z∗y))))∗z))∗ z)∗z)∗(z∗((((x∗(((z∗z)∗x)∗(z∗x)))∗x)∗y)∗(((y∗(z∗(z∗ y)))∗(((y∗y)∗x)∗z))∗(x∗(((z∗z)∗x)∗(z∗(x∗(z∗y)))))))))

Humies Gold Medal, 2008

Page 15: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that
Page 16: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that
Page 17: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Intro Programming

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, Checksum, Digits, Grade, Median, Smallest, Syllables

Page 18: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Tests

Software

Page 19: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that
Page 20: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Clojure

• Modern, growing, practical, jobs

• Functional, flexible, powerful, concise

• Lisp’s history/tools/concepts re: AI

Java Ecosystem

Clojure Ecosystem

Page 21: CS254: Genetic Programming - Hampshirefaculty.hampshire.edu › lspector › temp › CS254S18 Introduction.key.… · and PushGP genetic programming systems in configurations that

Syllabus/Homework

moodle