Thrive Game Development
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Thrive Game Development

Development of the evolution game Thrive.
 
HomeHome  PortalPortal  Latest imagesLatest images  SearchSearch  RegisterRegister  Log inLog in  
Welcome new and returning members!
If you're new, read around a bit before you post: the odds are we've already covered your suggestion.
If you want to join the development team, sign up and tell us why.
ADMIN is pleased to note that this marquee has finally been updated.
ADMIN reminds you that the Devblog is REQUIRED reading.
Currently: The Microbe Stage GUI is under heavy development
Log in
Username:
Password:
Log in automatically: 
:: I forgot my password
Quick Links
Website
/r/thrive
GitHub
FAQs
Wiki
New Posts
Search
 
 

Display results as :
 
Rechercher Advanced Search
Statistics
We have 1675 registered users
The newest registered user is dejo123

Our users have posted a total of 30851 messages in 1411 subjects
Who is online?
In total there are 3 users online :: 0 Registered, 0 Hidden and 3 Guests

None

Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm
Latest topics
» THIS FORUM IS NOW OBSOLETE
Population dynamics - Page 2 Emptyby NickTheNick Sat Sep 26, 2015 10:26 pm

» To all the people who come here looking for thrive.
Population dynamics - Page 2 Emptyby NickTheNick Sat Sep 26, 2015 10:22 pm

» Build Error Code::Blocks / CMake
Population dynamics - Page 2 Emptyby crovea Tue Jul 28, 2015 5:28 pm

» Hello! I can translate in japanese
Population dynamics - Page 2 Emptyby tjwhale Thu Jul 02, 2015 7:23 pm

» On Leave (Offline thread)
Population dynamics - Page 2 Emptyby NickTheNick Wed Jul 01, 2015 12:20 am

» Devblog #14: A Brave New Forum
Population dynamics - Page 2 Emptyby NickTheNick Mon Jun 29, 2015 4:49 am

» Application for Programmer
Population dynamics - Page 2 Emptyby crovea Fri Jun 26, 2015 11:14 am

» Re-Reapplication
Population dynamics - Page 2 Emptyby The Creator Thu Jun 25, 2015 10:57 pm

» Application (programming)
Population dynamics - Page 2 Emptyby crovea Tue Jun 23, 2015 8:00 am

» Achieving Sapience
Population dynamics - Page 2 Emptyby MitochondriaBox Sun Jun 21, 2015 7:03 pm

» Microbe Stage GDD
Population dynamics - Page 2 Emptyby tjwhale Sat Jun 20, 2015 3:44 pm

» Application for Programmer/ Theorist
Population dynamics - Page 2 Emptyby tjwhale Wed Jun 17, 2015 9:56 am

» Application for a 3D Modeler.
Population dynamics - Page 2 Emptyby Kaiju4u Wed Jun 10, 2015 11:16 am

» Presentation
Population dynamics - Page 2 Emptyby Othithu Tue Jun 02, 2015 10:38 am

» Application of Sorts
Population dynamics - Page 2 Emptyby crovea Sun May 31, 2015 5:06 pm

» want to contribute
Population dynamics - Page 2 Emptyby Renzope Sun May 31, 2015 12:58 pm

» Music List Thread (Post New Themes Here)
Population dynamics - Page 2 Emptyby Oliveriver Thu May 28, 2015 1:06 pm

» Application: English-Spanish translator
Population dynamics - Page 2 Emptyby Renzope Tue May 26, 2015 1:53 pm

» Want to be promoter or project manager
Population dynamics - Page 2 Emptyby TheBudderBros Sun May 24, 2015 9:00 pm

» A new round of Forum Revamps!
Population dynamics - Page 2 Emptyby Oliveriver Wed May 20, 2015 11:32 am


 

 Population dynamics

Go down 
+10
untrustedlife
hypoxanthine
scorpion268
Daniferrito
gdt1320
Rorsten594
The Uteen
~sciocont
Mysterious_Calligrapher
Seregon
14 posters
Go to page : Previous  1, 2, 3, 4  Next
AuthorMessage
Seregon
Regular



Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 10:17 am

Your right, but you are also missing the point. If all we wanted to do was simulate a small population of microbes in a petri dish, we could derive the population curves easily enough, just as you describe.

Whats being discussed here is how we would simulate populations *much* larger than we could feasibly do at the individual level. Agent based simulations get expensive quickly, especially if that's only a small component of what we're doing (rendering, AI, physics etc.), and would allow us to simulate perhaps a few hundred cells, or in later stages a few dozen animals and plants. The methods here would allow us to simulate whats happening to the populations which aren't immediately observable by the player, so that when the player moves into another area, those populations can be updated in a meaningful way (i.e.: not a clean procedural generation). The key is that the computational complexity scales with the number of species, not the number of individuals, so that we can simulate very large ecosystems in seperate biomes relatively easily.
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 10:33 am

i was writing more in my post while you were reading it so you may want to go back and read it again.

but lets say, ok, we want to reduce the population on a planet to a few key variables along with a list of the species present along with their typical genomes, and then when i come back to it i can regenerate the entire planets ecosystem by throwing the information (along with the time thats passed since the last visit) into a few equations, and our task is to come up with these equations. i think thats the gist of it, correct me if im wrong. so why overcomplicate it? just use your logistic models to get a number for each species then scale them according to predator-prey and an overall carrying capacity. How are you planning on deciding how the species get distributed across the system? will there be a variable for each species which decides whether they get distributed uniformly, randomly or in clumps? stick them in their biomes? i havnt seen any pseudo-code being written so it isnt too clear.


