qfind - a spaceship search program

For scripts to aid with computation or simulation in cellular automata.
User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » August 6th, 2023, 5:39 am

Sokwe wrote:
August 6th, 2023, 4:22 am
C_R_116 wrote:
August 5th, 2023, 8:58 pm
How do you run a search with a given partial result?

I tried the -l command but that didn't work.
To extend a partial result, use the -e command. You will first need a file containing the rows you want to start from. This file can be created by the Golly Lua script getrows.lua (follow the instructions in the code comments). This will create a file called initrows.txt. Make sure initrows.txt is in the same folder as qfind, and then include "-e initrows.txt" in your command line options.

The -l command is for loading a search state saved with the -d command. The -d command causes qfind to periodically save the state of the search to a file so that it can be restarted from that point and doesn't need to be started from the beginning.
Where is initrows.txt?
By: C.R. Hilton, currently working on another cool spaceship.

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » August 6th, 2023, 5:44 am

C_R_116 wrote:
August 6th, 2023, 5:39 am
Where is initrows.txt?
After running the Golly script getrows.lua, it should be created in the same folder as getrows.lua. If this is different from the folder where qfind is stored, then you will need to move initrows.txt to wherever qfind is.
-Matthias Merzenich

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » August 6th, 2023, 6:31 am

Thanks!
By: C.R. Hilton, currently working on another cool spaceship.

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » March 22nd, 2024, 5:29 am

Sokwe wrote:
March 22nd, 2024, 5:07 am
This is potentially bad, as your qfind search (if I understand it right) should have found this first. Can you please share your exact setup (qfind version, qfind options used, and initial rows file) and if possible the output from the run of qfind that found the original tagalong? I need it for debugging.
My version is qfind v2.3
qfind options in the cmd line:

Code: Select all

qfind.exe -p 7 -y 2 -w 10 -s o -e initrows.txt -t 24
initrows.txt

Code: Select all

.o........
..o....oo.
....o.....
.oo.......
.ooo.oo...
...o...o..
.o.o...o..
...o......
.o.....oo.
..o.......
.oo...o.o.
..........
.oo....o..
..o...oo..
Unfortunately, I don't have the exact output rle, but I think it looked something like this:

Code: Select all

x = 23, y = 65, rule = B3/S23
2b2o3bobobobo3b2o$9bobo$8bo3bo$8bo3bo$5b2o2bobo2b2o$8b2ob2o$4bo3b2ob2o
3bo$8bo3bo$5bo3bobo3bo$7bobobobo$6b2obobob2o$5bo2bo3bo2bo$4b2o9b2o$6bo
7bo$10bo$8b2ob2o$9bobo$8b2ob2o2$7bobobobo$8b2ob2o$7b2obob2o$5b2o7b2o$
5b2o7b2o$4bobo7bobo$3b2obo7bob2o$8b2ob2o$4bo11bo$4b2ob3ob3ob2o$4b3o7b
3o$5bo9bo$5b2o7b2o$6bo7bo$6bo7bo$5bo9bo$2b4o9b4o$bo2b2o9b2o2bo$3bo13bo
$b2o3b2o5b2o3b2o$6b2o5b2o$6bo7bo2$8b2ob2o$4b2o2b2ob2o2b2o$5bobo5bobo$
3b3ob2o3b2ob3o$b2ob4obobob4ob2o$5bob2o3b2obo$5bobo2bo2bobo$2bobo2b7o2b
obo$3bo2b2ob3ob2o2bo$6b3obob3o$5b2obobobob2o$3b2o2b2obob2o2b2o$2bo4b2o
3b2o4bo$2bo5bo3bo5bo$3bobo3bobo3bobo$3b3o3bobo3b3o$2bo3bo2bobo2bo3bo$
4b2o9b2o$3b3o9b3o$2bo15bo2$2b2o13b2o!
By: C.R. Hilton, currently working on another cool spaceship.

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » March 22nd, 2024, 5:53 am

C_R_116 wrote:
March 22nd, 2024, 5:29 am
My version is qfind v2.3
qfind options in the cmd line:

Code: Select all

qfind.exe -p 7 -y 2 -w 10 -s o -e initrows.txt -t 24
initrows.txt

Code: Select all

.o........
..o....oo.
....o.....
.oo.......
.ooo.oo...
...o...o..
.o.o...o..
...o......
.o.....oo.
..o.......
.oo...o.o.
..........
.oo....o..
..o...oo..
Thanks! I assume by the .exe extension that you are on Windows. Did you use the pre-compiled version available here, or did you compile it yourself? If you compiled it yourself, can you tell me what compiler you used and any compiler flags you included?
-Matthias Merzenich

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » March 22nd, 2024, 6:05 am

Sokwe wrote:
March 22nd, 2024, 5:53 am
C_R_116 wrote:
March 22nd, 2024, 5:29 am
My version is qfind v2.3
qfind options in the cmd line:

Code: Select all

qfind.exe -p 7 -y 2 -w 10 -s o -e initrows.txt -t 24
initrows.txt

Code: Select all

.o........
..o....oo.
....o.....
.oo.......
.ooo.oo...
...o...o..
.o.o...o..
...o......
.o.....oo.
..o.......
.oo...o.o.
..........
.oo....o..
..o...oo..
Thanks! I assume by the .exe extension that you are on Windows. Did you use the pre-compiled version available here, or did you compile it yourself? If you compiled it yourself, can you tell me what compiler you used and any compiler flags you included?
Yeah, it's precompiled.
By: C.R. Hilton, currently working on another cool spaceship.

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » March 22nd, 2024, 6:25 am

C_R_116 wrote:
March 22nd, 2024, 6:05 am
Sokwe wrote:
March 22nd, 2024, 5:53 am
Thanks! I assume by the .exe extension that you are on Windows. Did you use the pre-compiled version available here, or did you compile it yourself? If you compiled it yourself, can you tell me what compiler you used and any compiler flags you included?
Yeah, it's precompiled.
Thanks again! When you get a chance, can you please copy qfind.exe and inirows.txt into a new empty folder and run the exact search again with

Code: Select all

qfind.exe -p 7 -y 2 -w 10 -s o -e initrows.txt -t 24 -d dump > output.txt
Please run it until you find the completion you found before, and after that put the whole new folder in a .zip file and post it here as an attachment. I would greatly appreciate it!

