sKizzo & ozziKs – QBF solver and its certifier
-
Upload
suelita-ypina -
Category
Documents
-
view
51 -
download
0
description
Transcript of sKizzo & ozziKs – QBF solver and its certifier
![Page 1: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/1.jpg)
SKIZZO & OZZIKS – QBF SOLVER AND ITS CERTIFIERLin Shuo-Ren
2012/2/1
![Page 2: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/2.jpg)
OUTLINE
Main structure QBF solver – sKizzo
Main function Options
Reconstructor/certifier/inspector – ozziKs Main function Information dump options
![Page 3: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/3.jpg)
MAIN STRUCTURE
![Page 4: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/4.jpg)
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
![Page 5: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/5.jpg)
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
![Page 6: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/6.jpg)
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.
![Page 7: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/7.jpg)
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
![Page 8: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/8.jpg)
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
![Page 9: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/9.jpg)
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.
![Page 10: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/10.jpg)
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>
![Page 11: sKizzo & ozziKs – QBF solver and its certifier](https://reader036.fdocuments.in/reader036/viewer/2022082517/56812fa8550346895d9529f7/html5/thumbnails/11.jpg)
EXAMPLE 2
≠1
1 data
SA1 Error!
• • • inst* = data
falsedatainst inst .*trueinstdata inst .*
=1
1 data
SA1
Inst*
φ