as for evolution happening when you come back, i havnt seen anyone suggesting exactly how the genetic information will be stored for each species, what it will consist of, or even what the organisms will actually have? what AI will be used, which of its variables will be mutatable? how will the morphology and anatomy data be stored? how will this be mutatable? Before you talk about auto-evo, you need to talk about the organisms themselves because otherwise youre just vaguely speculating and its not really any help. if you knew all this, you could just say: right, when i come back, mutate every single species genome a number of times dependent on the time passed since last visit, and then simulate all the agents in fast-forward so that natural selection has a chance to do its work, and then show the player the results and continue from there as normal. agent-focused evolution for a single planet will not be computationally expensive at all (the fact you think it will suggests youre not really sure of how it will actually work). how many creatures are you really simulating for each planet? you really think something like the amount in real life? they didnt even manage that in spore! just make the planets small and give them, say, 50 organisms for each of 6 possible species living on a planet. any more than something similar to that and youre trying to outdo spore (cant remember the actual organism limit on spore but i remember that after it, if you tried to add another creature, another one would disappear). hint: you cant outdo 5 years of professional developer's (the best in their fields) work.
Back to top Go down
Seregon
Regular



Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 12:16 pm

I can't answer every point your raising, there are too many, and they're not all related.

hypoxanthine wrote:
i think thats the gist of it, correct me if im wrong. so why overcomplicate it? just use your logistic models to get a number for each species then scale them according to predator-prey and an overall carrying capacity.

That's the basic idea. The problem is deriving growth and mortality rates from our species geno/phenotype. If that was trivial, then we'd simply plug that in, but it's not. While we could make a very crude attempt, the resulting simulation would be incredibly bland, with many hugely different organisms behaving in almost identical ways at a population level.

hypoxanthine wrote:
how many creatures are you really simulating for each planet? you really think something like the amount in real life? they didnt even manage that in spore! just make the planets small and give them, say, 50 organisms for each of 6 possible species living on a planet. any more than something similar to that and youre trying to outdo spore

This is exactly what we are proposing, and exactly why agent based simulation won't do. That small size of spores ecosystem is one of the major points we want to improve upon. The space your playing in may not contain many more organisms or species, but the overall planet will.

hypoxanthine wrote:
hint: you cant outdo 5 years of professional developer's (the best in their fields) work.