Unfortunately, I have limited debugging ability at the momoent due to my laptop for some reason having trouble compiling qfind. I think I need a fresh OS install, but I just got swamped with a big real-life project and I don't want to interrupt my workflow right now.
-Matthias Merzenich

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » March 22nd, 2024, 12:48 pm

Sokwe wrote:
March 22nd, 2024, 6:25 am
C_R_116 wrote:
March 22nd, 2024, 6:05 am
Sokwe wrote:
March 22nd, 2024, 5:53 am
Thanks! I assume by the .exe extension that you are on Windows. Did you use the pre-compiled version available here, or did you compile it yourself? If you compiled it yourself, can you tell me what compiler you used and any compiler flags you included?
Yeah, it's precompiled.
Thanks again! When you get a chance, can you please copy qfind.exe and inirows.txt into a new empty folder and run the exact search again with

Code: Select all

qfind.exe -p 7 -y 2 -w 10 -s o -e initrows.txt -t 24 -d dump > output.txt
Please run it until you find the completion you found before, and after that put the whole new folder in a .zip file and post it here as an attachment. I would greatly appreciate it!

Unfortunately, I have limited debugging ability at the momoent due to my laptop for some reason having trouble compiling qfind. I think I need a fresh OS install, but I just got swamped with a big real-life project and I don't want to interrupt my workflow right now.
So I finished completion, and there might be a little bit of confusion about what row I used to extend that partial:
When I said I started from that row:

Code: Select all

x = 59, y = 71, rule = LifeHistory
2.A12.A27.A12.A$.A.A10.A.A25.A.A10.A.A$A3.A8.A3.A23.A3.A8.A3.A$.A2.A8.
A2.A25.A2.A8.A2.A$.A.A4.2A4.A.A25.A.A4.2A4.A.A$2.3A3.2A3.3A27.3A3.2A3.
3A$5.A6.A33.A6.A$4.A2.4A2.A4.3A17.3A4.A2.4A2.A$8.2A9.A19.A9.2A$5.3A2.
3A33.3A2.3A$18.A.A17.A.A$18.A.A17.A.A$19.A19.A$21.3A11.3A$21.2A.2A7.2A
.2A$20.A.4A7.4A.A$20.2A3.2A5.2A3.2A$21.A15.A$20.A.A.A9.A.A.A$20.2A.2A
9.2A.2A$21.4A9.4A$21.A15.A$22.2A11.2A$23.A11.A$22.A.A9.A.A$22.3A9.3A$
22.2A11.2A$24.A9.A2$22.A.2A7.2A.A$23.2A9.2A$22.A13.A$24.A9.A$23.A11.A
$24.A9.A$22.2A11.2A$22.2A2.A5.A2.2A2$23.A.A7.A.A$24.A9.A$22.A2.2A5.2A
2.A$21.4A.2A3.2A.4A$20.A4.2A5.2A4.A$27.A3.A$18.2A.A15.A.2A$21.A15.A$18.
2A5.A.2A.2A.A5.2A$21.A3.2A.A.A.2A3.A$21.2A3.A.A.A.A3.2A$24.2A.A3.A.2A
$20.DC8D7.A$23.A11.A$22.A4.2A.2A4.A$28.A.A$26.A5.A$26.A5.A$26.A.A.A.A
$26.A5.A$25.3A3.3A$27.A3.A$28.A.A$25.2A.A.A.2A$24.A3.A.A3.A$23.A3.A3.
A3.A$26.A5.A$23.3A3.A3.3A$27.2A.2A$27.2A.2A2$27.2A.2A$27.2A.2A!
I actually used zfind to find a ship, not qfind.
I actually extended the partial into qfind from that row:

Code: Select all

x = 59, y = 71, rule = LifeHistory
2.A12.A27.A12.A$.A.A10.A.A25.A.A10.A.A$A3.A8.A3.A23.A3.A8.A3.A$.A2.A
8.A2.A25.A2.A8.A2.A$.A.A4.2A4.A.A25.A.A4.2A4.A.A$2.3A3.2A3.3A27.3A3.
2A3.3A$5.A6.A33.A6.A$4.A2.4A2.A4.3A17.3A4.A2.4A2.A$8.2A9.A19.A9.2A$5.
3A2.3A33.3A2.3A$18.A.A17.A.A$18.A.A17.A.A$19.A19.A$21.3A11.3A$21.2A.
2A7.2A.2A$20.A.4A7.4A.A$20.2A3.2A5.2A3.2A$21.A15.A$20.A.A.A9.A.A.A$
20.2A.2A9.2A.2A$21.4A9.4A$21.A15.A$22.2A11.2A$23.A11.A$22.A.A9.A.A$
22.3A9.3A$22.2A11.2A$24.A9.A2$22.A.2A7.2A.A$23.2A9.2A$22.A13.A$24.A9.
A$23.A11.A$24.A9.A$22.2A11.2A$22.2A2.A5.A2.2A2$23.A.A7.A.A$24.A9.A$
22.A2.2A5.2A2.A$21.4A.2A3.2A.4A$20.A4.2A5.2A4.A$27.A3.A$18.2A.A15.A.
2A$21.A15.A$18.2A5.A.2A.2A.A5.2A$21.A3.2A.A.A.2A3.A$21.2A3.A.A.A.A3.
2A$24.2A.A3.A.2A$21.A15.A$23.A11.A$22.A4.2A.2A4.A$28.A.A$26.A5.A$26.A
5.A$26.A.A.A.A$26.A5.A$25.3A3.3A$27.A3.A$28.A.A$25.2A.A.A.2A$24.A3.A.
A3.A$23.A3.A3.A3.A$26.A5.A$23.3A3.A3.3A$27.2A.2A$20.7D2CD2A2$27.2A.2A
$27.2A.2A!
When you extract the file and go into output.txt and look for the first result, you will find out that I found your solution first.
https://drive.google.com/drive/folders/ ... hpRXUG9uKj

My bad, I gave you the wrong row, and I think that's the reason why it gave you the smaller solution:

Code: Select all

