110 likes | 273 Views
sKizzo & ozziKs – QBF solver and its certifier. Lin Shuo-Ren 2012/2/1. Outline. Main structure QBF solver – sKizzo Main function Options Reconstructor /certifier/inspector – ozziKs Main function Information dump options. Main structure. Main function.
E N D
sKizzo & ozziKs – QBF solver and its certifier Lin Shuo-Ren 2012/2/1
Outline • Main structure • QBF solver – sKizzo • Main function • Options • Reconstructor/certifier/inspector – ozziKs • Main function • Information dump options
Main function • “.qdimacs”, “.dimacs”, “.qcnf”, and directory are acceptable • Dump useful information for certification • Can modify solving process personality • Q – ground QBF reasoning • S – incomplete symbolic reasoning • R – complete symbolic reasoning • B – DPLL-like branching reasoning • G – SAT-based reasoning • Fork into two processes at very beginning, one for real job, the other measuring memory/time usage
Useful options – input file control • -dontdescend • Prevent recursive processing of subdirectories • -giveup • Stop solving after encounter the first unsolvable instance • In batch mode, instances will be sorted by problem size
Useful options – dump information • -dump [tree, trees, TREE, TREES] • Dump quantifier tree • -dump [report/flatreport] • Produce a table of results • -log [text/bin] • Produce an inference log recording the whole solution process.
ozziKs – main function • Inductive reconstruction • Build a sat-certificate for QBF function • Certificate verification • Certify its validity and output valid/invalid answer • Expression evaluation • Output result of the evaluation of the expression • Information dump
Useful options • -eval “EXP” • Request the evaluation of the direct or inverse expression EXP. • -dump [qbm, exp, direxp, qbc, all] • Support batch mode, too • -giveup • -report
Direct vs. inverse expression • Direct expression • User provides some (partial) assignment A over the universal variables (scenario). Then, ozziKs will produce the truth value of the expression. • Inverse expressions • The user does not specify any scenario. • Ask for some representation of all the scenarios in which the expression holds.
Examples \forall 2, 3, 5 \exist 10 .φ • Direct expression • -eval “10(-2, 3, -5)” • 10(-2, 3, -5) = wT • Inverse expression • -eval “and(-20, or(24, 25))” • and(-20, or (24, 25)) = 25% • and(-20, or (24, 25)) = [25%:50%] • Multiple expressions • <10, 15, 20, 21>(1, -2, 3, -5, 8) = <T, F, wF, DC>
Example 2 1 1 ≠ = φ SA1 SA1 Inst* Error! • inst* = data data data 1 1