Download Genetic Art - Northwestern University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Mutation wikipedia , lookup

Frameshift mutation wikipedia , lookup

DNA paternity testing wikipedia , lookup

Polymorphism (biology) wikipedia , lookup

Non-coding DNA wikipedia , lookup

Genetic studies on Bulgarians wikipedia , lookup

Nutriepigenomics wikipedia , lookup

Twin study wikipedia , lookup

Epistasis wikipedia , lookup

Site-specific recombinase technology wikipedia , lookup

Philopatry wikipedia , lookup

Quantitative trait locus wikipedia , lookup

Designer baby wikipedia , lookup

Pharmacogenomics wikipedia , lookup

Medical genetics wikipedia , lookup

Genetic code wikipedia , lookup

Behavioural genetics wikipedia , lookup

Heritability of IQ wikipedia , lookup

Koinophilia wikipedia , lookup

Genetic drift wikipedia , lookup

History of genetic engineering wikipedia , lookup

Public health genomics wikipedia , lookup

Genetic engineering wikipedia , lookup

Human genetic variation wikipedia , lookup

Genome (book) wikipedia , lookup

Genetic testing wikipedia , lookup

Microevolution wikipedia , lookup

Population genetics wikipedia , lookup

Gene expression programming wikipedia , lookup

Genetic engineering in science fiction wikipedia , lookup

Transcript
Genetic Art
Network Record
Using Network Information
Evanston
Paris
Chicago
Moscow
Understanding Network Data
Genetic Programming Visualization
Can we use these network records to create realtime displays for conveying something about the state
of the network?
Outline
I.
II.
What is Genetic Programming
How we used genetic programming to create
meaningful network visualizations
a. System for creating random visualizations
b. System for evolving random visualizations into
meaningful visualizations
c. 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) = 2*x
f(x) = 2*(x-1)
12
12
10
10
10
8
8
8
6
f(x)
12
f(x)
f(x)
f(x) = 10
6
6
4
4
4
2
2
2
0
0
0
1
2
3
x
4
1
2
3
x
4
1
2
3
x
4
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:
Crossover
BIOLOGICAL CROSSOVER replaces part of one DNA
sequence with part of another DNA sequence.
GP Crossover
GP CROSSOVER replaces part of one expression with part
of a different expression to create a new expression.
Mutation
BIOLOGICAL MUTATION randomly modifies a point on
a DNA sequence to create a new DNA sequence.
GP Mutation
GP MUTATION randomly modifies a point in an
expression to create a new expression.
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.
Genetic Art Inputs
A way of describing a computational image expression.
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.
Computer 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.
Expressions to Images
Constant inputs: {screen coordinates, network data, random numbers}
(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.
Do you consider yourself to be familiar
with the current state of the network?
Fitness Measure
We defined image fitness to be the total number of votes
an image has.
2
1
0
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.
Genetic Art Mutation
Genetic Art Crossover
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