apgsearch v4.0

For general discussion about Conway's Game of Life.
User avatar
calcyman
Moderator
Posts: 2929
Joined: June 1st, 2009, 4:32 pm

Re: apgsearch v4.0

Post by calcyman » October 14th, 2017, 10:22 am

calcyman wrote:There certainly shouldn't be 8400 nested calls in pbbosc; will endeavour to amend...
Fixed in apgluxe v4.22-ll1.21.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
calcyman
Moderator
Posts: 2929
Joined: June 1st, 2009, 4:32 pm

Re: apgsearch v4.0

Post by calcyman » October 14th, 2017, 10:24 am

Here's the muzik haul, projected to 10000 soups, as proof of concept:

https://gol.hatsya.co.uk/haul/r2b4t4s10 ... df6b5ca96b
What do you do with ill crystallographers? Take them to the mono-clinic!

drc
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm

Re: apgsearch v4.0

Post by drc » October 14th, 2017, 12:00 pm

These two copies of the same exact ship are showing up as two different patterns. What's going on?

User avatar
calcyman
Moderator
Posts: 2929
Joined: June 1st, 2009, 4:32 pm

Re: apgsearch v4.0

Post by calcyman » October 14th, 2017, 12:35 pm

drc wrote:These two copies of the same exact ship are showing up as two different patterns. What's going on?
Oh no. Does the phase with the longer apgcode fit inside 40x40, and the shorter one exceed it?
What do you do with ill crystallographers? Take them to the mono-clinic!

drc
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm

Re: apgsearch v4.0

Post by drc » October 14th, 2017, 12:39 pm

calcyman wrote:
drc wrote:These two copies of the same exact ship are showing up as two different patterns. What's going on?
Oh no. Does the phase with the longer apgcode fit inside 40x40, and the shorter one exceed it?
The shorter one (6r0gm) is 41x33, the longer one (yaomi) is 37x38, so yes.

User avatar
calcyman
Moderator
Posts: 2929
Joined: June 1st, 2009, 4:32 pm

Re: apgsearch v4.0

Post by calcyman » October 14th, 2017, 12:58 pm

drc wrote:
calcyman wrote:
drc wrote:These two copies of the same exact ship are showing up as two different patterns. What's going on?
Oh no. Does the phase with the longer apgcode fit inside 40x40, and the shorter one exceed it?
The shorter one (6r0gm) is 41x33, the longer one (yaomi) is 37x38, so yes.
This is to be expected; it's a result of increasing the size limit from 40x40 in v4.x.
What do you do with ill crystallographers? Take them to the mono-clinic!

drc
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm

Re: apgsearch v4.0

Post by drc » October 14th, 2017, 1:02 pm

calcyman wrote: This is to be expected; it's a result of increasing the size limit from 40x40 in v4.x.
Oh! Now I get it, Apple Bottom did 5 hauls on the old version:

Code: Select all

FNNxmrQ3mgtw	Apple Bottom	10000	20119	2017-10-14 09:35:13	v0.54+0.33i
9dH5EiutXAZt	Apple Bottom	10000	19434	2017-10-14 09:20:15	v0.54+0.33i
ytrQe6JK6sqc	Apple Bottom	10000	18952	2017-10-14 09:03:28	v0.54+0.33i
vTDwQRd2yjmn	Apple Bottom	10000	18107	2017-10-14 08:49:23	v0.54+0.33i
Gk2uRduhENJn	Apple Bottom	10000	18816	2017-10-14 08:35:13	v0.54+0.33i
That's why all of the soups for the yaomi version are from those hauls. It's a shame, I liked the v0's apgcode better. :^(

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: apgsearch v4.0

Post by mniemiec » October 14th, 2017, 2:18 pm

calcyman wrote:This is to be expected; it's a result of increasing the size limit from 40x40 in v4.x.
If new versions can produce apgcodes that are different from (and presumably, better than) those of older versions, how feasible would it be to write a filter that finds all ov_* objects in all hauls for all rules, and renames them to their new improved names (hopefully eliminating ov_* altogther)? That would require rerunning all the old hauls and scanning them both the old and the new way.

