1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje Definicja 1
Funkcję postaci f:{ , }0 1 n →{ , }0 1 nazwiemy n-argumentową funkcją boolowską.
Definicja 2
Term g xi xi xi
r
= (1ϕ1) (2ϕ2)L (ϕr), gdzie ϕk ∈ {0,1}, xi xi
k k
( )0 = , xi xi
k k
( )1 = , ik ∈ {1,2,…,n}, k = 1,…,r nazwiemy implikantem funkcji boolowskiej f(x1,…,xn), jeżeli jest prawdziwa dla każdego wartościowania V nierówność g(V) ≤ f(V).
Implikant g nazwiemy implikantem pierwszym, jeżeli nie można z niego usunąć żadnej zmiennej tak, aby powyższa nierówność była nadal prawdziwa.
Definicja 3
Funkcja rozróżnialności fA dla systemu informacyjnego A jest a funkcją boolowską m boolowskich wartościa ...,1, am, i odpowiadających im atrybutów a1,..., am, którą definiujemy następująco:
≠
≤
<
≤
∨
∧
= ij ij
A a am c j i n c
f ( 1,..., ) { :1 , ∅}
} :
{
:cij a a cij
gdzie = ∈
fMG(A) oznacza funkcję boolowską zbudowaną z MG(A) w analogiczny sposób jak fA z M(A).
PRIME_MG(A) oznacza zbiór wszystkich implikantów pierwszych.
Definicja 4
Dokładna reguła αααα⇒⇒⇒⇒ββββ jest optymalna, jeżeli:
1. Każdy element sumy w α ma minimalną liczbę deskryptorów, tzn. jeżeli β otrzymaliśmy z α przez eliminację któregoś deskryptora, to β ⇒ α nie jest prawdziwe w A
2. Jeśli reguła αu⇒β (gdzie u jest informacją o pewnym obiekcie w A) jest prawdziwa, to istnieje podzbiór u’
u’ ⊆ u taki, że reguła αu’ ⇒β jest prawdziwa i β jest sumą w α. Twierdzenie 1.1
} : {
))}
*, , (
&
) , , ( _ Pr
&
) ( ( : {
,
, ∆ ∈ ∆ = ⇒∨ = ∆
∃
∨ A k k A k
u t
U x δ x R t ime MG A x u INF t A x δ θ θR
α
gdzie INF(t,A*,x)={(a,a(x)):a∈A(t)}jest optymalną regułą decyzyjną.
2. Przykład generowania reguł minimalnych
Sposób wyliczania reguł minimalnych przedstawiono dla tablicy decyzyjnej A=(U,A∪{d}) umieszczonej poniżej, gdzie U={x1,...x8}, C={a,b,c}- atrybuty warunkowe, d jest atrybutem decyzjnym.
U C a b c d x1 0 0 0 0 x2 0 1 0 1 x3 0 0 1 0 x4 1 1 0 1 x5 1 1 1 1 x6 1 1 1 0 x7 0 0 1 2 x8 1 0 1 2
Tablica decyzyjna
1. Tworzymy uogólniony atrybut decyzyjny ∂Α, którego wartości dodajemy do tablicy decyzyjnej, co przedstawia tabela 3.2.
U C a b c ∂∂∂∂ΑΑΑΑ
x1 0 0 0 {0}
x2 0 1 0 {1}
x3 0 0 1 {0,2 x4 1 1 0 {1} } x5 1 1 1 {0,1}
x6 1 1 1 {0,1}
x7 0 0 1 {0,2 x8 1 0 1 {2} }
Tablica decyzyjna z uogólnionym atrybutem decyzyjnym
Uwaga! Dla uproszczenia dalszych obliczeń usuwamy powielone (identyczne) obiekty. Zatem usunięty zostaje obiekt x6 i x7, a tablica 3.2 przyjmuje następującą postać:
U C a b c ∂∂∂∂ΑΑΑΑ
x1 0 0 0 {0}
x2 0 1 0 {1}
x3 0 0 1 {0,2}
x4 1 1 0 {1}
x5 1 1 1 {0,1}
X8 1 0 1 {2}
Tablica decyzyjna po usunięciu obiektów powielonych
2. Tworzymy macierz nierozróżnialności M(C), która została przedstawiona poniżej:
x1 x2 x3 x4 x5 x8
x1 ∅ b c ab abc ac x2 b ∅ bc a ac abc x3 c bc ∅ abc ab a x4 ab a abc ∅ c bc x5 abc ac ab c ∅ b x8 ac abc a bc b ∅
Macierz nierozróżnialności dla tablicy decyzyjnej 3.3.
Zbiór α = {{0}, {1},{2},{0,1},{0,2}}.
3. Wyliczamy reguły minimalne dla δA ={0} czyli reguły postaci αααα ⇒⇒⇒⇒ δδδδA ={0}
Aby utworzyć te reguły należy utworzyć uogólnioną macierz rozróżnialności dla obiektu x1. MG(A,{0},x1) to pierwsza kolumna w tabeli 3.4. Niepuste elementy tej macierzy to b, c, ab, abc, ac. Funkcja rozróżnialności odpowiadająca tej macierzy ma postać:
f MG(A,{0},x1) (a, b, c) = b*c*(a+b)*(a+b+c)*(a+c).
Uwaga!
1. Obliczenia odbywają się na zmiennych boolowskich tzn: X*X=X oraz X+X=X 2. Dla zmiennych boolowskich (1+X) = 1 (gdzie 1 to True).
3. W dalszych obliczeniach dla ułatwienia symbol * będzie opuszczany.
f MG(A,{0},x1) (a, b, c) = (abc +bbc) * (aa + ac + ab + bc + ac + cc)= aaabc + aabcc+ aabbc + abbcc + aabcc + abccc + aabbc + abbcc + abbbc + bbbcc + abbcc + bbccc)
Po dokonaniu minimalizacji funkcji boolowskich otrzymaliśmy:
f MG(A,{0},x1) (a, b, c) =abc +bc =bc(a +1) = bc
Zatem funkcja pierwszych implikantów Prime_MG(A,{0},x1}={bc}.
Podstawiając do tab. 3.4 wiersz 1 otrzymujemy następującą regułę minimalną:
b0c0 ⇒ δA ={0}.
4. Wyliczamy reguły minimalne dla δA ={1} czyli reguły postaci ββββ ⇒⇒⇒⇒ δδδδA ={1}.
MG(A,{1},x2) oraz MG(A,{1},x4).
f MG(A,{1}, x2) (a, b, c) = b*(b+c)* (a+c) * (a+b+c) = (bb+bc)*(aa + ab + ac + ac+ bc + cc) = (aabb + abbb + abbc + abbc+ bbbc + bbcc + aabc + abbc + abcc + abcc+ bbcc + bccc) = ab + abc + bc = ab(c + 1) + bc = ab + bc
Prime_MG(A,{1},x2}={ab, bc}.
Zatem otrzymujemy dwie reguły minimalne : a0b1,, a1c0
f MG(A,{1}, x4) (a, b, c) = ( a+b)*(a+b+c) * c*( b+c)= (aa+ ab+ ac+ ab+ bb+ bc)*( bc + cc) = (aabc+ abbc+
abcc+ abbc+ bbbc+ bbcc + aacc+ abcc+ accc+ abcc+ bbcc+ bccc) = abc + bc +ac = bc(a+1) + ac= bc +ac Prime_MG(A,{1},x4}={ ac, bc}.
Zatem otrzymujemy dwie reguły minimalne: a1c0 , b1c0 Ostatecznie otrzymujemy A- optymalną regułę decyzyjną:
a0b1, + a1c0 + b1c0 ⇒⇒⇒⇒δδδδA ={1}.
5. Wyliczamy reguły minimalne dla δA ={2} czyli reguły postaci χχχχ ⇒⇒⇒⇒ δδδδA ={2}.
MG(A,{2},x8)
f MG(A,{2}, x8) (a, b, c) = (a+c)*(a+b+c) * a* (b+c)* b = (aa + ab + ac + ac + bc + cc) *(abb+abc) = (aaabb + aabbb + aabbc + aabbc + abbbc + abbcc + aaabc + aabbc + aabcc + aabcc + abbcc + abccc) = ab + abc = ab(1+c) = ab
Prime_MG(A,{2},x8}={ab}.
Zatem otrzymujemy: a1b0 ⇒⇒⇒⇒ δδδδA ={2}.
6. Wyliczamy reguły minimalne dla δA ={0,1} czyli reguły postaci δδδδ⇒⇒⇒⇒ δδδδA ={0,1}.
MG(A,{0,1},x5)
f MG(A,{0,1}, x5) (a, b, c) = (a+b+c) * (a+c)*(a+b) * c* b = (aa+ ba+ ca + ac +bc +cc) * (abc + bbc) = (aabc+
aabbc+ abcc + aabcc +abbcc +abccc + aabbc+ bbbca+ bbacc + bbacc +bbbcc +bbccc) = abc+bc= bc(1+a) = bc
Prime_MG(A,{0,1},x5}={bc}.
Zatem otrzymujemy: b1c1 ⇒⇒⇒⇒δδδδA ={0,1}.
7. Wyliczamy reguły minimalne dla δA ={0,2} czyli reguły postaci εεεε⇒⇒⇒⇒δδδδA ={0,2}.
MG(A,{0,2},x3)
f MG(A,{0,2}, x3) (a, b, c) = c* (b+c)* (a+b+c) *(a+b)* a = (bc+cc) * (aaa + aab + aac+ aab + abb + abc) = (aaabc + aabbc + aabcc+ aabbc + abbbc + abbcc + aaacc + aabcc + aaccc+ aabcc + abbcc + abccc) = abc + ac = ac(b+1) = ac
Prime_MG(A,{0,1},x5}={ac}.
Otrzymujemy: a0c1 ⇒⇒⇒⇒ δδδδA ={0,2}.
Ostatecznie otrzymane zostały następujące reguły minimalne pierwszego typu:
b0c0 ⇒ δA ={0}
a0b1,+ a1c0+ b1c0 ⇒ δA ={1}
a1b0 ⇒δA ={2}
b1c1 ⇒δA ={0,1}
a0c1 ⇒ δA ={0,2}