ict619 intelligent systems topic 5: genetic algorithms

43
ICT619 Intelligent ICT619 Intelligent Systems Systems Topic 5: Genetic Topic 5: Genetic Algorithms Algorithms

Upload: camron-obrien

Post on 31-Dec-2015

224 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619 Intelligent SystemsICT619 Intelligent Systems

Topic 5: Genetic Topic 5: Genetic AlgorithmsAlgorithms

Page 2: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 22

Genetic AlgorithmsGenetic Algorithms

IntroductionIntroduction How GAs workHow GAs work The TSP as an exampleThe TSP as an example Business Applications of GABusiness Applications of GA Advantages of GA systemsAdvantages of GA systems Some issues related to GA based systemsSome issues related to GA based systems

Case StudyCase Study

Page 3: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 33

What is a genetic algorithm?What is a genetic algorithm?

GA part of the broader GA part of the broader soft computingsoft computing (aka (aka "computational intelligence") paradigm known as "computational intelligence") paradigm known as evolutionary computationevolutionary computation

First introduced by Holland (1975)First introduced by Holland (1975) Inspired by possibility of problem solving through a Inspired by possibility of problem solving through a

process of evolutionprocess of evolution

Page 4: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 44

What is a GA? (cont’d)What is a GA? (cont’d)

GA mimics biological evolution to generate better GA mimics biological evolution to generate better solutions from existing solutions throughsolutions from existing solutions through survival of the fittestsurvival of the fittest crossbreeding and crossbreeding and mutationmutation

Page 5: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 55

What is a GA? (cont’d)What is a GA? (cont’d)

A GA is capable of finding solutions for many problems A GA is capable of finding solutions for many problems for which no usable algorithmic solutions existfor which no usable algorithmic solutions exist

GA methodology particularly suited for GA methodology particularly suited for optimizationoptimization

Optimization searches a solution space consisting of a Optimization searches a solution space consisting of a large number of possible solutions large number of possible solutions

GA reduces the search space through evolution of GA reduces the search space through evolution of solutions, conceived as individuals in a populationsolutions, conceived as individuals in a population

Page 6: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 66

Intelligence and EvolutionIntelligence and Evolution

One way of understanding intelligence is as the capability of a creature One way of understanding intelligence is as the capability of a creature to adapt itself to an ever-changing environmentto adapt itself to an ever-changing environment

We normally think of adaptation as changes in the We normally think of adaptation as changes in the characteristics characteristics (including behaviours) of a single animal(including behaviours) of a single animal in response to experiences in response to experiences over its historyover its history

But adaptation is also change in the But adaptation is also change in the characteristics of a speciescharacteristics of a species, over , over the generations, in response to environmental changethe generations, in response to environmental change

An individual creature is in An individual creature is in competitioncompetition with other individuals of the with other individuals of the same species for resources, mates etc.same species for resources, mates etc.

There is also There is also rivalryrivalry from other species which may be a from other species which may be a directdirect (predator)(predator)or or indirectindirect (food, water, land, etc.) threat (food, water, land, etc.) threat

In nature, evolution operates on In nature, evolution operates on populations of organismspopulations of organisms, ensuring by , ensuring by natural selectionnatural selection that that characteristicscharacteristics that serve the members well tend that serve the members well tend to be passed on to the next generation, while those that don’t die outto be passed on to the next generation, while those that don’t die out

Page 7: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 77

Evolution as OptimisationEvolution as Optimisation

Evolution can be seen as a process leading to the Evolution can be seen as a process leading to the optimisation of a optimisation of a population’s ability to survivepopulation’s ability to survive and thus reproduce in a specific and thus reproduce in a specific environment. environment.

Evolutionary fitnessEvolutionary fitness - the measure of the ability to respond adequately - the measure of the ability to respond adequately to the environment, is the quantity that is actually optimised in natural to the environment, is the quantity that is actually optimised in natural lifelife