It would also be necessary to examine xp_* and xq_* for objects whose choice of canonical phase has changed; hopefully there should be very few of them (like this one spaceship). This wouldn't require re-running the hauls, just looking at the text censuses from them making a list of problematic apgcodes to rename and/or merge.

I'm also curious how difficult it would be to have apgsearch not only split pseudo-objects into thier components, but to also report the pseudo-objects in their entirety? Synthesis of pseudo-objects is much easier than that of normal objects, but at larger sizes, some are problematic and could also benefit from soup searching; since the searches are already being done anyway, this extra data should come at virtually zero cost.

User avatar
calcyman
Moderator
Posts: 2929
Joined: June 1st, 2009, 4:32 pm

Re: apgsearch v4.0

Post by calcyman » October 14th, 2017, 5:55 pm

mniemiec wrote:(various suggestions)
These are very good ideas. Possibly the most helpful way to approach this would be to have a 'Catagolue cleaner' script which looks for anomalies (such as poorly-separated objects, oversized objects, and other misidentifications) and produces rule-specific lists of mappings (such as 'yaomi... --> 6r0gm...') which are uploaded to Catagolue. These mappings could be applied both retrospectively (rewriting history) and to future hauls as they're uploaded into the census.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: apgsearch v4.0

Post by Saka » October 14th, 2017, 6:53 pm

calcyman wrote:
mniemiec wrote:(various suggestions)
These are very good ideas. Possibly the most helpful way to approach this would be to have a 'Catagolue cleaner' script ...
Please don't clean Saka_Test there's a beautiful xq4_<marquee>Humansareugly</marquee> there.

User avatar
muzik
Posts: 5578
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v4.0

Post by muzik » October 14th, 2017, 6:59 pm

On a similar subject, can the symmetry 32x32 be renamed to something like WW_32x32_TEST?

drc
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm

Re: apgsearch v4.0

Post by drc » October 19th, 2017, 8:35 pm

What is this 'magic sauce?':

Code: Select all

$ ./recompile.sh --rule b2ce3-ir4a5ys2-c3-y --symmetry C1
Skipping updates; use --update to update apgluxe automatically.
Not a git repository; skipping updates...
Configuring rule b2ce3-ir4a5ys2-c3-y; symmetry C1
Compressing 512-bit lookup table for rule b2ce3-ir4a5ys2-c3-y...
Creating magic sauce for rule b2ce3-ir4a5ys2-c3-y...

User avatar
Cclee
Posts: 56
Joined: October 5th, 2017, 9:51 pm
Location: de internet

Re: apgsearch v4.0

Post by Cclee » October 20th, 2017, 12:13 am

drc wrote:What is this 'magic sauce?':

Code: Select all

$ ./recompile.sh --rule b2ce3-ir4a5ys2-c3-y --symmetry C1
Skipping updates; use --update to update apgluxe automatically.
Not a git repository; skipping updates...
Configuring rule b2ce3-ir4a5ys2-c3-y; symmetry C1
Compressing 512-bit lookup table for rule b2ce3-ir4a5ys2-c3-y...
Creating magic sauce for rule b2ce3-ir4a5ys2-c3-y...
Majik
^
What ever up there likely useless

User avatar
calcyman
Moderator
Posts: 2929
Joined: June 1st, 2009, 4:32 pm

Re: apgsearch v4.0

Post by calcyman » October 20th, 2017, 1:42 am

drc wrote:What is this 'magic sauce?':

Code: Select all

$ ./recompile.sh --rule b2ce3-ir4a5ys2-c3-y --symmetry C1
Skipping updates; use --update to update apgluxe automatically.
Not a git repository; skipping updates...
Configuring rule b2ce3-ir4a5ys2-c3-y; symmetry C1
Compressing 512-bit lookup table for rule b2ce3-ir4a5ys2-c3-y...
Creating magic sauce for rule b2ce3-ir4a5ys2-c3-y...
A lookup table for a SIMD-based isotropic algorithm; currently unused in favour of a pure lookup table approach.
What do you do with ill crystallographers? Take them to the mono-clinic!

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: apgsearch v4.0

