Register | Sign In


Understanding through Discussion


EvC Forum active members: 65 (9162 total)
2 online now:
Newest Member: popoi
Post Volume: Total: 915,817 Year: 3,074/9,624 Month: 919/1,588 Week: 102/223 Day: 13/17 Hour: 0/0


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Evolution as an Algorithm
PurpleYouko
Member
Posts: 714
From: Columbia Missouri
Joined: 11-11-2004


Message 46 of 74 (345459)
08-31-2006 1:56 PM
Reply to: Message 44 by kuresu
08-31-2006 1:40 PM


Re: Not an algorithm
the file i need is the sysvars2.21.txt.
any help?
I've emailed it to you along with a brief description of how to install the program for best results.

This message is a reply to:
 Message 44 by kuresu, posted 08-31-2006 1:40 PM kuresu has replied

Replies to this message:
 Message 47 by kuresu, posted 08-31-2006 2:09 PM PurpleYouko has not replied
 Message 48 by kuresu, posted 08-31-2006 3:05 PM PurpleYouko has replied

  
kuresu
Member (Idle past 2513 days)
Posts: 2544
From: boulder, colorado
Joined: 03-24-2006


Message 47 of 74 (345464)
08-31-2006 2:09 PM
Reply to: Message 46 by PurpleYouko
08-31-2006 1:56 PM


Re: Not an algorithm
thanks.

This message is a reply to:
 Message 46 by PurpleYouko, posted 08-31-2006 1:56 PM PurpleYouko has not replied

  
kuresu
Member (Idle past 2513 days)
Posts: 2544
From: boulder, colorado
Joined: 03-24-2006


Message 48 of 74 (345474)
08-31-2006 3:05 PM
Reply to: Message 46 by PurpleYouko
08-31-2006 1:56 PM


Re: Not an algorithm
okay, got the sysvars file.
ot the install file
installed, got the latest.
compains about not finding the sysvars, but I've got it in the folder labelled
"hard drive
__program files
____darwinbotsII
the 2.37.6 is in the same folder.
I've moved the sysvars around in several folders, but it still refuses to find it.

This message is a reply to:
 Message 46 by PurpleYouko, posted 08-31-2006 1:56 PM PurpleYouko has replied

Replies to this message:
 Message 50 by PurpleYouko, posted 08-31-2006 4:44 PM kuresu has not replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 49 of 74 (345475)
08-31-2006 3:06 PM
Reply to: Message 37 by JavaMan
08-31-2006 12:04 PM


Re: Not an algorithm
An example might help you understand how random numbers work in algorithm development. Here's a number guessing program written in C:
// Number guessing program

#include 
#include 
#include 

// #define RANDOMIZE

int main(int argc, char* argv) {
#ifdef RANDOMIZE
  srand(clock());
#endif
  printf("Number guessing program.  Enter 0 to quit.\n");
  while(1) {
    unsigned int randomNumber = (rand() % 10) + 1;
    unsigned int guessedNumber;
    printf("I'm thinking of a number between 1 and 10.  Your guess: ");
    scanf("%d", &guessedNumber);
    if (guessedNumber == 0) {
      break;
    }
    if (randomNumber == guessedNumber) {
      printf("Right you are!\n");
    } else {
      printf("Sorry, the number was %d.\n", randomNumber);
    }
  }
}
Put the above code in a file called randgame.c, then compile and run the program by typing a.out:
% cc randgame.c
% a.out
Number guessing program.  Enter 0 to quit.
I'm thinking of a number between 1 and 10.  Your guess: 5
Sorry, the number was 9.
I'm thinking of a number between 1 and 10.  Your guess: 4
Sorry, the number was 9.
I'm thinking of a number between 1 and 10.  Your guess: 3
Sorry, the number was 4.
I'm thinking of a number between 1 and 10.  Your guess: 2
Sorry, the number was 6.
I'm thinking of a number between 1 and 10.  Your guess: 1
Sorry, the number was 2.
I'm thinking of a number between 1 and 10.  Your guess: 0
%
If you run the program again you'll get the same result. The program generates the same sequence of random numbers every single time. And that's exactly what you need while you're debugging the program. It's impossible to debug a program that is given different data every time it runs.
But now the program is debugged, so let us randomize the generation of random numbers by calling srand with an argument of the processor clock. Do this by uncommenting the "#define RANDOMIZE" line. Now repeat the steps as before, but this time you'll get a different sequence of random numbers. Everytime you run the program the sequence of random numbers will be different, because the processor clock has a different value each time the program runs:
% cc randgame.c
% a.out
Number guessing program.  Enter 0 to quit.
I'm thinking of a number between 1 and 10.  Your guess: 5
Sorry, the number was 1.
I'm thinking of a number between 1 and 10.  Your guess: 4
Sorry, the number was 9.
I'm thinking of a number between 1 and 10.  Your guess: 3
Sorry, the number was 9.
I'm thinking of a number between 1 and 10.  Your guess: 2
Sorry, the number was 8.
I'm thinking of a number between 1 and 10.  Your guess: 1
Sorry, the number was 9.
I'm thinking of a number between 1 and 10.  Your guess: 0
%
--Percy
Edited by Percy, : Accidentally hit submit.
Edited by Percy, : Fix typos.
Edited by Percy, : Fix angle brackets on include statements.

