Evolutionary systems & genetic algorithms

From GenerativeArt

(Difference between revisions)
Jump to: navigation, search
m (Methods for Providing Fitness Scores)
Current revision (22:11, 9 September 2013) (view source)
(Further Evolutionary Art Development by Karl Sims: Added a link to NEvAr)
 
-
{{SingleImage|imageWidthPlusTen=726|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/01.png|caption=Genetic Competition}}
+
{{SingleImage|imageWidthPlusTen=726|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/01.png|caption=Genetic Competition}}
-
{{SingleImage|imageWidthPlusTen=636|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/02.jpg|caption=Genetic Operations}}
+
{{SingleImage|imageWidthPlusTen=636|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/02.jpg|caption=Genetic Operations}}
-
{{SingleImage|imageWidthPlusTen=610|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/03.jpg|caption=Comparision of mutation distributions}}
+
{{SingleImage|imageWidthPlusTen=610|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/03.jpg|caption=Comparision of mutation distributions}}
In addition the rate of mutation may be a genetic variable. This provides some relief in deciding what the mutation rate should be. The optimal mutation rate will then evolve. It's even possible that the mutation rate will self-adjust over time. Typically at the start the mutation rate should be higher (randomization) than it is later (when fine tuning). It's worth noting that some cases have been found in nature where the mutation rate increases in response to increased environmental pressure. This too could be simulated by calculating the mutation rate as a function of both genetics and environmental pressure.
In addition the rate of mutation may be a genetic variable. This provides some relief in deciding what the mutation rate should be. The optimal mutation rate will then evolve. It's even possible that the mutation rate will self-adjust over time. Typically at the start the mutation rate should be higher (randomization) than it is later (when fine tuning). It's worth noting that some cases have been found in nature where the mutation rate increases in response to increased environmental pressure. This too could be simulated by calculating the mutation rate as a function of both genetics and environmental pressure.
-
{{SingleImage|imageWidthPlusTen=455|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/04.png|caption=Gray Code}}
+
{{SingleImage|imageWidthPlusTen=455|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/04.png|caption=Gray Code}}
  010<font color="red">0</font>      XOR      011<font color="red">1</font>
  010<font color="red">0</font>      XOR      011<font color="red">1</font>
-
 
-
== Example of Classic Genetic Programming for Problem Solving - Lawrence Fogel ==
 
-
 
-
Fogel is a graduate of NYU (B.S.E.E. 1948) and began the field of genetic programming in the mid-1960's. Genetic programming was used as a way to optimize solutions to problems with no exact or analytic solution.
 
-
 
-
 
-
<span style="font-size:larger;">The Traveling Salesman problem</span>
 
-
 
-
The goal of this classic optimization problem is to craft a path visiting each location once and only once in the shortest distance possible.
 
-
 
-
 
-
{{SingleImage|imageWidthPlusTen=592|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/07.png|caption=Traveling Salesman Problem}}
 
-
 
-
 
-
{{SingleImage|imageWidthPlusTen=729|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/08.jpg|caption=Routing Problems}}
 
-
 
-
 
-
{{SingleImage|imageWidthPlusTen=740|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/09.jpg|caption=Traveling Salesman Problem Visualized}}
 
-
 
-
 
-
{{SingleImage|imageWidthPlusTen=766|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/10.jpg|caption=Traveling Salesman Problem Visualized}}
 
-
{{SingleImage|imageWidthPlusTen=444|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/11.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=444|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/11.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=766|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/12.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=766|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/12.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=719|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/13.jpg|caption=}}
+
{{SingleImage|imageWidthPlusTen=719|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/13.jpg|caption=}}
-
{{SingleImage|imageWidthPlusTen=766|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/14.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=766|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/14.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=515|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/15.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=515|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/15.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=739|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/16.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=739|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/16.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=545|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/17.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=545|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/17.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=620|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/18.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=620|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/18.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=759|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/19.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=759|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/19.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=752|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/20.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=752|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/20.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=759|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/21.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=759|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/21.jpg|caption=Genetic Art Examples}}
-
{{SingleImage|imageWidthPlusTen=488|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/22.jpg|caption=Genetic Art Examples}}
+
{{SingleImage|imageWidthPlusTen=488|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/22.jpg|caption=Genetic Art Examples}}
<span style="font-size:larger">Image synthesis</span>
<span style="font-size:larger">Image synthesis</span>
-
Karl Sims uses an old idea to create new art. In this SigGraph paper he describes how mathematical expressions can be treated as an assembly of genes. Ashley Mills offers a simplified explaination of this method here.
+
Karl Sims uses an old idea to create new art. In this SigGraph paper he describes how mathematical expressions can be treated as an assembly of genes. His paper can be found [http://www.karlsims.com/papers/siggraph91.html here.]
Basically the expression is parsed into a tree structure, and then subjected to mutations, or a form of crossover by substituting entire branches of the tree. An equivalent implementation can be done by using text oriented regular expression processing techniques. The resulting phenotype is an image computed pixel by pixel by evaluating each expression substituting the specific (x,y) coordinate.
Basically the expression is parsed into a tree structure, and then subjected to mutations, or a form of crossover by substituting entire branches of the tree. An equivalent implementation can be done by using text oriented regular expression processing techniques. The resulting phenotype is an image computed pixel by pixel by evaluating each expression substituting the specific (x,y) coordinate.
-
{{SingleImage|imageWidthPlusTen=636|imageURL=http://www-viz.tamu.edu/courses/viza658/wiki/genetic/23.jpg|caption=Illustration of the tree structure technique with the expressions added}}
+
{{SingleImage|imageWidthPlusTen=636|imageURL=http://www.viz.tamu.edu/courses/viza658/wiki/genetic/23.jpg|caption=Illustration of the tree structure technique with the expressions added}}
* Image processing or video processing can be done by calculating pixel values as a function of (x,y,i,t) where i is the value of the image channel and t is time.
* Image processing or video processing can be done by calculating pixel values as a function of (x,y,i,t) where i is the value of the image channel and t is time.
 +
Worth noting in this realm is the NEvAr system that automates the fitness function by using (more or less) the ratio of two complexity measures, compressibility via JPEG versus compressibility via fractal methods. A paper documenting NEvAr can be found [https://estudogeral.sib.uc.pt/bitstream/10316/7641/1/obra.pdf here.]
== Interactive Genetic Art Installation ==
== Interactive Genetic Art Installation ==

Current revision

Personal tools