x = 82, y = 108, rule = LifeHistory
11$10.A12.A27.A12.A$9.A.A10.A.A25.A.A10.A.A$8.A3.A8.A3.A23.A3.A8.A3.A
$9.A2.A8.A2.A25.A2.A8.A2.A$9.A.A4.2A4.A.A25.A.A4.2A4.A.A$10.3A3.2A3.
3A27.3A3.2A3.3A$13.A6.A33.A6.A$12.A2.4A2.A4.3A17.3A4.A2.4A2.A$16.2A9.
A19.A9.2A$13.3A2.3A33.3A2.3A$26.A.A17.A.A$26.A.A17.A.A$27.A19.A$29.3A
11.3A$29.2A.2A7.2A.2A$28.A.4A7.4A.A$28.2A3.2A5.2A3.2A$29.A15.A$28.A.A
.A9.A.A.A$28.2A.2A9.2A.2A$29.4A9.4A$29.A15.A$30.2A11.2A$31.A11.A$30.A
.A9.A.A$30.3A9.3A$30.2A11.2A$32.A9.A2$30.A.2A7.2A.A$31.2A9.2A$30.A13.
A$32.A9.A$31.A11.A$32.A9.A$30.2A11.2A$30.2A2.A5.A2.2A2$31.A.A7.A.A$
32.A9.A$30.A2.2A5.2A2.A$29.4A.2A3.2A.4A$28.A4.2A5.2A4.A$35.A3.A$26.2A
.A15.A.2A$29.A15.A$26.2A5.A.2A.2A.A5.2A$29.A3.2A.A.A.2A3.A$29.2A3.A.A
.A.A3.2A$32.2A.A3.A.2A$29.A15.A$31.A11.A$30.A4.2A.2A4.A$36.A.A$34.A5.
A$34.A5.A$34.A.A.A.A$34.A5.A$33.3A3.3A$35.A3.A$36.A.A$33.2A.A.A.2A$
32.A3.A.A3.A$31.A3.A3.A3.A$34.A5.A$31.3A3.A3.3A$35.2A.2A$28.7D2CD2A2$
35.2A.2A$34.A.A.A.A$36.A.A$33.A.A3.A.A$35.A3.A3$31.3A7.3A$31.2A.2A3.
2A.2A2$32.4A3.4A$28.2A.A.A.A3.A.A.A.2A$28.2A2.A2.2A.2A2.A2.2A$32.A2.A
3.A2.A$33.3A3.3A$34.A5.A$35.A3.A!
By: C.R. Hilton, currently working on another cool spaceship.

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » April 17th, 2024, 4:49 pm

Sokwe wrote:
April 17th, 2024, 3:43 pm
C_R_116 wrote:
April 17th, 2024, 9:40 am
Look what I found!
Awesome! And way more compact than I was expecting.
wwei47 wrote:
April 17th, 2024, 12:35 pm
C_R_116 wrote:
April 17th, 2024, 9:40 am
I can't help but wonder if there's a bug in a search program. Notice that the original partial has a higher logical width than the completion, ignoring the frontend itself.

Code: Select all

x = 51, y = 48, rule = LifeHistory
3.5A5.5A15.5A5.5A$.2A5.A3.A5.2A11.2A5.A3.A5.2A$9.A.A27.A.A$.A7.A.A7.A
11.A7.A.A7.A$3.A13.A15.A13.A$5.2A7.2A19.2A7.2A$.A3.A2.A3.A2.A3.A11.A
3.A2.A3.A2.A3.A$A3.A2.2A3.2A2.A3.A9.A3.A2.2A3.2A2.A3.A$3.A2.A2.A.A2.A
2.A15.A2.A2.A.A2.A2.A$2A.5A5.5A.2A9.2A.5A5.5A.2A$D3.A.A7.A.A3.D10.D2.
A.A7.A.A2.D$D3.3A7.3A3.D10.D2.3A7.3A2.D$D4.2A7.2A4.D10.D3.2A7.2A3.D$D
3.2A.3A.3A.2A3.D10.D2.2A.3A.3A.2A2.D$D7.2A.2A7.D10.D6.2A.2A6.D$D7.2A.
2A7.D10.D6.2A.2A6.D$D19.D10.D17.D$D6.A.3A.A6.D10.D5.A.3A.A5.D$D5.2A2.
A2.2A5.D10.D4.2A2.A2.2A4.D$D5.A.A.A.A.A5.D10.D4.A.A.A.A.A4.D$D3.A11.A
3.D10.D2.A11.A2.D$D5.A7.A5.D10.D4.A7.A4.D$D3.2A9.2A3.D10.D2.2A9.2A2.D
$D19.D10.D17.D$D2.3A.3A.3A.3A2.D10.D.3A.3A.3A.3A.D$D.A2.2A7.2A2.A.D
10.DA2.2A7.2A2.AD$D19.D10.D17.D$D.A6.A.A6.A.D10.DA6.A.A6.AD$D2.A4.A3.
A4.A2.D10.D.A4.A3.A4.A.D$D7.A3.A7.D10.D2.2A.A5.A.2A2.D$D19.D10.D2.A.A
7.A.A2.D$D4.3A5.3A4.D10.D.2A11.2A.D$D4.2A7.2A4.D10.D17.D$D6.2A3.2A6.D
10.D17.D$D3.A2.3A.3A2.A3.D10.D17.D$D.3A.A.A3.A.A.3A.D10.D17.D$DA4.A7.
A4.AD10.D17.D$D3.A.2A5.2A.A3.D10.D17.D$D.A.A2.A5.A2.A.A.D10.D17.D$DA
4.A7.A4.AD10.D17.D$D.2A2.4A.4A2.2A.D10.D17.D$D9.A9.D10.D17.D$D.A4.3A.
3A4.A.D10.D17.D$CA4.A.A3.A.A4.AC10.D17.D$D3.A.2A2.A2.2A.A3.D10.D17.D$
D2.A2.2A5.2A2.A2.D10.D17.D$D2A.A3.2A.2A3.A.2AD10.D17.D$C2A.3A7.3A.2AC
10.D17.D!
Wouldn't this likely imply that the program found no completion at the lower width when one existed?
It depends on what program was being used to find each pattern. If zfind at logical width 11 was used, then it could have found the initial partial before finding the spaceship. However, if qfind was used for the first search, then it should have found the spaceship before it found that longer partial.

@C_R_116, can you explain how each partial was found, especially which search programs were used and what rows you extended from?
Uh oh, it seems we've encountered upon another error, because I used qfind v2.3 to find this.
I typed this into the command line:

Code: Select all

qfind.exe -p 7 -y 1 -w 11 -s o -d c7ospk -e initrows.txt -t 80
Whereas initrows.txt is this:

Code: Select all

