(Genetic Algorithm Interface Architecture) Final Presentation CS 425 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim.

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

A First Course in Genetic Algorithms
CS6800 Advanced Theory of Computation
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Exact and heuristics algorithms
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
1 Genetic Algorithms. CS The Traditional Approach Ask an expert Adapt existing designs Trial and error.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
1 Genetic Algorithms. CS 561, Session 26 2 The Traditional Approach Ask an expert Adapt existing designs Trial and error.
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.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Genetic Algorithms: A Tutorial
Genetic Algorithm.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
(Genetic Algorithm Interface Architecture) Final Presentation CS 499 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example.
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
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
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
Evolutionary Art with Multiple Expression Programming By Quentin Freeman.
GAIA (Genetic Algorithm Interface Architecture) Midterm Progress Presentation Created By: Charles Hall Héctor Aybar William Grim Simone Connors.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Exact and heuristics algorithms
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
 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.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
A l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure.
CS 8625 High Performance Computing Dr. Hoganson Copyright © 2003, Dr. Ken Hoganson CS8625 Class Will Start Momentarily… CS8625 High Performance.
Solving Function Optimization Problems with Genetic Algorithms September 26, 2001 Cho, Dong-Yeon , Tel:
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
N- Queens Solution with Genetic Algorithm By Mohammad A. Ismael.
GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.
Neural Networks And Its Applications By Dr. Surya Chitra.
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.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm(GA)
Evolutionary Design of the Closed Loop Control on the Basis of NN-ANARX Model Using Genetic Algoritm.
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.
Using GA’s to Solve Problems
Genetic Algorithms.
Traveling Salesman Problem by Genetic Algorithm
Presentation transcript:

(Genetic Algorithm Interface Architecture) Final Presentation CS 425 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim

WHAT IS A GENETIC ALGORITHM? Search algorithm that mimics natural genetics Searches for optimal solutions to complex functions Shared fundamental units of natural genetics Chromosomes Genes

WHAT IS A GENETIC ALGORITHM? Chromosome 7 Genes Chromosomes are usually represented as arrays

WHAT IS A GENETIC ALGORITHM? GA Hierarchy Populations are comprised of chromosomes A single chromosome is a member of the population Chromosomes are comprised of genes Genes contain values If the GA is solving f(x), then one chromosome is an ‘x’

WHAT IS A GENETIC ALGORITHM? Shared fundamental principles of natural genetics Crossover (parent chromosomes swap some genes) Mutation (specific genes are given new values) Parents/Offspring Populations/Generations Higher quality offspring have a better chance of reproducing and surviving (chromosomes are assigned a ‘fitness value’)

WHAT IS A GENETIC ALGORITHM? Choose parent chromosomes Perform Crossover Is the generation full? Is the generation full? Perform Mutation Place children in the next generation Have the convergence criteria been met? Have the convergence criteria been met? Terminate the algorithm Yes No Create another generation Create another generation Basic flow of the algorithm Can be specialized Elitism Convergence criteria  Number of generations  Best fitness value  Average fitness value Pool

Joe makes some decisions  Minimize between 0 and 15  Represent x with a 4 gene chromosome  Represent each gene with a single bit He writes a fitness function He randomly creates the first generation SCENARIO – minimize f(x) = x 2

Choose parent chromosomes Duplicate them Perform crossover Perform mutation Determine fitness value Store new chromosomes Choose parent chromosomes Duplicate them Perform crossover Perform mutation crossover point 1 0 mutation Determine fitness value Store new chromosomes

GAIA terminates after the 500th generation Best chromosome in the final generation: bit-string of all zeroes fitness value of 0 SCENARIO – minimize f(x) = x 2

WHY USE A GENETIC ALGORITHM? Calculus doesn’t always work It’s not feasible to try every possibility. 3 Vital fundamentals of genetics  Crossover (refine within a region)  Mutation (explore a new region)  Survival of the fittest

WHY USE A GENETIC ALGORITHM?

STAGED DELIVERY LIFECYCLE Architectural Design Architectural Design Requirements Analysis Requirements Analysis Software Concept Software Concept Stage 3: module efficiency prototype Delivery Date: December 6, 2004 Stage 3: module efficiency prototype Delivery Date: December 6, 2004 Stage 2: default integer and double-string prototype Delivery Date: November 8, 2004 Stage 2: default integer and double-string prototype Delivery Date: November 8, 2004 Stage 1: default bit-string and function pointer prototype Delivery Date: October 11, 2004 Stage 1: default bit-string and function pointer prototype Delivery Date: October 11, 2004 Delivery Testing Coding Detailed Design Detailed Design

STAGE 1 Function pointers and default bit string prototype User can specify a user-defined gene type Function pointers allow GAIA to use user supplied functions Bit string is the default gene type that will be provided Functions that perform operations on bit string gene types will be provided

