Register | Sign In


Understanding through Discussion


EvC Forum active members: 65 (9164 total)
3 online now:
Newest Member: ChatGPT
Post Volume: Total: 916,913 Year: 4,170/9,624 Month: 1,041/974 Week: 368/286 Day: 11/13 Hour: 0/0


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Fixation of genetics - program
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 1 of 27 (58105)
09-26-2003 9:45 PM


I've written a quick proof-of-concept program (not a true GA) which demonstrates how beneficial mutations can fixate into a population, even though they don't even come close to assuring the organism that has them with success, and each beneficial change has only a small chance of making it into the population, and given that most mutations are harmful.
I recommend at least reading the headers at the top of the program before you respond; they explain what it does and does not show.
http://www.daughtersoftiresias.org/progs/ev.c
Here's the first 100 generations of output
http://www.daughtersoftiresias.org/progs/ev_output.txt
I strongly invite comments. Again, I just threw this together in 2 hours, so don't expect too much from it, it's just barebones. Also, changing the parameters can really help someone get a handle on what is being discussed here. If you increase the mutation rate too much, you'll find that the species actually advances slower, because the organisms are becoming damaged almost as fast as they're advancing. You can see how important parallelism is to the population by changing the number of organisms - if you have a very small population, unless you have a very low mutation rate the population is likely to get devastated by a bad mutation. With a large population, it is effectively impossible. Etc.
------------------
"Illuminant light,
illuminate me."
[This message has been edited by Rei, 09-26-2003]

Replies to this message:
 Message 2 by Percy, posted 09-27-2003 11:16 AM Rei has replied
 Message 5 by Adminnemooseus, posted 09-28-2003 1:50 PM Rei has not replied
 Message 12 by Fred Williams, posted 10-24-2003 1:06 PM Rei has replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 3 of 27 (58183)
09-27-2003 1:55 PM
Reply to: Message 2 by Percy
09-27-2003 11:16 AM


Well, I'm always careful to qualify a "true" GA in case Fred stops by, because he expects all GAs to emulate all major characteristics of a normal biological system, and has it in his head that no GAs do it just because there are some that don't. And he also has it in his head that the ones that don't emulate all major characteristics don't show anything. While that's akin to saying that a computer that doesn't have a printer or speakers doesn't demonstrate that computers can work, I'm being explicit because of that.
Framsticks is pretty neat looking, although I've never run it myself. I wouldn't doubt that it's complex - modelling physics isn't easy. What types of GAs are you into running? A "virtual machine" GA, an evolving art GA, a physics-based GA like framsticks, etc?
I agree about writing GAs being hard work mostly due to writing code that lets you monitor what they're doing realtime - to be able to "take a peak", so to speak. If you write a commercial-style GA, in which there is just a "fitness algorithm" run on each creature and the ones that perform the worst are tossed, it's pretty easy - you can just grab any result at any time, and it's guaranteed to be good. Of course, then they lack most of the parallelism, the different approaches different organisms take to getting around challenges.
I actually started writing a piece of software called "libevolve" a year or two ago, which is designed to make GAs simpler to code (it contains generalized, customizable mutation, breeding algorithms, output, and competition algorithms; it wouldn't be useful for an "abiogenesis" modelling GA, but could be used for anything where you want to assume the basics of life already exist). For commercial-style GAs, it is even easier to use - you just simply need to input the fitness-calculation function. Perhaps I'll be tempted to finish it now.
------------------
"Illuminant light,
illuminate me."

This message is a reply to:
 Message 2 by Percy, posted 09-27-2003 11:16 AM Percy has replied

Replies to this message:
 Message 4 by Percy, posted 09-28-2003 1:00 PM Rei has replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 7 of 27 (58353)
09-28-2003 6:18 PM
Reply to: Message 4 by Percy
09-28-2003 1:00 PM


Ah, so you want to do more of a world-sim. Do you want physics in it or not? If you want physics, you'll either have to spend a lot of time coding a physics sim (better dig out that college physics text, and go to the pages about solid and fluid mechanics!), or find one that you can already make use of. An easier option would be to do something like Polyworld - a simple 2d environment without any mechanics, just the ability of organisms to "move". Once you have the sort of world you'd like in mind, you need to come up with their "genetics". Of course you can have bulk, physical traits in there; that's the easy part. However, unless you're starting with a sort of abiogenesis sim, you're going to need to have a way to have stimulus-response in there. One possible way is to use a neural net - like physics, you'll either need to code your own neural net sim, or find one that you can use. While that will probably get you the best behavior, you can also use a variety of simpler jury-rigged mecnahisms, such as the ability of each sensor simply do a time-delay activation of a response organ or of another sensor.
libevolve, the way it is designed, creates a "ring" of organisms - it's a 1d world. The standard usage (although any part can be replaced) is to compete each organism with one "near" it - the highest odds being to compete with its immediate neighbors, then next highest odds being to compete with the organisms 2 away, then 3 away, etc, until the odds are almost nonexistant of a competition. This adds "regionalism", allowing for some parallel paths to the same goal to evolve. Again, using the default functions, it then takes whatever fitness algorithm you give to compete them, and the initiates the default mutation and breeding algorithms to fill in the places of organisms that die. The way I had started on it, however, it was designed so that any major function call in the library could be replaced; you could use custom mutation or breeding algorithms if you chose, or even make it so that the 1d ring is really representative of a multi-dimensional world which used its own competition algorithm (all you'd really end up getting out of the library, in such a case, would be statistics printing functions, save/restore functions, etc). However, it was being written to be optimal for developing things which are most fit toward a specified goal.
------------------
"Illuminant light,
illuminate me."