Consider a normal population of rabbits. Some rabbits are naturally Consider a normal population of rabbits. Some rabbits are naturally faster than others. Any characteristic has a faster than others. Any characteristic has a range of variationrange of variation that is due that is due to i) sexual reproduction and ii) mutationto i) sexual reproduction and ii) mutation

We may say that the faster rabbits possess superior fitness, since they We may say that the faster rabbits possess superior fitness, since they have a greater chance of avoiding foxes, surviving and then breedinghave a greater chance of avoiding foxes, surviving and then breeding

If two parents have superior fitness, there is a good chance that a If two parents have superior fitness, there is a good chance that a combination of their genes will produce an offspring with even higher combination of their genes will produce an offspring with even higher fitness. We say that there is fitness. We say that there is crossovercrossover between the parents’ genes between the parents’ genes

Over successive generations, the entire population of rabbits tends to Over successive generations, the entire population of rabbits tends to become faster to meet their environment challenges in the face of foxesbecome faster to meet their environment challenges in the face of foxes

Page 8: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 88

How GAs workHow GAs work

A population of candidate solutions - mathematical A population of candidate solutions - mathematical representations - is repeatedly altered until an optimal representations - is repeatedly altered until an optimal solution is foundsolution is found

The GA evolutionary cycleThe GA evolutionary cycle1.1. Starts with a randomly generated initial population of solutions Starts with a randomly generated initial population of solutions

(1(1stst generation) generation)

2.2. Selects a population of better solutions (next generation) by Selects a population of better solutions (next generation) by using a measure of 'goodness' (a fitness evaluation function)using a measure of 'goodness' (a fitness evaluation function)

3.3. Alters new generation population through crossbreeding and Alters new generation population through crossbreeding and mutationmutation

Processes of selection (step 2) and alteration (step 3) lead to Processes of selection (step 2) and alteration (step 3) lead to a population with a higher proportion of better solutionsa population with a higher proportion of better solutions

Page 9: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 99

How GAs work (cont’d)How GAs work (cont’d)

The GA evolutionary cycle continues until an The GA evolutionary cycle continues until an acceptable solution is found in the current population, acceptable solution is found in the current population, oror

some control parameter such as the maximum some control parameter such as the maximum number of generations is exceeded number of generations is exceeded

Page 10: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1010

How solutions are representedHow solutions are represented

A series of genes, known as a A series of genes, known as a chromosomechromosome, , represents one possible solutionrepresents one possible solution

Each Each genegene in the chromosome represents one in the chromosome represents one component of the solution pattern component of the solution pattern

Each gene can have one of a number of possible Each gene can have one of a number of possible values known as values known as allelesalleles

The process of converting a solution from its original The process of converting a solution from its original form into a chromosome is known as form into a chromosome is known as codingcoding

Page 11: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1111

How solutions are represented (cont’d)How solutions are represented (cont’d)

The most common form of representing a solution as a The most common form of representing a solution as a chromosome is a string of binary digits (aka a binary chromosome is a string of binary digits (aka a binary vector) eg 1010110101001vector) eg 1010110101001

Each bit in this string is a gene with two alleles: 0 and 1Each bit in this string is a gene with two alleles: 0 and 1

Other forms of representation are also used, eg, Other forms of representation are also used, eg, integer vectorsinteger vectors

Solution bit strings are Solution bit strings are decodeddecoded to enable them to be to enable them to be evaluated using a fitness measureevaluated using a fitness measure

Page 12: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1212

GA SelectionGA Selection

Selection in GA based on a process analogous to that Selection in GA based on a process analogous to that of biological evolutionof biological evolution

Only the fittest survive and contribute to the gene pool Only the fittest survive and contribute to the gene pool of the next generationof the next generation

Fitness proportional selectionFitness proportional selection Each chromosome’s likelihood of being selected is Each chromosome’s likelihood of being selected is

proportional to its proportional to its fitness valuefitness value..

Solutions failing selection are “bad”, and are discardedSolutions failing selection are “bad”, and are discarded

Page 13: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1313

Alteration = Crossover + MutationAlteration = Crossover + Mutation

