Genetic Programming Books
Related Subjects: Algorithms
More Pages: 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 30 31 32

Used price: $4.00

The most useful bioinformatics bookReview Date: 2008-08-25
How does sequence alignment actually work?Review Date: 2003-11-24
The book is basically divided into:
0. A Foreword by Stephen Altschul (the co-creator of BLAST)
1. A quick web intro to a BLAST search
2. Sequence alignment and how the algorithms work
3. Blast and how the Blast statistics are calculated
4. The different types of Blast e.g. WU-Blast
5. Approaches to Performance speedup
6. Reference sections on BLAST parameters
The real key is that this book neatly splits the difference between academic texts and papers which are quite often too difficult to read without sufficient background (and they are not precise about the implementation anyway) and the user-manual type texts which don't discuss the theory at all.
One of the best chapters (in my view) is chapter three, where they explain and illustrate the workings of the Needleman-Wunsch and Smith-Waterman algorithms for global and local alignment. If you read the text, then study and run the included perl code, you WILL understand how they work, but be prepared to spend several hours trying different examples. The real advantage of this approach is that you get a deep, practical understanding of how alignment actually works, that you just can't get from reading a mathematical treatment of the subject. Once you understand this chapter, you are actually sufficiently expert to get inside alignment code and modify it for your own purposes.
Ian Korf does continually emphasize that the algorithms may look clever, but they are, in the end, robotic in that they will quite happily align complete rubbish if you are not careful about controlling the algorithm and thinking carefully about the results you get.
There are a couple of mistakes in the diagrams (chap 3), that are addressed in the errata, but the perl code is correct.
Finally, because this book is about BLAST, it doesn't mention other methods of sequence alignment such as Hidden-Markov Models or methods of multiple sequence alignment. Perhaps they'll do a book on those as well one day..
Very Practical & Useful Users GuideReview Date: 2006-07-12
The book discusses the biology, statistics, algorithms, and computer science issues involved in explaining blast. I liked this approach because it does not head super far into any one core area but rather sticks to a strong fundamental overview of each topic. The other strong aspect of this book is that the author thoroughly compares NCBI and WU Blast throughout, characterizing instances where one may choose one over the other and/or how to tweak the parameters for both in those situations.
I orginally bought the book b/c I wanted an overview on PAM and BLOSUM matrices and to understand how Blast Statistics work. It really served as an informative contextual tutorial that has definitely raised my overall understanding on not only Blast, but to better grasp the very interdisciplinary nature concerning sequence alignment for in-silico biological research.
Blast User's BibleReview Date: 2006-01-28
The book offers a biology refresher early on, but this is aimed mainly at people with serious interest in BLAST - people who normally won't need that. Next, it discusses traditional dynamic programming alsorithms for local and global alignment. Then, in just a few pages, it summarizes the mathematical meanings and derivations of the various BLAST scores (raw scores, P-values, ane E-values). The discussion just skims the theory, but will help the reader make sense of the programs' output.
Those 75 pages set the background; the next 250 contain the real meat of the book. They cover the various BLAST programs, options, and outputs. More than that, these sections discuss setting up experiments based on BLAST, and how to deal with the problems you're likely to encounter. This could be a bit more explicit about how PSI_BLAST works (and why it sometimes doesn't), but coverage is generally strong.
A few things are weak, like emphasis on the fact that experiments aren't strictly repeatable. For example, if you exactly replicate today's test next week, even if all of the other input is identical, you might still get different (and worse) E values, since they depend on the size of the database. PSSMs get little if any discussion. Also, details about internals are weak - but this is a user's book, not an implementor's, so that's a matter of scope rather than sufficiency.
Most of the book's points are illustrated with actual output or with Perl code - the lingua franca of bioinformatics, for some reason. If you're serious about using BLAST and about understanding what it's really telling you, this is the book to own.
//wiredweird
useful for comparative sequence alignment tasksReview Date: 2004-01-20

Used price: $268.22

