9cm Algebra Boola Jest to struktura algebraiczna \definition
spełniająca następujące aksjomaty
- Przemienność:
- Rozdzielność:
- Elementy neutralne:
- Istnienie elementu komplementarnego:
*) Czasem negacja jest dodana do sygnatury algebry Boola.
<+-> Algebra zbiorów:
<+-> Rachunek zdań
<+-> Binarna algebra Boola
Przykłady zastosowań:
projektowanie układów scalonych;
rachunek zdań.
Każda algebraiczna równość pozostaje prawdziwa jeśli zamieniamy
operatory
<+-> Każde odwzorowanie
<+-> Funkcje Boolowskie
Stałe, zmienne, operatory
Literały, mintermy (jednomiany), maxtermy, …
Kanoniczna postać dyzjunkcyjna (DNF), np.
Kanoniczna postać koniunkcyjna (CNF), np.
<+-> Term
<+-> Implikant pierwszy: jest to implikant, który przestaje nim być po usunięciu dowolnego literału.
<+-> Kanoniczna postać Blake'a: każdą funkcję Boolowską można przedstawić jako sumę wszystkich jej imlikantów pierwszych:
Wiele formuł reprezentuje tę samą funkcję;
0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
1 | 1 | 0 | 1 |
0 | 0 | 1 | 0 |
1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 |
<+-> Niech
<+-> Funkcja
<+-> monotoniczne funkcje Boolowskie można zapisać bez użycia negacji.
<+-> term
każda funkcja większa od
<+-> Np. funkcja
posiada 2 implikanty pierwsze:
Modelowanie: Kodowanie problemu za pomocą układu równań Boolowskich;
Redukcja: Sprowadzenie układu równań do pojedynczego równania
postaci
Konstrukcja: Znalezienie wszystkich implikantów pierwszych funkcji
Dedukcja: Zastosowanie pewnej sekwencji wnioskowań transformujących implikanty pierwsze do rozwiązań problemu.
6cm <1-> \onslide
Problem:
If A goes than B won't go and C will;
If B and D go, then either A or C (but not both) will go
If C goes and B does not, then D will go but A will not.
<2-> Problem modeling:
6cm
<3-> After reduction:
<4-> Blake Canonical form:
<5-> Facts:
<6-> Reasoning: (theorem proving)
e.g., show that
”nobody can go alone.”
7cm
<+-> Problem SAT: czy równanie
posiada rozwiązanie?
<+-> SAT odgrywa ważną rolę w teorii złożoności (twierdzenie Cooka, dowodzenie NP-zupełności …)
<+-> Każdy SAT-solver może być używany do rozwiązywania problemu planowania.
<+-> Blocks world problem: Po redukcji formuła boolowska nadal zawiera
<+-> Np. Dla
5cm<4->\only
<3->
<+-> Konstrukcja funkcji odróżnialności:
Zmienne boolowskie: atrybuty
Klauzula:
Funkcja rozróżnialności:
<+-> przekształcenie funkcji rozróżnialności do postaci DNF
<+-> każdy implikant pierwszy odpowiada jednemu reduktowi;
Hurt. | Jakość obsługi | Jakość towaru | Obok autostrady? | Centrum? | decyzja |
---|---|---|---|---|---|
ID | |||||
1 | dobra | dobra | nie | nie | strata |
2 | dobra | dobra | nie | tak | strata |
3 | bdb | dobra | nie | nie | zysk |
4 | slaba | super | nie | nie | zysk |
5 | slaba | niska | tak | nie | zysk |
6 | slaba | niska | tak | tak | strata |
7 | bdb | niska | tak | tak | zysk |
8 | dobra | super | nie | nie | strata |
9 | dobra | niska | tak | nie | zysk |
10 | slaba | super | tak | nie | zysk |
11 | dobra | super | tak | tak | zysk |
12 | bdb | super | nie | tak | zysk |
13 | bdb | dobra | tak | nie | ? |
14 | slaba | super | nie | tak | ? |
1 | 2 | 6 | 8 | |
---|---|---|---|---|
3 | ||||
4 | ||||
5 | ||||
7 | ||||
9 | ||||
10 | ||||
11 | ||||
12 |
<+-> usuwanie alternatyw regułą pochłaniania (t.j.
<+-> sprowadzanie funkcji
<+-> Każdy składnik jest reduktem! Zatem mamy 2 redukty:
<+-> Atrybut jest ważniejszy jeśli częściej występuje w klauzulach;
<+-> Selekcja: W każdym kroku wybierzmy atrybut, który najczęściej występuje w funkcji rozróżnialności;
<+-> Usuwanie: Usuwamy z tej funkcji te klauzule, które zawierają wybrany atrybut;
<+-> Powtarzamy Selekcja i Usuwanie dopóty, póki funkcja rozróżnialności zawiera jeszcze jakąś klazulę.
Heurystyka Johnsona
Znaleźć atrybut, który występuje najczęściej w macierzy rozróżnialności;
Usuwnąć wszystkie pola zawierające wybrany atrybut;
Powtarzamy kroki 1 i 2 dopóki wszystkie pola macierzy są puste.
1 | 2 | 6 | 8 | |
---|---|---|---|---|
3 | ||||
4 | ||||
5 | ||||
7 | ||||
9 | ||||
10 | ||||
11 | ||||
12 |
W macierzy nierozróznialności z poprzedniego przykładu
Jeśli wybieramy
Jeśli wybieramy tym razem
Możemy dostać w ten sposób redukt:
Niech
Niech
Niech
Załóżmy, że heurystyka Johnsona musi płacić 1zł za każdym razem, gdy dodała
Rozłóżmy ten koszt tym elementom, które
zostały po raz pierwszy pokryte przez zbiór
Niech
Heurystyka Johnsona ponosi łączny koszt
Gdybyśmy pokazali, że dla dowolnego altrybutu
gdzie
Lemat:
Dla dowolnego altrybutu
Dowód:
Niech
gdzie
Zatem
ILP (Integer Linear Program)
Symulowane wyżarzanie (simulated annealing)
Algorytmy genetyczne
SAT solver
???
Dana jest funkcja
Utwórz nowe zmienne
Dla każdej zmiennej
Zamień każdą klausulę
Utwórzmy układ nierówności z poprzednich punktów:
Zagadnienie programowania liniowego liczb całkowitych (ILP) jest definiowane jako problem szukania
Dla danego zbioru atrybutów
gdzie
Dla każdego zbioru atrybutów
Semantyka:
Niech
Formalnie możemy indukcyjnie definiować semantykę jak następująco:
(5.1) | ||||
(5.2) | ||||
(5.3) | ||||
(5.4) |
Każda formuła
Definicja reguł decyzyjnych
Niech
gdzie
Formułę
Oznaczamy poprzednik i następnik reguły
Reguły atomowa: Są to reguły postaci:
(5.5) |
Każda reguła decyzyjna
liczba deskryptorów występujących w założeniu reguły | |
nośnik reguły | |
liczba obiektów z | |
wiarygodność reguły |
Mówimy, że reguła
Minimalne niesprzeczne reguły:
Niech
nazywamy minimalną niesprzeczną regułą decyzyjną jeśli usunięcie któregokolwiek z deskryptorów spowoduje, że
reguła przestaje być niesprzezcna z
Klasyfikatory regułowe dzialają w trzech fazach:
Faza treningu: Generuje pewien zbiór reguł
Faza selekcji reguł: Szuka w
Faza klasyfikacji: wyznacza klasędecyzyjną dla
Jeśli
Jeśli
Jeśli
Każda reguła powstaje poprzez skracanie opisu jakiegoś obiektu.
Redukty lokalne
Te same heurystyki dla reduktów decyzyjnych.
Hurt. | Jakość obsługi | Jakość towaru | Obok autostrady? | Centrum? | decyzja |
---|---|---|---|---|---|
ID | |||||
1 | dobra | dobra | nie | nie | strata |
2 | dobra | dobra | nie | tak | strata |
3 | bdb | dobra | nie | nie | zysk |
4 | slaba | super | nie | nie | zysk |
5 | slaba | niska | tak | nie | zysk |
6 | slaba | niska | tak | tak | strata |
7 | bdb | niska | tak | tak | zysk |
8 | dobra | super | nie | nie | strata |
9 | dobra | niska | tak | nie | zysk |
10 | slaba | super | tak | nie | zysk |
11 | dobra | super | tak | tak | zysk |
12 | bdb | super | nie | tak | zysk |
13 | bdb | dobra | tak | nie | ? |
14 | slaba | super | nie | tak | ? |
1 | 2 | 6 | 8 | |
---|---|---|---|---|
3 | ||||
4 | ||||
5 | ||||
7 | ||||
9 | ||||
10 | ||||
11 | ||||
12 |
Reguły:
1 | 2 | 6 | 8 | |
---|---|---|---|---|
3 | ||||
4 | ||||
5 | ||||
7 | ||||
9 | ||||
10 | ||||
11 | ||||
12 |
Reguły:
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.