apgsearch v4.0

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

Re: apgsearch v4.0

Post by calcyman » August 19th, 2017, 7:36 pm

muzik wrote:Seems to be working like a charm for me now.

EDIT: Nnnnooope. Generations searching doesnt seem to be very healthy. It still seems to search fine, but this error right here appears:
That's a warning, rather than an error, and it can be safely ignored. (I've modified rule2asm.py to ensure these warnings are no longer emitted.)

In other news, your g7b3s23 census looks very healthy indeed:

https://catagolue.appspot.com/census/g7b3s23/C1
drc wrote:Yes, I inserted '#include <strings.h>' between '#include <sys/types.h>' and '#include <sys/select.h>' in happyhttp.cpp
Well, the 'sys/types.h' is commented out so has no effect anyway -- are you sure the 'strings.h' isn't also commented out?
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 » August 19th, 2017, 7:40 pm

calcyman wrote:
drc wrote:Yes, I inserted '#include <strings.h>' between '#include <sys/types.h>' and '#include <sys/select.h>' in happyhttp.cpp
Well, the 'sys/types.h' is commented out so has no effect anyway -- are you sure the 'strings.h' isn't also commented out?
Ohhh. You see, notepad is really bad and so everything shows up on one line so I forgot to add an extra return character before the tab. It works now! Note that the eater 2 generates extremely slowly. Thanks for the help!

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

Re: apgsearch v4.0

Post by muzik » August 19th, 2017, 7:52 pm

Hence why you should probably invest in downloading Notepad++ for such purposes.


Also, I wouldn't call my census on the aforementioned rule 100% healthy, due to the much lack of sample soups for this spaceship:
https://catagolue.appspot.com/object/xq ... 04/g7b3s23

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

Re: apgsearch v4.0

Post by calcyman » August 19th, 2017, 8:06 pm

muzik wrote:Hence why you should probably invest in downloading Notepad++ for such purposes.
Seconded.
Also, I wouldn't call my census on the aforementioned rule 100% healthy, due to the much lack of sample soups for this spaceship:
https://catagolue.appspot.com/object/xq ... 04/g7b3s23
That's been a property of Catagolue since time immemorial; you won't find sample soups for the blinker or beehive, either. Basically, Catagolue doesn't know* how many sample soups it has stored already, so it guesses by the number of objects in the census (*after* the haul has been included). If it's so common that over 200 appearances exist in the first haul, it doesn't add any to the list of sample soups.

* Datastore read operations are among the things which count towards the quota, so neglecting to read the sample soups helps Catagolue stay awake for the day.

You can still view sample soups for common objects by choosing any committed haul and Ctrl+F-ing for the apgcode in question.
What do you do with ill crystallographers? Take them to the mono-clinic!

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

Re: apgsearch v4.0

Post by muzik » August 19th, 2017, 8:45 pm


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

Re: apgsearch v4.0

Post by Saka » August 19th, 2017, 10:21 pm

I forgot to include git and python2 when installing cygwin. Do I really have to reinstall all over again?

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

Re: apgsearch v4.0

Post by drc » August 19th, 2017, 10:41 pm

apgsearch seems to choke up on g7b3s345. What's going on?
EDIT: After careful observation, it seems to be explosion on diagonal axes:

Code: Select all

x = 5, y = 5, rule = 345/3/7
.A$3A$.A$3.2A$3.2A!

Code: Select all

x = 11, y = 11, rule = 345/3/7
.A$3A$.A$3.2A$3.2A2$6.2A$6.2A$9.A$8.3A$9.A!

Code: Select all

x = 31, y = 31, rule = 345/3/7
3.A3.A3.A3.A3.A3.A3.A$2.3A.3A.3A.A.A.3A.3A.3A$.A.A.A.A.A.A.A.A.A.A.A.
A.A.A.A$3A.3A.3A.3A.3A.3A.3A.3A$.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A$2.3A.
3A.3A.3A.3A.3A.3A$.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A$3A.3A.3A.3A.3A.3A.3A
.3A$.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A$2.3A.3A.3A.3A.3A.3A.3A$.A.A.A.A.A.
A.A.A.A.A.A.A.A.A.A$3A.3A.3A.3A.3A.3A.3A.3A$.A.A.A.A.A.A.A3.A.A.A.A.A
.A.A$2.3A.3A.3A.A.A.3A.3A.3A$.A.A.A.A.A.A.A3.A.A.A.A.A.A.A$A.A.3A.3A
9.3A.3A.A.A$.A.A.A.A.A.A.A3.A.A.A.A.A.A.A$2.3A.3A.3A.A.A.3A.3A.3A$.A.
A.A.A.A.A.A3.A.A.A.A.A.A.A$3A.3A.3A.3A.3A.3A.3A.3A$.A.A.A.A.A.A.A.A.A
.A.A.A.A.A.A$2.3A.3A.3A.3A.3A.3A.3A$.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A$3A
.3A.3A.3A.3A.3A.3A.3A$.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A$2.3A.3A.3A.3A.3A
.3A.3A$.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A$3A.3A.3A.3A.3A.3A.3A.3A$.A.A.A.
A.A.A.A.A.A.A.A.A.A.A.A$2.3A.3A.3A.A.A.3A.3A.3A$3.A3.A3.A3.A3.A3.A3.A
!

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