Alteration rAlteration refines good solutions from current generation to efines good solutions from current generation to produce next generation of solutions produce next generation of solutions

Carried out by performing crossover and mutationCarried out by performing crossover and mutation

CrossoverCrossover by splicing two chromosomes at a crossover point and by splicing two chromosomes at a crossover point and swapping the spliced partsswapping the spliced parts

A better chromosome may be created by combining genes with A better chromosome may be created by combining genes with good characteristics from one chromosome with some good good characteristics from one chromosome with some good genes in the other chromosomegenes in the other chromosome

Crossover carried out with a probability – typically 0.7Crossover carried out with a probability – typically 0.7

Chromosomes not crossed over are clonedChromosomes not crossed over are cloned

Page 14: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1414

Crossover and MutationCrossover and Mutation

MutationMutation A random adjustment in the genetic compositionA random adjustment in the genetic composition Can be useful for introducing new characteristics in a Can be useful for introducing new characteristics in a

populationpopulation May be counterproductiveMay be counterproductive Probability kept low: typically 0.001 to 0.01Probability kept low: typically 0.001 to 0.01

Page 15: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1515

An albino is a common mutation

Page 16: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1616

The typical Genetic AlgorithmThe typical Genetic Algorithm

1.1. Represent the solution as a chromosome of fixed Represent the solution as a chromosome of fixed length, choose size of population N, crossover length, choose size of population N, crossover probabilityprobability p pcc and mutation probability p and mutation probability pmm..

2.2. Define a fitness function Define a fitness function f f for measuring fitness of for measuring fitness of chromosomes.chromosomes.

3.3. Create an initial solution population randomly of size Create an initial solution population randomly of size N: N:

xx11, x, x22, …, x, …, xNN

4.4. Use the fitness function Use the fitness function ff to evaluate the fitness value to evaluate the fitness value of each solution in the current generation: of each solution in the current generation:

ff(x(x11), ), ff(x(x22), …, ), …, ff(x(xNN))

Page 17: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1717

The typical Genetic Algorithm (cont’d)The typical Genetic Algorithm (cont’d)

5.5. Select “good” solutions based on fitness value. Select “good” solutions based on fitness value. Discard rest of the solutions.Discard rest of the solutions.

6.6. If acceptable solution(s) found in the current If acceptable solution(s) found in the current generation or maximum number of generations is generation or maximum number of generations is exceeded then stop.exceeded then stop.

7.7. Alter the solution population using crossover and Alter the solution population using crossover and mutation to create a new generation of solutions with mutation to create a new generation of solutions with population size N.population size N.

8.8. Go to step 4.Go to step 4.

Page 18: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1818

The typical Genetic Algorithm (cont’d)The typical Genetic Algorithm (cont’d)

Page 19: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 1919

The Travelling Salesperson ProblemThe Travelling Salesperson Problem

Given a set of Given a set of n n cities (cities (A, B, C,A, B, C, ...) find a closed tour of all cities ...) find a closed tour of all cities with the shortest total distance with the shortest total distance dd

Tour 'cost' may be something other than distance dTour 'cost' may be something other than distance d

This is an optimization problem with following constraintsThis is an optimization problem with following constraints

1.1. Each city to be visited once and only onceEach city to be visited once and only once 2.2. Total distance travelled must be shortest Total distance travelled must be shortest

possiblepossible

The time required to find a solution by exhaustive search The time required to find a solution by exhaustive search increases exponentially - the problem is NP-hardincreases exponentially - the problem is NP-hard

Possible number of tours for Possible number of tours for nn cities = n!/2n cities = n!/2n

1 million centuries for 50 cities at the rate of 1 billion tours per sec!1 million centuries for 50 cities at the rate of 1 billion tours per sec!

Page 20: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

In 1987, Martin Groetschel and Olaf Holland found an optimal tour of 666 interesting places in the world. Source: http://www.tsp.gatech.edu//index.html

The Travelling Salesperson ProblemThe Travelling Salesperson Problem

Page 21: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2121

The TSP example (cont’d)The TSP example (cont’d)

