Register | Sign In


Understanding through Discussion


EvC Forum active members: 64 (9164 total)
3 online now:
Newest Member: ChatGPT
Post Volume: Total: 916,784 Year: 4,041/9,624 Month: 912/974 Week: 239/286 Day: 46/109 Hour: 0/0


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Evolution Generator Program
Percy
Member
Posts: 22492
From: New Hampshire
Joined: 12-23-2000
Member Rating: 4.9


Message 31 of 59 (572222)
08-04-2010 6:00 PM
Reply to: Message 27 by ringo
08-04-2010 2:03 PM


Re: Evolution Generator
Bug is fixed.
--Percy
Edited by Percy, : Change author.

This message is a reply to:
 Message 27 by ringo, posted 08-04-2010 2:03 PM ringo has replied

Replies to this message:
 Message 32 by ringo, posted 08-04-2010 6:43 PM Percy has seen this message but not replied

  
ringo
Member (Idle past 438 days)
Posts: 20940
From: frozen wasteland
Joined: 03-23-2005


Message 32 of 59 (572224)
08-04-2010 6:43 PM
Reply to: Message 31 by Percy
08-04-2010 6:00 PM


Re: Evolution Generator
Percy writes:
Bug is fixed.
Yes, much better now. Thanks.
The string was in the neighbourhood of ten characters but I don't remember what it was. My short-term memory isn't what it used to be, so ask me again in twenty years.

Life is like a Hot Wheels car. Sometimes it goes behind the couch and you can't find it.

This message is a reply to:
 Message 31 by Percy, posted 08-04-2010 6:00 PM Percy has seen this message but not replied

  
ICANT
Member
Posts: 6769
From: SSC
Joined: 03-12-2007
Member Rating: 1.6


Message 33 of 59 (576323)
08-23-2010 5:51 PM
Reply to: Message 29 by Percy
08-04-2010 3:35 PM


Re: Evolution Generator
Hi Percy,
In Message 25 I asked these questions which you did not answer.
ICANT writes:
Now I have some questions about your generator.
If I set the mutations at 10 per generation using 15 parents how many of those mutations are:
Good mutations?
Netural mutations?
Delentious mutations?
How many get repaired by the automatic process in DNA?
In Message 4 you said:
Percy writes:
Yeah, you're right, but I wanted to be as similar to Marshall's program as possible, and with the number of matches displayed next to the select box I find I can go through 40 generations in five minutes with little problem, usually selecting between 2 and 4 strings to contribute to the next generation.
Peter Marshal is an evolutionist.
Your program is nothing like His program as it cannot create information.
Yours can.
Can you explain what information your program computes to generate the results produced?
God Bless,

"John 5:39 (KJS) Search the scriptures; for in them ye think ye have eternal life: and they are they which testify of me."

This message is a reply to:
 Message 29 by Percy, posted 08-04-2010 3:35 PM Percy has replied

Replies to this message:
 Message 34 by Percy, posted 08-23-2010 8:50 PM ICANT has not replied
 Message 35 by Wounded King, posted 08-24-2010 5:16 AM ICANT has not replied

  
Percy
Member
Posts: 22492
From: New Hampshire
Joined: 12-23-2000
Member Rating: 4.9


Message 34 of 59 (576358)
08-23-2010 8:50 PM
Reply to: Message 33 by ICANT
08-23-2010 5:51 PM


Re: Evolution Generator
Here's a copy of the program, knock yourself out.
--Percy

#!C:/Perl/bin/perl.exe
#!/usr/bin/perl

use strict;

use CGI;

my @LegalChars = ('a'..'z', 'A'..'Z', '0'..'9', ' ', '!', ',', '.', ';', ':', '"', chr(39));

print "Content-type: text/html\n\n";

my $p = new CGI;

