EVOLVING ANTS Enrique Areyan School of Informatics and Computing Indiana University January 24, 2012.

Slides:



Advertisements
Similar presentations
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Advertisements

CS6800 Advanced Theory of Computation
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Ant colony algorithm Ant colony algorithm mimics the behavior of insect colonies completing their activities Ant colony looking for food Solving a problem.
Ant Colony Optimization. Brief introduction to ACO Ant colony optimization = ACO. Ants are capable of remarkably efficient discovery of short paths during.
Optimizing genetic algorithm strategies for evolving networks Matthew Berryman.
Genetic Algorithms. Some Examples of Biologically Inspired AI Neural networks Evolutionary computation (e.g., genetic algorithms) Immune-system-inspired.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Estimation of Distribution Algorithms Ata Kaban School of Computer Science The University of Birmingham.
Study of a Paper about Genetic Algorithm For CS8995 Parallel Programming Yanhua Li.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Genetic Algorithm for Variable Selection
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Selecting Informative Genes with Parallel Genetic Algorithms Deodatta Bhoite Prashant Jain.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Ant Colony Optimization (ACO): Applications to Scheduling
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
Evolutionary Intelligence
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Improved Gene Expression Programming to Solve the Inverse Problem for Ordinary Differential Equations Kangshun Li Professor, Ph.D Professor, Ph.D College.
Swarm Intelligence 虞台文.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
Genetic Algorithms Genetic algorithms imitate a natural optimization process: natural selection in evolution. Developed by John Holland at the University.
Optimization of multi-pass turning operations using ant colony system Authors: K. Vijayakumar, G. Prabhaharan, P. Asokan, R. Saravanan 2003 Presented by:
Object Oriented Programming Assignment Introduction Dr. Mike Spann
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Friday, 16 February 2007 William.
Ant colony algorithm Ant colony algorithm mimics the behavior of insect colonies completing their activities Ant colony looking for food Solving a problem.
Algorithms and their Applications CS2004 ( ) 13.1 Further Evolutionary Computation.
1 Genetic Algorithms and Ant Colony Optimisation.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
ECE 103 Engineering Programming Chapter 52 Generic Algorithm Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
Chapter 12 FUSION OF FUZZY SYSTEM AND GENETIC ALGORITHMS Chi-Yuan Yeh.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Biologically Inspired Computation Ant Colony Optimisation.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Breeding Swarms: A GA/PSO Hybrid 簡明昌 Author and Source Author: Matthew Settles and Terence Soule Source: GECCO 2005, p How to get: (\\nclab.csie.nctu.edu.tw\Repository\Journals-
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
Genetic Algorithms.
Evolutionary Algorithms Jim Whitehead
Scientific Research Group in Egypt (SRGE)
Dr. Kenneth Stanley September 13, 2006
School of Computer Science & Engineering
Artificial Intelligence (CS 370D)
Example: Applying EC to the TSP Problem
Genetic Algorithms CSCI-2300 Introduction to Algorithms
EE368 Soft Computing Genetic Algorithms.
Artificial Intelligence CIS 342
Genetic algorithms: case study
Presentation transcript:

EVOLVING ANTS Enrique Areyan School of Informatics and Computing Indiana University January 24, 2012

About Me & Evolving Ants (EVA) Enrique Areyan – Master Student (CS) at SoIC. You can contact me at Also, check out my web page for this project! EVA - Final Project for I585 BionInspired Computing course, under the supervision of Dr. Luis Rocha. EVA was built on top of AntFramework, a project I did as my undergraduate thesis in UCV (Universidad Central de Venezuela)

Agenda Preliminaries Motivation What is EVA? The algorithm Evolutionary Strategy Simple Genetic Encoding L-System Genetic Encoding Genetic Operators Experiments Results Conclusion and Future Work

Preliminaries For the purpose of this project, EVA works in a perfect Maze (with some effort it can be made to work in other types of environments) A perfect Maze has one and only one path from any cell in the maze to any other cell. A cell is a node in a graph.

Motivation Is it true that by providing genetic information to each individual ant in an Ant Colony Optimization algorithm solutions may be found faster in environments that do not change often (e.g. Maze, the topology in a commercial network, etc)? How do we go about encoding such genetic information? How would such an strategy compare with traditional ant colony optimization and genetic algorithms?

What is EVA? EVA is a novel combination of traditional ant colony optimization (ACO) algorithm with genetic algorithm (GA). An ant is provided with genetic information (individual “memory”) that it uses together with stigmergic information (shared “memory”) to construct solutions to a path in a maze. The genes of an ant indirectly encode the series of steps it took to reach the source of food from its nest.

EVA Population of ants will be evolved using a GA, whose fitness function will test the "effort" ants made (i.e., number of steps) and cost function of the path found. The best or more “fit” ants will be reproduced using roulette wheel selection, random crossover point, fair probability of crossover and low probability of mutation. In latter runs of the algorithm, an ant will use both its internal and share memory to make the decision about which nodes to visit.

EVA – Decision Rule Genetic information of ant k Different encodings are possible Stigmergic information on node i going to node j Probability of ant k to visit node j when visiting node i α and β control the influence of the genetic and pheromone trail on on the ant’s decision Note that EVA generalizes ACO: By setting α=0, we have traditional ACO By setting β=0, we have traditional GA

The algorithm Initialize Parameters (ACO,GA,EvolvingAnts) Initialize Random Population of Ants While stop-condition-not-reached do Node = start node For each Ant in Population do While node-is-not-goal do Node = selectNextNode(node,ant) Run Genetic Algorithm with solutions found Function selectNextNode(node n,ant a) For each node reachable from n do Individual-Decision = a.develop() Collective-Decision = getPheromoneTrail(n) R = uniformRandomNumber(0,1) Choose node n’ such that R > (Individual-Decision + Collective- Decision) / normalizer factor Return n’

Evolutionary Strategy

Simple Encoding An ant’s gene is a string of fix length from the four-letter alphabet. A random string of a fixed length is generated and assigned as the ant’s genes. When making a decision, the function G is just the count of each letter in the string, e.g., if the ant’s gene is the string “UUDL”, then: G(“U”, “UUDL”) = 0.5, G(“D”, “UUDL”) =G(“L”, “UUDL”) = 0.25, and G(“R”, “UUDL”) = 0 This encoding is mainly used as a control case to test against more sophisticated strategies such as L-System.

Simple Encoding - Example U = 0.5 L = 0.25 R = 0.25 D = 0 Ant’s Gene = “UULR”

L-System Encoding Ant’s genes G=(Σ, σ,F), where Σ={U,D,L,R} σ ∈ Σ*, is the axiom, which is initialized to be a random string from Σ* the set of all possible strings of alphabet Σ F = {F 1,F 2,F 3,F 4 }, four rules that map from each letter in Σ to Σ*. Each rule is initialized randomly This is your typical L-System but with four production rules, each one mapping from an action in the maze to a string.

L-System Expression Unlike the simple gene, before the ant uses the information stored in its genes this must go trough a “developmental” phase: Iteration of the L-System a fix number of times resulting in string S The weights used as G(k) are now the proportion of each letter in the string S, similar to the simple gene.

Why use an L-System? There is a clear genotype/phenotype mapping between the system’s axiom and final string, through a developmental phase. Encode of self-similar information which can be useful in a maze structure where a lot of the decision are similar Compact a lot of information effectively. The L-System stands as a suitable metaphor for an ant’s genetic information.

Genetic Operations Those ants that constructed the best solution (so far) are selected for reproduction. How does this work? Simple encoding: the best ants’ genes are reproduced taking a random crossover point and allowing for mutation L-System encoding: The crossover operator takes two genes G u,G v, and a random number r uniformly distributed between 0 and 3, and replaces the rules (F 0,F r ) of gene G u with rules (F r,F 3 ) of gene G v. A single gene can also be mutated, meaning that a rule F j will be changed randomly.

Experiments EVA was tested on mazes of different sizes, i.e., from 20 cells to 300 cells, in increment of 10 cells. 20,30,40, …, 290 and 300. For each maze, different topologies of the mazes were tested. For instance, for the maze of dimension 40, three different topologies were created having 5, 10 and 20 cells per row. For each of these topologies, 10 different mazes were tested. For convenience, node 0 is the nest and node n is the food source.

Experiments Parameters used to test EVA EVA (parameters sets A through H) ACO (parameters I and J) Simple gene-EVA (A-D) L-System-EVA (E-H)

Results

Conclusion EVA is a viable optimization algorithm. Results of the experiments performed using EVA suggests that this algorithm outperforms a pure ACO algorithm when tested under the conditions previously described. The performance of EVA varies drastically with the choice of the genetic encoding of the evolutionary algorithm. An direct genotype/phenotype mapping (Simple Gene) is outperformed by another strategy that uses an intermediary, growth phase.

Conclusion – Future Work Other evolutionary strategies can be tested: Cellular automata Boolean Networks etc Other functions mapping from the string to actions in the environment can be created and tested. Other kind of environments can also be tested. Thank you for your attention!