Komprese důkazu rozlišení rozdělením - Resolution proof compression by splitting

v matematická logika, důkaz komprese rozdělením je algoritmus který funguje jako postproces na rozlišení důkazy. Navrhl to Scott Cotton ve svém příspěvku „Dvě techniky pro minimalizaci rozlišení“.[1]

Algoritmus rozdělení je založen na následujícím pozorování:

Dostal důkaz o neuspokojivosti a proměnná , je snadné znovu uspořádat (rozdělit) důkaz v důkazu o a doklad o a rekombinace těchto dvou důkazů (o další krok řešení) může mít za následek menší důkaz než originál.

Všimněte si, že použití rozdělení v důkazu pomocí proměnné nezruší platnost druhé aplikace algoritmu pomocí proměnné differente . Vlastně metoda navržená bavlnou[1] generuje posloupnost důkazů , kde každý důkaz je výsledkem použití rozdělení na . Během konstrukce sekvence, pokud je důkaz je příliš velký, je nastaven jako nejmenší důkaz v .

Pro dosažení lepšího poměru komprese a času je žádoucí heuristika pro výběr proměnné. Z tohoto důvodu, bavlna[1] definuje "aditivitu" kroku řešení (s předchůdci) a a resolvent ):

Potom pro každou proměnnou se vypočítá skóre sečtením aditivity všech kroků rozlišení v s otočným čepem spolu s počtem těchto kroků řešení. Označme každé takto vypočítané skóre pomocí , každá proměnná je vybrána s pravděpodobností úměrnou jejímu skóre:

Rozdělit důkaz o neuspokojivosti v důkazu z a důkaz z , Bavlna [1] navrhuje následující:

Nechat označuje doslovný a označují řešení klauzulí a kde a . Poté definujte mapu na uzlech v rozlišení :

Také nechte být prázdná klauzule v . Pak, a jsou získány výpočtem a , resp.

Poznámky

  1. ^ A b C d Bavlna, Scott. "Dvě techniky pro minimalizaci důkazů o rozlišení". 13. mezinárodní konference o teorii a aplikacích testování uspokojivosti, 2010.