ConwayLife.com - A community for Conway's Game of Life and related cellular automata
Home  •  LifeWiki  •  Forums  •  Download Golly

zfind discussion

For scripts to aid with computation or simulation in cellular automata.

Re: zfind discussion

Postby Sokwe » January 30th, 2017, 2:02 am

Goldtiger997 wrote:How can zfind be modified so that when the depth limit is reached, it prints out the partial it already has as usual, but then continues the search for more spaceships?

It sounds like you want to use the 'm' command, which sets a max length for the search. Setting an 'm' value will cause the search to back up whenever the specified max length is reached. Note that the 'm' command should not be used if you are trying to prove that no spaceships exist at a certain width.
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby Goldtiger997 » January 30th, 2017, 2:22 am

Sokwe wrote:
Goldtiger997 wrote:How can zfind be modified so that when the depth limit is reached, it prints out the partial it already has as usual, but then continues the search for more spaceships?

It sounds like you want to use the 'm' command, which sets a max length for the search. Setting an 'm' value will cause the search to back up whenever the specified max length is reached. Note that the 'm' command should not be used if you are trying to prove that no spaceships exist at a certain width.


Thanks, I tried it and it's close but not quite what I want. I was thinking of something that works just like the m parameter, but prints out what it has at the max length before backing up.
User avatar
Goldtiger997
 
Posts: 538
Joined: June 21st, 2016, 8:00 am
Location: 11.329903°N 142.199305°E

Re: zfind discussion

Postby Sokwe » January 30th, 2017, 3:17 am

Goldtiger997 wrote:Thanks, I tried it and it's close but not quite what I want. I was thinking of something that works just like the m parameter, but prints out what it has at the max length before backing up.

In zfind 2.0, line 474 should read
if(sp[P_MAX_LENGTH] && currRow > sp[P_MAX_LENGTH] + 2 * period - 1 && pRows[currRow] != 0) continue;

Replace this with
if(sp[P_MAX_LENGTH] && currRow > sp[P_MAX_LENGTH] + 2 * period - 1 && pRows[currRow] != 0){
   buffPattern(currRow);
   printPattern();
   continue;
}
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby GUYTU6J » January 30th, 2017, 10:34 am

wildmyron wrote:I think this is working as expected. You can see from the "Known spaceships by width" table at http://www.conwaylife.com/wiki/User:Codeholic/Sandbox that there is no even symmetric ship below width 18, so if you take a partial from a width 12 search (w6 in zfind) it is not surprising that there is no completion for it at widths up to 18 (w9 in zfind)

So does that mean that there will be an official width-extended zfind programme release sometime?
Current status: outside the continent of cellular automata. Specifically, not on the plain of life.
User avatar
GUYTU6J
 
Posts: 672
Joined: August 5th, 2016, 10:27 am
Location: My Glimmering Garden

Re: zfind discussion

Postby Sokwe » January 30th, 2017, 5:04 pm

GUYTU6J wrote:So does that mean that there will be an official width-extended zfind programme release sometime?

I do not plan to do this any time soon. If someone else wants to make these modifications, they should feel free to do so.
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby drc » February 4th, 2017, 10:37 pm

TIP: Pressing down after initiating a search gives you a little 'ding' and a flashing icon when it finishes (on windows at least). This is useful for longer searches.
This post was brought to you by the letter D, for dishes that Andrew J. Wade won't do. (Also Daniel, which happens to be me.)
Current rule interest: B2ce3-ir4a5y/S2-c3-y
User avatar
drc
 
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm
Location: creating useless things in OCA

Re: zfind discussion

Postby Saka » February 7th, 2017, 9:37 am

Request:
A diagonal and knightship search feature for nt rules.
A "gfind" option, which searches from c/2 to c/7, u, v, g, then a up to a specified width, for example:
./zfind g7

Will search for all c/2 to c/7 ships at symmetries u, v, g, and a (change speed if one is found at that symmetry) up to width 7.
A way to search for backends rather than frontends
k=0 searches
If you're the person that uploaded to Sakagolue illegally, please PM me.
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!

(Check gen 2)
User avatar
Saka
 
Posts: 3119
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

Re: zfind discussion

Postby wildmyron » February 7th, 2017, 10:25 am

Saka wrote:Request:
A diagonal and knightship search feature for nt rules.

