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. To see a genetic algorithm bring about function far better than was initially present, and by means that are not easily predictable by the person running the program, take a look at the BoxCar2d simulation, which has a virtual physics and “cars” that are selected to move rightwards.

    But of course anyone could say that this was not enough “functional complexity”. I have not read Axe’s book to find out how that is defined.

    PS How about a title for the OP?

  2. Is it because a generic GA doesn’t do anything of the sort of thing he is asking for?

    Why don’t you check in your extensive library? I’m sure you have a book that has a chapter on generic GA’s.

  3. Non-living diversity is arbitrary, while living diversity seems deliberate, coherent. Look at the plant kingdom, look at the animal kingdom – literally millions of different species, each perfectly adapted to function and survive in its particular ecological niche.

    – Addy Pross. What is Life?

    Well there you have it. Functional coherence. I wonder if he ever actually defines it or quantifies it. But he seems to believe that until we know what it is we will never be able to say what life is.

  4. OMagain: I’m sure you have a book that has a chapter on generic GA’s.

    People here always seem to dislike the quotes I come up with when I do that.

    Like these:

    GAs are “general purpose” search methods…

    Many computational problems require searching through a huge number of possibilities for solutions.

    What is needed is both computational parallelism … and an intelligent strategy for choosing the next set of sequences to evaluate.

    – Melanie Mitchell

  5. Mung,

    I believe you’re now fine with evolution, but want it to be guided.

    So Mung, is it
    1. Front loading
    2. Designer uses environment to add information
    3. Supernatural
    4. Something else (please describe).

  6. Mung: People here always seem to dislike the quotes I come up with when I do that.

    That’s because your primary method of argumentation is semantical, rather than conceptual. You are obsessed with words, rather than the underlying concepts. It’s all one big game of metaphors and analogies, ill defined, taken literally presumably in a search for some sort of gotcha moment.

    It usually takes the form of someone around here insisting on some particular definition of algorithm, or another word, and then you digging up a case of a book or paper author using it in another sense.

    So when people elect to respond to you by asking for a definition, it’s because it is their experience you just want to throw quotes around by people using different definitions of them. It’s ridiculous.

    What is your end-goal with all this evolution modeled on computers-related stuff? Are you looking to find the one supreme contradiction between two authors, that will finally prove, that even though evolution works fine on computers, it never will in the real world?

  7. Rumraket: Are you looking to find the one supreme contradiction between two authors, that will finally prove, that even though evolution works fine on computers, it never will in the real world?

    What part of “I accept common descent” do you not understand?

  8. Mung: What part of “I accept common descent” do you not understand?

    Who the hell cares? You clearly have an issue with evolutionary theory of some sort, and believe that some sort of intervention by an intelligent agent is necessary to explain the diversity and properties of living organisms.

  9. Rumraket,

    That’s not what Mung said. Therefore, you are accusing him of lying. Alan wants you to know that is against the rules. Just warning you.

  10. phoodoo:
    Joe Felsenstein,

    Found any GA’s that don’t have search built into them yet Joe?

    Is it important whether we say that genetic algorithms “have search built into them”?

    I can say that BoxCar2d. does not have a specific design of the “car” built into it — just the desirability of it moving fast to the right.

  11. Mung:

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

    He used to program for a living, Mung.

  12. Thanks, Mung, for correcting the BoxCar2d link.

    And dazz, yes Karl Sims’s simulation was a pioneering predecessor of these creature-cum-physics genetic algorithms. But as far as I know his code is not available. breve is another one, but only partly available.

  13. Joe Felsenstein,

    Yea, yea, Joe, I think at this point we all get that a computer algorithm doesn’t decide ahead of time what the best answer will be, instead it tells the computer what the attributes of the “best” would be like compared to a lesser result.

    Now do you see how that can NEVER be analogous to what evolution is said to do? Because if you still don’t see that incredibly large difference, I can spell it out further.

    But I am relieved to know we can now pretty much agree (except for Richard of course, but let’s stick with what’s possible) that what a computer program is designed to do, is to look for what the computer programmer tells it to find.

  14. phoodoo: Yea, yea, Joe, I think at this point we all get that a computer algorithm doesn’t decide ahead of time what the best answer will be, instead it tells the computer what the attributes of the “best” would be like compared to a lesser result.

    Now do you see how that can NEVER be analogous to what evolution is said to do? Because if you still don’t see that incredibly large difference, I can spell it out further.

    Another borderline comment. Isn’t that what ALL computer algos do? Are particle physics algorithms not analogous to particle physics then?

  15. Boxcar 2D has no literal search built into it and it does not have any end-goal to the process either.

    Nothing in the algorithm says that something effective must result 50 generations down the line.

    The fact that we can reliably predict the outcome (that something effective DOES result, 50 generations down the line) of the simulation merely reflects our experience with, and understanding of evolutionary processes.
    We understand and can see that the contents of the process will eventually produce functional “cars” that can cross the “environment” without any particular instance of it ever having been literally searched for, or been intended as the goal.

  16. dazz: Now do you see how that can NEVER be analogous to what evolution is said to do?

    Actually that is literally, directly ANALOGOUS to what evolution does.

    Key word is ANALOGOUS. Not perfectly IDENTICAL, just ANALOGOUS.

    This is why I have phoodoo on ignore.

  17. phoodoo,

    But I am relieved to know we can now pretty much agree (except for Richard of course, but let’s stick with what’s possible) that what a computer program is designed to do, is to look for what the computer programmer tells it to find.

    So the ‘M&M’s’ simulation, which had no selection component at all – was that a search? And did it find what the programmer told it to find?

    Is a GA without selection still a GA?

  18. Evolution is, in effect, a method of searching among an enormous number of possibilities for “solutions.”

    Evolution can also be seen as a method for designing innovative solutions to complex problems.

    The fitness criteria continually change as creatures evolve, so evolution is searching a constantly changing set of possibilities. Searching for solutions in the face of changing conditions is precisely what is required for adaptive computer programs.

    – Melanie Mitchell

    I just love these books on GAs.

  19. Mung: I just love these books on GAs.

    Do you understand them though Mung. Can you write one now, or is it for word-lawyering rhetorical purposes?

  20. Richardthughes: Do you understand them though Mung. Can you write one now, or is it for word-lawyering rhetorical purposes?

    I’ve been able to write a GA long before now Richard. Don’t go drinking that keiths koolaid.

  21. When arguments go badly for Mung in existing threads, he often establishes new threads in which the arguments stand to go better for him. The rules of our forum do not permit me to argue that Mung does this intentionally. And thus any denial of intent by Mung would be vacuous.

    In the opening post of this thread, Mung constructs a story about another thread. His story runs contrary to any that I would tell, because it omits comments in the other thread that I deem essential.

    Did Vincent Torley hear only crickets responding to his request? No, it was I who heard only crickets, after asking whether Axe had formalized a measure of functional coherence. (We generally recognize that there are degrees of coherence, and Torley referred to the degree of a generic property X in an object as requiring a cause with a minimal degree of intelligence. He did not say outright that X might be functional coherence. But it was entirely appropriate, in context, for me to ask about a formal measure of functional coherence.)

    To my knowledge, I am the only person who has provided formal responses to all three versions of the measure of specified complexity and to all three versions of the measure of active information. (It’s perhaps dumb for me to have given the crypto-creationists high-quality feedback.) You sorta kinda almost might guess that I would not shrink from addressing functional coherence if ever a formal measure of it were to appear in a peer-reviewed publication. Point me to what I have missed, even if it has not passed peer review.

  22. Allan Miller: Is a GA without selection still a GA?

    You mean like the keiths drift weasel? Does it halt?

    I would say no, but I would also question whether it’s even possible to have no selection in such a program. What determines which offspring make the next generation?

  23. Mung: I’ve been able to write a GA long before now Richard. Don’t go drinking that keiths koolaid.

    Let’s see the code , Mung.

  24. Richardthughes: Let’s see the code algorithm, Mung.

    Fixed that for you, Rich. This isn’t just my response. It is rarely acceptable, in papers on computing, to give a program in a specific language instead of an unambiguous statement of an algorithm in nonspecific language. Mind you (and Mung), it is not “anything goes” in the statement of algorithms. We do abide by conventions. But there is no one way to express an algorithm rigorously.

  25. Tom English:
    When arguments go badly for Mung in existing threads, he often establishes new threads in which the arguments stand to go better for him. The rules of our forum do not permit me to argue that Mung does this intentionally. And thus any denial of intent by Mung would be vacuous.

    In the opening post of this thread, Mung constructs a story about another thread. His story runs contrary to any that I would tell, because it omits comments in the other thread that I deem essential.

    Did Vincent Torley hear only crickets responding to his request? No, it was I who heard only crickets, after asking whether Axe had formalized a measure of functional coherence. (We generally recognize that there are degrees of coherence, and Torley referred to the degree of a generic property X in an object as requiring a cause with a minimal degree of intelligence. He did not say outright that X might be functional coherence. But it was entirely appropriate, in context, for me to ask about a formal measure of functional coherence.)

    To my knowledge, I am the only person who has provided formal responses to all three versions of the measure of specified complexity and to all three versions of the measure of active information. (It’s perhaps dumb for me to have given the crypto-creationists high-quality feedback.) You sorta kinda almost might guess that I would not shrink from addressing functional coherence if ever a formal measure of it were to appear in a peer-reviewed publication. Point me to what I have missed, even if it has not passed peer review.

    I don’t want to wish more work on you, but I’d also be very interested in seeing a formal definition of “functional coherence.” If it turns out to be the sort of thing that can be measured in an EA, I’d put in some coding time.

  26. Patrick: I don’t want to wish more work on you, but I’d also be very interested in seeing a formal definition of “functional coherence.”If it turns out to be the sort of thing that can be measured in an EA, I’d put in some coding time.

    Not sure if relevant (it’s about “functional coherence” in protein families) but this came up when I googled the term:

    http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4917928/

  27. Giving a formal definition of algorithms, corresponding to the intuitive notion, remains a challenging problem.

    https://en.wikipedia.org/wiki/Algorithm

    and:

    Algorithms can be expressed in many kinds of notation, including natural languages, pseudocode, flowcharts, drakon-charts, programming languages or control tables (processed by interpreters). Natural language expressions of algorithms tend to be verbose and ambiguous, and are rarely used for complex or technical algorithms. Pseudocode, flowcharts, drakon-charts and control tables are structured ways to express algorithms that avoid many of the ambiguities common in natural language statements. Programming languages are primarily intended for expressing algorithms in a form that can be executed by a computer, but are often used as a way to define or document algorithms.

    https://en.wikipedia.org/wiki/Algorithm#Expressing_algorithms

  28. dazz: Universal common descent?

    dazz: Multiple origin events is NOT incompatible with UCA. Think about it.

    So yes, I’m fine with UCD too. What I mean when I say I accept common descent is that I don’t believe God poofed all species into existence out of nothing during some literal one week span of seven days at some point in the past (Young Earth Creationism) or even over long periods of ages (Old Earth Creationism).

    So, for example, I reject the idea that God created the dinosaurs, wiped them out, and then created the mammals to take their place.

    Now can we get back to talking about just what it is that genetic algorithms are capable of doing?

  29. Richardthughes: Code will be fine, Mung.

    And if you don’t get the code are you going to drink the #KeithsKoolaid? I must be afraid to post any code. I must not be able to write a GA. If I don’t post under my real name it must logically follow that I do not know my real name.

  30. Mung,

    Don’t be a child. I don’t want a $10k bet either. Just throw it up on GitHub. If you can’t, no worries. Thinking you can’t based on your comprehension in previous threads.

  31. dazz: Not sure if relevant (it’s about “functional coherence” in protein families) but this came up when I googled the term:

    http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4917928/

    Thanks. I gave it only a quick glance. But it doesn’t seem related to what Axe has said is the definition he gives in the book,

    Functional coherence: the hierarchical arrangement of parts need for anything to produce a high-level function — each part contributing in a coordinated way to the whole

    How is this different from irreducible complexity? Only in “hierarchical” and “high-level,” as best I can tell. Does Axe bother to answer the obvious question of whether Avidians calculating the NAND function exhibit functional coherence? (Google Books indicates that the term “Avida” does not occur in Undeniable.) Irrespective of what the answer is to this particular question, the fact of the matter is that he has provided himself a pat response to all such questions: “I wrote the book for the general reader.”

    Given that the function of proteins is not all-or-nothing, but instead a matter of degree, it would be mighty weird for Axe to treat functional coherence strictly as a quality.

  32. Richardthughes: Code will be fine, Mung.

    Ditto. (Duly noted that Mung cuts off his nose to spite his face.)

    ETA: Watch Mung turn that into a requirement to provide code, and claim that it is too inconvenient to do here.

  33. Mung: So yes, I’m fine with UCD too. What I mean when I say I accept common descent is that I don’t believe God poofed all species into existence out of nothing during some literal one week span of seven days at some point in the past

    Just one more question on this (that I already asked a number of times, apologies for the FFM-esque repetition here). Do you think there’s a gradual, step-wise pathway available to evolution / UCD?

    Because the only alternative to that is “dogs giving birth to cats”

    And if you don’t believe that, the only alternative is something indistinguishable from standard evolution, and IC / functional coherence / FSCI/O can neither pose a challenge to evolution

  34. Mung: I reject the idea that God created the dinosaurs, wiped them out, and then created the mammals to take their place.

    For all I know, mammals coexisted with dinos for millions of years

  35. I know Tom loves me. He told me so. 🙂

    If I was making a claim about what GAs could or could not do then I might have a reason to post code. But let me go on record as saying I don’t know of any reason a GA cannot produce a result that exhibits functional coherence.

    Wasn’t there a GA that made a clock that was posted here some time ago?

    My issue isn’t about what GAs can do. However, see:

    Compositional Evolution: The Impact of Sex, Symbiosis, and Modularity on the Gradualist Framework of Evolution

  36. dazz: For all I know, mammals coexisted with dinos for millions of years

    The earliest known dinosaurs are about 230ma, and the earliest known mammals depend on how you define that term, which means different things to different people, but is somewhere from 225ma to 160ma. The latest known dinosaurs are very possibly singing outside your window right now. So yeah, millions of years.

  37. Mung: If I was making a claim about what GAs could or could not do then I might have a reason to post code.

    You made a claim about what Mung could or could not do which gives you a reason to post code.

  38. John Harshman,

    Thanks John. I believe Mung was referring to the extinction of non-avian dinos, which google says happened some 66 million years ago. So still 100 million years of co-existence at least

  39. Yes, Tom, I like pulling things out of other threads and featuring them in an OP. Guilty as charged.

    vjt asked:

    I’d like to ask Tom: in terms of building functional coherence, what’s the best your algorithms are capable of doing?

    You had a number of posts in response to vjt that didn’t even attempt to address this question.

    Finally there’s this post:

    As for functional coherence, I got the impression, reading your review (perhaps not closely enough), that it is a rebranding of irreducible complexity — a quality, not a quantity. Does Axe define a measure of the degree of functional coherence in a system?

    So I think I am justified in saying we’re still looking for answers to his questions.

Leave a Reply