...........
...........
...........
...........
...........
...........
...........
.....o.....
...........
...........
...........
...........
...........
....ooo....
And for the dump files (Which I had to split because of the amount of data it can handle):
c7ospk00035.zip
(8.63 MiB) Downloaded 16 times
c7ospk00045.zip
(9.27 MiB) Downloaded 8 times
c7ospk00060.zip
(9.32 MiB) Downloaded 13 times
By: C.R. Hilton, currently working on another cool spaceship.

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » April 17th, 2024, 4:49 pm

C_R_116 wrote:
April 17th, 2024, 4:49 pm
c7ospk00035.zip
c7ospk00045.zip
c7ospk00060.zip
c7ospk00083.zip
(9.51 MiB) Downloaded 22 times
c7ospk00117.zip
(9.71 MiB) Downloaded 20 times
c7ospk00152.zip
(7.1 MiB) Downloaded 28 times
By: C.R. Hilton, currently working on another cool spaceship.

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » April 17th, 2024, 11:11 pm

C_R_116 wrote:
April 17th, 2024, 4:49 pm
I used qfind v2.3 to find this.
I typed this into the command line:

Code: Select all

qfind.exe -p 7 -y 1 -w 11 -s o -d c7ospk -e initrows.txt -t 80
Whereas initrows.txt is this:

Code: Select all

...........
...........
...........
...........
...........
...........
...........
.....o.....
...........
...........
...........
...........
...........
....ooo....
And for the dump files (Which I had to split because of the amount of data it can handle):
Do you still have the program output? It should have found the ship at a depth of around 248 (possibly slightly earlier).
-Matthias Merzenich

User avatar
C_R_116
Posts: 597
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: qfind - a spaceship search program

Post by C_R_116 » April 18th, 2024, 12:44 am

Sokwe wrote:
April 17th, 2024, 11:11 pm
C_R_116 wrote:
April 17th, 2024, 4:49 pm
I used qfind v2.3 to find this.
I typed this into the command line:

Code: Select all

qfind.exe -p 7 -y 1 -w 11 -s o -d c7ospk -e initrows.txt -t 80
Whereas initrows.txt is this:

Code: Select all

...........
...........
...........
...........
...........
...........
...........
.....o.....
...........
...........
...........
...........
...........
....ooo....
And for the dump files (Which I had to split because of the amount of data it can handle):
Do you still have the program output? It should have found the ship at a depth of around 248 (possibly slightly earlier).
Argh, I should've waited for it to load the last dump file before ending it (They take hours to do so).

BUT, I know that the total depth was 249 when it gave me the result.
By: C.R. Hilton, currently working on another cool spaceship.

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » April 18th, 2024, 1:03 am

C_R_116 wrote:
April 18th, 2024, 12:44 am
Argh, I should've waited for it to load the last dump file before ending it (They take hours to do so).

BUT, I know that the total depth was 249 when it gave me the result.
Generally, I think it's a good idea to redirect output to a file by adding " > filename.txt" to the end of the line like in the following example:

Code: Select all

qfind.exe -p 7 -y 1 -w 11 -s o -d c7ospk -e initrows.txt -t 80 > output.txt
Anyway, I don't think there's a bug. When printing partials, the program also includes the extra extension rows from the deepening step. The partial you posted had a length of 50 cells, corresponding to a depth of about 350, while the search didn't find the ship until the partials would have had a depth of around 385 = depth 249 + deepening 136. Therefore you would get the longer partial before the shorter spaceship. Note that the partials you get from the latest dump file have a length of about 54, corresponding to a depth of about 378.

So there's seemingly no apparent bug here. Things seem to be working as expected.

Thanks for the feedback!
-Matthias Merzenich

User avatar
Drelectron8
Posts: 99
Joined: March 5th, 2023, 4:54 am
Location: Queenstown, Singapore

Re: qfind - a spaceship search program

Post by Drelectron8 » May 18th, 2024, 2:58 am

Sokwe wrote:
July 19th, 2023, 12:01 pm
Drelectron8 wrote:
July 19th, 2023, 6:30 am
I'm sorry, but how does this search work? Where do I put the code in?
It's a command line program. If you are using Windows you can download a zip file from the bottom of this post containing the executable file. After extracting the zip file to the desired folder, you will need to open a command prompt window and navigate to that folder (using the cd command, look online for how to change directories in windows command prompt for more details). Once you have navigated to the right folder, you can run the program by typing its name and a space-separated list of options and then pressing the enter key. For example, typing the following would search for a c/10 orthogonal spaceship with even symmetry and logical width 5 (full width 10 due to even symmetry) using two threads:

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
Run "qfind --help" to get a list of all options. It can also be helpful to send output to a file by adding " > filename" to the end of the line. For example:

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2 > output.txt
If you are using an operating system other than windows, you will need to compile the code. You will probably have to look online for how to do this for your operating system.

Once you've compiled the code, running it is pretty much the same as on Windows. You will need to open the command terminal and navigate to the correct directory. To run the program, you will probably need to type "./qfind" instead of just "qfind". For example:

Code: Select all

./qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2 > output.txt
I hope this helps.
What do I type for the name on the command window?

Can you walk me through on how to do this? I suck at coding scripts.

Code: Select all

x = 4, y = 4, rule = B01356/S012345
ob2o$2obo2$obo!
#C [[ THEME Book AUTOFIT LAYERS 5 DEPTH 0.50 ]]
OCA:Wickstretcher And The Parasites← Check this cool rule out!

Wickstretcher And The Parasites forums. ← Check the forums as well!

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » May 18th, 2024, 5:04 am

Drelectron8 wrote:
May 18th, 2024, 2:58 am
What do I type for the name on the command window?

Can you walk me through on how to do this? I suck at coding scripts.
I'm assuming you're using Windows, since you didn't object when I suggested it earlier. Here are step-by-step instructions that I think should work in that case.
  1. Download the zip file from the bottom of this post.
  2. Extract the downloaded zip file into the desired folder (this should give a file called qfind.exe file). For example, I might extract it into a folder called "qfind" with full path "C:\Users\Matthias\Documents\Life\qfind"
  3. Open a command window by clicking the start menu, typing "cmd", and pressing enter.
  4. Use the cd command to change the directory to the folder containing qfind.exe. For example, if the full path to the folder is "C:\Users\Matthias\Documents\Life\qfind" then I would type or paste the following into the command window and press enter.

    Code: Select all

    cd "C:\Users\Matthias\Documents\Life\qfind"
  5. You can now run qfind by typing "qfind" followed by a list of options and then pressing enter. For example, typing or pasting the following and pressing enter would search for a c/10 orthogonal spaceship with even symmetry and logical width 5 (full width 10 due to even symmetry) using two threads:

    Code: Select all

    qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
    Run "qfind --help" to get a list of all options. It can also be helpful to send output to a file by adding " > filename" to the end of the line. For example:

    Code: Select all

    qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2 > output.txt
    This will create a file containing the program output called "output.txt" in the same folder as qfind.exe.
