qfind - a spaceship search program

For scripts to aid with computation or simulation in cellular automata.
Sokwe
Moderator
Posts: 1850
Joined: July 9th, 2009, 2:44 pm

Re: qfind - a spaceship search program

Post by Sokwe » April 28th, 2021, 8:10 am

cgoler2 wrote:
April 28th, 2021, 7:35 am
It does print the same spaceship twice in a row when I was searching for c/4 orthogonal spaceships with logical width 9 and gutter symettry.
You're right. I'll have to look into this. Thanks for the report.
-Matthias Merzenich

User avatar
cgoler2
Posts: 149
Joined: March 10th, 2021, 2:32 pm

Re: qfind - a spaceship search program

Post by cgoler2 » May 1st, 2021, 11:23 am

How do you find a c/6 diagonal instead of a 2c/6 orthogonal?

User avatar
bubblegum
Posts: 897
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: qfind - a spaceship search program

Post by bubblegum » May 1st, 2021, 1:09 pm

cgoler2 wrote:
May 1st, 2021, 11:23 am
How do you find a c/6 diagonal instead of a 2c/6 orthogonal?
AFAIK qfind doesn't support non-orthogonal searches.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

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

qfind v2.1 released (Re: qfind - a spaceship search program)

Post by Sokwe » May 3rd, 2021, 3:36 am

qfind v2.1 released

Changes:
  • If the cache memory option (-c) is not set, qfind will automatically enable lookahead caching for speeds greater than c/5 and will disable it otherwise. There is no longer a need to compile two different versions of qfind, as setting -c 0 will disable lookahead caching. qfind-s will also automatically determine whether to use lookahead caching, although the choice can be set manually by defining the macro NOCACHE or FORCECACHE in qfind-s.cpp.
  • I changed the "disable longest partial output" (-a) and "disable output while deepening" (-z) options to toggles. Previously, the longest partial output and output while deepening were enabled by default and could be disabled but not reenabled.
  • I replaced the Golly Python script get-rows.py with the Golly Lua script get-rows.lua.
  • I fixed a bug that caused redundant output to be printed.
As usual, please report any bugs or strange behavior you find.
cgoler2 wrote:
April 28th, 2021, 7:35 am
It does print the same spaceship twice in a row when I was searching for c/4 orthogonal spaceships with logical width 9 and gutter symettry.
There was a bug that sometimes caused non-monotonic spaceships to be printed twice in a row. It should be fixed now. Thanks again for the bug report.
cgoler2 wrote:
May 1st, 2021, 11:23 am
How do you find a c/6 diagonal instead of a 2c/6 orthogonal?
As bubblegum said, qfind only supports orthogonal spaceship searches, and I have no intention of adding support for non-orthogonal ships. Based on experiments with zfind, non-orthogonal ship searching with qfind would be slower than the same searches with WLS or ikpx2.
-Matthias Merzenich

User avatar
yujh
Posts: 2173
Joined: February 27th, 2020, 11:23 pm
Location: 我不觉得我迷路了,但是我不知道我在哪里
Contact:

Re: qfind - a spaceship search program

Post by yujh » May 3rd, 2021, 3:51 am

Sorry for this, can I request for a precompiled on windows version again?
(Or wich version of c++ should I use?)
Edited by yujh: thanks again! AND I found myself unable to use all of these things
Last edited by yujh on May 3rd, 2021, 5:26 am, edited 1 time in total.

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

Re: qfind - a spaceship search program

Post by Sokwe » May 3rd, 2021, 5:14 am

yujh wrote:
May 3rd, 2021, 3:51 am
can I request for a precompiled on windows version again?
Try this:
qfind-v2.1-windows.zip
(161.69 KiB) Downloaded 7 times
This was compiled under Mingw-w64 using

Code: Select all

g++ qfind.cpp -static -O3 -fopenmp -o qfind
yujh wrote:
May 3rd, 2021, 3:51 am
(Or wich version of c++ should I use?)
To compile it yourself, you need a C++ compiler that works with your operating system and supports OpenMP. GCC and Clang are popular. As I mentioned, the attached version was compiled using g++ (the C++ compiler in GCC) under Mingw-w64.
-Matthias Merzenich