Post by mniemiec » October 20th, 2017, 3:29 am

calcyman wrote:A lookup table for a SIMD-based isotropic algorithm; currently unused in favour of a pure lookup table approach.
I remember back in the 1970s, Peter Raynham wrote a Life program that ran on the IBM 1620. That was a decimal machine with arbitrary operand length. It used in-core addition and multiplication tables. His algorithm used traditional arithmetic rules for adding neighbors, adding the entire field in 6 instructions. He then replaced the addition table with a special Life table and computed field=field+neighbors, where the addition table defined 0+3=1+3=1+4=1 and x+y=0 otherwise. 9 instructions to evaluate an arbitrarily large field.

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: apgsearch v4.0

Post by mniemiec » October 21st, 2017, 1:34 am

I was just reviewing the results from a few searches I did a few weeks ago in rule b3s2aei3aeijr4-cknqy, and came across these anomalous results. This rule has a natural rotating glider gun, so in symmetrical searches, one expects to see a few of them. http://catagolue.appspot.com/census/b3s ... _+2/yl1104 shows 4 signatures; the first two include four symmetrically placed guns, as expected. However, the last two each show one soup, each of which become stable rather quickly; the first becomes 12 blocks around step 110, and the other forms four blinkers and four P15 spaceships at step 130; neither should be classified as yl.

Also, http://catagolue.appspot.com/census/b3s ... THOLOGICAL shows 2 soups. The first dies at step 81, and the second forms 16 blocks at step 34. These should have been decomposed easily.

I get the same results from Golly and from my old DOS Life program, so it's not a problem of running the soups incorrectly. It seems like apgmera mis-classified these four soups. This must be a subtle bug, because all the other results for this rule appear correct as far as I have looked (e.g. all the objects it found were either ones I previously knew about, or if they were new, the soups did indeed produce them).

User avatar
muzik
Posts: 5578
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v4.0

Post by muzik » October 22nd, 2017, 8:53 pm

Is it a bad idea to have 5 instances of apgsearch running simultaneously on a single computer all searching the same rule?

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: apgsearch v4.0

Post by mniemiec » October 22nd, 2017, 9:11 pm

muzik wrote:Is it a bad idea to have 5 instances of apgsearch running simultaneously on a single computer all searching the same rule?
It probably wouldn't gain you anything unless you have at least 5 free cores.

While I'm at it, here is one thing I think that would be a useful thing to add to apgsearch that would likely not require much effort: an option to create a local file copy of the most recent soup that produces any kind of "unusual" soup message, such as "x would take infeasibly long to brute-force separate" or the one about failing to achieve periodicity. That way, one could examine the soup manually with other tools (e.g. Golly) to see what is going on. This would be especially useful in cases where a rule is not known to be explosive, but there might be rare objects that have that property. A similarly useful feature would be to have an option to store a local file copy of the most recent soup being examined before it is examined. This might impact performance slightly in the general case, but it would be useful in expanding rules; when you only get around 10 searches per second, the impact would be negligible, and would allow one to track down what kinds of behavior cause apgsearch to hang. (In the rule I mentioned previously, I have since been able to search all symmetries except two: C2_2 C4_1; even after dozens of attempts at each, on many occasions I have been able to get thousands of soups run without hanging, but have yet to be able to get 10000 in a single run.) Being able to examine just which soup is causing a hang would be very useful.

drc
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm

Re: apgsearch v4.0

Post by drc » October 22nd, 2017, 9:48 pm

mniemiec wrote:"x would take infeasibly long to brute-force separate"
The problem with that is that some rules have lots of those error messages (B2ce3ai/S1c23-a, Movostill 2, etc.), so I feel like it may cause problems searching those rules, any ideas on how to add an option to disable this?

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: apgsearch v4.0

Post by mniemiec » October 23rd, 2017, 12:14 am

