Genetic Algorithms /~gibson/teaching/csc7336/lecture3-geneticalgorithms.pdf

Similar documents
Laboratorio di Intelligenza Artificiale e Robotica

Laboratorio di Intelligenza Artificiale e Robotica

Artificial Neural Networks written examination

Implementation of Genetic Algorithm to Solve Travelling Salesman Problem with Time Window (TSP-TW) for Scheduling Tourist Destinations in Malang City

Evolution of Symbolisation in Chimpanzees and Neural Nets

Cooperative evolutive concept learning: an empirical study

A SURVEY OF FUZZY COGNITIVE MAP LEARNING METHODS

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

Knowledge-Based - Systems

Learning Methods for Fuzzy Systems

A Version Space Approach to Learning Context-free Grammars

CSC200: Lecture 4. Allan Borodin

Seminar - Organic Computing

ABSTRACT. A major goal of human genetics is the discovery and validation of genetic polymorphisms

Research Article Hybrid Multistarting GA-Tabu Search Method for the Placement of BtB Converters for Korean Metropolitan Ring Grid

Reinforcement Learning by Comparing Immediate Reward

DIANA: A computer-supported heterogeneous grouping system for teachers to conduct successful small learning groups

A simulated annealing and hill-climbing algorithm for the traveling tournament problem

Lecture 1: Machine Learning Basics

University of Groningen. Systemen, planning, netwerken Bosman, Aart

A Reinforcement Learning Variant for Control Scheduling

Radius STEM Readiness TM

Bluetooth mlearning Applications for the Classroom of the Future

Python Machine Learning

A Genetic Irrational Belief System

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Abstractions and the Brain

CS Machine Learning

Learning Methods in Multilingual Speech Recognition

Multiagent Simulation of Learning Environments

SARDNET: A Self-Organizing Feature Map for Sequences

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

On the Combined Behavior of Autonomous Resource Management Agents

Evolutive Neural Net Fuzzy Filtering: Basic Description

TD(λ) and Q-Learning Based Ludo Players

Learning and Transferring Relational Instance-Based Policies

The dilemma of Saussurean communication

Ordered Incremental Training with Genetic Algorithms

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Execution Plan for Software Engineering Education in Taiwan

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Rule Learning With Negation: Issues Regarding Effectiveness

Liquid Narrative Group Technical Report Number

A Pipelined Approach for Iterative Software Process Model

Bluetooth mlearning Applications for the Classroom of the Future

Ph.D in Advance Machine Learning (computer science) PhD submitted, degree to be awarded on convocation, sept B.Tech in Computer science and

Language Model and Grammar Extraction Variation in Machine Translation

The 9 th International Scientific Conference elearning and software for Education Bucharest, April 25-26, / X

(Sub)Gradient Descent

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

IT Students Workshop within Strategic Partnership of Leibniz University and Peter the Great St. Petersburg Polytechnic University

Discriminative Learning of Beam-Search Heuristics for Planning

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Visual CP Representation of Knowledge

Context Free Grammars. Many slides from Michael Collins

Test Effort Estimation Using Neural Network

WSU Five-Year Program Review Self-Study Cover Page

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Courses in English. Application Development Technology. Artificial Intelligence. 2017/18 Spring Semester. Database access

Experience and Innovation Factory: Adaptation of an Experience Factory Model for a Research and Development Laboratory

Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks

Improving software testing course experience with pair testing pattern. Iyad Alazzam* and Mohammed Akour

Computerized Adaptive Psychological Testing A Personalisation Perspective

Top US Tech Talent for the Top China Tech Company

Curriculum Vitae FARES FRAIJ, Ph.D. Lecturer

South Carolina English Language Arts

Infrared Paper Dryer Control Scheme

Massachusetts Institute of Technology Tel: Massachusetts Avenue Room 32-D558 MA 02139

Let s think about how to multiply and divide fractions by fractions!

Predicting Students Performance with SimStudent: Learning Cognitive Skills from Observation

Hi I m Ryan O Donnell, I m with Florida Tech s Orlando Campus, and today I am going to review a book titled Standard Celeration Charting 2002 by

Experiences Using Defect Checklists in Software Engineering Education

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

A Model to Detect Problems on Scrum-based Software Development Projects

Biology 10 - Introduction to the Principles of Biology Spring 2017

Data Fusion Models in WSNs: Comparison and Analysis

ZACHARY J. OSTER CURRICULUM VITAE

MARKETING MANAGEMENT II: MARKETING STRATEGY (MKTG 613) Section 007

ISFA2008U_120 A SCHEDULING REINFORCEMENT LEARNING ALGORITHM

Artificial Neural Networks

Interaction Design Considerations for an Aircraft Carrier Deck Agent-based Simulation

Reducing Features to Improve Bug Prediction

Information System Design and Development (Advanced Higher) Unit. level 7 (12 SCQF credit points)

have to be modeled) or isolated words. Output of the system is a grapheme-tophoneme conversion system which takes as its input the spelling of words,

2017 Florence, Italty Conference Abstract

Introduction to Causal Inference. Problem Set 1. Required Problems

Improving Fairness in Memory Scheduling

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Lecture 1: Basic Concepts of Machine Learning

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

The Round Earth Project. Collaborative VR for Elementary School Kids

Linking Task: Identifying authors and book titles in verbose queries

I N T E R P R E T H O G A N D E V E L O P HOGAN BUSINESS REASONING INVENTORY. Report for: Martina Mustermann ID: HC Date: May 02, 2017

Course Outline. Course Grading. Where to go for help. Academic Integrity. EE-589 Introduction to Neural Networks NN 1 EE

