Catagolue

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.

Catagolue
Conducted by Adam P. Goucher
Type Distributed
Contributors >100[note 1]
Year(s) 2015 present
Status Ongoing
Parameters
Universe Infinite plane
Soup size 16×16
Initial soup density 0.5[note 2]
Soups searched 18,928,504,510,982
Results
Total objects 413,493,174,300,923
Distinct objects 159,347

The results are obtained by evolving random soups of size 16×16 with density 0.5 in an infinite planar universe; as of April 27, 2019, at least 18,928,504,510,982 soups have been investigated by the census's participants, yielding a total of at least 413,493,174,300,923 objects of 159,347 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 and 5.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]

History

Main article: History of Catagolue

Catagolue became operative on February 20, 2015.[1] The B3/S23/C1 census reached a total of one trillion objects on April 24, 2015,[2] ten trillion objects on September 2, 2015,[3] 100 trillion objects on June 20, 2016,[4] and 200 trillion objects on May 16, 2017.

Results in Conway's Game of Life

Also see: apgsearch#Notable patterns

Asymmetric soups

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 April 27, 2019, at least 18,928,504,510,982 soups have been investigated by the census's participants, yielding a total of at least 413,493,174,300,923 objects of 159,347 distinct types.[5]

A view of the combined statistics for the C1 and G1 symmetries can be seen in the asymmetric-soups census.[6]