This message is a reply to:
 Message 37 by JavaMan, posted 08-31-2006 12:04 PM JavaMan has replied

Replies to this message:
 Message 57 by JavaMan, posted 09-01-2006 3:33 AM Percy has replied

  
PurpleYouko
Member
Posts: 714
From: Columbia Missouri
Joined: 11-11-2004


Message 50 of 74 (345492)
08-31-2006 4:44 PM
Reply to: Message 48 by kuresu
08-31-2006 3:05 PM


Re: Not an algorithm
okay, got the sysvars file.
ot the install file
installed, got the latest.
compains about not finding the sysvars, but I've got it in the folder labelled
"hard drive
__program files
____darwinbotsII
the 2.37.6 is in the same folder.
I've moved the sysvars around in several folders, but it still refuses to find it.
It should be located in the same folder as the main DarwinBots.exe program (no matter which version)
We should take this offline. Please email me your questions about Darwinbots or post them in the DarwinBots forums

This message is a reply to:
 Message 48 by kuresu, posted 08-31-2006 3:05 PM kuresu has not replied

  
Wounded King
Member
Posts: 4149
From: Cincinnati, Ohio, USA
Joined: 04-09-2003


Message 51 of 74 (345500)
08-31-2006 5:01 PM
Reply to: Message 42 by nwr
08-31-2006 1:28 PM


Not in the DNA
If correct, then the structure of that symbiotic union is part of what is passed on to the next generation, and the way that structure is passed on is not as part of the DNA specification.
I'm not sure quite how you work this out. All the information required to produce the various components for any structure you care to mention, mitochondria, chloroplasts, nuclear membranes or cilia are all encoded in the DNA either in the nucleus or between the nucleus and the discrete genetic complements of the organelles in the case of mitochondria and chloroplasts. Apart from the initial cytoplasmically or membrane inherited organelles any organelle is going to be a product of the DNA specification shared between the nuclear and organellar DNA.
Are you saying that any protein inherited cytoplasmically during mitosis is not 'part of the DNA specification'?
TTFN,
WK

This message is a reply to:
 Message 42 by nwr, posted 08-31-2006 1:28 PM nwr has replied

Replies to this message:
 Message 54 by nwr, posted 08-31-2006 8:23 PM Wounded King has replied
 Message 68 by nwr, posted 09-01-2006 12:26 PM Wounded King has not replied

  
Hyroglyphx
Inactive Member


Message 52 of 74 (345524)
08-31-2006 7:41 PM
Reply to: Message 38 by Modulous
08-31-2006 12:07 PM


Re: More falsifications...
A long time falsification for evolution, Darwin mentioned it in 'The Origin'. It's the Holy Grail of the ID Movement, but all they have is irreducible complexity which has so far been thwarted by redundant complexity. If any of these traits you mention were out there, then a thread could dedicated to exploring them. As it stands, nobody has come forward with hard evidence that there is no step-wise way to get to them.
I don't know how much its a Holy Grail as opposed to just being a good argument in support of an ID and a conundrum for pro-evo's to overcome. As far as redundant complexity supplanting or claiming parity with ID is misleading. I assume you are referring to Behe's Blood Clotting Cascade and Kenneth Miller's refutation on that as not having to necessarily have to do with intelligence. I have to disagree with that and I feel that the 'evidence' compiled had more to do with circular reasoning than it did anything else. As for your last bit, I'm not sure what you mean. Are you asking for an example of something that could not have come about by random, successive copying errors?

“"All science, even the divine science, is a sublime detective story. Only it is not set to detect why a man is dead; but the darker secret of why he is alive." ”G. K. Chesterton

This message is a reply to:
 Message 38 by Modulous, posted 08-31-2006 12:07 PM Modulous has replied

Replies to this message:
 Message 53 by crashfrog, posted 08-31-2006 7:51 PM Hyroglyphx has not replied
 Message 74 by Modulous, posted 09-03-2006 2:31 AM Hyroglyphx has not replied

  
