Ikpx and grills

For scripts to aid with computation or simulation in cellular automata.
User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx

Post by LaundryPizza03 » July 4th, 2020, 8:17 pm

calcyman wrote:
March 12th, 2018, 12:04 am
velcrorex wrote:Thanks. That's gotten me to other errors which have been addressed elsewhere in the thread.

I might as well ask: This looks like it's the Conway's Life rule only. To change the rule, I see in lines 98 + 99 in grills.py there's the rule specified. Is that the only line I would need to change, or are there other places?
Basically, it's currently impossible to change the rule.
That is the only line where the rule is specified; changing it to represent B357/S346 and searching for (2,1)c/5 should return the known spaceship of that speed:

Code: Select all

#C Josh Ball, 2011
x = 19, y = 34, rule = B357/S346
2bo$b3o$2o2bo$3b2o$2b3o$2bo3bo$2bobo$4b2o$2b3o$b3o$b4o2bo$2b3ob4o$5b5o
$4bob3obo$3bobo3b2o$3b3obo2b3o$4bob4o$6bo2b3o$9bo$7b4o$7bo4b2o$8bob4o$
10b3o$11bo3bo$10b5o$11bo$13bob2o$12b3obo$14bobo$13bob2obo$15b2obo$14b
3o$16b2o$18bo!
I'm not confident yet, since it seems to have gotten stuck around 51500 head edges at width 8.

Try also the c/2d in B245/S15; the result should be:

Code: Select all

#C Unknown, possibly David Eppstein
x = 7, y = 7, rule = B245/S15
2bobo$bo2b2o$b3o$ob5o$4b2o$3bo$6bo!
It's plausible that it could even work in B0, except that some speeds, such as period multiples of c/3o, cannot be represented due to the nature of the vacuum and quotient lattices.

The first new ships I'd search for would be a (2,1)c/5 in 2x2 or 3-4 Life and completing the (2,1)c/7 partial in Highlife (longest version), though the latter could instead be completed in LSSS. I'm too busy with other searches to find out.

EDIT: Looks like iglucose stalled out for some reason. I may need to restart the test.
EDIT2: It's happened again, which may be a sign of a bug in Metasat. Or maybe it's timing out without telling me.
EDIT3: c/2d in B245/S15 doesn't find the correct frontend. Maybe it's trying to extend beyond a dead end?

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » July 24th, 2020, 1:05 pm

Ikpx timed out while attempting to search (2,1)c/8 in Life, shortly after increasing the search width to 9. No decent partials could be found.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » August 8th, 2020, 2:01 am

I encountered a strange bug in ikpx when attempting to implement support for OTCA, which may explain the weird behavior mentioned in the previous posts.

The c/2o spaceship in B3/S35 is:

Code: Select all

x = 5, y = 7, rule = B3/S35
2bo$b3o$b3o$b3o$bobo$2ob2o$bobo!

Code: Select all

x = 18, y = 4, rule = B3/S35
bo12b3o$3o11b3o$obo10b2ob2o$obo!
With the modifications I've implemented, the input that would be used to find it is:

Code: Select all

python otikpx.py -d ikpxtest2 -f p4w5k8a0 -v c/2o -r B3/S35
But when attempting to find it, it instead gave:

Code: Select all

x = 3, y = 12, rule = B3/S35
bo$3o$3o$3o2$bo2$bo$3o$obo$obo$obo!

Code: Select all

x = 15, y = 7, rule = B3/S35
13bo$3o9b3o$3o$bo$bo10b3o$obo9bobo$obo!
which is a spaceship in B3/S235.
I can't share my modifications as Python code, but I can provide textfiles:
otikpx.py.txt
(39.79 KiB) Downloaded 150 times
otgrills.py.txt
(19.95 KiB) Downloaded 164 times

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 8th, 2020, 2:39 am

Without having looked at the changes you've made to ikpx, I can't say anything with much certainty. But I just want to mention something in case you weren't yet aware. apgoucher has said elsewhere, and possibly here as well, that assumptions about B3/S23 are baked into ikpx in numerous places. You won't find those places by looking for references to the rule string. Probably the most important place will be where the rule is encoded into CNF form in order to generate the individual SAT problems which are sent to iglucose.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » August 8th, 2020, 5:05 am