No, we can't, which again brings me back to the point of all this. We cannot create an agent based simulation which is significantly more efficient than what spore had, what we can do is avoid the problem completely by not requiring a huge agent based simulation. I've written enough such simulations to know that the 300 or so creatures your saying a spore world contained would be pretty close to the limit of what an average computer of the time could run. With some clever programming (which we probably can't beat) they may have increased that a little.

Auto evo serves a similair purpose - we cannot afford to simulate darwinian evolution, so we make simplifying assumptions (explained elsewhere, I'll find a link if you need it):
- all individuals in a species are phenotypically identical. Sub-populations may vary slightly, and if the difference becomes signiciant they become a new species. What we don't do is track the genetics of every individual. We therefore do not 'mate' individuals to produce offspring.
- we assume natural selection. In other words, we assume that only benificial mutations will survive, and negative ones will not spread through the population.
What this means is that we don't need to run a genetic algorithm with hundreds of individuals, but instead run a much simpler hill climbing algorithm with dozens of species.

The details of what will be mutated, the genetic structure of the organisms, is a little irrelevant at this point. It certainly won't be as simple as 'predation rate' and 'mortality' mentioned in the examples. Beyond that, I don't see how what we're evolving will have that much effect on how we evolve it. There are some exceptions, but I don't think that's what your trying to get at?
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 12:56 pm

Seregon wrote:
That's the basic idea. The problem is deriving growth and mortality rates from our species geno/phenotype. If that was trivial, then we'd simply plug that in, but it's not. While we could make a very crude attempt, the resulting simulation would be incredibly bland, with many hugely different organisms behaving in almost identical ways at a population level.

why not KISS and just give each species a [slightly randomized if you like] growth factor (r) based on its maximum health/energy? Why is it a problem?
ok thats fine that--wait a second:

Seregon wrote:
Auto evo serves a similair purpose - we cannot afford to simulate darwinian evolution, so we make simplifying assumptions (explained elsewhere, I'll find a link if you need it):
- all individuals in a species are phenotypically identical. Sub-populations may vary slightly, and if the difference becomes signiciant they become a new species.

and that isnt bland? ...hang on...

Seregon wrote:
all individuals in a species are phenotypically identical. Sub-populations may vary slightly,

struggling to get my head around this. if all species are phenotypically identical, how do subpopulations vary? but yes, i did say before that the data stored for each species should be the typical genome and its population count. what 'typical' might mean here is that you randomly select one creature and make that genome the archetype (taking an average is too much work). now i know that no known creature is distributed according to the cauchy distribution but i dont think it would matter too much.

Seregon wrote:
we assume natural selection. In other words, we assume that only benificial mutations will survive, and negative ones will not spread through the population.

so the rich get richer? thats not how evolution works, you know it, and it certainly doesnt take into account genetic drift which is one of the most important factors unless you have a very large population size, which we cant have (wait on!). You can't just say 'even though you can only see a few creatures from where you are now, this planet actually has hundreds of them whose population is controlled by these equations.' because your sample must reflect the actual planetary population size , at which point things start getting more and more complicated because you also have the question of distribution across the plant and biomes, and we should say to ourselves 'stop! is there an easier way to do this?'.

Seregon wrote:
What this means is that we don't need to run a genetic algorithm with hundreds of individuals, but instead run a much simpler hill climbing algorithm with dozens of species.

ok, sounds like a plan. ive seen GAs approximated using hill-climbers before (written a few myself...in cryptographical contexts but still...) but tell me how you propose to go about this. saying your going to use a hill-climber to evolve dozens of species doesnt tell me much. what type of hill-climbing are you using and why? what are you using as a measure of fitness and how will this be interpreted as a final genome? this is incredibly vague. please could you provide some pseudo-code, even if its not very detailed? ive noticed that nobody seems to give any such details on the forum, no wonder the programming is slow. they have to work out how to implement your ideas because you wont tell them how.


Seregon wrote:
The details of what will be mutated, the genetic structure of the organisms, is a little irrelevant at this point.

no it really is not. how can you talk about evolving something when you dont really know what that something will be? its useless. try to think about it from a programmers point of view for once. how do you actually code what youre saying? you dont even have the starting point of what youre meant to be running this algorithm on so how can you decide on what algorithm to use and what it should attempt to do? an organism's genome is going to have a lot of variables and youre trying to increase its overall fitness? how do you do that? and bear in mind that an organism doesnt just 'adapt to its environment' (dont be adaptationist - if you set it to increase its fitness for a specific biome, all your creatures will end up the same), it needs definite interspecific competition for evolution to occur (ok, i know, geographical isolation, etc. but whatever) so you cant decide fitness independently from the fitness of the other species. as i said, pseudo-code for your specific auto-evo hill-climber algorithm in your reply post please or you're BSing. youre running before you can walk (i will not relate this to the whole project...it is NOT related...NOT RELATED...). This part of the game could be tested stand alone right now if anyone had the time, and you divulged your secrets.








Back to top Go down
scorpion268
Newcomer



Posts : 18
Reputation : -2
Join date : 2013-05-11
Location : Waco, Texas, us

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 1:17 pm

If we were to take the entire world of the game and only take a chunk of the continent your species was on and fully process the biomes your species was in and the ones that were surrounding the ones that were surrounding the one you were in we could cut out a lot of processing time. Then if we used population pyramids with proportional populations like 15 prey per predator and have multiple species per level competing for dominance, then we could have a much more diverse world than before with the same processing requirements as before in my beliefs at least.
Back to top Go down
Seregon
Regular



Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 1:33 pm

Your not giving me much credit here, and yet I'm answering your points on the assumption that you know what your talking about.

hypoxanthine wrote:
This part of the game could be tested stand alone right now if anyone had the time, and you divulged your secrets.

If you believe I have secrets I'm not divulging, then either you think this system has more merit than your willing to admit, or I'm doing a very poor job of explaining myself.

Yes, there are details of this which reside only in my head, not becuase I'm trying to deprive anyone of them, but becuase they take a huge amount of time and effort to develop to a stage where they're presentable and usable by a coder. That means doing the math, writing prototypes, and tweaking them, to save others the effort. Thats time I really don't have to spare right now, though it definately is something I'll be working on as soon as I do.

To answer a few of your more reasonable points:
- All members of a population of a species (rather than the entire species) are phenotypically identical. Each seperate location which contains this species will have a seperate population. If these are significantly distinct a new species may form. If they are strongly linked by migration, they will tend towards the same genetics via crossbreeding.

- We don't track the genome, only the phenome, which is what makes the above assumptions plausible.

Quote :
so the rich get richer?
- Where did you get that idea? What this means is that the entire population will gain benificial mutations. Non-benificial mutations may arrise at the genetic level in a few individuals, but those individuals would be at a disadvantage and die out, so that the harmful gene will never spread to the population. At the phenotypic population level, these harmful mutations would never be seen, and so are ignored. The exception is where a mostly benificial mutation has some harmful side effects (e.g.: sickle cell), and these should be allowed by the system.

Quote :
pseudo-code for your specific auto-evo hill-climber algorithm in your reply post please or you're BSing/
- I really don't have the time to produce something like this on demand, and you have no right to demand it.

It would also help me explain this if I knew where you were comming from? Are you a programmer, biologist, ecologist, evolutionary scientist?

Also, please finish your post before posting, having what I'm replying to change while I'm writing a post is more than a little confusing.

@Scorpion - that's part of the idea, and largely what we're doing for the part of the planet observable by the player, this thread deals with what we do for the rest of the planet, rather than simply leaving it paused while the player isn't looking.
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 2:15 pm

Seregon wrote:
Your not giving me much credit here, and yet I'm answering your points on the assumption that you know what your talking about.
i can see why youre saying this, i know im coming across as rude and im sorry about it, but seeing as how the thrive project has ignored reason in the past, its the only way that will do. just be clear that i dont mean to insult anyones intelligence.

Seregon wrote:
If you believe I have secrets I'm not divulging, then either you think this system has more merit than your willing to admit, or I'm doing a very poor job of explaining myself.
the second one.

excuse 1)
Seregon wrote:
Yes, there are details of this which reside only in my head, not becuase I'm trying to deprive anyone of them, but becuase they take a huge amount of time and effort to develop to a stage where they're presentable and usable by a coder. That means doing the math, writing prototypes, and tweaking them, to save others the effort. Thats time I really don't have to spare right now, though it definately is something I'll be working on as soon as I do.
fair enough, dont have the time. perfectly fine.

excuse 2 and 3)
Seregon wrote:
Quote :
pseudo-code for your specific auto-evo hill-climber algorithm in your reply post please or you're BSing/
- I really don't have the time to produce something like this on demand, and you have no right to demand it.

It would also help me explain this if I knew where you were comming from? Are you a programmer, biologist, ecologist, evolutionary scientist?

I read that all as 'It would take too long to explain. Who are you to tell me what to do you little upstart! Also, I would explain but you probably wont understand it' (ok thats being a little unfair ill admit, but the rough idea is in there). I'm a programmer and a biologist (ecology and evolution come under biology, no? im not a specialist but i do know my stuff) since you asked.

now you misunderstood my request for pseudo-code completely. Given that you said you had an algorithm for auto-evo, all i was asking is for you to reveal it to me. If you cannot reveal it to me, you do not already have an algorithm, which means that you were basically saying 'ohhh...well do it all with a hill-climber' (reminds me of procedural generation here) without having an idea as to how youll do it, which is very bad indeed. I'm not asking you to produce it on demand, because unless your'e BSing, you already have it and should be able to show it to me without any difficulty, unless of course, youve been discussing this for 2 years (i think?) and you havnt ever bothered to write a scrap of pseudo-code for it.

Seregon wrote:
Quote :
so the rich get richer?
- Where did you get that idea? What this means is that the entire population will gain benificial mutations. Non-benificial mutations may arrise at the genetic level in a few individuals, but those individuals would be at a disadvantage and die out, so that the harmful gene will never spread to the population. At the phenotypic population level, these harmful mutations would never be seen, and so are ignored. The exception is where a mostly benificial mutation has some harmful side effects (e.g.: sickle cell), and these should be allowed by the system.

you dont seem to have read the paragraph at all. im not going to repeat myself.



Seregon wrote:
All members of a population of a species (rather than the entire species) are phenotypically identical. Each seperate location which contains this species will have a seperate population. If these are significantly distinct a new species may form. If they are strongly linked by migration, they will tend towards the same genetics via crossbreeding.

ah that makes more sense, but sounds like youre overcomplicating again. why split each species into subpopulations? and you were just talking about processing problems too! having subpopulations would basically be the equivalent of having many more species on the planet and is, in general, a very bad idea which gives me reason to doubt the consistency of your ideas.

Seregon wrote:
We don't track the genome, only the phenome, which is what makes the above assumptions plausible.

em..the genome is the same thing as the phenome for the purposes of the game but it is generally called the genome in these sort of simulators, which brings me back to my point on how an organism's genome will be encoded and why you should be discussing it now before auto-evo. e.g. part of the genome may say something like 'this organism has weapon part number n at body coordinates (x,y,z)' or something similar, and I have no idea what you thought instead (the fact you didn't immediately see this really worries me, how could it be otherwise? this is why i think i havnt understood you correctly.). How the data is encoded strongly influences how you evolve it.
Back to top Go down
scorpion268
Newcomer