a comprehensive textbook for freshers in EC Review Date: 2008-06-01
Evolution as a practical toolReview Date: 2006-04-03
The level of discussion can be adequately understood by someone with a good background in computing and hopefully also in some science or engineering field. Certainly, there are important abstractions that must be mastered. Like how the evolutionary search can be seen as a path across a fitness landscape or potential energy surface. But there appears to be a careful explanation of the minimum necessary maths to convey an idea. And where a chapter's references might point to more specialised texts or journal papers that give a fuller math treatment.
It may well be, as another reviewer remarked, that there is insufficient detail in some passages of this book. But perhaps the text is not meant to be a low level "user's manual" type of discussion.
If you do find this book useful, consider a more advanced text, "Foundations of Genetic Programming" by Langdon and Poli, also published by Springer. It takes you deeper into the subject.
Excellent introductionReview Date: 2005-02-02
good textbookReview Date: 2006-10-31
An excellent textbook suitable for all levelsReview Date: 2004-06-06
1. Introduction
2. What is an Evolutionary Algorithm?
3. Genetic Algorithms
4. Evolution Strategies
5. Evolutionary Programming
6. Genetic Programming
7. Learning Classifier Systems
8. Parameter Control in Evolutionary Algorithms
9. Multi-Modal Problems and Spatial Distribution
10. Hybridisation with Other Techniques: Memetic Algorithms
11. Theory
12. Constraint Handling
13. Special Forms of Evolution
14. Working with Evolutionary Algorithms
15. Summary
16. Appendices
17. Index
18. References
Recommended to everyone interested in EC.


Jaw Dropping InspirationReview Date: 2008-06-19
Table of contentsReview Date: 2007-12-29
Table of Contents
1 Introduction 1
2 Background on genetic programming 29
3 Automatic synthesis of controllers 49
4 Automatic synthesis of circuits 129
5 Automatic synthesis of circuit topology, sizing, placement, and routing 175
6 Automatic synthesis of antennas 205
7 Automatic synthesis of genetic networks 221
8 Automatic synthesis of metabolic pathways 229
9 Automatic synthesis of parameterized topologies for controllers 281
10 Automatic synthesis of parameterized topologies for circuits 301
11 Automatic synthesis of parameterized topologies with conditional developmental operators for circuits 341
12 Automatic synthesis of improved tuning rules for PID controllers 367
13 Automatic synthesis of parameterized topologies for improved controllers 387
14 Reinvention of negative feedback 413
15 Automated reinvention of six post-2000 patented circuits 421
16 Problems for which genetic programming may be well suited 483
17 Parallel implementation and computer time 515
18 Historical perspective on Moore's law and the progression of qualitatively more substantial results produced by genetic programming 523
19 Conclusion 529
Gp here we GoReview Date: 2004-09-27
In one of the chapters he presents the characteristics a problem should have for GP to be applicable.
All-round Great work, my advice get all his books and digest how he approaches various problems with GP. This example format Koza uses is far more useful than talking about what GP is and its theory. Though for a good intro into Evolutionary Algorithms including GP get either Foundations of Genetic Programming or an Introduction to Genetic Programming. An all round good intro is Introduction to Evolutionary Computing.

Used price: $129.98

Great BookReview Date: 2007-02-26
Great book; a must for engineers and scientists alikeReview Date: 2001-09-28
The Reference in Evolutionary Multiobjective OptimizationReview Date: 2001-07-23

Used price: $58.00

convergence of genetic algorithmReview Date: 2000-12-27
genetic algorithmReview Date: 1999-12-01
A certain level of abstraction luispatricio@zipmail.com.brReview Date: 2000-04-03

Used price: $29.00

This is what the book isReview Date: 2007-11-08
Since what this book is isn't exactly obvious from the description, i figured i should explain it.
Like the first two volumes, this book is a collection of articles, generally 5-10 pages each. The book is roughly 800 pages long, so that's a lot of articles.
Each article is on a different topic and most are written by different people. A handful of authors wrote two articles, but realize that a *lot* of people contributed to this, and each is an expert in different areas, have different writing styles and represent different games.
i believe most of the authors are professional game AI developers who've worked on big name games. There are also articles by professors and game AI hobbyists (who shortly after writing in this series became professionals). Most write in a way you can understand, a few state things very simply, a few others use math and Greek letters and other things that give me headaches. The vast majority of articles are practical articles, not theory, and there's a fair number of examples (with code) given on the included CD.
Because the articles are small, they tend to be focused on a single topic such as navmesh generation, path smoothing or player prediction through n-gram analysis. Since there are so many, the topics cover all sorts of things, from camera movement systems to baseball games to squad FPS tactics to steering race cars to generating random numbers with a normal/Guassian distribution. My favorites are the ones where a developer discusses some bright idea he had for a game and how it backfired on him.
Given the sheer number of articles, it is almost guaranteed that you will find several articles that you don't like, several you don't understand, several you don't care abot and several you can't believe you lived without. If you're like me, you'll find one or two articles that are worth the purchase price of the book all by themselves.
I suppose i should mention that i wrote a couple of articles in this series (though not this volume), so i'm obviously biased, but this really is a very good series. i probably should give it a 5 but i don't like giving 5s and, besides, not every one of the ~100 articles was excellent, just a lot of them.
Now here's the important part: i teach a video game AI class and i don't use this book. Why? Because this is not a text book on how to write AI. It does not cover every topic a beginner needs to know to write a game. It does not build up a single example, walking you step by step through making a game. It most certainly dosn't teach you how to program. In many respects, this is a book written by professionals for professionals. It's a "tips and tricks" book. The assumption is that you know how to program or design a game. You don't have to be a genius to use this book, but it's not a cookbook or Dummies book either.
There are a lot of other books on AI, most of them all-in-one, how to write AI books. Personally, there's only one or two i'd recommend, and none i couldn't live without. But i really don't think i can stress enough just how valuable this particular series is.
The State of the Art as it Exists TodayReview Date: 2006-03-30
Computer gaming software also continues to grow, perhaps even faster than gaming itself. Because of the rapid state of software development, no one author could possibly keep up with all of the changes that are taking place.
So in this book Steve Rabin, of Nintendo of America has gotten almost sixty of the most advanced gaming software developers to write articles explaining the state of the art as they are helping to develop it. The writers come from a mix of software companies, universities, independent consultants, and game hardware developers. This is the state of the art in the development of artificial intelligence for games.