See here. Same limitations for diagonal and knightship searces as zfind.
The latest version of the 5S Project contains over 221,000 spaceships. Tabulated pages up to period 160 are available on the LifeWiki.
wildmyron
 
Posts: 1238
Joined: August 9th, 2013, 12:45 am

Re: zfind discussion

Postby GUYTU6J » February 9th, 2017, 1:57 am

Sokwe wrote:
GUYTU6J wrote:It's a pity that many partials in the middle of the output file is lost because my command prompt doesn't show enough.

For long searches, you should redirect the output to a file.

Is /d command designed for this case?If yes,where can I see those dump files?If no,how to save the outputs before they are gone in the command prompt?
Current status: outside the continent of cellular automata. Specifically, not on the plain of life.
User avatar
GUYTU6J
 
Posts: 672
Joined: August 5th, 2016, 10:27 am
Location: My Glimmering Garden

Re: zfind discussion

Postby wildmyron » February 9th, 2017, 2:34 am

GUYTU6J wrote:
Sokwe wrote:
GUYTU6J wrote:It's a pity that many partials in the middle of the output file is lost because my command prompt doesn't show enough.

For long searches, you should redirect the output to a file.

Is /d command designed for this case? If yes,where can I see those dump files? If no,how to save the outputs before they are gone in the command prompt?

No, /d is not designed for this. Use redirection instead:

zfind [options] > file.txt

The output will be redirected to a file named 'file.txt' located in the current working directory.
The dump files produced by the /d option will also be saved to the current working directory.

One disadvantage of the redirection operator is that the output is no longer displayed on the screen. As you have MinGW installed you could use the 'tee' command provided by MinGW (may need to be installed). This will show the output on-screen and save it to file. Use a pipe ( '|' character) to send output from zfind to the tee command instead of redirection.
zfind [options] | tee file.txt
The latest version of the 5S Project contains over 221,000 spaceships. Tabulated pages up to period 160 are available on the LifeWiki.
wildmyron
 
Posts: 1238
Joined: August 9th, 2013, 12:45 am

Re: zfind discussion

Postby A for awesome » March 5th, 2017, 3:54 pm

A minor note: zfind gives
Abort trap: 6
and exits on my Mac when compiled with clang and extending a partial at width 10. Does not happen at width 9 or when not extending a partial. It occurred while trying to find loafer tagalongs. I recompiled using gcc and it works fine.
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce
User avatar
A for awesome
 
Posts: 1882
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1

Re: zfind discussion

Postby Saka » March 6th, 2017, 3:27 am

A for awesome wrote:A minor note: zfind gives
Abort trap: 6
and exits on my Mac when compiled with clang and extending a partial at width 10. Does not happen at width 9 or when not extending a partial. It occurred while trying to find loafer tagalongs. I recompiled using gcc and it works fine.

Well, I guess zfind doesn't like trap music. What does that mean, anyway? Trap?
If you're the person that uploaded to Sakagolue illegally, please PM me.
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!

(Check gen 2)
User avatar
Saka
 
Posts: 3119
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

Re: zfind discussion

Postby Sphenocorona » March 10th, 2017, 8:56 pm

Just a quick question - I had a few modifications I wanted to try implementing, but the comment on the MAX_WIDTH line makes me wonder - Aside from the assumption that there is enough memory (when there will almost definitely not be) to construct the required, are there any assumptions in the code about the maximum allowable width that will cause width 11 search attempts to error regardless of how much memory is actually available?
Sphenocorona
 
Posts: 480
Joined: April 9th, 2013, 11:03 pm

Re: zfind discussion

Postby A for awesome » March 10th, 2017, 9:53 pm

Sphenocorona wrote:Just a quick question - I had a few modifications I wanted to try implementing, but the comment on the MAX_WIDTH line makes me wonder - Aside from the assumption that there is enough memory (when there will almost definitely not be) to construct the required, are there any assumptions in the code about the maximum allowable width that will cause width 11 search attempts to error regardless of how much memory is actually available?

I'm pretty sure it's because of the use of 32-bit integers in the lookup table to store the bits of three separate rows; with a width-11 search, this would take up 33 bits, unfortunately. I had wondered the same thing myself, as a hypothetical question about running a width-11 or 12 search hooked up to a couple hundred gigabytes of advanced memristor-based RAM analogue.
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce
User avatar
A for awesome
 
Posts: 1882
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1

Re: zfind discussion

