7 research outputs found
Understanding and Enhancing CDCL-based SAT Solvers
Modern conflict-driven clause-learning (CDCL) Boolean satisfiability (SAT) solvers routinely
solve formulas from industrial domains with millions of variables and clauses, despite the Boolean
satisfiability problem being NP-complete and widely regarded as intractable in general. At the
same time, very small crafted or randomly generated formulas are often infeasible for CDCL
solvers. A commonly proposed explanation is that these solvers somehow exploit the underlying
structure inherent in industrial instances. A better understanding of the structure of Boolean
formulas not only enables improvements to modern SAT solvers, but also lends insight as to why
solvers perform well or poorly on certain types of instances. Even further, examining solvers
through the lens of these underlying structures can help to distinguish the behavior of different
solving heuristics, both in theory and practice.
The first issue we address relates to the representation of SAT formulas. A given Boolean
satisfiability problem can be represented in arbitrarily many ways, and the type of encoding can
have significant effects on SAT solver performance. Further, in some cases, a direct encoding
to SAT may not be the best choice. We introduce a new system that integrates SAT solving
with computer algebra systems (CAS) to address representation issues for several graph-theoretic
problems. We use this system to improve the bounds on several finitely-verified conjectures
related to graph-theoretic problems. We demonstrate how our approach is more appropriate for
these problems than other off-the-shelf SAT-based tools.
For more typical SAT formulas, a better understanding of their underlying structural properties,
and how they relate to SAT solving, can deepen our understanding of SAT. We perform a largescale
evaluation of many of the popular structural measures of formulas, such as community
structure, treewidth, and backdoors. We investigate how these parameters correlate with CDCL
solving time, and whether they can effectively be used to distinguish formulas from different
domains. We demonstrate how these measures can be used as a means to understand the behavior
of solvers during search. A common theme is that the solver exhibits locality during search
through the lens of these underlying structures, and that the choice of solving heuristic can greatly
influence this locality. We posit that this local behavior of modern SAT solvers is crucial to their
performance.
The remaining contributions dive deeper into two new measures of SAT formulas. We first
consider a simple measure, denoted âmergeability,â which characterizes the proportion of input
clauses pairs that can resolve and merge. We develop a formula generator that takes as input a seed
formula, and creates a sequence of increasingly more mergeable formulas, while maintaining many
of the properties of the original formula. Experiments over randomly-generated industrial-like
instances suggest that mergeability strongly negatively correlates with CDCL solving time, i.e., as
the mergeability of formulas increases, the solving time decreases, particularly for unsatisfiable
instances.
Our final contribution considers whether one of the aforementioned measures, namely backdoor
size, is influenced by solver heuristics in theory. Starting from the notion of learning-sensitive
(LS) backdoors, we consider various extensions of LS backdoors by incorporating different branching
heuristics and restart policies. We introduce learning-sensitive with restarts (LSR) backdoors
and show that, when backjumping is disallowed, LSR backdoors may be exponentially smaller
than LS backdoors. We further demonstrate that the size of LSR backdoors are dependent on the
learning scheme used during search. Finally, we present new algorithms to compute upper-bounds
on LSR backdoors that intrinsically rely upon restarts, and can be computed with a single run of
a SAT solver. We empirically demonstrate that this can often produce smaller backdoors than
previous approaches to computing LS backdoors
Making Presentation Math Computable
This Open-Access-book addresses the issue of translating mathematical expressions from LaTeX to the syntax of Computer Algebra Systems (CAS). Over the past decades, especially in the domain of Sciences, Technology, Engineering, and Mathematics (STEM), LaTeX has become the de-facto standard to typeset mathematical formulae in publications. Since scientists are generally required to publish their work, LaTeX has become an integral part of today's publishing workflow. On the other hand, modern research increasingly relies on CAS to simplify, manipulate, compute, and visualize mathematics. However, existing LaTeX import functions in CAS are limited to simple arithmetic expressions and are, therefore, insufficient for most use cases. Consequently, the workflow of experimenting and publishing in the Sciences often includes time-consuming and error-prone manual conversions between presentational LaTeX and computational CAS formats. To address the lack of a reliable and comprehensive translation tool between LaTeX and CAS, this thesis makes the following three contributions. First, it provides an approach to semantically enhance LaTeX expressions with sufficient semantic information for translations into CAS syntaxes. Second, it demonstrates the first context-aware LaTeX to CAS translation framework LaCASt. Third, the thesis provides a novel approach to evaluate the performance for LaTeX to CAS translations on large-scaled datasets with an automatic verification of equations in digital mathematical libraries. This is an open access book
From Legos and Logos to Lambda: A Hypothetical Learning Trajectory for Computational Thinking
This thesis utilizes design-based research to examine the integration of computational thinking and computer science into the Finnish elementary mathematics syllabus. Although its focus is on elementary mathematics, its scope includes the perspectives of students, teachers and curriculum planners at all levels of the Finnish school curriculum. The studied artifacts are the 2014 Finnish National Curriculum and respective learning solutions for computer science education. The design-based research (DBR) mandates educators, developers and researchers to be involved in the cyclic development of these learning solutions. Much of the work is based on an in-service training MOOC for Finnish mathematics teachers, which was developed in close operation with the instructors and researchers. During the study period, the MOOC has been through several iterative design cycles, while the enactment and analysis stages of the 2014 Finnish National Curriculum are still proceeding.The original contributions of this thesis lie in the proposed model for teaching computational thinking (CT), and the clariïŹcation of the most crucial concepts in computer science (CS) and their integration into a school mathematics syllabus. The CT model comprises the successive phases of abstraction, automation and analysis interleaved with the threads of algorithmic and logical thinking as well as creativity. Abstraction implies modeling and dividing the problem into smaller sub-problems, and automation making the actual implementation. Preferably, the process iterates in cycles, i.e., the analysis feeds back such data that assists in optimizing and evaluating the eïŹciency and elegance of the solution. Thus, the process largely resembles the DBR design cycles. Test-driven development is also recommended in order to instill good coding practices.The CS fundamentals are function, variable, and type. In addition, the control ïŹow of execution necessitates control structures, such as selection and iteration. These structures are positioned in the learning trajectories of the corresponding mathematics syllabus areas of algebra, arithmetic, or geometry. During the transition phase to the new syllabus, in-service mathematics teachers can utilize their prior mathematical knowledge to reap the beneïŹts of ânear transferâ. Successful transfer requires close conceptual analogies, such as those that exist between algebra and the functional programming paradigm.However, the integration with mathematics and the utilization of the functional paradigm are far from being the only approaches to teaching computing, and it might turn out that they are perhaps too exclusive. Instead of the grounded mathematics metaphor, computing may be perceived as basic literacy for the 21st century, and as such it could be taught as a separate subject in its own right
Making Presentation Math Computable
This Open-Access-book addresses the issue of translating mathematical expressions from LaTeX to the syntax of Computer Algebra Systems (CAS). Over the past decades, especially in the domain of Sciences, Technology, Engineering, and Mathematics (STEM), LaTeX has become the de-facto standard to typeset mathematical formulae in publications. Since scientists are generally required to publish their work, LaTeX has become an integral part of today's publishing workflow. On the other hand, modern research increasingly relies on CAS to simplify, manipulate, compute, and visualize mathematics. However, existing LaTeX import functions in CAS are limited to simple arithmetic expressions and are, therefore, insufficient for most use cases. Consequently, the workflow of experimenting and publishing in the Sciences often includes time-consuming and error-prone manual conversions between presentational LaTeX and computational CAS formats. To address the lack of a reliable and comprehensive translation tool between LaTeX and CAS, this thesis makes the following three contributions. First, it provides an approach to semantically enhance LaTeX expressions with sufficient semantic information for translations into CAS syntaxes. Second, it demonstrates the first context-aware LaTeX to CAS translation framework LaCASt. Third, the thesis provides a novel approach to evaluate the performance for LaTeX to CAS translations on large-scaled datasets with an automatic verification of equations in digital mathematical libraries. This is an open access book
Arithmetic, Logic, Syntax and MathCheck
MathCheck is a web-based tool for checking all steps of solutions to mathematics, logic and theoretical computer science problems, instead of checking just the final answers. It can currently deal with seven problem
types related to arithmetic, logic, and syntax. Although MathCheck does have some ability to perform symbolic computation, checking is mostly based on testing with many combinations of the values of the variables
in question. This introduces a small risk of failure of detection of errors, but also significantly widens the
scope of problems that can be dealt with and facilitates providing a concrete counter-example when the studentâs solution is incorrect. So MathCheck is primarily a feedback tool, not an assessment tool. MathCheck
is more faithful to established mathematical notation than most programs. Special attention has been given to
rigorous processing of undefined expressions, such as division by zero. To make this possible, in addition to
the two truth values âfalseâ and âtrueâ, it uses a third truth value âundefinedâ.peerReviewe