Przyklad generowania regul minimalnych krok po kroku.

Transkrypt

Przyklad generowania regul minimalnych krok po kroku.
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 = x i(ϕ ) xi(ϕ ) L x i(ϕ ) , gdzie ϕk ∈ {0,1}, x i( 0) = x i , x i(1) = xi , 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.
1
1
2
2
r
r
k
k
k
k
Definicja 3
Funkcja rozróżnialności fA dla systemu informacyjnego A jest a funkcją boolowską m boolowskich
wartości a1, ..., a m , i odpowiadających im atrybutów a1,..., am, którą definiujemy następująco:
f A (a 1 ,..., a m ) = ∧{∨ c ij : 1 ≤ j < i ≤ n, c ij ≠ ∅}
gdzie : cij = {a : a ∈ c ij }
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
∨ {α U : ∃ (δ A ( x) R k ∆ & t ∈ Pr ime _ MG k ( A, ∆, x) & u = INF (t , A*, x))} ⇒ ∨{δ A = θ : θR k ∆}
x ,t ,u
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
x2
x3
x4
x5
x6
x7
x8
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
2
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
x2
x3
x4
x5
x6
x7
x8
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
{0}
{1}
{0,2
}{1}
{0,1}
{0,1}
{0,2
}{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ć:
a
x1 0
x2 0
x3 0
x4 1
x5 1
X8 1
UC
b
0
1
0
1
1
0
c
0
0
1
0
1
1
∂Α
{0}
{1}
{0,2}
{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
x1 ∅
b
c
ab abc ac
x2 b
∅
bc a
x3 c
bc ∅
x4 ab a
abc ∅
abc a
x8
ac abc
abc ab a
c
bc
∅
b
bc b
∅
x5 abc ac ab c
x8 ac
x5
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
6.
otrzymujemy: a1b0 ⇒ δA ={2}.
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
7.
otrzymujemy: b1c1 ⇒ δA ={0,1}.
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}

Podobne dokumenty