View
214
Download
0
Embed Size (px)
Citation preview
Genetic Programming Visualization
Can we use these network records to create real-time displays for conveying something about the state of the network?
Outline
I. What is Genetic ProgrammingII. How we used genetic programming to
create meaningful network visualizations
a. System for creating random visualizations
b. System for evolving random visualizations into meaningful visualizationsc. User tests to refine the system
Genetic Algorithms
GENETIC ALGORITHMS are heuristic search optimization methods that use evolutionary models of genetic reproduction and natural selection to solve computational research problems.
Genetic Programming
GENETIC PROGRAMS are genetic algorithms whose inputs and outputs can be modeled using tree-structured computational expressions.
Genetic Inputs: Expression Language
A way of describing a computational expression.
constants: { R } U { x y }
functions: { + - * / }rules for combining constants and
functions to form expressions: {All operators take any 2 constants, except /, which can not take 0 for it’s second argument}
Genetic Inputs: Fitness Measure
A fitness measure to determine how good an expression is.
Example: how close the expression is to f(x) = 2x, where close is measured using linear least squared error over some set of data points.
f(x) = 10
0
2
4
6
8
10
12
1 2 3 4
x
f(x
)
f(x) = 2*x
0
2
4
6
8
10
12
1 2 3 4
x
f(x
)
f(x) = 2*(x-1)
0
2
4
6
8
10
12
1 2 3 4
xf(
x)
Genetic Inputs: Run Parameters
Parameters for controlling the run:Number of expressions (population
size)Expression size
Genetic Operators
In nature, genetic operators operate on genes to create new genes:
In genetic programming, genetic operators operate on expressions to create new expressions:
GP CROSSOVER replaces part of one expression with part of a different expression to create a new expression.
GP Crossover
BIOLOGICAL MUTATION randomly modifies a point on a DNA sequence to create a new DNA sequence.
Mutation
GP Execution Steps
Randomly generate a population of initial expressions.Evolve better expressions by repeatedly doing the following:
Find each expression’s fitness.
Use the fitness to select expressions for reproduction
Apply genetic operators to selected expressions to create new expressions.
GP Execution Steps
Randomly generate a population of initial image expressions.Evolve better images by repeatedly doing the following:
Find each image’s fitness.
Use the fitness to select expressions for reproduction
Apply genetic operators to selected expressions to create new images.
Genetic Art Inputs: Expression Language
Constants: {screen coordinates, network data, random numbers}
Functions: {+ - * / sin(c) power2(c) cuberoot(c) max min rectangle ellipse triangle “linear interpolation”}
Combination rules: {all functions and constants behave as colors}
Network data: source IP address, destination IP address, source port, destination port, arrival time stamp, and some optional flags.
(Sin (Cuberoot (Exp (Exp (Slerp (Slerp (Sum (Min (Exp (RGB Y Y Y)) (RGB Y Y Y)) (Sin (RGB Y Y Y)) (Slerp (Exp (Slerp (T) (Sin (RGB Y Y Y)) (Slerp (RGB X X X) (RGB -0.1378 0.4050 -0.7173) (RGB Y Y Y)))) (RGB -0.8453 -0.5035 -0.0134) (Slerp (RGB 0.5991 -0.8034 0.9826) (RGB 0.2866 0.2033 -0.3363) (Max (RGB 0.393204 -0.305048 -0.030228) (RGB Y Y Y)))) (Div (Max (RGB X X X) (RGB Y Y Y)) (RGB 0.6733 -0.9733 -0.2414))) (Slerp (RGB X X X) (Sum (Product (Max (RGB T T T) (RGB X X X)) (Exp (RGB Y Y Y)) (Div (RGB T T T) (RGB X X X))) (Sin (RGB Y Y Y)) (Min (RGB 0.8431 -0.9513 -0.1724) (RGB T T T)))))))
GP Execution Steps
Randomly generate a population of initial image expressions.Evolve better images by repeatedly doing the following:
Find each image’s fitness.
Use the fitness to select expressions for reproduction
Apply genetic operators to selected expressions to create new images.
Genetic Art Inputs: Fitness Measure
Fitness measure: how well users feels a visualization ‘accurately reflects the
current network state.’
GP Execution Steps
Randomly generate a population of initial image expressions.Evolve better images by repeatedly doing the following:
Find each image’s fitness.
Use the fitness to select expressions for reproduction
Apply genetic operators to selected expressions to create new images.
Summary
1. What is Genetic Programming
II. How we used genetic programming to create art.
a. System for creating random images.
b. System for evolving random images into something meaningful.
c. User tests to refine the system