my $styleSection = <<HERE;
<style type="text/css">
.style1 {
        font-family: Verdana, Arial;
	font-size: 10pt;
	font-weight: bold;
}
.style2 {
        font-family: courier;
	font-size: 10pt;
	font-weight: bold;
}
.style3 {
        font-family: Verdana, Arial;
        font-size: 12pt;
        font-weight: bold;
}
</style>
HERE

my $introText =
  (qq(Select some target text to represent favorable characteristics, then beginning with a) .
   qq(random string of letters and spaces the generator automatically adds random mutations) .
   qq(while you do the selection.));

my $descriptiveText = <<HERE;
<center>Discussion</center>

First a few explanatory words about what you're seeing in the display.  After you enter the target
text and click "Begin" the program generates a random starting string as the first parent, the
common ancestor of all subsequent organisms.  You can select the number of mutations per offspring
and the number of offspring per parent.  The text of each parent and
offspring has the matching characters highlighted in red.  Select the organisms you want to
contribute to the next generation by checking the select boxes.  The number of matching characters
is displayed next to the select box.

Natural selection permits the survival to reproduce of those best fitted to the environment.
In nature survival is dictated by how well an organism is fit to cope with the environment, such
as possessing fur for cold, or speed or disguise to elude predators.

In this simple computer program an organism is a string of text, and its fitness is measured by
how closely it matches the target string.  Notice that because the strings are relatively short,
maybe a hundred characters at most, that if you set the number of mutations as 10 that you're
chaning 10% of the genome in each offspring.  That's an enormous mutation rate for such a small
genome, and you'll find that while a high mutation rate is good for rapidly approaching the
target text in the beginning, that as you get closer you'll have to reduce the mutation rate.

This is similar to real life, where a high mutation rate such as can be caused by high radition is
fatal.  Evolution works through small incremental changes, and this program works best in
the same way.
HERE

my $command = $p->param('command');
my $startOver = $p->param('startover');

if ($command eq '' || $startOver) {

print <<HERE;
<html>
<head>
<title>Evolution Demonstrator</title>
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
$styleSection
</head>

<body class=style1>
<form action="Evolution.cgi" enctype="multipart/form-data" method="post">
<input type="hidden" name="cnt" value="">

<center>
<blockquote>
<span class="style3">Evolution Demonstrator</span>

<p /> 
$introText
<p /> 

Enter the target text in the box below, then click Begin.

</blockquote>
</center>

<table border="1" align="center" class=style2>
<tr>
  <td>
    Target:
  <td>
    <script>var cleared=false;</script>
    <input type=text name=target value="Enter the target text used to measure fitness here" size=60
     onfocus="if (!cleared) {this.value='';cleared=true}">
  <td>
<tr>
  <td>
    Parent:
  <td>
  <td>
<tr>
  <td>
    Offspring of
Parent:
  <td>
  <td>
<tr>
  <td>
  <td align=right>
    Number of mutations:
  <td>
    <input type="radio" name="mutations" value="1" checked="true"/>1
    <input type="radio" name="mutations" value="2" />2
    <input type="radio" name="mutations" value="5" />5
    <input type="radio" name="mutations" value="10" />10
<tr>
  <td>
  <td align=right>
    Number of offspring per parent:
  <td>
    <input type="radio" name="offspring" value="1" checked="true"/>1
    <input type="radio" name="offspring" value="2" />2
    <input type="radio" name="offspring" value="5" />5
    <input type="radio" name="offspring" value="10" />10
<tr>
  <td colspan=3 align=center>
    <input type="submit" name="command" value="Begin">         
    <input type="submit" name="reset" value="Reset Form">
</table>

 <div align="center">

    <input type="hidden" name="total_mutations" value="0" />
    <input type="hidden" name="checksum" value="" />
    <span class="style1">Demonstrate evolution for yourself with the Evolution Generator</span></p>
 </div>
 <blockquote>
    $descriptiveText
 </blockquote>
</form>
</body>
</html>
HERE

} elsif ($command eq 'Begin') {

  my $targetText = $p->param('target');
  my $lengthTargetText = length($targetText);
  my $randomStartString = join '', (map {$LegalChars[int(rand(@LegalChars))]} (1..$lengthTargetText));
  $p->param('parentsel-1' => $randomStartString);
  $p->param('gennum' => 1);

  PresentNextGeneration($targetText);
} elsif ($command eq 'Create Next Generation') {
  my $targetText = $p->param('target');
  PresentNextGeneration($targetText);
} else {
  print "Error, sorry, apologies, etc...
\n";
}