Postby Sphenocorona » March 10th, 2017, 10:43 pm

Okay, good to know. I'm unfortunately still not sure how I'm going to implement the honestly fairly simple idea I had, since it will require rewriting the structure of the lookup table itself and the way the code is written makes it difficult for me to understand how it works well enough to recreate it with a mildly different structuring. For example, I don't fully understand why there are lookup tables returning three rows at a time rather than, say, just the result for the middle row. Understanding that might help me to figure out how to best implement the ideas I had in mind.
Sphenocorona
 
Posts: 480
Joined: April 9th, 2013, 11:03 pm

Re: zfind discussion

Postby A for awesome » March 10th, 2017, 11:00 pm

Sphenocorona wrote:Okay, good to know. I'm unfortunately still not sure how I'm going to implement the honestly fairly simple idea I had, since it will require rewriting the structure of the lookup table itself and the way the code is written makes it difficult for me to understand how it works well enough to recreate it with a mildly different structuring. For example, I don't fully understand why there are lookup tables returning three rows at a time rather than, say, just the result for the middle row. Understanding that might help me to figure out how to best implement the ideas I had in mind.


I may not be remembering properly. All I remember is that there are multiple cases where a 32-bit integer has to store w*3 bits, which fails for w>10.
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce
User avatar
A for awesome
 
Posts: 1882
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1

Re: zfind discussion

Postby Sokwe » March 11th, 2017, 1:44 am

A for awesome wrote:All I remember is that there are multiple cases where a 32-bit integer has to store w*3 bits, which fails for w>10.

This is correct. When zfind tries to find the next row in the spaceship sequence, it uses two tables: gInd and gRows. gInd takes as input three known rows from the current search state and outputs an index for the array gRows. gRows stores the rows which are viable extensions given the three rows input to gInd. The array gRows contains every row that can be achieved from evolving a stack of 3 rows while still staying within the specified width. For width n, this is 2^(3n)-2^(3n-3) rows, and when width=11 this is greater than 2^32. That is, when width>10, gRows has more than 2^32 entries, so the indices stored in gInd must be able to store values bigger than 32 bits.

If you have a machine with enough memory, you should be able to modify the program to work at width 11 by changing some of the malloc statements and declaring gInd and pInd as uint64_t* (and probably pRemain as well). Unfortunately, many of the malloc statements have the 32-bit assumption hard-coded. I think the following modifications for zfind 2.0 should be sufficient as long as you aren't using the dump state parameter (but you probably are if you're doing a width-11 search):
  • Lines 70-71 read
    uint32_t *gInd, *pInd;
    uint32_t *pRemain;

    Replace these with
    uint64_t *gInd, *pInd;
    uint64_t *pRemain;
  • Line 211 reads
    gInd = malloc(((long long)4 << (width * 3)) + 4);

    Replace with
    gInd = malloc(((long long)sizeof(*gInd) << (width * 3)) + sizeof(*gInd));
  • Lines 655-656 read
    pInd = malloc(sp[P_DEPTH_LIMIT] * 4);
    pRemain = malloc(sp[P_DEPTH_LIMIT] * 4);

    Replace these with
    pInd = malloc(sp[P_DEPTH_LIMIT] * sizeof(*pInd));
    pRemain = malloc(sp[P_DEPTH_LIMIT] * sizeof(*pRemain));
The reason this doesn't work with dumpstate is that when the state is written to/read from the file, it writes/reads the pInd and pRemain values as 32-bit instead of 64-bit. This shouldn't be hard to fix. You probably just need to change the following lines:

407, 408, 596, 597, 603, and 604.

You will need to create a new function that loads larger (probably unsigned long long) integers to replace loadUL() in lines 603 and 604. I don't intend to do all this right now (I'm extremely busy marathoning Samurai Jack), but I will fix these issues the next time I update zfind.
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby Sphenocorona » March 11th, 2017, 2:11 am

I'm curious about the way gInd and gRows are handled are utilized in particular, as some of the ideas I've got pertain to modifying them specifically. I had made a file with zfind-s source since I figured the lack of unnecessary code would help make it quicker and easier to implement changes to the core components.
Sphenocorona
 
Posts: 480
Joined: April 9th, 2013, 11:03 pm

Re: zfind discussion

Postby Sokwe » March 11th, 2017, 3:14 am