wildmyron wrote:
August 8th, 2020, 2:39 am
Without having looked at the changes you've made to ikpx, I can't say anything with much certainty. But I just want to mention something in case you weren't yet aware. apgoucher has said elsewhere, and possibly here as well, that assumptions about B3/S23 are baked into ikpx in numerous places. You won't find those places by looking for references to the rule string. Probably the most important place will be where the rule is encoded into CNF form in order to generate the individual SAT problems which are sent to iglucose.
You mean the resolve method in grills.py? I see now — there are various references to the numbers 2, 3, and 4 in that method, particularly in the calls to a summation function. Lines 297-302 look like they're assuming Life:

Code: Select all

c = self.cells[(gen, x, y)]
cc = self.cells[(gen+1, x, y)]
self.newclause(-cc, -s[4])
self.newclause(-cc, s[2])
self.newclause(-cc, c, s[3])
self.newclause(cc, s[4], -s[3])
(For clarity, s appears to be the neighbor count.) I'd have to figure out what exactly these parts do. What do you think these pieces of code do? I do know that the new code associated with the get_life_transitions method definitely works correctly.

The outcome of the first test is still interesting, nonetheless. I'll still be searching with LSSS for the time being, but completing this mod is a top priority. I will also try to implement a third file for filtering impossible rule/speed combinations.

EDIT: I think variadic_sum is a list of clauses such that the ith clause is true iff at least i of the input variables are true; s counts the number of neighbors. I would attempt to break the rule into clauses involving the current state, the future state, and the cell NOT having a certain number of neighbors. There may be a more efficient method.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

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

Re: Ikpx and grills

Post by calcyman » August 8th, 2020, 12:57 pm

wildmyron wrote:
August 8th, 2020, 2:39 am
Without having looked at the changes you've made to ikpx, I can't say anything with much certainty. But I just want to mention something in case you weren't yet aware. apgoucher has said elsewhere, and possibly here as well, that assumptions about B3/S23 are baked into ikpx in numerous places. You won't find those places by looking for references to the rule string. Probably the most important place will be where the rule is encoded into CNF form in order to generate the individual SAT problems which are sent to iglucose.
I'm writing an optimised version, ikpx2, which will address all of the current shortcomings of ikpx:
  • Written entirely in C++ instead of Python to avoid language overhead and inter-process communication;
  • Using Armin Biere's kissat solver instead of the obsolete iglucose;
  • Better lattice quotienting to ensure that all velocities work nicely;
  • Support for symmetry and arbitrary INT rules.
What do you do with ill crystallographers? Take them to the mono-clinic!

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: Ikpx and grills

Post by Hunting » August 11th, 2020, 11:54 pm

calcyman wrote:
August 8th, 2020, 12:57 pm
  • Support for symmetry and arbitrary INT rules.
HURRAY!!!!!!!!!!!

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: Ikpx and grills

Post by Hunting » August 25th, 2020, 4:44 am

Code: Select all

root@LD:/mnt/p/ikpx2-master/ikpx2-master# ./recompile.sh
Updating submodules...
Building kissat solver...
./recompile.sh: line 17: ./configure: No such file or directory
...

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

Re: Ikpx and grills

Post by calcyman » August 25th, 2020, 7:52 am

Hunting wrote:
August 25th, 2020, 4:44 am

Code: Select all

root@LD:/mnt/p/ikpx2-master/ikpx2-master# ./recompile.sh
Updating submodules...
Building kissat solver...
./recompile.sh: line 17: ./configure: No such file or directory
...
What does the following return?

Code: Select all

ls kissat
What do you do with ill crystallographers? Take them to the mono-clinic!

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: Ikpx and grills

Post by Hunting » August 25th, 2020, 7:59 am

calcyman wrote:
August 25th, 2020, 7:52 am
Hunting wrote:
August 25th, 2020, 4:44 am

Code: Select all

root@LD:/mnt/p/ikpx2-master/ikpx2-master# ./recompile.sh
Updating submodules...
Building kissat solver...
./recompile.sh: line 17: ./configure: No such file or directory
...
What does the following return?

Code: Select all

ls kissat
Nothing. It is empty.

User avatar
yujh
Posts: 3066
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: Ikpx and grills

Post by yujh » August 25th, 2020, 8:35 am

Code: Select all

