Evolving Pre-Sort Algorithms Joe Barker. Why Sorting? Sorting is used everywhere Classical methods for developing new algorithms has been pretty much.

Slides:



Advertisements
Similar presentations
Set Based Search Modeling Examples II
Advertisements

Tetris and Genetic Algorithms Math Club 5/30/2011.
GP Applications Two main areas of research Testing genetic programming in areas other techniques have been applied to. Applying genetic programming to.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
Evolving Driving Controllers using Genetic Programming Marc Ebner and Thorsten Tiede.
Automatic Synthesis Using Genetic Programming of Improved PID Tuning Rules Matthew J. Streeter Genetic Programming, Inc. Mountain View, California
Mechanics of Genetic Programming
EVOHAR Robustness in Evolved Hardware Jason Masner, John Cavalieri Dr. James Frenzel and Dr. James A. Foster.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Introduction to Genetic Algorithms Yonatan Shichel.
Optimizing Online Auction Bidding Strategies with Genetic Programming Ekaterina “Kate” Smorodkina.
Doug Downey, adapted from Bryan Pardo, Machine Learning EECS 349 Machine Learning Genetic Programming.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Genetic Art. Network Record Using Network Information Chicago Evanston ParisMoscow.
Evolving Agents in a Hostile Environment Alex J. Berry.
CS 447 Advanced Topics in Artificial Intelligence Fall 2002.
Even More Random Number Generators Using Genetic Programming Joe Barker.
Khaled Rasheed Computer Science Dept. University of Georgia
Genetic Programming Dinesh Dharme Prateek Srivastav Pankhil Chheda
Genetic Programming.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
Genetic Programming Chapter 6. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Programming GP quick overview Developed: USA.
Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat.
Mining Disjunctive Association Rules Using Genetic Programming Michelle Lyman Gary Lewandowski Department of Mathematics and Computer Science Xavier University.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
1 Genetic Programming: An Introduction. 2 The Lunacy of Evolving Computer Programs Before we start, consider the general evolutionary algorithm : Randomly.
Optimizing Sorting With Genetic Algorithms Xiaoming Li, María Jesús Garzarán, and David Padua University of Illinois at Urbana-Champaign.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
RMIT UNIVERSITY CEC2004Experiments with Explicit For-Loops in GP1 Experiments With Explicit For-Loops in Genetic Programming Vic Ciesielski, Xiang Li {vc,
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
The Generational Control Model This is the control model that is traditionally used by GP systems. There are a distinct number of generations performed.
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
Artificial Intelligence Chapter 4. Machine Evolution.
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
1 Class Project 510 Team Members John A. Watne Jordan D. Howe Ian R. Erlanson Geoffrey A. Reglos Sengdara Phetsomphou.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Genetic Programming. GP quick overview Developed: USA in the 1990’s Early names: J. Koza Typically applied to: machine learning tasks (prediction, classification…)
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 6.
Adaptive Sorting “A Dynamically Tuned Sorting Library” “Optimizing Sorting with Genetic Algorithms” By Xiaoming Li, Maria Jesus Garzaran, and David Padua.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
Genetic Search Algorithms Matt Herbster. Why Another Search?  Designed in the 1950s, heavily implemented under John Holland (1970s)  Genetic search.
Genetic Programming COSC Ch. F. Eick, Introduction to Genetic Programming GP quick overview Developed: USA in the 1990’s Early names: J. Koza Typically.
Blocks World Problem. The CS Terminal Specifies the block at the top of the stack. Example CS evaluates to E Note: Evaluates to nil if the stack is empty.
John R. Koza [Edited by J. Wiebe] 1. GENETIC PROGRAMMING 2.
Symbolic Regression via Genetic Programming AI Project #2 Biointelligence lab Cho, Dong-Yeon
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Genetic Programming. What is Genetic Programming? GP for Symbolic Regression Other Representations for GP Example of GP for Knowledge Discovery Outline.
Evolving Recursive Algorithms The SRF function Automatically defined recursions (ADRs) The recur operator Dealing with infinite and time-consuming recursions.
Genetic Algorithm (Knapsack Problem)
Genetic Programming.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
Evolution strategies and genetic programming
GENETIC PROGRAMMING BBB4003.
Artificial Intelligence Chapter 4. Machine Evolution
Artificial Intelligence Chapter 4. Machine Evolution
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
Genetic Programming Chapter 6.
GENETIC PROGRAMMING BBB4003.
Beyond Classical Search
Presentation transcript:

Evolving Pre-Sort Algorithms Joe Barker

Why Sorting? Sorting is used everywhere Classical methods for developing new algorithms has been pretty much mined out Genetic Programming (GP) will allow us to find new improvements

Why Pre-Sorting? When evolving programs, the question of generality arises How do we know the solution works for all possible inputs? Solution: Provide a method for graceful failure –GP creates pre-sort algorithms and classic sorts are used to “clean up”

Previously John Koza did major work on GP Kenneth Kinnear did some work evolving sort algorithms No obvious work with pre-sort algorithms

Previously Kinnear’s work was mostly examining the types(and generality) –Action nodes: Non-terminal: dobl, if, if-lt Terminal: order, swap –Expression nodes: Non-terminal: e-, e1-, e1+, wismaller, wislarger, less Terminal: *len*, index (2)

Previously –Genetic Operators Single Crossover Mutation Non-Fitness Single Crossover Hoist Create (3)

Design - Individual Actions –Non-Terminals: LOOP, DUAL –Terminals: ORDER,SWAP Expressions –Non-Terminals: +,-,*,/,%,LARGER,SMALLER –Terminals: SIZE, I(0-3), CONST(0-10)

Design - Fitness Every individual All individuals use same input Individual execution is terminated if the number of operations exceeds a limit Weighted sum of: –Compares in individual and “cleanup” sort –Swaps –Arithmetic operation executed

Design - Fitness Input –Array of random size n, –Initially either in-order or reverse-order –c*n random swaps performed (2)

Design - Evolution Selection: Blocked-rank selection, only mature Crossover –Make a list of sub-trees of each parent within a [min,max] “expected” depth –Choose a tree uniformly from each list to swap Mutation –Create a sub-tree with max. depth of tree to be replaced N-F Crossover, Hoist

Design - Population Initialization –Random trees –Size of action and expression different Maturity: >=30 steps Competition –Elitist (except immature ind.)

Design - Other No termination Signal causes program state and summary to be dumped to file State can be reloaded to continue run

Experiment Bubble sort (in-order best) Data distributions –Nearly sorted –Nearly reversed-sorted –Very random

Future Work Different sorts Node types to match sorts Run-time compilation of trees to speed execution

Questions?