Posts : 18
Reputation : -2
Join date : 2013-05-11
Location : Waco, Texas, us

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 2:21 pm

Ok that makes a lot of sense along the species diversity level. Just to be sure I'm understanding this correctly, there will be more than six organisms per biome.
Back to top Go down
Mysterious_Calligrapher
Biome Team Lead
Mysterious_Calligrapher


Posts : 1034
Reputation : 26
Join date : 2010-11-26
Age : 32
Location : Earth, the solar system, the milky way...

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 4:02 pm

Guys. No fighting on the thread. Hypo, that's not what Seregon said, putting words in his keyboard is a good way to come across as rude.

Hypo, I'd like you to re-read the first post in the thread, and the threads for auto-evo here and here. (The first one is more programming based, the second has some of the early explanations as to why we came up with auto evo.) They might help you to understand what Seregon isn't getting across to you.

As to why we need auto-evo, the simple explanation is that it's a pure numbers calculation that allows us to simulate extinctions, ecological niches, biomes, and single-species extinctions without hard-coding actions. We will just let the numbers run instead, saving a lot of processing time while still allowing us to run conditions for a lot of species at the same time.

As for the other points, we've got a policy around here of if you think we're not coding fast enough, you can code it yourself, faster. Somewhere deep in the belly of the biomes discussion we've got some food-chain mock-ups that take a look at how we're going to have to run population mechanics when resource availability and predation are both taken into account.

Since you said you were learning biology, just something from an earlier post:
hypoxanthine wrote:
All that needs setting is a maximum number of organisms limit which when reached changes the general reproduction-controlling parameters such that an organism can only reproduce once another one has died, and then you might want to weight what each organism contributes to this count according to their energy requirements (e.g. their maximum health since energy and health seem roughly approximate in the game) so that, say, one large organism being killed would mean that two smaller organisms could be born.

Not quite how it works, but you’re close. Populations generally enter a “boom and bust” cycle, where they overshoot their carrying capacity, die back in large numbers, then slowly build their population back up. This is one of the driving forces of evolution, because the boom allows for greater genetic diversity within the species, and the inevitable bust trims down the population to the point where even small adaptations are a great adaptational advantage. By allowing the population to boom past it's carrying capacity, we can automatically simulate a mini-extinction event, which opens up niches for other species to diversify.

The "maximum number of organisms," as written here, would be overly simplistic given trophic level energy flow and entropy. Essentially put, when producers (plants) use 1000 units of energy to build their mass, a much smaller amount is available to primary consumers, and an even smaller amount to secondary consumers.

In addition, some resources, both nutritional and otherwise, will not be available to all species, just ones with the appropriate adaptations, so instituting a collective, biome-wide carrying capacity would be nearly impossible if we still wanted to run said adaptations, which are currently being discussed in the organ editor thread. And we very much do want to be able to run said adaptations, and to simulate extinctions.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 4:15 pm