exit(0);

sub PresentNextGeneration {

  my ($targetText) = @_;
  my $targetTextEncoded = $targetText;
  $targetTextEncoded =~ s/"/"/g;

  my $numMutations = $p->param('mutations');
  my %NumMutationsChecked;
  $NumMutationsChecked{$numMutations} = 'checked';

  my $numOffspring = $p->param('offspring');
  my %NumOffspringChecked;
  $NumOffspringChecked{$numOffspring} = 'checked';

  # Fetch parents
  my @Parents;
  map {push(@Parents, $p->param($_)) if $_ =~ /^parentsel-/} $p->param;

print <<HERE;
<html>
<head>
<title>Evolution Generator</title>
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
$styleSection
</head>

<body class=style1>
HERE

  if (@Parents == 0) {
    print (qq(<blockquote><center>) .
           qq(You didn't select anyone to contribute to the next generation and everyone has died. ) .
           qq(You're population has gone extinct.

) .
           qq(Click your back button if you'd like to select one or more organisms to contribute ) .
           qq(to the next generation and try again.) .
           qq(</center></blockquote>));
    exit(0);
  }

  my $genNum = $p->param('gennum');
  my $nextGenNum = $genNum + 1;

print <<HERE;
<form action="Evolution.cgi" enctype="multipart/form-data" method="post">
<input type="hidden" name="cnt" value="">

<center>
<blockquote>
<span class="style3">Evolution Demonstrator</span>

<p /> 
$introText
<p /> 

Select the parents and offpsring to produce the next generation, then click Generate.
</blockquote>
</center>

<table border="1" align="center" class=style2>
<tr>
  <td>
    Number of
Generations:
  <td>
    $genNum
    <input type=hidden name=gennum value=$nextGenNum>
  <td>
<tr>
  <td>
    Target:
  <td>
    $targetTextEncoded
    <input type=hidden name=target value="$targetTextEncoded">
  <td>
    Select:
HERE

  my $count = 1;
  foreach (@Parents) {
    my $parentString = $_;
    my ($parentStringProcessed, $numMatches) = ProcessString($parentString, $targetText);
    my $parentStringEncoded = $parentString;
    $parentStringEncoded =~ s/"/"/g;
    print <<HERE;
<tr>
  <td>
    Parent $count:
  <td>
    $parentStringProcessed
  <td>
    <input type=checkbox name=parentsel-1 value="$parentStringEncoded"> $numMatches
HERE

    foreach (1..$numOffspring) {
      my $offspring = GenOffspring($parentString, $numMutations);
      my ($offspringProcessed, $numMatches) = ProcessString($offspring, $targetText);
      my $offspringEncoded = $offspring;
      $offspringEncoded =~ s/"/"/g;
      print <<HERE;
<tr>
  <td>
    Offspring $_:
  <td>
    $offspringProcessed
  <td>
    <input type=checkbox name=parentsel-$_ value="$offspringEncoded"> $numMatches
HERE

    }
    $count++;
  }

print <<HERE;
<tr>
  <td>
  <td align=right>
    Number of mutations:
  <td>
    <input type="radio" name="mutations" value="1" $NumMutationsChecked{1}/>1
    <input type="radio" name="mutations" value="2" $NumMutationsChecked{2}/>2
    <input type="radio" name="mutations" value="5" $NumMutationsChecked{5}/>5
    <input type="radio" name="mutations" value="10" $NumMutationsChecked{10}/>10
<tr>
  <td>
  <td align=right>
    Number of offspring per parent:
  <td>
    <input type="radio" name="offspring" value="1" $NumOffspringChecked{1}/>1
    <input type="radio" name="offspring" value="2" $NumOffspringChecked{2}/>2
    <input type="radio" name="offspring" value="5" $NumOffspringChecked{5}/>5
    <input type="radio" name="offspring" value="10" $NumOffspringChecked{10}/>10
<tr>
  <td colspan=3 align=center>
    <input type="submit" name="command" value="Create Next Generation">
               
    <input type="submit" name="startover" value="Start Over">
               
    <input type="submit" name="reset" value="Reset">
</table>

 <div align="center">

    <input type="hidden" name="total_mutations" value="0" />
    <input type="hidden" name="checksum" value="" />
    <span class="style1">Demonstrate evolution for yourself with the Evolution Generator</span></p>
 </div>
 <blockquote>
    $descriptiveText
 </blockquote>
</form>
</body>
</html>
HERE

}

sub GenOffspring {
  my ($parent, $numMutations) = @_;
  my %Positions;
  my $parentLen = length($parent);
  return '' if $parentLen == 0;
  if ($numMutations >= $parentLen) {
    $numMutations = $parentLen;
    map {$Positions{$_} = 1} (0..$numMutations-1);
  } else {
    foreach (1..$numMutations) {
      my $pos;
      do {
        $pos = int(rand($parentLen));
      } until !$Positions{$pos};
      $Positions{$pos} = 1;
    }
  }
  my @Parent = split(//, $parent);
  foreach (keys %Positions) {
    @Parent[$_] = $LegalChars[int(rand(@LegalChars))];
  }
  my $offspring = join '', @Parent;
  return $offspring;
}

sub ProcessString {
  my ($trialString, $targetText) = @_;
  my @TrialString = split(//, $trialString);
  my @TargetString = split(//, $targetText);
  my $numMatches = 0;
  for (my $i=0; $i<@TrialString; $i++) {
    if (lc($TrialString[$i]) eq lc($TargetString[$i])) {
      if ($TrialString[$i] eq ' ') {
        $TrialString[$i] = "<font color=red>_</font>";
      } else {
        $TrialString[$i] = "<font color=red>$TrialString[$i]</font>";
      }
      $numMatches++;
    }
    $TrialString[$i] =~ s/"/"/;
  }
  return ((join '', @TrialString), $numMatches);
}

This message is a reply to:
 Message 33 by ICANT, posted 08-23-2010 5:51 PM ICANT has not replied

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


Message 35 of 59 (576435)
08-24-2010 5:16 AM
Reply to: Message 33 by ICANT
08-23-2010 5:51 PM


Re: Evolution Generator
In Message 25 I asked these questions which you did not answer.
Why do you think Percy didn't answer? I can see his reply at Message 29 he addresses all of your questions apart from the rather bizarre one about DNA repair. In fact since this is the very message you replied to to ask these questions one is left wondering WTF?
All you needed to do was run the program with the conditions you wanted and you would have been able to quantitate the frequency of the different mutational outcomes, Percy gave you clear advice as to how to distinguish those outcomes.
Why do you think Percy should go to the trouble of running it to get those answers for you when the program is there for you to run yourself?
Peter Marshal is an evolutionist.
He really isn't in any sense that anyone but you would recognise. Intelligent design proponents are not generally considered to be evolutionists.
Your program is nothing like His program as it cannot create information.
His program can create information, it just can't do what he suggests it should be able if random mutation and natural selection worked, but that is because his program models those processes in a ridiculous way. For example there is only one sequence every generation so obviously any deleterious mutation represents the end of the entire chain, in Percy's model there are multiple offspring even if any sequence with a deleterious mutation is weeded out there is still a good chance of having sufficient viable sequences for further generations to come from. Perry's program essentially has no selection in it at all, it says it does but what he calls selection has nothing to do with how natural selection works.
As an example of how Marshall's program can create new meaning I just ran it and my first mutation produced this ...
quote:
The quick brown fox jumpedDover the lazy dog
I added the bolding but to anyone capable of reading the fnords there's some pretty clear meaning there about the coherence of ID and creationist arguments.
Can you explain what information your program computes to generate the results produced?
Percy has given you the raw materials to work this out but I'll give you my take. The information is produced by random mutation of the sequence, as indeed it is in Marshall's program, but what allows for the accumulation of information is the selective process which is a context sensitive environmental factor, in this case the desired target sequence that the user defines but in the case of biological evolution the environment that the organism is in.
TTFN,
WK

This message is a reply to:
 Message 33 by ICANT, posted 08-23-2010 5:51 PM ICANT has not replied

Replies to this message:
 Message 36 by Bolder-dash, posted 08-24-2010 7:20 AM Wounded King has seen this message but not replied
 Message 38 by Bolder-dash, posted 08-24-2010 7:29 AM Wounded King has seen this message but not replied

  
Bolder-dash
Member (Idle past 3656 days)
Posts: 983
From: China
Joined: 11-14-2009


Message 36 of 59 (576452)
08-24-2010 7:20 AM
Reply to: Message 35 by Wounded King
08-24-2010 5:16 AM


Re: Evolution Generator
I think if you really intended to mimic nature in any true sense, the target phrase should change every 10 generations or so.
And also you should have multiple targets that are being selected for-so that there are actually about 100 phrases that are being selected for simultaneously, with none having any more significance than another.
And to make it even more like nature, some phrases should occasionally just disappear altogether.
Oh, it would also help to make it more realistic, if you made each phrases longer by a few characters every few generations-to simulate the competition also increasing in fitness.

This message is a reply to:
 Message 35 by Wounded King, posted 08-24-2010 5:16 AM Wounded King has seen this message but not replied

Replies to this message:
 Message 37 by Huntard, posted 08-24-2010 7:26 AM Bolder-dash has replied
 Message 39 by Percy, posted 08-24-2010 7:30 AM Bolder-dash has not replied
 Message 42 by Nij, posted 08-24-2010 7:39 AM Bolder-dash has replied

  
Huntard
Member (Idle past 2321 days)
Posts: 2870
From: Limburg, The Netherlands
Joined: 09-02-2008


Message 37 of 59 (576454)
08-24-2010 7:26 AM
Reply to: Message 36 by Bolder-dash
08-24-2010 7:20 AM


Re: Evolution Generator
Bolder-dash writes:
I think if you really intended to mimic nature in any true sense, the target phrase should change every 10 generations or so.
Why?
And also you should have multiple targets that are being selected for-so that there are actually about 100 phrases that are being selected for simultaneously, with none having any more significance than another.
That would increase the chances of reaching a target phrase.
And to make it even more like nature, some phrases should occasionally just disappear altogether.
Why?
Oh, it would also help to make it more realistic, if you made each phrases longer by a few characters every few generations-to simulate the competition also increasing in fitness.
The competition doesn't always increase in fitness, that's the point. Also, every step you come closer to your target phrase would mean the current generation is more fit than the previous one. Meaning they have no competition. Then, when the next generation becomes more fit, they have no competition and so on.

This message is a reply to:
 Message 36 by Bolder-dash, posted 08-24-2010 7:20 AM Bolder-dash has replied

Replies to this message:
 Message 45 by Bolder-dash, posted 08-24-2010 7:58 AM Huntard has not replied

  
Bolder-dash
Member (Idle past 3656 days)
Posts: 983
From: China
Joined: 11-14-2009


Message 38 of 59 (576455)
08-24-2010 7:29 AM
Reply to: Message 35 by Wounded King
08-24-2010 5:16 AM


Re: Evolution Generator
And I thought of one more way to make it more realistic. Don't just use the 26 letters of the English alphabet to reach your target. Use every form of writing that has ever existed, plus a few that you just made up-in that way we can account better for every kind of mutations you ever thought of, plus many that you never thought of.
So you should have Japanese, and Chinese and Sanskript, and Greek., and some occasional hieroglyphics . And then the target phrase might occasionally have a few Arabic words, or American Indian words that come into existence suddenly then disappear almost as quickly.

This message is a reply to:
 Message 35 by Wounded King, posted 08-24-2010 5:16 AM Wounded King has seen this message but not replied

Replies to this message:
 Message 40 by Dr Adequate, posted 08-24-2010 7:31 AM Bolder-dash has replied

  
Percy
Member
Posts: 22492
From: New Hampshire
Joined: 12-23-2000
Member Rating: 4.9


Message 39 of 59 (576456)
08-24-2010 7:30 AM
Reply to: Message 36 by Bolder-dash
08-24-2010 7:20 AM


Re: Evolution Generator
Those would be excellent improvements, though you don't really want to change the environment as rapidly as every 10 generations, but the rate of environmental change can be a variable. The source is in Message 34, go for it.
--Percy
Edited by Percy, : Add comment.

This message is a reply to:
 Message 36 by Bolder-dash, posted 08-24-2010 7:20 AM Bolder-dash has not replied

  
Dr Adequate
Member (Idle past 310 days)
Posts: 16113
Joined: 07-20-2006


Message 40 of 59 (576457)
08-24-2010 7:31 AM
Reply to: Message 38 by Bolder-dash
08-24-2010 7:29 AM


Re: Evolution Generator
And I thought of one more way to make it more realistic. Don't just use the 26 letters of the English alphabet to reach your target. Use every form of writing that has ever existed, plus a few that you just made up-in that way we can account better for every kind of mutations you ever thought of, plus many that you never thought of.
So you should have Japanese, and Chinese and Sanskript, and Greek., and some occasional hieroglyphics . And then the target phrase might occasionally have a few Arabic words, or American Indian words that come into existence suddenly then disappear almost as quickly.
How would that be "more realistic" when the actual genetic code is limited to only four letters?

This message is a reply to:
 Message 38 by Bolder-dash, posted 08-24-2010 7:29 AM Bolder-dash has replied

Replies to this message:
 Message 41 by Bolder-dash, posted 08-24-2010 7:38 AM Dr Adequate has replied

  
Bolder-dash
Member (Idle past 3656 days)
Posts: 983
From: China
Joined: 11-14-2009


Message 41 of 59 (576459)
08-24-2010 7:38 AM
Reply to: Message 40 by Dr Adequate
08-24-2010 7:31 AM


Re: Evolution Generator
Well, think about it.
Or you can have it your way, only allow yourself 4 characters to select from and make your target phrase consist of a hundred billion possible characters. See how far that gets you.

This message is a reply to:
 Message 40 by Dr Adequate, posted 08-24-2010 7:31 AM Dr Adequate has replied

Replies to this message:
 Message 43 by Nij, posted 08-24-2010 7:46 AM Bolder-dash has not replied
 Message 44 by Dr Adequate, posted 08-24-2010 7:53 AM Bolder-dash has not replied

  
Nij
Member (Idle past 4915 days)
Posts: 239
From: New Zealand
Joined: 08-20-2010


Message 42 of 59 (576460)
08-24-2010 7:39 AM
Reply to: Message 36 by Bolder-dash
08-24-2010 7:20 AM


Re: Evolution Generator
Increasing in fitness is indicated already by getting your phrase closer to the target, as Huntard pointed out.
Having a longer phrase is the equivalent to making the environment more complex. Like instead of only needing to breathe oxygen and drink water, it must now also be able to live in a specific temperature range; in effect, they represent the variables that could occur in the environment.
Longer chains would indeed be better and more realistic, but not for the reason you propose. And of course, this is entirely possibly in this programme; you can have anything from 2 or 3 up to 20 characters and more.
As to your other points, Percy's programme is only supposed to improve upon an earlier, similar programme without overwhelmingly altering the simplicity of the arrangement. It is a demonstration tool, nothing more, and certainly not meant to completely mimic nature. Such a programme would require hundreds or thousands of lines of programming, with enormous amounts of memory to process it. Percy's, by contrast, is a toy for us to show people (like creationists, students and beginners) how evolution works and what it really looks like.
Yes, having those other things would make it more accurate, but it would also mean a huge number of factors that somebody without substantial knowledge of the field simply can't give proper consideration to, much less use effectively. That pretty much destroys its use as a beginner's tool, and more importantly would mean eating up my bandwidth and slowing my laptop down a truckload.

This message is a reply to:
 Message 36 by Bolder-dash, posted 08-24-2010 7:20 AM Bolder-dash has replied

Replies to this message:
 Message 46 by Bolder-dash, posted 08-24-2010 8:11 AM Nij has replied

  
Nij
Member (Idle past 4915 days)
Posts: 239
From: New Zealand
Joined: 08-20-2010


Message 43 of 59 (576463)
08-24-2010 7:46 AM
Reply to: Message 41 by Bolder-dash
08-24-2010 7:38 AM


Re: Evolution Generator
Dr. A is saying that you can choose from 4 different characters. This is sensible for obvious reasons. You on the other hand, presented a fairly outrageous idea that we should use some several thousand. Why? This would have no possible real-world counterpart.
But you may have confused the number of possible characters in each position with the length of the string of characters in one individual.

This message is a reply to:
 Message 41 by Bolder-dash, posted 08-24-2010 7:38 AM Bolder-dash has not replied

  
Dr Adequate
Member (Idle past 310 days)
Posts: 16113
Joined: 07-20-2006


Message 44 of 59 (576465)
08-24-2010 7:53 AM
Reply to: Message 41 by Bolder-dash
08-24-2010 7:38 AM


Re: Evolution Generator
Or you can have it your way, only allow yourself 4 characters to select from and make your target phrase consist of a hundred billion possible characters. See how far that gets you.
but that would take millions of years!
... oh, wait. That would be realistic.
But I think the program is meant to demonstrate qualitative rather than quantitative aspects of evolution.

This message is a reply to:
 Message 41 by Bolder-dash, posted 08-24-2010 7:38 AM Bolder-dash has not replied

  
Bolder-dash
Member (Idle past 3656 days)
Posts: 983
From: China
Joined: 11-14-2009


Message 45 of 59 (576466)
08-24-2010 7:58 AM
Reply to: Message 37 by Huntard
08-24-2010 7:26 AM


Re: Evolution Generator
That would increase the chances of reaching a target phrase.
You also have not thought about it.
Give yourself hundreds of possible phrases to match. Then each generation matches a few of each of the phrases. It survives because it comes closer to matching one phrase, but in the next generation it survives because it is closest to a completely different phrase. In the meantime it has lost some of the compatibility it had with the phrase it was selected for from two generations ago.
Like, say you started to develop a third arm to make it easier to climb a tree, but then a few of your descendants started becoming ground dwelling bug collectors, and the third arm made it harder for them to run away from saber-toothed tigers. So a few generations down the road, they lose the arm to make them lighter, and they gain a thick coat of fur which matches the nearby grasses. But the descendants decided it was best to pursue a life of hiding in the desert sand, and shit that coat got hot. So the next few generations decided to scrap the fur coat altogether, put on a hard shell, and shorten their legs so they could tuck in under that shell.
But......then their insolent little bastard children started climbing trees again, and plus it was getting cold, and Geez did you know it is hard as hell to catch a few flying moths carrying around this dam trunk on your back all day, halfway up a tree?
So, do you think you will ever completely match up one of those phrases?
Good luck.

This message is a reply to:
 Message 37 by Huntard, posted 08-24-2010 7:26 AM Huntard 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