I will reuse some of the language I used in an earlier post. I will use line numbers from zfind-s for reference.

zfind works similarly to gfind, so understanding gfind is helpful. zfind uses the ideas in sections 4 and 6 of David Eppstein's "Searching for Spaceships" article.

To find a new row, zfind takes 3 known rows, A, B, and Y, and looks for a row X so that evolve(A,B,X)=Y. That is,
AAAAAAAA
BBBBBBBB   ->   YYYYYYYY
XXXXXXXX

It does this by using two lookup tables. The first table (gRows) actually gives the rows X that we are looking for (stored as unsigned 16-bit integers). The second table (gInd) gives indices into the first table (stored as unsigned 32-bit integers). The input for the second lookup table is the three rows A, B, and Y.

More precisely, let ABY be the bitwise concatenation of the integers representing rows A, B, and Y. Then gInd[ABY] gives the index in the array gRows of the first row X such that evolve(A,B,X)=Y. Now, any other row X' satisfying evolve(A,B,X')=Y has index gInd[ABY]+i in the array gRows, where gInd[ABY]+i < gInd[ABY+1]. That is, gRows[gInd[ABY]+i] gives a row X' such that evolve(A,B,X')=Y whenever gInd[ABY]+i < gInd[ABY+1] and i >= 0.

gInd and gRows are calculated inside the function makeTables(). Lines 145-152 (of zfind-s) are where the construction of gInd begins. The for loop runs through every combination of three rows, A, B, X and calculates Y:=evolve(A,B,X). It then increments gInd[ABY]. At the end of this loop, gInd[ABY] gives the number of rows X such that evolve(A,B,X)=Y.

The next for loop (line 154) simply replaces the original value of gInd[ABY] with the cumulative sum of the original gInd[n] values for all n <= ABY.

The last for loop (lines 157-164) constructs gRows and finishes the construction of gInd. It again loops through every combination of three rows, A, B, X and calculates Y:=evolve(A,B,X). The program then reduces gInd[ABY] by 1 and places the row X in the array gRows at index gInd[ABY] (that is, gRows[gInd[ABY]]:=X).

In the end, gInd[ABY] is the index in gRows of the first row X satisfying evolve(A,B,X)=Y.
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby muzik » June 15th, 2017, 4:00 pm

Currently learning how to use zfind, here are some uninteresting c/2 partials. I cant go any higher than a width of 10 without a "Segmentation fault (core dumped)" error

x = 84, y = 8, rule = B3/S23
6b2o20b2o16bo8bo13bo8bo$2bob2o2b2obo12bob2o2b2obo11b3ob4ob3o11b3ob4ob
3o$b2o8b2o10b2o8b2o9b2o3b4o3b2o9b2o3b4o3b2o$bobobo2bobobo9b2obobo2bobo
b2o7b2o2bobo2bobo2b2o7b2o2bobo2bobo2b2o$3o3b2o3b3o7b2ob2ob4ob2ob2o7bo
3bo4bo3bo9bo3bo4bo3bo$43bobo10bobo7b2o12b2o$42bo3bo8bo3bo4b2obobo8bobo
b2o$64bo5b2o4b2o5bo!



