Logic Life Search: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
Confocal (talk | contribs)
rewrite inline external links in a more explicit way; consistent formatting for bulleted lists
Confocal (talk | contribs)
m cat
Line 20: Line 20:
* {{LinkWikipedia|Boolean_satisfiability_problem#Algorithms_for_solving_SAT|name=Algorithms for solving SAT}}
* {{LinkWikipedia|Boolean_satisfiability_problem#Algorithms_for_solving_SAT|name=Algorithms for solving SAT}}
* {{LinkWikipedia|NP-completeness|name=NP-completeness}}
* {{LinkWikipedia|NP-completeness|name=NP-completeness}}
[[Category:Search software]]

Revision as of 05:43, 8 December 2022

Logic Life Search
Logic Life Search image
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 converting 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.

See also

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