Author Topic: Hyperspeed Mode  (Read 22256 times)

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #30 on: February 02, 2010, 11:39:13 AM »
uh, nums? is something wrong?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hyperspeed Mode
« Reply #31 on: February 02, 2010, 01:58:52 PM »
Oh, sorry.

Like I described above, you can just define a bot as a group of adjacent cells or a single cell, and query near by cells for other bots for vision.  And velocity ends up just being to move the cell one left, or right, or whatever.  Voila, a CA that meshes nicely with current DB rules.

If you're thinking more in terms of embedding a bot's DNA in to a glider in GoL or something along those lines, then yeah, much harder.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #32 on: February 02, 2010, 07:52:51 PM »
but if we make a bot a huge cluster of cells (say... 100), then the universe would be much more analog in nature for the bot. In fact, the larger you make the bot in comparison to single cells in the grid, the more analog it becomes. You just need to find a compromise between speed and detail.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hyperspeed Mode
« Reply #33 on: February 02, 2010, 09:08:40 PM »
Quote from: jknilinux
but if we make a bot a huge cluster of cells (say... 100), then the universe would be much more analog in nature for the bot. In fact, the larger you make the bot in comparison to single cells in the grid, the more analog it becomes. You just need to find a compromise between speed and detail.

Yes, that's very true.

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
Hyperspeed Mode
« Reply #34 on: February 02, 2010, 10:13:14 PM »
Quote
Maybe it's that by CA, I mean an automata obeying very simple mathematical rules, such as those used in conway's game of life. Here, a bot, and even shots, are far too complex to be simulated by single cells. The simplest moving pattern in GoL is 5 cells in size, and a replicating pattern has not yet been discovered, probably because it is suspected to be thousands, if not millions of cells in size.

What you're describing sounds like Evolve 4.0, which does use discrete cells but is not a cellular automaton.


Basically, what I'm suggesting is not programming in any sort of physics, and letting the physics itself emerge out of the cellular automata. CGoL didn't have any physics programmed into it, flying and stationary objects emerged naturally.

CGoL is pretty well studied, but many CA rulesets aren't. My idea is to take a CA, say CGoL, and create a massive, massive random starting seed, as large as is possible. Possibly hundreds of thousands, if not millions, or even billions of cells. Maybe use some kind of compression software. The more rules and states, the more interesting the results will be. Also make sure to have random mutations, like every so often the simulator screws up on purpose. Once you have something so massive you can start to have interesting results. Imagine an outsider examining our own universe, but only by examining several atoms interacting with each other in empty space. They would know nothing of galaxys and planets and life, or any other complex structures in our universe because they only examined a small part of it. Anyways this way you don't have to do the work of programing db into a CA because (hopefully) the rules you started with will allow for a unique kind of life.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #35 on: February 02, 2010, 10:26:24 PM »
Quote from: Numsgil
Quote from: jknilinux
but if we make a bot a huge cluster of cells (say... 100), then the universe would be much more analog in nature for the bot. In fact, the larger you make the bot in comparison to single cells in the grid, the more analog it becomes. You just need to find a compromise between speed and detail.

Yes, that's very true.

So, is it possible to use the hashlife algorithm on this implementation?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hyperspeed Mode
« Reply #36 on: February 03, 2010, 12:35:35 AM »
Quote from: Houshalter
Quote
Maybe it's that by CA, I mean an automata obeying very simple mathematical rules, such as those used in conway's game of life. Here, a bot, and even shots, are far too complex to be simulated by single cells. The simplest moving pattern in GoL is 5 cells in size, and a replicating pattern has not yet been discovered, probably because it is suspected to be thousands, if not millions of cells in size.

What you're describing sounds like Evolve 4.0, which does use discrete cells but is not a cellular automaton.


Basically, what I'm suggesting is not programming in any sort of physics, and letting the physics itself emerge out of the cellular automata. CGoL didn't have any physics programmed into it, flying and stationary objects emerged naturally.

CGoL is pretty well studied, but many CA rulesets aren't. My idea is to take a CA, say CGoL, and create a massive, massive random starting seed, as large as is possible. Possibly hundreds of thousands, if not millions, or even billions of cells. Maybe use some kind of compression software. The more rules and states, the more interesting the results will be. Also make sure to have random mutations, like every so often the simulator screws up on purpose. Once you have something so massive you can start to have interesting results. Imagine an outsider examining our own universe, but only by examining several atoms interacting with each other in empty space. They would know nothing of galaxys and planets and life, or any other complex structures in our universe because they only examined a small part of it. Anyways this way you don't have to do the work of programing db into a CA because (hopefully) the rules you started with will allow for a unique kind of life.

You could do this with GoL or one of the other so called "class 4" CAs, though it's not really consistent with Darwinbots.  So it would be a separate thing altogether.

I would, though, state the "no free lunch" maxim here.  No matter how good your hashing, the resulting CA is not going to be able to provide more processing power than the machine it's being run on.

Quote from: jknilinux
Quote from: Numsgil
Quote from: jknilinux
but if we make a bot a huge cluster of cells (say... 100), then the universe would be much more analog in nature for the bot. In fact, the larger you make the bot in comparison to single cells in the grid, the more analog it becomes. You just need to find a compromise between speed and detail.

Yes, that's very true.

So, is it possible to use the hashlife algorithm on this implementation?

Yes, but I imagine the cache thrashing it would cause on modern processors would make it less useful than it sounds.  Generally speaking in the time it takes to read from main memory a processor could process lots of instructions.  To the point where it's often easier to calculate something instead of looking it up in a large table.  In the case of hashlife, it's taking advantage of the fact that the neighborhood is quite small, but for something where you have a larger neighborhood it's usefulness quickly drops off.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #37 on: February 06, 2010, 04:00:17 PM »
The neighborhood doesn't necessarily have to be larger... right?
« Last Edit: February 07, 2010, 12:56:49 PM by jknilinux »

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #38 on: February 12, 2010, 10:31:10 AM »
nums, what do you mean by having a larger neighborhood? Does it necessarily have to be larger? why?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hyperspeed Mode
« Reply #39 on: February 12, 2010, 01:28:05 PM »
It doesn't have to be larger.  But a smaller neighborhood necessarily limits the interactions between cells.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #40 on: February 12, 2010, 03:54:43 PM »
This is in regards to totalistic CAs, right? I don't see any limitations of having a small neighborhood of cells that directly in contact with the center cell...
What sort of limitations are you thinking of?

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #41 on: February 12, 2010, 04:56:53 PM »
Something I found interesting:

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hyperspeed Mode
« Reply #42 on: February 12, 2010, 08:36:31 PM »
Quote from: jknilinux
This is in regards to totalistic CAs, right? I don't see any limitations of having a small neighborhood of cells that directly in contact with the center cell...
What sort of limitations are you thinking of?

What I mean is that the size of the neighborhood creates a very well defined "horizon".  Not just a horizon, a "speed of light" type limit on the speed of information transfer from one cell to another, distant one.  At the neighborhood sizes that makes something like hashlife useful, I don't think you're going to find interesting behavior, at least not the sort that Darwinbots works with (interaction between two bots, usually).  Since at best bots would have to just sort of wander until they happen to be almost on top of another bot.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Hyperspeed Mode
« Reply #43 on: February 12, 2010, 09:39:44 PM »
Quote from: Numsgil
Quote from: jknilinux
This is in regards to totalistic CAs, right? I don't see any limitations of having a small neighborhood of cells that directly in contact with the center cell...
What sort of limitations are you thinking of?

What I mean is that the size of the neighborhood creates a very well defined "horizon".  Not just a horizon, a "speed of light" type limit on the speed of information transfer from one cell to another, distant one.  At the neighborhood sizes that makes something like hashlife useful, I don't think you're going to find interesting behavior, at least not the sort that Darwinbots works with (interaction between two bots, usually).  Since at best bots would have to just sort of wander until they happen to be almost on top of another bot.

Actually, totalistic CAs with small neighborhoods, such as CGoL, can have communication outside of the neighborhood of a single cell. For example, gliders can represent "photons", such that detecting a large amount of gliders will indicate the presence of a far-away object, etc...

Although this creates a fundamental limit on information transfer, this photon-based communication is actually somewhat more realistic than our current scheme. Also, the speed of light won't be a problem for simulation speed, assuming we use a hashlife-based algorithm.

And what do you mean by not finding interesting behaviour? Do you think the GoL does not exhibit interesting behaviour?

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
Hyperspeed Mode
« Reply #44 on: February 12, 2010, 11:42:42 PM »
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.