Octohash database: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
Created page with "{{stub}} The '''12x12-1G-octohash database'''<ref>[https://github.com/dvgrn/octohash/ Repository] on GitHub</ref> is a series of text files containing RLE and hash "fingerprints" for constellations of two well-separated small objects, with gliders hitting those constellations in all possible ways. It is designed to be easily searchable and includes Python scripts for doing so. It also works with Golly. Note that lifelib has a similar functionality called octo..."
 
Confocal (talk | contribs)
m cat
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{stub}}
{{stub}}
The '''12x12-1G-octohash database'''<ref>[https://github.com/dvgrn/octohash/ Repository] on GitHub</ref> is a series of text files containing [[RLE]] and hash "fingerprints" for constellations of two well-separated small objects, with gliders hitting those constellations in all possible ways. It is designed to be easily searchable and includes Python scripts for doing so. It also works with [[Golly]]. Note that [[lifelib]] has a similar functionality called octodigest but the [[octohash]] database has no dependency on lifelib.
The octohash function is a hash function that returns the same value for any of the eight orientations of a [[pattern]] -- in other words, the octohash of any rotation or reflection of a pattern will always be the same as the octohash of the original pattern.
 
Several databases implemented using the octohash function can be used to search for active reactions that produce a given pattern (which may be active or settled). The databases are designed to work with [[Golly]] and Python, without other dependencies.
 
{|style="margin:16px;width:360px;float:right;"
|{{EmbedViewer
|rle          = x = 79, y = 25, rule = B3/S23
10bo$9bobo$8bo2bo$9b2o6$74bo$75b2o$29bo24bo19b2o$28bobo22bobo$29bobo
22bobo$24b2o4b2o17b2o4b2o17b2o$23bo2bo21bo2bo21bobo$24b2o23b2o24bo$2b
3o2$o5bo$o5bo31bo$o5bo30b2o23b2o$37bobo21b2o13b3o$2b3o58bo14bo$77bo!
|viewerconfig = #C [[ THEME Book ZOOM 6 X 4 Y 0 AUTOSTART GPS 12 T 0 PAUSE 5 T 22 PAUSE 3 T 119 PAUSE 2 LOOP 120 ]]
|position    = center
|caption      = For a [[Traffic light|TL]]+[[loaf]] constellation (left), the octohash database has two matches (middle), the octo3g database has one match (right), and the octo3obj database has 56 matches (not shown)
}}
|-
|{{EmbedViewer
|rle          = x = 27, y = 22, rule = B3/S23
7$10b2o$10b2o2$5b2o$4bobo3b2o6b2o$6bo3b2o2b2o2b2o$14b2o2$11b2o$11b2o!
|viewerconfig = #C [[ THEME Book ZOOM 16 X 2 Y 4 AUTOSTART GPS 12 T 0 PAUSE 3 T 22 PAUSE 3 T 44 PAUSE 2 LOOP 45 ]]
|position    = center
|caption      = For a pattern consisting of a [[Herschel]] and a [[block]], the octo3obj database has one match, with a glider hitting a constellation made of two half blockades and one other block
}}
|}
 
The ''octohash database''<ref name="db_octohash" /><ref name="thread4660" />, published in August 2020, catalogues generations of 455380 collisions between a single [[glider]] and all possible [[constellation]]s of up to two well-separated objects (excluding [[pseudo still life]]s) fitting inside a {{times|12|12}} bounding box; the included objects are [[block]], [[tub]], [[boat]], [[beehive]], [[ship]], [[loaf]], [[eater]], [[pond]], [[long boat]], and [[blinker]].
 
The ''octo3obj database''<ref name="db_octo3obj" /><ref name="post147380" />, finished in June 2022, catalogues generations of 3421907 collisions between a single glider and all possible constellations of up to three well-separated patterns fitting inside an {{times|11|11}} bounding box; the included objects and constellations are [[blinker]], [[block]], [[beehive]], [[bi-block]], [[half blockade]], and [[teardrop]] ash (two beehives).
 
The ''octo3g database''<ref name="db_octo3g" /><ref name="post149677" /><ref name="post150819" />, completed in August 2022, catalogues generations of 464746 collisions in a subset of [[three-glider collision]]s, making it possible to search 3G collisions in the same way as active patterns in the previous octo3obj and octohash databases.


==See also==
==See also==
*[[Tutorials/Glider syntheses]]
* [[Tutorials/Glider syntheses]]
*[[Tutorials/Catagolue stdin symmetry]]
* [[Tutorials/Catagolue stdin symmetry]]


==References==
==References==
<references></references>
<references>
 
<ref name="db_octohash">[https://github.com/dvgrn/octohash {{filename|dvgrn/octohash}}] on GitHub</ref>
<ref name="db_octo3obj">[https://github.com/dvgrn/octo3obj {{filename|dvgrn/octo3obj}}] on GitHub</ref>
<ref name="db_octo3g">[https://github.com/dvgrn/octo3g {{filename|dvgrn/octo3g}}] on GitHub</ref>
 
<ref name="thread4660">{{LinkForumThread
|format  = ref
|t      = 4660
|title  = Octohash fingerprints
}}</ref>
 
<ref name="post147380">{{LinkForumThread
|format  = ref
|p      = 147380
|title  = Re: Octohash fingerprints
|author  = Dave Greene
|date    = June 21, 2022
}}</ref>
 
<ref name="post149677">{{LinkForumThread
|format  = ref
|p      = 149677
|title  = Re: Enumerating Three-Glider Collisions
|author  = Dave Greene
|date    = August 17, 2022
}}</ref>
 
<ref name="post150819">{{LinkForumThread
|format  = ref
|p      = 150819
|title  = Re: NewLifeCA Back Issues
|author  = Dave Greene
|date    = September 10, 2022
}}</ref>
 
</references>
 
[[Category:Pattern collections and databases]]
[[Category:Search software]]
[[Category:Software]]
[[Category:Synthesis]]

Latest revision as of 05:56, 8 December 2022

This article is a stub. You can help LifeWiki by expanding it.

The octohash function is a hash function that returns the same value for any of the eight orientations of a pattern -- in other words, the octohash of any rotation or reflection of a pattern will always be the same as the octohash of the original pattern.

Several databases implemented using the octohash function can be used to search for active reactions that produce a given pattern (which may be active or settled). The databases are designed to work with Golly and Python, without other dependencies.

x = 79, y = 25, rule = B3/S23 10bo$9bobo$8bo2bo$9b2o6$74bo$75b2o$29bo24bo19b2o$28bobo22bobo$29bobo 22bobo$24b2o4b2o17b2o4b2o17b2o$23bo2bo21bo2bo21bobo$24b2o23b2o24bo$2b 3o2$o5bo$o5bo31bo$o5bo30b2o23b2o$37bobo21b2o13b3o$2b3o58bo14bo$77bo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THEME Book ZOOM 6 X 4 Y 0 AUTOSTART GPS 12 T 0 PAUSE 5 T 22 PAUSE 3 T 119 PAUSE 2 LOOP 120 ]]
For a TL+loaf constellation (left), the octohash database has two matches (middle), the octo3g database has one match (right), and the octo3obj database has 56 matches (not shown)
(click above to open LifeViewer)
x = 27, y = 22, rule = B3/S23 7$10b2o$10b2o2$5b2o$4bobo3b2o6b2o$6bo3b2o2b2o2b2o$14b2o2$11b2o$11b2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THEME Book ZOOM 16 X 2 Y 4 AUTOSTART GPS 12 T 0 PAUSE 3 T 22 PAUSE 3 T 44 PAUSE 2 LOOP 45 ]]
For a pattern consisting of a Herschel and a block, the octo3obj database has one match, with a glider hitting a constellation made of two half blockades and one other block
(click above to open LifeViewer)

