1 / 23

The interaction between inference and branching heuristics

This research paper explores the impact of adding inference techniques to the search procedure of SAT solvers and how it affects the performance. The study uses HypBinRes preprocessing and hints to isolate the heuristics, and presents recent results and conclusions.

wcindy
Download Presentation

The interaction between inference and branching heuristics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The interaction between inference and branching heuristics Lyndon Drake and Alan Frisch AI Group, Computer Science Department, University of York

  2. First solver • Runtime in seconds, before and after preprocessing • Points are all on the line • No real improvement in performance

  3. Lots of points below the line Nice performance improvement Second solver

  4. Points back on the line We have the same performance as the first solver Second solver (modified)

  5. Outline • Introduction • Preprocessing with HypBinRes • Using hints to isolate the heuristic • Recent results • Conclusions

  6. Solving SAT problems • Classifying solvers • Inference (e.g. resolution) • Search • We consider complete search • DLL algorithm • Can add more inference to the search procedure

  7. Motivation for adding inference • Theoretical interest • Practical applications • Sometimes possible to make useful inferences based on the structure • E.g. SAT-encoded CSP instances

  8. When to add inference • Tradeoff between time saved on and time spent by inference • Adding inference during search is possible • Efficient implementations are very difficult • Before search is easier • I.e. preprocessing

  9. Outline • Introduction • Preprocessing with HypBinRes • Using hints to isolate the heuristic • Recent results • Conclusions

  10. HypBinRes example • From: • Infer:

  11. HypBinRes preprocessing • Apply HypBinRes before search • HypBinRes during search is effective • HypBinRes can add support clauses to a directly encoded CSP • Expectation is that HypBinRes preprocessing will result in improved performance

  12. Results • Tested on several benchmark sets • Using ZChaff as the solver • Efficient preprocessing algorithm • No significant runtime required • No significant performance improvement • Often much worse after preprocessing • Search space correspondingly larger

  13. Analysis • Additional clauses could result in a larger search space because: • Heuristic is confused • Different conflict clauses generated • Intuition at this point: • Heuristic at fault

  14. Outline • Introduction • Preprocessing with HypBinRes • Using hints to isolate the heuristic • Recent results • Conclusions

  15. Before preproc After preproc Hints for implied clauses

  16. Isolating implied clauses • Hints are used to tag the implied clauses • The heuristic is modified to ignore literal occurrences in implied clauses • Difficult to prevent conflict clauses being generated from implied clauses • Modified a simple non-CR based solver

  17. Results

  18. Analysis • Intuition at least partially correct • Heuristic strongly affected by implied clause visibility • Heuristic operates best when implied clauses are visible • VSIDS can discount literals in the implied clauses

  19. VSIDS heuristic } Higher priority given to conflict clause literals

  20. Outline • Introduction • Preprocessing with HypBinRes • Using hints to isolate the heuristic • Recent results • Conclusions

  21. Pruning or guiding? • Do implied clauses prune branches or guide heuristics? • Modified solver that gives statistics on branch pruning • Implied clauses rarely prune • Needs further work to quantify the size of each branch pruned

  22. Different heuristic • Still possible that the conflict clauses generated are the problem • Try a different heuristic with conflict recording • Heuristic needs to not give higher priority to conflict clause literals • Experiments still in progress, but some evidence of performance improvement

  23. Conclusions • Adding implied clauses can result in the branching heuristic making poor decisions • Tentative: implied clauses improve performance primarily by guiding the heuristic

More Related