Artificial Intelligence in Information Processing Genetic Algorithms by Theresa Kriese for Distributed Data Processing
Content Introduction Understanding: Travelling Salesman Problem Biological Background GA’s in Information Processing Summary Sources
How to solve problems, that are so complex, that you can not get an exact solution in an appropriate time?
Travelling Salesman Problem The Problem: A Salesman needs to go to n cities for work. In each city, he has one customer. Because he doesn’t want to travel so long, he needs to find the shortest possible route. He knows the single distances between two cities. optimisation problem not one solution, but the best possible no wrong or right solution
How could you solve the problem? for all possible ways, the distance must be found with increasing n, the problem soon gets too complex NP-Algorithm: problem can’t be solved in polynomial time / the needed calculating steps can’t be described by a polynomial that’s more, than the amount of elementary particles in the universe! * 10 cities = over possibilities * 24 cities = 1.3*10^22 poss. * 120 cities = 6*101^96 poss.
This can’t be the right way.. no combinatorial solving For practical use: Instead of an optimum (shortest route ever) after a long time It’s better to get a suboptimum (short, but probably not the shortest) in the short-run Example: optimal route for visiting the 15 biggest cities in Germany
Let’s ask the nature! She is solving complex problems for hundreds of centuries!
Biological Background Different processes during the reproduction of a population in a long period of time aspire a perfectly adapted group of individuals in the end. Image:
Mutation Images: roject/mutation2.gif
Selection Image:
Recombination (Crossover) Image:
But how can we use it in Information Processing?
When do we need genetic algorithms? Timetabling problems Bioinformatics Code-breaking Software Engineering Scheduling applications Marketing analysis File allocation for distribution systems Learning algorithms in neural networks
How does it work? -Different solution candidates - fitness function -Selection -Mutation -Recombination -if break-up criteria is fulfilled Best found solution
Steps in practice Initialisation - generation of all possible “individuals” (solution candidates) by chance 1st generation - encoding to binary code Evaluation - using a fitness function, the fitness of each solution candidate is calculated
Process Selection - random selection of solution candidates - the higher the fitness, the higher the probability to be selected Mutation - random modification of candidates
Recombination (crossing over) Mutation and crossing over are methods to generate a 2nd generation population. New generation replaces worst ranked parts of the generation before. Due to the repeating processes, the generations are getting closer to an optimum. The whole process continues until a break-up criteria occurs.
Example
Images:
Understanding: Scheduling Example: hospital working in shifts many factors to consider: - law regulations - personal wishes for days off - shift premium - certain amount of doctors and nurses very complex information cluster in one big database program works out optimum schedule by using genetic algorithms
Summary Based on the biological evolution Genetic operators used: - selection - mutation - recombination Developed to solve optimisation problems Can not give an exact solution but is approaching an optimum
Sources [en,de] www-e.uni-magdeburg.de/harbich/genetische_algorithmen [de] [de] [de] Volume 39, Issue 5, September 2003, Pages [en] [de]
THANK YOU FOR ATTENTION!