drc wrote:
mniemiec wrote:"x would take infeasibly long to brute-force separate"
The problem with that is that some rules have lots of those error messages (B2ce3ai/S1c23-a, Movostill 2, etc.), so I feel like it may cause problems searching those rules, any ideas on how to add an option to disable this?
I was suggesting adding options to save the search soup in certain circumstances. These would have minimum impact on the code (perhaps a few lines here and there), and would have zero impact on most searches, except if those options were actually enabled.

In my case, I only recall seeing the "infeasibly long" message once, and once the haul had been uploaded, when I examined the object in question, it was fairly small (much smaller than many of the shuttle-based oscillators apgsearch has successfully separated). Specifically: http://catagolue.appspot.com/object/xp2 ... ijr4-cknqy

I have seen "Failed to detect periodic behaviour!" on several occasions, but every single time it happens, the program hangs - so I have no idea just what is causing it. If I could see the soup that causes it, and could run it in Golly, I might have an idea why it's happening (i.e if it's a bug in apgsearch, or some kind of rare exposive pattern). The last time was after 9366 soups, so I am very close to a run of 10000 in a row needed to upload a haul, but still not quite.

User avatar
muzik
Posts: 5578
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v4.0

Post by muzik » October 23rd, 2017, 2:23 am

It tends to happen a lot in a lot of LtL rules from my experience, though.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: apgsearch v4.0

Post by Macbi » October 23rd, 2017, 3:32 am

mniemiec wrote:
muzik wrote:Is it a bad idea to have 5 instances of apgsearch running simultaneously on a single computer all searching the same rule?
It probably wouldn't gain you anything unless you have at least 5 free cores.
I have a four core machine with hyperthreading and I've found that having eight threads makes apgsearch fastest.

dani
Posts: 1222
Joined: October 27th, 2017, 3:43 pm

Re: apgsearch v4.0

Post by dani » October 28th, 2017, 10:24 am

What are the differences between how v4 and v0.54+i handle chaotic growth with replicators? The latter seems to handle them way faster, but take more RAM.

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: apgsearch v4.0

Post by mniemiec » October 29th, 2017, 2:09 pm

Is there any way on Catagolue to search for a specific apgcode and determine which rules it has been found in, short of exhaustively looking under every symmetry under every rule?
At some point recently, I made a notation about yl1170_6_1719_e2381858ca866c94488eff5edbdea1a0 but it got separated from its context, so now I have no idea what rule it was in (I have manually checked all the rules I have been looking at recently, and it isn't in any of them), and am not sure if it was important or not. Unfortunately, growing patterns aren't stored by bit image, so the pattern image can't just be deduced directly from the apgcode, as it can be for still-lifes, oscillators, or spaceships.

User avatar
Apple Bottom
Posts: 1034
Joined: July 27th, 2015, 2:06 pm
Contact:

Re: apgsearch v4.0

Post by Apple Bottom » October 30th, 2017, 2:15 am

mniemiec wrote:Is there any way on Catagolue to search for a specific apgcode and determine which rules it has been found in, short of exhaustively looking under every symmetry under every rule?
At some point recently, I made a notation about yl1170_6_1719_e2381858ca866c94488eff5edbdea1a0 but it got separated from its context, so now I have no idea what rule it was in (I have manually checked all the rules I have been looking at recently, and it isn't in any of them), and am not sure if it was important or not. Unfortunately, growing patterns aren't stored by bit image, so the pattern image can't just be deduced directly from the apgcode, as it can be for still-lifes, oscillators, or spaceships.
There's no way to search across rules on the site to my knowledge, no.

FWIW I'm not finding that object either. The only yl1170's are in B2e3ai4arw5678/S3-an4ar5i678 (which I searched extensively half a year ago). Outside of that, the only thing I can find that comes close is a yl1176 in B35v7-e/S23. Are you sure the result got submitted to Catagolue?

(Also, are you passing the option to save local logs to apgluxe? If so, and if you're indeed keeping them, you should be able to grep through those to find the object.)
If you speak, your speech must be better than your silence would have been. — Arabian proverb

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!

Post Reply