Review: Climbing the Steiner Tree

Overview

Winston Ewert, William Dembski, and Robert J. Marks II have made available a paper titled Climbing the Steiner Tree — Sources of Active Information in a Genetic Algorithm for Solving the Euclidean Steiner Tree Problem wherein they claim to have identified sources of “active information” in a genetic algorithm used to find solutions to a Steiner problem. The problem referenced in this paper was originally described by Dave Thomas on the Panda’s Thumb almost six years ago. I developed a GA to solve the problem that Dave posed as a challenge a few weeks later, as did a number of other people.

This paper suffers from numerous flaws, starting with a fundamental mischaracterization of the purpose of Thomas’s solution and including general misunderstanding of genetic algorithms, misapplication of the No Free Lunch theorems, spurious claims about “active information”, and incorrect and unsupported assertions regarding the impact of certain GA implementation details.

Targets

Right from the abstract, this paper mischaracterizes Thomas’s intentions:

In particular, the success of such search algorithms is said to show that intelligent design has no scientific value.

Thomas never claimed that GAs showed that ID has no scientific value. His goal was simply to demonstrate the fact that GAs don’t need explicit targets.

(As an aside, it is true that ID has no scientific value but that is because ID proponents explain no empirical observations, articulate no scientific theory, and make no testable predictions. ID is simply a vacuous argument from incredulity.)

The authors of this paper do appear to grudgingly recognize that typical GAs are not like Richard Dawkins’ well known Weasel program:

Nevertheless, many simulations do not contain a fully articulated solution hidden behind lines of code that can be readily reconstructed by inspecting the program without running it.

Speaking of weasels, this phrasing does have the mustelid nature. The authors could have been more forthright and simply noted that most GAs specify only the problem and a fitness function of some sort. The solution is completely unknown to the programmer in most cases.

Even this rhetorical squirming, though, is insufficient for the authors who add a caveat immediately:

Rather, its code is front-loaded with specialized information for how to find that solution. Instead of the explicit answer, the means by which the eventual product can be found is front-loaded.

The authors are inadvertently correct here. The evolutionary mechanisms being modeled by the GA (“the means by which the eventual product can be found”) are indeed useful in finding solutions to some problems.

Properties of Genetic Algorithms

There are several statements in the paper that suggests the authors have some fundamental misunderstandings of genetic algorithms and the observed phenomena on which they are based. As early as page 2, for example, is this:

The Darwinist claim is that no such assistance is required. Rather, natural selection is innately capable of solving any biological problem that it faces.

No “Darwinist” (a term that reflects ID’s creationist roots) claims this. Extinction is known to happen.

Another, from page 4:

This genome is of a fixed length, always containing the coordinates and connections for the maximum number of interchanges. This simplifies the genetic algorithm because it not [sic] necessary to implement deletion or insertion mutations.

While the design of a GA engine is somewhat simplified by limiting genomes to a fixed length, such a constraint doesn’t prevent modeling insertions and deletions. Further, the lack of insertion and deletion mutations actually makes finding a solution more difficult by limiting the number of evolutionary mechanisms that can be brought to bear.

On page 5 we find:

Does the genetic algorithm have the ability to solve the problem given only a description of the same?

This question demonstrates a profound confusion about what is being modeled. The authors almost seem to be suggesting that they expect a GA to find a solution without any feedback whatsoever. That would certainly fail to reflect the biological situation.

In fact, the fitness function is a description of the problem domain, corresponding to the environment of biological evolution. In that sense a GA does have the ability to solve some types of problems “given only a description of the same.”

No Free Lunch Theorems

No paper authored by Dembski would be complete without some mention, however gratuitous, of the No Free Lunch theorems:

Conservation of information theorems, such as the No Free Lunch Theorems, place limitations on the abilities of search algorithms. Any search algorithm uses resources to try to find its target. Different algorithms exist, but as long as they avoid searching the same place multiple times, given the same resources they will have the same average performance. As a result, excluding algorithms that visit the same place multiple times, no algorithm can be claimed to be superior to any other algorithm. At best, it can be superior over some subset of all fitness functions.

First, the NFL theorems have nothing to do with “conservation of information.” Dembski’s purported “Law of Conservation of Information” has been demonstrated to be bogus.

Second, this is a typical gross misapplication of the NFL theorems by Dembski et al. The NFL theorems say that averaged over all fitness landscapes, no search algorithm is superior to random search. Over a specific fitness landscape, however, some algorithms may well be significantly better than others. Given that GAs, like the natural systems on which they are based, operate within a single fitness landscape (albeit one that is constantly changing, particularly in the real world case), the NFL theorems are simply a red herring in this discussion.

Active Information

The authors define “active information” as:

I+ = -log2(p/q)

where p is probability of a “baseline” search finding a solution and q is the probability of the GA finding a solution.

A baseline search is typically taken to be a single random guess at the answer.

“Active information” is thus simply a comparison of the efficacy of a particular search algorithm to that of a random search using an equiprobable distribution. The term is misleading in that it doesn’t correspond to any commonly used definitions of “information” nor does it demonstrate the “active” involvement of any external actor.

In order to determine how Thomas’s GA compares to a random search algorithm, the authors ran a relatively large number of tests:

In what follows we will be comparing Thomas’s genetic algorithm to that of a random query search. Data on the performance of the search algorithm was obtained by Monte Carlo simulation. In the case of genetic algorithms, we ran 5615 distinct simulations, keeping track of how many times a particular cost was found. In the case of random query searches, we ran 11,228,106,000 random queries to determine the empirical probability distribution for the cost of a random solution. The actual performance of a random query search was calculated by using probability theory and this empirical distribution.

“Probability theory and this empirical distribution”? With over eleven billion data points, why did the authors not simply use the observed values?

The results reported on page 5 of the paper are surprising:

Figure 4 shows the performance of the genetic algorithm presented by Thomas as compared to a random query algorithm. For Thomas’s algorithm, each generation is run for 1000 generations giving a total of 2,000,000 queries or cost evaluations performed. That is, the algorithm considers two million distinct solutions and measures the cost of each solution. At the end of that process the best solution found during those queries is produced. The random query algorithm makes 2,000,000 random queries and reports the best of all of those queries. Figure 4 shows that obtaining a low cost solution to the Steiner tree problem is not as hard as it would at first appear.

The random query algorithm produces a cost of 1246 with probability slightly lower than 0.7.

The authors seem to be claiming that two million random searches will yield a reasonable solution to the Steiner problem nearly 70% of the time. That’s hard to reconcile with further details provided on the very next page:

Baseline for good and adequate thresholds.
We empirically estimated the probability of both the good and adequate thresholds by running Monte Carlo experiments that tested random solutions. 11,228,106,000 random queries were performed to obtain an empirical estimation of the probability of finding the target. The probabilities for finding the good and adequate targets were 1.7812e-09 and 1.9905e-07, respectively. The empirically determined probability for finding the optimal target was zero, because none of the random queries was successful in finding the target.

The 70% chance of success of the random search algorithm seems extremely high. The authors provide no details of their calculations or code, so I have attempted to replicate their findings based on the description provided and my own GA solution to the Steiner problem.

My Steiner solution is based on my GA engine that operates on binary strings. The number of bits required by the genome for the five node Steiner problem is 199. I use a tournement selection mechanism to populate the next generation:

  1. Select two genomes at random, making the most fit parent one
  2. Select two more genomes at random, making the most fit parent two
  3. Mate the two parents by crossing over at a single point to
    generate two offspring
  4. Mutate each of the offspring

My simulation routinely finds a near optimal solution with a fitness cost of 1220 or less using a population size of 1000 within 250 generations.