This message is a reply to:
 Message 4 by Percy, posted 09-28-2003 1:00 PM Percy has replied

Replies to this message:
 Message 9 by Percy, posted 09-29-2003 12:54 PM Rei has replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 11 of 27 (58545)
09-29-2003 2:42 PM
Reply to: Message 9 by Percy
09-29-2003 12:54 PM


quote:
the algorithm had to be self-replicating to be considered GA
You see, that's the problem with the term "genetic algorithm" - it has a wide range of definitions, and people like Fred take advantage of that to try and pigeonhole all of the different GAs out there into being the exact same thing, when there's such a huge variety of them. "Artificial life" and "Artificial evolution" aren't much better terms, they're still fairly vague.
I sometimes use the terms "commercial GA" and "research GA" to incidate ones which are given a "goal to evolve towards" (i.e., a preset fitness algorithm, "truncation selection", etc) versus ones which exist and compete in the same fashion as normal life, typically used to study genetic spread in organisms. And there's still no clear boundary between types...
------------------
"Illuminant light,
illuminate me."

This message is a reply to:
 Message 9 by Percy, posted 09-29-2003 12:54 PM Percy has not replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 13 of 27 (62585)
10-24-2003 1:35 PM
Reply to: Message 12 by Fred Williams
10-24-2003 1:06 PM


Response made. All you need is a larger population, and it still works The larger the population, the worse the ratio of good to bad mutations can be.
Try again, Fred!!!
------------------
"Illuminant light,
illuminate me."

This message is a reply to:
 Message 12 by Fred Williams, posted 10-24-2003 1:06 PM Fred Williams has replied

Replies to this message:
 Message 14 by Fred Williams, posted 10-24-2003 1:51 PM Rei has replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 15 of 27 (62660)
10-24-2003 7:33 PM
Reply to: Message 14 by Fred Williams
10-24-2003 1:51 PM


