SAT uzdevuma risināšana, izmantojot gadījuma klejošanu un lokālo optimizāciju
Author
Rostoks, Valters
Co-author
Latvijas Universitāte. Fizikas un matemātikas fakultāte
Advisor
Ambainis, Andris
Date
2009Metadata
Show full item recordAbstract
SAT problēma ir viena no visbiežāk pētītajām NP-pilnajām problēmām. SAT
ir ērta izpētei tās vienkāršās struktūras dēļ (piemēram, atrisinājumu ir iespējams
pārbaudīt, secīgi apskatot klauzulas un atrodot apmierinošo mainīgo).
Maģistra darbā tika pētīta nejaušu SAT formulu risināšanas sarežģītība. Tika
atrastas formulas vidējam atrisinājumu skaitam un tā standartnovirzei un izpētīti divi
SAT algoritmi: GSAT un UNITWALK.
SAT uzdevuma risināšanas sarežģītību nosaka attiecība starp mainīgo un
klauzulu skaitu. Autors noskaidroja, ka, ja nejauši ģenerētam testam klauzulas ir
piecas reizes vairāk kā mainīgo, vidējais atrisinājumu skaits ir tuvu vienam. Pie šādas
attiecības GSAT un UNITWALK algoritmiem testus ir ļoti sarežģīti atrisināt.
Savukārt, nejauši ģenerētiem testiem, kur klauzulu ir četras reizes vairāk nekā
mainīgo, UNITWALK un GSAT dod labus rezultātus. SAT problem is one of the most studied NP-complete problems. SAT is easy
to study because of its simple structure (for example, the solution could be verified by
sequentially checking clauses for satisfying variables).
In master thesis we have studied complexity of solving random SAT
problems. We have found formulas for average number of solutions and its deviation,
and studied two SAT algorithms: GSAT and UNITWALK.
Complexity of SAT problem solving is determined by the proportion between
variables and clauses. Author found out that, if random test has five times more
clauses than variables, average number of solutions is nearly one. For such proportion
GSAT and UNITWALK algorithms have difficulties in solving those tests. But
random tests, which have only four times more clauses than variables can be easily
solved by UNITWALK and GSAT.