Learning Disability Functional Capacity Evaluation. Dear Doctor,

Using Genetic Algorithms and Decision Trees for a posteriori Analysis and Evaluation of Tutoring Practices based on Student Failure Models

Softprop: Softmax Neural Network Backpropagation Learning

Solving Combinatorial Optimization Problems Using Genetic Algorithms and Ant Colony Optimization

Transcription:

CSC7336 : Advanced SE for Smart Devices J Paul Gibson, D311 paul.gibson@telecom-sudparis.eu http://www-public.telecom-sudparis.eu/~gibson/teaching/csc7336/ /~gibson/teaching/csc7336/lecture3-geneticalgorithms.pdf 1

2

Evolutionary Algorithms Genetic Programming Solve optimization problems using techniques inspired by natural evolution Heuristic_based search, usually based on populations of candidate solutions encoded as strings of characters Members of the population are computer programs 3

Where did the idea come from? - R. M. Friedberg Machines would be more useful if they could learn to perform tasks for which they were not given precise methods. Difficulties that attend giving a machine this ability are discussed. It is proposed that the program of a stored-program computer be gradually improved by a learning procedure which tries many programs and chooses, from the instructions that may occupy a given location, the one most often associated with a successful result. R. M. Friedberg. 1958. A learning machine: part I. IBM J. Res. Dev. 2, 1 (January 1958), 2-13. DOI=10.1147/ rd.21.0002 http://dx.doi.org/10.1147/rd.21.0002 4

Where did the idea come from? - Marvin Minsky A computer can do, in a sense, only what it is told to do. But even when we do not know how to solve a certain problem, we may program a machine (computer) to search through some large space of solution attempts. Unfortunately, this usually leads to an enormously inefficient process. Minsky, Marvin. "Steps toward artificial intelligence." Proceedings of the IRE 49.1 (1961): 8-30. 5

Where did the idea come from? - H. J. Bremermann Problems involving vast numbers of possibilities will not be solved by sheer data processing quantity. We must look for quality, for refinements, for tricks, for every ingenuity that we can think of. Computers faster than those of today will be a great help. We will need them. However, when we are concerned with problems in principle, present day computers are about as fast as they ever will be. H. J. Bremermann. Optimization through evolution and recombination. In M. C. Yovits, G. T. Jacobi, and G. D. Golstine, editors, Proceedings of the Conference on Self-Organizing Systems 1962, pages 93 106, Washington, DC, 1962. Spartan Books.. 6

More Recommended Reading Goldberg, David E., and John H. Holland. "Genetic algorithms and machine learning." Machine Learning 3.2 (1988): 95-99. Braun, Heinrich. "On solving travelling salesman problems by genetic algorithms." Parallel Problem Solving from Nature (1991): 129-133. Back, Thomas, Ulrich Hammel, and H-P. Schwefel. "Evolutionary computation: Comments on the history and current state." Evolutionary computation, IEEE Transactions on 1.1 (1997): 3-17. Wolpert, David H., and William G. Macready. "No free lunch theorems for optimization." Evolutionary Computation, IEEE Transactions on 1.1 (1997): 67-82. Cantú-Paz, Erick. "A survey of parallel genetic algorithms." Calculateurs paralleles, reseaux et systems repartis 10.2 (1998): 141-171. Banzhaf, Wolfgang, et al. "Genetic programming." Intelligent Systems and their Applications, IEEE 15.3 (2000): 74-84. 7

Problem Space Initialization The Generic Pattern... Phenotype Encoding Genotype Selection Decoding Termination 8

Lots of Libraries Available 9

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Five functions to program: 1. Encoding 2. Evaluation 3. Crossover 4. Mutation 5. Decoding We do not consider this version 10

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Five functions to program: 1. Encoding This is simple: we just use a String to represent the order in which the towns/nodes are visited As a simplification we can enumerate the towns/nodes so that the string is any permutation of : 1234 n for problems with n nodes. Note: if the graph is not connected then we can artificially introduce an infinite weighting between any 2 nodes that are not directly connected 11

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Five functions to program: 2. Evaluation The fitness function is simple: just the length of the tour (which we want to minimize) 12

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Five functions to program: 3. Crossover There are lots of possible crossover functions. We will implement a cyclic crossover parent1 = 12345678 parent2 = 85213647 child = 1******* child = 1******8 child = 1*****78 child = 1**4**78 child = 15243678 Choose an arbitrary starting index in parent1 - here we chose 1. 4 is the cycle point This type of crossover is guaranteed to ensure the validity of the child s phentotype/genotype (in this case the permutation property) 13

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Five functions to program: 4. Mutation Mutation avoids getting stuck in local optimum state spaces which are not globally optimal After crossover we mutate a percentage of children (defined by the mutation index) There are many different types of mutation We choose a simple mutation which inverts a randomly chosen subtour. For example, child = 12345678, points 3 and 7, mutates to: child = 12765438 14

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Five functions to program: 5. Decoding This is very simple, once we have a solution that we are happy with then we transform the permutation into a Hamilton circuit. 15

Problem: Write a GA to solve TSP (in Java) without using the generic libraries Some additional things to consider: 1) The size of the initial population - risks of too big or too small? 2) The initialization of population state - how to achieve a good distribution? 3) How much mutation - risks of too much or too little? 4) Termination condition - time/iterations/stability 5) Testing - how to test if you don t know the answer? 6) Complexity Analysis - how much time/memory used to find a close enough answer TO DO: Implement the 5 functions that we have specified as Java methods, and compose into a complete solution. 16