Difference between revisions of "Catagolue"

From LifeWiki
Jump to navigation Jump to search
(Updated stats again)
(29 intermediate revisions by 3 users not shown)
Line 7: Line 7:
|contributors    = >100{{refn|group=note|All users who contributed to any rule/symmetry.}}
|contributors    = >100{{refn|group=note|All users who contributed to any rule/symmetry.}}
|year            = 2015
|year            = 2015
|year2          = 2018
|year2          = present
|status          = Ongoing
|status          = Ongoing
|universe        = Infinite plane<!-- {{refn|group=note|Toroidal universes were also investigated; see the "Toroidal universes" section.}} -->
|universe        = Infinite plane<!-- {{refn|group=note|Toroidal universes were also investigated; see the "Toroidal universes" section.}} -->
Line 21: Line 21:
The results are obtained by evolving random [[soup]]s of size 16&times;16 with [[density]] 0.5 in an infinite planar [[universe]]; as of {{:Catagolue/Stats|date}}, at least {{:Catagolue/Stats|numsoups}} soups have been investigated by the census's participants, yielding a total of at least {{:Catagolue/Stats|numobjects}} objects of {{:Catagolue/Stats|distinctobjects}} 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.
The results are obtained by evolving random [[soup]]s of size 16&times;16 with [[density]] 0.5 in an infinite planar [[universe]]; as of {{:Catagolue/Stats|date}}, at least {{:Catagolue/Stats|numsoups}} soups have been investigated by the census's participants, yielding a total of at least {{:Catagolue/Stats|numobjects}} objects of {{:Catagolue/Stats|distinctobjects}} 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.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/object/&lt;apgcode&gt;/&lt;rule&gt;</nowiki></tt>}} A simple text-based interface for querying sample soups, including their owners, also exists.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/attribute/&lt;apgcode&gt;/&lt;rule&gt;/&lt;symmetry&gt;</nowiki></tt>}}
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.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/object/&lt;apgcode&gt;/&lt;rule&gt;</nowiki></tt>}} A simple text-based interface for querying sample soups, including their owners, also exists.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/attribute/&lt;apgcode&gt;/&lt;rule&gt;/&lt;symmetry&gt;</nowiki></tt>}}


==History==
==History==
{{Main|History of Catagolue}}
{{Main|History of Catagolue}}
Catagolue became operative on February 20, 2015.<ref name="calcyman20150220" /> The B3/S23/C1 census reached a total of one trillion objects on April 24, 2015<ref name="billabob20150424" />, ten trillion objects on September 2, 2015<ref name="calcyman20150902" />, 100 trillion objects on June 20, 2016<ref name="applebottom20160620" />, and 200 trillion objects on May 16, 2017.
Catagolue became operative on February 20, 2015.<ref name="calcyman20150220" /> The B3/S23/C1 census reached a total of one trillion objects on April 24, 2015,<ref name="billabob20150424" /> ten trillion objects on September 2, 2015,<ref name="calcyman20150902" /> 100 trillion objects on June 20, 2016,<ref name="applebottom20160620" /> and 200 trillion objects on May 16, 2017.


