Uncommon Descent Serving The Intelligent Design Community

Why I Love AVIDA – Detecting Design in Digital Organisms

Share
Facebook
Twitter
LinkedIn
Flipboard
Print
Email

There are many ID’ers who complain about the AVIDA simulation, and I for the life of me can’t figure out why this is so.

Personally, I view AVIDA to be one of the best demonstrations of Intelligent Design on the planet. It, in fact, works incredibly well. Sure, there are some sideshows that people use to make it look like AVIDA is supporting Darwinian evolution. However, AVIDA is a great platform that can be used to demonstrate and apply design detection techniques.

In an old paper of mine, I described how to reformulate Irreducible Complexity into computability theory. You can read the paper for the details, or you can read a short, non-technical summary of my ideas. The basic gist of it follows.

First, in computer programming, there is the concept of a Universal computer (also called a Turing-complete computer). A Universal computer is one that can perform any computable function. All Universal computers are computationally equivalent. Now, in reality, no computer is Universal, but just like the Ideal Gas Law gives us workable conceptions for dealing with non-ideal gases, the concepts behind Universal computers give us workable conceptions for computability theory on real computers.

So, what makes a computer Universal? As I have explained in my paper, one key feature of Universal computation is the ability to perform open-ended loops. That is, the ability to have a repetition of a statement such that there is no implicit control over the number of times that the loop executes. Let me give you a few examples. If you have programmed in any programming language, you should be able to follow.

First, let’s look at a close-ended loop. A close-ended loop looks like this:


my_animals = ["dragon", "parakeet", "chicken"];
foreach(animal in my_animals) {
print "I own a ";
print animal;
}

This is a close-ended loop, because the looping structure itself (the foreach statement) limited the number of iterations. A foreach statement is a very powerful structure, but you cannot achieve universal computation with it. It is powerful, but tame.

On the other hand, an open-ended loop looks like this:


my_animals = ["dragon", "parakeet", "chicken"];
index = 0;
while(index < my_animals.length) {
animal = my_animals[index]
print "I own a ";
print animal;
index = index + 1;
}

There is much more that can go wrong with an open-ended loop. I could forget to increment my counter. I could compare against the wrong entity. I could go backwards. I might forget a comparison altogether. However, it is also much more powerful. There are many procedures that, given a base set of functions, can only be done with open-ended loops. Therefore, open-ended loops are much more prone to failure, but they are also incredibly more powerful. There are many operations which require open-ended loops.

Therefore, since any computable function can be programmed on any Universal machine, it follows that there are functions on a given Universal machine that require open-ended loops to run. That’s where things get interesting.

Open-ended loops are not just difficult – they are chaotic. Small changes do not lead to small effects. Small changes lead to dramatic effects, such that one can’t climb the hill. It takes multiple, coordinated, simultaneous changes to make a useful change, and these changes are not incrementally useful at all – usually they are disastrous. Therefore, the possibility of a mutation that generates such a change goes up exponentially with both the number of changes required, and also (though probably not exponentially) with the size of the code base.

Therefore, my paper suggests that the way to tell a biologically-designed unit is to pick it apart to find open-ended loops. An open-ended loop that contributes towards a function essentially requires a designer. The paper has some caveats about doing this in real organisms (i.e., the actual design may be located elsewhere in a generator mechanism), but this is easy enough to analyze in AVIDA, where we know where everything comes from.

AVIDA is a great system, because it is one of the few evolutionary systems that is truly Universal. Most evolutionary systems only allow close-ended loops, precisely because it leads to fewer chaotic situations. However, this also means that the parameters of the system are what are guiding the evolution, not selection. In other words, in such cases, most of the solution is already designed-in in the evolutionary simulation. However, AVIDA at least allows for the possibility for a more open-ended evolution because its language is Universal.

Because of this, given ANY AVIDA organism, it is possible to detect the designed parts. (NOTE – it is possible that there are more designed parts than given by this method – ID goes to great lengths to remove false positives, but that means that a negative can’t necessarily be counted out). If you find an open-ended loop that contributes to function, you have found a designed part of the organism.

Also of interest – each AVIDA organism does contain a designed part – the replication loop. It is, in every case I am aware of, the only functional open-ended loop in an AVIDA system. Thus, every replicating AVIDA organism shows distinct, detectable evidence of design within the organism.

