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...

Full description

Saved in:
Bibliographic Details
Main Author: Foo, Zhong Xian
Other Authors: Alwen Fernanto Tiu
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