* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Genetic Art - Northwestern University
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
Site-specific recombinase technology 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
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