User avatar
yujh
Posts: 2173
Joined: February 27th, 2020, 11:23 pm
Location: 我不觉得我迷路了,但是我不知道我在哪里
Contact:

Re: qfind - a spaceship search program

Post by yujh » May 3rd, 2021, 8:17 am

I guess if there it could support generation rules? (Or probably there’s better ways to go for it?)

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

Re: qfind - a spaceship search program

Post by LaundryPizza03 » May 3rd, 2021, 10:18 am

I could make and set up LLVM according to these directions, but I couldn't use OpenMP using the -fopenmp tag.

Code: Select all

> cd ~/qfind
> g++ qfind.cpp -static -O3 -fopenmp -o qfind
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
Also, git pull does not seem to work anymore on Big Sur.

Code: Select all

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

The latest edition of new-gliders.db.txt and oscillators.db.txt have 31531 spaceships and 1293 oscillators from outer-totalistic rules. You are invited to help!

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

Re: qfind - a spaceship search program

Post by Sokwe » May 3rd, 2021, 5:53 pm

LaundryPizza03 wrote:
May 3rd, 2021, 10:18 am
I could make and set up LLVM according to these directions, but I couldn't use OpenMP using the -fopenmp tag.

Code: Select all

> cd ~/qfind
> g++ qfind.cpp -static -O3 -fopenmp -o qfind
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
I suspect you would want to use clang++, not g++ (since g++ is part of GCC, not LLVM). It appears MacOS calls clang++ when you use g++, but I'm not sure whether it's calling the version you just installed or the version that comes with MacOS. I think the MacOS clang doesn't automatically support OpenMP. You might be able to determine whether the correct version of clang is being used by running "clang --version" and comparing the results to whatever you installed. If you do figure out what the problem is, it might be helpful to other users to post your solution here.
LaundryPizza03 wrote:
May 3rd, 2021, 10:18 am
I could make and set up LLVM according to these directions
Is there a reason for using this version of clang and not the latest official version? According to this link,
With the release of Clang 3.8.0, OpenMP 3.1 support is enabled in Clang by default, and the OpenMP runtime is therefore built as a normal part of the Clang build, and distributed with the binary distributions.
yujh wrote:
May 3rd, 2021, 8:17 am
I guess if there it could support generation rules? (Or probably there’s better ways to go for it?)
qfind's method would not work well with many-state rules, because it would require even more memory to store the lookup tables.
-Matthias Merzenich

User avatar
cgoler2
Posts: 149
Joined: March 10th, 2021, 2:32 pm

Re: qfind - a spaceship search program

Post by cgoler2 » May 14th, 2021, 2:42 pm

How do you input the partials?

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

Re: qfind - a spaceship search program

Post by LaundryPizza03 » Yesterday, 1:15 am

Sokwe wrote:
May 3rd, 2021, 5:53 pm
LaundryPizza03 wrote:
May 3rd, 2021, 10:18 am
I could make and set up LLVM according to these directions, but I couldn't use OpenMP using the -fopenmp tag.

Code: Select all

> cd ~/qfind
> g++ qfind.cpp -static -O3 -fopenmp -o qfind
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
I suspect you would want to use clang++, not g++ (since g++ is part of GCC, not LLVM). It appears MacOS calls clang++ when you use g++, but I'm not sure whether it's calling the version you just installed or the version that comes with MacOS. I think the MacOS clang doesn't automatically support OpenMP. You might be able to determine whether the correct version of clang is being used by running "clang --version" and comparing the results to whatever you installed. If you do figure out what the problem is, it might be helpful to other users to post your solution here.
The version called by the clang command is 12.0.0. I can't determine the version I installed via llvm-project.

Code: Select all

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

The latest edition of new-gliders.db.txt and oscillators.db.txt have 31531 spaceships and 1293 oscillators from outer-totalistic rules. You are invited to help!

Post Reply