Re: Rei sloppiness
I'll re-post the post here:
Try again, Fred!
Yes, there was that bug; the 10% rate was supposed to be 0.2, not 4.2 as it effectively was - and I've corrected it. However, let's use your rates, shall we?
The overall mutation rate is one in 50 per gene (or trait), not one in 50 per organism. If you think this should be changed, fine, but I don't see why one would think that it should be changed.
Also:
quote:
The lowest deleterious rate Ive seen from the scientific community is 1.6 per organism/generation (after selection), yet yours is roughly 0.3 per organism.
Nope. My mutation rate was 1 in 50; 100 genes; that's 2 mutations average per organism; 50% had no effect, that's 1% mutations total. Even with the bug, there were .84 bad mutations per organism. Also note that my mutations are actually much more dramatic than most. In reality, a "harmful" mutation would have to be pretty severe to be a -10% selection rate, let alone a -90%. And yet, I had one in 7 bad mutations be -90%! And check out what rates I'm going to use below...
Do you honestly believe that 0.84 * 6% (the old number) or 0.84 * 14.27% (the new number) - that is, 5% or even more preposterously 12% of the people who make it to reproductive maturity have a brand-new minus 90% mutation to fitness??? We're not even talking about the sum of bad mutations, or bad mutations inherited from parents - we're talking about *brand new*, -90% fitness mutations.
Fatal-mutation rates are irrelevant; a fatal rate to offspring born is basically the same thing as having more offspring, so if you want to account for fatals, just account for them in the offspring number.
Now, moving on:
Your rates: 1/1000 (0.1%) beneficial at all. In my opinion, that is *WAY* too low - example, a polar bear growing longer fur in an ice age is an advantageous mutation, and it has about the same probability of it happening as growing shorter hair. The assumption of the vast majority of mutations being disadvantageous only holds when species are under the same selective pressure that they've been under for a long period of time, and have already become optimized to it; when put under new selective pressures, change is typically a good thing. But, we'll go with your numbers, just to prove the point.
Let's do the beneficials as 0.05% +1%, 0.025% +2%, 0.015% +5%, and 0.01% +10% to be nice and favorable to you - in short, we're making that the vast majority of favorable mutations are only a *tiny* bit beneficial, one-upping you. The "+10%" mutations on a gene occur only once every ten thousand replications. Let's adjust the negatives correspondingly to 14.27% -90%, 14.27% -50%, 14.27% -20%, 14.27% -10%, 14.27% -5%, 14.27% -2%, 14.28 -1% - i.e., making it so that all bad levels of mutation are equally likely, and they range all the way down to -90%. These are astoundingly pessimistic assumptions, and astoundingly bad mutations (again, minus 90% is almost unheard of in how bad it is, in the real world; and note again how the beneficial mutations only go up to +10%, with an incredibly rare rate. In short, a bad mutation 10% or worse (far worse!) is 5708 times more likely than a good one of 10% or better (and there is no better).)
Let's take out all of the mutations that do nothing, because you're using them to try and skew the interpretation of the results. Mutations with no effects are now set to 0. They can just be factored in by the mutation rate itself - in fact, I'll just go ahead and do that.
However, we're only dealing with a population of 1,000 organisms. In reality, we're often dealing with trillions. Lets be nice, and only increase it to 100,000 organisms. Again, all we're doing is changing the population size here to make it *more like real life*.
What are our results?
http://www.daughtersoftiresias.org/progs/ev_output2.txt
(Note: I didn't run it as long, because it runs a *lot* slower with this many organisms; if I want to do much more with it, I may need to give it a faster competition algorithm, instead of the "easy to understand" one that I've got now. Also, to get the program to work with this many organisms, I had to change double variables to floats, and to redo the memory allocation structure. I also put in some more debugging print statements.)
As you can see, *any* bad rate can be handled and good genes will fixate, so long as there's a large enough population. Likewise, another option for a population is to have the mutation rate drop (mutation rates can be controlled by genetics as well - want me to add in natural selection for mutation rates?). With a low enough mutation rate, even a population of 2 organisms (plus one generation of children) will evolve. Also, unlike the real world, my sim is pessimistic and assumes that organisms have no ability to assess the fitness of their mates before reproducing, so that's no advantage to selection instead of the positive advantage to selection that exists in the real world.
I've jury-rigged this as far as I can in your favor, Fred, and evolution still occurs. Want to make the already preposterously unreasonable mutation rate numbers even worse? I'll just make the population even larger, or let them evolve their own optimal mutation rate like in real life.
I should work out the formula for this... since it's working on probabilities, I'm not sure how I'd do it mathematically, but I could probably do it statistically. Of course, someone may have already done this work, which would save me a lot of time. The results, however, follow the same trend: if the population is large enough OR the mutation rate is low enough (or any combination), evolution occurs. The average population starts a downward trend, while a few individuals begin an upward trend. Those inviduals genotypes steadily fixate into the population. Eventually, the entire population follows these upward trends.
------------------
"Illuminant light,
illuminate me."
[This message has been edited by Rei, 10-24-2003]

