Some Questions on Genetic Algorithms

vjtorley:

I was very struck by Glenn Williamson’s [vjt meant GlenDavidson] remark that creativity is not the same thing as complexity. Very deep. Glenn seems to think that people are good at the former, but the blind processes can outdo them in the latter. That’s an interesting view, but I’d want to see evidence that blind processes are actually capable of producing systems with a high degree of functional complexity, of the kind Axe described in his book. Even a computer simulation would be something.

What with all the experts in writing GA’s here at TSZ I was hoping VJT would have elicited more of a response.

Which brings me to my second point. Tom English remarked above:

“What’s more important in responding to Axe, I suspect, is the issue of knowledge. Do you get only what you know how to make? The answer to that, coming from evolutionary computation, is a top-of-the-lungs NO!!!. I’ve set up a number of evolutionary systems that ended up knowing, in clear operational terms, how to do what I hadn’t a clue how to do.”

I’d like to ask Tom: in terms of building functional coherence, what’s the best your algorithms are capable of doing? I’m interested in finding out, and if you can point me to a good place to start familiarizing myself with GAs, I’d be grateful.

Why doesn’t someone walk VJT through designing a GA that does what he is asking? Is it because a generic GA doesn’t do anything of the sort of thing he is asking for?

For VJT, do you have any experience at all in any programming language?