crashfrog
Member (Idle past 1467 days)
Posts: 19762
From: Silver Spring, MD
Joined: 03-20-2003


Message 53 of 74 (345531)
08-31-2006 7:51 PM
Reply to: Message 52 by Hyroglyphx
08-31-2006 7:41 PM


Re: More falsifications...
Are you asking for an example of something that could not have come about by random, successive copying errors?
What's being asked for is a system that actually is irreducably complex; that is, one that couldn't arise by modifications to a series of successive intermediate states.
The term, by the way, is "mutation". They're not errors in the sense of being mistakes that need to be corrected; it's simply a word that represents how the process of DNA replication sometimes results in sequences that are not exactly like the originals.

This message is a reply to:
 Message 52 by Hyroglyphx, posted 08-31-2006 7:41 PM Hyroglyphx has not replied

  
nwr
Member
Posts: 6408
From: Geneva, Illinois
Joined: 08-08-2005
Member Rating: 5.1


Message 54 of 74 (345542)
08-31-2006 8:23 PM
Reply to: Message 51 by Wounded King
08-31-2006 5:01 PM


Re: Not in the DNA
I'm not sure quite how you work this out.
For example, the mitochondrian is inside the cell, rather than existing as a separate cell. That's part of the structure that is passed on.

This message is a reply to:
 Message 51 by Wounded King, posted 08-31-2006 5:01 PM Wounded King has replied

Replies to this message:
 Message 55 by Wounded King, posted 09-01-2006 2:35 AM nwr has seen this message but not replied

  
Wounded King
Member
Posts: 4149
From: Cincinnati, Ohio, USA
Joined: 04-09-2003


Message 55 of 74 (345631)
09-01-2006 2:35 AM
Reply to: Message 54 by nwr
08-31-2006 8:23 PM


Re: Not in the DNA
But the persistence of the mitochondria in the cell is a result of the genetic complement involved in the synthesis of new mitochondria. A mitochondrion is not an autonomous genetic unit. While mitochondrial division resembles bacterial division it requires the input of a number of exogenous compounds from the host cell including proteins synthesised from nuclear genes of the host.
In what way is the persistence of the mitochodria in the cytoplasm not a result of the shared genetics of that organelle and the resulting structure and molecular character of the mitochondria a product of those genes.
The initial engulfment of the proto-mitochondrial bacteria and subsequent generations of solely cytoplasmic inheritance might fit your example but the current situation does not as far as I can see.
TTFN,
WK

This message is a reply to:
 Message 54 by nwr, posted 08-31-2006 8:23 PM nwr has seen this message but not replied

  
Ben!
Member (Idle past 1398 days)
Posts: 1161
From: Hayward, CA
Joined: 10-14-2004


Message 56 of 74 (345637)
09-01-2006 3:27 AM
Reply to: Message 11 by Parasomnium
08-30-2006 5:58 PM


Re: Algorithms
I must also stipulate that a built-in goal or direction of any kind does not figure anywhere in the programme. It is not necessary, evolution will take place regardless.
I disagree. Goal or direction is usually built into the following things:
Next, if you make a function that determines the fitness of the data copies and filter out the less fit for the next round of reproduction, you have implemented selection very exactly.
and
implement reproduction with random variation
Most obviously in the first (the determination of fitness). Without specifying some goal or direction in the fitness principles, the "evolution" implemented is not interpretable.
I've never seen a piece of research implementing an evolutionary algorithm without having a very specific purpose, and I can't imagine implementing one without specifying any purpose and getting any result that made any sense at all.
Maybe you could clairfy?

This message is a reply to:
 Message 11 by Parasomnium, posted 08-30-2006 5:58 PM Parasomnium has not replied

  