Representation and coding of TSP solutionsRepresentation and coding of TSP solutions

The representation might be an ordered list of numbers each The representation might be an ordered list of numbers each representing a city nominally (known as order-based GA):representing a city nominally (known as order-based GA):

1) London1) London 3) Dunedin3) Dunedin 5) Beijing5) Beijing 7) Tokyo7) Tokyo

2) Venice2) Venice 4) Singapore4) Singapore 6) Phoenix6) Phoenix 8) Victoria8) Victoria

CityList1CityList1 (3 5 7 2 1 6 4 8)(3 5 7 2 1 6 4 8)CityList2CityList2 (2 5 7 6 8 1 3 4)(2 5 7 6 8 1 3 4)

Alternatively, the representation of the solution may be Alternatively, the representation of the solution may be encoded in binary on a matrix...encoded in binary on a matrix...

Page 22: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2222

The TSP example (cont’d)The TSP example (cont’d)Representation and coding of TSP solutionsRepresentation and coding of TSP solutions A solution to the TSP problem is an ordered list of the A solution to the TSP problem is an ordered list of the nn

citiescities Each city is assigned 1 out of Each city is assigned 1 out of n n possible positionspossible positions Representation of the solution may be visualised as a Representation of the solution may be visualised as a

table:table: Each row represents a cityEach row represents a city Each column associated with a tour position for citiesEach column associated with a tour position for cities

Page 23: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2323

The TSP example (cont’d)The TSP example (cont’d)

The tour represented above is CAEBDCThe tour represented above is CAEBDC One possible bit string code for this solution:One possible bit string code for this solution:

01000 00010 1000 00001 0010001000 00010 1000 00001 00100(rows written end to end)(rows written end to end)

Binary bit strings can produce "faulty" chromosomes Binary bit strings can produce "faulty" chromosomes needing repairneeding repair

An integer vector scheme produced a 100 city tour An integer vector scheme produced a 100 city tour 9.4% above optimal cost9.4% above optimal cost

Page 24: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2424

An Optimal 100-City TourAn Optimal 100-City Tour

Page 25: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2525

Business Applications of GABusiness Applications of GA

Increasing number of industrial and business Increasing number of industrial and business applications of GA since late 1980sapplications of GA since late 1980s

In business, applications include (Kingdon 1997)In business, applications include (Kingdon 1997) Portfolio optimisationPortfolio optimisation Bankruptcy predictionBankruptcy prediction Financial forecastingFinancial forecasting Fraud detectionFraud detection SchedulingScheduling Design of complex Design of complex machines eg. jet enginesmachines eg. jet engines

Page 26: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2626

Business Applications of GA (cont’d)Business Applications of GA (cont’d)

First Quadrant - investment firm in First Quadrant - investment firm in CaliforniaCalifornia Started using GA technique in 1993Started using GA technique in 1993 Uses GA to manage US$5 billion worth of Uses GA to manage US$5 billion worth of

investments in 17 different countriesinvestments in 17 different countries Their evolved model earns, on average, $255 for Their evolved model earns, on average, $255 for

every $100 invested over six years, as opposed to every $100 invested over six years, as opposed to $205 for other types of modeling systems (Begley & $205 for other types of modeling systems (Begley & Beals, 1995)Beals, 1995)

Page 27: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2727

Advantages of GA systemsAdvantages of GA systems

Useful when no algorithms or heuristics are Useful when no algorithms or heuristics are available for solving a problemavailable for solving a problem

No formulation of the solution is required - only No formulation of the solution is required - only "recognition" of a good solution"recognition" of a good solution

A GA system can be built as long as a solution A GA system can be built as long as a solution representation and an evaluation scheme can representation and an evaluation scheme can be worked outbe worked out

So minimal domain expert access is requiredSo minimal domain expert access is required

Page 28: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2828

Advantages of GA systemsAdvantages of GA systems

GA can act as an alternative to -GA can act as an alternative to - Expert Systems if Expert Systems if