EDIT: Some other random stuff I found that is almost certaintly known:
x = 474, y = 741, rule = B3/S23
398bo6bo$398bo6bo$397bobo4bobo2$352bo4bo$350b10o38bo6bo$350bo8bo37b3ob
2ob3o$353b4o40b3ob2ob3o$350b2o6b2o37bobo4bobo$349bobo6bobo38bo4bo$354b
2o42b2o4b2o$350b4o2b4o39bo4bo$350b3o4b3o38bo6bo$353bo2bo38b4o6b4o$349b
o3bo2bo3bo36bo8bo$349bo10bo34bobo3b2o3bobo$349b4o4b4o34bobo2bo2bo2bobo
$349bobo6bobo35b2o3b2o3b2o$348b2ob8ob2o$399b2o2b2o$397bo2bo2bo2bo25$
354b2o$352bo4bo$352bo4bo$352bo4bo2$354b2o$353b4o$351b2o4b2o$352bo4bo$
352bo4bo$353bo2bo$6b2o344b2o2b2o$4bo4bo340bob2o2b2obo$3bo6bo338bo3bo2b
o3bo$2bo8bo336bo4bo2bo4bo$2b2ob4ob2o337bo2bo4bo2bo$349b2ob2o2b2ob2o$
352b2o2b2o$4b2o2b2o$4b2o2b2o341b2o4b2o$350bo8bo$6b2o342bo8bo$5b4o340bo
2bo4bo2bo$4b2o2b2o340b4o2b4o$4bo4bo343bo2bo$6b2o343bo6bo$4bo4bo342b6o$
4bo4bo339bobo6bobo$348bo2bobo2bobo2bo$4bo4bo339b5o2b5o$3bo6bo338bo4b2o
4bo105b2o$2bo8bo341bo2bo105b2obo2bob2o$2b2ob4ob2o450b2o6b2o$462bobo4bo
bo$464b2o2b2o$4b2o2b2o453b2ob2ob2o$4b2o2b2o455bo2bo$463bo6bo$6b2o455bo
6bo$5b4o$4b2o2b2o453b8o$4bo4bo452b2o6b2o$6b2o$4bo4bo456b2o$4bo4bo455bo
2bo$466b2o$4bo4bo455b4o$3bo6bo450b2obo4bob2o$2bo8bo449b2o8b2o$2b2ob4ob
2o448bo2bo6bo2bo$465b4o$464b2o2b2o$4b2o2b2o455b4o$4b2o2b2o455bo2bo2$6b
2o458b2o$5b4o453bob2o2b2obo$4b2o2b2o451b2ob6ob2o$4bo4bo450bo2bobo2bobo
2bo$6b2o453bo3bo2bo3bo$4bo4bo455bo2bo$4bo4bo455b4o2$4bo4bo456b2o$3bo6b
o$2bo8bo453bo2bo$2b2ob4ob2o449b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$4b2o
2b2o455b4o$4b2o2b2o454bo4bo2$6b2o457bo2bo$5b4o457b2o$4b2o2b2o455b4o$4b
o4bo451b2obo4bob2o$6b2o453b2o8b2o$4bo4bo450bo2bo6bo2bo$4bo4bo455b4o$
464b2o2b2o$4bo4bo455b4o$3bo6bo454bo2bo$2bo8bo$2b2ob4ob2o454b2o$462bob
2o2b2obo$461b2ob6ob2o$4b2o2b2o450bo2bobo2bobo2bo$4b2o2b2o451bo3bo2bo3b
o$465bo2bo$6b2o457b4o$5b4o$4b2o2b2o456b2o$4bo4bo$6b2o457bo2bo$4bo4bo
451b3ob4ob3o$4bo4bo450bo12bo$461b2o3b2o3b2o$4bo4bo455b4o$3bo6bo453bo4b
o$2bo8bo$2b2ob4ob2o453bo2bo$466b2o$465b4o$4b2o2b2o451b2obo4bob2o$4b2o
2b2o451b2o8b2o$460bo2bo6bo2bo$6b2o457b4o$5b4o455b2o2b2o$4b2o2b2o455b4o
$4bo4bo455bo2bo$6b2o$4bo4bo456b2o$4bo4bo452bob2o2b2obo$461b2ob6ob2o$4b
o4bo450bo2bobo2bobo2bo$3bo6bo450bo3bo2bo3bo$2bo8bo453bo2bo$2b2ob4ob2o
453b4o2$466b2o$4b2o2b2o$4b2o2b2o455bo2bo$461b3ob4ob3o$6b2o452bo12bo$5b
4o452b2o3b2o3b2o$4b2o2b2o455b4o$4bo4bo454bo4bo$6b2o$4bo4bo455bo2bo$4bo
4bo456b2o$465b4o$4bo4bo451b2obo4bob2o$3bo6bo450b2o8b2o$2bo8bo448bo2bo
6bo2bo$2b2ob4ob2o453b4o$464b2o2b2o$465b4o$4b2o2b2o455bo2bo$4b2o2b2o$
466b2o$6b2o454bob2o2b2obo$5b4o452b2ob6ob2o$4b2o2b2o450bo2bobo2bobo2bo$
4bo4bo451bo3bo2bo3bo$6b2o457bo2bo$4bo4bo455b4o$4bo4bo$466b2o$4bo4bo$3b
o6bo454bo2bo$2bo8bo449b3ob4ob3o$2b2ob4ob2o448bo12bo$461b2o3b2o3b2o$
465b4o$4b2o2b2o454bo4bo$4b2o2b2o$465bo2bo$6b2o458b2o$5b4o456b4o$4b2o2b
2o451b2obo4bob2o$4bo4bo451b2o8b2o$6b2o452bo2bo6bo2bo$4bo4bo455b4o$4bo
4bo454b2o2b2o$465b4o$4bo4bo455bo2bo$3bo6bo$2bo8bo454b2o$2b2ob4ob2o450b
ob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo2bo$4b2o2b2o451bo3bo2bo3bo$4b2o
2b2o455bo2bo$465b4o$6b2o$5b4o457b2o$4b2o2b2o$4bo4bo455bo2bo$6b2o453b3o
b4ob3o$4bo4bo450bo12bo$4bo4bo451b2o3b2o3b2o$465b4o$4bo4bo454bo4bo$3bo
6bo$2bo8bo453bo2bo$2b2ob4ob2o454b2o$465b4o$461b2obo4bob2o$4b2o2b2o451b
2o8b2o$4b2o2b2o450bo2bo6bo2bo$465b4o$6b2o456b2o2b2o$5b4o456b4o$4b2o2b
2o455bo2bo$4bo4bo$6b2o458b2o$4bo4bo452bob2o2b2obo$4bo4bo451b2ob6ob2o$
460bo2bobo2bobo2bo$4bo4bo451bo3bo2bo3bo$3bo6bo454bo2bo$2bo8bo453b4o$2b
2ob4ob2o$466b2o2$4b2o2b2o455bo2bo$4b2o2b2o451b3ob4ob3o$460bo12bo$6b2o
453b2o3b2o3b2o$5b4o456b4o$4b2o2b2o454bo4bo$4bo4bo$6b2o457bo2bo$4bo4bo
456b2o$4bo4bo455b4o$461b2obo4bob2o$4bo4bo451b2o8b2o$3bo6bo449bo2bo6bo
2bo$2bo8bo453b4o$2b2ob4ob2o452b2o2b2o$465b4o$465bo2bo$4b2o2b2o$4b2o2b
2o456b2o$462bob2o2b2obo$6b2o453b2ob6ob2o$5b4o451bo2bobo2bobo2bo$4b2o2b
2o451bo3bo2bo3bo$4bo4bo455bo2bo$6b2o457b4o$4bo4bo$4bo4bo456b2o2$4bo4bo
455bo2bo$3bo6bo450b3ob4ob3o$2bo8bo448bo12bo$2b2ob4ob2o449b2o3b2o3b2o$
465b4o$464bo4bo$4b2o2b2o$4b2o2b2o455bo2bo$466b2o$6b2o457b4o$5b4o452b2o
bo4bob2o$4b2o2b2o451b2o8b2o$4bo4bo450bo2bo6bo2bo$6b2o457b4o$4bo4bo454b
2o2b2o$4bo4bo455b4o$465bo2bo$4bo4bo$3bo6bo455b2o$2bo8bo450bob2o2b2obo$
2b2ob4ob2o449b2ob6ob2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$4b2o2b2o455bo
2bo$4b2o2b2o455b4o2$6b2o458b2o$5b4o$4b2o2b2o455bo2bo$4bo4bo451b3ob4ob
3o$6b2o452bo12bo$4bo4bo451b2o3b2o3b2o$4bo4bo455b4o$464bo4bo$4bo4bo$3bo
6bo454bo2bo$2bo8bo454b2o$2b2ob4ob2o453b4o$461b2obo4bob2o$461b2o8b2o$4b
2o2b2o450bo2bo6bo2bo$4b2o2b2o455b4o$464b2o2b2o$6b2o457b4o$5b4o456bo2bo
$4b2o2b2o$4bo4bo456b2o$6b2o454bob2o2b2obo$4bo4bo451b2ob6ob2o$4bo4bo
450bo2bobo2bobo2bo$461bo3bo2bo3bo$4bo4bo455bo2bo$3bo6bo454b4o$2bo8bo$
2b2ob4ob2o454b2o2$465bo2bo$4b2o2b2o451b3ob4ob3o$4b2o2b2o450bo12bo$461b
2o3b2o3b2o$6b2o457b4o$5b4o455bo4bo$4b2o2b2o$4bo4bo455bo2bo$6b2o458b2o$
4bo4bo455b4o$4bo4bo451b2obo4bob2o$461b2o8b2o$4bo4bo450bo2bo6bo2bo$3bo
6bo454b4o$2bo8bo452b2o2b2o$2b2ob4ob2o453b4o$465bo2bo2$4b2o2b2o456b2o$
4b2o2b2o452bob2o2b2obo$461b2ob6ob2o$6b2o452bo2bobo2bobo2bo$5b4o452bo3b
o2bo3bo$4b2o2b2o455bo2bo$4bo4bo455b4o$6b2o$4bo4bo456b2o$4bo4bo$465bo2b
o$4bo4bo451b3ob4ob3o$3bo6bo449bo12bo$2bo8bo449b2o3b2o3b2o$2b2ob4ob2o
453b4o$464bo4bo2$4b2o2b2o455bo2bo$3bob4obo455b2o$3bo6bo454b4o$bo10bo
448b2obo4bob2o$o12bo447b2o8b2o$o12bo446bo2bo6bo2bo$2b2o6b2o453b4o$b3o
6b3o451b2o2b2o$2b2o6b2o453b4o$465bo2bo$bobo6bobo$2b3ob2ob3o454b2o$3bob
4obo451bob2o2b2obo$4b2o2b2o451b2ob6ob2o$3o3b2o3b3o446bo2bobo2bobo2bo$
3o8b3o447bo3bo2bo3bo$2b2ob4ob2o453bo2bo$3bob4obo454b4o$b3ob4ob3o$6b2o
458b2o$4bo4bo$465bo2bo$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o$
464bo4bo2$465bo2bo$466b2o$465b4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6bo
2bo$465b4o$464b2o2b2o$465b4o$465bo2bo2$466b2o$462bob2o2b2obo$461b2ob6o
b2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o2$465bo2b
o$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o$464bo4bo2$465bo2bo$466b
2o$465b4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6bo2bo$465b4o$464b2o2b2o$
465b4o$465bo2bo2$466b2o$462bob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo2bo
$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o2$465bo2bo$461b3ob4ob3o$460bo
12bo$461b2o3b2o3b2o$465b4o$464bo4bo2$465bo2bo$466b2o$465b4o$461b2obo4b
ob2o$461b2o8b2o$460bo2bo6bo2bo$465b4o$464b2o2b2o$465b4o$465bo2bo2$466b
2o$462bob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$465bo
2bo$465b4o2$466b2o2$465bo2bo$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$
465b4o$464bo4bo2$465bo2bo$466b2o$465b4o$461b2obo4bob2o$461b2o8b2o$460b
o2bo6bo2bo$465b4o$464b2o2b2o$465b4o$465bo2bo2$466b2o$462bob2o2b2obo$
461b2ob6ob2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o
2$465bo2bo$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o$464bo4bo2$465b
o2bo$466b2o$465b4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6bo2bo$465b4o$
464b2o2b2o$465b4o$465bo2bo2$466b2o$462bob2o2b2obo$461b2ob6ob2o$460bo2b
obo2bobo2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o2$465bo2bo$461b3ob4o
b3o$460bo12bo$461b2o3b2o3b2o$465b4o$464bo4bo2$465bo2bo$466b2o$465b4o$
461b2obo4bob2o$461b2o8b2o$460bo2bo6bo2bo$465b4o$464b2o2b2o$465b4o$465b
o2bo2$466b2o$462bob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo2bo$461bo3bo2b
o3bo$465bo2bo$465b4o2$466b2o2$465bo2bo$461b3ob4ob3o$460bo12bo$461b2o3b
2o3b2o$465b4o$464bo4bo2$465bo2bo$466b2o$465b4o$461b2obo4bob2o$461b2o8b
2o$460bo2bo6bo2bo$465b4o$464b2o2b2o$465b4o$465bo2bo2$466b2o$462bob2o2b
2obo$461b2ob6ob2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$
466b2o2$465bo2bo$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o$464bo4bo
2$465bo2bo$466b2o$465b4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6bo2bo$465b
4o$464b2o2b2o$465b4o$465bo2bo2$466b2o$462bob2o2b2obo$461b2ob6ob2o$460b
o2bobo2bobo2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o2$465bo2bo$461b3o
b4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o$464bo4bo2$465bo2bo$466b2o$465b
4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6bo2bo$465b4o$464b2o2b2o$465b4o$
465bo2bo2$466b2o$462bob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo2bo$461bo
3bo2bo3bo$465bo2bo$465b4o2$466b2o2$465bo2bo$461b3ob4ob3o$460bo12bo$
461b2o3b2o3b2o$465b4o$464bo4bo2$465bo2bo$466b2o$465b4o$461b2obo4bob2o$
461b2o8b2o$460bo2bo6bo2bo$465b4o$464b2o2b2o$465b4o$465bo2bo2$466b2o$
462bob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$465bo2bo
$465b4o2$466b2o2$465bo2bo$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o
$464bo4bo2$465bo2bo$466b2o$465b4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6b
o2bo$465b4o$464b2o2b2o$465b4o$465bo2bo2$466b2o$462bob2o2b2obo$461b2ob
6ob2o$460bo2bobo2bobo2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o2$465bo
2bo$461b3ob4ob3o$460bo12bo$461b2o3b2o3b2o$465b4o$464bo4bo2$465bo2bo$
466b2o$465b4o$461b2obo4bob2o$461b2o8b2o$460bo2bo6bo2bo$465b4o$464b2o2b
2o$465b4o$465bo2bo2$466b2o$462bob2o2b2obo$461b2ob6ob2o$460bo2bobo2bobo
2bo$461bo3bo2bo3bo$465bo2bo$465b4o2$466b2o$462b3ob2ob3o$461bo3bo2bo3bo
$462bo2bo2bo2bo$466b2o$465bo2bo$461b2o3b2o3b2o$461b2ob2o2b2ob2o$460bo
3bob2obo3bo$464bo4bo$466b2o2$464b2o2b2o$463bob4obo$461bobo6bobo$460b2o
bobo2bobob2o$460b3ob2o2b2ob3o!
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!
muzik
 
