genetic art. network record using network information chicago evanston parismoscow

37
Genetic Art

Post on 21-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Genetic Art

Network Record

Using Network Information

ChicagoEvanston

Paris Moscow

Understanding Network Data

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:

Crossover

BIOLOGICAL CROSSOVER replaces part of one DNA sequence with part of another DNA sequence.

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 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.

Constant inputs: {screen coordinates, network data, random numbers}

Expressions to Images

(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