Logic for fun : solving puzzles with SAT solvers
Over the years, SAT solvers have become more and more powerful; able to solve Boolean formulas with huge amounts of literals and clauses, and have seen more applications in recent technology. Decision puzzles, puzzles where one move affects subsequent moves, usually take a long time to solve using t...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
2016
|
Subjects: | |
Online Access: | http://hdl.handle.net/10356/66900 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-66900 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-669002023-03-03T20:34:27Z Logic for fun : solving puzzles with SAT solvers Foo, Zhong Xian Alwen Fernanto Tiu School of Computer Engineering DRNTU::Engineering::Computer science and engineering::Computing methodologies::Symbolic and algebraic manipulation Over the years, SAT solvers have become more and more powerful; able to solve Boolean formulas with huge amounts of literals and clauses, and have seen more applications in recent technology. Decision puzzles, puzzles where one move affects subsequent moves, usually take a long time to solve using typical depth first search algorithms, while SAT solvers can solve it relatively quickly. With the prevalence of mobile phones, there are many mobile game applications that have such puzzles. However, despite their speed in solving such puzzles, SAT solvers have yet to see much use in mobile applications, in part due to the steep learning curve, lack of samples, and the need to translate First-Order-Logic (FOL) to Conjunctive-Normal-Form (CNF). To address these issues, the project is divided into 2 phases. First, code samples for Android applications making use of a popular SAT solver (MiniSat) have been made to ease the learning curve and to let developers have a point of reference for implementing a SAT solver in their mobile application. On top of that, a script has been developed to allow developers to easily translate FOL to CNF, to lower the entrance requirements for developers to start integrating SAT solvers in their applications. In this report, both phases of the project will be discussed, the breakdown of both the Android application as well as the script, alongside possible future improvements will be presented. Bachelor of Engineering (Computer Science) 2016-05-04T01:57:32Z 2016-05-04T01:57:32Z 2016 Final Year Project (FYP) http://hdl.handle.net/10356/66900 en Nanyang Technological University 46 p. application/pdf |
institution |
Nanyang Technological University |
building |
NTU Library |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
NTU Library |
collection |
DR-NTU |
language |
English |
topic |
DRNTU::Engineering::Computer science and engineering::Computing methodologies::Symbolic and algebraic manipulation |
spellingShingle |
DRNTU::Engineering::Computer science and engineering::Computing methodologies::Symbolic and algebraic manipulation Foo, Zhong Xian Logic for fun : solving puzzles with SAT solvers |
description |
Over the years, SAT solvers have become more and more powerful; able to solve Boolean formulas with huge amounts of literals and clauses, and have seen more applications in recent technology. Decision puzzles, puzzles where one move affects subsequent moves, usually take a long time to solve using typical depth first search algorithms, while SAT solvers can solve it relatively quickly.
With the prevalence of mobile phones, there are many mobile game applications that have such puzzles. However, despite their speed in solving such puzzles, SAT solvers have yet to see much use in mobile applications, in part due to the steep learning curve, lack of samples, and the need to translate First-Order-Logic (FOL) to Conjunctive-Normal-Form (CNF).
To address these issues, the project is divided into 2 phases.
First, code samples for Android applications making use of a popular SAT solver (MiniSat) have been made to ease the learning curve and to let developers have a point of reference for implementing a SAT solver in their mobile application.
On top of that, a script has been developed to allow developers to easily translate FOL to CNF, to lower the entrance requirements for developers to start integrating SAT solvers in their applications.
In this report, both phases of the project will be discussed, the breakdown of both the Android application as well as the script, alongside possible future improvements will be presented. |
author2 |
Alwen Fernanto Tiu |
author_facet |
Alwen Fernanto Tiu Foo, Zhong Xian |
format |
Final Year Project |
author |
Foo, Zhong Xian |
author_sort |
Foo, Zhong Xian |
title |
Logic for fun : solving puzzles with SAT solvers |
title_short |
Logic for fun : solving puzzles with SAT solvers |
title_full |
Logic for fun : solving puzzles with SAT solvers |
title_fullStr |
Logic for fun : solving puzzles with SAT solvers |
title_full_unstemmed |
Logic for fun : solving puzzles with SAT solvers |
title_sort |
logic for fun : solving puzzles with sat solvers |
publishDate |
2016 |
url |
http://hdl.handle.net/10356/66900 |
_version_ |
1759856887865540608 |