Each generation of my simulation therefore requires 4000 fitness evaluations, or one million in total for a typical run. Based on the results reported in this paper, I should find that nearly 70% of the time one million random genomes should contain at least one fairly good solution.

Here’s the code to create a million random genomes and return the most fit, using my implementation:

(let* ((genome-length (genome-length *five-point-problem*))
       (best-fitness
        (fitness *five-point-problem* (make-genome genome-length))))
  (format t "~A~%"
          (dotimes (i 10000 best-fitness)
            (let ((random-fitness
                   (fitness *five-point-problem* (make-genome genome-length))))
              (when (< random-fitness best-fitness)
                (setf best-fitness random-fitness))))))

My simulation adds a penalty of 2000 for solutions that don’t connect all fixed nodes. The results of running this forty times are:

4500.08   4394.203  4466.51   4707.275
4430.624  4690.22   4847.232  4833.6436
4889.9487 5147.8467 4929.9795 4677.0977
5248.128  4940.031  4542.566  4555.242
4993.9985 4707.127  4450.148  4792.4023
4647.6304 4800.055  5224.4985 4616.3096
5000.876  4788.144  4961.3896 4383.1436
4888.9614 4577.821  3791.8147 4739.0806
4846.8315 4572.504  4951.1255 4481.5996
4690.18   4426.3213 5097.7544 4948.6284

The best fitness found was 3791.8147, not remotely close to the optimum of 1212 or the 1220 routinely generated by the GA.

The authors of the paper do not provide a description of the algorithm they used or the code, so it is not possible to determine how to replicate their results. As demonstrated here, though, their claim that a collection of random strings, similar in size to the number of fitness calculations used by a GA, has a 70% likelihood of containing a near optiomal solution is not supported.

On page 6 of the paper, the authors plug this dubious value into some poorly explained forumlae and claim to thereby have derived “the integral cost of the solution produced by a search algorithm making 2,000,000 random queries.” This section could use considerably more justification, to say the least.

Ultimately, aside from demonstrating a distinct lack of rigor on the part of the authors, this topic is as much of a red herring as the No Free Lunch theorems. At most, when calculated carefully, “active information” is nothing more than an indication of how a particular algorithm performs relative to an equiprobable random search in a particular fitness landscape. Despite the misleading name applied to this concept, it does not indicate that any information was provided to the non-random algorithm, actively or otherwise.

Implementation Details

Beginning on page 7 the authors discuss implementation details that, they claim, provide information about the solution to Thomas’s GA.

Interestingly, this is very similar to an approach that Dembski used unsuccessfully a few years ago. When discussing Thomas Schneider’s ev simulation, Dembski noticed an implementation detail related to tie breaking. He claimed that:

Schneider is here fine-tuning his evolutionary algorithm to obtain the results he wants. All such fine-tuning amounts to investigator interference smuggling in complex specified information.

Schneider put Dembski’s claim to the test. The result was “For the condition where both organisms survive a tie, the ev program still produces the same graph as previously published, given the same parameters, demonstrating that the code was not significantly altered.”

One might think that Dembski would have learned from that experience to test his claims before making them public. One would be incorrect.

“Effect of count of interchanges”

The authors claim that having an explicit count of the number of non-fixed nodes in the virtual genome “shifts the distribution of solutions.” They also note that Thomas’s code ensures that a minimum number of non-fixed nodes (“interchanges”) are present.

My implementation contains no such explicit count nor does it specify any minimum number of non-fixed nodes, yet it routinely converges on an optimal or near-optimal solution.

“Effect of restricted initialization”

According to the authors, Thomas’s code restricts the initial location of non-fixed nodes to a smaller area than the full 1000×1000 grid allowed by the simulation. Again, my implementation has no such restriction and yet it routinely converges on an optimal or near-optimal solution.

“Effect of selection skew”

The authors begin this subsection with:

As noted, it is easy to obtain a solution with a score of 1246.