STAGE 2 Default integer and double string prototype Integer gene type is a default gene type that will be provided Default functions to perform operations on integer gene types Double string gene type is a default gene type that will be provided Default functions to perform operations on double string gene types

STAGE 3 Module efficiency prototype Includes improvements to algorithms used in the GAIA library  Copy memory to and from internal data structures  Slows Gaia down  Make improvements to internal data structures Improves efficiency of GAIA library

TIMELINE FOR FALL 2004

WHY STAGED DELIVERY? Deliver a functioning part of GAIA library early in development Shows signs of progress to client Allows for the discovery of problems early in development Client knew exactly what wanted

TIMELINE FOR SPRING 2004

TEAM ORGANIZATION Edmond Abrahamian Client Edmond Abrahamian Client Simone Connors Project Member Simone Connors Project Member Hector Aybar Project Member Hector Aybar Project Member Mike Grim Project Member Mike Grim Project Member Chuck Hall Project Manager Chuck Hall Project Manager Dr. Yu Upper Management Dr. Yu Upper Management

HARDWARE/SOFTWARE MAPPING

3-Tier – Interface – Application Logic – Storage SYSTEM ARCHITECTURE Interface API Application Logic Genetic Algorithm Management Genetic Algorithm Management Storage Librarian Instance Storage Librarian Instance Storage

FLOW OF EVENTS (API) Create two pointers: Instance of GAIA GA Parameters structure Create two pointers: Instance of GAIA GA Parameters structure Initialize Memory: Instance of GAIA Instance of GA Parameters structure Initialize Memory: Instance of GAIA Instance of GA Parameters structure Primary application fills the initial population. Optimize problem using the genetic algorithm. (Details in another figure.) Optimize problem using the genetic algorithm. (Details in another figure.) Primary application asks for the solution to be returned to it. Primary application asks for the solution to be returned to it. Free all the memory associated with an instance of GAIA. Free all the memory associated with an instance of GAIA. Primary application requests a human-readable error to be returned. Primary application requests a human-readable error to be returned. GA Parameters and Function Pointers are setup: parameters delete_chromosome copy_chromosome crossover mutation selection fitness GA Parameters and Function Pointers are setup: parameters delete_chromosome copy_chromosome crossover mutation selection fitness Is there an error? Is there an error? Yes If no error, just return. No

FLOW OF EVENTS: GENETIC ALGORITHM Precondition: Initial population has been filled and all Fitness values have been calculated. Precondition: Initial population has been filled and all Fitness values have been calculated. Select 2 parent chromosomes. Make 2 copies of each. Perform crossover and mutation on one set. Calculate fitness values for the 2 children. Check each parent and child chromosome. Is it already in the pool? Check each parent and child chromosome. Is it already in the pool? Is the pool filled? Is the pool filled? Have any of the convergence criteria been met? Have any of the convergence criteria been met? Insert into the pool sorted by fitness value. Insert into the pool sorted by fitness value. Copy the best chromosomes from the pool into the next generation. Copy the best chromosomes from the pool into the next generation. Delete the copy. Halt the algorithm. Start creating the next generation. Yes No Yes

WHERE DO WE GO NOW? What affected our design Languages and Development Tools Plans for Implementation, Testing, and Development

WHAT AFFECTED OUR DESIGN? Unix/Linux Symmetric Multi-Processing Programming Languages: C XML Ensuring functions are reentrant Abstraction Dynamic Design

LANGUAGES AND DEVELOPMENT TOOLS Languages: C XML Development Tools: expat GCC/GDB CVS OpenOffice

PLANS FOR IMPLEMENTATION Two primary development leads: Chuck Mike Chuck will lead the implementation of the GA. Mike will lead the implementation of the API and support libraries. Mike Grim Lead Developer Mike Grim Lead Developer Chuck Hall Lead Developer Chuck Hall Lead Developer Héctor Aybar Backup Developer Héctor Aybar Backup Developer Simone Connors Backup Developer Simone Connors Backup Developer

PLANS FOR TESTING Two primary testing leads: Hector Simone Hector will lead the testing of the GA. Simone will lead the testing of the API and support libraries. Héctor Aybar Lead Tester Héctor Aybar Lead Tester Simone Connors Lead Tester Simone Connors Lead Tester Mike Grim Backup Tester Mike Grim Backup Tester Chuck Hall Backup Tester Chuck Hall Backup Tester

PLANS FOR TESTING Hierarchical Testing Plan Unit Testing (During Implementation) Integration Testing System Testing (F6 Function) Acceptance Testing

PLANS FOR DEPLOYMENT Client will take source and Makefiles. Client will build GAIA and link with his code. Code will be available to client in multiple forms: CVS of most recent code Tarball (archive) of latest stable build Code and project site will be transferred to SourceForge.

WHAT IS IT THOU SEEKS?