-Matthias Merzenich

User avatar
Drelectron8
Posts: 99
Joined: March 5th, 2023, 4:54 am
Location: Queenstown, Singapore

Re: qfind - a spaceship search program

Post by Drelectron8 » May 18th, 2024, 5:35 am

Sokwe wrote:
May 18th, 2024, 5:04 am
Drelectron8 wrote:
May 18th, 2024, 2:58 am
What do I type for the name on the command window?

Can you walk me through on how to do this? I suck at coding scripts.
I'm assuming you're using Windows, since you didn't object when I suggested it earlier. Here are step-by-step instructions that I think should work in that case.
  1. Download the zip file from the bottom of this post.
  2. Extract the downloaded zip file into the desired folder (this should give a file called qfind.exe file). For example, I might extract it into a folder called "qfind" with full path "C:\Users\Matthias\Documents\Life\qfind"
  3. Open a command window by clicking the start menu, typing "cmd", and pressing enter.
  4. Use the cd command to change the directory to the folder containing qfind.exe. For example, if the full path to the folder is "C:\Users\Matthias\Documents\Life\qfind" then I would type or paste the following into the command window and press enter.

    Code: Select all

    cd "C:\Users\Matthias\Documents\Life\qfind"
  5. You can now run qfind by typing "qfind" followed by a list of options and then pressing enter. For example, typing or pasting the following and pressing enter would search for a c/10 orthogonal spaceship with even symmetry and logical width 5 (full width 10 due to even symmetry) using two threads:

    Code: Select all

    qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
    Run "qfind --help" to get a list of all options. It can also be helpful to send output to a file by adding " > filename" to the end of the line. For example:

    Code: Select all

    qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2 > output.txt
    This will create a file containing the program output called "output.txt" in the same folder as qfind.exe.
Okay, I understand until step 4, but when I try and open the "qfind.exe" file, it keeps on closing after a message saying "Microsoft Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk.". Is the file not supposed to open?

Also, if there is a qfind.exe file, do I insert the code there or do I insert the code into the command window?

Code: Select all

x = 4, y = 4, rule = B01356/S012345
ob2o$2obo2$obo!
#C [[ THEME Book AUTOFIT LAYERS 5 DEPTH 0.50 ]]
OCA:Wickstretcher And The Parasites← Check this cool rule out!

Wickstretcher And The Parasites forums. ← Check the forums as well!

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » May 18th, 2024, 6:03 am

Drelectron8 wrote:
May 18th, 2024, 5:35 am
when I try and open the "qfind.exe" file, it keeps on closing after a message saying "Microsoft Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk.".
I'm not familiar with this issue, so I searched for it online. You could try right-clicking on qfind.exe, selecting "properties", and checking the "unblock" box at the bottom of the window. If that doesn't work, you could try following the instructions here. Another option might be to open the command prompt in administrator mode. To do that, follow step 3 above, but instead of just pressing enter, you would press ctrl+shift+enter.
Drelectron8 wrote:
May 18th, 2024, 5:35 am
if there is a qfind.exe file, do I insert the code there or do I insert the code into the command window?
You would type everything in the command window.
-Matthias Merzenich

User avatar
Drelectron8
Posts: 99
Joined: March 5th, 2023, 4:54 am
Location: Queenstown, Singapore

Re: qfind - a spaceship search program

Post by Drelectron8 » May 18th, 2024, 7:54 pm

Sokwe wrote:
May 18th, 2024, 6:03 am
Drelectron8 wrote:
May 18th, 2024, 5:35 am
when I try and open the "qfind.exe" file, it keeps on closing after a message saying "Microsoft Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk.".
I'm not familiar with this issue, so I searched for it online. You could try right-clicking on qfind.exe, selecting "properties", and checking the "unblock" box at the bottom of the window. If that doesn't work, you could try following the instructions here. Another option might be to open the command prompt in administrator mode. To do that, follow step 3 above, but instead of just pressing enter, you would press ctrl+shift+enter.
Drelectron8 wrote:
May 18th, 2024, 5:35 am
if there is a qfind.exe file, do I insert the code there or do I insert the code into the command window?
You would type everything in the command window.
Okay, so, after I did all the steps, when I open qfind.exe, it just keeps on closing, is it meant to do that?

Code: Select all

x = 4, y = 4, rule = B01356/S012345
ob2o$2obo2$obo!
#C [[ THEME Book AUTOFIT LAYERS 5 DEPTH 0.50 ]]
OCA:Wickstretcher And The Parasites← Check this cool rule out!

Wickstretcher And The Parasites forums. ← Check the forums as well!

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » May 18th, 2024, 8:04 pm

Drelectron8 wrote:
May 18th, 2024, 7:54 pm
Okay, so, after I did all the steps, when I open qfind.exe, it just keeps on closing, is it meant to do that?
To be clear, you should not at any point click on qfind.exe in your file explorer. It won't do anything and will close immediately.

Everything is done through the command line. Step 5 is where you actually run the program. When you reach step 5, try copying and pasting the following into the command window:

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
Then press enter, and see what happens.
-Matthias Merzenich

User avatar
Drelectron8
Posts: 99
Joined: March 5th, 2023, 4:54 am
Location: Queenstown, Singapore

Re: qfind - a spaceship search program

Post by Drelectron8 » May 19th, 2024, 1:21 am

Sokwe wrote:
May 18th, 2024, 8:04 pm
Drelectron8 wrote:
May 18th, 2024, 7:54 pm
Okay, so, after I did all the steps, when I open qfind.exe, it just keeps on closing, is it meant to do that?
To be clear, you should not at any point click on qfind.exe in your file explorer. It won't do anything and will close immediately.

Everything is done through the command line. Step 5 is where you actually run the program. When you reach step 5, try copying and pasting the following into the command window:

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
Then press enter, and see what happens.
When I put the directory of the folder, like

Code: Select all

cd "C:\Users\Matthias\Documents\Life\qfind"
and so, it brings me to the file, then what?