yujhyujh@DESKTOP-MS6DAF6:~$ sudo apt install git
[sudo] password for yujhyujh:
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.25.1-1ubuntu3).
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
yujhyujh@DESKTOP-MS6DAF6:~$ git clone https://gitlab.com/apgoucher/ikpx2
Cloning into 'ikpx2'...
warning: redirecting to https://gitlab.com/apgoucher/ikpx2.git/
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 313 (delta 12), reused 0 (delta 0), pack-reused 285
Receiving objects: 100% (313/313), 139.08 KiB | 236.00 KiB/s, done.
Resolving deltas: 100% (195/195), done.
yujhyujh@DESKTOP-MS6DAF6:~$ cd ikpx2
yujhyujh@DESKTOP-MS6DAF6:~/ikpx2$ ./recompile.sh
Updating submodules...
Submodule 'kissat' (https://github.com/arminbiere/kissat.git) registered for path 'kissat'
Submodule 'lifelib' (https://gitlab.com/apgoucher/lifelib.git) registered for path 'lifelib'
Cloning into '/home/yujhyujh/ikpx2/kissat'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/arminbiere/kissat.git' into submodule path '/home/yujhyujh/ikpx2/kissat' failed
Failed to clone 'kissat'. Retry scheduled
Cloning into '/home/yujhyujh/ikpx2/lifelib'...
Cloning into '/home/yujhyujh/ikpx2/kissat'...

Code: Select all

 ~/ikpx2$ ./recompile.sh
Updating submodules...
Submodule 'kissat' (https://github.com/arminbiere/kissat.git) registered for path 'kissat'
Submodule 'lifelib' (https://gitlab.com/apgoucher/lifelib.git) registered for path 'lifelib'
Cloning into '/home/yujhyujh/ikpx2/kissat'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/arminbiere/kissat.git' into submodule path '/home/yujhyujh/ikpx2/kissat' failed
Failed to clone 'kissat'. Retry scheduled
Cloning into '/home/yujhyujh/ikpx2/lifelib'...
Cloning into '/home/yujhyujh/ikpx2/kissat'...
Submodule path 'kissat': checked out 'baef4609163f542dc08f43aef02ce8da0581a2b5'
Submodule path 'lifelib': checked out '56a877858c4d19679a450baf3564509f68447745'
Submodule path 'kissat': checked out 'baef4609163f542dc08f43aef02ce8da0581a2b5'
Building kissat solver...
configure: new build directory 'build'
configure: compiler 'gcc -W -Wall -O3 -DCOMPACT -DNEMBEDDED -DNDEBUG -DNMETRICS -DNOPTIONS -DQUIET -DSAT -DNSTATISTICS'
configure: linker 'gcc' (no additional options)
configure: using default 'ar' (no cross compilation)
configure: no test programs added to default makefile goal
./recompile.sh: line 19: make: command not found
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

lemon41625
Posts: 344
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Ikpx and grills

Post by lemon41625 » August 27th, 2020, 6:01 am

yujh wrote:
August 25th, 2020, 8:35 am

Code: Select all

yujhyujh@DESKTOP-MS6DAF6:~$ sudo apt install git
[sudo] password for yujhyujh:
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.25.1-1ubuntu3).
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
yujhyujh@DESKTOP-MS6DAF6:~$ git clone https://gitlab.com/apgoucher/ikpx2
Cloning into 'ikpx2'...
warning: redirecting to https://gitlab.com/apgoucher/ikpx2.git/
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 313 (delta 12), reused 0 (delta 0), pack-reused 285
Receiving objects: 100% (313/313), 139.08 KiB | 236.00 KiB/s, done.
Resolving deltas: 100% (195/195), done.
yujhyujh@DESKTOP-MS6DAF6:~$ cd ikpx2
yujhyujh@DESKTOP-MS6DAF6:~/ikpx2$ ./recompile.sh
Updating submodules...
Submodule 'kissat' (https://github.com/arminbiere/kissat.git) registered for path 'kissat'
Submodule 'lifelib' (https://gitlab.com/apgoucher/lifelib.git) registered for path 'lifelib'
Cloning into '/home/yujhyujh/ikpx2/kissat'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/arminbiere/kissat.git' into submodule path '/home/yujhyujh/ikpx2/kissat' failed
Failed to clone 'kissat'. Retry scheduled
Cloning into '/home/yujhyujh/ikpx2/lifelib'...
Cloning into '/home/yujhyujh/ikpx2/kissat'...

Code: Select all

 ~/ikpx2$ ./recompile.sh
Updating submodules...
Submodule 'kissat' (https://github.com/arminbiere/kissat.git) registered for path 'kissat'
Submodule 'lifelib' (https://gitlab.com/apgoucher/lifelib.git) registered for path 'lifelib'
Cloning into '/home/yujhyujh/ikpx2/kissat'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/arminbiere/kissat.git' into submodule path '/home/yujhyujh/ikpx2/kissat' failed
Failed to clone 'kissat'. Retry scheduled
Cloning into '/home/yujhyujh/ikpx2/lifelib'...
Cloning into '/home/yujhyujh/ikpx2/kissat'...
Submodule path 'kissat': checked out 'baef4609163f542dc08f43aef02ce8da0581a2b5'
Submodule path 'lifelib': checked out '56a877858c4d19679a450baf3564509f68447745'
Submodule path 'kissat': checked out 'baef4609163f542dc08f43aef02ce8da0581a2b5'
Building kissat solver...
configure: new build directory 'build'
configure: compiler 'gcc -W -Wall -O3 -DCOMPACT -DNEMBEDDED -DNDEBUG -DNMETRICS -DNOPTIONS -DQUIET -DSAT -DNSTATISTICS'
configure: linker 'gcc' (no additional options)
configure: using default 'ar' (no cross compilation)
configure: no test programs added to default makefile goal
./recompile.sh: line 19: make: command not found
Try

Code: Select all

sudo apt-get install build-essential
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

User avatar
yujh
Posts: 3066
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: Ikpx and grills

Post by yujh » August 27th, 2020, 6:50 am

lemon41625 wrote:
August 27th, 2020, 6:01 am
yujh wrote:
August 25th, 2020, 8:35 am

Code: Select all

yujhyujh@DESKTOP-MS6DAF6:~$ sudo apt install git
[sudo] password for yujhyujh:
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.25.1-1ubuntu3).
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
yujhyujh@DESKTOP-MS6DAF6:~$ git clone https://gitlab.com/apgoucher/ikpx2
Cloning into 'ikpx2'...
warning: redirecting to https://gitlab.com/apgoucher/ikpx2.git/
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 313 (delta 12), reused 0 (delta 0), pack-reused 285
Receiving objects: 100% (313/313), 139.08 KiB | 236.00 KiB/s, done.
Resolving deltas: 100% (195/195), done.
yujhyujh@DESKTOP-MS6DAF6:~$ cd ikpx2
yujhyujh@DESKTOP-MS6DAF6:~/ikpx2$ ./recompile.sh
Updating submodules...
Submodule 'kissat' (https://github.com/arminbiere/kissat.git) registered for path 'kissat'
Submodule 'lifelib' (https://gitlab.com/apgoucher/lifelib.git) registered for path 'lifelib'
Cloning into '/home/yujhyujh/ikpx2/kissat'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/arminbiere/kissat.git' into submodule path '/home/yujhyujh/ikpx2/kissat' failed
Failed to clone 'kissat'. Retry scheduled
Cloning into '/home/yujhyujh/ikpx2/lifelib'...
Cloning into '/home/yujhyujh/ikpx2/kissat'...

Code: Select all

 ~/ikpx2$ ./recompile.sh
Updating submodules...
Submodule 'kissat' (https://github.com/arminbiere/kissat.git) registered for path 'kissat'
Submodule 'lifelib' (https://gitlab.com/apgoucher/lifelib.git) registered for path 'lifelib'
Cloning into '/home/yujhyujh/ikpx2/kissat'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/arminbiere/kissat.git' into submodule path '/home/yujhyujh/ikpx2/kissat' failed
Failed to clone 'kissat'. Retry scheduled
Cloning into '/home/yujhyujh/ikpx2/lifelib'...
Cloning into '/home/yujhyujh/ikpx2/kissat'...
Submodule path 'kissat': checked out 'baef4609163f542dc08f43aef02ce8da0581a2b5'
Submodule path 'lifelib': checked out '56a877858c4d19679a450baf3564509f68447745'
Submodule path 'kissat': checked out 'baef4609163f542dc08f43aef02ce8da0581a2b5'
Building kissat solver...
configure: new build directory 'build'
configure: compiler 'gcc -W -Wall -O3 -DCOMPACT -DNEMBEDDED -DNDEBUG -DNMETRICS -DNOPTIONS -DQUIET -DSAT -DNSTATISTICS'
configure: linker 'gcc' (no additional options)
configure: using default 'ar' (no cross compilation)
configure: no test programs added to default makefile goal
./recompile.sh: line 19: make: command not found
Try

Code: Select all

sudo apt-get install build-essential
The remote procedure call failed.
Press any key to continue...
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: Ikpx and grills

Post by Hunting » August 27th, 2020, 6:53 am

Code: Select all

root@LD:/mnt/c/Users/Administrator/ikpx2# ./recompile.sh
./recompile.sh: line 2: $'\r': command not found
./recompile.sh: line 4: $'\r': command not found
./recompile.sh: line 6: $'\r': command not found
: invalid optionline 7: set: -
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
./recompile.sh: line 8: $'\r': command not found
Updating submodules...
usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]
./recompile.sh: line 11: $'\r': command not found
./recompile.sh: line 36: syntax error: unexpected end of file

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » August 29th, 2020, 1:52 pm

I got the following error when attempting to compile:

Code: Select all

> ./recompile.sh --rule b36s0235
Updating submodules...
libkissat.a already detected
Configuring lifelib...
Using /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 to configure lifelib...
Compiling ikpx2...
In file included from src/main.cpp:2:
In file included from src/core.hpp:3:
src/ikpxtree.hpp:54:32: error: restrict requires a pointer or reference
      ('uint64_t' (aka 'unsigned long long') is invalid)
    int v2shift(const uint64_t __restrict__ *seq, T &output) const {
                               ^
1 error generated.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 29th, 2020, 9:12 pm

LaundryPizza03 wrote:
August 29th, 2020, 1:52 pm
I got the following error when attempting to compile:

Code: Select all

> ./recompile.sh --rule b36s0235
Updating submodules...
libkissat.a already detected
Configuring lifelib...
Using /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 to configure lifelib...
Compiling ikpx2...
In file included from src/main.cpp:2:
In file included from src/core.hpp:3:
src/ikpxtree.hpp:54:32: error: restrict requires a pointer or reference
      ('uint64_t' (aka 'unsigned long long') is invalid)
    int v2shift(const uint64_t __restrict__ *seq, T &output) const {
                               ^
1 error generated.
This is due to Apple clang's implementation of __restrict__ being different to other modern C++ compilers. You can compile ikpx2 with clang by changing the offending line to:

Code: Select all

    int v2shift(const uint64_t * __restrict__ seq, T &output) const {
Unfortunately you still won't be able to run ikpx2 on macOS because it crashes very early in the search with "Bus Error: 10" for any search parameters. The same happens when compiling with g++-10 from Homebrew. Other Mac users have reported the same issue on the Discord. I filed an issue on gitlab: https://gitlab.com/apgoucher/ikpx2/-/issues/1 Unfortunately I don't have any ideas about how to troubleshoot this further or how to fix it.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 29th, 2020, 9:25 pm

yujh wrote:
August 27th, 2020, 6:50 am
lemon41625 wrote:
August 27th, 2020, 6:01 am
Try

Code: Select all

sudo apt-get install build-essential
The remote procedure call failed.
Press any key to continue...
This, and the earlier failure to clone the kissat repo as a submodule are network issues and not something anyone here can do anything about. Seeing as you subsequently managed to clone kissat with git I can only suggest you try again until it works. I presume this is related to network issues related to your location in China. Perhaps you can ask on local forums about improving the reliability of network access to the rest of the world (or it might be something you can't do anything about, sorry I really have no idea about the situation there).
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 29th, 2020, 9:27 pm

Hunting wrote:
August 27th, 2020, 6:53 am

Code: Select all

root@LD:/mnt/c/Users/Administrator/ikpx2# ./recompile.sh
./recompile.sh: line 2: $'\r': command not found
./recompile.sh: line 4: $'\r': command not found
./recompile.sh: line 6: $'\r': command not found
: invalid optionline 7: set: -
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
./recompile.sh: line 8: $'\r': command not found
Updating submodules...
usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]
./recompile.sh: line 11: $'\r': command not found
./recompile.sh: line 36: syntax error: unexpected end of file
It looks like either your copy of recompile.sh has mixed Unix/Windows line endings or become corrupted in some other way. I suggest you remove it (or the whole ikpx2 directory) and start again, trying to work only in the Linux / Cygwin environment which you are using.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » August 30th, 2020, 1:52 am

wildmyron wrote:
August 29th, 2020, 9:12 pm
LaundryPizza03 wrote:
August 29th, 2020, 1:52 pm
I got the following error when attempting to compile:

Code: Select all

> ./recompile.sh --rule b36s0235
Updating submodules...
libkissat.a already detected
Configuring lifelib...
Using /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 to configure lifelib...
Compiling ikpx2...
In file included from src/main.cpp:2:
In file included from src/core.hpp:3:
src/ikpxtree.hpp:54:32: error: restrict requires a pointer or reference
      ('uint64_t' (aka 'unsigned long long') is invalid)
    int v2shift(const uint64_t __restrict__ *seq, T &output) const {
                               ^
1 error generated.
This is due to Apple clang's implementation of __restrict__ being different to other modern C++ compilers. You can compile ikpx2 with clang by changing the offending line to:

Code: Select all

    int v2shift(const uint64_t * __restrict__ seq, T &output) const {
Unfortunately you still won't be able to run ikpx2 on macOS because it crashes very early in the search with "Bus Error: 10" for any search parameters. The same happens when compiling with g++-10 from Homebrew. Other Mac users have reported the same issue on the Discord. I filed an issue on gitlab: https://gitlab.com/apgoucher/ikpx2/-/issues/1 Unfortunately I don't have any ideas about how to troubleshoot this further or how to fix it.
Perhaps you could do me a favor and search for (2,1)c/5 in various OT B3 rules?

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: Ikpx and grills

Post by Hunting » August 30th, 2020, 2:15 am

wildmyron wrote:
August 29th, 2020, 9:27 pm
Hunting wrote:
August 27th, 2020, 6:53 am

Code: Select all

root@LD:/mnt/c/Users/Administrator/ikpx2# ./recompile.sh
./recompile.sh: line 2: $'\r': command not found
./recompile.sh: line 4: $'\r': command not found
./recompile.sh: line 6: $'\r': command not found
: invalid optionline 7: set: -
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
./recompile.sh: line 8: $'\r': command not found
Updating submodules...
usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]
./recompile.sh: line 11: $'\r': command not found
./recompile.sh: line 36: syntax error: unexpected end of file
It looks like either your copy of recompile.sh has mixed Unix/Windows line endings or become corrupted in some other way. I suggest you remove it (or the whole ikpx2 directory) and start again, trying to work only in the Linux / Cygwin environment which you are using.
I'm running it on WSL and I only use git to download it and try to do ./recompile.sh.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 30th, 2020, 2:52 am

Hunting wrote:
August 30th, 2020, 2:15 am
I'm running it on WSL and I only use git to download it and try to do ./recompile.sh.
Try cloning into a directory under the Linux user's home dir. This is how I'm working with ikpx2 and it works without a hitch.

I would have expected what you're trying to do should work as well, but evidently not and clearly the different line endings in Linux / Windows files is what's causing the problem. If you need to edit files from the Linux filesystem in Windows programs then run

Code: Select all

explorer.exe .
in your WSL console and open the files from there. This will prevent corruption of the file permissions and those files becoming inaccessible from WSL.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 30th, 2020, 4:42 am

LaundryPizza03 wrote:
August 30th, 2020, 1:52 am
Perhaps you could do me a favor and search for (2,1)c/5 in various OT B3 rules?
Yes, I could run a few searches. Could you post the most promising rules in the Spaceships in Life-like CA thread, or perhaps the search requests thread. I presume you've tried zfind and gfind for the rules you're interested in so could you summarise or refer back to -ve results too, please. I expect ikpx2 is slower for these kinds of searches, but the floating rows, different search geometry, and adaptive widening may allow for success.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Ikpx and grills

Post by wildmyron » August 31st, 2020, 6:11 am

Calcyman has fixed the crash, ikpx2 now works on macOS. Update the git repo with "git pull", recompile, and it should work fine.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » September 4th, 2020, 9:56 pm

Ikpx2 tends to overuse CPU power on my system, slowing everything else down. I think the default number of threads should be reduced to 1, like other programs with multithreading.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

User avatar
LaundryPizza03
Posts: 2295
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Ikpx and grills

Post by LaundryPizza03 » September 4th, 2020, 10:28 pm

It seems that 1 thread causes the program to get nowhere. For instance:

Code: Select all

# 256 iterations completed: queuesize = 10; heapsize = 18999; treesize = 41933
# 512 iterations completed: queuesize = 10; heapsize = 18999; treesize = 41933
# 768 iterations completed: queuesize = 10; heapsize = 18999; treesize = 41933

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

Post Reply