number of rules is too large or number of rules is too large or the nature of the knowledge-base too dynamicthe nature of the knowledge-base too dynamic

Traditional optimization techniques ifTraditional optimization techniques if constraints and objective functions are constraints and objective functions are non-linear non-linear

and/or and/or discontinuousdiscontinuous

Page 29: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 2929

Advantages of GA systems (cont'd)Advantages of GA systems (cont'd)

GA does not guarantee optimal solutions, but produce GA does not guarantee optimal solutions, but produce near optimal solutionsnear optimal solutions which are likely to be very good which are likely to be very good

Solution time with GA is highly predictable Solution time with GA is highly predictable Determined by Determined by Size of the population Size of the population Time taken to decode and evaluate a solution and Time taken to decode and evaluate a solution and Number of generations of population Number of generations of population

GA uses simple operations to solve problems that are GA uses simple operations to solve problems that are computationally prohibitive otherwisecomputationally prohibitive otherwiseExample: the TSP problem Example: the TSP problem

Page 30: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3030

Advantages of GA systems (cont'd)Advantages of GA systems (cont'd)

Because of simplicity, GA software are Because of simplicity, GA software are Reasonably sized and self-containedReasonably sized and self-contained Easier to embed them as a module in another Easier to embed them as a module in another

system system

GA can also aid in developing intelligent GA can also aid in developing intelligent business systems that use other business systems that use other methodologies, eg,methodologies, eg, Building the rule base of an expert systemBuilding the rule base of an expert system Finding optimal neural networksFinding optimal neural networks

Page 31: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3131

Some issues related to GA based Some issues related to GA based systemssystems

Level of explainabilityLevel of explainability Capability to explain why a particular solution was Capability to explain why a particular solution was

arrived at is practically nilarrived at is practically nil The system does not know what a fitness value really The system does not know what a fitness value really

meansmeans

ScalabilityScalability Moderately scalable Moderately scalable

Accommodates increased number of variables by Accommodates increased number of variables by increasing the length of the chromosomeincreasing the length of the chromosome

ButBut A longer chromosome means a larger population space A longer chromosome means a larger population space

(more potential combinations of genes)(more potential combinations of genes) More time required for decoding and fitness evaluationMore time required for decoding and fitness evaluation

Page 32: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3232

Some issues related to GA based Some issues related to GA based systems (cont’d)systems (cont’d)

Data requirementsData requirements In general, GA do not require extensive access to data In general, GA do not require extensive access to data

but some applications may need it to evaluate solutionsbut some applications may need it to evaluate solutions This makes the quality and quantity of data is importantThis makes the quality and quantity of data is important

Local maximaLocal maxima Local maxima are regions that hold good solutions Local maxima are regions that hold good solutions

relative to regions around them, but which do not relative to regions around them, but which do not necessarily contain the best overall solutionsnecessarily contain the best overall solutions

The region(s) that contain the best solutions are called The region(s) that contain the best solutions are called global maximaglobal maxima

GAs are less prone to being trapped in local maxima GAs are less prone to being trapped in local maxima because of the use of mutation and crossoverbecause of the use of mutation and crossover

Page 33: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3333

Some issues related to GA based Some issues related to GA based systems (cont’d)systems (cont’d)

Premature convergencePremature convergence A GA is said to have converged prematurely if it A GA is said to have converged prematurely if it

explores a local maximum extensivelyexplores a local maximum extensively

It may be then dominated by very similar solutions It may be then dominated by very similar solutions within the regionwithin the region

Most significant factor leading to such convergence is a Most significant factor leading to such convergence is a mutation rate which is too slowmutation rate which is too slow

Mutation interference is an effect opposite to that of Mutation interference is an effect opposite to that of premature convergencepremature convergence

Page 34: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3434

Some issues related to GA based Some issues related to GA based systems (cont’d)systems (cont’d)

Mutation interferenceMutation interference Finding a mutation rate which allows the GA to Finding a mutation rate which allows the GA to

converge but which also allows adequate exploration of converge but which also allows adequate exploration of the solution space is essential for satisfactory the solution space is essential for satisfactory performanceperformance

