RSS 2.0 Feed

» Welcome Guest Log In :: Register

Pages: (919) < [1] 2 3 4 5 6 ... >   
  Topic: Joe G.'s Tardgasm, How long can it last?< Next Oldest | Next Newest >  
Wesley R. Elsberry



Posts: 4991
Joined: May 2002

(Permalink) Posted: Sep. 06 2014,04:42   

Quote (Joe G @ Sep. 02 2014,10:32)
       
Quote (Wesley R. Elsberry @ Sep. 02 2014,09:45)
Rich Hughes pointed out commentary by Joe G. on genetic algorithms. It seems obvious that Joe G. is not aware that I answered his objection (#5) back in 1999; he's just shy of being fifteen years late to the party.

The evaluation function = artificial selection, Wesley. And natural selection is a process of elimination not selection.

Natural selection is not a search heuristic and GAs are- GA s actively search for a solution to a problem, all the while guided towards that solution. Natural selection isn't like that at all.

All the information to find the solution is programmed into the GA. GAs would not find solutions if the correct evaluation function was not included in that GA. Therefor evaluation functions are one way of sneaking an intelligent agency into a GA as there isn't any difference between a evaluation function selecting and a human selecting based on the same criteria (except for the speed). The evaluation function is the artificial selection part of the GA. The only part of a GA that could be considered Darwinian or neo-Darwinian, is the mutation process. And even that is debatable.

Joe G. apparently has no familiarity with actual genetic algorithm software.

The evaluation function is not itself artificial selection, nor does it perform selection.

Let's take the first example for Python's PyEvolve package as an example. They give the entire evaluation function as the following:

Code Sample

# This function is the evaluation function, we want
# to give high score to more zero'ed chromosomes
def eval_func(chromosome):
  score = 0.0

  # iterate over the chromosome elements (items)
  for value in chromosome:
     if value==0:
        score += 1.0

  return score


There is no selection of any sort going on there. This indicates a fairly wide gap between Joe G.'s blithering and reality. The PyEvolve package includes about five selectors, different selection techniques that the user can choose among. These are part of the evolutionary computation software, and are not part of the evaluation function. Evolutionary computation packages exist and can be examined; why is Joe G. asserting false things that can so easily be shown to be false?

As I put it in the 1999 article that Joe G. is still ignoring:

     
Quote

The purpose of the evaluation function is to provide a metric by which the bit-strings can be ranked. The critical point to be grasped is that neither the operations of the GA nor those of the evaluation function need information about the pattern of the end solution. The GA's operations are completely generic; there are a variety of GA shell tools available for use, including plug-ins for MS Excel spreadsheets. Since the same GA tool may be used for job-shop scheduling in one instance, and oilfield pipeline layout in another, the objection that the intelligence of the GA programmer informed the specific designs that result from its application quite soon appear ludicrous. That a programmer might code a generic GA shell and also happen to somehow infuse it with just the right information to optimize PCB drilling movements might be possible, but to insist that the same programmer managed to infuse specific domain knowledge for each and every application to which his tool is put stretches credulity.

Now, let's eliminate the evaluation function as a source of domain-specific information. Obviously the evaluation function does give information to the GA, but that information does not give a direction for adaptive change for each bit-string evaluated, but rather just how well each bit-string performed when evaluated. The result passed back to the GA does not give the GA insights like "Toggle bit 9 and swap 20-23 with 49-52". It merely passes back a scalar number, which when compared to other scalar numbers, forms a ranking of the bit strings. The evaluation function can require very little in the way of domain-specific knowledge. For the PCB drilling application mentioned above, the evaluation function can very simply be instantiated as "return closed path length of the route represented by the input bit-string", which says nothing at all about what the path looks like, and works for any set of hole coordinates. Because the evaluation function can be generic over cases, again we have the argument that domain-specific information is unavailable here on the same grounds as for the GA operations. While we might be able to conceive of an evaluation function that somehow encapsulated information about a particular solution, for problems like the PCB routing one mentioned it is highly unreasonable to credit that information about all possible PCB route configurations has somehow been instilled into the code.


Of course programs solving problems must have the information needed to solve the problem. Banality is not a viable objection. The issue is not whether information to solve problems is provided, it is whether the particular information of a derived solution state is somehow part of the system. And other than evolutionary computation done for pedagogy, I know of no instances where this is true. Intelligent agents asked to solve a particular problem but denied the data that defines it will likewise fail to solve that problem. See, this is more about the definition of a problem than it is an objection to evolutionary computation. Knowing the basic data of a problem does not entail that a solution or all solutions are then known.

Joe G. objects to an analogy between artificial selection and natural selection. This is a commonplace since Darwin's Origin of Species hit the bookshelves. And I also addressed the particular application of it to evolutionary computation back in 1999:

     
Quote

2. EC cannot meaningfully be said to be derived from natural selection.

I have elsewhere laid out the formal statements of natural selection and GAs, pointing out the correspondences.

Natural selection is sometimes stated in the form of three premises and a conclusion:

   1. Individuals in a population express variation.
   2. Certain individual variations are heritable.
   3. Certain heritable variations lead to differences in reproductive success.
   4. Differences in reproductive success due to heritable variations cause changes in the representation of those variations in the population.

Now, for correspondences to evolutionary computation:

   1. All EC methods involve a population of individuals whose data varies from individual to individual.
   2. EC methods of "reproduction" mean that information is heritable by default.
   3. EC methods apply a differential probability of reproduction based upon ranking of results from an evaluation function.
   4. Individual representations with better rankings tend to have more patterns that are similar in future generations in EC methods.


The objection that, "But, but that's not really natural selection!" boils down to a refusal to deal with the issue that we have deployed working systems whose principles of operation are arguably similar to what is known to happen in natural processes. There is a progression of objections to evolutionary computation (as I characterized and responded to back in 1999) that eventually comes to the notion that what we learn from them has no correspondence to the natural systems that inspired them. But there seems to be nothing there beyond simple denial. As with most simple denial, one can only provide the information that persuades the reasonable reader of the truth of the situation, and must leave the committed denialist to their own devices.

Joe G.'s commentary does show a remarkable compression of misinformation and error into a short bit of text, but I think that's down to "intelligent design".

--------------
"You can't teach an old dogma new tricks." - Dorothy Parker

    
  27552 replies since Feb. 24 2010,12:00 < Next Oldest | Next Newest >  

Pages: (919) < [1] 2 3 4 5 6 ... >   


Track this topic Email this topic Print this topic

[ Read the Board Rules ] | [Useful Links] | [Evolving Designs]