Click on "Expand" to the right to view full statistics for B3/S23/C1.

  • Still lifes:
    • All still lifes up to 14 bits.
    • 1,319 of the 1,353 15-bit still lifes.
    • 2,848 of the 3,286 16-bit still lifes.
    • 5,212 of the 7,773 17-bit still lifes.
    • 8,710 of the 19,044 18-bit still lifes.
    • 12,276 of the 45,759 19-bit still lifes.
    • 15,906 of the 112,243 20-bit still lifes.
    • 18,171 of the 273,188 21-bit still lifes.
    • 19,203 of the 672,172 22-bit still lifes.
    • 17,637 of the 1,646,147 23-bit still lifes.
    • 15,820 of the 4,051,732 24-bit still lifes.
    • 11,925 of the 9,971,377 25-bit still lifes.
    • 9,163 of the 24,619,307 26-bit still lifes.
    • 6,157 of the 60,823,008 27-bit still lifes.
    • 4,244 of the 150,613,157 28-bit still lifes.
    • 2,513 of the 373,188,952 29-bit still lifes.
    • 1,655 of the 926,068,847 30-bit still lifes.
    • 806 of the 2,299,616,637 31-bit still lifes.
    • 506 of the 5,716,948,683 32-bit still lifes.
    • 254 of the 14,223,867,298 33-bit still lifes.
    • 180 34-bit still lifes.
    • 78 35-bit still lifes.
    • 61 36-bit still lifes.
    • 23 37-bit still lifes.
    • 19 38-bit still lifes.
    • 6 39-bit still lifes.
    • 14 40-bit still lifes.
    • 3 41-bit still lifes.
    • 6 42-bit still lifes.
    • 1 44-bit still life.
    • 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).
  • Oscillators:
  • Spaceships:
  • Long-lived patterns:[note 5]
    • 22,244 methuselahs lasting between 25,000 and 25,999 generations.[note 6]
    • 22,799 methuselahs lasting between 26,000 and 26,999 generations.
    • 13,850 methuselahs lasting between 27,000 and 27,999 generations.
    • 7,622 methuselahs lasting between 28,000 and 28,999 generations.
    • 5,585 methuselahs lasting between 29,000 and 29,999 generations.
    • 2,451 methuselahs lasting between 30,000 and 30,999 generations.
    • 1,329 methuselahs lasting between 31,000 and 31,999 generations.
    • 713 methuselahs lasting between 32,000 and 32,999 generations.
    • 407 methuselahs lasting between 33,000 and 33,999 generations.
    • 208 methuselahs lasting between 34,000 and 34,999 generations.
    • 142 methuselahs lasting between 35,000 and 35,999 generations.
    • 56 methuselahs lasting between 36,000 and 36,999 generations.
    • 44 methuselahs lasting between 37,000 and 37,999 generations.
    • 15 methuselahs lasting between 38,000 and 38,999 generations.
    • 12 methuselahs lasting between 39,000 and 39,999 generations.
    • 5 methuselahs lasting between 40,000 and 40,999 generations.
    • 5 methuselahs lasting between 41,000 and 41,999 generations.
    • 3 methuselahs lasting between 42,000 and 42,999 generations (including 42100M and Homer).
    • 2 methuselahs lasting between 44,000 and 44,999 generations.
    • 1 methuselah lasting between 47,000 and 47,999 generations. (47575M)
    • 122,555 diehards lasting between 500 and 599 generations.
    • 16,090 diehards lasting between 600 and 699 generations.
    • 2,109 diehards lasting between 700 and 799 generations.
    • 345 diehards lasting between 800 and 899 generations.
    • 58 diehards lasting between 900 and 999 generations.
    • 11 diehards lasting between 1,000 and 1,099 generations.
    • 6 diehards lasting between 1,100 and 1,199 generations.
    • 122,889 soups with a final population of between 3,000 and 3,099.
    • 78,510 soups with a final population of between 3,100 and 3,199.
    • 50,481 soups with a final population of between 3,200 and 3,299.
    • 32,394 soups with a final population of between 3,300 and 3,399.
    • 21,124 soups with a final population of between 3,400 and 3,499.
    • 13,012 soups with a final population of between 3,500 and 3,599.
    • 8,303 soups with a final population of between 3,600 and 3,699.
    • 5,309 soups with a final population of between 3,700 and 3,799.
    • 3,536 soups with a final population of between 3,800 and 3,899.
    • 2,239 soups with a final population of between 3,900 and 3,999.
    • 1,450 soups with a final population of between 4,000 and 4,099.
    • 914 soups with a final population of between 4,100 and 4,199.
    • 558 soups with a final population of between 4,200 and 4,299.
    • 391 soups with a final population of between 4,300 and 4,399.
    • 226 soups with a final population of between 4,400 and 4,499.
    • 157 soups with a final population of between 4,500 and 4,599.
    • 91 soups with a final population of between 4,600 and 4,699.
    • 73 soups with a final population of between 4,700 and 4,799.
    • 46 soups with a final population of between 4,800 and 4,899.
    • 28 soups with a final population of between 4,900 and 4,999.
    • 15 soups with a final population of between 5,000 and 5,099.
    • 17 soups with a final population of between 5,100 and 5,199.
    • 5 soups with a final population of between 5,200 and 5,299.
    • 2 soups with a final population of between 5,300 and 5,399.
    • 3 soups with a final population of between 5,400 and 5,499.
    • 3 soups with a final population of between 5,500 and 5,599.
    • 2 soups with a final population of between 5,600 and 5,699.
    • 1 soup with a final population of between 5,800 and 5,899.
    • 2 soups with a final population of between 5,900 and 5,999.
    • 1 soup with a final population of between 6,200 and 6,299.
  • Other patterns:

Plots

Scatter plot of total still life counts vs. populations in B3/S23/C1 as of July 15, 2017.
Scatter plot of distinct still life counts vs. populations in B3/S23/C1 as of July 15, 2017; the blue line indicates the total number of distinct still lifes per population (A019473 ).

Higher symmetries

As of April 27, 2019, at least 5,663,811,655,128 soups have been investigated in higher symmetries[note 7] of B3/S23, yielding a combined total of at least 121,676,408,520,111 objects of 593,557 distinct types.[note 8]

Click on "Expand" to the right to view full statistics for higher symmetries of B3/S23.

Patterns seen but not properly recognized by the client (see Limitations below) include a D8_1-symmetric variant of the p29 pre-pulsar shuttle.

Plots

Scatter plot of total still life counts vs. populations in B3/S23 (higher symmetries) as of July 15, 2017.
Scatter plot of distinct still life counts vs. populations in B3/S23 (higher symmetries) as of July 15, 2017; the blue line indicates the total number of distinct still lifes per population (A019473 ).

Slow salvos

Catagolue started collecting data on objects created by slow salvos on January 13, 2017, using the SS pseudo-symmetry; data was generated by the HoneySearch utility.