This message is a reply to:
 Message 14 by Fred Williams, posted 10-24-2003 1:51 PM Fred Williams has replied

Replies to this message:
 Message 17 by Fred Williams, posted 10-30-2003 5:54 PM Rei has replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 20 of 27 (63651)
10-31-2003 12:49 PM
Reply to: Message 17 by Fred Williams
10-30-2003 5:54 PM


Re: Rei sloppiness
quote:
You are flat wrong. I am talking about the deleterious mutation rate after selection! Here again is what I wrote, please read it this time:
Your gene mutation rate is set to 1 in 50. That means out of 100000 genes, roughly 2000 will contain a mutation of some sort. At least 110 of the 120 (2000*.06) lethal mutations will be removed. For simplicity well favorably assume exactly half of the remaining 720 (2000*.36) deleterious mutations will be removed (the vast majority, or 98% of comparisons will be against genes with a fitness of 1). So after one generation, at most 370 deleterious mutations will remain. This means at best only 1 in three organisms will have a deleterious mutation going into the next generation (a poisson distribution will lower the ratio somewhat, as some organisms will have multiple mutations).
1) There aren't 100,000 genes in this latest run - there are 10,000,000. Are we going by the initial run?
2) If you had read my last post, I pointed out that lethal mutations (I.e, spontaneous abortions or otherwise death before sexual maturity) are roughly the same thing as having more children. The type of organism that I had in mind when I wrote this (daphnia) actually typically has far more than 20 offspring (I think they usually have around 100, so this would be an 80% lethal rate)
3) Where on earth do you get your "assumption" that half of the "remaining" deleterious mutatations will dissapear? The program doesn't "assume" anything of the sort. If you'll look at the output, early on deleterious genes actually can be seen spreading widely throughout the population; they're in the long run overtaken, however, by the organisms that got lucky.
quote:
Do you agree, or disagree, that at most 370 deleterious mutations will remain after 1 generation?
"At most" is utterly incorrect - this doesn't use truncation selection, so it is up to the luck of the draw relative to the fitness of the organism. As discussed, your calculation doesn't even remotely reflect the program.
quote:
Remember, I explicitly referred to the post-selection mutation rate, as is how the rate is often cited in genetics studies (ie see Keightley paper)
.
You referenced a nonsensical post-selection mutation rate. You didn't base it on evidence. Please do.
[quote]And yet, I had one in 7 bad mutations be -90%! And check out what rates I'm going to use below...
quote:
Big deal! Lethal mutations are almost impossible to detect (if you dont know why please seek help soon ).
How many times do I have to mention that lethal mutations can simply be factored into the number of offspring created, and that if we're dealing with daphnia (again, the organism I was picturing when I wrote this, although it can be adjusted to any organism), we're assuming an 80% lethal rate.
quote:
quote:
Let's take out all of the mutations that do nothing, because you're using them to try and skew the interpretation of the results.
Huh? Im doing no such thing! Do you deny the existence of neutral mutations? Of course they do have bearing because they slow the rate of evolution since they eat up a proportion of the spectrum of mutations. It never ceases to amaze me what hoops evolutionists try to jump through to prop up their fairytale!
1) Actually, slowing the mutation rate enables a worse ratio of good to bad mutations to fixate, so it's a good thing in this aspect.
2) As I mentioned, I simply moved where they were factored into - they're now factored into the mutation rate itself; a neutral mutation will have the same effect as no mutation.
[quote]
quote:
As you can see, *any* bad rate can be handled and good genes will fixate, so long as there's a large enough population.
ROTFL!!! Rei, you are so brainlocked on genetic algorithms it has blinded you to plainly obvious problems.
To quote Galileo (translated), "And yet, it moves."
quote:
What if you set the lethal rate to 99%, and the beneficial rate to 1 in 1000?
Any sort of organism that has a lethal rate of 99% is also going to be producing thousands apon thousands of offspring to begin with; it's a rather daft point to focus on, for this reason. The only thing that is relevant in this respect is the ratio of organisms that live to compete with each other for breeding rights.
quote:
You have no parameter to completely kill off organisms that fall below a certain threshold.
Yes. Because I simply had them never be born to begin with, and reduced the number of offspring born. As I've said many times.
quote:
Over time your program will create scores of losers (Lahooo Zahers) who will compete against one another and yield a, yep, Lahooo Zaherrr! LLLLLlll...loozer! (L on forehead) Its like the Rodney Dangerfield joke about two ugly parents who have reallll ugly kids! In other words, your program DOES NOT ALLOW EXTINCTION!
I should make that my signature....
Please explain how my program bans extinction.
quote:
A piece of jello is allowed to mate with another piece of jello. In some cases the jello gets paired against one of the few robust organisms that have garnered a beneficial gene or two, and is highly likely to lose (alas a form of truncation selection creeps in).
I assume that you're talking about a -90% selection organism vs. a +10% selection? In short, you're comparing the reproductive success likelyhood of a child with Downs syndrome to that of a professional athlete. Yes, the reproductive success comparison between a child with Downs syndrome and a professional athlete is effectively truncation selection. And comparison between the general population (over 99% of comparisons) is almost random natural selection. That's the way of life.
How are you trying to argue that the simulation parameters should be altered here? A lower rate of -90% fitness mutations? You'll find that that will actually help evolution.
By the way, I should mention again that this program also doesn't take into account the ability of organisms to assess the fitness of their mate, something that is incredibly important for higher animals (not so much for lower animals, but still relevant). In short, I'm being incredibly nice to you with this one.
quote:
The beneficials odds of winning go up dramatically because they get to consistently compete with jello.
Hey, I'll gladly lower the rate of extremely negative mutations for you if you want. But of course, you don't actually want that, because evolution would occur *more* rapidly then.
quote:
No lethal mutation can possibly wipe out the robust, because there are 100 other genes to compensate for that -90% bad one you are so proud of.
Not true. I have the genes weighted multaplicatively - you are the "product" of your traits. Would you prefer additive? It would actually help evolution. Notice a trend here? Whenever there's been a choice to be made, I've been taking the option that would hurt evolution the most.
quote:
No burden whatsoever is placed on reproduction, so low and behold Rei can produce evolution!
Not me. Reality.
quote:
1) Cite for our audience just one article in any of your very own evolutionist peer-reviewed journals, just one, that supports a beneficial mutation rate of 1 per 1000 organisms! You have the audacity to lump this as a preposterously unreasonable mutation rate! You are in a dream world, Rei, a dream world.
The ratio of positive to negative mutations is key here. Cite for me a paper that shows that negative mutations are over 1000 times more common than positive ones.
The problem with your statement is that very seldom do scientists go and monitor a population and look at every mutation, and determine "is this positive, negative, or neutral for the organism, and how much?" We can cite beneficial mutations, and we can cite negative mutations, but the ratio is almost impossible to come by, because the concept of checking every single mutation in a species would be an incredibly daunting task.
That said, you can look at different situations in the world and figure out what is realistic. For example, if you have an organism whose environment - whether it be the types and numbers of other species, the climate, etc haven't changed much over an incredibly long period of time - there's not going to be very much more it could do. Its ratio of positive to negative mutations is going to be very, very low. On the other hand, if you have an organism whose environment has suddenly changed, the ratio of positive to negative mutations is going to be very, very high. As in the example that I gave last time that you chose not to address: If you have a polar bear, and the climate starts getting colder, its fur is just as likely to mutate to be longer as it is to mutate to be shorter - a 1 to 1 positive/negative rate. Most genes in most situations won't near that 50% ratio, but ratios can be quite high.
quote:
2) Explain why mush is allowed to survive.
I'll ask again: want me to lower the rate of really bad mutations? It'll only make things evolve faster, but I'll do it if you want. Would you like that? Of course, you should realize - narrowing the curve in on zero change won't help you one bit; in fact, it'll actually enable a much faster mutation rate while good genes still fixate.
But if this is your argument, and you want it (or if you make the claim one more time) - hey, that's your choice, and I'll gladly run the sim again!
quote:
3) Explain why there are no lethal mutations to wipe out robust organisms in your later generations? Impervious to mutation! Its not a bird, not a plane, its SUPERMAN! (ie fairytale)
1) What is impervious to mutation here? Genes are selected randomly.
2) As I've had to mention far too many times, lethal mutations are factored into the number of offspring. If it will make you happy, I'll add a new variable called "lethal mutations percent", and then simply reduce the number of offspring by that percent, and then include the full number of offspring. If you're talking about a recessive lethal mutation, that's the equivalent of a strongly negative, but not completely negative, mutation - say, a -50% or a -90%. Or are you wanting me to special-case factor in this, and then reduce (correspondingly) the rate of -50% or -90% mutations? It won't help you any, but I think you already knew that when you made the claim.
(by the way, if you want me to target this simulation for any particular species, let me know; of course, keep in mind that if you go to higher animals, you'll be missing a lot of the "assessing the fitness of your mate" selection; that's why I chose to focus on lower animals).
quote:
Finally, I would like to see your latest source code.
Click on the initial link.
quote:
I suspect Ill find additional bugs/flaws.
I seriously doubt it.
quote:
Hmm, Im willing to bet you set your mutation rate to 1 per 1000 genes instead of per organism, which means a whopping 1 in 10 organisms will get a new beneficial mutation each generation! Zing Pao, its a miracle!
Enough with the accusations. Click, read, and then remark.
------------------
"Illuminant light,
illuminate me."

