summaryrefslogtreecommitdiffstats
path: root/watchmaker/book/src/xml/preface.xml
blob: 9d2e1ec2b53d31d4104b37dddc0cea5e8691ca38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<preface xmlns="http://docbook.org/ns/docbook"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd">
  <title>Preface</title>
  <para>
    This book is intended to be a pragmatic, hands-on guide to implementing evolutionary
    algorithms.  The emphasis is on writing useful evolutionary programs and solving interesting
    problems.  This is not intended to be a thorough theoretical guide.  I will introduce the
    key evolutionary computation concepts and demonstrate their practical application, but I will
    endeavour to keep abstract theory and mathematics to the minimum necessary.
    For a more academic treatment of the material, I recommend Melanie Mitchell's
    <emphasis>An Introduction to Genetic Algorithms</emphasis> and A.E. Eiben and J.E. Smith's
    <emphasis>Introduction to Evolutionary Computing</emphasis>.
  </para>
  <para>
    Though evolutionary algorithms can be implemented in any general purpose programming language,
    all of the examples in this book are presented using Java.  Java is one of the most widely
    used programming languages in the world today.  As such, many software developers are already
    familiar with Java and able to understand programs written in it, even if they usually
    develop in other languages.  Java provides a good balance of performance, ease-of-use and
    a rich standard library.
  </para>
  <para>
    The concepts discussed in this book are not tied to a particular programming language,
    so there is no reason why you couldn't implement the ideas in another language if you
    preferred.
  </para>
</preface>