As of April 27, 2019, slow salvos have yielded a total of at least 556,856,180,742 objects of 2,667 distinct types.

Click on "Expand" to the right to view full slow salvo statistics.

  • 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.
  • Oscillators:

Plots

Scatter plot of total still life counts vs. populations in B3/S23 (slow salvos) as of July 15, 2017.
Scatter plot of distinct still life counts vs. populations in B3/S23 (slow salvos) as of July 15, 2017; the blue line indicates the total number of distinct still lifes per population (A019473 ).

Other rules

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:

7,254 rules have been investigated at as of April 27, 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 (2×2)
  • 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)

A cached list of all rule-symmetry combinations investigated, sorted by last update, is also available.[9][endpoint 4]

Haul verification

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 April 2, 2019, this includes all official apgsearch-supported CPU 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), B3/S2/C1, and B3/S01357/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.
Adam P. Goucher[10]

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.[11] 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.

Glider syntheses

Also see: Tutorials/Glider syntheses#Submitting syntheses to Catagolue

Catagolue also contains a database of cheapest known glider syntheses of various objects (including pseudo-objects) retrieved from both Shinjuku and LifeWiki, and displays them on the respective object page. A list of objects for which syntheses are available is compiled in the synthesis-costs symmetry of B3/S23.[12]

The "Syntheses" page of Catagolue transcludes the synthesis-costs census and also includes a text box in which users can submit synthesis components in RLE form to be added to Catagolue's readsynth queue.[endpoint 5] These RLE files are automatically parsed and interpreted by Catagolue's thrice-daily update process, and added to the site if they contain new or improved syntheses.[note 10]

Contributor engagement

Contributors to Catagolue have user pages tracking their contributions to the main Conway Life census, B3/S23/C1.[endpoint 6] 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 11]: find a soup containing a phoenix.
  • Gemini: discover a new twin bees shuttle variant.
  • Gigamyriad: contribute 1013 objects.
  • Hitchhiker[note 12]: find a soup containing a Kok's galaxy.[15][note 13]
  • Limitless: observe a new natural infinite-growth pattern.
  • Loafer: discover a natural loafer.
  • Monarchist: discover a new queen bee shuttle variant.
  • Sprotsmanship[note 14]: 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.

Backups

Catagolue census data for the main Conway Life census, B3/S23/C1, is backed up remotely every day at 17:29;[note 15] 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 7] with the desired rule and symmetry. Remote backups can be viewed by appending the date to the main census URL.[endpoint 8]

Local backups of Catagolue census data may be made by calling the textcensus endpoint for the desired rule and symmetry.[endpoint 9] The list of objects returned can be sorted by object frequency,[endpoint 10] but this should be avoided when possible to reduce server load.[16] It is also possible to restrict objects returned to a certain prefix,[endpoint 11] or to query the number of objects, grouped by prefix and including a total.[endpoint 12]

Limitations

Also see: apgsearch#Limitations

Server

Catagolue does not accept hauls exceeding 1 MiB; additionally, hauls must contains a minimum of 10,000 soups or 250,000 objects.[17]

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.[18] 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.[19]

Web frontend

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 13] only recognizes official square grid symmetries and D2_xo,[note 16] 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.[20]

See also

Notes

  1. All users who contributed to any rule/symmetry.
  2. Soups with density 0.25 and 0.75 were also investigated to a minor extent; see the "Higher Symmetries" section.
  3. The name "Catagolue" is an amalgam of "Catalogue" and "GoL" (Game of Life).
  4. The two spaceships which have not appeared in the B3/S23/C1 census are MWSS on HWSS 15 and HWSS on HWSS 10, due to both of them not being detected properly by apgsearch.[7]
  5. Data on ordinary methuselahs is only collected by apgsearch v4.54 and above, diehards by v4.69 and above, and megasized soups by v5.03 and above.
  6. 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.
  7. I.e. all symmetries except C1, SS, "DankMemes" and any symmetry suffixed "_Test".
  8. This list excludes oversized patterns (ov_), unusual-growth patterns (zz_), and pathological patterns (PATHOLOGICAL); see Limitations.
  9. Not properly recognized by apgsearch < 4.0; see Limitations.
  10. As of August 2020, the synthesis submission box does not allow for linear growth syntheses to be submitted.[13] Instead, these must either be added directly to the Catagolue database or added via editing diffupdate.py.[14]
  11. 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".
  12. The "Hitchhiker" badge is a reference to The Hitchhiker's Guide to the Galaxy franchise.
  13. The "Hitchhiker" badge has not been awarded as of March 5, 2018.
  14. Sic; a deliberate reference to this post on MathOverflow and the comments it attracted.
  15. Ramanujan time, after the Hardy–Ramanujan number (1729) of G. H. Hardy's and Srinivasa Ramanujan's.
  16. 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.