When I type this

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
into the

Code: Select all

C:\WINDOWS\system32\cmd
windows command line, it just says that

Code: Select all

'qfind' is not recognized as an internal or external command, operable program or batch file. 
. Am I missing something here?

Code: Select all

x = 4, y = 4, rule = B01356/S012345
ob2o$2obo2$obo!
#C [[ THEME Book AUTOFIT LAYERS 5 DEPTH 0.50 ]]
OCA:Wickstretcher And The Parasites← Check this cool rule out!

Wickstretcher And The Parasites forums. ← Check the forums as well!

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » May 19th, 2024, 2:01 am

Drelectron8 wrote:
May 19th, 2024, 1:21 am
When I put the directory of the folder, like

Code: Select all

cd "C:\Users\Matthias\Documents\Life\qfind"
and so, it brings me to the file, then what?

When I type this

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
into the

Code: Select all

C:\WINDOWS\system32\cmd
windows command line, it just says that

Code: Select all

'qfind' is not recognized as an internal or external command, operable program or batch file. 
.
It looks like the directory is not changing properly. When you change the folder, the command line should update to show what folder you're in. For example, after typing

Code: Select all

cd "C:\Users\Matthias\Documents\Life\qfind"
and pressing enter, my command window would look like this:

Code: Select all

C:\Windows\system32>cd "C:\Users\Matthias\Documents\Life\qfind"

C:\Users\Matthias\Documents\Life\qfind>
Notice that the first line says I am in "C:\Windows\system32", but after I change the directory with the cd command it says I am in "C:\Users\Matthias\Documents\Life\qfind".

Keep in mind that you will need to replace "C:\Users\Matthias\Documents\Life\qfind" with whatever folder you put qfind.exe in. Your folder will not have the same path as mine.
-Matthias Merzenich

User avatar
Drelectron8
Posts: 99
Joined: March 5th, 2023, 4:54 am
Location: Queenstown, Singapore

Re: qfind - a spaceship search program

Post by Drelectron8 » May 19th, 2024, 2:21 am

Sokwe wrote:
May 19th, 2024, 2:01 am
Drelectron8 wrote:
May 19th, 2024, 1:21 am
When I put the directory of the folder, like

Code: Select all

cd "C:\Users\Matthias\Documents\Life\qfind"
and so, it brings me to the file, then what?

When I type this

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2
into the

Code: Select all

C:\WINDOWS\system32\cmd
windows command line, it just says that

Code: Select all

'qfind' is not recognized as an internal or external command, operable program or batch file. 
.
It looks like the directory is not changing properly. When you change the folder, the command line should update to show what folder you're in. For example, after typing

Code: Select all

cd "C:\Users\Matthias\Documents\Life\qfind"
and pressing enter, my command window would look like this:

Code: Select all

C:\Windows\system32>cd "C:\Users\Matthias\Documents\Life\qfind"

C:\Users\Matthias\Documents\Life\qfind>
Notice that the first line says I am in "C:\Windows\system32", but after I change the directory with the cd command it says I am in "C:\Users\Matthias\Documents\Life\qfind".

Keep in mind that you will need to replace "C:\Users\Matthias\Documents\Life\qfind" with whatever folder you put qfind.exe in. Your folder will not have the same path as mine.
Oh, my goodness, thanks so much for helping me bro!

Code: Select all

x = 4, y = 4, rule = B01356/S012345
ob2o$2obo2$obo!
#C [[ THEME Book AUTOFIT LAYERS 5 DEPTH 0.50 ]]
OCA:Wickstretcher And The Parasites← Check this cool rule out!

Wickstretcher And The Parasites forums. ← Check the forums as well!

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » May 19th, 2024, 2:28 am

Drelectron8 wrote:
May 19th, 2024, 2:21 am
Oh, my goodness, thanks so much for helping me bro!
Does qfind appear to be working properly now? With the example input given above, the output should look like this:

Code: Select all

qfind v2.3 by Matthias Merzenich, 19 March 2023
Input: qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 1


Rule: B3/S23
Period: 10
Offset: 1
Width:  5
Symmetry: even
Queue size: 2^20
Hash table size: 2^20
Minimum deepening increment: 3
Lookahead caching disabled
Number of threads: 2
Starting search
Queue full, depth 9, deepening 3, 131k/165k -> 70k/96k
Queue full, depth 9, deepening 6, 131k/174k -> 59k/82k
Queue full, depth 10, deepening 8, 131k/185k -> 46k/85k
Queue full, depth 13, deepening 8, 131k/391k -> 46k/177k
Queue full, depth 15, deepening 9, 131k/365k -> 47k/191k
Queue full, depth 16, deepening 11, 131k/360k -> 39k/171k
Queue full, depth 18, deepening 12, 131k/342k -> 41k/180k
Queue full, depth 19, deepening 14, 131k/358k -> 35k/165k
...
Remember that it can be very useful to send the output to a file. To do this, add " > filename.txt" to the end of your input line, where "filename" is the name of the desired output file. For example, by giving the following input:

Code: Select all

qfind -r B3/S23 -p 10 -y 1 -w 5 -s even -t 2 > output.txt
a file called "output.txt" containing the program output will be created in the same folder as qfind.exe.

Run "qfind --help" to see a full list of options.
-Matthias Merzenich

User avatar
H. H. P. M. P. Cole
Posts: 245
Joined: July 15th, 2023, 9:36 pm

Re: qfind - a spaceship search program

Post by H. H. P. M. P. Cole » June 14th, 2024, 9:03 am

This is one of the weirder oddities. When I was searching for 3c/6 ships in B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8, in w6 asymmetric, the solution on the left was the first output. However, in w7 even, the first output was the trivial flotilla of two ships on the right, but the two ships that make up the flotilla are smaller than the left ship.

Code: Select all

