For Monday • Nothing due • Chris and Ron’s project talks
Program 4 Discussion
Demo • http://math.hws.edu/xJava/GA/ • http://www.dieslunae.net/tsp/ • http://www.sambee.co.th/MazeSolver/mazeg a.htm • http://www.ads.tuwien.ac.at/raidl/tspga/TSP GA.html
Representation
ANTENNA DESIGN
ANTENNA DESIGN • The problem (Altshuler and Linden 1998) is to determine the x-y-z coordinates of the 3- dimensional position of the ends ( X1 , Y1 , Z1 , X2 , Y2 , Z2 ,… , X7 , Y7 , Z7 ) of 7 straight wires so that the resulting 7-wire antenna satisfies certain performance requirements • The first wire starts at feed point (0, 0, 0) in the middle of the ground plane • The antenna must fit inside the 0.5 cube
ANTENNA GENOME X 1 Y 1 Z 1 X 2 Y 2 Z 2 … +0010 -1110 +0001 +0011 -1011 +0011 … • 105-bit chromosome (genome) • Each x-y-z coordinate is represented by 5 bits (4- bit granularity for data plus a sign bit) • Total chromosome is 3 7 5 = 105 bits
ANTENNA FITNESS • Antenna is for ground-to-satellite communications for cars and handsets • We desire near-uniform gain pattern 10 above the horizon • Fitness is measured based on the antenna's radiation pattern. The radiation pattern is simulated by National Electromagnetics Code (NEC)
ANTENNA FITNESS • Fitness is sum of the squares of the difference between the average gain and the antenna's gain • Sum is taken for angles between -90 and +90 and all azimuth angles from 0 to 180 • The smaller the value of fitness, the better
Alternatives • Neural Networks (SANE) • Structured Representations
Genetic Programming • Applying genetic algorithms to automatic programming
A COMPUTER PROGRAM
A COMPUTER PROGRAM IN C int foo (int time) { int temp1, temp2; if (time > 10) temp1 = 3; else temp1 = 4; temp2 = temp1 + 1 + 2; return (temp2); }
OUTPUT OF C PROGRAM Time Output 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 7 12 7
PROGRAM TREE (+ 1 2 (IF (> TIME 10) 3 4))
CREATING RANDOM PROGRAMS
CREATING RANDOM PROGRAMS • Available functions F = { +, -, *, %, IFLTE } • Available terminals T = { X, Y, Random-Constants } • The random programs are : – Of different sizes and shapes – Syntactically valid – Executable
GP GENETIC OPERATIONS • Reproduction • Mutation • Crossover (sexual recombination) • Architecture-altering operations
MUTATION OPERATION
MUTATION OPERATION • Select 1 parent probabilistically based on fitness • Pick point from 1 to NUMBER-OF-POINTS • Delete subtree at the picked point • Grow new subtree at the mutation point in same way as generated trees for initial random population (generation 0) • The result is a syntactically valid executable program • Put the offspring into the next generation of the population
CROSSOVER OPERATION
CROSSOVER OPERATION • Select 2 parents probabilistically based on fitness • Randomly pick a number from 1 to NUMBER-OF-POINTS for 1 st parent • Independently randomly pick a number for 2 nd parent • Identify the subtrees rooted at the two picked points • Exchange the subtrees • The result is a syntactically valid executable program • Put the offspring into the next generation of the population
REPRODUCTION OPERATION • Select parent probabilistically based on fitness • Copy it (unchanged) into the next generation of the population
FIVE MAJOR PREPARATORY STEPS FOR GP • Determining the set of terminals • Determining the set of functions • Determining the fitness measure • Determining the parameters for the run • Determining the method for designating a result and the criterion for terminating a run
ILLUSTRATIVE GP RUN
SYMBOLIC REGRESSION Independent Dependent variable X variable Y -1.00 1.00 -0.80 0.84 -0.60 0.76 -0.40 0.76 -0.20 0.84 0.00 1.00 0.20 1.24 0.40 1.56 0.60 1.96 0.80 2.44 1.00 3.00
PREPARATORY STEPS Objective: Find a computer program with one input (independent variable X ) whose output equals the given data T = {X, Random-Constants} 1 Terminal set: F = {+, -, *, %} 2 Function set: 3 Fitness: The sum of the absolute value of the differences between the candidate program’s output and the given data (computed over numerous values of the independent variable x from – 1.0 to +1.0) 4 Parameters: Population size M = 4 5 Termination: An individual emerges whose sum of absolute errors is less than 0.1
SYMBOLIC REGRESSION POPULATION OF 4 RANDOMLY CREATED INDIVIDUALS FOR GENERATION 0
SYMBOLIC REGRESSION x 2 + x + 1 FITNESS OF THE 4 INDIVIDUALS IN GEN 0 x 2 + 1 x + 1 2 x 0.67 1.00 1.70 2.67
SYMBOLIC REGRESSION x 2 + x + 1 GENERATION 1 Second offspring First offspring of of crossover of Mutant of (c) crossover of (a) (a) and (b) and (b) picking “+” of Copy of (a) picking “2” picking “+” of parent (a) and as mutation parent (a) and left- most “x” of point left- most “x” of parent (b) as parent (b) as crossover points crossover points
CLASSIFICATION
GP TABLEAU – INTERTWINED SPIRALS Objective: Create a program to classify a given point in the x - y plane to the red or blue spiral 1 Terminal set: T = {X,Y,Random-Constants} 2 Function set: F = {+,-,*,%,IFLTE,SIN,COS} 3 Fitness: The number of correctly classified points (0 – 194) 4 Parameters: M = 10,000. G = 51 5 Termination: An individual program scores 194
Demos • http://www.cs.northwestern.edu/~fjs750/netl ogo/final/gpdemo.html • http://www.3dprintingtechnologies.com/ndst uff/Research/WutheringHeights/Page1.htm
Recommend
More recommend