In fact, as demonstrated above, the claim that near-optimal genomes are common enough to be frequently present in collections of millions of random genomes is false.

The authors go on to discuss a “skew parameter” used in Thomas’s code. They make the claim, without any logical or empirical support, that:

Without the skew parameter there isn’t enough selective pressure to effectively separate scores of close value.

Not only is this unsupported, it is demonstrably false since my implementation contains no such parameter and yet readily distinguishes between “scores of close value.” This is easily seen when monitoring its progress generation by generation.

“Effects of crossover”

In this section the authors go to some effort to score an own goal. Rather than limiting themselves to the single point crossover implemented by Thomas, they also discuss two point crossover and, bizarrely, what they call “uniform” crossover. This variant, which consists of randomly picking an element from each parent string in order to generate a child string, would not be recognized as crossover by anyone familiar with GAs.

Be that as it may, they then provide a table of crossover related “active information” in Table 3. Precious little detail is provided on how these values were calculated.

The own goal is apparent when one steps back from the detailed, albeit odd, discussion and notes that crossover is observed in nature. The authors are essentially admitting that known evolutionary mechanisms can create “active information.”

Alternative Representations

On page 10 the authors raise their only pertinent point in the entire paper:

Crossover works well because of the way the genome is structured. The genome is built using a structure consisting of a list of locations as well as a connection map indicating which cities and interchanges are connected. However, the ways in which the genome could be structured are limited only by the developer’s creativity. A number of other possibilities also exist:

  • Every city and interchange could have a list of other
    cities/interchanges to which it is connected.
  • The genome could be a sequence of road segments specified by start and stop points
  • The genome could have been represented as a bitmap where each bit indicates whether or not an integral coordinate was on a road.

None of these methods were chosen, and none of them would seem to be useful representations. But they are rejected, not because something is intrinsically wrong with them, but because the developer uses his knowledge of the problem to come up with the best way to represent the solution. The programmer chooses the representation that he believes will be effective and part of that is choosing a representation that works well with crossover.

As with their other claims, the authors provide no suggestion that they implemented a fitness function using any alternative representation. In fact, I suspect that a GA could successfully operate on any of the three alternatives. Despite the authors’ incorrect reasoning, though, this is an interesting point.

When I implemented my solution to the Steiner problem I wasn’t thinking in terms of a fitness function that could easily be traversed by point mutations and crossover. I simply wrote down the first binary format that came to mind — my primary concern was my own ability to decipher it. That aside, the authors make a claim that is almost correct:

The crossover and genome structure work together. As such, their selection by the developer constitutes the use of prior knowledge about the problem in order to help identify better solutions.

Even if the fitness landscape were deliberately chosen to be easily traversed by the subset of known evolutionary mechanisms modeled by the GA, this would not be a way of smuggling in information about any possible solution. No additional information about the problem or the particular solution would be provided. Such a deliberate choice would simply be modeling a landscape that, like what we observe in nature, has characteristics that make known evolutionary mechanisms effective search techniques.

When modeling evolution as a search (which has its own issues outside the scope of this discussion), what the No Free Lunch theorems tell us, contra Dembski, is that the evolutionary mechanisms we implement will be far more effective at finding a solution in some types of fitness landscapes than in others. Because we observe these mechanisms working in the real world, it is a reasonable inference that the incredibly complex and ever changing fitness landscape we call reality is one of those in which those mechanisms are efficacious. If this were not the case, we would either observe other mechanisms or would not be here to observe at all.

Despite themselves, the authors are recognizing that even a small subset of the mechanisms we observe in the real world is more than capable of generating solutions that are highly fit in certain landscapes.

Summary

The authors completely fail to support their conclusion:

The claim is not that the solution found by a genetic algorithm is hidden inside the algorithm, but rather that the algorithm contains the necessary information sources in order to find a low probability target. This is because in order to develop a successful genetic algorithm, the developer makes many decisions based on knowledge of the problem he is attempting to solve. As such, information is derived from this prior knowledge of the search problem.