Mutation interferenceMutation interference occurs when mutation rates in a occurs when mutation rates in a GA are too high, and as a result: GA are too high, and as a result: Solutions are frequently or drastically mutatedSolutions are frequently or drastically mutated The algorithm never manages to explore any region of The algorithm never manages to explore any region of

the space thoroughlythe space thoroughly Any good solutions found tend to be destroyed rapidlyAny good solutions found tend to be destroyed rapidly

Page 35: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3535

Case Study - Help Desk Task Case Study - Help Desk Task Scheduling (Dhar & Stein 1997, pp.219-Scheduling (Dhar & Stein 1997, pp.219-227)227)

GA based system developed at Moody’s GA based system developed at Moody’s for scheduling service tasks to its for scheduling service tasks to its customer service representativescustomer service representatives

Major constraintsMajor constraints The systemThe system

Must minimise computer downtime and customer Must minimise computer downtime and customer dissatisfactiondissatisfaction

Must integrate with existing database system which kept track Must integrate with existing database system which kept track help desk requests.help desk requests.

Page 36: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3636

Case study – constraints (cont’d)Case study – constraints (cont’d)

Must be flexible to Must be flexible to Accommodate new types of task definitions and changes Accommodate new types of task definitions and changes

in employee, training etc.in employee, training etc. Allow administrator to modify solutionsAllow administrator to modify solutions

Must generate and reevaluate schedules quickly Must generate and reevaluate schedules quickly (under 15 minutes) and consistently(under 15 minutes) and consistently

Must not take administrator or CSRs away from their Must not take administrator or CSRs away from their jobs for any extended period of timejobs for any extended period of time

Must be developed quicklyMust be developed quickly

Page 37: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3737

Case study – constraints (cont’d)Case study – constraints (cont’d)

Should be scalable in case of future growth in number Should be scalable in case of future growth in number of requests for help and the number of CSRsof requests for help and the number of CSRs

Must not be too complicated for its users – the Must not be too complicated for its users – the administrator and CSRsadministrator and CSRs

The main difficulties in meeting the constraints: The main difficulties in meeting the constraints: the large number of tasksthe large number of tasks the large number of CSRsthe large number of CSRs the varying capabilities of CSRs, and the varying capabilities of CSRs, and the wide variety of tasksthe wide variety of tasks

Page 38: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3838

Case Study - Variables and issues Case Study - Variables and issues needing to be consideredneeding to be considered

The priority of a task, which is determined by the severity of The priority of a task, which is determined by the severity of the problemthe problem

The length of time required to perform the task and how it The length of time required to perform the task and how it would affect the servicing of other userswould affect the servicing of other users

The ability of various CSRs to perform different levels of The ability of various CSRs to perform different levels of tasks (expertise must match the complexity)tasks (expertise must match the complexity)

Low priority tasks must not be kept waiting indefinitelyLow priority tasks must not be kept waiting indefinitely

The measure of goodness of a schedule to be based on The measure of goodness of a schedule to be based on amount of downtime each schedule cost the organisation.amount of downtime each schedule cost the organisation.

Page 39: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 3939

Possible solution methodologies Possible solution methodologies consideredconsidered

1.1. Traditional linear programming (a numerical Traditional linear programming (a numerical optimisation technique)optimisation technique)

2.2. A rule based expert systemA rule based expert system3.3. A GA based systemA GA based system

ES ruled out becauseES ruled out because Expertise to solve this problem not expressible as a set of Expertise to solve this problem not expressible as a set of

rulesrules Help desk administrator not available for knowledge Help desk administrator not available for knowledge

extractionextraction

Linear programming ruled out becauseLinear programming ruled out because It fails if no optimal solution can be foundIt fails if no optimal solution can be found It does not produce any sub-optimal solutions, which is the It does not produce any sub-optimal solutions, which is the

case with GA.case with GA.

Page 40: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 4040

Case Study - the solutionCase Study - the solution

