Register | Sign In


Understanding through Discussion


EvC Forum active members: 60 (9209 total)
3 online now:
Newest Member: Skylink
Post Volume: Total: 919,444 Year: 6,701/9,624 Month: 41/238 Week: 41/22 Day: 8/6 Hour: 0/1


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Percy's Alife Project
Parasomnium
Member
Posts: 2228
Joined: 07-15-2003


Message 6 of 63 (59882)
10-07-2003 9:31 AM
Reply to: Message 1 by Percy
10-06-2003 6:59 PM


Percipient,
If I may make a few suggestions: try to keep things simple at first, don't begin with a whole universe full of diverse complicated objects. Instead, prove the concept first, by creating a 'test tube' with a limited number of simple objects, then gradually increasing the number of parameters and the number and complexity of objects.
One of the cheapest ways of keeping the memory and processing demand in check is to give up the third dimension. An added bonus of that approach is that you need not worry about 3D representation on screen. You want to concentrate on the principles of A-life after all.
Also, I think you should not program too much behaviour; let some, if not most behaviour emerge on its own. First of all, it's much more interesting that way. And secondly, if you try to program all behaviour, you'll probably be tinkering with it endlessly and it'll never work quite the way you expected. Better just give the objects some properties and see how they interact. Let 'nature' run its course. You do need a certain minimum of algorithms of course, or nothing much would happen, but you should try to limit the algorithms to a set of generic 'laws of nature' rather than give specific, detailed descriptions of how things should behave.
I once made a graphical simulation of an enzymatic reaction. It had a cell with a cell wall, enzymes, nutrients and waste product. I tried to program the behaviour of the particles only to see that the waste product demolished the cell wall. Quite amusing, but not what I had in mind.
Some questions you should also consider:
  • Where do food objects come from? Does their supply run out?
  • What happens to waste objects? Do they eventually clog the whole system?
  • Can objects of one kind, when placed in a different context, become objects of another kind? For instance, can waste become food? Can cells?
  • Do cells die? Do they reproduce? Do they mutate?
I hope you don't think me too presumptious in telling you what to do. It's just what I would do in your shoes. Speaking of which:
"Before you criticize someone, walk a mile in their shoes. Then when you do criticize them, you'll be a mile away and have their shoes." - Anonymous.

This message is a reply to:
 Message 1 by Percy, posted 10-06-2003 6:59 PM Percy has replied

Replies to this message:
 Message 12 by Percy, posted 10-07-2003 12:15 PM Parasomnium has replied

  
Parasomnium
Member
Posts: 2228
Joined: 07-15-2003


Message 26 of 63 (60059)
10-08-2003 5:53 AM
Reply to: Message 12 by Percy
10-07-2003 12:15 PM


Hi Percy,
I'm pleasantly surprised that you're in the exact same situation I'm in: somewhere in the process of reading Emergence. Nice little book, contains some profound insights.
I'm still of the opinion you should give up 3D, and I'll back it up with some numbers. I'm certain you can do this yourself, but maybe you just haven't come around to doing it. It's revealing though.
Let's assume a conservative value for the time it takes to calculate one complete cycle of your universe: say one second. This is tediously slow and you would probably want a faster pace, but let's just see what this means. Let's further assume that you've got an incredibly powerful computer, that can calculate the new life situation of one grid unit in a nanosecond, takes another nanosecond per unit to calculate its 3D situation and yet another nanosecond to calculate its 2D representation. This means that you can calculate the new situation of a third of a billion units in the time alotted for a complete cycle. In a 3D universe, this means a grid of less than 700 units per axis. Well now, that's not the very large universe you envisioned, is it? And it gets worse: in reality, your computer isn't nearly as fast as I assumed in this example, so the number of units on an axis is going to drop dramatically. If your computer is slower by a factor of only 10, you end up with a good 450 units per axis. And if you'll be wanting a faster refresh rate, the number of units drops even futher.
Going back to the optimistic nanosecond-computer scenario above, let's see the effect of dropping the 3D requirement. You no longer lose a nanosecond on the 3D calculation, so now you can calculate half a billion units per cycle. In a 2D grid, this means well over 22,000 units on an axis. Still not the meganumber you'd like, but it's a hell of a lot more than 700.
Regarding complexity, I think you're overestimating the effect of 3D. The gain, if any, that you expect from the sheer fact of having more directions is completely bogged down by the greatly reduced number of units. Complexity is a matter of numbers. If more complexity is what you're after, you should go for larger numbers.
Of course, you can probably implement some clever tricks to cut down on the number of calculations, but I think that without dropping 3D, they may not help very much.
Now, for something more constructive: one of the tricks you might want to consider is an 'expanding universe'. What I mean by this is that the computer could keep track of the outer limits of the region that contains objects. In the beginning this region could be small and concentrated around a 'center of the universe'. The computer wouldn't have to bother with calculating the situation outside this region. As objects drift apart, the region to keep track of would slowly expand. This means that, as time goes by, the cycles would get progressively slower.
That's it for now. I don't have time to help you programming, but if I have new ideas, I'm perfectly willing to share them.
Cheers.

This message is a reply to:
 Message 12 by Percy, posted 10-07-2003 12:15 PM Percy has not replied

Replies to this message:
 Message 40 by Peter, posted 10-10-2003 7:11 AM Parasomnium 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