Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - jknilinux

Pages: [1] 2 3 ... 29
Suggestions / Hyperspeed Mode
« on: February 19, 2010, 01:11:57 PM »
Wonderful! I probably wouldn't have had time to work on it anyway just yet.

Off Topic / anime
« on: February 18, 2010, 09:30:27 PM »
So, how many of us like anime/manga?

Suggestions / Hyperspeed Mode
« on: February 18, 2010, 08:34:34 PM »
I uh, *ahem... dislike... VB6.

What I meant was once everything but the physics engine is complete, it could be easy to just put in a custom one.... So I'll probably work on it once you're close to finishing DB3.

Suggestions / Hyperspeed Mode
« on: February 18, 2010, 04:41:22 PM »
How easy would it be to just replace the physics engine of DB3? Changed physics is the main idea behind this, I don't think it requires a completely new project...

Suggestions / Hyperspeed Mode
« on: February 18, 2010, 01:53:30 PM »
Would it be best for me to begin with DB or E 4.0 as a base, or start completely from scratch? Or, alternatively, I could use DB3 as a base.

Suggestions / Hyperspeed Mode
« on: February 17, 2010, 11:04:57 PM »
Quote from: Houshalter
@jknilinux, awesome idea, i don't know how you could program it but if you did it would be awesome. You can defeat the whole speed of light thing just by having the code execute through the entire bot at once, not one cell at a time. I like the idea of bots changing their shape. You could have glider gun bots just by forming a glider shape and filling it with cells. Optimally you could have each cell in the bot have a state. Eg, wether that cell was counted as dead or alive by the simulator. Then each cell change the state of any or all of the eight squares around it each cycle. Bots would also be able to grow new cells in the same way, and any cells unconnected from the main body would die. Also any cells not connected to a group of cells of a certain size (say 100) would die, so reproduction would just be growing a body segment large enough and detaching it. They would be a pain to program manually so maybe some kind of visual programming interface where you could define what each cell should do each cycle? That would be a pain to program in and of itself but it might be worth it.

Yup, that's the plan!  The bot is composed of multiple cells, but the cells don't each execute the code themselves, it's the whole organism acting as a single cell that executes the code. Each cell would be better described as a molecule, and a single-celled organism is a large collection of these molecules.

But I'm gonna try to start with a simple version first... maybe I should use DB or E 4.0 as a base, instead of making it from scratch or combining the two... what do you think nums?

Ofc, This is one difficult undertaking... and school is driving me CRAZYY!!!! But I'll try to put in as much work as I can. Expect development to be slow, but it might actually be here sooner than DB3 since CAs are far easier to program than building a physics engine from scratch.

Suggestions / Hyperspeed Mode
« on: February 17, 2010, 09:12:57 PM »
How many bodies does it take for a physics approach to be faster than a CA? Also, are you referring to a very complex pattern in a CS versus few bodies in the large sim? If you don't want to explain it, maybe you could give me a keyword to search on google/wiki? Thanks!

BTW did my explanation of the possible implementation make any sense?

Also, thanks for putting up with all my annoying questions, I swear I'm almost done!

Suggestions / Hyperspeed Mode
« on: February 17, 2010, 06:34:43 PM »
OK, so here's a port of DB I'm thinking of:

a 2D grid running a cellular automata and, using the hashlife algorithm, will run at (with conservative estimates) 100 cps

A third dimension contains the actual bots and their DNA, with no totalistic cellular automata requirements. However, the bots move and interact in the cellular automata dimension. It's not so much a third dimension as a parallel second dimension.

Bots are, by default, a large cluster of cells (say, 100), but can change their shape and size to anything possible, regardless of if the shape is viable in the rules of the cellular automata, because any shape a bot takes on is stable

The speed of light is, somehow, fast enough compared to the bots DNA execution to be realistic. For example, let's assume we have a plant like A. minimalis that has a very small genome. Once the DNA has been assembled/compiled, 10 cycles passed by in the sim. So, the bots' DNA is executed once every 10 cycles. A more advanced bot, like seasnake, might take 100 cycles to finish assembling, at which point the bot will finally execute the DNA. Or, all DNA is executed every 100 cycles. There are many ways to speed up the speed of light compared to the bots, without a performance penalty.

Bots gain energy by "eating" cells

Bots can create structures out of cells. For example, an herbivore might create spaceships and fire them at still-lifes. The resulting chaos creates many new cells for it to feed on. Or, a bot firing a spaceship at an herbivore causes a larger spaceship to bounce back, similar to the shooting method we currently use in DB.

One important difference between this and evolve 4.0 is that the bots live in a much more "analog" world; the bots cannot occupy single cells, but must occupy at least, say, several hundred. I think one of the major drawbacks with E 4.0 is that most bots were made up of just dozens of cells.

Basically, if you want it summarized in a single sentence, it'll combine the interesting, analog environment of DB with the speed of a CA.

I'm wondering if you think this is a viable project, and if it will fail like E 4.0 (last I heard, it was abandoned). How difficult is this? How difficult is it to merge completely different projects, such as DB and E 4.0, into a single program? Why doesn't evolve 4.0 run at 1000 cps?

Suggestions / Hyperspeed Mode
« on: February 16, 2010, 10:46:51 PM »
Quote from: Numsgil
Speed of light in a CA is quite slow.

What I meant is, if it won't have a performance impact since we're using the hashlife algorithm, the only problem will be for the bots. And if the bots' DNA execution runs at a similar rate to the speed of light, it won't affect the bots either. Remember, these sims run into quadrillions and quintillions of cycles quickly, so long as you use hashlife. If anything, the DNA execution might not be able to keep up with the speed of light in the sim. Alternatively, we could execute the bot's DNA every, say, 10 cycles instead of every cycle. That way the speed of light will be much faster for the bots.

Sorry Nums, I hope we're not annoying you 0:D

Suggestions / Hyperspeed Mode
« on: February 16, 2010, 06:16:02 PM »
Quote from: Numsgil
The speed of light thing... the problem is that it's really slow.

A CA based Darwinbots would undoubtedly work, with a bit of tweaking and the like, but I'm just really not a fan of CA.

Do you mean slow in the real world, for us? Or for the bots?

Suggestions / Hyperspeed Mode
« on: February 15, 2010, 11:43:50 AM »
Actually, I don't see a problem with the speed-of-light thing... Having a speed of light makes the sim more realistic, and it won't have a performance penalty assuming we use the hashlife algorithm.

Also, I'm saying that a chaotic environment will be too difficult for a bot to evolve in. They won't get consumed by the CA, since their physical implementation is not bound by the regular CA rules. It's just that you can't evolve consistent behaviour when your environment is too chaotic... we still need still-lifes and consistent moving objects for the bots to interact with.

Numsgil, any input?

Suggestions / Hyperspeed Mode
« on: February 14, 2010, 10:53:13 AM »
Quote from: Houshalter
Space ships should be easy to form since they are so essential to the enviroment. For that matter there should be lots of possible spaceships, not just one or two. Also there should deffinitely be an element of randomness in the sim. How about a cell that changes the states of the cells around it, but is unpredictable of when it will do this and what cells it will change when it does. Universal turing machines should be simpler to build in this sim, maybe there can be logic gate type cells. Also, there could be a way to make a replicating pattern in CGoL. Get an Artificial intelligence like Eurisko to design it.

I mentioned above that there is no known self-replicating pattern in GoL. Also, there is more than enough randomness in current CA rules for interesting things to happen. And remember, we're not looking for something that produces infinite novelty, it needs to settle into a steady state so it provides a decent environment for bots to evolve in.

Bugs and fixes / Speciation window?
« on: February 13, 2010, 11:18:06 AM »

Suggestions / Hyperspeed Mode
« on: February 13, 2010, 11:14:31 AM »
Actually, better yet, we should define "interesting behaviour"... there might be some miscommunication here.

I'm referring to any CA where a sort of "physics" develops, similar to the physics required for DB, where moving and stationary objects arise. I'm not suggesting finding a CA with fully self-replicating entities capable of evolution, I'm suggesting just finding a CA to provide a habitat for the bots. I was thinking the bots could be a sort of "black hole" of, say, 100 cells arranged in a circle. According to their DNA, they can change their shape to anything they want, and add or subtract cells from themselves. Any CA entity that is under it, such as a glider that hits it, disappears. Consuming cells of a certain state, say the "dying" cells of Brian's Brain, gives energy. I'm suggesting using dieing cells as energy since, in brian's brain, they indicate novel patterns emerging. And, of course, bots can shoot gliders and excrete still-lifes/oscillators.


Interesting side note: using CA physics eliminates many physics problems we were trying to solve before. For example, since spaceships (aka photons) are so common in brian's brain, plants can easily evolve as stationary bots waiting for spaceships, for example, coming from the top of the screen. Instantly, shadows and other phenomena similar to real-life occur spontaneously, without the need for ray-casting. This is the sort of spontaneously emerging physics I was referring to. Of course, there's gonna need to be some way to feed off of other bots, which I'm not sure of.

All in all, I think a CA-based implementation of DB is much more elegant than our current method of programming in the physics by hand. The goal of DB, after all, is for order and novelty to develop out of chaos. Not to mention that it'll be faster.



1: expand size into a straight line.                                                                                 //maximize surface area for absorbing spaceships falling from above
2: for each cell:
     1: if hit by photon, then grow upward rand cells                                                        //grow upward, forming plant-like structures, avoiding shadows
3: cond energy>5000, delete 5 middle cells                                                                  //reproduce
4: cond energy<500, delete cells until energy>500 or bot is less than 100 cells long.        //eat body if energy too low

For animals, you can just fire spaceships at still-lifes, and consume the ensuing chaos.


The best CA rule I've seen is known as starwars, based off of brian's brain but less chaotic, yet more interesting than GoL. Remember, GoL is just the most studied CA, not necessarily the best. Starwars forms interesting growing fractal structures, lots of spaceships, and highly ordered still-lifes with a constantly growing and changing exterior.

Brian's brain is also interesting, but it is really chaotic. Random configurations don't die out after a very long tie, so plants will have it too easy here.

Suggestions / Hyperspeed Mode
« on: February 13, 2010, 11:02:59 AM »
Quote from: Houshalter
Has anyone ever created a self replicating pattern in CGoL that isn't completely destroyed by a random mutations. For that matter has anyone ever created a self replicating pattern ever? And what kinds of interesting behaviour are you talking about. Anytime I run the game of life, my starting patterns sizzle out into a bunch of stills and oscillators, most of which are not interesting. I think in order to create any of the interesting patterns your describing, you need to change the rules.

nope, no-one has ever created a self-replicationg CA for the GoL, though there are many CAs with self-replication. There's also a CA that has a known universal constructor, which when programmed with the right code, can replicate itself.

And define "interesting patterns"...

Pages: [1] 2 3 ... 29