50 likes | 147 Views
Alternate Computational Forms. We have found cases where... Solution space is very large, O(2 n ), O(n!) No algorithmic method to efficiently find the solution can be found The problem is too important to ignore What to do? Use techniques used to approximate solutions.
E N D
Alternate Computational Forms • We have found cases where... • Solution space is very large, O(2n), O(n!) • No algorithmic method to efficiently find the solution can be found • The problem is too important to ignore • What to do? Use techniques used to approximate solutions. • Heuristic solutions ( “Rule of thumb”) • Semi-random search through solution space • Non-optimal solutions found • Basic Dilemma: Balancing randomness required to explore solution space, with stability required to retain effective candidates. 11
Genetic Algorithms – Overview • Represents potential solutions as long strings, termed “genomes.” • More “fit” solutions are evolved as various genomes are tried and evaluated. • Higher rated (fit) genomes are allowed to survive and “reproduce” with other fit genomes. 01110000110100011001101 01110000110100011001101 01110110110100000100001 10110111001010001000011
Genetic Algorithms – Basic Sequence • Create initial population of random solutions • Evaluate fitness of each member of the population. • Use most fit members of the current generation to create new potential solutions: • Selection: Select two or three “parents.” • Crossover: Combine genetic material by copying from one parent, crossing over to the other parent periodically. • Mutation: Randomly modify a small subset of the new solution. • Acceptance: Incorporate the new solutions into the population (usually removing less fit members). • Repeat until fitness achieves some threshold or no longer increases.
Genetic Algorithms - Links • “Hello World!” • http://www.generation5.org/content/2003/gahelloworld.asp • Examples with Applets • http://cs.felk.cvut.cz/~xobitko/ga/ • More examples • http://www.mathworks.com/access/helpdesk/help/toolbox/gads/index.html?/access/helpdesk/help/toolbox/gads/f6691.html&http://www.google.com/search?hl=en&q=%22genetic+algorithm%22+example
Simulated Annealing • Based on annealing of metal: • High temperature transforms metallic crystals and allows them to bond randomly • Slowly lowering the temperature can allow the crystals to “freeze” in a preferred way. • Potential solutions that are “neighbors” of the current one are attempted randomly. • The “distance” between solutions is initially large, and grows smaller as the temperature “cools.”