Endpoints

  1. https://catagolue.appspot.com/census/<rule>/<symmetry>
  2. https://catagolue.appspot.com/object/<apgcode>/<rule>
  3. https://catagolue.appspot.com/attribute/<apgcode>/<rule>/<symmetry>
  4. https://catagolue.appspot.com/abclist
  5. https://catagolue.appspot.com/readsynth
  6. https://catagolue.appspot.com/user/<user name>
  7. https://catagolue.appspot.com/backupcron/<rule>/<symmetry>
  8. https://catagolue.appspot.com/census/<rule>/<symmetry>-<year>-<month>-<day>
  9. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>
  10. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>/sorted
  11. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>/<prefix>
  12. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>/objcount
  13. https://catagolue.appspot.com/hashsoup/<symmetry>/<id>/<rule>

References

  1. Adam P. Goucher (February 20, 2015). "apgsearch 1.0". ConwayLife.com forums. Retrieved on June 23, 2016.
  2. Billabob (April 24, 2015). "Re: Soup search results". ConwayLife.com forums. Retrieved on June 23, 2016.
  3. Adam P. Goucher (September 2, 2015). "Re: Soup search results". ConwayLife.com forums. Retrieved on June 23, 2016.
  4. Apple Bottom (June 20, 2016). "Re: apgsearch v3.1". ConwayLife.com forums. Retrieved on June 23, 2016.
  5. Adam P. Goucher (June 28, 2016). "Statistics". Catagolue. Retrieved on June 28, 2016.
  6. Adam P. Goucher (April 8, 2020). Re: Catagolue Suggestions Thread (discussion thread) at the ConwayLife.com forums
  7. Adam P. Goucher (July 18, 2019). Re: Thread for basic questions (discussion thread) at the ConwayLife.com forums
  8. thunk (November 12, 2016). "Re: Soup search results". ConwayLife.com forums. Retrieved on November 12, 2016.
  9. Adam P. Goucher (April 21, 2020). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  10. Adam P. Goucher (August 13, 2017). Re: Extending apgcodes to larger patterns (discussion thread) at the ConwayLife.com forums
  11. Hdjensofjfnen (February 18, 2019). Re: Soup search results (discussion thread) at the ConwayLife.com forums
  12. Adam P. Goucher (April 11, 2019). Re: Shinjuku: a database of glider syntheses (discussion thread) at the ConwayLife.com forums
  13. Dave Greene (August 21, 2019). Re: Shinjuku: a database of glider syntheses (discussion thread) at the ConwayLife.com forums
  14. Adam P. Goucher (August 7, 2020). Re: One Glider Seeds (discussion thread) at the ConwayLife.com forums
  15. Adam P. Goucher (August 4, 2017). Re: Hacking apgsearch (discussion thread) at the ConwayLife.com forums
  16. Adam P. Goucher (January 29, 2017). "Re: Catagolue Oddities". ConwayLife.com forums. Retrieved on January 29, 2017.
  17. Adam P. Goucher (June 30, 2016). "Re: B3/S12-ae34ceit". ConwayLife.com forums. Retrieved on July 5, 2016.
  18. Adam P. Goucher (October 14, 2018). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  19. Adam P. Goucher (December 20, 2018). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  20. Adam P. Goucher (December 20, 2018). Re: apgsearch v4.0 (discussion thread) at the ConwayLife.com forums

Results

Client software

Unofficial browser extension

Unofficial Twitter bot

  • Twitter bot (discussion thread) at the ConwayLife.com forums
This article is issued from Conwaylife. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.