Hypox, I believe at some point, you were prompted to read our evolution concept. If you haven't seen that page before, we've failed to initiate you properly int othe project.
The question of population dynamics exists to give information to the Census step in the evolution procedure. Questions of what mutations are beneficial and how information is stored are tangential to the actual determination of population sizes.
Some things that may not be clear to you:
-All evolution happens on a local, not planetary scale. The planet is split up into separate biomes, which are self-contained game spaces for evolution. We may include organisms that move in between biomes, but if it is too complex for us to handle, we won't include them.
-Populations of organisms are just numbers. If there are 100 bears in a biome, the game does not store 100 instances of the bear and populate the biome with them. The population level simply influences your chances of seeing that organism: once an organism model is outside of your perception, it is deleted and won't necessarily show up there again, unless it is a stationary organism like a plant or a nest of eggs, or the organism you saw is specifically tied to that area by its behavior, in which case you'll see it pretty much every time you're in the neighborhood.

Also, rather than grilling Seregon about his expertise when he has little time to respond (He's currenlty working on his PhD in theoretical ecology, so he's essentially the best person in the world for this job), why not make some of your own suggestions to the problems you see, since you claim to have some degree of expertise. I don't mean to say that you aren't qualified to discuss this, I believe you are, but I am wondering why you're focusing more on criticism than construction. I am certainly happy to see you interested in this rather technical area, I'd just like you to understand that Seregon and I do not mean any disrespect towards you and are confused as to why your tone has been rather unfriendly.
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 4:51 pm

Mysterious_Calligrapher wrote:
Hypo, I'd like you to re-read the first post in the thread, and the threads for auto-evo here and here. (The first one is more programming based, the second has some of the early explanations as to why we came up with auto evo.) They might help you to understand what Seregon isn't getting across to you.

oh don't worry ive read those before. doesnt answer anything. it gives a framework and then doesnt address any of what ive asked about here, in fact its mainly about the process of fitting a creature to a biome.

Mysterious_Calligrapher wrote:
As to why we need auto-evo, the simple explanation is that it's a pure numbers calculation that allows us to simulate extinctions, ecological niches, biomes, and single-species extinctions without hard-coding actions. We will just let the numbers run instead, saving a lot of processing time while still allowing us to run conditions for a lot of species at the same time.
yesssss, i gathered that.

Mysterious_Calligrapher wrote:
As for the other points, we've got a policy around here of if you think we're not coding fast enough, you can code it yourself, faster.
not quite sure why youve said that. after my exams i will. said this. im not inciting anybody to do any coding. im inciting people to come up with pseudo-code, so that when they/you/i come to code it, we know what were meant to be coding.

Mysterious_Calligrapher wrote:
Since you said you were learning biology, just something from an earlier post:
, yeahhh, this whole paragraph very patronizing. Don't worry, I know how to model populations and I think everyone here knows about trophic levels and r-k selection. Like the first thing you ever learn in ecology when youre about 9. the reason for my simple suggestion was to keep it SIMPLE: a rudimentary carrying capacity type constraint which very roughly takes account of energy requirements. no need for anything else until youve actually got the thing up and running and then you can tune for accuracy. thats what should be happening. i see though that while we wait for progress there is nothing to do but discuss minutiae.


Mysterious_Calligrapher wrote:
Populations generally enter a “boom and bust” cycle, where they overshoot their carrying capacity, die back in large numbers, then slowly build their population back up.
generally what happens? not really, some creatures do and some don't. depends on the growth factor and obviously also on predators.


Mysterious_Calligrapher wrote:
In addition, some resources, both nutritional and otherwise, will not be available to all species, just ones with the appropriate adaptations, so instituting a collective, biome-wide carrying capacity would be nearly impossible if we still wanted to run said adaptations, which are currently being discussed in the organ editor thread. And we very much do want to be able to run said adaptations, and to simulate extinctions.
. see your point. if you must take this into account, why not calculate a carrying capacity for each species as auto-evo is being run? some threshold based on the parts the species has (which indirectly takes account of resources available to that species) or more effectively, have one carrying capacity for each biome and then multiply the one in question by some factor proportional to the area that the biome encompasses. if you use this, you can just model each species with a simple logistic function and then calculate K beforehand by looking up the base value for K for that biome in an array then multiplying it by the area of that biome. e.g. base value in ocean might be 4 creatures/m^2 and for desert, maybe 0.2 creatures/m^2 (im just saying some numbers dont shout at me). simple solution. tell me why you arent doing this.

~sciocont made a post while i was writing this so hello!

~sciocont wrote:
Populations of organisms are just numbers. If there are 100 bears in a biome, the game does not store 100 instances of the bear and populate the biome with them. The population level simply influences your chances of seeing that organism: once an organism model is outside of your perception, it is deleted and won't necessarily show up there again
clearly not read my previous posts. i understand this perfectly, but this sounds like you read my first post on this thread and left it at that.

~sciocont wrote:
you were prompted to read our evolution concept.
Of course Ive read that. Doesnt tell you anything that isnt obvious. I can sum it up in a sentence: randomly decide if there was a mutation for each species with probability scaled by proportions of species and trophic levels, then randomly mutate them. Of course, it doesnt say (as ive been saying) how you are going to mutate a creature. What are you actually changing in a mutation - how is the data encoded for the umpteenth time? It also doesnt say how you intend to scale the probability. theres no pseudo-code, just vague instructions.

~sciocont wrote:
confused as to why your tone has been rather unfriendly.
rants sound unfriendly. its in their nature.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 5:15 pm