There are a very few functions that AVIDA organisms evolve, but none of these functions use or require open-ended loops to accomplish. Thus, design detection is coherently demonstrated and validated in each AVIDA organism, as well as the way in which evolution works with design to accomplish biological goals. The foundational units of operation (i.e. the open-ended loops) are designed-in, and then shifted around in a parameterized evolution to apply these units to functional tasks. The theory, simulation, and experimentation of Intelligent Design all match up in AVIDA.

I’m just not sure why so few people bother to mention it.

Comments
johnnyb: I point out that in biology, similar open-ended loops occur if there is a cascade of proteins produced, such that the production of A promotes the production of B and so forth, such that a later member of the cascade is required to turn A back off. Why couldn't a circuit evolve? We have an enzyme A. B is added as a promoter. C is then added as a regulator for B. And so on.Zachriel
March 19, 2015
March
03
Mar
19
19
2015
05:18 AM
5
05
18
AM
PDT
Yes, if you read my original paper, I point out that in biology, similar open-ended loops occur if there is a cascade of proteins produced, such that the production of A promotes the production of B and so forth, such that a later member of the cascade is required to turn A back off. The original paper points to a regulatory system in the flagellum that operates on this principle. I should also make a clarification, as my original post comes off as too simplistically dogmatic (i.e., "An open-ended loop that contributes towards a function essentially requires a designer."). More technically and exactly, the probabilistic requirements go up significantly (I believe exponentially) with the number of bits required to build a functioning loop. It may be possible, if a GP system can make an open-ended loop with few enough bits to implement, that a few open-ended loops could be found. On Avida, this requires a number of instructions, so it is rarely if ever seen. Nonetheless, for a given GP system, you could find a loop control size past which it is nearly impossible to generate loops.johnnyb
March 18, 2015
March
03
Mar
18
18
2015
11:00 PM
11
11
00
PM
PDT
JohnnyB Thanks for the post. A serious deficit in my education is that I know very little about programming ( though I may try to teach myself Python in the near future) so I only have a vague idea of the differences you describe between open and close-ended loops and how they lead to those profound outcomes. My questions are: what makes you think that genetic networks could be categorized as either closed or open-ended loops? and..to the extent they could be categorized this way could you describe the architecture of the 2 types of loops? ie. what would be the nature of the proteins and the interactions between them that would lead to closed vs. open and...are there any properties of genetic networks, or for that matter living things in general that could tell you right now whether they are composed of open or close-ended loops?RodW
March 18, 2015
March
03
Mar
18
18
2015
08:16 PM
8
08
16
PM
PDT
harry - While I agree with several of your later points, I think you make a few mistakes in your opening statement:
The program running on it that is supposed to demonstrate mindless, accidental evolution in action was intelligently designed. It is absurd, no matter what results the execution of that program produces, to then exclaim, “Look at what can happen mindlessly and accidentally!”
I disagree here with your assertion that a designed program cannot in principle be used to demonstrate what mindless evolution would do (whether anything or nothing). I agree that the program (like life itself) requires a suitable place for it to occur, and that is just as much evidence of design as life itself is. However, I think it is wrong to make the direct connection that just because the program was built by a human that it cannot simulate undesigned conditions. The goal of the simulation is to see what RM+NS evolution can do, and, as long as the work of the programmer is to *ensure* that it is RM+NS that is doing the evolution, I think it qualifies for consideration at least. In this case, I am perfectly happy to attribute the results of "mindless evolution" to the extent that it happens. I just think that we need to be realistic about what that is. What was it that Avida was able to accomplish? What was it not able to accomplish? To what extent was its instruction set tailored for the tasks at hand? What happens when it tries to perform computations where the instruction set was not tailored for it? I think these are the kinds of great questions that can be asked and answered. I don't think the fact that Avida was designed means that we can't, in principle, use it to answer these questions (unless, of course, it was badly designed to do so). Let's take another example. Let's say that I wanted to test the ability of a tower to withstand random weather conditions. I could, at least in principle, build a testing bed to simulate random weather conditions on the tower. I might succeed or fail in building a suitable test, but it is at least in principle possible. No one would criticize my test bed by saying, "how can it simulate random weather conditions because it was designed?" and then throw out all of the results of my studies. The results might be thrown out because I didn't design it well enough, but not because of an in-principle problem with simulating random weather conditions in a designed space.johnnyb
March 18, 2015
March
03
Mar
18
18
2015
12:15 PM
12
12
15
PM
PDT
Mark - I would have to do some thinking on that. However, on first glance, I think that my standard is actually *much* lower than that required by CSI. CSI requires 500 bits. The example I used here is around 19 bits, though that is low because of the semi-cheating "x" instruction. It would more properly be around 32-40 bits. Again, that's 1/10th the size of the requirement of CSI. However, if you had all non-looping components, perhaps CSI would be more selectable. However, if the CSI was more selectable, that might be equivalent to it having fewer *actual* bits. So, I'm not going to take a hard-and-fast stance on it at the moment, but those are the things that I think are good to think about. My guess is that at the end of the day, they will all wind up being relatively equivalent things, with each having their own place where they are better used. Some of them will just differ by where the markings are (i.e. Celsius vs Fahrenheit vs Kelvin), and some may have some subtle but important differences (i.e., mass vs. weight). Some of them might wind up being correlations of others rather than theoretically significant in their own right (think of the ways that ancient climate is measured). Others of them might wind up being exactly equivalent. It is my understanding, for instance, that when Newton's and Liebniz's calculus were first discovered, people didn't recognize that they were equivalent, and it was only later that it was discovered that they were the same thing. Anyway, that's the fun of a new field!johnnyb
March 18, 2015
March
03
Mar
18
18
2015
12:02 PM
12
12
02
PM
PDT
harry: There is an intelligently designed utility company providing necessary electricity to the computer the software runs on. The computer was intelligently designed. The computer’s operating system was intelligently designed. That's been the problem with computer weather modeling: There's neither snow nor rain nor heat nor gloom of night in the computer. We're currently running a simulation of ocean currents, but the computer doesn't seem to like the salt water.Zachriel
March 18, 2015
March
03
Mar
18
18
2015
09:44 AM
9
09
44
AM
PDT
The problem with software that supposedly demonstrates mindless, accidental evolution in action is that it makes clear, as johnnyb is saying, the exact opposite. There is an intelligently designed utility company providing necessary electricity to the computer the software runs on. The computer was intelligently designed. The computer's operating system was intelligently designed. The program running on it that is supposed to demonstrate mindless, accidental evolution in action was intelligently designed. It is absurd, no matter what results the execution of that program produces, to then exclaim, "Look at what can happen mindlessly and accidentally!" It is the same with life. I assume readers here are familiar with British mathematician/physicist Roger Penrose's calculation of the odds of the Big Bang producing by chance a universe low enough in entropy that the emergence of life would even be a possibility to be 1 in 10^10^123. To write out that number without using exponential notation would require writing so many zeros after the "1" than even if you wrote a zero for every proton, neutron, electron, and every other elementary particle in the observable Universe, you would still fall far short of writing out the figure needed. In other words, it is simply irrational to just assume it was a mindless accident that the Universe was fine-tuned such that life could emerge and be sustained. That happening mindlessly and accidentally was a virtual impossibility. (At this point, some reader with a darkened, atheistic mind is saying to himself, "Well, we should expect, since we are here, to find that the Universe is fine-tuned for life." Duh! That painfully obvious fact doesn't change the odds one bit, or the implications of the fact that the Universe, in spite of those odds, is fine-tuned for life.) Continuing with the analogy provided by software that supposedly demonstrates mindless evolution in action, let's consider the utility company, the computer and the computer's operating system as "the Universe," and self-replicating software executing on the computer, "life." Just the fact that it would be irrational to just assume this "universe" that allows for the execution of software of any kind was a mindless accident should incline us to assume that the self-replicating software running on it wasn't an accident, either. Yet atheistic materialism's abiogenesis project assumes just that. And does so even though life on Earth is now known to consist of digital-information-based nanotechnology the functional complexity of which is light years beyond anything modern science knows how to build from scratch. It does so even though there are no instances of significant functional complexity known to have come about mindlessly and accidentally. It does so even though the only known source of functional, digital information is an intellect. It continues to search for a mindless, accidental origin of life even though intelligence is a known reality and intelligent agency is always a causal factor in the emergence of phenomena exhibiting significant functional complexity. It is simply irrational to just assume the Universe and the life within it are mindless accidents. Science, to remain true science, must remain rational.harry
March 18, 2015
March
03
Mar
18
18
2015
09:41 AM
9
09
41
AM
PDT
JB Sorry - but I am up to my eyes in papers I have to read for a living. I just don't have time to read one for fun. Suppose Avida comes up with an organism that generates IR or CSI but has not generated any open-ended loops. How would you react? Or is it somehow impossible?Mark Frank
March 18, 2015
March
03
Mar
18
18
2015
09:05 AM
9
09
05
AM
PDT
Mark Frank - The paper where I describe it more fully is here. It is basically a reformulation of Irreducible Complexity into computability theory to make some of the pieces more explicit. It is very much along the same lines as the others, but I think it shines in certain areas. For instance, CSI is hard to use in a practical sense. This is very easy to use in a practical sense. I could probably come up with a more formal relationship between the theories, but having a day job prevents more thorough analysis. I basically wind up with enough time to do one or two major ID or Creation-oriented projects each year, so doing that isn't on the top of my list, though I think it would be a worthwhile study. Interestingly, along those same lines, Winston Ewert proved the equivalence of Algorithmic Specified Complexity and FSCI in Engineering and the Ultimate, and I also have a chapter in there relating the concepts on this blog article (or at least very closely related concepts) to non-materialistic cognitive modeling and software complexity management.johnnyb
March 18, 2015
March
03
Mar
18
18
2015
08:59 AM
8
08
59
AM
PDT
Johnnyb #7, #6 Sorry I don't know the Avida creators. I am bit surprised by your #6 and indeed the OP. You seem to have offered a new criterion for detecting design. Instead of IR, CSI, FSCI, DFSCI etc - you offer open-ended loops. How do they relate to the other criteria? Are they necessary or sufficient to detect design?Mark Frank
March 18, 2015
March
03
Mar
18
18
2015
07:32 AM
7
07
32
AM
PDT
Mark Frank - If you know the creators, one feature I would like to see in Avida is the ability to extend the set of rewarded functions beyond logic functions. I would love to try to evolve, for instance, the factorial function - it is one of the smallest functions that *require* an open-ended loop for processing. Unless it has greatly changed in the last few years while I wasn't paying attention, this is not possible.johnnyb
March 18, 2015
March
03
Mar
18
18
2015
06:15 AM
6
06
15
AM
PDT
Mak Frank - Good question. My point is that Avida does *not* have to change per se - I like it how it is! What it would have to be able to do to demonstrate the building of complex functions would be to evolve, through a selectable path, a function that incorporated an open-ended loop, such that the open-ended loop contributed towards the task. I like Avida because, unlike many other evolutionary software, it *allows* for evolving open-ended loops. I think a good demonstration of RM+NS would be to show that it can evolve an open-ended loop that contributes to function. However, if you look at any Avida organism, the only loop in any organism that contributes to function is the replication loop, and that was designed!johnnyb
March 18, 2015
March
03
Mar
18
18
2015
05:58 AM
5
05
58
AM
PDT
OT: Mark Frank, you might be interested in this recent video by Dr. Giem since it features your debate with him: Bayes' Theorem and Atheism 3-14-2015 by Paul Giem https://www.youtube.com/watch?v=QW3IGBJi05A Of note: I personally thought Dr. Giem was very 'gentle' in exposing your over the top atheistic bias and appealing to your reason so that you too might see this unreasonable bias against God that is, prior to investigation, inherent in you.bornagain77
March 18, 2015
March
03
Mar
18
18
2015
04:33 AM
4
04
33
AM
PDT
Johnnyb As I understand it the objective of Avida is to simulate how RM+NS can generate new functions. You seem to be saying that it does generate new functions but there is an element of design hidden in the program. What kind of computer simulation would satisfy you that RM+NS is capable of generating new function? To put it another way, how would Avida have to change to be convincing simulation of neo-Darwinian evolution?Mark Frank
March 18, 2015
March
03
Mar
18
18
2015
04:10 AM
4
04
10
AM
PDT
Or related interest: Avida, when using realistic biological parameters as its default settings, instead of using highly unrealistic default settings as it currently does, actually supports Genetic Entropy instead of Darwinian evolution: Biological Information - Mendel's Accountant and Avida 1-31-2015 by Paul Giem https://www.youtube.com/watch?v=cGd0pznOh0A&list=PLHDSWJBW3DNUUhiC9VwPnhl-ymuObyTWJ&index=14 also of note: Panda’s Thumb Richard Hoppe forgot about Humpty Zombie - April 15, 2014 Excerpt: I discovered if you crank up Avida’s cosmic radiation parameter to maximum and have the Avida genomes utterly scrambled, the Avidian organisms still kept reproducing. If I recall correctly, they died if the radiation was moderate, but just crank it to the max and the creatures come back to life! This would be like putting dogs in a microwave oven for 3 days, running it at full blast, and then demanding they reproduce. And guess what, the little Avida critters reproduced. This little discovery in Avida 1.6 was unfortunately not reported in Nature. Why? It was a far more stupendous discovery! Do you think it’s too late for Richard Hoppe and I to co-author a submission? Hoppe eventually capitulated that there was indeed this feature of Avida. To his credit he sent a letter to Dr. Adami to inform him of the discovery. Dr. Adami sent Evan Dorn to the Access Research Network forum, and Evan confirmed the feature by posting a reply there. http://www.creationevolutionuniversity.com/idcs/?p=90 LIFE’S CONSERVATION LAW - William Dembski - Robert Marks - Pg. 13 Excerpt: (Computer) Simulations such as Dawkins’s WEASEL, Adami’s AVIDA, Ray’s Tierra, and Schneider’s ev appear to support Darwinian evolution, but only for lack of clear accounting practices that track the information smuggled into them.,,, Information does not magically materialize. It can be created by intelligence or it can be shunted around by natural forces. But natural forces, and Darwinian processes in particular, do not create information. Active information enables us to see why this is the case. http://evoinfo.org/publications/lifes-conservation-law/ Podcast: Winston Ewert on computer simulation of evolution (AVIDA) that sneaks in information https://uncommondescent.com/intelligent-design/podcast-winston-ewert-on-computer-simulation-of-evolution-avida-that-sneaks-in-information/ On Algorithmic Specified Complexity by Robert J. Marks II - video paraphrase (All Evolutionary Algorithms have failed to generate truly novel information including ‘unexpected, and interesting, emergent behaviors’) - Robert Marks https://www.youtube.com/watch?v=No3LZmPcwyg Biological Information - Tierra 11-8-2014 by Paul Giem - video https://www.youtube.com/watch?v=aPf_lc3gnFAbornagain77
March 18, 2015
March
03
Mar
18
18
2015
04:09 AM
4
04
09
AM
PDT
So, in Avida-ED, you take the ancestor organism, drop it in, and watch it go. Then, take any other organism and drag it to your "freezer". Then you can open it up in the "Organism" tab. Run the organism to make sure it actually replicates. If it does, you will find, towards the end of the genome, the codes "zvxg", often with additional instructions in-between. "z" sets the marker for where the loop bounds are, "v" performs a single-element copy, "x" attempts a division and terminates the loop (but this does nothing if the replication is not finished), and "g" goes back to the point set by "z". This is the designed replication loop from the original ancestor. Your organism will look nothing like the original organism, except that it will have this replication loop, and it will have no other function-enabling loops. As I said, the "x" is kind of a cheater instruction (it combines a conditional check, a function, and a loop termination in a single instruction), which makes the loop not quite as irreducibly complex as we might like, but even so it illustrates the point well.johnnyb
March 17, 2015
March
03
Mar
17
17
2015
11:04 PM
11
11
04
PM
PDT
Technical Notes: With Avida-ED's default ancestor, that loop is "zvxg". That is a fairly small loop, mainly because Avida's instructions are designed to make replication easy. The "x" instruction is a bit of a cop-out (it performs several checks to make sure everything is right before performing), making the loop not quite as "open-ended" as would normally be considered. For it to be really open-ended, "x" should really do its job even if the daughter organism is not ready. Here is Avida's irreducibly complex feature - the one that was built in by the designer of the original organism. What is really interesting is that Avida's instruction set is extremely geared towards replication (such that replication can be accomplished with essentially 4 opcodes), yet it still never evolves on its own, because of the chaotic way that looping structures have to come into being. Being that it is only 4 opcodes, I won't say that it is absolutely impossible (it is only ~19 bits of information - Dembski suggested a minimum of 500 bits to prevent all false positives). Nevertheless, in all of the functioning, replicating organisms I've tested, it is the same, inherited loop. It is design that is detectable.johnnyb
March 17, 2015
March
03
Mar
17
17
2015
10:53 PM
10
10
53
PM
PDT
1 2

Leave a Reply