Used price: $101.00

Great Book - Agree With Other ReviewsReview Date: 2001-03-27
The rest of the book does dive into applying GAs to EM applications. They have a very good introduction of the motivation, problems encountered and how it was resolved. No code is available, but many have already written GAs in many programming languages.
Book assumes some knowledge in math (~calculus) and electrical engineering (my background is in physics, but it didn't handicap me). A must for anyone interested in EM design while integrating GAs or for anyone interested in applying GAs to their engineering problems.
A Good ResourceReview Date: 2000-03-31
It is a good book for engineers looking for practical information on genetic algorithms. The book assumes familiarity with electromagnetic theory, practical problems, and current simulation techniques.
The first three introductory chapters are solid, and universally applicable. They are a beginning overview of genetic algorithms, a more serious treatment describing pitfalls and variant techniques, and finally some rules of thumb for using the techniques.
The following chapters are detailed treatments of the application of genetic algorithms to real problems. Seven chapters are devoted to various types of antennas and antenna arrays. Additional chapters cover specific devices, such as electromagnetic filters, diffraction gratings, backscattering problems and magnetostatic devices.
This book will not teach you how to write genetic algorithm codes line by line. This book will not go into extreme depths about the theoretical limits and performance of genetic algorithms (where given, these details are not derived, simply given and explained.) There are any number of computer science and programming books which do that.
This is an engineering book: it will give many implementation details on practical problems, along with the results.

Used price: $11.44

Introduction ... for Researchers MaybeReview Date: 2008-05-30
Not for beginnersReview Date: 2004-02-04
1. Not enough step by step prodecure especially at the beginning. Mitchell is too quick to start with the math formulas. It turns out that Genetic Algorithms are fairly straight forward and easy to follow, but you have to read this book twice before you "get it" because Mitchell clouds the discussion with proofs and mathematical representations of systems. It is tough to follow.
2. Mitchell does a poor job of selecting meaningful examples to illustrate the points. A nice simple set of examples where the average person easily picture the system would have been delightful. Instead this author chooses to illustrate the Genetic Algorithms through uncommon neural networks amoung other exotic applications. I found myself struggling to understand both the example (I didn't know a thing about neural networks!) and the genetic algorithm.
When buying an Introduction type book, I expected it to be more 'down to earth'. this book is for advanced minds!
Good Theoretical GA TextbookReview Date: 2005-05-06
There are case studies of many academic projects that seem to drone on forever and aren't really that useful in helping you learn how to write your own GA. Chapter 1 gives an overview and provides all of the appropriate terminology. Chapter 5 gives an high-level overview of how to implement a GA. Those are the 2 must-read chapters, all of the others can be used as torture for CS students.
To recap, if you're teaching a class in artificial intelligence this book is good. If you're trying to figure out how to implement a GA to solve a practical problem not so good. That evens out to 3 stars for my rating. I recommend searching the web, there are a few good sites on GA programming.
An introduction and much moreReview Date: 2004-01-26
Mitchell's book is an overview of genetic algorithm analysis techniques as of 1996. The author gives a history of pre-computer evolutionary strategies and a summary of John Holland's pioneering work. A description of the basic terminology is presented and examples of problems solved using a GA (such as the prisoner's dilemma). The second chapter discusses evolving programs in Lisp and cellular automata. Also included in this chapter is a discussion of predicting dynamical systems. This was the section that has the most interest for me. Also interesting was the summary in this chapter about putting GAs into a neural network so that the ANNs could evolve.
The fifth chapter discusses when to employ a GA for maximum success. I appreciate the clearly thought out discussion of when to choose a GA for a problem. Sometimes authors of these types of books mimic the man with a hammer that thinks everything looks like a nail.
A Great Introduction to Genetic AlgorithmsReview Date: 2002-12-07
About half of the book is devoted to presenting examples of studies that have used genetic algorithms. These examples are interesting in themselves and also serve to illustrate the variety of genetic approaches that are available. The book also presents conflicting points of view of experts about which algorithms work best and why. This is helpful in combatting the impression that a beginner sometimes gets that everything is simple and all the answers are known.

Used price: $38.00

Not a good place to startReview Date: 2002-07-26
For starters, it is much better to look into "An Introduction to Genetic Algorithms" by Melanie Michell.
An Excellent book-for learning GA theory as well as programmingReview Date: 2007-05-02
Based on the literature I have explored, I can unequivocally say that this is the best book that I have found on GA theory and programming.
In a simple but effective manner, the book explains the intricate concepts. For any one thinking of learning GA theory this is a good starting point. Also, if you want to write programs to create your own genetic algorithms, this is a must-read.
In my humble opinion, this is 'THE BEST' book particularly for those without much GA experience.
I hereby express my heartfelt gratitude to the authors and congratulate them on their effort.
easy introductionReview Date: 2006-02-22
The book also shows a natural fit between GAs and neural networks. One passage discusses how to optimise a net with feedbacks from a GAs. Along the way, the book also gives an exposure to various biological ideas. Like how artificial neural nets are inspired by actual biological neurons.
The authors have thoughtfully included exercises with each chapter, for you to extend the ideas for yourself. The book can be used as a university textbook for a graduate course.
Good, though not good value for moneyReview Date: 2004-08-29
GreatReview Date: 2002-03-26


And the future is...Review Date: 2002-03-14
Reach the automatic programming level is a revolution that will affect the way things are done today.
In a very cientifyc way, the book shows all the aspects of how to get ready for this evolution.
READ IT BEFORE REVIEWING PLEASEReview Date: 2004-07-06
A hint of the future.....Review Date: 2001-07-28
After a brief introduction to the book in chapter 1, the authors move on to a detailed discussion of the philosophy and approaches used in genetic programming. They list the five steps that must be done before applying a genetic algorithm to a problem and give an overview of the LISP background needed to understand genetic programming. The authors emphasize that the genetic algorithm is probabilistic in nature, with the initial populations, individual selection, and genetic operation chosen at random. They give flowcharts illustrating a typical genetic algorithm and program, and then show executable programs can be automatically created. A very extensive list of references on genetic programming is given at the end of the chapter.
In the next part, the authors discuss how to eliminate the requirement that the programmer specify the architecture in advance to the program to be created. After reviewing some methods that were previously used to make the choice of architecture, the authors move on to describing a set of architecture-altering operations that give an automated method for determining the architectures of evolving programs. The discussion on automatically defined recursion is particularly interesting.
The book then shows how to use the results so far to allow problem-solving to be done using genetic programming, the first one being the rotation of automobile tires and the second being evolving a computer program with the behavior of Boolean even-parity functions. This is followed by a discussion of how to use architecture-altering operations to solve a time-optimal control problem. The most interesting part of this discussion is that it illustrates the important point that disadvantageous actions should be taken in the short term so that the long-term objective can be achieved.
In chapter 14, the ant foraging problem is used to illustrate a form of the (Minsky) multiagent problem and architecture-altering operations. This is followed by discussions on the digit recognition problem and the transmembrane segment identification problem. The authors choose the Fibonacci sequence to illustrate how recursion can be used in solving problems with genetic programming. The necessity of using internal storage is illustrated using the cart centering problem.
The authors then overview the use of the Genetic Programming Problem Solver (GPPS) for automatically creating a computer program to solve a problem. Several problems are examined using this Solver, such as symbolic regression, sorting networks, and the intertwined spirals problem.
The next part then considers the application of genetic programming to the automated synthesis of analog electrical circuits. The authors judge, rightfully, that the design process is one that will be a good judge of automated technique versus one that was done by humans, especially considering the fact that analog design is considered by many to be an "art" rather than a "science". The authors show how to import the SPICE simulation system into the genetic programming system, and discuss how validation of circuit design using this simulator would be done by the genetic programming system. After showing how a low-pass filter may be successfully designed using the genetic programming system, the authors show how with a few changes it can be used to design many different types of circuits. Interestingly, the authors cite the rediscovery by genetic programming of the elliptic filter topology of W. Cauer. Cauer arrived at his discovery via the use of elliptic functions, but the genetic program did not make use of these, but relied solely on the problem's fitness measure and natural selection!
An interesting discussion is also given of the role of crossover in genetic programming by comparing the problem of synthesizing a lowpass filter with and without using crossover. The authors conclude that the crossover operation plays a large contribution to the actual solution of the problem.
Then later, the authors show how genetic programming actually evolved a cellular automata that performs better than a succession of algorithms written by humans in the last two decades. Specifically, they show how genetic programming evolved a rule for the majority classification problem for one-dimensional two-state cellular automata that exceeds the accuracy of all known rules.
Most interestingly, the authors show how genetic programming evolved motifs for detecting the D-E-A-D box family of proteins and for detecting the manganese superoxide dismutase family.
The actual performance and implementation issues involved in genetic programming are discussed in the last two parts of the book. They discuss the computer time needed to yield the 14 instances where they claim that genetic programming has produced results that are competitive with human-produced results.
The authors wrap things up in the last chapter of the book and discuss other instances where genetic programming has succeeded in automatically producing computer programs that are competitive with human-produced results. The evidence they have in the book is impressive but there are a few areas that will be ultimate tests of this approach, the most important being the discovery of new mathematical results or algorithms. It is this area that requires the most creativity on the part of the inventor.
Can computers be creative?Review Date: 1999-12-03
The main hypothesis of the book is that GP is not only the first instance of true automatic programming but also creative to such an extant that it competes with humans in solving very hard problems and therefore the solutions produced by GP can sometimes be called inventions, thus the name "Darwinian Invention Machine". The book starts by listing sixteen proposed attributes of any automatic programming system. The attribute list begins with obvious properties such as the ability to produce entities that can run on a computer, continues by describing components of full computer programs and ends by expressing fuzzier concepts such as applicability, scalability and competitiveness with human-produced results. The authors argue that GP definitely has most of the 16 attributes and at least to some extent possesses the remaining few. The last attribute, human competitive results, is in turn defined by a list of eight properties where each of them gives enough evidence to conclude competitiveness to results produced by the intellect of a human. This list includes concepts such as whether the results are pantentable, publishable in scientific journals or better then best known human solutions. GP3 reports 14 experiments by the authors where the they claim that GP produced results fulfilling one or more of these properties and thus are competitive with that of a skilled human such as an engineer, mathematician, designer or programmer. Examples of results with the "darwinian invention quality" include sorting networks, analogue electrical circuit synthesis and creation of motifs for protein family detection. Pointers are also given to human competitive solutions evolved by other researchers.
Overall there is no question that this is an important book putting the spotlight on one of the peak performing and most promising candidates for the general AI prize. There is no doubt that this book belongs in the standard library of all GP researchers or practitioners. This volumous book is a bit heterogeneous, probably stemming from the fact that is combined from a number of previously published papers with some new material. On the other hand is the volume important documentation of innovative work done by John Koza and his colleagues. In many place numerous pointers to work by other researchers are given but in the end I believe that the book would have a stronger case for presenting the GP state-of-the-art by including more references to similar research by other research groups.
However most important and intriguing thing about this book is the provocative questions raised concerning definitions and claims of human competitive performance, "Darwinian invention" and artificial intelligence - particularly whether we have already passed an important milestone in the history of AI - automatic programming.
Why Should You Buy This Book???Review Date: 2002-01-26
Related Subjects: Algorithms
More Pages: 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 30 31 32
It is not perfect, however. Several phrases in the parameter section near the back of the book are not explained. MegaBLAST is correctly described as being quite different from blastn, but that difference is not made clear other than the use of query packing. The -E and -G options are not made clear in the megaBLAST section, and one must turn to the blastall pages to better understand what they do.
A second edition would be most welcome, as many improvements, changes and additions have taken place in the last few years. Discontiguous MegaBLAST, for example, was not released when this book was written.
When the book first appeared, one of my students complained that so much of the book was taken up by the parameters section. Ironically, this is the part that I have turned to the most in the time that I have had the book.
I have a shelf full of bioinformatics books in front of me right now, and I have used this book more than any of them.