268 thoughts on “Some Questions on Genetic Algorithms

  1. Steve: Phoodoo: ” Yes, right there. See that, that line is telling the program what to choose”.

    If that’s the case, why do people bother writing these programs at all? Surely we can just skip all that and go with whatever we’re ‘choosing’ as you suggest?

  2. phoodoo,

    You mean an expert who is not willing to name even ONE GA that doesn’t do a search? That expert??

    If you define a GA by whether it does a search or not, then all GAs do a search. Duh. But that is not what defines a GA.

    You now are taking the ridiculous stand that ANYTHING a computer does is a GA? Is playing tetris a GA? What about if you use a computer to calculate your taxes?

    If the program generates an array of strings and performs copying and elimination operations upon it, it is a GA. That is a long way from saying that every program is a GA.

    Essentially, by your definition, if a program was written to solve a problem using genetic methods, and was supplied with fitnesses at runtime, it would stop being a GA if those fitnesses were all equal. The result would be the same as one with no fitness function in the first place. That is, the program is or isn’t a GA depending on its parameters … that is nonsense.

    You have become more and more of a caricature of a guy who needs to be an atheist Allan.

    What has atheism to do with classes of program? You’re just wrong.

    What really makes you a dick is that you are at least smart enough to know that your responses are useless.

    I am somewhat less clear about what makes you a dick.

  3. Mung,

    I think you’re mistaking the software implementation of a model for the model itself.

    For example, there is no need to copy the members of the array, given that you’re not mutating them, the copies would be no different than the original.

    If you don’t do any copying or elimination, you are not doing anything that is involved in evolution.

    So we have phoodoo thinking that I’m saying ‘anything written on a computer is a GA’ and you thinking I’m saying ‘an array is a GA’.

    You need copying and elimination. The fact that you say ‘there’s no point if you’re not mutating’, or ‘there’s no point ‘cos you’re not selecting’ is immaterial. However much point there may be, the core of a GA, and the core of evolution, involves copying and elimination within populations of genotypes. The composition of those genotypes – the data – is what determines whether anything interesting happens or not.

    In the ‘M&M’ example, the array was initialised with equal numbers of each colour. All that occurred subsequently was copying and elimination – no mutation, no selection. Something still happened. Something surprising and interesting. And even when it stopped happening, the GA kept rumbling on unhaltingly. It didn’t stop being a GA when it ran out of variation.

    You and phoodoo both seem to think a GA is defined by its data rather than its algorithmic nature.

  4. Steve,

    Good grief. Is this how things look to the Theist Chorus? I’m genuinely gobsmacked. Even if a random number generator is used, the programmer is still telling the computer which one to pick? ‘Pick the random one! Go on! Pick it!’.

  5. I would be interested to know if vjt concurs. Is it impossible to model ‘blind’ evolution, as the rest of our interlocutors seem to argue?

  6. As a reminder, Vincent asked this

    vjtorley: In the meantime, I’d like to thank Mung for creating this post, and I’d like to focus on one particular question: is there any evidence that genetic algorithms can create hierarchies of functional complexity – and if so, how many layers deep? That’s what Dr. Douglas Axe means by “functional coherence.”

    Here’s what he quotes as the definition of “functional coherence” in the review of Undeniable:

    By “functional coherence,” Dr. Axe means: a hierarchical arrangement of parts that are needed to produce a high-level function – each part contributing in a coordinated way to the whole (p. 144). Any functional whole is also a busy whole: it accomplishes a big result, but only by bringing its components together in just the right way (p. 69). By “invention,” Axe simply means innovation (p. 222) – in particular, innovation in which the components of the functional whole need to be re-worked, in order to create a new function (p. 193).

    […]

    Readers with a philosophical background will note the parallels between Axe’s definition of functional coherence and William Paley’s definition of a contrivance as a system possessing the following three features: “relation to an end, relation of parts to one another, and to a common purpose.” (Natural Theology. 12th edition. J. Faulder: London, 1809, Chapter XXIII, p. 413.)

  7. You can dress it up in a tuxedo, but it remains a tornado in a junkyard.

    The missing element is evolution.

    The numbers and probabilities are worthless without addressing evolution.

    That is the great problem with Axe. His research projects indicate he has no clue how evolution works.

  8. phoodoo:
    You are, but you much prefer to claim you are right, instead of even acknowledging even the simplest of points-like that all computer algorithms about evolution do is look for what the computer designer tells it to go look for. That is called a search, and the thing that the computer is told to search for is the fitness.

    As others have pointed out here before, the person running an EA may use it to search for a solution to a particular problem but the EA is simply evolving in accordance with its virtual environment. The EA is not searching.

    You have also been pointed to EAs like Tierra and Polyworld that have no explicit fitness function. Your definitions are idiosyncratic, at best.

  9. dazz:
    As a reminder, Vincent asked this

    vjtorley: In the meantime, I’d like to thank Mung for creating this post, and I’d like to focus on one particular question: is there any evidence that genetic algorithms can create hierarchies of functional complexity – and if so, how many layers deep? That’s what Dr. Douglas Axe means by “functional coherence.”

    Here’s what he quotes as the definition of “functional coherence” in the review of Undeniable:

    By “functional coherence,” Dr. Axe means: a hierarchical arrangement of parts that are needed to produce a high-level function – each part contributing in a coordinated way to the whole (p. 144).

    Avida seems to meet that definition as do the circuit design GAs, just off the top of my head and only considering GAs. Genetic programming (GP) evolves such “hierarchical arrangement of parts that are needed to produce a high-level function” as a matter of course.

  10. Allan Miller: If you don’t do any copying or elimination, you are not doing anything that is involved in evolution.

    And I am going to use that same logic and claim that without mutation you don’t have evolution either. Surely you see that.

    To put it another way, if I mutate my strings but never copy them or eliminate any, I have at least one thing that is involved in evolution, and thus it qualifies as a GA [using the logic that you’re using].

    Let me explain further. If I mutate the string, I have in essence copied it and then changed the copy and eliminated the old version of the string and replaced it with the new version of the string. The fact that I don’t store it in a different array doesn’t mean I don’t have a completely new population.

    That might take two lines of code but I think I may still be able to do it in one line of code.

  11. Patrick: Genetic programming (GP) evolves such “hierarchical arrangement of parts that are needed to produce a high-level function” as a matter of course.

    I think GP is probably the best bet.No one thinks Avida uses a hierarchy of lower level functions to bring about EQU?

  12. Mung:

    Genetic programming (GP) evolves such “hierarchical arrangement of parts that are needed to produce a high-level function” as a matter of course.

    I think GP is probably the best bet.No one thinks Avida uses a hierarchy of lower level functions to bring about EQU?

    Lenski et al. say that in the original paper:

    Some readers might suggest that we ‘stacked the deck’ by studying the evolution of a complex feature that could be built on simpler functions that were also useful. However, that is precisely what evolutionary theory requires, and indeed, our experiments showed that the complex feature never evolved when simpler functions were not rewarded.

    A sufficiently motivated IDCist might quibble about composition vs hierarchy, but I think that a function composed of other functions that evolved separately qualifies.

  13. Hi everyone,

    In answer to Alan’s query, I certainly think it should be possible to model blind evolution.

    Re the creation of functional hierarchies: genetic programming sounds interesting (thanks Patrick), but it’s probably not relevant to my question. Here’s a quick quote from the Website:

    “Genetic programming (GP) is an automated method for creating a working computer program from a high-level problem statement of a problem. Genetic programming starts from a high-level statement of ‘what needs to be done’ and automatically creates a computer program to solve the problem.”

    Sure doesn’t sound like Darwinian evolution to me.

    I’m moving house over the next couple of days, so it may be a little while before my next comment. Cheers.

  14. vjtorley,

    GPs / symbolic regression makes mathematetical genomes, that evolve using the standard mechanisms. I know that eureqa has found solutions > 500 bits ( CERN data I believe)

  15. vjtorley:
    Hi everyone,

    In answer to Alan’s query, I certainly think it should be possible to model blind evolution.

    Re the creation of functional hierarchies: genetic programming sounds interesting (thanks Patrick), but it’s probably not relevant to my question. Here’s a quick quote from the Website:

    “Genetic programming (GP) is an automated method for creating a working computer program from a high-level problem statement of a problem. Genetic programming starts from a high-level statement of ‘what needs to be done’ and automatically creates a computer program to solve the problem.”

    Sure doesn’t sound like Darwinian evolution to me.

    I’m moving house over the next couple of days, so it may be a little while before my next comment. Cheers.

    When you’ve recovered from moving or just want to take a break, I recommend John Koza’s seminal book on GP. The excerpt you quoted is correct as far as it goes, but it doesn’t explain how the program is “automatically” created. The approach is to start with a randomly generated population of code or snippets and allow them to recombine with mutation to create the next generation. Does that sound like any process you know?

    The interesting thing about GP in this context is that it builds literal hierarchies of elements to create programs by operating directly on the abstract syntax tree. That seems to directly meet Axe’s definition of “functional coherence”.

  16. Mung,

    And I am going to use that same logic and claim that without mutation you don’t have evolution either. Surely you see that.

    No I don’t. In the M&M example, there is no mutation but there is still evolution. Indeed, evolution if often defined as change in genotype frequencies in a population. That does not need mutation to happen per se, just variation however caused. Again, you seem to be arguing that a genetic algorithm (the clue is in the name) stops being a GA dependent on the current state of the data.

    To put it another way, if I mutate my strings but never copy them or eliminate any, I have at least one thing that is involved in evolution, and thus it qualifies as a GA [using the logic that you’re using].

    No. The ‘logic I am using’ insists that there must be birth and death in populations. That. Is. All.

    Let me explain further. If I mutate the string, I have in essence copied it and then changed the copy and eliminated the old version of the string and replaced it with the new version of the string. The fact that I don’t store it in a different array doesn’t mean I don’t have a completely new population.

    That might take two lines of code but I think I may still be able to do it in one line of code.

    If you think you win some kind of victory by treating a single individual as a population – well done, have a banana, you win. I don’t see that as any kind of analogue of the evolutionary process myself, but I’m prepared to believe you do.

    [eta – I misread. You are mutating strings and then replacing in an array. OK, but mutation is not the vital part of that process. What you are doing with birth and death is more interesting. Suppose mutation rate is set at zero. Is your population behaving in a realistic way vis a vis the likelihood of birth and death? Essentially, the only thing that is fatal in your population is childbirth! And the only way you can reproduce is to die … ]

  17. phoodoo: Well, look it only took what, 5 years for someone to come on here and finally write something without putting the entire audience here into a beige colored coma (oh how Richard has tried). Lizzie experiment is finally a success. Imagine what is possible in the deep stretches of cosmological time!

    Yep, it is all mute now.

  18. Allan Miller: [eta – I misread. You are mutating strings and then replacing in an array.

    Not exactly. I am modifying the string in place. Which, as far as I can tell, is no different from making a copy, changing the copy, then replacing the original with the copy.

    Let me try again.

    Tom linked to a GA in which all members of the original population started out the same as the target string. Does that disqualify it from being a GA?

  19. There is still the issue of how to assess functional complexity.

    We would, as far as I can see, need an evolutionary simulation with genotypes, phenotypes, and fitnesses of those phenotypes. Not just genotypes and fitnesses, because it is at the phenotype level that the FC would need to be assessed. I am not clear on how we would assess FC. Perhaps VJT can make some suggestions (once he has finished moving).

    Koza’s “genetic programming” is interesting, but to make mutations more likely to be functional he has a hierarchically structured program instead of a genotype, and then his recombinations swap subtrees around. This works better than just cutting-and-pasting in strings of bytes, but it is open to the criticism that genetics doesn’t really work like this. Koza is interested in using GP to evolve actual programs, not in whether there is an analogy to evolutionary processes.

  20. Mung,

    Let me try again.

    Tom linked to a GA in which all members of the original population started out the same as the target string. Does that disqualify it from being a GA?

    Of course not. Because being a GA – a genetic algorithm – does not depend on the data being processed. It is the operations performed that matter. Now, you might argue that the initialisation routine is an operation, but it’s hardly the meat of the issue. One could simply supply the start population as a parameter file, and have no initialisation beyond copying that into your array before you get cracking on the actual evolutionary part.

    Under your approach, it’s a GA if the parameter file contains variant initialisation data, but not if it’s all the same. Alternatively, WEASEL is a GA until the target phrase is hit, then somehow it stops being a GA …

    Yet, it’s the same algorithm in both instances …

  21. Mung,

    Not exactly. I am modifying the string in place. Which, as far as I can tell, is no different from making a copy, changing the copy, then replacing the original with the copy.

    Well yes, which seems to be the way I stated it. The point remains, you are connecting birth and death in a very peculiar way there. Nothing to stop you, but other than trying to defeat an evolutionist’s definition on the internet, why would you?

  22. Joe Felsenstein,

    Personally, I find the kind of evolutionary algorithms that lead to realistic behaviour of animations in games to be quite compelling. There is a bottom line to this; a substantial incentive. There is great functional complexity exhibited by the movements of the automata that fall comically in early generations. Whether this meets the challenge, I cannot say.

  23. Allan Miller: Under your approach, it’s a GA if the parameter file contains variant initialisation data, but not if it’s all the same.

    That is incorrect. I say both qualify as being a GA. I say that according to your view only one does.

    In your view there must be variant alleles, else it does not model evolution, and it is not therefore a GA. If every allele at every locus in every member is the same, your population will not “evolve” in any sense of the term, unless you introduce a mutation operator.

    Reproduction and elimination is simply not enough. It does not guarantee evolution, as you appear to think.

  24. Mung,

    That is incorrect. I say both qualify as being a GA. I say that according to your view only one does.

    Since I explicitly deny that, and explain why, I’m not sure how you reach that conclusion. I agree that both are GA’s because being a GA does not depend on the current state of the array whose members are being copied and eliminated.

    In your view there must be variant alleles, else it does not model evolution, and it is not therefore a GA. If every allele at every locus in every member is the same, your population will not “evolve” in any sense of the term, unless you introduce a mutation operator.

    Does. Not. Matter. In my view, as I have repeatedly said, it is the algorithm that determines whether it is a GA, not the data. You are reading me as saying the opposite. Not sure why.

    Reproduction and elimination is simply not enough. It does not guarantee evolution, as you appear to think.

    I wasn’t specifiying the conditions that would ‘guarantee evolution’, but those that qualify an algorithm as a ‘genetic’ one. That is determined by the operations, not the data presented to a given run. An algorithm with mutation does not stop being a GA if all members of the array are the same and mutation rate is zero. An algorithm with mutation rate zero is pretty much the same as an algorithm with no mutation operation at all.

  25. Chapter 11 Section 2 of A Field Guide to Genetic Programming has the heading Search Spaces

    Turns out GP is a search-based technique for problem solving.

  26. Hi Allan,

    ok, I’ve gone back and re-read some of your earlier comments. For example:

    …the core of a GA, and the core of evolution, involves copying and elimination within populations of genotypes. The composition of those genotypes – the data – is what determines whether anything interesting happens or not.

    So I agree that I probably need to revise my thinking and make a better case if I think you’re being inconsistent.

    You wrote:

    If you don’t do any copying or elimination, you are not doing anything that is involved in evolution.

    So to rephrase:

    Even if you mutate your strings, if you don’t copy any of them or eliminate any of them, your population is not evolving.

    Yet I explained how changing a string in place is in essence no different from copying it and replacing it, eliminating the previous string. I think it hardly matters that you think this peculiar, if you cannot show the outcome is any different. That’s the basis of my claim that you are mistaking the model for the implementation.

    Mung: I think you’re mistaking the software implementation of a model for the model itself.

    You would need to explain why my implementation does not meet the demands of the model.

  27. By the way, this line with Allan started out primarily because of a comment Tom made about me, which I think I took to heart, assuming I understood it.

    The implementation is not the model, and there well may be more than one way to implement a model.

    Allan appears to be looking for something that says “I’m making a copy” followed by something else that says “I’m eliminating you!”

    # make a copy of all the original members of the population
    new_population = original_population.dup

    # eliminate all members of the original population
    original_population.clear

    It’s an odd request, though, given the map method
    new_population = original_population.map {|genotype| genotype.dup}

    But why bother creating a new array at all?
    original_population.map! {|genotype| genotype.dup}

    But if there is no change to any genotype why bother duplicating [copying]
    original_population.map! {|genotype| genotype}

    But that’s just silly. Talk about an operation on the date that accomplishes nothing at all.
    original_population = original_population

    Indeed. It’s difficult to understand why anyone would call that evolution.

  28. Mung:
    Chapter 11 Section 2 of A Field Guide to Genetic Programming has the heading Search Spaces

    Turns out GP is a search-based technique for problem solving.

    It’s more correct to say that GP can be used for searches.

    In any case, I seem to have lost track of your original point in the discussion of semantics. Regardless of what you label EAs, what are you trying to say about them?

  29. Good Grief Allan,

    Why did you insert a random number generator? Oh, right. So the program could ‘choose’ a number ‘at random’?

    And genomes don’t have random number generators? Is that it? what is fecundity+plus variation+natural selection if not a random number generator?

    Living creatures have no idea what natural environmental conditions they will experience.

    They don’t need to know!

    Their genomes are programmed precisely as you are trying to program your cyber puppies, so that those puppies will have the tools for what it takes to adapt and survive without you (or God) having to pull the levers every second of the day.

    Rabbits produce several to keep a few. Roaches produce thousands to keep hundreds. Bacteria produce billions to keep millions. And those not selected are recycled into the food chain.

    Interlocking, interdependent, heirarchical software programming design. Not bad. Not bad AT all.

    Your side continues to unwittingly hand over extensive evidence for the existence of intelligent design.

    And you seem none the wiser.

    Calling all atheist drones.

    Allan Miller:
    Steve,

    Good grief. Is this how things look to the Theist Chorus? I’m genuinely gobsmacked. Even if a random number generator is used, the programmer is still telling the computer which one to pick? ‘Pick the random one! Go on! Pick it!’.

  30. Patrick: It’s more correct to say that GP can be used for searches.

    Why else would one code using GP? To search for what isn’t there?

    Only on internet blogs.

  31. Patrick: Regardless of what you label EAs, what are you trying to say about them?

    You do realize, don’t you, that genetic programming can be distinguished from genetic algorithms?

    As for EA’s, I have no idea what you mean. Are EA’s an abstraction? Do you have objective empirical evidence for the existence of EA’s? How do you tell an EA from a GA, or an EC from a GP?

    Objective empirical evidence, Patrick. Rigorous definitions, Patrick. You’ve got none. I lack belief in these “gods of evolution” that you appeal to.

  32. Patrick’s pedantry is duly noted.

    The ‘programmer’ may be searching but the EA is not. The program may be searching but the EA is not.

    So that means that if I plan accordingly, and write code in a particular order, and place the EA at a particular point in the execution of the software program, the result will be that I can FIND what I am LOOKING for.

    Got it. So that means my EA in particular does NO actual searching, but in conjunction with a series of other commands, the PROGRAM will find what it is looking for. But if we are still being too pedantic, let us say that no, the program is not doing any searching.

    BUT, the programmer is. I seeeeeeeeeeeeeeee.

    Deep, deep stuff.

    Patrick: As others have pointed out here before, the person running an EA may use it to search for a solution to a particular problem but the EA is simply evolving in accordance with its virtual environment.The EA is not searching.

    You have also been pointed to EAs like Tierra and Polyworld that have no explicit fitness function.Your definitions are idiosyncratic, at best.

  33. Steve,

    Why did you insert a random number generator? Oh, right. So the program could ‘choose’ a number ‘at random’?

    There has to be some means of getting to an array member in order to copy or eliminate it. You don’t have to use a random number generator; I was using that to ridicule the idea that the programer ALWAYS tells the EA which one to pick. But you are happy to go along with that ridicule – it is impossible to code an evolutionary model because even random pick is a choice!

    What do you suggest as a means of getting to an array member in order to do something with it? Meaningful glances? A vigorous shake?

    Haha. This is all an illustration of the extent to which religion addles the mind. Simple programming concepts which, but for their association with evolution, would be accepted without demur, are distorted and willfully misunderstood to the nth degree for fear they give any credence whatsoever to evolutionary theory.

  34. Mung,

    So I agree that I probably need to revise my thinking and make a better case if I think you’re being inconsistent.

    I think it would be better if you revised your thinking and realised that I am being entirely consistent! 😉

    You wrote:

    If you don’t do any copying or elimination, you are not doing anything that is involved in evolution.

    So to rephrase:

    Even if you mutate your strings, if you don’t copy any of them or eliminate any of them, your population is not evolving.

    You have been around this game long enough to have at least heard, even if you did not absorb, that evolution does not happen to individuals.

    Yet I explained how changing a string in place is in essence no different from copying it and replacing it, eliminating the previous string.

    Sure, in end result. But you would use a different algorithm in the two cases.

    I think it hardly matters that you think this peculiar, if you cannot show the outcome is any different. That’s the basis of my claim that you are mistaking the model for the implementation.

    Nope. I think you are mistaking programming shortcuts for something more profound. If you have a population with one member that continually gives birth and dies and replaces itself, that would, I would be forced to concede, be a model of an evolutionary scenario. If the string mutates, then you would have actual evolution.

    But if you just leave the string untouched, or change it in place, you wouldn’t.

    Mung: I think you’re mistaking the software implementation of a model for the model itself.

    You would need to explain why my implementation does not meet the demands of the model.

    The model has to do what evolution does to be an evolutionary process. You can do what you like and call it what you like, but there is a reason why GAs have more than one member in an array, and actually represent birth and death as processes rather than thinking they don’t need to bother ‘cos it’s all the same in the end.

    You could write some kind of ‘morphing’ software and say ‘look, it’s modelling evolution’, but it would not be an evolutionary algorithm unless it had the elements of evolution in its process. As a minimum, a population subject to birth and death. I’m not saying a GA has to be a good model of evolution. Most GAs aren’t modelling evolution at all; they are using it. But it has to use evolution ‘properly’ (and that means dispensing with ridiculous Pokemon-style notions of what evolution is) to be worthy of the name.

  35. If you wanted to change a string in place, and claim that was the original organism giving birth and dying, what you would be doing is implementing an evolutionary scenario where the only way to die was to give birth, and the only way to give birth was to die. And yeah, as I said, if you want to gain points for pedantry you can peel yourself a big fat yellow one; that is an evolutionary scenario so presented. But because it does not do what evolution does, its sole purpose is to score internet points. Have ’em – fill your boots.

    It would not make a good GA, nor would it make a good pedagological model of evolution. I know that’s not the objective. But rather than finding useless implementations of the concept, you could invest similar effort in understanding useful ones.

  36. Mung: You do realize, don’t you, that genetic programming can be distinguished from genetic algorithms?

    As for EA’s, I have no idea what you mean. Are EA’s an abstraction? Do you have objective empirical evidence for the existence of EA’s? How do you tell an EA from a GA, or an EC from a GP?

    Objective empirical evidence, Patrick. Rigorous definitions, Patrick. You’ve got none. I lack belief in these “gods of evolution” that you appeal to.

    Not to interrupt a rant just as you’re really ramping up, but my question was “Regardless of what you label EAs, what are you trying to say about them?”

    So, what is the point you are trying to make? Surely you’re not just blathering on because you like typing.

  37. Steve:
    Patrick’s pedantry is duly noted.

    The ‘programmer’ may be searching but the EA is not. The program may be searching but the EA is not.

    Yes! You’ve got it!

    Now you can stop with the attempt to argue that evolution is a search so there must be a searcher. Excuse me, Searcher.

    That is where you’re trying to go with all this, right?

  38. The only one talking religion is you Allan (as is always the case with atheists).

    And nobody is distorting shit.

    Turning rhetorical tricks wont save you from flippin burgers.

    Try owing up to your piss-poor logical performance. Non-teleological evolution is not in the programming business.

    Stealing bread for your intellectually challenged progeny wont make it smarter.

    Maybe you can steal some begger’s bedroll you can wrap your deaf dumb and blind wizard in. At least it we warm and fuzzy on its empty stomach.

    Haha. This is all an illustration of the extent to which religion addles the mind. Simple programming concepts which, but for their association with evolution, would be accepted without demur, are distorted and willfully misunderstood to the nth degree for fear they give any credence whatsoever to evolutionary theory.

  39. Allan Miller: an evolutionary scenario where the only way to die was to give birth, and the only way to give birth was to die.

    I once chatted with a creationist who insisted that a single celled organism dies when it replicates. That may satisfy some philosophical or theological need, but it seems vacuous to me.

    But the scenario in which an organism replicates and one replicant dies seems to fit the case under discussion. Taking the biosphere as a whole, that is what happens, on average. The population of microorganisms must be fairly constant.

  40. Steve,

    Try owing up to your piss-poor logical performance. Non-teleological evolution is not in the programming business.

    So you are basically saying that evolution cannot be modelled. The weather can, stock markets can, ecology can, but non-ID evolution can’t. Ever. Because it takes a programmer. That is some piss-poor reasoning, right there.

  41. petrushka,

    But the scenario in which an organism replicates and one replicant dies seems to fit the case under discussion. Taking the biosphere as a whole, that is what happens, on average. The population of microorganisms must be fairly constant.

    Yes, but you’d be missing one hell of a lot if you just decided to model that average, and only have one organism in the population, as a proxy for them all. It’s precisely the fluctuations from average that cause evolution to occur at all, in the neutral case. [eta – actually, in all cases. Evolution is not deterministic. That’s the whole point of having non-deterministic methods in the GA].

  42. Steve,

    The only one talking religion is you Allan (as is always the case with atheists).

    Of course. Channelling fmm. Religion does not come into your evolutionary blind spot. Who could even dare suggest such a thing? It’s always the atheists that mention it, as if there was some kind of correlation or something. Which of course there isn’t. All kinds of non-religious people here think GAs are a pile of crap. Like … erm …

  43. Allan Miller: Yes, but you’d be missing one hell of a lot if you just decided to model that average, and only have one organism in the population, as a proxy for them all.

    I think perhaps that someone in this discussion would rather word lawyer than understand.

    There are at least two significant reasons for writing GAs. One is to model biological evolution. The other is to solve problems that have been too difficult to solve with straightforward computation. One of those difficult problems is real time behavior, as in piloting or driving, or optimizing power grids.

    What mung excels at is lawyering, taking apart definitions and finding loopholes. This looks to me like a variant of apologetics. It is the opposite of seeking a meeting of minds.

  44. Allan Miller: You have been around this game long enough to have at least heard, even if you did not absorb, that evolution does not happen to individuals.

    If evolution is random mutations and natural selection, evolution can ONLY happen to individuals.

    Of course, I accept that you side really can never say what evolution is.

  45. petrushka,

    There are at least two significant reasons for writing GAs. One is to model biological evolution. The other is to solve problems that have been too difficult to solve with straightforward computation.

    Yes, I was just thinking I’d failed to make that distinction as clearly as I might.

    An EA doesn’t have to model evolution closely, unless it is intended as a model of evolution.

    But if an EA is intended to problem-solve, it still needs to have something that sets it apart from all other problem-solving programs – the ‘E’ part has to be justified.

    In both cases, you need multi-member populations with reproduction and death, minimum.

  46. rem

    is a valid program in some languages, and where it isn’t there will be an equivalent.

    The part of the GA that mung is omitting (for whatever reason) is the stuff that makes the program interesting.

    I do not see the point in word lawyering. It seems to me that a productive approach to discussion would be to work on concepts rather than to nitpick definitions.

  47. phoodoo,

    If evolution is random mutations and natural selection, evolution can ONLY happen to individuals.

    Of course, I accept that you side really can never say what evolution is.

    Haha. “Here’s some crap I just threw together. Oh, I know you’re not going to accept my crap’. My chair is ONLY individual atoms.

    Evolution is change in allele frequency in populations. It is also change in lineage. Is that not ‘saying what evolution is’?

    In neither case is evolution happening ONLY to individuals. Those individuals form a broader collection, spatially and temporally. It is that broader collection that undergoes evolution, save for the inevitable fact that an initial mutation occurs in one individual in the first place.

    If that mutation becomes common, that is evolution, but hardly ‘evolution ONLY happening to individuals’.

    And … how does Natural Selection only occur to an individual? What would that even mean? I know you haven’t got a clue what selection means; I ask rhetorically, because it makes no sense.

Leave a Reply