I assumed you had read that, but I wanted to make absolutely sure. I've read your posts closely, but I like to make my own posts as succinct as possible, so I didn't go much further.
Why don't we have code? We haven't had coders working on this because it's of secondary importance to getting the game engine running, which is what our coders have been working on. Seregon has been working on real-world objectives and anyone else on the forum, with the now advantageous exception of yourself, has been underqualified to discuss the deeper questions you're asking, such as how we will store organism data. You won't find answers to some of your questions because you're the first one around here who's had the understanding to ask them in a meaningful way. It's not that the rest of us haven't thought of them: everyone here knows that we will have to have a fairly modular way to encode organisms, but no one who has the programming knowledge to provide meaningful answers has been working on the task.
I'm really glad you're interested in this, and I'd suggest you make your own concept of how population dynamics (or whatever else you're interested in solving (I'm well aware that you have been making suggestions throughout this thread, and many of them have been quite helpful)) so that we can make progress, rather than just squabble over details that often prove difficult to express coherently in this discussion format.
Back to top Go down
Daniferrito
Experienced
Daniferrito


Posts : 726
Reputation : 70
Join date : 2012-10-10
Age : 29
Location : Spain

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 5:34 pm

Creatures will just be a conglomerate of organs. Internal organs, like digestive system, and external organs, like legs. They all affect their interaction with the environement. For example, better legs will make it able to run faster so it is easier to hunt, or not get hunted, and better digestive system will make it recieve more energy from anything it eats, so it has to eat less. This is just a broad view at organs, the organ design thread alredy linked is a better place to look at that.

That configuration of organs will be the genome.

Mutations will just be changes to the parameters of said organs, or geting rid of organs or adding new ones. To choose a mutation, just take a random part and modify one of its parameters (like for example make a leg longer). To test if such random mutation is beneficial or not, we will just do a series of very simplified simulations, like for example puting the creature and one of its predators (or prey) in a simplified environement, so we can test the outcome. With a bunch of those simulations, we can see the statistics of how many kills the creature archieves. From there, we go to the population formulas, and do a one-step calculation with the new data, and compare that to a similar one-step calculation with the older data. If the population growth is higher (the mutation made the population grow more), it is considered a good mutation, and it stays. If it is lower, it is a bad mutation, we reject it and do another random mutation.

The mutations not only makes species more likelly to score kills, or defend itself agains predators, but also affect the population formulas in different ways. To keep with the leg example, a longer leg will mean descendants are more costly to produce, and require more intake to keep alive. It also means they give more energy to predators when killed, but that wont show up until the next step of the evolution.

That goes for AI evolution. The player is just given the coice to modify its creature as he wants. As all the creatures evolve at once, we will be evolving AI creatures while the player is in edit mode, which gives us more processing power to work with, and as simulations are not made on screen, we can overclock them as much as the processor allows us to, and do them at parallel, allowing for a lot of that simple simulations being done.

To sum up, creature's genome will be their organs. To mutate them, we randomly modify some parameters and depending on what the populations formulas predict, we decide if they are good or not. We do all those calculations while the player is in the editor
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 5:57 pm

top-notch answer, exactly the detail ive been wanting to know. some problems though:

biggest one:

Daniferrito wrote:
If the population growth is higher (the mutation made the population grow more), it is considered a good mutation, and it stays. If it is lower, it is a bad mutation, we reject it and do another random mutation.

the vast majority of mutations dont do anything in real life. most of those that do decrease fitness. for these reasons, that isnt in any way a realistic model, and exactly the kind of false evolution stereotype that propagates misunderstandings of how evolution takes place. i think we should definitely avoid this unless you want to miseducate people.

This is what I propose:

1) creature chosen for mutation by whatever method you like
2) random genome parameter selected to mutate
3) random increase or decrease of this parameter
4) depending on the genome parameter modified, increase or decrease one of the population parameters for the species (say were using Seregon's split-parameter version of Lotka-Volterra, if the speed of travel is increased by lengthening of legs, which youd test by doing just one quick simulation to measure running speed, then youd increase one of the parameters that make up the overall efficiency of predator-prey-encounter conversion to predator-individuals, like the probability of hunt success)
5) run population dynamics
6) land player on planet
7) probability of creature appearance based on number from population dynamics (in some way i havnt decided on, also based on area of biome and another pop. parameter of distribution)

where a creature has two sets of internal instructions: its individual genome (which should be its neural network structure as well as body by the way) and the species 'populome' - its set of population dynamics parameters. depending on where the players is, the game can then switch between agent-based evolution and auto-evo.

I really have to go now. will be back.

Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 6:04 pm

Thanks for the excellent post, hypox
Quote :
the vast majority of mutations dont do anything in real life. most of those that do decrease fitness. for these reasons, that isnt in any way a realistic model, and exactly the kind of false evolution stereotype that propagates misunderstandings of how evolution takes place. i think we should definitely avoid this unless you want to miseducate people.
We're well aware of this, but running evolution through evolving the population as a whole rather than mutating individuals is how we've been going because it's simpler. The vast majority of mutations do nothing because they don't change the phenotype- they occur either in Noncoding DNA or don't affect the protein they code for to a high degree. We're cutting out the molecular middlemen here and making sure every mutation we try is making some difference. Does that make sense?

I really wanted to stick to Darwinian processes as much as possible, but it's going to be computationally too expensive to run them. That's why I wrote the concept to exclude the individual and modify the population in the biome- it's the end result of natural selection. It's not a perfect system, but it doesn't have to be. We need creatures to appear like they're evolving through selection. Whether they do or not is of no importance to gameplay.
Back to top Go down
untrustedlife
Regular
untrustedlife


