Tutorials/Contributing to 5S

From LifeWiki
Jump to navigation Jump to search
Radiation.png This article is a stub. You can help LifeWiki by expanding it.

Do you want to find really cool spaceships in unexplored, alien rules? Well now you can!

What is 5S?

5S or SSSSS, which stands for "Smallest SpaceShips Supporting Specific Speeds", is a project which aims to find the smallest spaceship (in cell count) for every speed, as the name suggests. To do this, contributors mainly use two pieces of software: LLS and searchRule-matchPatt2.py. In this article, we will only go over matchPatt2.py, as a tutorial for LLS already exists and can be found here.

You can find the current collection on the wiki at LifeWiki:Smallest Spaceships Supporting Specific Speeds, The most up-to-date collections are LaundryPizza03's https://drive.google.com/drive/folders/18TeGhxuojV_uEyl__bH8XACz24e01MHl?usp=sharing and Amperes https://github.com/AforAmpere/sssss with Ampere's also having the most up to date code. GUYTU6J has a version of the main program that allows for periodic seed saving,and seperates oscillators, and ships into different files, but make sure to change line 356 to g.run(mingen) https://conwaylife.com/forums/viewtopic.php?f=11&t=2892&start=1200#p150958

searchRule-matchPatt2.py

Things You Will Need

To run searchRule-matchPatt2.py, you will need to download the following files:

  1. The latest version of Golly
  2. Python The current code works with the most recent version of python
  3. The rest of the files are at https://github.com/AforAmpere/sssss

Once you have downloaded those files, go ahead and put them in the same folder.

How to Use

First, you'll need to open Golly, as this script is made to run from within Golly.

Next, you'll need what's called the target pattern and a gen constraint, the way searchRule-matchPatt2.py works is by taking a target pattern and the gen constraint, running the target pattern for a number of gens (the gen constraint), getting the set of rules where the pattern evolves the same way for the number of gens, and then searching those rules for spaceships (or oscillators).

To input a target pattern, simply open or draw the target pattern in Golly. It is better if the target pattern is a spaceship, but other patterns can work alright as well. An example of a target pattern is this B-Heptomino spaceship:

x = 4, y = 3, rule = B3-cnqy4ejz5ekr6n8/S2-i3-ay4-ajkqw5-iqy6c7
bo$3o$ob2o!

You can find target patterns from the current 5S collection. Look for a small (3-10 cells, preferably 3) high-period ship. Or, look for B-Heptomino ships on the forums. B-Heptomino ships tend to give many results.

Once you have the target pattern, simply run searchRule-matchPatt2.py from within Golly, which you can do by going to Files -> Run script... in Golly. The script will ask you for a gen constraint; depending on the ship's period, the gen constraint could be anything less than the period. A good range for gen constraints is 15-20 gens, again, depending on the period of the ship.

searchRule-matchPatt2.py will (by default) create a text file named matchPatt2-test.txt in the same folder as all the other files which contains the results of your search.

Before You Search

Before you start searching for cool spaceships in alien rules, make sure that no one else has done the exact same search as you by reading the 5S forum thread. People there might specify the seed they used, which you can change. To change the seed, go to line 69 of searchRule-matchPatt2.py and just change the number there.

Picking Out Interesting Ships

Coming soon!