x = 25, y = 67, rule = B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8
3bobo5bobo8bobo2$4bo7bo10bo$4bo7bo10bo$3b3o5b3o8b3o$3b3o5b3o8b3o$5bo5b
o12bo$bo3bo5bo3bo4bo3bo$obo2bo5bo2bobo2bobo2bo$bo3bo5bo3bo4bo3bo$bo3b
o5bo3bo4bo3bo$obo2bo5bo2bobo2bobo2bo$3o2bo5bo2b3o2b3o2bo$obo2bo5bo2bo
bo2bobo2bo$2bo2bo5bo2bo6bo2bo$bobobo5bobobo4bobobo$b3obo5bob3o4b3obo$
bobobo5bobobo4bobobo$bo3bo5bo3bo4bo3bo$bo2b2o5b2o2bo4bo2b2o$obob2o5b2o
bobo2bobob2o$3ob2o5b2ob3o2b3ob2o$3ob2o5b2ob3o2b3ob2o$obob2o5b2obobo2b
obob2o$3ob2o5b2ob3o2b3ob2o$obob2o5b2obobo2bobob2o$o4bo5bo4bo2bo4bo$o4b
o5bo4bo2bo4bo$o4bo5bo4bo2bo4bo$2o2b2o5b2o2b2o2b2o2b2o$obo2bo5bo2bobo2b
obo2bo$o4bo5bo4bo2bo4bo$2o3bo5bo3b2o2b2o3bo$2o3bo5bo3b2o2b2o3bo$2o3bo
5bo3b2o2b2o3bo$6o5b6o2b6o$2o3bo5bo3b2o2b2o3bo$2o3bo5bo3b2o2b2o3bo$o3b
2o5b2o3bo2bo3b2o$ob2obo5bob2obo2bob2obo$o4bo5bo4bo2bo4bo$2o3bo5bo3b2o
2b2o3bo$o4bo5bo4bo2bo4bo$2o3bo5bo3b2o2b2o3bo$o4bo5bo4bo2bo4bo$o3b2o5b
2o3bo2bo3b2o$o3b2o5b2o2b2o2b2o2b2o$o4bo5b2o3bo2bo3b2o$obob2o5b2o3bo2b
o3b2o$o4bo5b3o2bo2bo2b3o$2o2b2o5b2o3bo2bo3b2o$o4bo5b2o2b2o2b2o2b2o$o2b
3o5bo12bo$o4bo5b2o10b2o$o4bo5bo12bo$o2bobo$o4bo$2o2b2o$2o2b2o$2o3bo$2o
2b2o$obo2bo$2o3bo$obob2o$2o$obo$o!
For reference, the command for w6 asymmetric:

Code: Select all

qfind -r B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8  -p 6 -y 3 -w 6 -s asymmetric -t 12 -h 24 -k -f 1
produced this output:

Code: Select all

qfind v2.3 by Matthias Merzenich, 19 March 2023
Input: qfind -r B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8 -p 6 -y 3 -w 6 -s asymmetric -t 12 -h 24 -k -f 1


Rule: B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8
Period: 6
Offset: 3
Width:  6
Symmetry: asymmetric
Suppress subperiodic results
Queue size: 2^20
Hash table size: 2^24
Minimum deepening increment: 3
Cache memory per thread: 32 megabytes
Number of threads: 12
Starting search

x = 6, y = 68, rule = B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8
4bo$3bobo$4bo$4bo$3bobo$3b3o$3bobo$5bo$obo2bo$5bo$bo3bo$bo3bo$3o
2bo$3o2bo$2bo2bo$2bo2bo$b3obo$b3obo$bo3bo$bo3bo$bo2b2o$3ob2o$obo
b2o$3ob2o$3ob2o$3ob2o$obob2o$o2bobo$o2b3o$obo2bo$o2b3o$o4bo$o4bo
$2o3bo$2o3bo$2obobo$2o3bo$2o3bo$2obobo$3o2bo$o4bo$o4bo$2o3bo$o4b
o$o4bo$o4bo$o3b2o$o3b2o$6o$o3b2o$o3b2o$2o3bo$ob2obo$o4bo$o3b2o$o
4bo$o3b2o$o4bo$2o3bo$2o2b2o$2o3bo$2o3bo$3o2bo$2o3bo$2o2b2o$o$2o$
o!

Search complete.

1 spaceship found.
Maximum depth reached: 416
and the command for w7 even:

Code: Select all

qfind -r B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8  -p 6 -y 3 -w 7 -s even -t 12 -h 24 -k -f 1
produced this output:

Code: Select all

qfind v2.3 by Matthias Merzenich, 19 March 2023
Input: qfind -r B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8 -p 6 -y 3 -w 7 -s even -t 12 -h 24 -k -f 1


Rule: B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8
Period: 6
Offset: 3
Width:  7
Symmetry: even
Suppress subperiodic results
Queue size: 2^20
Hash table size: 2^24
Minimum deepening increment: 3
Cache memory per thread: 32 megabytes
Number of threads: 12
Starting search
Queue full, depth 121, deepening 3, 21k/983k -> 895/8.1k
Queue full, depth 163, deepening 3, 34k/983k -> 1.9k/13k
Queue full, depth 199, deepening 3, 26k/983k -> 2.0k/16k
Queue full, depth 232, deepening 3, 42k/983k -> 2.3k/19k
Queue full, depth 271, deepening 3, 18k/983k -> 1.7k/13k
Queue full, depth 318, deepening 3, 22k/983k -> 1.7k/14k

x = 14, y = 55, rule = B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8
obo8bobo2$bo10bo$bo10bo$3o8b3o$3o8b3o$o12bo$o3bo4bo3bo$o2bobo2b
obo2bo$o3bo4bo3bo$o3bo4bo3bo$o2bobo2bobo2bo$o2b3o2b3o2bo$o2bobo2b
obo2bo$o2bo6bo2bo$obobo4bobobo$ob3o4b3obo$obobo4bobobo$o3bo4bo3b
o$2o2bo4bo2b2o$2obobo2bobob2o$2ob3o2b3ob2o$2ob3o2b3ob2o$2obobo2b
obob2o$2ob3o2b3ob2o$2obobo2bobob2o$o4bo2bo4bo$o4bo2bo4bo$o4bo2bo
4bo$2o2b2o2b2o2b2o$o2bobo2bobo2bo$o4bo2bo4bo$o3b2o2b2o3bo$o3b2o2b
2o3bo$o3b2o2b2o3bo$6o2b6o$o3b2o2b2o3bo$o3b2o2b2o3bo$2o3bo2bo3b2o
$ob2obo2bob2obo$o4bo2bo4bo$o3b2o2b2o3bo$o4bo2bo4bo$o3b2o2b2o3bo$
o4bo2bo4bo$2o3bo2bo3b2o$2o2b2o2b2o2b2o$2o3bo2bo3b2o$2o3bo2bo3b2o
$3o2bo2bo2b3o$2o3bo2bo3b2o$2o2b2o2b2o2b2o$o12bo$2o10b2o$o12bo!