This message is a reply to:
 Message 17 by Fred Williams, posted 10-30-2003 5:54 PM Fred Williams has not replied

Replies to this message:
 Message 21 by NosyNed, posted 10-31-2003 1:18 PM Rei has not replied

  
Rei
Member (Idle past 7043 days)
Posts: 1546
From: Iowa City, IA
Joined: 09-03-2003


Message 23 of 27 (64548)
11-05-2003 1:39 PM
Reply to: Message 22 by Fedmahn Kassad
11-04-2003 8:18 PM


quote:
In humans and other mammals, uncorrected errors (= mutations) occur at the rate of about 1 in every 50 million (5 x 10^7) nucleotides added to the chain. (Not bad - I wish that I could type so accurately.) But with 6 x 10^9 base pairs in a human cell, that mean that each new cell contains some 120 new mutations.
And how many of those mutations do anything at all (let alone as astounding of a change to fitness as a -90%? I'd be surprised if the average human has even a 1% selectability difference from the sum of their mutations). I'd gladly narrow the range, and at the same time increase the mutation rate - the two things are counters to each other, so it won't change the outcome.
------------------
"Illuminant light,
illuminate me."

This message is a reply to:
 Message 22 by Fedmahn Kassad, posted 11-04-2003 8:18 PM Fedmahn Kassad has replied

Replies to this message:
 Message 24 by Fedmahn Kassad, posted 11-05-2003 9:29 PM Rei 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