Posts: 3466
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: zfind discussion

Postby Sokwe » June 15th, 2017, 4:35 pm

muzik wrote:I cant go any higher than a width of 10 without a "Segmentation fault (core dumped)" error

There are multiple reasons why width 11 doesn't work. For now, zfind is restricted to width 10 or below. For this reason, zfind is not good for finding low-period ships. You should probably us gfind for periods below 5.
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby muzik » June 15th, 2017, 4:39 pm

Sokwe wrote:zfind is not good for finding low-period ships. You should probably us gfind for periods below 5.

I assume you mean periods higher than 5?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!
muzik
 
Posts: 3466
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: zfind discussion

Postby Sokwe » June 15th, 2017, 5:47 pm

muzik wrote:
Sokwe wrote:zfind is not good for finding low-period ships. You should probably us gfind for periods below 5.

I assume you mean periods higher than 5?

No, I mean that gfind should be used for periods lower than (and probably equal to) 5, and that zfind should be used for periods higher than 5.
-Matthias Merzenich
Sokwe
Moderator
 
Posts: 1480
Joined: July 9th, 2009, 2:44 pm

Re: zfind discussion

Postby muzik » June 15th, 2017, 5:49 pm

ah, right, I misread gfind as zfind.
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!
muzik
 
Posts: 3466
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: zfind discussion