Re: apgsearch v4.0

Post by Saka » August 20th, 2017, 10:06 am

Um (Some unimportant stuff omitted for reasons)

Code: Select all

sakaf@Surface ~
$ git clone https://gitlab.com/apgoucher/apgmera.git
Cloning into 'apgmera'...

sakaf@Surface ~
$ ./recompile.sh
-bash: ./recompile.sh: No such file or directory

sakaf@Surface ~
$ bash recompile.sh
bash: recompile.sh: No such file or directory

sakaf@Surface ~
$ ./apgmera
-bash: ./apgmera: No such file or directory

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

Re: apgsearch v4.0

Post by calcyman » August 20th, 2017, 10:18 am

Saka wrote:Um (Some unimportant stuff omitted for reasons)

Code: Select all

sakaf@Surface ~
$ git clone https://gitlab.com/apgoucher/apgmera.git
Cloning into 'apgmera'...

sakaf@Surface ~
$ ./recompile.sh
-bash: ./recompile.sh: No such file or directory

sakaf@Surface ~
$ bash recompile.sh
bash: recompile.sh: No such file or directory

sakaf@Surface ~
$ ./apgmera
-bash: ./apgmera: No such file or directory
You forgot the 'cd apgmera' to enter the directory.
What do you do with ill crystallographers? Take them to the mono-clinic!

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

Re: apgsearch v4.0

Post by muzik » August 20th, 2017, 11:08 am

So whats behind this?

Code: Select all

apgmera v4.01: Rule b05s is correctly configured.

Greetings, this is apgmera v4.01, configured for b05s/C1.

Peer-reviewing hauls:


Peer-review complete; proceeding search.

Using seed m_DsLPagXZcMM9
Running 1 soups per haul:
Fatal error: B0 rules only support even numbers of generations.

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

Re: apgsearch v4.0

Post by muzik » August 20th, 2017, 11:28 am

Quite concerning: p1 photons are regarded as still lifes.
https://catagolue.appspot.com/census/g3b2s/C1/xs3

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

Re: apgsearch v4.0

Post by calcyman » August 20th, 2017, 11:55 am

muzik wrote:So whats behind this?

Code: Select all

apgmera v4.01: Rule b05s is correctly configured.

Greetings, this is apgmera v4.01, configured for b05s/C1.

Peer-reviewing hauls:


Peer-review complete; proceeding search.

Using seed m_DsLPagXZcMM9
Running 1 soups per haul:
Fatal error: B0 rules only support even numbers of generations.
I suspect that powerlyse() or linearlyse() is attempting to run the linear-growth patterns in this rule by increments of 1 generation, which is impossible since you can only run a B0 rule an even number of generations*. Thanks for pointing this out; I'll need to alter these routines accordingly.

* Golly cheats by running 'iterate then reverse' at even timesteps and 'reverse then iterate' at odd timesteps; I suspect LifeViewer does something similar.

At the moment, I'm working on the LtL implementation. There's are wonderful functions called PADDB and PSUBB for performing 16 parallel 8-bit additions (resp. subtractions):

http://www.felixcloutier.com/x86/PADDB:PADDW:PADDD.html
http://www.felixcloutier.com/x86/PSUBB:PSUBW:PSUBD.html

