Catagolue

From LifeWiki
Jump to navigation Jump to search
Catagolue
Catagolue B3S23 C1 20160724.png
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[note 2]
Initial soup density 0.5[note 3]
Soups searched ≥539,827,476,271,429[note 4]
Results
Total objects ≥6,401,792,083,072,917[note 5]
Distinct objects ≥522,566[note 6]

Catagolue[note 7] 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 June 19, 2024, at least 539,827,476,271,429[note 4] soups have been investigated by the census's participants, yielding a total of at least 6,401,792,083,072,917[note 5] objects of 522,566[note 6] 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 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 June 19, 2024, at least 539,827,476,271,429 soups have been investigated by the census's participants, yielding a total of at least 6,401,792,083,072,917 objects of 522,566 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 and B3/S23/G1 combined.

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 (OEISicon light 11px.pngA019473).

All symmetries

As of March 12, 2024, at least 1,075,698,622,453,873 soups have been investigated in all symmetries[note 12] of B3/S23, yielding a combined total of at least 15,217,000,000,000,000 objects of 3,887,077 distinct types.[note 13]

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 (OEISicon light 11px.pngA019473).

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.

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 (OEISicon light 11px.pngA019473).

Other rules

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:

24,239 rules have been investigated at as of June 19, 2024, including the following close Life variants:

Other notable rules investigated include:

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 (except B3/S2) 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 March 12, 2024, this includes G1, G2_1, G2_2, G2_4, i4x64, and all official apgsearch-supported CPU symmetries (excluding gutter symmetries) in Conway's Game of Life as well as C1 censuses for Life-like rules B38/S23 (Pedestrian Life), B3/S238 (EightLife), B38/S238 (HoneyLife), B36/S125 (2×2), B3/S01367, B35/S136, B35/S23 (Grounded Life), B3/S12 (Flock), and B3/S01357.

Note that B3/S2, despite having more than a trillion objects, has verification disabled. This is because there are relatively few but extremely common objects, so the verification system (Parmenides) mistook rare objects and new discoveries as being fake.

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. ikpx 2.2 natively supports the uploading of search results, including both completed and the resulting ash of partial results, to the ikpx2_stdin symmetry via apgsearch, a feature which John Winston Garth used to find a period-21 weekender tagalong known as doo-dah.

Glider syntheses

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

Catagolue contains a database of the 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 six times-daily update process, and added to the site if they contain new or improved syntheses.[note 15]

Glider guns

Catagolue also features a database of both pseudo-period and true-period glider guns, currently located in the gun and guntrue tabulations of synthesis-costs respectively.[15][16] Bounding box reductions to these guns can also be submitted through the submission box.

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 large (≥30-bit) still life.

The following badges are currently awarded for contributions to B3/S23/C1:

Backups

Catagolue census data for the main Conway Life census, B3/S23/C1, is backed up remotely every day at 17:29;[note 20] 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 (in ISO 8601 format) to the main census URL.[endpoint 8]

Backups of the synthesis-costs census are automatically made three times a month, specifically on dates ending with a "5", and can be accessed using the year-month-day method.[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.[18] 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.[19]

Each tabulation on Catagolue also has a maximum uncompressed size of 32 MB.[20][note 21]

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 22] 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.[23]

See also

Notes

  1. All users who contributed to any rule/symmetry.
  2. For C1/G1 and D2_x only. Other symmetries, including custom symmetries, have different soup dimensions.
  3. Soups with density 0.25 and 0.75 were also investigated to a minor extent; see apgsearch#Higher symmetries.
  4. 4.0 4.1 C1 and G1 only.
  5. 5.0 5.1 C1 and a small "interesting" subset of G1 soups only; see apgsearch#GPU searching for more information about G1 and how only some soups are actually censused.
  6. 6.0 6.1 C1 only.
  7. The name "Catagolue" is an amalgam of "Catalogue" and "GoL" (Game of Life), pronounced ka-tuh-gaal.[citation needed]
  8. Two of these flotillae (MWSS on HWSS 15 and HWSS on HWSS 10) have skewed frequency statistics in the B3/S23/C1 census, due to both of them formerly not being detected properly by apgsearch.[7] This issue has since been fixed.
  9. 9.0 9.1 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.
  10. 10.0 10.1 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.
  11. This number is higher than an exponential distribution would indicate because of Lidka.
  12. I.e. all symmetries except SS, "DankMemes" and any symmetry suffixed "_Test".
  13. This list excludes oversized patterns (ov_), unusual-growth patterns (zz_), and pathological patterns (PATHOLOGICAL); see Limitations.
  14. Not properly recognized by apgsearch < 4.0; see Limitations.
  15. 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]
  16. 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".
  17. The "Hitchhiker" badge is a reference to The Hitchhiker's Guide to the Galaxy franchise.
  18. The "Hitchhiker" badge has not been awarded as of March 10, 2024.
  19. Sic; a deliberate reference to this post on MathOverflow and the comments it attracted.
  20. Ramanujan time, after the Hardy–Ramanujan number (1729) of G. H. Hardy's and Srinivasa Ramanujan's.
  21. Before August 2021, the maximum tabulation size was 1 MB after compression, imposed by Google Cloud Datastore; obscure objects would sometimes be deleted from these tabulations to meet this limit.[21] 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.[22]
  22. 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.hatsya.com/census/<rule>/<symmetry>
  2. https://catagolue.hatsya.com/object/<apgcode>/<rule>
  3. https://catagolue.hatsya.com/attribute/<apgcode>/<rule>/<symmetry>
  4. https://catagolue.hatsya.com/abclist
  5. https://catagolue.hatsya.com/readsynth
  6. https://catagolue.hatsya.com/user/<user name>
  7. https://catagolue.hatsya.com/backupcron/<rule>/<symmetry>
  8. 8.0 8.1 https://catagolue.hatsya.com/census/<rule>/<symmetry>-<year>-<month>-<day>
  9. https://catagolue.hatsya.com/textcensus/<rule>/<symmetry>
  10. https://catagolue.hatsya.com/textcensus/<rule>/<symmetry>/sorted
  11. https://catagolue.hatsya.com/textcensus/<rule>/<symmetry>/<prefix>
  12. https://catagolue.hatsya.com/textcensus/<rule>/<symmetry>/objcount
  13. https://catagolue.hatsya.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. Maia Karpovich (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 (June 17, 2021). Message in #cgol on the Conwaylife Lounge Discord server
  16. Adam P. Goucher (June 18, 2021). Message in #cgol on the Conwaylife Lounge Discord server
  17. Adam P. Goucher (August 4, 2017). Re: Hacking apgsearch (discussion thread) at the ConwayLife.com forums
  18. Adam P. Goucher (January 29, 2017). "Re: Catagolue Oddities". ConwayLife.com forums. Retrieved on January 29, 2017.
  19. Adam P. Goucher (June 30, 2016). "Re: B3/S12-ae34ceit". ConwayLife.com forums. Retrieved on July 5, 2016.
  20. Adam P. Goucher (August 24, 2021). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  21. Adam P. Goucher (October 14, 2018). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  22. Adam P. Goucher (December 20, 2018). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  23. Adam P. Goucher (December 20, 2018). Re: apgsearch v4.0 (discussion thread) at the ConwayLife.com forums

External links

Results

Client software

Unofficial browser extension

Bots