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}