Every implementation detail alleged by the authors to smuggle in information about possible solutions is trivially shown to be unnecessary to the success of the GA. Whether they understand it themselves or not, all the authors have shown is that known evolutionary mechanisms are quite capable of generating solutions to problems that are not amenable to random search.

It is no surprise that this paper was published in BIO-Complexity, the Intelligent Design vanity website masquerading as a journal. Given the overall poor quality, particularly with respect to the authors’ failure to provide sufficient information to replicate their results and their further failure to subject any of their claims to testing, it is unlikely in the extreme that it would pass peer review in an actual scientific journal.

118 thoughts on “Review: Climbing the Steiner Tree

  1. Joe G:
    The genetic algorithm has the same goal as the designer as the GA is just an extension of the designer.

    That’s actually not true. A genetic algorithm has no goal. Left to its own devices, it keeps working churning out out new genomes. The programmer stops it when he decides that the produced organisms satisfy his goals.

    But I understand that you have to engage in semantic quibbling seeing that you have nothing else…

    It’s not semantics. It’s ignorance on your part, willful or not. Lots of people are telling you that you misunderstand genetic algorithms. They point you to definitions on Wikipedia and standard textbooks. They quote from people who invented genetic algorithms. But no, Joe G knows better than anyone in the Universe. 🙂

  2. I notice that the authors have issued an erratum in BIO-Complexity. They mistakenly thank me for finding the error, and while I’m always happy to take credit for things I didn’t do, it seems that they need to issue an erratum for their erratum.

  3. It’s interesting that in that paper they consider that all Thomas has done is to falsify a “straw man” ID position, namely:

    Thomas has proposed a genetic algorithm used to solve the Steiner tree problem as proof that the Neo-Darwinian account of evolution explains biological complexity and that intelligent design has been roundly refuted. But this claim is based on a misunderstanding of what the intelligent design community has said. The claim is not that the solution found by a genetic algorithm is hidden inside the algorithm, but rather that the algorithm contains the necessary information sources in order to find a low probability target.

    However, they ignore the straw man in their own eye:

    The claim about genetic algorithms is not they have produced a hidden answer, like a bird-watcher using a precise set of coordinates to locate a bird. Instead, the claim is that the bird-watcher has been provided with details about the habitat and behavior of birds. This information assists in his search, enabling him to find the birds he wants to watch.

    The Darwinist claim is that no such assistance is required. Rather, natural selection is innately capable of solving any biological problem that it faces. Analogously, a genetic algorithm ought to be able to succeed given nothing more than the description of the problem faced. It should not be necessary for an intelligent agent to tune or direct the evolutionary process. Any process so tuned is a teleological process, not a naturalistic one. The argument from genetic algorithms depends on maintaining the ateleological status

    (My bold)

    There is no such Darwinian claim. The problems Darwinian mechanisms can solve are precisely those in which the “active information” that Ewart et al say is required is freely available, in the form of environmental resources and hazards, and a self-replication process in which similar genetic variants result in similar phenotypes.

    And even then, extinctions are extremely common, and solutions that would be obvious to an panoptic designer capable of “tuning” the system are missed.

  4. R0b:
    I notice that the authors have issued an erratum in BIO-Complexity.They mistakenly thank me for finding the error, and while I’m always happy to take credit for things I didn’t do, it seems that they need to issue an erratum for their erratum.

    What do you suppose the odds are of them issuing an erratum recognizing that their calculations of the efficacy of a random solution are incorrect and that they never tested any of their claims regarding the impact of implementation details?

  5. Patrick: What do you supposethe odds are of them issuing an erratum recognizing that their calculations of the efficacy of a random solution are incorrect and that they never tested any of their claims regarding the impact of implementation details?

    Less than the UPB, and therefore requiring Intelligence.

  6. The goal of any genetic algorithm is to solve a problem.

    what is a ga

    Concisely stated, a genetic algorithm (or GA for short) is a programming technique that mimics biological evolution as a problem-solving strategy.

    Just as I have been saying.

    It mimics biological evolution if and only if biological evolution was designed to solve specific problems.

  7. A genetic algorithm has no goal. Left to its own devices, it keeps working churning out out new genomes.

    Please reference the genetic algorithm that does this. Also please show us that ALL genetic algorithms do that and only that.

  8. Elizabeth: Less than the UPB, and therefore requiring Intelligence.

    Why Dr. Liddle, I do believe I detect a hint of that spicy English mustard in your reply. 😉

  9. Joe G:
    The goal of any genetic algorithm is to solve a problem.

    what is a ga

    Just as I have been saying.

    It mimics biological evolution if and only if biological evolution was designed to solve specific problems.

    Joe,

    If you scroll down the text you have linked you will find this: Genetic algorithms: Creationists: Batten. Scroll a little more down and read the bullet point GAs have preordained goals. Here is what Talk Origins says:

    GAs have preordained goals

    Like several others, this objection shows that Batten does not fully understand what a genetic algorithm is and how it works. He argues that GAs, unlike evolution, have goals predetermined and specified at the outset

    <snip>

    In a broadly general sense, GAs do have a goal: namely, to find an acceptable solution to a given problem. In this same sense, evolution also has a goal: to produce organisms that are better adapted to their environment and thus experience greater reproductive success. But just as evolution is a process without specific goals, GAs do not specify at the outset how a given problem should be solved.

    Tat last sentence says it all. Read it several times and try to comprehend it. If you have any further questions do not hesitate to ask. 🙂

  10. That last sentence is already known and addressed elsewhere. Also evolution does not have the goal they state

  11. Joe G:
    That last sentence is already known and addressed elsewhere. Also evolution does not have the goal they state

    That’s exactly the point. Evolution does not have a goal. It pushes populations to better adapt to current conditions, i.e. toward higher fitness. If a particular mutation A results in an increase fitness, organisms with that mutation become more numerous than organisms without it. Evolution does not have a specific goal of promoting mutation A. If another mutation B results in an even higher fitness then organisms with mutation B will fare even better and win over those with mutation A.

    Genetic algorithms work according to the exact same principle. They promote those genomes that yield higher fitness. There is no goal.

    Everyone agrees with that, including the Talk Origins web page that Joe cites. The only poor chap who can’t comprehend that is Joe. I wonder how long it will take him to get it and to claim that he meant it all along. 🙂

  12. Evolution doesn’t push and GAs have a goal- their goal is to solve a problem/ problems. Even the TO page I linked to says that.

    Also biological fitness is an after-the-fact assessment.

    So to sum up- GAs gave a goal-> to solve a problem/ problems. THAT is why they are written in the first place. Talk origins supports that, as does wikipedia.

    OTOH OM still has nothing to support its claims….

  13. An article on Talk Origins states:

    In a broadly general sense, GAs do have a goal: namely, to find an acceptable solution to a given problem. In this same sense, evolution also has a goal: to produce organisms that are better adapted to their environment and thus experience greater reproductive success. But just as evolution is a process without specific goals, GAs do not specify at the outset how a given problem should be solved. The fitness function is merely set up to evaluate how well a candidate solution performs, without specifying any particular way it should work and without passing judgment on whatever way it does invent. The solution itself then emerges through a process of mutation and selection.

    There is a goal, just as I stated.

    What is required is the specification of what you need- what are you trying to solve.

    For example a GA was used to design an antenna. The engineers did not know what the antenna would look like. But what they had were the specifications the antenna needed to meet- again from Talk Origins:

    Altshuler and Linden 1997 used a genetic algorithm to evolve wire antennas with pre-specified properties. The authors note that the design of such antennas is an imprecise process, starting with the desired properties and then determining the antenna’s shape through “guesses…. intuition, experience, approximate equations or empirical studies” (p.50). This technique is time-consuming, often does not produce optimal results, and tends to work well only for relatively simple, symmetric designs. By contrast, in the genetic algorithm approach, the engineer specifies the antenna’s electromagnetic properties, and the GA automatically synthesizes a matching configuration.

    And another goal…

  14. “The goal of any genetic algorithm is to solve a problem.”

    “An evolutionary algorithm is intelligent design.”

    “GAs = evolution by design.”

    “Also evolution does not have the goal they state”

    “BTW the target is that problem to be solved.”

    “The goal of any genetic algorithm is to solve a problem.”

    “Of course GAs have a target/ goal- they are written to solve problems.”

    “What is required is the specification of what you need- what are you trying to solve.”

    “Evolution doesn’t push and GAs have a goal- their goal is to solve a problem/ problems.”

    “So to sum up- GAs gave a goal-> to solve a problem/ problems. THAT is why they are written in the first place.” (my bold)

    “The genetic algorithm has the same goal as the designer as the GA is just an extension of the designer.”

    Calling all IDiots,

    If the allegedly NON-natural, extra-cosmic “intelligent designer” intentionally created/designed/wrote/installed specified, NON-natural, evolutionary GAs in all living things and the rest of the stuff in the universe that all “has the same goal as the designer” and are “just an extension of the designer”, then what exactly was/is the “goal” and “target” of “the designer” and all living things and all the rest of the stuff in the universe, and what specific problems in the first place was/is “the designer” trying to solve or solving by creating/designing/writing/installing/specifying (and tweaking?) GAs in living things and the rest of the stuff in the universe? And what specific problems are living things and the rest of the stuff in the universe trying to solve?

    What was the goal and target of the trilobites, and why didn’t their designed/created/written/installed/specified evolutionary GAs solve their problems? What was the problem in the first place that intentionally creating/designing trilobites and creating/designing/writing/installing specified GAs in trilobites solved, and what was the goal and target of “the designer” in the first place in intentionally creating/designing trilobites with designed/created/installed/written/specified/evolutionary GAs that didn’t save them from the designed/created/written/installed/specified/evolutionary GAs that were in the things/events that caused their extinctions?

    Oh wait, according to an IDiot:

    “Since evolution is a purely natural process, invoking magic has to be an anti-evolution idea.

    A targeted search is also natural.”

    “Design is natural.

    A targeted search is natural.

    IOW evolution by design is natural.”

    I guess “the designer” must be natural, or the supernatural designer designs things au naturally, or all the alleged GAs in the universe are natural, or there are no GAs except in computers, or evolution is natural, or designed evolution is natural but natural evolution is not natural, or “the designer” is a klutz, or doesn’t exist, in the first place, or something.

  15. Late to the party but…

    Uniform crossover is a fairly well known crossover operator. If you think about how many fragments our chromosomes break into, it is closer to reality than 1- or 2- point crossover.

    Their final point about choice of representation is not particularly original, either. See Goldberg’s Design of Innovation and a few other sources. The main contribution of choice of representation is in relation to the operator choices and whether there is a chance of genetic drift and premature convergence. A bad combination of representation and operators will allow the population to converge on a low quality solution.

  16. dvunkannon:
    Late to the party but…

    Uniform crossover is a fairly well known crossover operator. If you think about how many fragments our chromosomes break into, it is closer to reality than 1- or 2- point crossover.

    I stand corrected, thanks. A bit of research shows that uniform crossover is in fact a documented technique.

  17. Joe G: LoL! CSI only applies to that which can be broken down into bits. And all you do is see if it exists or not. IOW chalk up CSI as another ID term Patrick doesn’t understand.

    No one can calculate it. Its made-up nonsense, as evidenced by your ‘count the letters’ CAEK meltdown.

Leave a Reply