|Conducted by||Adam P. Goucher|
|Year(s)||2015 – 2018|
|Initial soup density||0.5[note 2]|
Catagolue[note 3] is an ongoing distributed census of naturally occurring ash objects conducted by Adam P. Goucher, started in late February 2015. The census is primarily focused on asymmetric soups in Conway's Life, but supports arbitrary outer-totalistic and non-totalistic rules and a variety of symmetries.[endpoint 1] Over 100 users have contributed to the census.
The results are obtained by evolving random soups of size 16×16 with density 0.5 in an infinite planar universe; as of February 9, 2019, at least 15,138,228,209,232 soups have been investigated by the census's participants, yielding a total of at least 330,680,301,229,741 objects of 144,781 distinct types. Submissions of new results (called "hauls") are subjected to both statistical tests and peer-review by other participants before being committed to the census.
Catagolue is primarily fed by apgsearch 4.x (apgluxe). Each resulting object is identified by apgsearch by its unique apgcode; the Catagolue website gives overviews over the various classes of objects found, and provides further information as well as sample soups for each object.[endpoint 2] A simple text-based interface for querying sample soups, including their owners, also exists.[endpoint 3]
- 1 History
- 2 Results in Conway's Game of Life
- 3 Other rules
- 4 Haul verification
- 5 Catagolue as a generic pattern inventory
- 6 Contributor engagement
- 7 Backups
- 8 Limitations
- 9 See also
- 10 Notes
- 11 Endpoints
- 12 References
- 13 External links
- Main article: History of Catagolue
Catagolue became operative on February 20, 2015. The B3/S23/C1 census reached a total of one trillion objects on April 24, 2015, ten trillion objects on September 2, 2015, 100 trillion objects on June 20, 2016, and 200 trillion objects on May 16, 2017.
Results in Conway's Game of Life
- Also see: apgsearch#Notable patterns
- Also see: Most common objects on Catagolue
The default rule/symmetry combination for apgsearch, B3/S23/C1, is by far the most popular census on Catagolue. As of February 9, 2019, at least 15,138,228,209,232 soups have been investigated by the census's participants, yielding a total of at least 330,680,301,229,741 objects. 144,781 distinct objects were identified, including:
- Still lifes:
- All still lifes up to 13 bits.
- 618 of the 619 14-bit still lifes.
- 1,316 of the 1,353 15-bit still lifes.
- 2,801 of the 3,286 16-bit still lifes.
- 5,055 of the 7,773 17-bit still lifes.
- 8,315 of the 19,044 18-bit still lifes.
- 11,592 of the 45,759 19-bit still lifes.
- 14,790 of the 112,243 20-bit still lifes.
- 16,692 of the 273,188 21-bit still lifes.
- 17,473 of the 672,172 22-bit still lifes.
- 15,753 of the 1,646,147 23-bit still lifes.
- 14,094 of the 4,051,732 24-bit still lifes.
- 10,512 of the 9,971,377 25-bit still lifes.
- 7,963 of the 24,619,307 26-bit still lifes.
- 5,333 of the 60,823,008 27-bit still lifes.
- 3,613 of the 150,613,157 28-bit still lifes.
- 2,153 of the 373,188,952 29-bit still lifes.
- 1,409 of the 926,068,847 30-bit still lifes.
- 665 of the 2,299,616,637 31-bit still lifes.
- 426 of the 5,716,948,683 32-bit still lifes.
- 213 33-bit still lifes.
- 154 34-bit still lifes.
- 61 35-bit still lifes.
- 50 36-bit still lifes.
- 20 37-bit still lifes.
- 17 38-bit still lifes.
- 4 39-bit still lifes.
- 13 40-bit still lifes.
- 3 41-bit still lifes.
- 5 42-bit still lifes.
- 1 asymmetric 45-bit still life (Cthulhu).
- 2 D2_+1-symmetric 46-bit still lifes (professor and an inflected variant of it).
- 1 D8_1-symmetric 56-bit still life (cloverleaf interchange).
- 2,500 period 2 oscillators (including phoenix 1 and skewed quad).
- 440 period 3 oscillators (including trice tongs, two eaters, and all three keys variants).
- 33 period 4 oscillators (including monogram and a stator variant of Gray counter).
- 14 period 5 oscillators (including Elkies' p5 and multiple stator variants of heart and Silver's p5).
- 8 period 6 oscillators.
- 9 period 8 oscillators (including Achim's p8, Tim Coe's p8 and smiley).
- 1 period 14 oscillator (tumbler).
- 23 period 15 oscillators.
- 2 period 24 oscillators (boring p24 and uninteresting p24).
- 42 period 30 oscillators (including Berger's p30 and symmetric queen-bee-shuttle 1).
- 6 period 46 oscillators.
- Long-lived patterns:[note 4]
- 2,857 methuselahs lasting between 25,000 and 25,999 generations.[note 5]
- 10,712 methuselahs lasting between 26,000 and 26,999 generations.
- 7,032 methuselahs lasting between 27,000 and 27,999 generations.
- 3,883 methuselahs lasting between 28,000 and 28,999 generations.
- 2,873 methuselahs lasting between 29,000 and 29,999 generations.
- 1,325 methuselahs lasting between 30,000 and 30,999 generations.
- 695 methuselahs lasting between 31,000 and 31,999 generations.
- 377 methuselahs lasting between 32,000 and 32,999 generations.
- 229 methuselahs lasting between 33,000 and 33,999 generations.
- 115 methuselahs lasting between 34,000 and 34,999 generations.
- 67 methuselahs lasting between 35,000 and 35,999 generations.
- 25 methuselahs lasting between 36,000 and 36,999 generations.
- 24 methuselahs lasting between 37,000 and 37,999 generations.
- 9 methuselahs lasting between 38,000 and 38,999 generations.
- 6 methuselahs lasting between 39,000 and 39,999 generations.
- 2 methuselahs lasting between 40,000 and 40,999 generations.
- 3 methuselahs lasting between 41,000 and 41,999 generations.
- 3 methuselahs lasting between 42,000 and 42,999 generations (including 42100M and 42883M).
- 1 methuselah lasting between 47,000 and 47,999 generations.
- 30,665 diehards lasting between 500 and 599 generations.
- 4,085 diehards lasting between 600 and 699 generations.
- 516 diehards lasting between 700 and 799 generations.
- 84 diehards lasting between 800 and 899 generations.
- 16 diehards lasting between 900 and 999 generations.
- 4 diehards lasting between 1,000 and 1,099 generations.
- 1 diehard lasting between 1,100 and 1,199 generations.
- Other patterns:
As of February 9, 2019, at least 3,862,612,198,335 soups have been investigated in higher symmetries[note 6] of B3/S23, yielding a combined total of at least 82,285,115,809,572 objects of 514,369 distinct types, including:[note 7]
- Still lifes:
- All still lifes up to 12 bits.
- 240 of the 240 13-bit still lifes.
- 611 of the 619 14-bit still lifes.
- 1,188 of the 1,353 15-bit still lifes.
- 2,254 of the 3,286 16-bit still lifes.
- 20 D8-symmetric 256-bit still lifes.
- 1 D8-symmetric 260-bit still life.
- 12 D8-symmetric 264-bit still lifes.
- 1 D8-symmetric 268-bit still life.
- 7 D8-symmetric 272-bit still lifes.
- 2 D8-symmetric 276-bit still lifes.
- 1 D8-symmetric 288-bit still life.
- 56,507 period 2 oscillators.
- 6,444 period 3 oscillators.
- 1,208 period 4 oscillators.
- 1,101 period 5 oscillators.
- 902 period 6 oscillators.
- 48 period 7 oscillators (including 38P7.2 and several C4_4-symmetric quadruple Burloaferimeter variants).
- 67 period 8 oscillators.
- 45 period 9 oscillators (including the worker bee, the snacker, and 68P9).
- 70 period 10 oscillators (including introvert, extrovert, 24P10 and two variants of 128P10.2).
- 33 period 11 oscillators (Achim's p11, several variants of Jason's p11, and several four-fold variants of 38P11.1).
- 4 period 12 oscillators (44P12.2 and a larger trivial oscillator).
- 1 period 13 oscillator (Beluchenko's p13).
- 2 period 14 oscillators (tumbler and 34P14.1).
- 445 period 15 oscillators (including Karel's p15 and 112P15).
- 4 period 16 oscillators (Achim's p16, Achim's other p16, Rich's p16, and 68P16).
- 1 period 18 oscillator (Four eaters hassling four bookends).
- 1 period 22 oscillator (48P22.1).
- 21 period 24 oscillators (including the p24 shuttle and dueling banjos).
- 1 period 27 oscillator (56P27).
- 2 period 28 oscillators (Karel's p28 and a p28 pre-pulsar-shuttle variant).
- 8 period 29 oscillators (seven variants of the p29 pre-pulsar-shuttle).
- 224 period 30 oscillators (including Eureka and three variants thereof).
- 1 period 31 oscillator (Merzenich's p31).
- 1 period 32 oscillator (68P32.1).
- 4 period 36 oscillators (including 22P36 and p36 shuttle).
- 2 period 37 oscillators (two variants of Beluchenko's p37).
- 7 period 40 oscillators (Beluchenko's p40, and three unnamed oscillators composed of figure eights and octagon IIs).
- 77 period 46 oscillators.
- 1 period 51 oscillator (Beluchenko's p51).
- 1 period 54 oscillator (a variant of the p54 shuttle).
- 4 period 60 oscillators.
- 1 period 64 oscillator (p64 thunderbird hassler).
- 13 period 120 oscillators (all of which are unnamed oscillators composed of figure eights and pentadecathlons).
- 2 period 138 oscillators (two variants of Gabriel's p138).
- 1 period 177 oscillator (Karel's p177).[note 8]
- 1 period 312 oscillator (a variant of 60P312).
- Long-lived patterns:[note 4]
- 117 methuselahs lasting between 25,000 and 25,999 generations.[note 5]
- 100 methuselahs lasting between 26,000 and 26,999 generations.
- 69 methuselahs lasting between 27,000 and 27,999 generations.
- 32 methuselahs lasting between 28,000 and 28,999 generations.
- 20 methuselahs lasting between 29,000 and 29,999 generations.
- 9 methuselahs lasting between 30,000 and 30,999 generations.
- 3 methuselahs lasting between 31,000 and 31,999 generations.
- 2 methuselahs lasting between 32,000 and 32,999 generations.
- 2 methuselahs lasting between 33,000 and 33,999 generations.
- 3 methuselahs lasting between 36,000 and 36,999 generations.
- 216,756 diehards lasting between 500 and 599 generations.
- 38,707 diehards lasting between 600 and 699 generations.
- 8,044 diehards lasting between 700 and 799 generations.
- 1,569 diehards lasting between 800 and 899 generations.
- 407 diehards lasting between 900 and 999 generations.
- 118 diehards lasting between 1,000 and 1,099 generations.
- 31 diehards lasting between 1,100 and 1,199 generations.
- 9 diehards lasting between 1,200 and 1,299 generations.
- 7 diehards lasting between 1,300 and 1,399 generations.
- 4 diehards lasting between 1,400 and 1,499 generations.
- Other patterns:
As of February 9, 2019, slow salvos have yielded a total of at least 556,856,180,742 objects of 2,667 distinct types, including:
- Still lifes:
- All still lifes up to 10 bits.
- 43 of the 46 11-bit still lifes.
- 96 of the 121 12-bit still lifes.
- 144 of the 240 13-bit still lifes.
- 254 of the 619 14-bit still lifes.
- 292 of the 1,353 15-bit still lifes.
- 323 of the 3,286 16-bit still lifes.
- 296 of the 7,773 17-bit still lifes.
- 284 of the 19,044 18-bit still lifes.
- 231 of the 45,759 19-bit still lifes.
- 207 of the 112,243 20-bit still lifes.
- 127 of the 273,188 21-bit still lifes.
- 126 of the 672,172 22-bit still lifes.
- 59 of the 1,646,147 23-bit still lifes.
- 34 of the 4,051,732 24-bit still lifes.
- 14 of the 9,971,377 25-bit still lifes.
- 14 of the 24,619,307 26-bit still lifes.
- 5 of the 60,823,008 27-bit still lifes.
- 6 of the 150,613,157 28-bit still lifes.
- 3 of the 926,068,847 30-bit still lifes.
- 1 of the 2,299,616,637 31-bit still lifes.
- 2 of the 5,716,948,683 32-bit still lifes.
- 1 40-bit still life.
- Main article: List of rules investigated on Catagolue
Catagolue also collects census data on various rules other than Conway's Game of Life. In practice, only non-exploding rules can reasonably be investigated unless a certain symmetry can be assured to never explode.
As of January 15, 2019, Catagolue officially supports the following types of cellular automata:
- Arbitrary outer-totalistic rules.
- Isotropic non-totalistic rules. (in Hensel notation)
- Isotropic von Neumann neighbourhood rules. (implicitly by isotropic non-totalistic Moore neighbourhood rules)
- Higher-range outer totalistic (HROT) rules. (up to range 5)
- Larger than Life rules. (up to range 7)
- Totalistic and isotropic hexagonal neighbourhood rules.
- Generations variants of all rules listed above.
- Outer-totalistic B0 rules with two states.
- BSFKL rules.
- Deficient rules.
- Extended Generations rules.
- Custom Golly ruletables.
6,844 rules have been investigated at as of February 9, 2019, including the following close Life variants:
- B3/S238 (EightLife)
- B36/S23 (HighLife)
- B368/S238 (LowDeath)
- B38/S23 (Pedestrian Life)
- B38/S238 (HoneyLife)
- B3/S2-i34q (tlife)
- B36/S2-i34q (thighlife)
- B37/S2-i34q (tdrylife)
- B38/S2-i34q (tpedestrianlife)
Other notable rules investigated include:
- B3/S12 (Flock)
- B3/S13 (LowLife)
- B345/S5 (Long Life)
- B36/S125 (2x2)
- B3678/S34678 (Day & Night)
- B368/S245 (Move, aka Morley)
- B2-a/S12 (Just Friends)
- B2ci3ai4c8/S02ae3eijkq4iz5ar6i7e (Snowflakes)
- R5,C0,M1,S34..58,B34..45,NM (Bugs)
Hauls for official censuses of Life-like rules with at least one trillion objects are subject to statistical verification and peer review before being committed in order to avoid false data being added to the census. As of December 28, 2018, this includes all official symmetries for Conway's Game of Life as well as B38/S23/C1 (Pedestrian Life), B3/S01367/C1, B35/S136/C1, B3/S12/C1 (Flock), and B3/S2/C1.
Catagolue as a generic pattern inventory
Although primarily used for soup-searching in practice, Catagolue can be used as a generic pattern inventory/warehouse, as shown by e.g. the slow salvo data it collected (see above). Users are encouraged come up with their own rulestrings, symmetry types, and object codes:
- [Catagolue] basically accepts anything that you choose to pass off as a rule name, symmetry type, and apgcode. If you make a search program which produces haul files for your favourite CA, then Catagolue will happily build a distributed census [...]
- The search program needn't even be a soup search: if you have a depth-first search program such as gfind or zfind, and you have a correspondence between positions in the search tree and alphanumeric strings (where prefixes correspond to ancestors), then you can conduct a distributed search for (say) width-20 c/6 spaceships using the existing Catagolue framework. If you incorporate all of zfind's command-line hyperparameters (period, offset, memory size, etc.) into the beginning of this string, then you can simply have a 'symmetry' called zfind whose tabulations will include things such as xq7, xq10, xq19 (potentially!), etc. And this will work without changing Catagolue in any way.
This is simplified by the stdin symmetries of apgsearch, which accept RLEs from standard input to be used in lieu of random soups. Arie Paap found a c/4 diagonal tubstretcher in this manner by piping the output of ikpx into apgsearch. This was notable in that the tubstretcher could neither be found by ikpx (which can only find spaceships) nor apgsearch (searching random soups) in isolation.
Contributors to Catagolue have user pages tracking their contributions to the main Conway Life census, B3/S23/C1.[endpoint 4] In addition to providing an overview of number of objects submitted recently compared to other users, user pages list important discoveries and awarded badges.
Users are credited for discoveries if they find one of the first 20 occurrences of an interesting object: any spaceship (other than the glider), any oscillator, any linear growth pattern, or any sufficiently small (14-bit) or large still life. Certain other types of still lifes, such as Eater 2 precursors, are also credited.
The following badges are currently awarded for contributions to B3/S23/C1:
- Conchita[note 9]: find a soup containing a phoenix.
- Gemini: discover a new twin bees shuttle variant.
- Gigamyriad: contribute 1013 objects.
- Hitchhiker: find a soup containing a Kok's galaxy.[note 10]
- Limitless: observe a new natural infinite-growth pattern.
- Monarchist: discover a new queen bee shuttle variant.
- Sprotsmanship[note 11]: contribute one third of a trillion objects to a different rule or symmetry.
- Trillionaire: contribute one trillion objects.
- Voyager: find one of the first twenty occurrences of a spaceship.
Interesting new objects are additionally announced on Twitter by an unofficial Twitter bot.
Catagolue census data for the main Conway Life census, B3/S23/C1, is backed up remotely every day at 17:29;[note 12] the first such backup was made on September 24, 2015. For other symmetries or rules, a remote backup may be instigated manually by calling the backupcron endpoint,[endpoint 5] with the desired rule and symmetry. Remote backups can be viewed by appending the date to the main census URL.[endpoint 6]
Local backups of Catagolue census data may be made by calling the textcensus endpoint for the desired rule and symmetry.[endpoint 7] The list of objects returned can be sorted by object frequency[endpoint 8], but this should be avoided when possible to reduce server load. It is also possible to restrict objects returned to a certain prefix,[endpoint 9], or to query the number of objects, grouped by prefix and including a total.[endpoint 10]
Catagolue does not accept hauls exceeding 1 MiB; additionally, hauls must contains a minimum of 10,000 soups or 250,000 objects.
Each tabulation on Catagolue also has a maximum size of 1 MB imposed by Google Cloud Datastore; obscure objects will sometimes be deleted from these tabulations to meet this limit. In December 2018, Catagolue switched to a new compression system, allowing certain period 2 oscillators to be manually readded to the D8_1 and D8_4 censuses without meeting the 1 MB limit.
Although the apgsearch family of programs has bespoke support for flotillae composed of two standard spaceships in Conway's Life, it can fail to properly separate larger non-interacting groups, or groups of any size in non-Life rules. Pseudo still lifes composed of many constituent parts may also fail to be separated properly.
The maximum period for spaceships and oscillators is 1,000 in apgsearch 1.x, 4,000 in apgnano (apgsearch 2.x), 1,280 in apgmera (apgsearch 3.x), and 1,048,576 in apgluxe (apgsearch 4.x); higher-period objects are classified as PATHOLOGICAL. The maximum bounding box for any spaceship, oscillator or still life is 40×40; larger objects are classified as ov_ (oversized). High-period linear-growth patterns may not be identified and instead reported as zz_LINEAR.
Although Catagolue verifies that an object in a given rule behaves as specified by its code, the site makes no attempt to reject non-canonical codes (e.g. xp2_222 rather than xp2_7 for the blinker); furthermore, the site accepts various anomalous prefixes (e.g. xp0 and xq0). No attempt is made to normalize or reject anomalous rules (e.g. "b33s23"), although a feature is planned to clear out censuses which do not adhere to the Catagolue naming conventions.
Catagolue's hashsoup functionality, used for retrieving sample soups from the database,[endpoint 11] only recognizes official square grid symmetries and D2_xo,[note 13] and defaults to C1 for all others. Soups with symmetries exclusive to the hexagonal grid (i.e. containing C3, C6, D6, or D12) must instead be reconstructed using lifelib.
- Other censuses:
- Related topics:
- All users who contributed to any rule/symmetry.
- Soups with density 0.25 and 0.75 were also investigated to a minor extent; see the "Higher Symmetries" section.
- The name "Catagolue" is an amalgam of "Catalogue" and "GoL" (Game of Life).
- Data on ordinary methuselahs is only collected by apgsearch v4.54 and above, and diehards by v4.69 and above.
- apgsearch estimates the lifespan of each soup before testing it more precisely, and is not guaranteed to detect all methuselahs with a lifespan of less than 26,000 generations.
- I.e. all symmetries except C1, SS, "DankMemes" and any symmetry suffixed "_Test".
- This list excludes oversized patterns (ov_), unusual-growth patterns (zz_), and pathological patterns (PATHOLOGICAL); see Limitations.
- Not properly recognized by apgsearch < 4.0; see Limitations.
- The "Conchita" badge is named after Conchita Wurst, the Austrian singer who won the 2014 Eurovision Song Contest with the song "Rise Like a Phoenix".
- The "Hitchhiker" badge has not been awarded as of March 5, 2018.
- Sic; a deliberate reference to this post on MathOverflow and the comments it attracted.
- Ramanujan time, after the Hardy–Ramanujan number (1729) of G. H. Hardy's and Srinivasa Ramanujan's.
- D2_xo is simply an orthogonal reflection of the equivalent D2_x soup for the Moore neighbourhood, but functions as a distinct symmetry in hexagonal rules.
- https://catagolue.appspot.com/user/<user name>
- Adam P. Goucher (February 20, 2015). "apgsearch 1.0". ConwayLife.com forums. Retrieved on June 23, 2016.
- Billabob (April 24, 2015). "Re: Soup search results". ConwayLife.com forums. Retrieved on June 23, 2016.
- Adam P. Goucher (September 2, 2015). "Re: Soup search results". ConwayLife.com forums. Retrieved on June 23, 2016.
- Adam P. Goucher (June 28, 2016). "Statistics". Catagolue. Retrieved on June 28, 2016.
- thunk (November 12, 2016). "Re: Soup search results". ConwayLife.com forums. Retrieved on November 12, 2016.
- Re: Extending apgcodes to larger patterns (discussion thread) at the ConwayLife.com forums
- Hdjensofjfnen. Re: Soup search results (discussion thread) at the ConwayLife.com forums
- Re: Hacking apgsearch (discussion thread) at the ConwayLife.com forums
- Adam P. Goucher (January 29, 2017). "Re: Catagolue Oddities". ConwayLife.com forums. Retrieved on January 29, 2017.
- Adam P. Goucher (June 30, 2016). "Re: B3/S12-ae34ceit". ConwayLife.com forums. Retrieved on July 5, 2016.
- Adam P. Goucher. Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
- Adam P. Goucher. Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
- Bag Sinhwan (박신환) (November 28, 2016). "Re: Soup search results". ConwayLife.com forums. Retrieved on November 28, 2016.
- Adam P. Goucher. Re: apgsearch v4.0 (discussion thread) at the ConwayLife.com forums
- Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
- Soup search results (discussion thread) at the ConwayLife.com forums
- Soup search results in rules other than Conway's Life (discussion thread) at the ConwayLife.com forums
- apgsearch v4.0 (discussion thread) at the ConwayLife.com forums
- apgsearch v3.1 (discussion thread) at the ConwayLife.com forums
- apgnano (apgsearch 2.x) code repository
- apgsearch v2.2 (discussion thread) at the ConwayLife.com forums
- apgsearch v1.0 (discussion thread) at the ConwayLife.com forums
- Hacking apgsearch (discussion thread) at the ConwayLife.com forums
Unofficial browser extension
- Catagolue Reloaded browser extension (Opera)
- Catagolue browser extension (discussion thread) at the ConwayLife.com forums
Unofficial Twitter bot
- Twitter bot (discussion thread) at the ConwayLife.com forums