The octohash database[1][2], published in August 2020, catalogues generations of 455380 collisions between a single glider and all possible constellations of up to two well-separated objects (excluding pseudo still lifes) fitting inside a 12 × 12 bounding box; the included objects are block, tub, boat, beehive, ship, loaf, eater, pond, long boat, and blinker.

The octo3obj database[3][4], finished in June 2022, catalogues generations of 3421907 collisions between a single glider and all possible constellations of up to three well-separated patterns fitting inside an 11 × 11 bounding box; the included objects and constellations are blinker, block, beehive, bi-block, half blockade, and teardrop ash (two beehives).

The octo3g database[5][6][7], completed in August 2022, catalogues generations of 464746 collisions in a subset of three-glider collisions, making it possible to search 3G collisions in the same way as active patterns in the previous octo3obj and octohash databases.

See also

References

  1. dvgrn/octohash on GitHub
  2. Octohash fingerprints (discussion thread) at the ConwayLife.com forums
  3. dvgrn/octo3obj on GitHub
  4. Dave Greene (June 21, 2022). Re: Octohash fingerprints (discussion thread) at the ConwayLife.com forums
  5. dvgrn/octo3g on GitHub
  6. Dave Greene (August 17, 2022). Re: Enumerating Three-Glider Collisions (discussion thread) at the ConwayLife.com forums
  7. Dave Greene (September 10, 2022). Re: NewLifeCA Back Issues (discussion thread) at the ConwayLife.com forums