information flocking applied to genetic programming visualization

55
Information Flocking Applied to Genetic Programming Visualization Matthieu Macret

Upload: matthieu-macret

Post on 21-May-2015

94 views

Category:

Technology


1 download

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 di fferent levels. In this work, we apply information flocking techniques to genetic programming visualization and intend to demonstrate its qualities.

TRANSCRIPT

Page 1: Information Flocking Applied to Genetic Programming Visualization

Information Flocking Applied to Genetic

Programming VisualizationMatthieu Macret

Page 2: Information Flocking Applied to Genetic Programming Visualization

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

Page 3: Information Flocking Applied to Genetic Programming Visualization

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

Page 4: Information Flocking Applied to Genetic Programming Visualization

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

Page 5: Information Flocking Applied to Genetic Programming Visualization

Illustration example

Find a polynomial function to approximate this function.

5Matthieu Macret

Page 6: Information Flocking Applied to Genetic Programming Visualization

6

Matthieu MacretMsc student

Page 7: Information Flocking Applied to Genetic Programming Visualization

7

Matthieu MacretMsc student

Page 8: Information Flocking Applied to Genetic Programming Visualization

Data representation

Matthieu MacretMsc student 8

+

X

-

/5 x

x 33

Nodes

Terminals

12=

Page 9: Information Flocking Applied to Genetic Programming Visualization

9

Matthieu MacretMsc student

Page 10: Information Flocking Applied to Genetic Programming Visualization

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

Page 11: Information Flocking Applied to Genetic Programming Visualization

Illustration example

Matthieu MacretMsc student 11

Function to approximate Candidate solution

Possible fitness function = distance between the two function

Page 12: Information Flocking Applied to Genetic Programming Visualization

Matthieu MacretMsc student 12

Page 13: Information Flocking Applied to Genetic Programming Visualization

Example selection

n=3Tournament selection

Matthieu MacretMsc student 13

Page 14: Information Flocking Applied to Genetic Programming Visualization

Matthieu MacretMsc student 14

Page 15: Information Flocking Applied to Genetic Programming Visualization

Reproduction

15Matthieu Macret

Page 16: Information Flocking Applied to Genetic Programming Visualization

Crossover

Matthieu MacretMsc student 16

Page 17: Information Flocking Applied to Genetic Programming Visualization

Crossover

Matthieu MacretMsc student 16

Page 18: Information Flocking Applied to Genetic Programming Visualization

Crossover

Matthieu MacretMsc student 16

Page 19: Information Flocking Applied to Genetic Programming Visualization

Crossover

17

Matthieu MacretMsc student

Page 20: Information Flocking Applied to Genetic Programming Visualization

Crossover

17

Matthieu MacretMsc student

Page 21: Information Flocking Applied to Genetic Programming Visualization

Crossover

17

Matthieu MacretMsc student

Page 22: Information Flocking Applied to Genetic Programming Visualization

Mutation

18

Matthieu MacretMsc student

Page 23: Information Flocking Applied to Genetic Programming Visualization

Mutation

18

Matthieu MacretMsc student

Page 24: Information Flocking Applied to Genetic Programming Visualization

Mutation

19

Matthieu MacretMsc student

Page 25: Information Flocking Applied to Genetic Programming Visualization

Matthieu MacretMsc student 20

Page 26: Information Flocking Applied to Genetic Programming Visualization

Termination criteria

• Reach the fitness level specified

• Reach the maximum number of generations

21Matthieu Macret

Page 27: Information Flocking Applied to Genetic Programming Visualization

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

Page 28: Information Flocking Applied to Genetic Programming Visualization

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

Page 29: Information Flocking Applied to Genetic Programming Visualization

Bloat

No real explanation so far

24Matthieu Macret

Page 30: Information Flocking Applied to Genetic Programming Visualization

Diversity

Proportion of similar individuals

25Matthieu Macret

Page 31: Information Flocking Applied to Genetic Programming Visualization

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

Page 33: Information Flocking Applied to Genetic Programming Visualization

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

Page 34: Information Flocking Applied to Genetic Programming Visualization

Related work

• JASON M. DAIDA, ADAM M. HILSS, DAVID J. WARD AND STEPHEN L. LONG, 2004,“Visualizing Tree Structures in Genetic Programming”.

29Matthieu Macret

Page 35: Information Flocking Applied to Genetic Programming Visualization

30Matthieu Macret

Page 36: Information Flocking Applied to Genetic Programming Visualization

31Matthieu Macret

Page 37: Information Flocking Applied to Genetic Programming Visualization

System design

• Motivation:

• Visualize the dynamics of the GP system

• Make possible the exploration at several levels (population/individual/overall evolution)

32Matthieu Macret

Page 38: Information Flocking Applied to Genetic Programming Visualization

Matthieu Macret 33

REYNOLDS, C. Flocks, herds and schools: A distributed behavioral model. Computer Graphics, 1987.

Page 39: Information Flocking Applied to Genetic Programming Visualization

Behavior rules

• Each agent (fish) has internal behavior rules:

• Collision avoidance

• Velocity matching

• Flock centering

➡Emergence: natural movement of fishes !

34Matthieu Macret

Page 40: Information Flocking Applied to Genetic Programming Visualization

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

Page 41: Information Flocking Applied to Genetic Programming Visualization

Extended flocking model

• In addition of the original flocking behavior rules, 2 data-dependant clustering rules:

• Data similarity

• Data dissimilarity

Matthieu Macret 36

Page 42: Information Flocking Applied to Genetic Programming Visualization

• 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 ?

Page 43: Information Flocking Applied to Genetic Programming Visualization

Data

PopulationsPopulationsPopulationsPopulationsPopulations

gen indId fitness size depth

OperationsOperationsOperationsOperationsOperations

gen indIdactionType

parentId1

parentId2

38Matthieu Macret

Page 44: Information Flocking Applied to Genetic Programming Visualization

ParticuleSize ~ Ind. tree size

Length ~ Ind. tree depth

Color ~ Ind. fitness

Gradient red -> green

size

depth

0 -> 139Matthieu Macret

Page 45: Information Flocking Applied to Genetic Programming Visualization

Environment

• 3D environment:

• More dimensions = more space to cluster

40Matthieu Macret

Page 46: Information Flocking Applied to Genetic Programming Visualization

Genealogy

Vizualize two consecutive generations

with strokes = generation-1

without strokes = generation

41Matthieu Macret

Page 47: Information Flocking Applied to Genetic Programming Visualization

Crossover

42Matthieu Macret

Page 48: Information Flocking Applied to Genetic Programming Visualization

Mutation

43Matthieu Macret

Page 49: Information Flocking Applied to Genetic Programming Visualization

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

Page 50: Information Flocking Applied to Genetic Programming Visualization

Behavior rules

• Collision avoidance

• Velocity matching

• Flock centering

• Data similarity

• Data dissimilarity

45Matthieu Macret

Page 51: Information Flocking Applied to Genetic Programming Visualization

Implementation

DatabasePostgreSQL

ProcessingToxiclibs library

46Matthieu Macret

Page 52: Information Flocking Applied to Genetic Programming Visualization

Demonstration

47Matthieu Macret

Page 53: Information Flocking Applied to Genetic Programming Visualization

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

Page 54: Information Flocking Applied to Genetic Programming Visualization

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

Page 55: Information Flocking Applied to Genetic Programming Visualization

Discussion

• What could be a good way to evaluate this kind of systems ?

50Matthieu Macret