SOGA (Schedule Optimising for GA) SOGA (Schedule Optimising for GA) A hybrid system consisting of GA and fuzzy system A hybrid system consisting of GA and fuzzy system

componentscomponents The GA component deals with the scheduling task. The GA component deals with the scheduling task.

Each task in the queue is represented by a geneEach task in the queue is represented by a gene

The entire task list forms the chromosomeThe entire task list forms the chromosome

Each chromosome is decoded by a scheduling module Each chromosome is decoded by a scheduling module that assigns tasks to available CSRs who can perform that assigns tasks to available CSRs who can perform themthem

Page 41: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 4141

Case Study - the solution (cont’d)Case Study - the solution (cont’d)

Fitness of each chromosome is determined by calculating Fitness of each chromosome is determined by calculating the amount of downtime that would result based on the the amount of downtime that would result based on the schedule represented by the chromosome. schedule represented by the chromosome.

Schedules generated by the GA component are modified Schedules generated by the GA component are modified by the FS componentby the FS component

SOGA runs in the background behind the help request SOGA runs in the background behind the help request tracking systemtracking system

Updates schedules based upon a predefined time Updates schedules based upon a predefined time interval (eg, every 10 or 15 minutes)interval (eg, every 10 or 15 minutes)

CSRs access their current job queue through their CSRs access their current job queue through their interface to accept jobs. interface to accept jobs.

Page 42: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 4242

Case Study - ResultsCase Study - Results

The system is timely – generating schedules in about 5 The system is timely – generating schedules in about 5 minutes.minutes.

The solutions are found to be good by the help desk The solutions are found to be good by the help desk administratoradministrator

The system is flexible enough to allow for task The system is flexible enough to allow for task definitionsdefinitions

The system scales up well to larger domains (higher The system scales up well to larger domains (higher number of tasks)number of tasks)

The SOGA system was developed in two months using The SOGA system was developed in two months using one programmer overseen by its designersone programmer overseen by its designers

Page 43: ICT619 Intelligent Systems Topic 5: Genetic Algorithms

ICT619ICT619 4343

REFERENCESREFERENCES

Begley, S. and Beals, G. "Software au naturel." Begley, S. and Beals, G. "Software au naturel." NewsweekNewsweek, May 8, 1995, , May 8, 1995, p.70p.70

Dhar, V., & Stein, RDhar, V., & Stein, R., Seven Methods for Transforming Corporate ., Seven Methods for Transforming Corporate Data into Business IntelligenceData into Business Intelligence., Prentice Hall 1997, pp. 126-148, ., Prentice Hall 1997, pp. 126-148, 203-210.203-210.

Goldberg, D. E., Goldberg, D. E., Genetic and Evolutionary Algorithms Come of Genetic and Evolutionary Algorithms Come of AgeAge, Communications of the ACM, Vol.37, No.3, March 1994, , Communications of the ACM, Vol.37, No.3, March 1994, pp.113-119.pp.113-119.

Holland, J. H., Holland, J. H., Adaptation in Natural and Artificial Systems,Adaptation in Natural and Artificial Systems, Univ. Univ. of Michigan Press, 1975.of Michigan Press, 1975.

Kingdon, J., Kingdon, J., Intelligent Systems and Financial ForecastingIntelligent Systems and Financial Forecasting, , Springer Verlag, London 1997.Springer Verlag, London 1997.

Medsker,L., Medsker,L., Hybrid Intelligent SystemsHybrid Intelligent Systems, Kluwer Academic Press, , Kluwer Academic Press, Boston 1995.Boston 1995.

Michalewicz, Z., Michalewicz, Z., Genetic Algorithms + Data Structures = Evolution Genetic Algorithms + Data Structures = Evolution ProgramsPrograms, Springer-Verlag, Berlin 1996., Springer-Verlag, Berlin 1996.

Negnevitsky, M. Artificial Intelligence A Guide to Intelligent Negnevitsky, M. Artificial Intelligence A Guide to Intelligent Systems, Addison-Wesley 2005.Systems, Addison-Wesley 2005.