Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime
Genetic Algorithm
Presentation is about genetic algorithms. Also it includes introduction to soft computing and hard computing. Hope it serves the purpose and be useful for reference.
Presentation is about genetic algorithms. Also it includes introduction to soft computing and hard computing. Hope it serves the purpose and be useful for reference.
This presentation is intended for giving an introduction to Genetic Algorithm. Using an example, it explains the different concepts used in Genetic Algorithm. If you are new to GA or want to refresh concepts , then it is a good resource for you.
The GENETIC ALGORITHM is a model of machine learning which derives its behavior from a metaphor of the processes of EVOLUTION in nature. Genetic Algorithm (GA) is a search heuristic that mimics the process of natural selection. This heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions to optimization and search problems.
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on bio-inspired operators such as mutation, crossover and selection.
This presentation is intended for giving an introduction to Genetic Algorithm. Using an example, it explains the different concepts used in Genetic Algorithm. If you are new to GA or want to refresh concepts , then it is a good resource for you.
The GENETIC ALGORITHM is a model of machine learning which derives its behavior from a metaphor of the processes of EVOLUTION in nature. Genetic Algorithm (GA) is a search heuristic that mimics the process of natural selection. This heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions to optimization and search problems.
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on bio-inspired operators such as mutation, crossover and selection.
Genetic algorithm are an optimization technique used to solve nonlinear or non differentiable optimization problems.
They use concepts from evolutionary biology to search for a global minimum to an optimization problem.
Genetic algorithms work by starting with an initial generation of candidate solutions that are tested against the objective function. We then generate subsequent generation of point from the first generation through selection, crossover and mutation.
Lets take a look at the different technique selection crossover and mutation on an example of a binary problem where the variables in the optimization problem can either take on a value of zero or one.
Selection means to retain the best performing parents from one generation to the next
To selection those make it through to the next generation just because they performed well in the previous generation
Now because they performed well they might also be used for crossover and then cross over what we do is we select common similarities between the different parent variables and keep those the same to create children variables that will be in the next generation.
The last thing is what’s known as mutation where we take a parent and mutate certain variables to take on random values and we create a child based off of the mutation.
A mutation allow genetic algorithms to avoid falling into local minima and it really helps them explore the solution space well.
So lets see an example of how this might work on an optimization problem of two variables x and y and the three sets of contours that we have here are each different minima to the optimization problem.
Now the green minima and the red minima our local minima while the blue one actually happens to be a global minima.
The yellow dots on here are the initial points , are the first generation for my genetic algorithm.
So the first step that the genetic algorithm does is . it evaluates all these points and determines the fitness function value for each one of them.
The next thing that will do is it will select a few good solution as the parent two continue on to the next generation.
So these green points here did we will keep those for the next generation and will also use them to create the subsequent generation.
So for iteration 2 regenerate those new points through selection crossover and mutation and then we evaluate the new population
We then repeat this process of generating new generation until the algorithm converges.
Genetic algorithms can converges through a variety of convergence criteria.
A couple popular ones are a fixed number of generation so the genetic algorithm will just run until it hit a certain number of generations
Another one is it will converge when the best objective function or best fitness function value is no longer changing or its changing by a really small amount.
Finite Element Analysis of Composites by Dan MilliganIulian J
Firehole Composites was recently invited to present at the 2012 Rocky Mountain SAMPE Fall Workshop. Dan Milligan from Firehole gave a presentation entitled "Finite Element Analysis of Composites".
Below is the abstract of the presentation:
Overview of topics that should be considered when using the finite element method to simulate the response of a laminated composite at the structural, component, or coupon level. Consequences of various choices will be discussed, and recommendations for best practices will be presented.
Topics covered in the presentation include:
Setting up the Best FEA Model
Moving from 2D to 3D Modeling
Composite Failure Theories
Progressive Failure
Performance of genetic algorithm is flexible enough to make it applicable to a wide range of problems, such as the problem of placing N queens on N by N chessboard in order that no two queens can attack each other which is known as ‘n-Queens problem.
Lack of information about details of the problem made genetic algorithm confused in searching state space of the problem
An Introduction To Applied Evolutionary Meta Heuristicsbiofractal
This presentation introduces some of the main themes in modern evolutionary algorithm research while emphasising their application to problems that exhibit real-world complexity.
Guest Lecture about genetic algorithms in the course ECE657: Computational Intelligence/Intelligent Systems Design, Spring 2016, Electrical and Computer Engineering (ECE) Department, University of Waterloo, Canada.
For three decades, many mathematical programming methods have been developed to solve optimization problems. However, until now, there has not been a single totally efficient and robust method to coverall optimization problems that arise in the different engineering fields.Most engineering application design problems involve the choice of design variable values that better describe the behaviour of a system.At the same time, those results should cover the requirements and specifications imposed by the norms for that system. This last condition leads to predicting what the entrance parameter values should be whose design results comply with the norms and also present good performance, which describes the inverse problem.Generally, in design problems the variables are discreet from the mathematical point of view. However, most mathematical optimization applications are focused and developed for continuous variables. Presently, there are many research articles about optimization methods; the typical ones are based on calculus,numerical methods, and random methods.
The calculus-based methods have been intensely studied and are subdivided in two main classes: 1) the direct search methods find a local maximum moving a function over the relative local gradient directions and 2) the indirect methods usually find the local ends solving a set of non-linear equations, resultant of equating the gradient from the object function to zero, i.e., by means of multidimensional generalization of the notion of the function’s extreme points from elementary calculus given smooth function without restrictions to find a possible maximum which is to be restricted to those points whose slope is zero in all directions. The real world has many discontinuities and noisy spaces, which is why it is not surprising that the methods depending upon the restrictive requirements of continuity and existence of a derivative, are unsuitable for all, but a very limited problem domain. A number of schemes have been applied in many forms and sizes. The idea is quite direct inside a finite search space or a discrete infinite search space, where the algorithms can locate the object function values in each space point one at a time. The simplicity of this kind of algorithm is very attractive when the numbers of possibilities are very small. Nevertheless, these outlines are often inefficient, since they do not complete the requirements of robustness in big or highly-dimensional spaces, making it quite a hard task to find the optimal values. Given the shortcomings of the calculus-based techniques and the numerical ones the random methods have increased their popularity.
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
This lecture provides an overview on biological evolution and genetic algorithms in a machine learning context. We will start off by going through a broad overview of the biological evolutionary process and then explore how genetic algorithms can be developed that mimic these processes. We will dive into the types of problems that can be solved with genetic algorithms and then we will conclude with a series of practical examples in R which highlights the techniques: The Knapsack Problem, Feature Selection and OLS regression, and constrained optimizations.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 4
Class GA. Genetic Algorithm,Genetic Algorithm
1. 1Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
“Genetic Algorithms are
good at taking large,
potentially huge search
spaces and navigating
them, looking for optimal
combinations of things,
solutions you might not
otherwise find in a
lifetime.”
Raed ALBADRI
Genetic AlgorithmsGenetic Algorithms
2. 2Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Genetic Algorithm
Directed search algorithms based on
the mechanics of biological evolution
Developed by John Holland, University
of Michigan (1970’s)
♦ To understand the adaptive processes of
natural systems
♦ To design artificial systems software that
retains the robustness of natural systems
3. 3Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Genetic Algorithm (cont.)
Provide efficient, effective techniques
for optimization and machine learning
applications
Widely-used today in business,
scientific and engineering circles
4. 4Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Classes of Search Techniques
F in o n a c c i N e w to n
D ire c t m e th o d s In d ire c t m e th o d s
C a lc u lu s -b a s e d te c h n iq u e s
E v o lu tio n a ry s tra te g ie s
C e n tr a liz e d D is tr ib u te d
P a r a lle l
S te a d y -s ta te G e n e r a tio n a l
S e q u e n tia l
G e n e tic a lg o r ith m s
E v o lu tio n a r y a lg o r ith m s S im u la te d a n n e a lin g
G u id e d r a n d o m s e a r c h te c h n iq u e s
D y n a m ic p ro g ra m m in g
E n u m e ra tiv e te c h n iq u e s
S e a r c h te c h n iq u e s
5. 5Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Components of a GA
A problem to solve, and ...
Encoding technique (gene, chromosome)
Initialization procedure (creation)
Evaluation function (environment)
Selection of parents (reproduction)
Genetic operators (mutation, recombination)
Parameter settings (practice and art)
6. 6Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Simple Genetic Algorithm
{
initialize population;
evaluate population;
while TerminationCriteriaNotSatisfied
{
select parents for reproduction;
perform recombination and mutation;
evaluate population;
}
}
7. 7Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
The GA Cycle of Reproduction
reproduction
population evaluation
modification
discard
deleted
members
parents
children
modified
children
evaluated children
8. 8Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Population
Chromosomes could be:
♦ Bit strings (0101 ... 1100)
♦ Real numbers (43.2 -33.1 ... 0.0 89.2)
♦ Permutations of element (E11 E3 E7 ... E1 E15)
♦ Lists of rules (R1 R2 R3 ... R22 R23)
♦ Program elements (genetic programming)
♦ ... any data structure ...
population
9. 9Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Reproduction
reproduction
population
parents
children
Parents are selected at random with
selection chances biased in relation to
chromosome evaluations.
10. 10Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Chromosome Modification
modification
children
Modifications are stochastically triggered
Operator types are:
♦ Mutation
♦ Crossover (recombination)
modified children
11. 11Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Mutation: Local Modification
Before: (1 0 1 1 0 1 1 0)
After: (0 1 1 0 0 1 1 0)
Before: (1.38 -69.4 326.44 0.1)
After: (1.38 -67.5 326.44 0.1)
Causes movement in the search space
(local or global)
Restores lost information to the population
12. 12Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Crossover: Recombination
P1 (0 1 1 0 1 0 0 0) (0 1 0 0 1 0 0 0) C1
P2 (1 1 0 1 1 0 1 0) (1 1 1 1 1 0 1 0) C2
Crossover is a critical feature of genetic
algorithms:
♦ It greatly accelerates search early in
evolution of a population
♦ It leads to effective combination of
schemata (subsolutions on different
chromosomes)
*
13. 13Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Evaluation
The evaluator decodes a chromosome and
assigns it a fitness measure
The evaluator is the only link between a
classical GA and the problem it is solving
evaluation
evaluated
children
modified
children
14. 14Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Deletion
Generational GA:
entire populations replaced with each iteration
Steady-state GA:
a few members replaced each generation
population
discard
discarded members
17. 17Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
A Simple Example
The Traveling Salesman Problem:
Find a tour of a given set of cities so that
♦ each city is visited only once
♦ the total distance traveled is minimized
18. 18Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Representation
Representation is an ordered list of city
numbers known as an order-based GA.
1) London 3) Dunedin 5) Beijing 7) Tokyo
2) Venice 4) Singapore 6) Phoenix 8) Victoria
CityList1 (3 5 7 2 1 6 4 8)
CityList2 (2 5 7 6 8 1 3 4)
19. 19Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Crossover
Crossover combines inversion and
recombination:
* *
Parent1 (3 5 7 2 1 6 4 8)
Parent2 (2 5 7 6 8 1 3 4)
Child (5 8 7 2 1 6 3 4)
This operator is called the Order1 crossover.
25. 25Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Best Solution (Distance = 420)
TSP30 Solution (Performance = 420)
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
x
y
26. 26Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Overview of Performance
TSP30 - Overview of Performance
0
200
400
600
800
1000
1200
1400
1600
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Generations (1000)
Distance
Best
Worst
Average
27. 27Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Considering the GA Technology
“Almost eight years ago ...
people at Microsoft wrote
a program [that] uses
some genetic things for
finding short code
sequences. Windows 2.0
and 3.2, NT, and almost
all Microsoft applications
products have shipped
with pieces of code
created by that system.”
- Nathan Myhrvold, Microsoft Advanced
Technology Group, Wired, September 1995
28. 28Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Issues for GA Practitioners
Choosing basic implementation issues:
♦ representation
♦ population size, mutation rate, ...
♦ selection, deletion policies
♦ crossover, mutation operators
Termination Criteria
Performance, scalability
Solution is only as good as the evaluation
function (often hardest part)
29. 29Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Benefits of Genetic Algorithms
Concept is easy to understand
Modular, separate from application
Supports multi-objective optimization
Good for “noisy” environments
Always an answer; answer gets better
with time
Inherently parallel; easily distributed
30. 30Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Benefits of Genetic Algorithms (cont.)
Many ways to speed up and improve a
GA-based application as knowledge
about problem domain is gained
Easy to exploit previous or alternate
solutions
Flexible building blocks for hybrid
applications
Substantial history and range of use
31. 31Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
When to Use a GA
Alternate solutions are too slow or overly
complicated
Need an exploratory tool to examine new
approaches
Problem is similar to one that has already been
successfully solved by using a GA
Want to hybridize with an existing solution
Benefits of the GA technology meet key problem
requirements
32. 32Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Some GA Application Types
Domain Application Types
Control gas pipeline, pole balancing, missile evasion, pursuit
Design semiconductor layout, aircraft design, keyboard
configuration, communication networks
Scheduling manufacturing, facility scheduling, resource allocation
Robotics trajectory planning
Machine Learning designing neural networks, improving classification
algorithms, classifier systems
Signal Processing filter design
Game Playing poker, checkers, prisoner’s dilemma
Combinatorial
Optimization
set covering, travelling salesman, routing, bin packing,
graph colouring and partitioning
33. 33Wendy Williams
Metaheuristic Algorithms
Genetic Algorithms: A Tutorial
Conclusions
Question: ‘If GAs are so smart, why ain’t they rich?’
Answer: ‘Genetic algorithms are rich - rich in
application across a large and growing
number of disciplines.’
- David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning