Pattern search idea: Fluff Relays
Posted: March 30th, 2013, 10:19 am
Here's an idea for a pattern search. I don't really have the time to do this search myself, but let me describe the general strategy, in case someone would like to take it up or comment on it.
3 steps:
1) Make a database of simple stable patterns (collections of still lifes, with less than N cells) which, when hit by a single glider, create another simple stable pattern (also of less than N cells) plus 1 or more escaping gliders. Let's call these "fluff", and imagine that we have built the database up to billions of rows.
2) Search the fluff catalog for cycles (for example, A --> B --> C --> A), ignoring glider inputs and outputs for now. Let's call these cycles "components". Imagine there are thousands of components.
3) Assemble components into glider relays. Some components will have a translation of (0, 0), making them good for constructing oscillators or guns; others will have other translations, for more interesting patterns. The nice thing about a glider relay is that you could control the period by spacing components farther apart.
Notes:
* In step 1, any fluff that translates to itself might be a small, stable reflector.
* It is possible this search will yield nothing, because although you can make the number of fluff entries explode exponentially by increasing the allowable complexity, the probability of being useful in a component plummets as that complexity increases, so you just don't get very many components, and those components are very hard to work with because they are picky in their glider paths. On the other hand, you don't know if you don't search.
* This search makes some simplifying assumptions. One is that useful fluff will take exactly 1 glider. There might be useful fluff that requires 2 or more gliders for input, but step 3 will be hard enough with single-glider transformations.
* The most interesting thing might be components that have translations other than (0, 0), especially the non-orthogonal or non-diagonal ones, since they could yield spaceships of unusual velocities.
* Anything built in this way would probably be easily glider-constructible.
3 steps:
1) Make a database of simple stable patterns (collections of still lifes, with less than N cells) which, when hit by a single glider, create another simple stable pattern (also of less than N cells) plus 1 or more escaping gliders. Let's call these "fluff", and imagine that we have built the database up to billions of rows.
2) Search the fluff catalog for cycles (for example, A --> B --> C --> A), ignoring glider inputs and outputs for now. Let's call these cycles "components". Imagine there are thousands of components.
3) Assemble components into glider relays. Some components will have a translation of (0, 0), making them good for constructing oscillators or guns; others will have other translations, for more interesting patterns. The nice thing about a glider relay is that you could control the period by spacing components farther apart.
Notes:
* In step 1, any fluff that translates to itself might be a small, stable reflector.
* It is possible this search will yield nothing, because although you can make the number of fluff entries explode exponentially by increasing the allowable complexity, the probability of being useful in a component plummets as that complexity increases, so you just don't get very many components, and those components are very hard to work with because they are picky in their glider paths. On the other hand, you don't know if you don't search.
* This search makes some simplifying assumptions. One is that useful fluff will take exactly 1 glider. There might be useful fluff that requires 2 or more gliders for input, but step 3 will be hard enough with single-glider transformations.
* The most interesting thing might be components that have translations other than (0, 0), especially the non-orthogonal or non-diagonal ones, since they could yield spaceships of unusual velocities.
* Anything built in this way would probably be easily glider-constructible.