[FREE PDF sample] Applied Evolutionary Algorithms in Java Ghanea Hercock Robert ebooks
[FREE PDF sample] Applied Evolutionary Algorithms in Java Ghanea Hercock Robert ebooks
com
https://textbookfull.com/product/applied-evolutionary-
algorithms-in-java-ghanea-hercock-robert/
OR CLICK BUTTON
DOWNLOAD NOW
https://textbookfull.com/product/polymorphism-in-java-methods-and-
polymorphic-algorithms-applied-to-computer-games-1st-edition-
privitera/
textboxfull.com
https://textbookfull.com/product/stable-mutations-for-evolutionary-
algorithms-andrzej-obuchowicz/
textboxfull.com
https://textbookfull.com/product/genetic-algorithms-in-java-basics-
jacobson-lee-kanber-burak/
textboxfull.com
https://textbookfull.com/product/beginning-java-with-websphere-expert-
s-voice-in-java-janson-robert-w/
textboxfull.com
Metaheuristic and Evolutionary Computation: Algorithms and
Applications Hasmat Malik
https://textbookfull.com/product/metaheuristic-and-evolutionary-
computation-algorithms-and-applications-hasmat-malik/
textboxfull.com
https://textbookfull.com/product/java-closures-and-lambda-fischer-
robert/
textboxfull.com
https://textbookfull.com/product/applied-fluid-mechanics-robert-l-
mott/
textboxfull.com
https://textbookfull.com/product/java-pocket-guide-fourth-edition-
robert-liguori/
textboxfull.com
Applied Evolutionary Algorithms
in Java
Springer Science+Business Media, LLC
Robert Ghanea-Hercock
Applied Evolutionary
Algorithms in Java
With 57 Illustrations
" Springer
Robert Ghanea-Hercock
BTexact Technologies
lntelligent Systems Laboratory
Main Lab Block, First Floor, pp12
Adastral Park
Martlesham Heath, lpswich IP5 3RE
UK
[email protected]
www.springer-ny.com
Acknow ledgements
I would like to acknowledge the following people who for various reasons were
involved in contributing to the creation of this book. I must particularly thank
Gary Lucas, the author of the Rossum mobile robot simulator, which forms the
basis for the second application in Chapter 5, as it was ideally suited to the
purpose of this text to promote Java and evolutionary algorithms in graduate
studies. Thanks also go to members of the Future Technologies group at
BTexact Technologies - in particular to Richard Tateson, Rob Shipman and
Paul Marrow for contributions, Erwin Bonsma for the Eos toolkit and appendix
material, and Mark Shackleton for allowing me time to work on this project.
Preface ........................................................................................................... v
Four billion years ago, the Earth was a molecular Garden of Eden. There
were as yet no predators. Some molecules reproduced themselves
inefficiently, competed for building blocks and left crude copies of
themselves. With reproduction, mutation and the selective elimination of the
least efficient varieties, evolution was well under way, even at the molecular
level. As time went on, they got better at reproducing. Molecules with
specialized functions eventually joined together, making a kind of molecular
collective - the first cell.
Carl Sagan, Cosmos, 1980
Evolution is a ubiquitous natural force that has shaped all life on Earth for
approximately 3.2 billion years. For several thousand years humanity has also
utlised artificial selection to shape domesticated plant and animal species. In the
past few decades, however, science has learned that the general principles at
work in natural evolution can also be applied to completely artificial
environments. In particular, within Computer Science the field of automated
machine learning has adopted algorithms based on the mechanisms exploited by
natural evolution.
One driving motivation for many researchers in Evolutionary Algorithms
(EA) and other machine learning fields is to create a set of automatic processes
that can translate high-level task descriptions into well-coded solutions. The
problem is that almost all commercially available software relies on handcrafted
and custom-written lines of code. This is always a time-consuming, expensive,
and error-prone process. For example, a typical modem operating system
contains several million lines of code and thousands of bugs, most of which are
tolerated and slowly weeded out by consumer effort (i.e., you). This may work
at present, but the cost and success rate of large and complex pieces of software
are a major concern to software developers. The result is a widening gap
between the capabilities of computing hardware and the quality and efficiency
of the software it runs. One solution being pursued is the open source movement
The remainder of this chapter will first review the challenges encountered in
EA and the software and hardware issues that impact the exploitation of
artificial evolution as a problem-solving method. Second, a brief overview of the
history and methods of machine learning is provided, as this introduces some
core concepts required later in the text.
A major barrier to the early adoption of EA in the computing domain came from
opposition within the computer science community itself. This was often based
on the mistaken belief that such algorithms, with probabilistic processes as a
core mechanism, would not be amenable to producing functional code.
Particularly as normal computer code is generally brittle, and very susceptible to
minor variations in structure. In Chapters 2 and 3 we develop the necessary
background to EA methods to understand why probabilistic selection· methods
can generate functional code. As Goldberg states:
In our haste to discount strictly random search techniques, we must be careful
to separate them from randomised techniques. The genetic algorithm is an
example of a search procedure that uses random choice as a tool to guide a
highly exploitative search through a coding of a parameter space. (Goldberg
1989,p.5)
The second barrier to EA development was the problem that contemporary
computing technology in software, and particularly hardware, in the early 1970s
was barely capable of generating useful results in acceptable time scales (i.e.,
less than a few weeks). This problem added to the belief that such methods,
while theoretically interesting, would never be capable of useful applications.
Fortunately the exponential development in computing systems has generated
both software and hardware that offer the necessary processing power and also
software sophistication in terms of efficient compilers and object-based design.
A modem high-specification desktop can generate useful results from an EA
within a few hours, in a typical application such as those described in Chapter 5.
In Chapter 6 some speculative ideas are discussed on the possibilities future
hardware will enable, such as using EA within real-time adaptive applications.
In particular, the possibility of using reconfigurable hardware based on Field
Programmable Gate Array devices, opens entirely new applications to EA
methods. This area is explored in Chapter 6.
0.5
instructive to consider the idea that in all machine search methods the no free
lunch theorem applies (Wolpert and Macready, 1995) that is:
all algorithms that search for an extremum of a cost function perform exactly
the same, when averaged over all possible cost functions. In particular, if
algorithm A outperforms algorithm B on some cost functions, then loosely
speaking there must exist exactly as many other functions where B
outperforms A. (Wolpert and Macready, 1995)
As with all of the machine learning methods fuzzy logic is not a panacea, but
it is highly effective in the control of complex engineering systems and can
provide a useful interface between other adaptive algorithms and physical
systems. An excellent introduction to fuzzy systems, which includes material on
neural networks and how the two systems can be combined, is Kosko's text
(Kosko, 1992). The advantages of fuzzy control systems can be divided into
theoretical and practical issues.
, SelectedC
,
I
d Product
30
x-axis, Cost
.,
••
FIGURE 1.2 Example fuzzy clustering technique applied to data points for an e-
commerce application. Using 4 input attributes to generate 4 clusters, from a range of 64
laptop computers. In this example a fuzzy rule system can help identify a product based
on a customers combined set of specified preferences. (Copyright BT ISR Laboratories,
1999.)
of ANN, which was dominant at the time; this virtually halted further research in
the subject.
In 1982, however, a seminal paper by Hopfield (Hopfield, 1982) reignited
interest in the field with a new model of a bidirectional ANN. Since then a large
research community has grown around the investigation of ANN models and
their application. One useful definition is
a neural network is a system composed of many simple processing elements
operating in parallel whose function is determined by network structure,
connection strengths, and the processing performed at computing elements or
nodes. (DARPA Neural Network Study, 1988, AFCEA Int. Press.)
Hidden Layer
Ho
Xo Yo
Inputs Outputs
XII
Input Output
weights Wij weights Wj .;
based on a deterministic process (see Kosko, 1992). The most frequently used
transfer function for a neural network is a sigmoidal function, as shown in
Figure 1.5.
1
f(x) = 1+ e(-a.x)
(Ll)
o 2 4
FIGURE 1.5 Example sigmoidal threshold function, used in ANN nodes, based on the
logistic sigmoid function in (1.1) a = gain factor, i.e., response time of the network.
1.6 Applications
The prime benefit of ANN is the ability to act as pattern recognisers and noisy
data classifiers. They can generalise decisions from poor-quality input data and
hence are ideal for a range of classification problems, such as
• Handwriting recognition
• Speech processing
• Image processing
• Digital and analogue signal processing
1.6 Applications 13
• Robot control
ANN may be categorised into two general types; feedforward and recurrent
(utilising feedback). They can also be divided into whether they use training
data to learn the required response (supervised) or use a self-organising method
(unsupervised) to learn. An example of the later is Kohenen networks (Kohenen,
1984). Unsupervised networks operate by clustering data into related groups
based on measuring the features acting as inputs to the network.
1.6.1 Problems
While there is an intuitive and appealing relationship between ANN and
biological neural systems, the artificial variety suffers from several
disadvantages. First, the universal approximation property may be theoretically
useful, but it fails to inform us how many hidden layers and nodes the network
may actually require for a given function. Second, the number of pairs of
training data pairs required to train even a simple network is often several
thousand. This generally requires a significant amount of computation. In
addition, the algorithms used to compute the weights are nontrivial and require
extensive processing. Finally, the most significant problem relates to
interpretation of the final trained network and its set of activation weights. It is
extremely difficult to extract the logical inference, which relates a given input
vector to an output response, namely, to understand how the network is
performing its specific task. This has led to the formation of the new subfield of
Rule-Extraction from ANN. In effect, the trained network is a black-box
mechanism. In contrast, fuzzy rule-based systems are intrinsically transparent to
inspection and analysis of which rules relate to specific behaviours of the
system.
It is also very important to note that contrary to popular opinion, biological
neurons are not simple function transducers (Koch, 1997); rather they should be
modeled as individual agents in their own right; or at least as having adaptive
properties. Cortical neurons contain a nucleus and cellular body and are
specialised but fully functional cells. Constructing simple three-layer
feedforward networks based on sigmoid functions and expecting them to model
natural neural computational structures is simply unrealistic. Significantly more
complex neural systems have, however, been designed. These may be based on
a cellular model, which can act in a co-operative manner to process complex
signals. Recent work on using cellular neural systems for controlling
autonomous software agents with a more realistic biological model has been
demonstrated by Cyberlife Technology Inc., in their "Creatures" product
(Cyberlife, Grand, 1996).
However, ANN systems do possess intrinsic learning and adaptive
capabilities, and these have been exploited in a range of advanced self-
organising controllers. An interesting example is mobile robot control systems.
14 1 Introduction to Evolutionary Computing
Robotic systems are a useful test platform for a wide range of machine learning
methods and frequent use of ANN has been made in this domain, as they offer a
way to investigate sensory integration and processing. They may also be used to
directly implement the sensor-actuator link or to control the interaction of lower-
level reactive behaviours.
As a result there are now a significant number of code libraries in both C and
C++ available to perform a vast range of EA operations. In Appendix A, a few
of the principal libraries are listed, particularly those available for open source
distribution.
However, there are also some disadvantages to these languages. First, C is a
relatively low-level language with few operators for complex data manipulation.
It can also be difficult for new students to learn and it can be difficult to
implement large-scale programs. C++ was an attempt to add object-based
functionality to C, which has been partially successful. However, both languages
offer little in the way of automatic memory management, which places a burden
on the developer to manually code explicit deallocation of used memory
resources. C++ has also been criticised for its complexity and lack of
standardisation. It can be a major task to port code developed on one specific
hardware platform to another.
1.7.5 Java
Java has several major advantages for developing EA applications:
• Automatic memory management.
• Pure object-oriented design.
• High-level data constructs: for example, the Vector and ArrayList objects
offer dynamically resizable arrays.
• Platform independent code is easily ported among Unix, Linux, Windows,
and Mac systems.
• Several complete EA libraries are available for EA systems (see Appendix
A).
Since life is rarely perfect, however, there is a price to pay! Java is an
interpreted language, meaning it is converted from its bytecode format into a
platform-specific executable at run-time. This significantly slows down Java
applications, relative to equivalent C or C++ code. However, recent work by
Sun and third-party companies has resulted in "Just in Time" compilers for Java
16 1 Introduction to Evolutionary Computing
that preload and compile the Java bytecode. The end result is performance,
which is within 30-50% of an equivalent C application. (See the Bibliography
for references in this area.)
The purpose of this chapter is to answer the question: What are the
relations of the United States to the rest of the world?
By Edwin A. Abbey
From a mural painting in the Pennsylvania
State Capitol at Harrisburg.
This is a very striking picture, one of the
artist’s best. In the background are the huge
derricks which lift the oil from the bowels of the
earth. In front of them golden-haired figures,
robed in gauze with torch in hand, are swirling
upward in joyous energy like a swarm of fireflies.
In making this picture the artist took infinite
pains. Each figure was first drawn from a living
model. Each was then photographed and by the
use of a lantern the figures were projected upon
the canvas where they were manœuvred into
place for the artist’s guidance. The whole picture
is successful in conveying the impression of
spontaneity combined with lightness and grace.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
textbookfull.com