Logic Life Search: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
New entry for Macbi's excellent tool
 
m speed results aren't really in yet, but early trials look very hopeful
Line 6: Line 6:
|platform  = Unix; platform-independent
|platform  = Unix; platform-independent
}}
}}
'''Logic Life Search''' (abbreviated as '''LLS''') is a program to search for patterns in [[Conway's Game of Life]] and other [[cellular automaton|cellular automata]] by use of a [https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Algorithms_for_solving_SAT SAT solver], written in Python. LLS is similar to [[lifesrc]], [[WinLifeSearch]] and [[JavaLifeSearch]]; although slower, it offers more flexibility than these.
'''Logic Life Search''' (abbreviated as '''LLS''') is a program to search for patterns in [[Conway's Game of Life]] and other [[cellular automaton|cellular automata]] by use of a [https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Algorithms_for_solving_SAT SAT solver], written in Python. LLS is similar to [[lifesrc]], [[WinLifeSearch]] and [[JavaLifeSearch]], but offers more flexibility than these.  The difference in underlying search methods means that LLS may sometimes be slower than lifesrc to find the same solution, but in many cases with the right optimization it can also be very much faster.


==Mechanism==
==Mechanism==

Revision as of 13:02, 30 January 2018

Logic Life Search
Homepage Click here
Purpose Search for patterns
Created by Oscar Cunningham
Platform Unix; platform-independent

Logic Life Search (abbreviated as LLS) is a program to search for patterns in Conway's Game of Life and other cellular automata by use of a SAT solver, written in Python. LLS is similar to lifesrc, WinLifeSearch and JavaLifeSearch, but offers more flexibility than these. The difference in underlying search methods means that LLS may sometimes be slower than lifesrc to find the same solution, but in many cases with the right optimization it can also be very much faster.

Mechanism

LLS works by converting pattern searches to boolean satisfiability (SAT) problems, then employing an external SAT solver (e.g. MiniSAT, Lingeling or Glucose) to solve the SAT problem, and converts the solution to RLE format. Although SAT solving is NP-complete, many practical problems can be solved swiftly by SAT solver tools, making this a viable approach to Life pattern searching.

Also see

  • Tutorials/LLS — for information on how to install, configure, test, and use LLS.