GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.

Slides:



Advertisements
Similar presentations
CS6800 Advanced Theory of Computation
Advertisements

Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Genetic Algorithms By: Anna Scheuler and Aaron Smittle.
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Valery Frolov.  The algorithm  Fitness function  Crossover  Mutation  Elite individuals  Reverse mutations  Some statistics  Run examples.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
Genetic Algorithm for Variable Selection
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
7/2/2015Intelligent Systems and Soft Computing1 Lecture 9 Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Introduction,
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Programming.
Genetic Algorithm.
Evolutionary Intelligence
© Negnevitsky, Pearson Education, CSC 4510 – Machine Learning Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University.
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.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
(Genetic Algorithm Interface Architecture) Final Presentation CS 499 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim.
Chapter 8 The k-Means Algorithm and Genetic Algorithm.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms Introduction Advanced. Simple Genetic Algorithms: Introduction What is it? In a Nutshell References The Pseudo Code Illustrations Applications.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
© Negnevitsky, Pearson Education, Lecture 9 Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Introduction,
Genetic Algorithms. Evolutionary Methods Methods inspired by the process of biological evolution. Main ideas: Population of solutions Assign a score or.
GAIA (Genetic Algorithm Interface Architecture) Midterm Progress Presentation Created By: Charles Hall Héctor Aybar William Grim Simone Connors.
 Negnevitsky, Pearson Education, Lecture 9 Evolutionary Computation: Genetic algorithms n Introduction, or can evolution be intelligent? n Simulation.
Evolution Programs (insert catchy subtitle here).
 Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges.
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.
Genetic Algorithms. 2 Overview Introduction To Genetic Algorithms (GAs) GA Operators and Parameters Genetic Algorithms To Solve The Traveling Salesman.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
CS 8625 High Performance Computing Dr. Hoganson Copyright © 2003, Dr. Ken Hoganson CS8625 Class Will Start Momentarily… CS8625 High Performance.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
Solving Function Optimization Problems with Genetic Algorithms September 26, 2001 Cho, Dong-Yeon , Tel:
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
Innovative and Unconventional Approach Toward Analytical Cadastre – based on Genetic Algorithms Anna Shnaidman Mapping and Geo-Information Engineering.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Neural Networks And Its Applications By Dr. Surya Chitra.
(Genetic Algorithm Interface Architecture) Final Presentation CS 425 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim.
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 Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
Genetic Algorithms. Solution Search in Problem Space.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm(GA)
GENETIC ALGORITHM By Siti Rohajawati. Definition Genetic algorithms are sets of computational procedures that conceptually follow steps inspired by the.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
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.
July 6, 2016Knowledge-Based System, Lecturer # 09 1 Knowledge Based System Lecture #09 Dr. Md. Hasanuzzaman Assistant Professor Department of Computer.
Introduction to Genetic Algorithms
Introduction to Genetic Algorithm (GA)
Artificial Intelligence Project 2 Genetic Algorithms

EE368 Soft Computing Genetic Algorithms.
Genetic algorithms: case study
SURVIVAL OF THE FITTEST
Coevolutionary Automated Software Correction
Presentation transcript:

GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone Connors

CLIENT AND PURPOSE OF GAIA Client Edmond Abrahamian of Tripos Inc. in St. Louis, Mo. Current system Cannot be used for legal reasons Purpose of GAIA Provide a genetic algorithm with desired functionality of previous system Provide optimal solutions to many problems Applied to area of bioinformatics, and many different applications Provide a system that is adaptable to many situations

CONCEPTS OF GENETIC ALGORITHMS Theory of Evolution All organisms have evolved through an unguided natural process, and from common ancestors by passing genetic traits on to their offspring Natural Selection/Survival of the Fittest Those organisms with the most beneficial traits are most likely to survive and reproduce

WHAT ARE GENETIC ALGORITHMS? Genetic Algorithms Uses “survival of the fittest “to form search algorithm Based on theory of evolution, natural selection, and genetics Produce optimal solutions to problems

GENETIC ALGORITHMS Solutions are represented as Chromosomes Chromosome Gene Genetic Algorithm creates populations of Chromosomes (solutions) through crossover and mutation Population Crossover Mutation

GENETIC ALGORITHMS Fitness of each chromosome is determined by fitness function Fitness Fitness Function

FUNCTIONAL REQUIREMENTS Read Parameters The system will read the following parameters from an XML file:  Population size (50)  Chromosome size (20)  Mutation rate (0.05)  Mutation decay (1)  Crossover probability (0.9)  Crossover type (1 point)  Elitism (off)  Number of iterations  Convergence criteria (average, 10 generations, ± 0.001) Best fitness value has not changed by ±x for the last y generations Average fitness value has not changed by ±x for the last y generations

