Sawne tablice logiczne Plan Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Logika obliczeniowa Instytut Infomatyki Plan Sawne tablice logiczne Binane diagamy decyzyjne Plan wykładu 1 2 3 4 Plan wykładu Sawne tablice logiczne Rachunek zdań Badanie ównoważności fomuł logicznych Sawne tablice logiczne Binane diagamy decyzyjne Konstukcja binanego diagamu decyzyjnego Redukcja binanego diagamu decyzyjnego Własności binanych diagamów decyzyjnych Łączenie binanych diagamów decyzyjnych Pzykład Oganiczanie i kwantyfikacja Oganiczanie Kwantyfikacja i UBDD Oganiczanie i kwantyfikacja
Gamatyka achunku edykatów zdań Fomułą achunku edykatów zdań nazywamy wyażenie skonstuowane zgodnie z nastęującą gamatyką: tem ::= x x V tem ::= a a A tem ::= f(lista temów) f F lista temów ::= tem tem,lista temów atom ::= (lista temów) P fom ::= atom fom fom ::= fom ::= fom fom odobnie dla,,... fom ::= x fom x V fom ::= x fom x V Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Inteetacja fomuł achunku zdań Watościowanie Watościowaniem nazywamy funkcję v : P {0, 1}, któa zyisuje każdemu atomowi jedną z watości logicznych. Inteetacja Watościowanie można ozszezyć do funkcji v : F {0, 1}, zyisującej fomułom watości logiczne na odstawie definicji indukcyjnych. Funkcja v jest nazywana inteetacją. Każde watościowanie można ozszezyć dokładnie do jednej inteetacji. Dla dwóch identycznych watościowań inteetacje tej samej fomuły są identyczne.
Logiczna ównoważność fomuł achunku zdań Definicja Niech A 1 i A 2 będą fomułami achunku zdań. Jeśli v(a 1 ) = v(a 2 ) dla wszystkich inteetacji v, to A 1 jest logicznie ównoważna A 2, co oznaczamy A 1 A2. Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Metoda badania ównoważności fomuł Czy A B? A = B = Rozwiązanie Zbudować tablice logiczne dla A i B. Kosztowne dla fomuł z wieloma atomami!
Pzykład ( ) 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 ( ) 1 1 * 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Pzykład ( ) 1 1 * 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 ( ) 1 1 * 1 1 0 * 1 1 1 0 0 0 0 0 0 0 0
Pzykład ( ) 1 1 * 1 ( ) 1 * * 1 1 0 * 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Pzykład ( ) 1 1 * 1 ( ) 1 * * 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 * 0
Pzykład ( ) 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 ( ) 1 * * 1 1 1 0 0 0 0 * 0 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Binane diagamy decyzyjne Stuktua danych stosowana do eezentacji fomuł achunku zdań. Fomułom logicznie ównoważnym odowiadają identyczne stuktuy. Algoytmy oeujące na tych stuktuach są badzo sawne i znajdują zastosowanie w: ojektowaniu układów cyfowych, weyfikacji ogamów.
Od dzewa semantycznego do binanego diagamu decyzyjnego Binany diagam decyzyjny jest gafem acyklicznym z wyóżnionym kozeniem. W wiezchołku dzewa znajduje się atom. Zielona kawędź kawędź awdy eezentuje nadanie atomowi watości 1. Czewona kawędź kawędź fałszu eezentuje nadanie atomowi watości 0. Liść zawiea watość logiczną fomuły w danym watościowaniu. Każda gałąź zawiea o jednej kawędzi dla każdego atomu wysteującego w fomule. Binany diagam decyzyjny eezentuje watość fomuły we wszystkich możliwych watościowaniach atomów. Binany diagam decyzyjny dla fomuły A = ( ) 0 0 1 1 1 1 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Uoządkowanie wiezchołków w BDD Uoządkowany ciąg atomów, złożony z atomów umieszczonych w wiezchołkach dowolnej ścieżki nazywamy uoządkowaniem atomów. Zbió uoządkowań atomów {O 1,..., O n } jest zgodny wtw, gdy nie istnieją atomy i takie, że ozedza w O i, atom zaś ozedza w O j dla i j. Uoządkowanym binanym diagamem decyzyjnym (UBDD) nazywamy diagam, w któym zbió uoządkowań atomów dla wszystkich ścieżek jest zgodny.
Redukcja binanego diagamu decyzyjnego - kok 1 Binany diagam decyzyjny dla fomuły A = ( ) Pozostawiamy tylko dwa liście (awdy i fałszu) i odowiednio zekieowujemy wszystkie łuki. Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Redukcja binanego diagamu decyzyjnego - kok 2 Binany diagam decyzyjny dla fomuły A = ( ) Usuwamy atomy, któych oba watościowania owadzą do tego samego nastęnika.
Redukcja binanego diagamu decyzyjnego - kok 2 Binany diagam decyzyjny dla fomuły A = ( ) Usuwamy atomy, któych oba watościowania owadzą do tego samego nastęnika. Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Zedukowany binany diagam decyzyjny Binany diagam decyzyjny dla fomuły A = ( )
Algoytm edukcji binanego diagamu decyzyjnego Wejście: uoządkowany BDD 1 Jeśli liczba liści w diagamie jest większa od 2 (jeden liść zawiea 1, a dugi 0), to usuń owtazające się liście, a kawędzie owadzące do nich skieuj do ozostawionego liścia zawieającego tę samą watość logiczną. Potem wykonuj nastęujące koki algoytmu tak długo, jak to będzie możliwe. 2 Jeśli obie kawędzie, awdy oaz fałszu, wychodzące z wiezchołka v i owadzą do tego samego wiezchołka v j, to usuń v i, a kawędzie owadzące do niego skieuj do v j. 3 Jeśli dwa wiezchołki, zawieające ten sam atom są kozeniami identycznych oddiagamów, to usuń jeden z nich, a kawędzie owadzące do niego skieuj do dugiego wiezchołka. Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Własności zdedukowanego binanego diagamu decyzyjnego Zedukowany binany diagam decyzyjny dla fomuły A. Na ścieżce nie muszą wystęować wszystkie atomy z A, ale watościowanie atomów wystęujących na ścieżce musi wystaczać do obliczenia watości fomuły. Otzymany diagam zedukowany jest ównoważny diagamowi wyjściowemu. Zedukowane diagamy UBDD dla fomuł logicznie ównoważnych są stuktualnie identyczne dla oszczególnych uozadkowań atomów.
Własności UBDD Fomuła jest sełnialna Fomuła jest awdziwa Fomuła jest niesełnialna A B wtw gdy zedukowany diagam UBDD zawiea liść o watości 1. jej diagam UBDD zawiea tylko jeden wiezchołek o watości 1. jej diagam UBDD zawiea tylko jeden wiezchołek o watości 0. diagamy UBDD dla tych fomuł są identyczne. Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Złożoność UBDD Uoządkowany binany diagam decyzyjny dla fomuły ( 1 2 )... ( 2n 1 2n ) zawiea 2n + 2 wiezchołków zy uoządkowaniu 1,..., 2n oaz 2 n+1 wiezchołków zy uoządkowaniu 1, n+1, 2, n+2,..., n, 2n. Istnieje fomuła A zawieająca n atomów, dla któej każdy zedukowany UBDD składa się co najmniej z 2 cn wiezchołków dla ewnej stałej c > 0.
Łączenie binanych diagamów decyzyjnych C = ( ) ( ) A = ( ) B = 1 0 0 1 1 0 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Łączenie binanych diagamów decyzyjnych C = ( ) ( ) A = ( ) B = 1 0 0 1 1 0
Algoytm łączenia binanych diagamów decyzyjnych Dane: zgodnie uoządkowane BDD: d 1 i d 2 oaz oeato o. 1 Jeśli oba diagamy d 1 i d 2 są liśćmi zawieającymi, odowiednio v 1 i v 2, to zekaż liść zawieający v(d 1 o d 2 ) = v 1 o v 2. 2 Jeśli kozenie obu diagamów zawieają ten sam atom, to zekaż diagam, w któego kozeniu wysteuje, a lewy (odowiednio awy) oddiagam owstał zez ekuencyjne wykonanie algoytmu dla lewych (awych) oddiagamów d 1 i d 2. 3 Jeśli kozeń diagamu d 1 zawiea atom 1, a kozeń d 2 inny atom 2, oaz 1 < 2 w uoządkowaniu okeślonym zez te diagamy, to zekaż diagam, w któego kozeniu wystęuje 1, a lewy (odowiednio awy) oddiagam tego diagamu owstał zez ekuencyjne wykonanie algoytmu dla diagamu d 2 oaz lewego (odowiednio awego) oddiagamu d 1. Oisaną oeację wykonujemy ównież, gdy diagam d 2 jest liściem, d 1 zaś nim nie jest. W zeciwnym azie wykonujemy analogiczną oeację zamieniając olami d 1 i d 2. Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Pzykład zastosowania BDD x 0 a 1 x M N M N a b c x y z 0*1 *01 *10 01* *10 *01 y b c y z 1
Oganiczanie Dla fomuły A, atomu oaz watości logicznej v = 1 lub v = 0 oeacja oganiczenia zekazuje fomułę uzyskaną zez zastąienie każdego wystąienia atomu watością v oaz częściowe obliczenie watości fomuły. Fomułę uzyskaną w wyniku oganiczania będziemy oznaczać A =v. Pzykład A = ( ) A =1 = ( 1) = A =0 = ( 0) = Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Rozszezenie Shannona Poawność algoytmu edukcji binanych diagamów decyzyjnych wynika z nastęującego twiedzenia. Twiedzenie A 1 o A 2 ( (A 1 =1 o A 2 =1 )) ( (A 1 =0 o A 2 =0 ))
Algoytm oganiczania UBDD Dany jest UBDD fomuły A, atom i watość v. Szukamy UBDD dla fomuły A =v. Wykonanie oganiczenia uzyskujemy zez ekuencyjne zejście o diagamie. Jeśli kozeń diagamu jest liściem, to zekaż ten liść. Jeśli kozeń diagamu d zawiea atom, to zekaż odowiedni oddiagam d zgodnie z watością v. W zeciwnym azie (kozeń zawiea atom ) zastosuj algoytm do lewego oaz awego oddiagamu i zekaż diagam, któego kozeń zawiea, a lewym i awym oddiagamem są odowiednie diagamy uzyskane z ekuencyjnych wywołań algoytmu. A = ( ) ( ), v() = 0 1 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Kwantyfikacja Definicja Niech A będzie fomułą, a atomem. Kwantyfikacją egzystencjalną fomuły A nazywamy fomułę oznaczaną A, któa jest sełniona wtw, gdy dla ewnej watości atomu fomuła A jest sełniona. Kwantyfikacją uniwesalną fomuły A nazywamy fomułę oznaczaną A, któa jest sełniona wtw, gdy dla wszystkich watości atomu fomuła A jest sełniona.
Kwantyfikacja i oganiczanie Twiedzenie A A =0 A =1 oaz A A =0 A =1 Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Kwantyfikacja i oganiczanie - kwantyfikato egzystencjalny A A =0 A =1 A = ( ( )) oganicz UBDD dla fomuły A do A =0 ; oganicz UBDD dla fomuły A do A =1 ; ołącz otzymane diagamy oeatoem dysjunkcji. A A =0 A =1 A
Kwantyfikacja i oganiczanie - kwantyfikato uniwesalny A = (A =0 A =1 ) A = ( ( )) oganicz UBDD dla fomuły A do A =0 ; oganicz UBDD dla fomuły A do A =1 ; ołącz otzymane diagamy oeatoem koniunkcji. A A =0 A =1 A Plan Sawne tablice logiczne Binane diagamy decyzyjne Oganiczanie i kwantyfikacja Kwantyfikacja i oganiczanie Metoda tablic logicznych ma złożoność wykładniczą. Metoda tablic semantycznych i ezolucja są zwykle sawniejsze, ale dla ewnych fomuł ównież wymagają wykładniczej liczby koków. Poblem sełnialności fomuł należy do klasy NP-tudnych. Poblem niesełnialności fomuł należy do klasy co-np.
Pzykładowe zadania 1 Dane są fomuły A i B achunku zdań. Sawdzić za omocą binanego diagamu decyzyjnego, że A B. 2 Dana jest fomuła A achunku zdań zawieająca atom. Znaleźć UBDD dla fomuły: A, A.