Search complete.

1 spaceship found.
Maximum depth reached: 341
A similar bug happens when I search B2cei3ay5i6ci8/S1e2cik3-cikq4air5iy6i8 for 2c/8 ships.

This ship is outputted at width-5, but not width-2.

Code: Select all

x = 3, y = 61, rule = B2cei3ay5i6ci8/S1e2cik3-cikq4air5iy6i8
3o$obo$3o$obo$3o$obo$3o$3o$obo$obo$3o$3o$obo$obo$3o$obo$3o$obo$
obo$3o$3o$3o$3o$bo$bo2$bo$obo$obo$3o$obo$obo$obo$obo$obo$3o$3o$3o
$3o$obo$obo$obo$3o$obo$obo$obo$3o$3o$obo$3o$3o$obo$3o$3o$obo$obo
$obo$3o$3o$obo$3o!
In the same rule, c/16 at width-2 odd seems to have a strange infinite loop:

Code: Select all

qfind v2.3 by Matthias Merzenich, 19 March 2023
Input: qfind -r B2cei3ay5i6ci8/S1e2cik3-cikq4air5iy6i8 -p 16 -y 1 -w 2 -s odd -t 12 -h 24 -k -f 1


Rule: B2cei3ay5i6ci8/S1e2cik3-cikq4air5iy6i8
Period: 16
Offset: 1
Width:  2
Symmetry: odd
Queue size: 2^20
Hash table size: 2^24
Minimum deepening increment: 3
Lookahead caching disabled
Number of threads: 12
Starting search
Queue full, depth 1080, deepening 3, 1.7k/983k -> 1.4k/732k
Queue full, depth 1219, deepening 3, 1.7k/983k -> 1.5k/918k
Queue full, depth 1256, deepening 3, 1.8k/983k -> 1.6k/968k
Queue full, depth 1264, deepening 3, 1.8k/983k -> 1.6k/979k
Queue full, depth 1266, deepening 4, 1.6k/983k -> 1.5k/982k
Queue full, depth 1267, deepening 6, 1.5k/983k -> 1.5k/982k
Queue full, depth 1267, deepening 9, 1.5k/983k -> 1.4k/982k
Queue full, depth 1268, deepening 11, 1.4k/983k -> 1.4k/982k
Queue full, depth 1268, deepening 14, 1.4k/983k -> 1.3k/982k
Queue full, depth 1268, deepening 17, 1.3k/983k -> 1.3k/982k
Queue full, depth 1268, deepening 20, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 23, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 26, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 29, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 32, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 35, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 38, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 41, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 44, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 47, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 50, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 53, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 56, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 59, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 62, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 65, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 68, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 71, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 74, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 77, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 80, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 83, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 86, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 89, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 92, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 95, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 98, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 101, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 104, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 107, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 110, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 113, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 116, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 119, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 122, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 125, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 128, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 131, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 134, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 137, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 140, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 143, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 146, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 149, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 152, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 155, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 158, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 161, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 164, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 167, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 170, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 173, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 176, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 179, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 182, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 185, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 188, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 191, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 194, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 197, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 200, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 203, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 206, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 209, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 212, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 215, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 218, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 221, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 224, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 227, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 230, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 233, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 236, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 239, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 242, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 245, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 248, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 251, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 254, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 257, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 260, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 263, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 266, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 269, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 272, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 275, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 278, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 281, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 284, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 287, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 290, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 293, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 296, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 299, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 302, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 305, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 308, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 311, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 314, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 317, 1.3k/983k -> 1.3k/983k
Queue full, depth 1268, deepening 320, 1.3k/983k -> 1.3k/983k
It seems to stop at depth-1268 while 'deepening' seems to get larger. I ran the search to deepening 7000 and there is no sign of slowing.
Harfordson Parker-Cole

Factorio
Speciation (by NimbleRogue)

Sokwe
Moderator
Posts: 2742
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » June 14th, 2024, 4:29 pm

H. H. P. M. P. Cole wrote:
June 14th, 2024, 9:03 am
When I was searching for 3c/6 ships in B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8, in w6 asymmetric, the solution on the left was the first output. However, in w7 even, the first output was the trivial flotilla of two ships on the right, but the two ships that make up the flotilla are smaller than the left ship.
Thanks for the report! That's a known bug when gcd(period, displacement) > 1, unfortunately. This is because qfind's duplicate row elimination doesn't work quite right in these cases, a bug it inherited from gfind. Unfortunately, I haven't thought of a good way to eliminate this bug. I wrote a version that eliminates the bug (source code available here) based on qfind v2.0, but it's much slower and outputs far more redundant spaceships while also creating an unreasonable numbers of small text files. It could probably be improved with some of the updates to qfind since then.

I think most Life-like rules won't encounter this bug in practice. However, many int rules with extremely thin ships, like the one you're searching, will encounter it frequently. In fact, your searches are missing a much smaller ship, this width-4 example:

Code: Select all

x = 4, y = 15, rule = B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8
2bo$bobo$2bo$2bo$bobo$b3o$b3o$bobo$b3o$bobo$bo$bo$3o$obo$3o!
I found it using the following options:

Code: Select all

qfind -r B2ce3y4at6c7e8/S01e2i3-cikq4air5iy6ci8 -p 6 -y 3 -w 4 -s a -h 0 -c 0 -z -k -f 1
Notice that I included "-h 0", meaning that duplicate row elimination is turned off. If I remove this option (so duplicate row elimination stays on) it finds no ships.
H. H. P. M. P. Cole wrote:
June 14th, 2024, 9:03 am
c/16 at width-2 odd seems to have a strange infinite loop:

Code: Select all

...
It seems to stop at depth-1268 while 'deepening' seems to get larger. I ran the search to deepening 7000 and there is no sign of slowing.
This is another known bug, and it can be "solved" by increasing the queue size with the "-q" option. Try "-q 21". The reason this occurs is that qfind has a fixed queue size (I should really change this so that deepening occurs at specified intervals rather than when a fixed queue size is reached). When the queue fills up, it tries to shrink it by using depth-first lookahead on all of the current partial results in the queue. This usually eliminates many partial results, which shrinks the queue, allowing the search to continue. However, in your case all partial results in the queue are infinitely extendable, so the depth-first lookahead never reduces the queue size, and the queue remains full, so the search cannot continue.
-Matthias Merzenich

Post Reply