MathCheck: A Math Assistant Combining SAT with Computer Algebra Systems

Slide Note
Embed
Share

MathCheck is a project focused on incorporating algorithms from Computer Algebra Systems (CAS) with SAT solvers to enhance problem-solving capabilities in math, such as counterexample construction and bug finding. The goal is to design an easily extensible system with a current focus on graph theory applications. The architecture emphasizes extensibility over a one-size-fits-all approach, allowing for flexible implementation of algorithms. A case study on the Ruskey-Savage Conjecture showcases the system's potential in solving complex mathematical problems efficiently.


Uploaded on Sep 23, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. MathCheck: A Math Assistant Combining SAT with Computer Algebra Systems Ed Zulkoski, Vijay Ganesh, Krzysztof Czarnecki University of Waterloo August 7, 2015

  2. Problem Statement Many problems have an underlying Boolean structure, but are not easily expressed not easily expressed using standard SAT/SMT solvers. Hamiltonicity (Velev 09) Acyclicity (Gebser 14) Constrained Clustering (M tivier 12) Finite domain search Finite domain search + complex predicates complex predicates. 2

  3. Goals http://www.nvidia.com/docs/IO/102089/wolfram-mathematica-logo-new.jpg http://www.lanikasolutions.com/images/Maple18Logo.jpg Computer algebra systems (CAS) contain SOTA algorithms for solving complex properties SAT solvers are one of the best general approaches for finite domain search Goal 1: incorporate algorithms from a CAS with a SAT solver for: Counterexample Construction for Math Conjectures Bug Finding Goal 2: design an easily extensible language/API for such a system Current focus is on graph theory 3

  4. DPLL(CAS) Architecture Extensibilitypreferred to a one-algorithm-fits-all approach. 4

  5. Graph Variable Representation graph x(6) One Boolean per each potential vertex One Boolean per each potentialedge Mapping between graph components and Booleans to facilitate defining SAT-based graph constraints 5

  6. Case Study: Ruskey-Savage Conjecture Conjecture: For every ? 2, any matching of the hypercube ?? extends to a Hamiltonian cycle. Matching independent set of edges that share no vertices Maximal cannot add edges without violating the matching property Perfect it covers all vertices Hamiltonian cycle cycle that touches every vertex Previously shown true for ? 4 ?3 6

  7. Case Study Specification (? = 5) graph x(32) sage.CubeGraph G(5) // ?.???? ??? ?,? ???????_??_ ??????????(?,?) assert( matching(x,G) imperfect_matching(x,G) maximal_matching(x,G) ), query( extends_to_Hamiltonian_cycle(x,G)) extends_to_Hamiltonian_cycle(x,G) ~10 LOC ~5 LOC matching(x,G) imperfect_matching(x,G) maximal_matching(x,G) Blasted to SAT ~5 LOC ~25 LOC Checked with SAGE Unsat 7

  8. 2 2 8 1 2 1 2 2 2 2 2 1 8

  9. Case Study Approach Unsat after ~8 hours on laptop (Conjecture holds for ? = ?) For a pure SAT encoding, we need encode non-trivial Hamiltonicity constraints 9

  10. A Sage-only approach Without SAT, we need a problem-specific search routine #Checks of extends_to_Hamiltonian_cycle Matchings 13,803,794,944 Imperfect Matchings 4,619,529,024 Maximal Imperfect Matchings 6,911,604 SAT Approach 384,000 A Sage-only approach is: Potentially less efficient Potentially more error-prone 10

  11. Case Study 2: Edge-antipodal colourings Conjecture: For every dimension ? 2, in every edge-antipodal 2- edge-coloring of ??, there exists a monochromatic path between two antipodal vertices. For ? = 6, search space of all colorings is: 22#?????/2= 2296. 11

  12. Case Study 2 Approach For a pure SAT encoding, we need to ensure none of the antipodal vertices are connected by a path 32 connectivity constraints UNSAT after 1.5 hours (? = 6 holds) 12

  13. Whats the bottleneck? 13

  14. Implementation Correctness SAT solver resolution proofs Use Drup-trim SAGE computations Interactions between them 14

  15. Future Work and Conclusions Moving to the SMT domain Improved generation of proof objects / correctness checking Exploiting symmetry breaking capabilities Encoding complex predicates is facilitated by using off-the-shelf CAS algorithms Promotes rapid extensibility/prototyping Demonstrated two case studies on hypercubes Fun case studies 15

More Related Content