Posts : 252
Reputation : 19
Join date : 2013-03-26
Location : [Classified]

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyThu May 23, 2013 10:40 pm

Hypo, you say you are a programmer so you should understand that this system will cause processing issues.
This is why auto-evo is the best choice right now.Note that all species will be evolving.

I have wrote evolution simulators before and once you get to a point it is just too hard for the computer to process. We want to keep the frame-rate high on this. (if possible).
It is better to loop through all species (each species as a whole) then it is to loop through every single member. (or in this case have a bunch of different creatures swapping genes at the same time)
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 5:22 am

its clear that neither you nor ~sciocont read the rest of my post after that paragraph. i was not suggesting agent-based evo at all.
Back to top Go down
Daniferrito
Experienced
Daniferrito


Posts : 726
Reputation : 70
Join date : 2012-10-10
Age : 29
Location : Spain

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 6:22 am

hypoxanthine wrote:
the vast majority of mutations dont do anything in real life.

Then we can ignore all of that mutations. If something has no observable consequences we can just get rid of it. If something can be abstracted without losing too much accuracy, we can just abstract it. For example, a car:

A car's motor just makes the wheels spin, which makes the car move forward if the wheels are in contact with the floor. Most simulations just abstract it to that level: if the car is in contact with the ground, accelerate it forward. The real reason for movement is that wheels are spinning. We could simulate to that level, where the motor makes the wheels spin, which in turn moves the car, but the end-result will be quite similar, in exchange of increased computing cost.

But the wheels are spining for a reason. The explosions inside the internal combustion engine are moving the pistons up and down, which through a set of mechanisms make the wheels spin. We could simulate that as well, but while the complexity of the simulation has gone up by a lot, we have barelly won anything in the end result. But why are the pistons moving? We would have to simulate particle physics to simulate how the increase of volume makes the pistons move. Why is the volume getting bigger? Now we have to simulate chemistry, then nuclear physics,...

At the end, we would have an hyperrealistic model of a car that absolutelly no computer can run, but the end result would be the same: press a key, the car moves forward. So we should just simplify it.

hypoxanthine wrote:
A long list of steps

I dont really get you there. Either you are sugesting mutating the whole specie, which would be the same of my post but without checking that the mutations actually make the species more fit, or you are sugesting mutating individuals/small populations groups and let the system do the "only the fittest survive" to trim down non beneficial evolutions.

In the first case, species wont evolve. As most of the possible mutations are bad (IRL, we will have to see how that works in the game) species will just evolve to stupid shapes. Maybe one lucky one will have mostly good mutations because of RNG, but thats it.

In the second case, you have a similar situation. Some creatures will evolve stupidly, while other "lucky" ones will make sense.

On both cases, you would need a quite big amount of cases in order for that lucky ones to be a substantial number, so we can have any kind of biodiversity. And we alredy agreed on that such a big amount of instances would be too much for the game.
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 7:09 am

if you want to do it that way then, by that logic we should do it like this (which is kind of like yours but looking at it from the other side):

1) select rand species to mutate
2) select rand popdyn parameter and increase by small rand amount
3) each popdyn parameter change has a genomic interpretation. if you split the parameters up more, youll eventually get things like 'speed, stealth, etc.' so if you'd just increased the speed popdyn parameter for example, this would change the leg randomly, then run a simulation to determine if speed had increased and then hill-climb until it actually has. stealth? no simulation needed here probably - hill-climb to a set colour for the particular biome (simplistic i know). you can imagine what else there would be.

neither yours or this are too good in my opinion. imagine a predator mutates and is now much better at hunting. unless the great random mutates the prey in time, theres a significant danger of extinction. this usually happens IRL with invasive species and so on (notwithstanding sentients). the sudden spike in fitness would basically be equivalent to a new super predator arriving. i think we would have to actually run a simulation though to see how much of a problem this would be. a good fix for this might be to weight the probabilities of mutation for a species by its current population count (smaller population => greater selection pressures => mutants are selected for more strongly on an agent level => mutant allele frequency increases much more quickly on population level => so on population level, increase the mutation rate which by the suggested algorithms isnt really a mutation rate but the rate of fitness increase instead so it works here)

also, concerning your 'stick a predator with its prey and see how it does' simulation, how would you do that? if each predator has preferred prey, how is this preference decided for each predator? If you plan to stick your predator with any old prey, that will obviously be unreliable because it could be a really crappy prey which by chance hasnt evolved much, and in any case you wouldnt be taking into account environmental variables and scenarios. ok, so you now run many simulations each with random conditions and prey and take a rate of success and therefore fitness. is finding food all there is to fitness? nope, if the oceans are warming up a fat lot of good sharper teeth will do you if you arent changing something else to deal with it.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 10:15 am

It was never suggested that finding food was the only component of fitness, that was just the example given. We're not idiots.
Quote :
for example putting the creature and one of its predators (or prey) in a simplified environment

Quote :
how would you do that? if each predator has preferred prey, how is this preference decided for each predator? If you plan to stick your predator with any old prey, that will obviously be unreliable because it could be a really crappy prey which by chance hasnt evolved much,
In our food web model, an organism eats anythng that its digestive system can process, and anything it can get a hold of. So for any animal, we'd test a mutation against how well it can stay away from predators and how well it can get a hold of whatever it eats. An increase in escape from any predator (so long as it doesn't come with more serious negative increases) or the ability to obtain any food (again, barring a net negative) would count as a positive mutation. I realize that this is not specific, but it's not too hard to see that we could whittle down your ability to escape and ability to obtain food to a few key mutation areas (speed, comoflague, mass, sensory acuity, etc)
Quote :
2) select rand popdyn parameter and increase by small rand amount
3) each popdyn parameter change has a genomic interpretation.
This is certainly an interesting idea, and I think it solves the testing problem somewhat because popdyn changes can be charted to a list of possible parameter changes (such as speed, weight, etc) which can then be charted to possible mutations. In this way, instead of changing the form of an organism and figuring out the downstream effects, we change the properties of the organism and then mutate the form to reflect that. It gives us a lot more control over the form of the organism and thus an extra layer of insulation against the "ugly creatures" problem.

