Page 1 of 1

Oscillator-searching method with SAT

Posted: March 13th, 2019, 11:17 am
by testitemqlstudop
This might sound ridiculous, but I think that there is a feasible method for row-by-row (wide and high period) oscillator searching with SAT solvers.

Specifically, given the first two rows (in all phases), we want to find the all possible collection of phases for the next row such that the evolution sequence for the previous row is correct.

For example, if we are searching for a p4 (mold):

Code: Select all

......   ....o.   ...oo.   ..o.o.
...ooo   ..oo.o   ..ooo.   .....o
.o.ooo   .o....   .o.oo.   .o..o.
abcdef   ghijkl   mnopqr   stuvwx
we want to find sets {a-x} such that

Code: Select all

...ooo
.o.ooo
abcdef
evolves into

Code: Select all

??????
..oo.o
??????
and

Code: Select all

.....o
.o..o.
stuvwx
evolves into

Code: Select all

??????
.o.ooo
??????
and so on.
This is where the SAT solvers come into play. For wide/high-period oscillators there may be too many variables to try with standard methods. we can construct a SAT problem where the variables are the phases of the next row and the clauses ensure the correct evolution sequence.

Is this a feasible method or is it impossible?

Re: Oscillator-searching method with SAT

Posted: March 15th, 2019, 6:50 am
by Bullet51
I have done some experiments on it, and it certainly works in P3 and P4.

Re: Oscillator-searching method with SAT

Posted: March 15th, 2019, 11:24 am
by testitemqlstudop
I think that this will especially be helpful with higher periods, and it can also help to find oscillators with special properties , particularly noticeable sparks from the top (i.e. t-nosed, pipsquirter, etc.)

Any ideas on efficient implementation?