20
Genetic Algorithms CS460: Capstone Experience Project Sergii S. Bilokhatniuk

Genetic Algorithms CS460: Capstone Experience Project Sergii S. Bilokhatniuk

Embed Size (px)

Citation preview

Genetic Algorithms

CS460: Capstone Experience ProjectSergii S. Bilokhatniuk

Project

• Simulate genetic algorithms and analyze effects of mutations

• General Requirement• Develop a gentle tutorial for the concept of genetic algorithms.• Pick an existing program and modify it.• The system graphically displays the state of each generation with appropriate

statistics that show progress toward the goal.• The system should allow dynamic modification of parameters, operators, and

probabilities.• Add your own genetic operators based on your analysis.• Pick a new problem and create a genetic solution by mutating populations. The

problem should be NP-complete and your results should be compared analytically to a known algorithm that approximates a solution.

Potential Applications of GA

virtually anything where potential solution isa) string of symbolsb) testable for fitness

• Generating automatons• Finding routes• Constructing formulas• Writing War & Peace (not really)• …

Choosing the Problem

Traveling Salesman Problem (TSP):Given a list of cities and a map of the roads• visit each city once,• come back to hometown• use the shortest route.

TSP, Domain and Range

• Input: Map• Output: Path

TSP Solution Process

a) Create boring presentation about TSPb) ???c) Profit

TSP Solution Process

a) Create initial population of routesb) Assess fitness of each routec) If not satisfactory, create new populationd) Introduce mutation (optional)e) Goto b)

Choosing Implementation

Implementation AssessmentJava Applet / JavaScript seems popular

Server-side (Java/.NET) model and client-side view-controller (JavaScript/HTML)

would be awesome

Standalone desktop application (C#, Window Forms)

could actually work

Species

Generation of Solution

a) select first/last node (using schemata*)b) randomly generate a speciec) test if good (not bad or ugly)d) Repeat

* — zero/one mask

Procreation

• Schema One

• Creates good/bad/ugly• Small rate of success

More Procreation

• Schema Two

• Greater rate of success• Creates Good/Ugly

Mutation

• Schema One, Random

• Generates mostly Bad/Ugly (for not-connected graph)

More Mutation

• Schema Two, Selective

• Generates Good/Ugly

Fitness

• Simple comparer– Maximum– Minimum– Average

Population Control

• Elitism Rate– % of population selected to be carried over to next

generation without change– Elite gets to procreate too– Discard same % of least performing part of

population• Mutation Rate– % of genes of each new specie that get mutated

Process

Demo

“Let There Be Algorithms…”

What I have learned

It was all worth it.

Thanks! I hope it went well

• Question?• Suggestions?• Job Offers?