Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | camron-obrien |
View: | 223 times |
Download: | 3 times |
ICT619 Intelligent SystemsICT619 Intelligent Systems
Topic 5: Genetic Topic 5: Genetic AlgorithmsAlgorithms
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
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
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
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
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
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
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
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
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
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
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
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
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
ICT619ICT619 1515
An albino is a common mutation
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))
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.
ICT619ICT619 1818
The typical Genetic Algorithm (cont’d)The typical Genetic Algorithm (cont’d)
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!
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
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...
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
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
ICT619ICT619 2424
An Optimal 100-City TourAn Optimal 100-City Tour
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
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)
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
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
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
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
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
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
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
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
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.
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
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
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.
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.
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
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.
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
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.