==Results in Conway's Game of Life==
==Results in Conway's Game of Life==
Line 32: Line 32:
===Asymmetric soups===
===Asymmetric soups===
{{Alsosee|Most common objects on Catagolue}}
{{Alsosee|Most common objects on Catagolue}}
The default rule/symmetry combination for apgsearch, [[Conway's Game of Life|B3/S23]]/C1, is by far the most popular census on Catagolue. As of {{:Catagolue/Stats|date}}, at least {{:Catagolue/Stats|numsoups}} soups have been investigated by the census's participants, yielding a total of at least {{:Catagolue/Stats|numobjects}} objects. {{:Catagolue/Stats|distinctobjects}} distinct objects were identified, including:<ref name="stats" />
The default rule/symmetry combination for apgsearch, [[Conway's Game of Life|B3/S23]]/C1, is by far the most popular census on Catagolue. As of {{:Catagolue/Stats|date}}, at least {{:Catagolue/Stats|numsoups}} soups have been investigated by the census's participants, yielding a total of at least {{:Catagolue/Stats|numobjects}} objects of {{:Catagolue/Stats|distinctobjects}} distinct types.<ref name="stats" />


<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view full statistics for B3/S23/C1.
<div class="mw-collapsible-content">
* Still lifes:
* Still lifes:
** All still lifes up to [[:Category:Strict still lifes with 13 cells|13 bits]].
** All still lifes up to [[:Category:Strict still lifes with 14 cells|14 bits]].
** {{:Catagolue/Stats|xs14}} of the {{A019473|14}} [[:Category:Strict still lifes with 14 cells|14-bit still lifes]].
** {{:Catagolue/Stats|xs15}} of the {{A019473|15}} [[:Category:Strict still lifes with 15 cells|15-bit still lifes]].
** {{:Catagolue/Stats|xs15}} of the {{A019473|15}} [[:Category:Strict still lifes with 15 cells|15-bit still lifes]].
** {{:Catagolue/Stats|xs16}} of the {{A019473|16}} [[:Category:Strict still lifes with 16 cells|16-bit still lifes]].
** {{:Catagolue/Stats|xs16}} of the {{A019473|16}} [[:Category:Strict still lifes with 16 cells|16-bit still lifes]].
Line 55: Line 57:
** {{:Catagolue/Stats|xs31}} of the {{A019473|31}} [[:Category:Strict still lifes with 31 cells|31-bit still lifes]].
** {{:Catagolue/Stats|xs31}} of the {{A019473|31}} [[:Category:Strict still lifes with 31 cells|31-bit still lifes]].
** {{:Catagolue/Stats|xs32}} of the {{A019473|32}} [[:Category:Strict still lifes with 32 cells|32-bit still lifes]].
** {{:Catagolue/Stats|xs32}} of the {{A019473|32}} [[:Category:Strict still lifes with 32 cells|32-bit still lifes]].
** {{:Catagolue/Stats|xs33}} [[:Category:Strict still lifes with 33 cells|33-bit still lifes]].
** {{:Catagolue/Stats|xs33}} of the {{A019473|33}} [[:Category:Strict still lifes with 33 cells|33-bit still lifes]].
** {{:Catagolue/Stats|xs34}} [[:Category:Strict still lifes with 34 cells|34-bit still lifes]].
** {{:Catagolue/Stats|xs34}} [[:Category:Strict still lifes with 34 cells|34-bit still lifes]].
** {{:Catagolue/Stats|xs35}} [[:Category:Strict still lifes with 35 cells|35-bit still lifes]].
** {{:Catagolue/Stats|xs35}} [[:Category:Strict still lifes with 35 cells|35-bit still lifes]].
Line 65: Line 67:
** {{:Catagolue/Stats|xs41}} [[:Category:Strict still lifes with 41 cells|41-bit still lifes]].
** {{:Catagolue/Stats|xs41}} [[:Category:Strict still lifes with 41 cells|41-bit still lifes]].
** {{:Catagolue/Stats|xs42}} [[:Category:Strict still lifes with 42 cells|42-bit still lifes]].
** {{:Catagolue/Stats|xs42}} [[:Category:Strict still lifes with 42 cells|42-bit still lifes]].
** {{:Catagolue/Stats|xs44}} [[:Category:Strict still lifes with 44 cells|44-bit still life]].
** {{:Catagolue/Stats|xs45}}  asymmetric [[:Category:Strict still lifes with 45 cells|45-bit still life]] ([[Cthulhu]]).
** {{:Catagolue/Stats|xs45}}  asymmetric [[:Category:Strict still lifes with 45 cells|45-bit still life]] ([[Cthulhu]]).
** {{:Catagolue/Stats|xs46}}  D2_+1-[[symmetry|symmetric]] [[:Category:Strict still lifes with 46 cells|46-bit still lifes]] ([[professor]] and an inflected variant of it).
** {{:Catagolue/Stats|xs46}}  D2_+1-[[symmetry|symmetric]] [[:Category:Strict still lifes with 46 cells|46-bit still lifes]] ([[professor]] and an inflected variant of it).
Line 80: Line 83:
** {{:Catagolue/Stats|xp30}} [[:Category:Oscillators with period 30|period 30]] [[oscillator]]s (including [[Berger's p30]] and [[symmetric queen-bee-shuttle 1]]).
** {{:Catagolue/Stats|xp30}} [[:Category:Oscillators with period 30|period 30]] [[oscillator]]s (including [[Berger's p30]] and [[symmetric queen-bee-shuttle 1]]).
** {{:Catagolue/Stats|xp46}} [[:Category:Oscillators with period 46|period 46]] [[oscillator]]s.
** {{:Catagolue/Stats|xp46}} [[:Category:Oscillators with period 46|period 46]] [[oscillator]]s.
** {{:Catagolue/Stats|xp120}} [[:Category:Oscillators with period 120|period 120]] [[oscillator]]. ([[figure eight on pentadecathlon]])
* Spaceships:
* Spaceships:
** {{:Catagolue/Stats|xq4}} [[:Category:Spaceships with period 4|period 4]] [[spaceship]]s (including 37 of the 39 non-trivial [[flotilla]]e of two [[standard spaceship]]s).
** {{:Catagolue/Stats|xq4}} [[:Category:Spaceships with period 4|period 4]] [[spaceship]]s (including 37 of the 39 non-trivial [[flotilla]]e of two [[standard spaceship]]s{{refn|group=note|The two spaceships which have not appeared in the B3/S23/C1 census are {{LinkCatagolue|xq4_06eeed72zaghgis|patternname=MWSS on HWSS 15|style=raw}} and {{LinkCatagolue|xq4_27deee6zwsighhga|patternname=HWSS on HWSS 10|style=raw}}, due to both of them not being detected properly by apgsearch.<ref name="post79802" />}}).
** {{:Catagolue/Stats|xq12}} [[:Category:Spaceships with period 12|period 12]] [[spaceship]] (the [[Schick engine]]).
** {{:Catagolue/Stats|xq12}} [[:Category:Spaceships with period 12|period 12]] [[spaceship]] (the [[Schick engine]]).
** {{:Catagolue/Stats|xq16}} [[:Category:Spaceships with period 16|period 16]] [[spaceship]] (the [[Coe ship]]).
** {{:Catagolue/Stats|xq16}} [[:Category:Spaceships with period 16|period 16]] [[spaceship]] (the [[Coe ship]]).
* Long-lived patterns:{{refn|group=note|name=longlived|Data on ordinary methuselahs is only collected by [[apgsearch]] v4.54 and above, and diehards by v4.69 and above.}}
* Long-lived patterns:{{refn|group=note|name=longlived|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.}}
** {{:Catagolue/Stats|methuselah_25k}} [[methuselah]]s lasting between 25,000 and 25,999 generations.{{refn|group=note|name=25k|[[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.}}
** {{:Catagolue/Stats|methuselah_25k}} [[methuselah]]s lasting between 25,000 and 25,999 generations.{{refn|group=note|name=25k|[[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.}}
** {{:Catagolue/Stats|methuselah_26k}} [[methuselah]]s lasting between 26,000 and 26,999 generations.
** {{:Catagolue/Stats|methuselah_26k}} [[methuselah]]s lasting between 26,000 and 26,999 generations.
Line 102: Line 106:
** {{:Catagolue/Stats|methuselah_40k}} [[methuselah]]s lasting between 40,000 and 40,999 generations.
** {{:Catagolue/Stats|methuselah_40k}} [[methuselah]]s lasting between 40,000 and 40,999 generations.
** {{:Catagolue/Stats|methuselah_41k}} [[methuselah]]s lasting between 41,000 and 41,999 generations.
** {{:Catagolue/Stats|methuselah_41k}} [[methuselah]]s lasting between 41,000 and 41,999 generations.
** {{:Catagolue/Stats|methuselah_42k}} [[methuselah]]s lasting between 42,000 and 42,999 generations (including [[42100M]] and [[42883M]]).
** {{:Catagolue/Stats|methuselah_42k}} [[methuselah]]s lasting between 42,000 and 42,999 generations (including [[42100M]] and [[Homer]]).
** {{:Catagolue/Stats|methuselah_47k}} [[methuselah]] lasting between 47,000 and 47,999 generations.
** {{:Catagolue/Stats|methuselah_44k}} [[methuselah]]s lasting between 44,000 and 44,999 generations.
** {{:Catagolue/Stats|methuselah_47k}} [[methuselah]] lasting between 47,000 and 47,999 generations. ([[47575M]])
** {{:Catagolue/Stats|messless_5h}} [[diehard]]s lasting between 500 and 599 generations.
** {{:Catagolue/Stats|messless_5h}} [[diehard]]s lasting between 500 and 599 generations.
** {{:Catagolue/Stats|messless_6h}} [[diehard]]s lasting between 600 and 699 generations.
** {{:Catagolue/Stats|messless_6h}} [[diehard]]s lasting between 600 and 699 generations.
Line 111: Line 116:
** {{:Catagolue/Stats|messless_10h}} [[diehard]]s lasting between 1,000 and 1,099 generations.
** {{:Catagolue/Stats|messless_10h}} [[diehard]]s lasting between 1,000 and 1,099 generations.
** {{:Catagolue/Stats|messless_11h}} [[diehard]]s lasting between 1,100 and 1,199 generations.
** {{:Catagolue/Stats|messless_11h}} [[diehard]]s lasting between 1,100 and 1,199 generations.
** {{:Catagolue/Stats|megasized_30h}} soups with a final population of between 3,000 and 3,099.
** {{:Catagolue/Stats|megasized_31h}} soups with a final population of between 3,100 and 3,199.
** {{:Catagolue/Stats|megasized_32h}} soups with a final population of between 3,200 and 3,299.
** {{:Catagolue/Stats|megasized_33h}} soups with a final population of between 3,300 and 3,399.
** {{:Catagolue/Stats|megasized_34h}} soups with a final population of between 3,400 and 3,499.
** {{:Catagolue/Stats|megasized_35h}} soups with a final population of between 3,500 and 3,599.
** {{:Catagolue/Stats|megasized_36h}} soups with a final population of between 3,600 and 3,699.
** {{:Catagolue/Stats|megasized_37h}} soups with a final population of between 3,700 and 3,799.
** {{:Catagolue/Stats|megasized_38h}} soups with a final population of between 3,800 and 3,899.
** {{:Catagolue/Stats|megasized_39h}} soups with a final population of between 3,900 and 3,999.
** {{:Catagolue/Stats|megasized_40h}} soups with a final population of between 4,000 and 4,099.
** {{:Catagolue/Stats|megasized_41h}} soups with a final population of between 4,100 and 4,199.
** {{:Catagolue/Stats|megasized_42h}} soups with a final population of between 4,200 and 4,299.
** {{:Catagolue/Stats|megasized_43h}} soups with a final population of between 4,300 and 4,399.
** {{:Catagolue/Stats|megasized_44h}} soups with a final population of between 4,400 and 4,499.
** {{:Catagolue/Stats|megasized_45h}} soups with a final population of between 4,500 and 4,599.
** {{:Catagolue/Stats|megasized_46h}} soups with a final population of between 4,600 and 4,699.
** {{:Catagolue/Stats|megasized_47h}} soups with a final population of between 4,700 and 4,799.
** {{:Catagolue/Stats|megasized_48h}} soups with a final population of between 4,800 and 4,899.
** {{:Catagolue/Stats|megasized_49h}} soups with a final population of between 4,900 and 4,999.
** {{:Catagolue/Stats|megasized_50h}} soups with a final population of between 5,000 and 5,099.
** {{:Catagolue/Stats|megasized_51h}} soups with a final population of between 5,100 and 5,199.
** {{:Catagolue/Stats|megasized_52h}} soups with a final population of between 5,200 and 5,299.
** {{:Catagolue/Stats|megasized_53h}} soups with a final population of between 5,300 and 5,399.
** {{:Catagolue/Stats|megasized_54h}} soups with a final population of between 5,400 and 5,499.
** {{:Catagolue/Stats|megasized_55h}} soups with a final population of between 5,500 and 5,599.
** {{:Catagolue/Stats|megasized_56h}} soups with a final population of between 5,600 and 5,699.
** {{:Catagolue/Stats|megasized_58h}} soup with a final population of between 5,800 and 5,899.
** {{:Catagolue/Stats|megasized_59h}} soups with a final population of between 5,900 and 5,999.
** {{:Catagolue/Stats|megasized_62h}} soup with a final population of between 6,200 and 6,299.
* Other patterns:
* Other patterns:
** {{:Catagolue/Stats|yl}} [[Infinite growth|Infinite-growth patterns]].
** {{:Catagolue/Stats|yl}} [[Infinite growth|Infinite-growth patterns]], such as the [[pony express]], [[birthday puffer]], as well as numerous unnamed puffers such as {{LinkCatagolue|yl1152_2016_06_24|style=raw}} and {{LinkCatagolue|yl4608_2015_11_28|style=raw}}.


====Plots====
====Plots====
Line 120: Line 155:
| valign="top" | [[File:Catagolue distinct still life scatterplot b3s23 C1.png|thumb|320px|center|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 ({{OEIS|A019473}}).]]
| valign="top" | [[File:Catagolue distinct still life scatterplot b3s23 C1.png|thumb|320px|center|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 ({{OEIS|A019473}}).]]
|}
|}
</div></div>


===Higher symmetries===
===Higher symmetries===
As of {{:Catagolue/Stats|date|symmetry=higher}}, at least {{:Catagolue/Stats|numsoups|symmetry=higher}} soups have been investigated in higher symmetries{{refn|group=note|I.e. all symmetries except C1, [[Slow salvo|SS]], "DankMemes" and any symmetry suffixed "_Test".}} of B3/S23, yielding a combined total of at least {{:Catagolue/Stats|numobjects|symmetry=higher}} objects of {{:Catagolue/Stats|distinctobjects|symmetry=higher}} distinct types.{{refn|group=note|This list excludes oversized patterns (<tt>ov_</tt>), unusual-growth patterns (<tt>zz_</tt>), and pathological patterns (<tt>PATHOLOGICAL</tt>); see [[#Limitations|Limitations]].}}


As of {{:Catagolue/Stats|date|symmetry=higher}}, at least {{:Catagolue/Stats|numsoups|symmetry=higher}} soups have been investigated in higher symmetries{{refn|group=note|I.e. all symmetries except C1, SS, "DankMemes" and any symmetry suffixed "_Test".}} of B3/S23, yielding a combined total of at least {{:Catagolue/Stats|numobjects|symmetry=higher}} objects of {{:Catagolue/Stats|distinctobjects|symmetry=higher}} distinct types, including:{{refn|group=note|This list excludes oversized patterns (<tt>ov_</tt>), unusual-growth patterns (<tt>zz_</tt>), and pathological patterns (<tt>PATHOLOGICAL</tt>); see [[#Limitations|Limitations]].}}
<div class="mw-collapsible mw-collapsed">
 
Click on "Expand" to the right to view full statistics for higher symmetries of B3/S23.
<div class="mw-collapsible-content">
* Still lifes:
* Still lifes:
** All still lifes up to [[:Category:Strict still lifes with 13 cells|13 bits]].
** All still lifes up to [[:Category:Strict still lifes with 13 cells|13 bits]].
Line 137: Line 175:
** {{:Catagolue/Stats|xs272|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 272 cells|272-bit still life]]s.
** {{:Catagolue/Stats|xs272|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 272 cells|272-bit still life]]s.
** {{:Catagolue/Stats|xs276|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 276 cells|276-bit still life]]s.
** {{:Catagolue/Stats|xs276|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 276 cells|276-bit still life]]s.
** {{:Catagolue/Stats|xs280|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 280 cells|280-bit still life]].
** {{:Catagolue/Stats|xs288|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 288 cells|288-bit still life]].
** {{:Catagolue/Stats|xs288|symmetry=higher}} D8-[[symmetry|symmetric]] [[:Category:Strict still lifes with 288 cells|288-bit still life]].
* Oscillators:
* Oscillators:
Line 149: Line 188:
** {{:Catagolue/Stats|xp10|symmetry=higher}} [[:Category:Oscillators with period 10|period 10]] [[oscillator]]s (including [[introvert]], [[extrovert]], [[24P10]] and two variants of [[128P10.2]]).
** {{:Catagolue/Stats|xp10|symmetry=higher}} [[:Category:Oscillators with period 10|period 10]] [[oscillator]]s (including [[introvert]], [[extrovert]], [[24P10]] and two variants of [[128P10.2]]).
** {{:Catagolue/Stats|xp11|symmetry=higher}} [[:Category:Oscillators with period 11|period 11]] [[oscillator]]s ([[Achim's p11]], several variants of [[Jason's p11]], and several four-fold variants of [[38P11.1]]).
** {{:Catagolue/Stats|xp11|symmetry=higher}} [[:Category:Oscillators with period 11|period 11]] [[oscillator]]s ([[Achim's p11]], several variants of [[Jason's p11]], and several four-fold variants of [[38P11.1]]).
** {{:Catagolue/Stats|xp12|symmetry=higher}} [[:Category:Oscillators with period 12|period 12]] [[oscillator]]s ([[44P12.2]] and a [https://catagolue.appspot.com/object/xp12_y0g88eh5e0e5he88gzo4k785kjge303egjk587k4ozo5d5g5d88gxg88d5g5d5oz01178lhm83m0m38mhl8711zy3345303543/b3s23 larger trivial oscillator]).
** {{:Catagolue/Stats|xp12|symmetry=higher}} [[:Category:Oscillators with period 12|period 12]] [[oscillator]]s (including [[44P12.3]] and a [https://catagolue.appspot.com/object/xp12_y0g88eh5e0e5he88gzo4k785kjge303egjk587k4ozo5d5g5d88gxg88d5g5d5oz01178lhm83m0m38mhl8711zy3345303543/b3s23 larger trivial oscillator]).
** {{:Catagolue/Stats|xp13|symmetry=higher}} [[:Category:Oscillators with period 13|period 13]] [[oscillator]] ([[Beluchenko's p13]]).
** {{:Catagolue/Stats|xp13|symmetry=higher}} [[:Category:Oscillators with period 13|period 13]] [[oscillator]] ([[Beluchenko's p13]]).
** {{:Catagolue/Stats|xp14|symmetry=higher}} [[:Category:Oscillators with period 14|period 14]] [[oscillator]]s ([[tumbler]] and [[34P14.1]]).
** {{:Catagolue/Stats|xp14|symmetry=higher}} [[:Category:Oscillators with period 14|period 14]] [[oscillator]]s (including [[34P14 shuttle]]).
** {{:Catagolue/Stats|xp15|symmetry=higher}} [[:Category:Oscillators with period 15|period 15]] [[oscillator]]s (including [[Karel's p15]] and [[112P15]]).
** {{:Catagolue/Stats|xp15|symmetry=higher}} [[:Category:Oscillators with period 15|period 15]] [[oscillator]]s (including [[Karel's p15]] and [[112P15]]).
** {{:Catagolue/Stats|xp16|symmetry=higher}} [[:Category:Oscillators with period 16|period 16]] [[oscillator]]s ([[Achim's p16]], [[Achim's other p16]], [[Rich's p16]], and [[68P16]]).
** {{:Catagolue/Stats|xp16|symmetry=higher}} [[:Category:Oscillators with period 16|period 16]] [[oscillator]]s ([[Achim's p16]], [[Achim's other p16]], [[Rich's p16]], and [[68P16]]).
Line 172: Line 211:
** {{:Catagolue/Stats|xp64|symmetry=higher}} [[:Category:Oscillators with period 64|period 64]] [[oscillator]] ([[p64 thunderbird hassler]]).
** {{:Catagolue/Stats|xp64|symmetry=higher}} [[:Category:Oscillators with period 64|period 64]] [[oscillator]] ([[p64 thunderbird hassler]]).
** {{:Catagolue/Stats|xp120|symmetry=higher}} [[:Category:Oscillators with period 120|period 120]] [[oscillator]]s (all of which are unnamed oscillators composed of [[figure eight]]s and [[pentadecathlon]]s).
** {{:Catagolue/Stats|xp120|symmetry=higher}} [[:Category:Oscillators with period 120|period 120]] [[oscillator]]s (all of which are unnamed oscillators composed of [[figure eight]]s and [[pentadecathlon]]s).
** {{:Catagolue/Stats|xp138|symmetry=higher}} [[:Category:Oscillators with period 138|period 138]] [[oscillator]]s (two variants of [[Gabriel's p138]]).
** {{:Catagolue/Stats|xp138|symmetry=higher}} [[:Category:Oscillators with period 138|period 138]] [[oscillator]]s (three variants of [[Gabriel's p138]]).
** {{:Catagolue/Stats|xp177|symmetry=higher}} [[:Category:Oscillators with period 177|period 177]] [[oscillator]] ([[Karel's p177]]).{{refn|group=note|Not properly recognized by [[apgsearch]] &lt; 4.0; see [[#Limitations|Limitations]].}}
** {{:Catagolue/Stats|xp177|symmetry=higher}} [[:Category:Oscillators with period 177|period 177]] [[oscillator]] ([[Karel's p177]]).{{refn|group=note|Not properly recognized by [[apgsearch]] &lt; 4.0; see [[#Limitations|Limitations]].}}
** {{:Catagolue/Stats|xp312|symmetry=higher}} [[:Category:Oscillators with period 312|period 312]] [[oscillator]] (a variant of [[60P312]]).
** {{:Catagolue/Stats|xp312|symmetry=higher}} [[:Category:Oscillators with period 312|period 312]] [[oscillator]] (a variant of [[60P312]]).
Line 179: Line 218:
** {{:Catagolue/Stats|xq10|symmetry=higher}} [[:Category:Spaceships with period 10|period 10]] [[spaceship]] (the [[copperhead]]).
** {{:Catagolue/Stats|xq10|symmetry=higher}} [[:Category:Spaceships with period 10|period 10]] [[spaceship]] (the [[copperhead]]).
** {{:Catagolue/Stats|xq12|symmetry=higher}} [[:Category:Spaceships with period 12|period 12]] [[spaceship]]s (the lightweight, middleweight and heavyweight [[Schick engine]]).
** {{:Catagolue/Stats|xq12|symmetry=higher}} [[:Category:Spaceships with period 12|period 12]] [[spaceship]]s (the lightweight, middleweight and heavyweight [[Schick engine]]).
** {{:Catagolue/Stats|xq16|symmetry=higher}} [[:Category:Spaceships with period 16|period 16]] [[spaceship]] (the [[Coe ship]]).
* Long-lived patterns:{{refn|group=note|name=longlived}}
* Long-lived patterns:{{refn|group=note|name=longlived}}
** {{:Catagolue/Stats|methuselah_25k|symmetry=higher}} [[methuselah]]s lasting between 25,000 and 25,999 generations.{{refn|group=note|name=25k}}
** {{:Catagolue/Stats|methuselah_25k|symmetry=higher}} [[methuselah]]s lasting between 25,000 and 25,999 generations.{{refn|group=note|name=25k}}
Line 189: Line 229:
** {{:Catagolue/Stats|methuselah_32k|symmetry=higher}} [[methuselah]]s lasting between 32,000 and 32,999 generations.
** {{:Catagolue/Stats|methuselah_32k|symmetry=higher}} [[methuselah]]s lasting between 32,000 and 32,999 generations.
** {{:Catagolue/Stats|methuselah_33k|symmetry=higher}} [[methuselah]]s lasting between 33,000 and 33,999 generations.
** {{:Catagolue/Stats|methuselah_33k|symmetry=higher}} [[methuselah]]s lasting between 33,000 and 33,999 generations.
** {{:Catagolue/Stats|methuselah_35k|symmetry=higher}} [[methuselah]] lasting between 35,000 and 35,999 generations.
** {{:Catagolue/Stats|methuselah_34k|symmetry=higher}} [[methuselah]]s lasting between 34,000 and 34,999 generations.
** {{:Catagolue/Stats|methuselah_35k|symmetry=higher}} [[methuselah]]s lasting between 35,000 and 35,999 generations.
** {{:Catagolue/Stats|methuselah_36k|symmetry=higher}} [[methuselah]]s lasting between 36,000 and 36,999 generations.
** {{:Catagolue/Stats|methuselah_36k|symmetry=higher}} [[methuselah]]s lasting between 36,000 and 36,999 generations.
** {{:Catagolue/Stats|methuselah_37k|symmetry=higher}} [[methuselah]] lasting between 37,000 and 37,999 generations.
** {{:Catagolue/Stats|methuselah_38k|symmetry=higher}} [[methuselah]] lasting between 38,000 and 38,999 generations.
** {{:Catagolue/Stats|methuselah_39k|symmetry=higher}} [[methuselah]]s lasting between 39,000 and 39,999 generations.
** {{:Catagolue/Stats|methuselah_41k|symmetry=higher}} [[methuselah]] lasting between 41,000 and 41,999 generations.
** {{:Catagolue/Stats|methuselah_45k|symmetry=higher}} [[methuselah]] lasting between 45,000 and 45,999 generations.
** {{:Catagolue/Stats|methuselah_45k|symmetry=higher}} [[methuselah]] lasting between 45,000 and 45,999 generations.
** {{:Catagolue/Stats|messless_5h|symmetry=higher}} [[diehard]]s lasting between 500 and 599 generations.
** {{:Catagolue/Stats|messless_5h|symmetry=higher}} [[diehard]]s lasting between 500 and 599 generations.
Line 203: Line 248:
** {{:Catagolue/Stats|messless_14h|symmetry=higher}} [[diehard]]s lasting between 1,400 and 1,499 generations.
** {{:Catagolue/Stats|messless_14h|symmetry=higher}} [[diehard]]s lasting between 1,400 and 1,499 generations.
** {{:Catagolue/Stats|messless_15h|symmetry=higher}} [[diehard]]s lasting between 1,500 and 1,599 generations.
** {{:Catagolue/Stats|messless_15h|symmetry=higher}} [[diehard]]s lasting between 1,500 and 1,599 generations.
** {{:Catagolue/Stats|messless_16h|symmetry=higher}} [[diehard]] lasting between 1,600 and 1,699 generations.
** {{:Catagolue/Stats|megasized_30h|symmetry=higher}} soups with a final population of between 3,000 and 3,099.
** {{:Catagolue/Stats|megasized_31h|symmetry=higher}} soups with a final population of between 3,100 and 3,199.
** {{:Catagolue/Stats|megasized_32h|symmetry=higher}} soups with a final population of between 3,200 and 3,299.
** {{:Catagolue/Stats|megasized_33h|symmetry=higher}} soups with a final population of between 3,300 and 3,399.
** {{:Catagolue/Stats|megasized_34h|symmetry=higher}} soups with a final population of between 3,400 and 3,499.
** {{:Catagolue/Stats|megasized_35h|symmetry=higher}} soups with a final population of between 3,500 and 3,599.
** ...
** {{:Catagolue/Stats|megasized_116h|symmetry=higher}} soups with a final population of between 11,600 and 11,699.
** {{:Catagolue/Stats|megasized_118h|symmetry=higher}} soup with a final population of between 11,700 and 11,799.
** {{:Catagolue/Stats|megasized_118h|symmetry=higher}} soups with a final population of between 11,800 and 11,899.
** {{:Catagolue/Stats|megasized_121h|symmetry=higher}} soup with a final population of between 12,100 and 12,199.
** {{:Catagolue/Stats|megasized_122h|symmetry=higher}} soup with a final population of between 12,200 and 12,299.
** {{:Catagolue/Stats|megasized_127h|symmetry=higher}} soups with a final population of between 12,700 and 12,799.
** {{:Catagolue/Stats|megasized_136h|symmetry=higher}} soup with a final population of between 13,600 and 13,699.
* Other patterns:
* Other patterns:
** {{:Catagolue/Stats|yl|symmetry=higher}} [[Infinite growth|Infinite-growth patterns]] (including the [[pufferfish]] and a [https://catagolue.appspot.com/object/yl8_1_6_7c96fb6c907075abf544c6f0759d83da/b3s23 period 8 blinker puffer] first found by [[Robert Wainwright]] in [[:Category:Patterns found in 1984|1984]],<ref name="post37255" />)
** {{:Catagolue/Stats|yl|symmetry=higher}} [[Infinite growth|Infinite-growth patterns]] (including the [[pufferfish]] and a [https://catagolue.appspot.com/object/yl8_1_6_7c96fb6c907075abf544c6f0759d83da/b3s23 symmetric variation] of [[Blinker puffer 1]]<ref name="post37255" />)


Patterns seen but not properly recognized by the client (see [[#Limitations|Limitations]] below) include a [https://catagolue.appspot.com/object/ov_p29/b3s23/ D8_1-symmetric variant] of the [[p29 pre-pulsar shuttle]].
Patterns seen but not properly recognized by the client (see [[#Limitations|Limitations]] below) include a [https://catagolue.appspot.com/object/ov_p29/b3s23/ D8_1-symmetric variant] of the [[p29 pre-pulsar shuttle]].
Line 214: Line 274:
| valign="top" | [[File:Catagolue distinct still life scatterplot b3s23 (higher symmetries).png|thumb|320px|center|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 ({{OEIS|A019473}}).]]
| valign="top" | [[File:Catagolue distinct still life scatterplot b3s23 (higher symmetries).png|thumb|320px|center|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 ({{OEIS|A019473}}).]]
|}
|}
</div></div>


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


As of {{:Catagolue/Stats|date|symmetry=SS}}, slow salvos have yielded a total of at least {{:Catagolue/Stats|numobjects|symmetry=SS}} objects of {{:Catagolue/Stats|distinctobjects|symmetry=SS}} distinct types, including:
As of {{:Catagolue/Stats|date|symmetry=SS}}, slow salvos have yielded a total of at least {{:Catagolue/Stats|numobjects|symmetry=SS}} objects of {{:Catagolue/Stats|distinctobjects|symmetry=SS}} distinct types.


<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view full slow salvo statistics.
<div class="mw-collapsible-content">
* Still lifes:
* Still lifes:
** All still lifes up to [[:Category:Strict still lifes with 10 cells|10 bits]].
** All still lifes up to [[:Category:Strict still lifes with 10 cells|10 bits]].
Line 253: Line 317:
| valign="top" | [[File:Catagolue distinct still life scatterplot b3s23 SS.png|thumb|320px|center|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 ({{OEIS|A019473}}).]]
| valign="top" | [[File:Catagolue distinct still life scatterplot b3s23 SS.png|thumb|320px|center|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 ({{OEIS|A019473}}).]]
|}
|}
</div></div>


==Other rules==
==Other rules==
Line 297: Line 362:


==Haul verification==
==Haul verification==
Hauls for official censuses of [[Life-like cellular automaton|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.
Hauls for official censuses of [[Life-like cellular automaton|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==
==Catagolue as a generic pattern inventory==
Line 309: Line 374:


This is simplified by the <tt>stdin</tt> 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.<ref name="post70977" /> 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.
This is simplified by the <tt>stdin</tt> 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.<ref name="post70977" /> 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.
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 <tt>synthesis-costs</tt> [https://catagolue.appspot.com/census/b3s23/synthesis-costs symmetry] of B3/S23.<ref name="post74801" />


==Contributor engagement==
==Contributor engagement==
Line 332: Line 399:
Catagolue census data for the main [[Conway's Game of Life|Conway Life]] census, B3/S23/C1, is backed up remotely every day at 17:29;{{refn|group=note|Ramanujan time, after the Hardy–Ramanujan number (1729) of G. H. Hardy's and Srinivasa Ramanujan's.}} 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 <tt>backupcron</tt> endpoint,{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/backupcron/&lt;rule&gt;/&lt;symmetry&gt;</nowiki></tt>}} with the desired rule and symmetry. Remote backups can be viewed by appending the date to the main census URL.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/census/&lt;rule&gt;/&lt;symmetry&gt;-&lt;year&gt;-&lt;month&gt;-&lt;day&gt;</nowiki></tt>}}
Catagolue census data for the main [[Conway's Game of Life|Conway Life]] census, B3/S23/C1, is backed up remotely every day at 17:29;{{refn|group=note|Ramanujan time, after the Hardy–Ramanujan number (1729) of G. H. Hardy's and Srinivasa Ramanujan's.}} 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 <tt>backupcron</tt> endpoint,{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/backupcron/&lt;rule&gt;/&lt;symmetry&gt;</nowiki></tt>}} with the desired rule and symmetry. Remote backups can be viewed by appending the date to the main census URL.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/census/&lt;rule&gt;/&lt;symmetry&gt;-&lt;year&gt;-&lt;month&gt;-&lt;day&gt;</nowiki></tt>}}


Local backups of Catagolue census data may be made by calling the <tt>textcensus</tt> endpoint for the desired rule and symmetry.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;</nowiki></tt>}} The list of objects returned can be sorted by object frequency{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;/sorted</nowiki></tt>}}, but this should be avoided when possible to reduce server load.<ref name="calcyman20170129" /> It is also possible to restrict objects returned to a certain prefix,{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;/&lt;prefix&gt;</nowiki></tt>}}, or to query the number of objects, grouped by prefix and including a total.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;/objcount</nowiki></tt>}}
Local backups of Catagolue census data may be made by calling the <tt>textcensus</tt> endpoint for the desired rule and symmetry.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;</nowiki></tt>}} The list of objects returned can be sorted by object frequency,{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;/sorted</nowiki></tt>}} but this should be avoided when possible to reduce server load.<ref name="calcyman20170129" /> It is also possible to restrict objects returned to a certain prefix,{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;/&lt;prefix&gt;</nowiki></tt>}} or to query the number of objects, grouped by prefix and including a total.{{refn|group=endpoint|<tt><nowiki>https://catagolue.appspot.com/textcensus/&lt;rule&gt;/&lt;symmetry&gt;/objcount</nowiki></tt>}}


==Limitations==
==Limitations==
{{alsosee|apgsearch#Limitations}}


===Server===
===Server===
Line 340: Line 408:


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.<ref name="post64739" /> In December 2018, Catagolue switched to a new compression system, allowing certain [[:Category:Oscillators with period 2|period 2]] [[oscillator]]s to be manually readded to the D8_1 and D8_4 censuses without meeting the 1 MB limit.<ref name="post66653" />
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.<ref name="post64739" /> In December 2018, Catagolue switched to a new compression system, allowing certain [[:Category:Oscillators with period 2|period 2]] [[oscillator]]s to be manually readded to the D8_1 and D8_4 censuses without meeting the 1 MB limit.<ref name="post66653" />
===Client===
Although the [[apgsearch]] family of programs has bespoke support for [[flotillae]] composed of two standard [[spaceship]]s 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 life]]s composed of many constituent parts may also fail to be separated properly.<ref name="david20161128" />
The maximum period for [[spaceship]]s and [[oscillator]]s 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 <tt>PATHOLOGICAL</tt>. The maximum [[bounding box]] for any spaceship, oscillator or [[still life]] is 40&times;40; larger objects are classified as <tt>ov_</tt> (oversized). High-period [[linear-growth pattern]]s may not be identified and instead reported as <tt>zz_LINEAR</tt>.


===Web frontend===
===Web frontend===
Line 352: Line 415:


==See also==
==See also==
 
* Lists of common objects:
** [[List of common still lifes]]
** [[List of common oscillators]]
** [[List of common spaceships]]
* Other censuses:
* Other censuses:
** [[Achim Flammenkamp's census]]
** [[Achim Flammenkamp's census]]
Line 450: Line 516:
|date  = February 18, 2019
|date  = February 18, 2019
}}</ref>
}}</ref>
<ref name="david20161128">{{cite web
<ref name="post74801">{{LinkForumThread
|url        = http://conwaylife.com/forums/viewtopic.php?p=37724#37724
|format = ref
|author    = Bag Sinhwan (박신환)
|title  = Re: Shinjuku: a database of glider syntheses
|work      = ConwayLife.com forums
|p      = 74801
|title      = Re: Soup search results
|author = Adam P. Goucher
|date       = November 28, 2016
|date   = April 11, 2019
|accessdate = November 28, 2016
}}</ref>
}}</ref>
<ref name="calcyman20170129">{{cite web
<ref name="calcyman20170129">{{cite web
Line 482: Line 547:
|author = Adam P. Goucher
|author = Adam P. Goucher
|date  = December 20, 2018
|date  = December 20, 2018
}}</ref>
<ref name="post79802">{{LinkForumThread
|format = ref
|title  = Re: Thread for basic questions
|p      = 79802
|author = Adam P. Goucher
|date  = July 18, 2019
}}</ref>
}}</ref>
</references>
</references>
Line 488: Line 560:
* [https://catagolue.appspot.com/home Catagolue homepage]
* [https://catagolue.appspot.com/home Catagolue homepage]
* [https://gol.hatsya.co.uk/home Catagolue homepage] (alternate; not blocked in mainland China)
* [https://gol.hatsya.co.uk/home Catagolue homepage] (alternate; not blocked in mainland China)
* [https://gitlab.com/apgoucher/catagolue Source code for the Catagolue backend]
{{LinkForumThread|f=7|t=3061|title=Catagolue Discussion Thread}}
{{LinkForumThread|f=7|t=3061|title=Catagolue Discussion Thread}}
{{LinkLexicon|lex_c.htm#catagolue}}
{{LinkLexicon|lex_c.htm#catagolue}}
Line 498: Line 571:


===Client software===
===Client software===
* [https://gitlab.com/apgoucher/apgmera apgmera (apgsearch 3.x) / apgluxe (apgsearch 4.x) code repository]
* [https://gitlab.com/apgoucher/apgmera apgmera (apgsearch 3.x) / apgluxe (apgsearch 4.x / 5.x) code repository]
* [https://gitlab.com/apgoucher/lifelib lifelib code repository]
{{LinkForumThread|f=7|t=3911|title=apgsearch v5.0}}
{{LinkForumThread|f=7|t=3049|title=apgsearch v4.0}}
{{LinkForumThread|f=7|t=3049|title=apgsearch v4.0}}
{{LinkForumThread|f=7|t=2099|title=apgsearch v3.1}}
{{LinkForumThread|f=7|t=2099|title=apgsearch v3.1}}
* [https://gitlab.com/apgoucher/apgnano apgnano (apgsearch 2.x) code repository]
{{LinkForumThread|f=7|t=1784|title=apgsearch v2.2}}
{{LinkForumThread|f=7|t=1784|title=apgsearch v2.2}}
{{LinkForumThread|f=7|t=1630|title=apgsearch v1.0}}
{{LinkForumThread|f=7|t=1630|title=apgsearch v1.0}}
{{LinkForumThread|f=7|t=1443|title=apgsearch: a high-performance soup searcher}} (original discussion thread)
{{LinkForumThread|f=9|t=1480|title=Hacking apgsearch}}
{{LinkForumThread|f=9|t=1480|title=Hacking apgsearch}}
===Server software===
* [https://gitlab.com/apgoucher/catagolue Source code for the Catagolue backend]


===Unofficial browser extension===
===Unofficial browser extension===

Revision as of 23:04, 18 August 2019

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
Initial soup density 0.5[note 2]
Soups searched ≥501,395,668,884,543
Results
Total objects ≥5,672,370,87,092,536
Distinct objects ≥495,474

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 January 8, 2024, at least 501,395,668,884,543 soups have been investigated by the census's participants, yielding a total of at least 5,672,370,87,092,536 objects of 495,474 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 January 8, 2024, at least 501,395,668,884,543 soups have been investigated by the census's participants, yielding a total of at least 5,672,370,87,092,536 objects of 495,474 distinct types.[5]

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

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).

Higher symmetries

As of March 12, 2024, at least 1,075,698,622,453,873 soups have been investigated in higher symmetries[note 7] of B3/S23, yielding a combined total of at least 15,217,000,000,000,000 objects of 3,887,077 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 (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

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:

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

Other notable rules investigated include:

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[8]

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

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

Contributor engagement

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:

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 13] 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.[12] 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]

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

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.[14] 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.[15]

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

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.[6]
  5. 5.0 5.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.
  6. 6.0 6.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.
  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. 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".
  11. The "Hitchhiker" badge has not been awarded as of March 5, 2018.
  12. Sic; a deliberate reference to this post on MathOverflow and the comments it attracted.
  13. Ramanujan time, after the Hardy–Ramanujan number (1729) of G. H. Hardy's and Srinivasa Ramanujan's.
  14. 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/user/<user name>
  5. https://catagolue.appspot.com/backupcron/<rule>/<symmetry>
  6. https://catagolue.appspot.com/census/<rule>/<symmetry>-<year>-<month>-<day>
  7. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>
  8. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>/sorted
  9. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>/<prefix>
  10. https://catagolue.appspot.com/textcensus/<rule>/<symmetry>/objcount
  11. 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 (July 18, 2019). Re: Thread for basic questions (discussion thread) at the ConwayLife.com forums
  7. thunk (November 12, 2016). "Re: Soup search results". ConwayLife.com forums. Retrieved on November 12, 2016.
  8. Re: Extending apgcodes to larger patterns (discussion thread) at the ConwayLife.com forums
  9. Hdjensofjfnen (February 18, 2019). Re: Soup search results (discussion thread) at the ConwayLife.com forums
  10. Adam P. Goucher (April 11, 2019). Re: Shinjuku: a database of glider syntheses (discussion thread) at the ConwayLife.com forums
  11. Re: Hacking apgsearch (discussion thread) at the ConwayLife.com forums
  12. Adam P. Goucher (January 29, 2017). "Re: Catagolue Oddities". ConwayLife.com forums. Retrieved on January 29, 2017.
  13. Adam P. Goucher (June 30, 2016). "Re: B3/S12-ae34ceit". ConwayLife.com forums. Retrieved on July 5, 2016.
  14. Adam P. Goucher (October 14, 2018). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  15. Adam P. Goucher (December 20, 2018). Re: Catagolue Discussion Thread (discussion thread) at the ConwayLife.com forums
  16. 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

Unofficial Twitter bot

  • Twitter bot (discussion thread) at the ConwayLife.com forums