User-Supplied Functions Crossover Mutation Selection Fitness Finalize Create Chromosome Delete Chromosome Copy Chromosome FUNCTIONAL REQUIREMENTS (cont.)

More Functional Requirements Multiple Populations User-defined gene type User-supplied chromosomes Population generation Fitness check Track values Elitism Debugging FUNCTIONAL REQUIREMENTS (cont.)

Nonfunctional Requirements No Graphical User Interface Applications Documentation Hardware and Software Considerations Performance Characteristics NONFUNCTIONAL REQUIREMENTS

Joe makes some decisions Minimize between 0 and 15 Represent x 2 with a 4 gene chromosome Represent each gene with a single bit No initial set of possible solutions SCENARIO – minimize x 2

Joe will keep the default functions for: Create chromosome Delete chromosome Copy chromosome Mutation (flips a single bit) Crossover (1 point) Selection (roulette wheel) Finalize (output to the screen) SCENARIO – minimize x 2

Joe will keep most of the default parameters, but will change: Mutation rate to.007 Population size to 8 Number of iterations to 500 Chromosome size to 4 He does this by changing values in the XML file SCENARIO – minimize x 2

Joe writes a fitness function Written in C Calculates the fitness value by:  Converting the bit-string to decimal  Squaring the decimal value SCENARIO – minimize x 2

Joe starts GAIA by telling it: Where to find the XML file Where to find his fitness function GAIA randomly generates initial population, calculates fitness values with Joe’s fitness function, and begins minimizing SCENARIO – minimize x 2

Initial population

SCENARIO – minimize x 2 Initial population

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

SCENARIO – minimize x 2 Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes

GAIA terminate before the 500 th iteration because of the convergence criteria Joe sees the statistics for the final generation Generation number Average fitness value Best fitness value Worst fitness value Joe asks for the stats on the best chromosome He sees a bit-string of all zeroes and now knows that zero is the function’s minimizer SCENARIO – minimize x 2

USE CASE DOCUMENT Use Case Name Produce GAIA results Participating Users Initiated by Tripos' primary application (PrimApp). Communicates with TriPos' PrimApp.

USE CASE DOCUMENT (cont.) Flow of events Activate GAIA by calling GAIA's gaia_startup() function. Decide here what data type to use:  bit string  integer string  double string  user defined type

USE CASE DOCUMENT (cont.) Tell gaia_startup() the XML configuration file path, initial size of population, and number of chromosomes. If an XML file path is given, read its contents first. XML file contains:  convergence criteria termination method (average) termination count (10 generations) termination threshold (+/ )  population size (50)  and so on...

USE CASE DOCUMENT (cont.) gaia_startup() (cont.) Override XML file defaults with initial size of population and/or number of chromosomes if these numbers are not zero.

USE CASE DOCUMENT (cont.) gaia_startup() (cont.) Create a new gaia_node_t and place it in an internal book- keeping data structure.  gaia_node_t will not directly represent the user's data.  gaia_node_t will contain function hooks and a data hook for user-defined functions and data, or our default functions and data.  gaia_node_t will contain variables for user-supplied parameters or default parameters.

USE CASE DOCUMENT (cont.) gaia_startup() (cont.) User may override chromosome creation function.  gaia_startup() returns an ID number associated with the newly created gaia_node_t.

USE CASE DOCUMENT (cont.) Receive optional parameters from PrimApp through separate function calls. As each of the following are called, set dirty flags for each of them, disallowing further modification of each: any of the parameters defined in the XML configuration file above. data type malloc hook crossover hook mutation hook and so on...

USE CASE DOCUMENT (cont.) Begin genetic algorithm execution when gaia_execute() is called. Return data to user by calling gaia_output(). If not overridden, this function will just return. Destroy instance of GAIA by calling gaia_shutdown().

USE CASE DOCUMENT (cont.) Entry conditions User calls a function of GAIA. Exit conditions GAIA completes genetic algorithm and returns a value indicating success. Answers are returned to user. GAIA generates an error and returns a value indicating failure. A failure code is returned to user.

USE CASE DOCUMENT (cont.) Quality requirements GAIA returns results to user as soon as a failure(s) is detected or GAIA has completed its genetic algorithm successfully. GAIA must accept user-specified functions and parameters as defined in the “Flow of events.”

USE CASE DIAGRAM

QUESTIONS?