One interpretation of your popdyn parameter change is to simply boost the population (in the next generation) of the individual selected for mutation by some multiplier (5% or something, we can tinker with it based on the orgs population as a fraction of the community (biome) population) and then find a parameter change that might increase population by that amount. One problem I see with this is that, unless we have many different popdyn parameters for each species, mutations will be more or less arbitrary. Of course, if we're modeling every meaningful two-species interaction, then we need only add the multiplier to one of these parameters and then we have a more specific needed mutation.

I certainly do read your posts.
Back to top Go down
scorpion268
Newcomer



Posts : 18
Reputation : -2
Join date : 2013-05-11
Location : Waco, Texas, us

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 11:23 am

there is another way to work this problem out with a more realistic result.

1. select a random organism to mutate
2. randomly mutate two organs (or other) in said organism (these can either harm or benefit organism, it does not matter, the only required part to this is at least one be beneficial.
3. run simulator with both mutations added multiple times.
4. take results and put successes out of a whole of the simulation. (delete if success is 0 out of total and restart, unless of course you wish to keep it for an extinction)
5.depending on how they do in said simulation will determine the overall population change.
6. back in the environment the results will be reflected by how the population changes.

so to give an example, say we select a population of neon tetras to evolve. the neon tetras are fast river fish with rudimentary camouflage and communication techniques using reflective scales down the length of its body. so we will take the speed and the camouflage and increase camouflage and decrease speed for a swimming technique that saves energy. so out of 10 test, 3 of them it was not found based on the the camouflage and it survived 4 of the test where it was found. so it has a 70% survival rate, since its last one was 60%, the species now has a low natural increase rate of 10%. a high natural increase would be along the lines of 30-40%. this works two ways however because as you are testing the neon tetra, you are also testing the predator, an oscar cichlid, who is also going through its mutations test against he neons as well as two other prey such as guppies and apistogrammas.
in return however the oscar must also test its own survival skills in a similar test against an arapaima.

Back to top Go down
Daniferrito
Experienced
Daniferrito


Posts : 726
Reputation : 70
Join date : 2012-10-10
Age : 29
Location : Spain

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 12:50 pm

Actually, i dont think selecting a random parameted to addjust would suffice. Modifying any part of an organism has usually more than one parameter affected, which usually is the energy it takes to create a new creature (as it either became more or less complex or big) and another parameter depending on the specific part.

On top of that, increasing any one parameter is not the only way of increasing fitness. In some cases, making a change that gets you killed a few more times can be offset by the fact that now you can have many more offspring.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 1:15 pm

Daniferrito wrote:
Actually, i dont think selecting a random parameted to addjust would suffice. Modifying any part of an organism has usually more than one parameter affected, which usually is the energy it takes to create a new creature (as it either became more or less complex or big) and another parameter depending on the specific part.

On top of that, increasing any one parameter is not the only way of increasing fitness. In some cases, making a change that gets you killed a few more times can be offset by the fact that now you can have many more offspring.
The population of one generation helps decide the population of the next, so I think that change would necessarily mean that the # of offspring parameter changes, which decreases overall fitness but adds to the population of the next generation. Interesting.
Your first paragraph is completely valid though, that is a huge problem with a backwards mutation selection system.
Back to top Go down
hypoxanthine
Newcomer
hypoxanthine


Posts : 25
Reputation : 0
Join date : 2013-05-21
Age : 28

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 3:57 pm

if your worried about then why not have associated populome (bugger this im coining this term now) changes for each genome change, or even simpler still, instead of having just one genomic interpretation of a populome change, have more than one associated genome change.

e.g. populome change: speed increased => out of possible genome changes for this event: longer legs selected (then sim to ensure this actually does increase speed). => genome change: more energy required for movement etc.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 EmptyFri May 24, 2013 4:10 pm

hypoxanthine wrote:
if your worried about then why not have associated populome (bugger this im coining this term now) changes for each genome change, or even simpler still, instead of having just one genomic interpretation of a populome change, have more than one associated genome change.

e.g. populome change: speed increased => out of possible genome changes for this event: longer legs selected (then sim to ensure this actually does increase speed). => genome change: more energy required for movement etc.
That's what I was suggesting. A change in speed is the actual number that changes, and the physical implementation can be handled either by a change in leg length, a change in the strength of the leg muscles, a more flexible spine. This should mean that the data for the organism's abilities is stored separately from the data used for its physical model and AI behavior, but the two read and influence each other in the evolution process.
Back to top Go down
Sponsored content





Population dynamics - Page 2 Empty
PostSubject: Re: Population dynamics   Population dynamics - Page 2 Empty

Back to top Go down
 
Population dynamics
Back to top 
Page 2 of 4Go to page : Previous  1, 2, 3, 4  Next
 Similar topics
-
» Population dynamics prototype
» Natural Population Growth Simulation/Prototype

Permissions in this forum:You cannot reply to topics in this forum
Thrive Game Development :: Development :: Design :: Evolution-
Jump to: