apgsearch

From LifeWiki
Jump to navigation Jump to search

The Ash Pattern Generator Search program, more commonly known as apgsearch, is an automated search program created by Adam P. Goucher. It generates 16x16 soups and runs them until stabilization, recording any resulting still lifes, oscillators, spaceships, periodic linear infinite growth patterns, and "unusual growth" patterns. Version 1.x and later upload the results to the online database Catagolue.

Versions

Python versions

Two versions of apgsearch, versions 0.x and 1.x, were written in Python for use in Golly.

Version 0.x

apgsearch v0.x was the initial version of the script, first published on September 8, 2014. When running the script, the user is first prompted to enter the number of soups to be searched, the rule under which to search, and the initial seed for soup generation. The script proceeds to search soups in sets of 100 until either the specified number of soups has been exceeded, or the user stops the search by pressing <q>. After the search finishes, Golly opens an HTML window which displays the results.[1] Aidan F. Pierce modified this version to allow soup-searching non-totalistic Life-like cellular automata, and made a later modification to allow the results to be uploaded to Catagolue.

Version 1.x

apgsearch v1.x was first released on February 20, 2015. The main improvements from version 0.x are the ability to search symmetrical soups and the periodic uploading of results to Catagolue.[2] apgsearch 1.x supports a variety of different symmetries.

C++ versions

Two versions of apgsearch, versions 2.x and 3.x, were written in C++. These versions are much faster, and are intended to be run from the command line of a Unix shell.

Version 2.x

apgsearch v2.x, codenamed apgnano, was first published on July 19, 2015 and released onto the conwaylife.com forums on July 28. It uses a bespoke algorithm called Life128, written in assembly language for speed, and can utilize both the SSE2 and AVX1 instructions sets on x86_64 CPUs. It can only run searches under asymmetric Life.[3]

Version 3.x

apgsearch v3.x, codenamed apgmera, was first published on March 3, 2016 and released onto the conwaylife.com forums on March 19. It uses an algorithm called ulife, and unlike version 2.x, it supports arbitary outer-totalistic rules, as well as the full range of symmetries from apgsearch 1.1. It can use the AVX2 instruction set on x86_64 CPUs if available.

Although the main program is written in C++, version 3.x contains a shell script and a Python file to generate assembly code for different rules and symmetries.[4]

Version 4.x

apgsearch v4.x, codenamed apgmera v4.0, will probably be able to support B0 rules and Larger than Life rules with a range of up to 7; support for isotropic non-totalistic rules is planned for a later 4.x release. It uses a new algorithm called vlife, based on HashLife.[5]

apgsearch and Catagolue may eventually be able to search and simulate Generations rules (without B0),[6] although this has not been explicitly confirmed for 4.x.

See also

References

External links