JavaMan
Member (Idle past 2319 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 57 of 74 (345638)
09-01-2006 3:33 AM
Reply to: Message 49 by Percy
08-31-2006 3:06 PM


Re: Not an algorithm
An example might help you understand how random numbers work in algorithm development. Here's a number guessing program written in C:
Thanks for the example, Percy, but I'm a computer programmer .

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 49 by Percy, posted 08-31-2006 3:06 PM Percy has replied

Replies to this message:
 Message 59 by Percy, posted 09-01-2006 7:21 AM JavaMan has not replied

  
JavaMan
Member (Idle past 2319 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 58 of 74 (345645)
09-01-2006 4:25 AM
Reply to: Message 33 by nwr
08-31-2006 11:34 AM


Re: Not an algorithm
As I am careful to point out to my students, a non-deterministic algorithm is perfectly deterministic.
In theoretical use, a non-deterministic algorithm is sometimes described in terms of periodically consulting an oracle for advice on the next move. The advice from the oracle is part of the input to the algorithm. The output of the algorithm is a deterministic function of its input.
In practical use, we sometimes replace the oracle with a random number generator, but the algorithm still produces results that are a deterministic function of its inputs. Here the random numbers are part of the inputs. In another form of practical use. we apply a back-tracking or similar method, so that we can systematically try all possibilities. The resulting procedure is completely deterministic.
Hmmm...I detect a bit of inconsistency here. Let's have a look at some of your previous posts:
From Message 19
An algorithm is deterministic, so it leads directly to the kind of determinism that JAD assumes in his hypothesis. Interaction is not obviously deterministic, although it could admittedly be (as some argue) non-obviously deterministic. My point is that if you assume evolution is an algorithm, then you are pretty much assuming some sort of determinism.
The effect of an interaction is deterministic in the sense that you insist on when you're teaching your students about non-deterministic algorithms, i.e. the interaction 'produces results that are a deterministic function of [its] inputs'.
From Message 29
Does the term "genetic algorithm" apply to the individual steps taken, which are algorithmic and deterministic? Or does it apply to the overall process which uses random input, and is thus neither algorithmic nor deterministic (unless a deterministic pseudo-random number generator is used)?
If it's a computer simulation we're talking about, then the random input is generated using a pseudo-random number generator. If it's evolution we're talking about, then we're also talking about pseudo-random mutation events (they're pseudo-random because they are deterministic physical events).
This discussion is getting more complicated than it needs to be because you're confusing the philosophical notion of determinism (every event having a physical cause), with the common use of the terms 'deterministic' and 'non-deterministic' to mean 'predictable' and 'non-predictable'.
In this second sense, a deterministic algorithm is one where the outcome, given a particular set of inputs, is always the same. A non-deterministic algorithm is one where the outcome can't be predicted from the initial inputs.
Similarly, complex processes such as evolution, human behaviour, the spin of a roulette wheel, quantum properties, or the weather, are all deterministic in the philosophical sense, but are generally described as non-deterministic in the second sense.

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 33 by nwr, posted 08-31-2006 11:34 AM nwr has replied

Replies to this message:
 Message 60 by Percy, posted 09-01-2006 7:30 AM JavaMan has replied
 Message 63 by nwr, posted 09-01-2006 9:26 AM JavaMan has not replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 59 of 74 (345659)
09-01-2006 7:21 AM
Reply to: Message 57 by JavaMan
09-01-2006 3:33 AM


Re: Not an algorithm
JavaMan writes:
Thanks for the example, Percy, but I'm a computer programmer .
Oh, okay. I think this is just a semantic issue then, because it depends upon which definition of algorithm you prefer, or which definition you're using at any particular time. A loose definition, the one we programmers use every day, allows that there is such a thing as a random algorithm, and it just considers the randomizing factors as part of the algorithm.
A more formal approach to algorithms, one which doesn't come up much for most programmers in their day-to-day work but which is an area of specialization within computer science, holds that any random factors are outside the algorithm and that the algorithm itself is deterministic. The easiest way to eliminate the complexity of modern computer languages in which we all think and that would cloud the consideration of questions like, "Are algorithms deterministic" is to examine the question in terms of a Turing machine, and then the answer becomes unambiguous: algorithms are deterministic. Always.
--Percy

This message is a reply to:
 Message 57 by JavaMan, posted 09-01-2006 3:33 AM JavaMan has not replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 60 of 74 (345660)
09-01-2006 7:30 AM
Reply to: Message 58 by JavaMan
09-01-2006 4:25 AM


Re: Not an algorithm
JavaMan writes:
In this second sense, a deterministic algorithm is one where the outcome, given a particular set of inputs, is always the same. A non-deterministic algorithm is one where the outcome can't be predicted from the initial inputs.
This confirms my original suspicion that this is just a case of using different definitions. When trying to nail things down precisely it helps to introduce a bit of formalism, and I think that Nwr would agree with me that it is important to separately consider an algorithm from its inputs. You're grouping the randomizing factors with the algorithm when in fact they are actually inputs to the algorithm.
Consider the simple programming example I provided. In a formal sense, the generation of randomNumber is not part of the algorithm. It is an input.
--Percy

This message is a reply to:
 Message 58 by JavaMan, posted 09-01-2006 4:25 AM JavaMan has replied

Replies to this message:
 Message 62 by JavaMan, posted 09-01-2006 9:24 AM Percy has not replied
 Message 65 by nwr, posted 09-01-2006 9:29 AM Percy has not replied

  
Newer Topic | Older Topic
Jump to:


Copyright 2001-2023 by EvC Forum, All Rights Reserved

™ Version 4.2
Innovative software from Qwixotic © 2024