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 to jest najmniejsza, ale najważniejsza algebra Boola w zastosowaniu.
Przykłady zastosowań:
projektowanie układów scalonych;
rachunek zdań.
Każda algebraiczna równość pozostaje prawdziwa jeśli zamieniamy operatory na , na , 0 na 1 oraz 1 na 0.
<+-> Każde odwzorowanie nazywamy (zupełną) funkcją Boolowską.
<+-> Funkcje Boolowskie formuły Boolowskie:
Stałe, zmienne, operatory , oraz
Literały, mintermy (jednomiany), maxtermy, …
Kanoniczna postać dyzjunkcyjna (DNF), np. ;
Kanoniczna postać koniunkcyjna (CNF), np.
<+-> Term nazywamy implikantem funkcji jeśli
<+-> 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ę;
jest implikantem
jest implikantem pierwszym
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 oznacza relację częściowego porządku w
<+-> Funkcja jest monotoniczna (niemalejąca) wtw, gdy dla każdych jeśli to
<+-> monotoniczne funkcje Boolowskie można zapisać bez użycia negacji.
<+-> term nazywamy implikantem pierwszym funkcji monotonicznej jeśli
dla każdego wektora (jest implikantem)
każda funkcja większa od nie jest implikantem
<+-> Np. funkcja
posiada 2 implikanty pierwsze: i
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 (konstrukcja kanonicznej postaci Blake'a);
Dedukcja: Zastosowanie pewnej sekwencji wnioskowań transformujących implikanty pierwsze do rozwiązań problemu.
6cm <1-> \onslide
Problem:
are considering going to a party. Social constrains:
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 zmiennych i klauzuli ( - liczby bloków i kroków).
<+-> Np. Dla , , mamy 3016 zmiennych i 50457 klausuli
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 z postaci CNF (koniunkcja alternatyw) do postaci DNF (alternatywa koniunkcji)
<+-> Każdy składnik jest reduktem! Zatem mamy 2 redukty: i
<+-> 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
- występuje 23 razy - występuje 23 razy
- występuje 18 razy - występuje 16 razy
Jeśli wybieramy , to po usunięciu pól zawierających zostało 9 niepustych pól macierzy nierozróżnialności. Wśród nich:
- występuje 7 razy - występuje 7 razy - występuje 6 razy
Jeśli wybieramy tym razem to zostały 2 niepuste pola i wśród nich jest zdecydowanym faworytem.
Możemy dostać w ten sposób redukt: .
Niech ;
Niech ;
Niech będzie minimalnym reduktem, lecz będzie reduktem znalezionym przez heurystykę Johnsona;
Załóżmy, że heurystyka Johnsona musi płacić 1zł za każdym razem, gdy dodała do .
Rozłóżmy ten koszt tym elementom, które zostały po raz pierwszy pokryte przez zbiór
Niech = koszt ponoszony przez . Jeśli jest pokryty po raz pierwszy przez , to
Heurystyka Johnsona ponosi łączny koszt . Mamy
Gdybyśmy pokazali, że dla dowolnego altrybutu
gdzie , wówczas możemy oszacować dalej:
Lemat:
Dla dowolnego altrybutu
Dowód:
Niech , mamy:
gdzie jest najmniejszym indeksem t., że
Zatem
ILP (Integer Linear Program)
Symulowane wyżarzanie (simulated annealing)
Algorytmy genetyczne
SAT solver
???
Dana jest funkcja zapisana w postaci CNF za pomocą zmiennych
Utwórz nowe zmienne odpowiadające literałom ;
Dla każdej zmiennej , utwórzmy nierówność
Zamień każdą klausulę na nierówność ;
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 definiujemy język deskryptorów jako trójkę
gdzie
jest zbiorem deskryptorów
jest zbiorem standardowych operatorów logicznych;
jest zbiorem formuł logicznych zbudowanych na deskryptorach z .
Dla każdego zbioru atrybutów oznaczamy:
, czyli zbiór deskryptorów obciętych do .
zbiór formuł zbudowanych na .
Semantyka:
Niech będzie tablicą informacyjną. Każda formuła , jest (semantycznie) skojarzona ze zbiorem zawierającym obiekty spełniające .
Formalnie możemy indukcyjnie definiować semantykę jak następująco:
(5.1) | ||||
(5.2) | ||||
(5.3) | ||||
(5.4) |
Każda formuła może być charakteryzowana przez:
liczba deskryptorów w ;
liczba obiektów spełniających formułę
Definicja reguł decyzyjnych Niech będzie tablicą decyzyjną. Regułą decyzyjną dla nazywamy formuły postaci:
gdzie i .
Formułę nazywamy poprzednikiem (lub założeniem) reguły , a nazywamy następnikiem (lub tezą) reguły .
Oznaczamy poprzednik i następnik reguły przez oraz .
Reguły atomowa: Są to reguły postaci:
(5.5) |
Każda reguła decyzyjna postaci (5.5) może być charakteryzowana następującymi cechami:
= | liczba deskryptorów występujących w założeniu reguły |
---|---|
= | nośnik reguły , czyli zbiór obiektów z spełniających założenie reguły |
= | liczba obiektów z spełniających założenie reguły: |
= | wiarygodność reguły : |
Mówimy, że reguła jest niesprzeczna z jeśli
Minimalne niesprzeczne reguły: Niech będzie daną tablicą decyzyjną. Niesprzeczną regułę
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ł z danej tablicy decyzyjnej .
Faza selekcji reguł: Szuka w tych reguł, które są wspierane przez obiekt . Oznaczamy zbiór tych reguł przez .
Faza klasyfikacji: wyznacza klasędecyzyjną dla za pomocą reguł z według następującego schematu:
Jeśli jest pusty: odpowiedź dla jest , tzn. nie mamy podstaw, aby klasyfikować obiekt do którejkolwiek z klas;
Jeśli zawiera tylko obiekty z -tej klasy: wówczas ;
Jeśli zawiera reguły dla różnych klas decyzyjnych: wówczas decyzja dla określimy za pomocą pewnego, ustalonego schematu głosowania między regułami z .
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.