Postby drc » June 24th, 2017, 5:10 pm

Okay, tried compiling this on my new computer, followed the same steps as before, but then this keeps happening:
$ gcc ntzfind.c -O3 -o ntzfind
In file included from ntzfind.c:7:0:
step.c: In function ‘stepcell’:
step.c:2:264: error: expected expression before ‘)’ token
    return (~o&((0x0)|(~(a^b^c^d^e^f^g^h)&(a|b|c|d|e|f|g|h)&~(((a|b|c)&(d|e|f)&(g|h))|(a&b&c)|(d&e&f)|((a|b|c)&(d|e|f)&(~(a^b^c)|~(d^e^f)))|(g&h&(a|b|c|d|e|f)))&~(~(a|c|e|g)&(b^f)))))|(o&((0x0)|(0x0|(~(a|c|e|g)&(b^f)&~(b^d^f^h))|(~(b|d|f|h)&~((a^e)|(c^g))&(a^c))|())));
                                                                                                                                                                                                                                                                        ^

Rule is B2-c/2cin
This post was brought to you by the letter D, for dishes that Andrew J. Wade won't do. (Also Daniel, which happens to be me.)
Current rule interest: B2ce3-ir4a5y/S2-c3-y
User avatar
drc
 
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm
Location: creating useless things in OCA

PreviousNext

Return to Scripts

Who is online

Users browsing this forum: No registered users and 3 guests