There are also some parallel comparison instructions (unfortunately for signed integers, but I can skirt around that by adding 128 to everything), so it should be possible to SIMDify the entire LtL kernel. The result (which will already be about 10 times faster than Golly's LtL algorithm) could be slotted straight into lifelib/avxlife/uli.h, immediately giving LtL versions of HashLife and vlife (which will be even faster still, since they take advantage of repetition and empty space, respectively). Provided we also have a LtLHistory implementation -- straightforward to implement in the same way that we do GenerationsHistory -- then we get LtL-enabled apgsearch for free.
muzik wrote:Quite concerning: p1 photons are regarded as still lifes.
Oops. I must be doing something incredibly silly such as equating 'period=1' with 'still-life'. Again, thanks for noticing this.
What do you do with ill crystallographers? Take them to the mono-clinic!

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

Re: apgsearch v4.0

Post by muzik » August 20th, 2017, 12:03 pm

Also, it seems that rules like g33b345678s23 just flat out refuse to search, giving no response from the terminal after the "Running n soups per haul" bit. I'm not 100% sure, but id assume this pattern is behind it:

Code: Select all

x = 3, y = 3, rule = 23/345678/33
.A$3A$.A!

User avatar
gameoflifeboy
Posts: 474
Joined: January 15th, 2015, 2:08 am

Re: apgsearch v4.0

Post by gameoflifeboy » August 20th, 2017, 2:02 pm

LifeWiki used to (until yesterday) say the codename was "apgmera v4.0," but I don't know if this is official yet. I'm hoping not; I'd like a new 4-letter suffix--preferably something beginning with L, because the previous suffixes were '-nano' and '-mera'.

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

Re: apgsearch v4.0

Post by muzik » August 20th, 2017, 2:46 pm

apglife or apglong, maybe?

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: apgsearch v4.0

Post by AforAmpere » August 20th, 2017, 2:57 pm

apgen, from apg and generations, or apgreach, for LTL in the future.
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: apgsearch v4.0

Post by fluffykitty » August 20th, 2017, 5:07 pm

apglazy?

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Names for apgsearch v4.0

Post by toroidalet » August 20th, 2017, 5:09 pm

Apglove (Why not?), Apglarge(r than life) ApgLTL (see previous)
Any sufficiently advanced software is indistinguishable from malice.

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

Re: apgsearch v4.0

Post by muzik » August 20th, 2017, 5:10 pm

apglonely, since it supports b0?

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

Re: apgsearch v4.0

Post by muzik » August 20th, 2017, 7:09 pm

Will apgsearch ever be able to support snoitareneG rules?

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

Re: apgsearch v4.0

Post by Saka » August 20th, 2017, 7:23 pm

Apgmacro
Apgg (g = generations)
ApgNull (B0, Null = 0)
Apgog (o = 0 = B0, g = generations)

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: apgsearch v4.0

Post by fluffykitty » August 20th, 2017, 7:46 pm

apglarger sounds nice.

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

Re: apgsearch v4.0

Post by Apple Bottom » August 21st, 2017, 5:57 am

apgultra, perhaps?

It is, after all, "extreme, far beyond the norm, uncompromising" (in terms of both speed and supported rules).
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!

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

Re: apgsearch v4.0

Post by Saka » August 21st, 2017, 6:08 am

calcyman wrote: You forgot the 'cd apgmera' to enter the directory.
No such directory.
I did a whole-computer search for "apgmera", not results.

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

Re: apgsearch v4.0

Post by muzik » August 21st, 2017, 3:24 pm

Tried updating to 4.02 via the command:

Code: Select all

$ ./apgmera -k  -n 10000 --rule b34578s4568 --symmetry 1x256 --update
apgmera v4.01: Rule b3s23 does not match desired rule b34578s4568.
Checking for updates from repository...
./recompile.sh: line 28: curl: command not found
...your copy of apgmera does not match the repository.
New version:
Old version: "v4.01"
remote: Counting objects: 40, done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 40 (delta 23), reused 18 (delta 7)
Unpacking objects: 100% (40/40), done.
From https://gitlab.com/apgoucher/apgmera
   21327c3..e75d0c9  master     -> origin/master
Fetching submodule lifelib
From https://gitlab.com/apgoucher/lifelib
   3862753..dab003b  master     -> origin/master
Updating 6a20568..e75d0c9
error: Your local changes to the following files would be overwritten by merge:
        includes/happyhttp.cpp
Please, commit your changes or stash them before you can merge.
Aborting

and a second time:

Code: Select all

$ ./apgmera -k  -n 10000 --rule b34578s4568 --symmetry 1x256 --update
apgmera v4.01: Rule b3s23 does not match desired rule b34578s4568.
Checking for updates from repository...
./recompile.sh: line 28: curl: command not found
...your copy of apgmera does not match the repository.
New version:
Old version: "v4.01"
Updating 6a20568..e75d0c9
error: Your local changes to the following files would be overwritten by merge:
        includes/happyhttp.cpp
Please, commit your changes or stash them before you can merge.
Aborting
I think i might almost know whats going on here, but the fix seems paradoxical and counter-intuitive and i cant get it to work.
Last edited by muzik on August 21st, 2017, 6:09 pm, edited 1 time in total.

Post Reply