Genetic Algorithms

sideskittlesΤεχνίτη Νοημοσύνη και Ρομποτική

24 Οκτ 2013 (πριν από 3 χρόνια και 5 μήνες)

73 εμφανίσεις

Genetic Algorithms

CS460: Capstone Experience Project

Sergii

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 is

a)
string of symbols

b)
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 TSP

b)
???

c)
Profit

TSP Solution Process

a)
Create initial population of routes

b)
Assess fitness of each route

c)
If not satisfactory
, create new population

d)
Introduce mutation (optional)

e)
Goto

b)

Choosing Implementation

Implementation

Assessment

Java 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 specie

c)
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?