information flocking applied to genetic programming visualization
DESCRIPTION
Genetic programming is an evolutionary technique used in optimization problem. Its dynamic nature makes it difficult to visualize. Indeed, hundred of candidate solutions are evolved per generation. There could be relationships between these candidate solutions. Phenomenon such as code growth can also happen. Information flocking uses the emergence of motion to visualize the dynamics of varying datasets. It makes possible to observe the data at different levels. In this work, we apply information flocking techniques to genetic programming visualization and intend to demonstrate its qualities.TRANSCRIPT
Information Flocking Applied to Genetic
Programming VisualizationMatthieu Macret
Outline• Introduction
• Genetic Programming (GP)
• Challenge
• The visualization problem
• Related works
• Information flocking for GP visualization
• Data
• Design choices
• Implementation
• Demonstration
• Issues
• Conclusion
2Matthieu Macret
Genetic Programming
• Principle : Evolving a population of computer programs.
• Makes possible to explore huge research space and find solutions to optimization problems.
Matthieu MacretMsc student 3
Problem example
• SANTINI, C., ZEBULUMI, R., PACHECO, M., VELLASCO, M., AND SZWARCMAN, M. 2001. “Evolution of analog circuits on a programmable analog multiplexer array”.
• IMBRIALE, W. 1991. “Evolution of the large deep space network antennas”.
4Matthieu Macret
Illustration example
Find a polynomial function to approximate this function.
5Matthieu Macret
6
Matthieu MacretMsc student
7
Matthieu MacretMsc student
Data representation
Matthieu MacretMsc student 8
+
X
-
/5 x
x 33
Nodes
Terminals
12=
9
Matthieu MacretMsc student
Evaluation fitness
• Fitness function is a metric to measure how close a candidate solution is to the optimal solution.
• Each individual of the population is evaluated with this fitness function.
10Matthieu Macret
Illustration example
Matthieu MacretMsc student 11
Function to approximate Candidate solution
Possible fitness function = distance between the two function
Matthieu MacretMsc student 12
Example selection
n=3Tournament selection
Matthieu MacretMsc student 13
Matthieu MacretMsc student 14
Reproduction
15Matthieu Macret
Crossover
Matthieu MacretMsc student 16
Crossover
Matthieu MacretMsc student 16
Crossover
Matthieu MacretMsc student 16
Crossover
17
Matthieu MacretMsc student
Crossover
17
Matthieu MacretMsc student
Crossover
17
Matthieu MacretMsc student
Mutation
18
Matthieu MacretMsc student
Mutation
18
Matthieu MacretMsc student
Mutation
19
Matthieu MacretMsc student
Matthieu MacretMsc student 20
Termination criteria
• Reach the fitness level specified
• Reach the maximum number of generations
21Matthieu Macret
Evolution parameters
• Parameters :
• number of generations,
• number of individuals per generation,
• max/min depth tree,
• cross-over rate,
• mutation rate,
• initialization method...
Matthieu MacretMsc student 22
Challenges in GP
• For complex problems, the fitness function is difficult to design.
• Finding the good set of GP parameters is not straightforward.
• Bloat and loss of diversity phenomenon.
23Matthieu Macret
Bloat
No real explanation so far
24Matthieu Macret
Diversity
Proportion of similar individuals
25Matthieu Macret
GP Visualization Problem
• Large dataset :
• hundreds of individuals per generation
• hundreds of generations
• Varying data
• Genealogy between individuals
• Genetic operations (crossover, selection, mutation)
26Matthieu Macret
Usual visualization
http://mmacret.perso.centrale-marseille.fr/metacreation/experiments/experiment3/index.html
27Matthieu Macret
Issues
• Do not explain the dynamics of GP
• Give a global idea of the evolution but do not allow a exploration at the individual level
• Do not explain bloat or loss of diversity
• Do not give any clue to choose better GP parameters.
28Matthieu Macret
Related work
• JASON M. DAIDA, ADAM M. HILSS, DAVID J. WARD AND STEPHEN L. LONG, 2004,“Visualizing Tree Structures in Genetic Programming”.
29Matthieu Macret
30Matthieu Macret
31Matthieu Macret
System design
• Motivation:
• Visualize the dynamics of the GP system
• Make possible the exploration at several levels (population/individual/overall evolution)
32Matthieu Macret
Matthieu Macret 33
REYNOLDS, C. Flocks, herds and schools: A distributed behavioral model. Computer Graphics, 1987.
Behavior rules
• Each agent (fish) has internal behavior rules:
• Collision avoidance
• Velocity matching
• Flock centering
➡Emergence: natural movement of fishes !
34Matthieu Macret
Information Flocking applied to Time-Varying Data Visualization
• A. Moere, Time-Varying Data Visualization using Information Flocking Boids. Infoviz 2004.
➡
Showed that the original information flocking principles extended with dynamically generated motion technologies is able to represent the dynamics of time-varying dataset.
Matthieu Macret
Extended flocking model
• In addition of the original flocking behavior rules, 2 data-dependant clustering rules:
• Data similarity
• Data dissimilarity
Matthieu Macret 36
• Movement:
• Conveys the feeling of dynamics,
• Has a strong and effective perceptual grouping effect. (clustering)
• Emergence:
• Make possible to identify interesting patterns and relationships.
Matthieu Macret 37
Why using information flocking ?
Data
PopulationsPopulationsPopulationsPopulationsPopulations
gen indId fitness size depth
OperationsOperationsOperationsOperationsOperations
gen indIdactionType
parentId1
parentId2
38Matthieu Macret
ParticuleSize ~ Ind. tree size
Length ~ Ind. tree depth
Color ~ Ind. fitness
Gradient red -> green
size
depth
0 -> 139Matthieu Macret
Environment
• 3D environment:
• More dimensions = more space to cluster
40Matthieu Macret
Genealogy
Vizualize two consecutive generations
with strokes = generation-1
without strokes = generation
41Matthieu Macret
Crossover
42Matthieu Macret
Mutation
43Matthieu Macret
Interactivity
• Possible to select a individual on the screen
• Get more precise data (fitness, indId)
• Get the corresponding tree
• Navigation in the 3D space
• Pause the vizualization
44Matthieu Macret
Behavior rules
• Collision avoidance
• Velocity matching
• Flock centering
• Data similarity
• Data dissimilarity
45Matthieu Macret
Implementation
DatabasePostgreSQL
ProcessingToxiclibs library
46Matthieu Macret
Demonstration
47Matthieu Macret
Issues
• Get the data from my system.
• Modify the flocking algorithm to make possible the creation of new individuals by crossover or mutation.
• Technical issues
48Matthieu Macret
Conclusions• What I was expected to get:
• Outlying dynamic patterns
• Valid at the individual level
• Valid at the whole dataset level
• Show long-term data value evolution
• Short-term significant events
492Matthieu Macret
Discussion
• What could be a good way to evaluate this kind of systems ?
50Matthieu Macret