Evolution is often presented as problem-solving. Genetic algorithms are often offered as proofs of evolution’s ability to solve problems. Genetic algorithms are as search algorithms.
As one book says:
Fundamentally, all evolutionary algorithms can be viewed as search algorithms which search through a set of possible solutions looking for the best – or “fittest” – solution.
Tom has asked me to specify a problem independently from the evolutionary process. Now I have to admit that I don’t really understand what that means. But I like Tom and I have a lot of respect for him, so I want to give it my best shot and see where it takes us. I’m also hoping this will shed some light on claims about how problem-solving genetic algorithms are designed to solve a particular problem.
Do you at least agree that if the modeler is solving a problem, then you ought to be able to write out a nontrivial problem? (Saying that the problem is to output a particular sentence won’t hack it. That would amount to saying that Dawkins wrote a “Hello, world!” program.)
Well, I do believe that Dawkins wrote a program to output a particular sentence and that what he did is in effect a hello world program! So where does that get us, lol?
There is no independently specified problem that the monkey/Shakespeare model solves. The event of interest to the modeler is the event most likely to occur in the process over the long term.
I disagree. But the language is vague so that’s what we’re here to tease apart.
I keep asking you to write a specification of the problem that the modeler wrote the simulation model to solve. The reason you cannot do it is that you can only concoct a “problem” by specifying what tends to occur in the simulated process. This is much the same as making the “problem” solved by evolution in nature what tends to occur in evolutionary processes.
I’ve tried to make this clear. I’m not in an argument with you. Please try to switch gears, and explain to me what you make of what I’ve said. Do you at least agree that if the modeler is solving a problem, then you ought to be able to write out a nontrivial problem?
It seems to me that specifying a problem independently of the evolutionary process is exactly what takes place with genetic algorithms. One book even delineates classes of problems that might be approached using evolutionary algorithms.
– If the problem is sufficiently hard to write code to solve
– When a human isn’t sure how to solve the problem
– If a problem is constantly changing
– When it’s not feasible to search through each possible solution
– When a “good-enough” solution is acceptable
So I’ll take that as my lead. Now surely I can refer to any number of problem-solving evolutionary algorithms, so whether it can be done or not ought not be in dispute. But I always appreciate a concrete example, so here it goes.
Problem: Find a string which is comprised entirely of ones. So for a string with a length of 5 the best solution would be “11111”.
I find it hard to believe that this is what Tom had in mind, but nothing ventured nothing gained. Is this problem too trivial? Or have I missed out totally on what Tom is asking for?