Instytut Informatyki Uniwersytetu Śląskiego 16 marzec 2010
Tablica decyzyjna Klasy nierozróżnialności i klasy decyzyjne Rdzeń Redukt Macierz nierozróżnialności Rdzeń i redukt w macierzy nierozróżnialności Reguły decyzyjne Reguły minimalne Problem niespójności w tabeli Program Lers
Tablicowe przedstawienie wiedzy KRS - Knowledge Representation System. Tablica decyzyjna jest modyfikacją KRS. Definicja bazy wiedzy: K = (U, R), U - skończony zbiór obiektów zwany uniwersum, R = {R 1, R 2,..., R n } - zbiór relacji równoważnościowych nad U KRS to skończona tablica, w której rzędy są etykietowane przez obiekty a kolumny przez atrybuty na przecięciu wiersza i kolumny znajduje się wartość atrybutu danego obiektu.
Tablica: Klasyfikacja zabawek. Kolor Kształt Materiał Wielkość Cena Miś brązowy owalny plusz duża niska Lalka różowy owalny guma średnia wysoka Samochód czerwony kanciasty metal mała wysoka Piłka zielony okrągły plastyk średnia średnia U = {{Mis}, {Lalka}, {Samochod}, {Pilka}} A = {{Kolor}, {Ksztalt}, {Material}, {Wielkosc}, {Cena}} Relacja nierozróżnialności IND(B): IND(B) = {(x, y) UxU : a B, a(x) = a(y)}
Tablica: Klasyfikacja zabawek. Kolor Kształt Materiał Wielkość Cena Miś brązowy owalny plusz duża niska Lalka różowy owalny guma średnia wysoka Samochód czerwony kanciasty metal mała wysoka Piłka zielony okrągły plastyk średnia średnia Klasa abstrakcji obiektu x relacji R (oznaczamy [x] R ) to zbiór tych obiektów z U, które są w relacji R z obiektem x. Przez U /R oznaczamy zbiór wszystkich klas abstrakcji R. Klasy abstrakcji są rozłączne i tworzą pokrycie zbioru U Przez U /IND(B) oznaczmy klasy abstrakcji relacji IND(B).
Tablica: Klasyfikacja zabawek. Kolor Kształt Materiał Wielkość Cena Miś brązowy owalny plusz duża niska Lalka różowy owalny guma średnia wysoka Samochód czerwony kanciasty metal mała wysoka Piłka zielony okrągły plastyk średnia średnia B = {Cena} wtedy U /IND(B) = {{Mis}, {Lalka, Samochod}, {Pilka}} B = {Ksztalt}
Tablica: Klasyfikacja zabawek. Kolor Kształt Materiał Wielkość Cena Miś brązowy owalny plusz duża niska Lalka różowy owalny guma średnia wysoka Samochód czerwony kanciasty metal mała wysoka Piłka zielony okrągły plastyk średnia średnia B = {Cena} wtedy U /IND(B) = {{Mis}, {Lalka, Samochod}, {Pilka}} B = {Ksztalt} wtedy U /IND(B) = {{Mis, Lalka}, {Samochod}, {Pilka}} B = {Mater}
Tablica: Klasyfikacja zabawek. Kolor Kształt Materiał Wielkość Cena Miś brązowy owalny plusz duża niska Lalka różowy owalny guma średnia wysoka Samochód czerwony kanciasty metal mała wysoka Piłka zielony okrągły plastyk średnia średnia B = {Cena} wtedy U /IND(B) = {{Mis}, {Lalka, Samochod}, {Pilka}} B = {Ksztalt} wtedy U /IND(B) = {{Mis, Lalka}, {Samochod}, {Pilka}} B = {Mater} wtedy U /IND(B) = {{Mis}, {Lalka}, {Samochod}, {Pilka}} B = {Wielkosc}
Tablica: Klasyfikacja zabawek. Kolor Kształt Materiał Wielkość Cena Miś brązowy owalny plusz duża niska Lalka różowy owalny guma średnia wysoka Samochód czerwony kanciasty metal mała wysoka Piłka zielony okrągły plastyk średnia średnia B = {Cena} wtedy U /IND(B) = {{Mis}, {Lalka, Samochod}, {Pilka}} B = {Ksztalt} wtedy U /IND(B) = {{Mis, Lalka}, {Samochod}, {Pilka}} B = {Mater} wtedy U /IND(B) = {{Mis}, {Lalka}, {Samochod}, {Pilka}} B = {Wielkosc} wtedy U /IND(B) = {{Mis}, {Lalka, Pilka}, {Samochod}} Niech x = Mis, B = {ksztalt}, wtedy [x] IND(B) = {Mis,Lalka} Niech x = Mis, B = {cena}, wtedy [x] IND(B) = {Mis}
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) =
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) = {{X 1, X 3 },{X 2, X 6 },{X 4 },{X 5 },{X 7 },{X 8 }} Niech B = {A1}, wówczas U /B =
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) = {{X 1, X 3 },{X 2, X 6 },{X 4 },{X 5 },{X 7 },{X 8 }} Niech B = {A1}, wówczas U /B = {{X 1, X 2, X 3, X 5, X 6 },{X 4, X 7, X 8 }} Niech B = {A1}, wówczas U /B =
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) = {{X 1, X 3 },{X 2, X 6 },{X 4 },{X 5 },{X 7 },{X 8 }} Niech B = {A1}, wówczas U /B = {{X 1, X 2, X 3, X 5, X 6 },{X 4, X 7, X 8 }} Niech B = {A1}, wówczas U /B = {{X 2, X 4, X 5, X 6, X 8 },{X 1, X 3, X 7 }} Niech B = {A1, A2}, wówczas U /B =
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) = {{X 1, X 3 },{X 2, X 6 },{X 4 },{X 5 },{X 7 },{X 8 }} Niech B = {A1}, wówczas U /B = {{X 1, X 2, X 3, X 5, X 6 },{X 4, X 7, X 8 }} Niech B = {A1}, wówczas U /B = {{X 2, X 4, X 5, X 6, X 8 },{X 1, X 3, X 7 }} Niech B = {A1, A2}, wówczas U /B = {{X 1, X 3, X 5 },{X 2, X 6 },{X 4 },{X 7, X 8 }} Niech B = {A1, A3}, wówczas U /B =
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) = {{X 1, X 3 },{X 2, X 6 },{X 4 },{X 5 },{X 7 },{X 8 }} Niech B = {A1}, wówczas U /B = {{X 1, X 2, X 3, X 5, X 6 },{X 4, X 7, X 8 }} Niech B = {A1}, wówczas U /B = {{X 2, X 4, X 5, X 6, X 8 },{X 1, X 3, X 7 }} Niech B = {A1, A2}, wówczas U /B = {{X 1, X 3, X 5 },{X 2, X 6 },{X 4 },{X 7, X 8 }} Niech B = {A1, A3}, wówczas U /B = {{X 1, X 3 },{X 2, X 5, X 6 }, {X 4, X 8 }, {X 7 }} Niech x = X 2, B = {A1}, wtedy [x] IND(B) =
Tablica: Klasy nierozróżnialności. A1 A2 A3 X 1 1 1 0 X 2 1 0 1 X 3 1 1 0 X 4 0 0 1 X 5 1 1 1 X 6 1 0 1 X 7 0 1 0 X 8 0 1 1 U /IND(B) = {{X 1, X 3 },{X 2, X 6 },{X 4 },{X 5 },{X 7 },{X 8 }} Niech B = {A1}, wówczas U /B = {{X 1, X 2, X 3, X 5, X 6 },{X 4, X 7, X 8 }} Niech B = {A1}, wówczas U /B = {{X 2, X 4, X 5, X 6, X 8 },{X 1, X 3, X 7 }} Niech B = {A1, A2}, wówczas U /B = {{X 1, X 3, X 5 },{X 2, X 6 },{X 4 },{X 7, X 8 }} Niech B = {A1, A3}, wówczas U /B = {{X 1, X 3 },{X 2, X 5, X 6 }, {X 4, X 8 }, {X 7 }} Niech x = X 2, B = {A1}, wtedy [x] IND(B) = { X 2, X 1, X 3, X 5, X 6 }
Tablica: Tablica decyzyjna. Obiekty : X = {1,..,8} Atrybuty warunkowe : C = {a,b,c} Atrybuty decyzyjne : D = {d,e} Atrybuty : A = C D Wartości a : V a = {0,1,2} Wartości b : V b = {0,1,2} Wartości c : V c = {0,1,2} a b c d e X 1 1 0 2 2 0 X 2 0 1 1 1 2 X 3 2 0 0 1 1 X 4 1 1 0 2 2 X 5 1 0 2 0 1 X 6 2 2 0 1 1 X 7 2 1 1 2 2 X 8 0 1 1 0 1
Tablica: Tablica decyzyjna. Niech B = {a}, wówczas U /B = a b c d e X 1 1 0 2 2 0 X 2 0 1 1 1 2 X 3 2 0 0 1 1 X 4 1 1 0 2 2 X 5 1 0 2 0 1 X 6 2 2 0 1 1 X 7 2 1 1 2 2 X 8 0 1 1 0 1
Tablica: Tablica decyzyjna. a b c d e X 1 1 0 2 2 0 X 2 0 1 1 1 2 X 3 2 0 0 1 1 X 4 1 1 0 2 2 X 5 1 0 2 0 1 X 6 2 2 0 1 1 X 7 2 1 1 2 2 X 8 0 1 1 0 1 Niech B = {a}, wówczas U /B = {{X 1, X 4, X 5 },{X 2, X 8 },{X 3, X 6, X 7 }} Niech B = {b}, wówczas U /B =
Tablica: Tablica decyzyjna. a b c d e X 1 1 0 2 2 0 X 2 0 1 1 1 2 X 3 2 0 0 1 1 X 4 1 1 0 2 2 X 5 1 0 2 0 1 X 6 2 2 0 1 1 X 7 2 1 1 2 2 X 8 0 1 1 0 1 Niech B = {a}, wówczas U /B = {{X 1, X 4, X 5 },{X 2, X 8 },{X 3, X 6, X 7 }} Niech B = {b}, wówczas U /B = {{X 1, X 5 },{X 2, X 4, X 7, X 8 },{X 6 }} Niech B = {c}, wówczas U /B =
Tablica: Tablica decyzyjna. a b c d e X 1 1 0 2 2 0 X 2 0 1 1 1 2 X 3 2 0 0 1 1 X 4 1 1 0 2 2 X 5 1 0 2 0 1 X 6 2 2 0 1 1 X 7 2 1 1 2 2 X 8 0 1 1 0 1 Niech B = {a}, wówczas U /B = {{X 1, X 4, X 5 },{X 2, X 8 },{X 3, X 6, X 7 }} Niech B = {b}, wówczas U /B = {{X 1, X 5 },{X 2, X 4, X 7, X 8 },{X 6 }} Niech B = {c}, wówczas U /B = {{X 1, X 5 },{X 2, X 7, X 8 },{X 3, X 4, X 6 }}
Tablica: Tablica decyzyjna. a b c d e X 1 1 0 2 2 0 X 2 0 1 1 1 2 X 3 2 0 0 1 1 X 4 1 1 0 2 2 X 5 1 0 2 0 1 X 6 2 2 0 1 1 X 7 2 1 1 2 2 X 8 0 1 1 0 1 Klasy decyzyjne - zbiór, ktory określa identyczne decyzje: Y 1 = {X 1 } Y 2 = {X 2 } Y 3 = {X 3, X 6 } Y 4 = {X 4, X 7 } Y 5 = {X 5, X 8 }
Redukt i rdzeń: Redukt: zbiór B nazywamy reduktem A : B jest niezależny oraz IND(B) = IND(A). Zbiór wszystkich reduktów RED(A). Rdzeń : zbiór wszystkich niezbędnych atrybutów. Dodatkowo zachodzi zależność : rdzeń jest przekrojem przez wszystkie redukty. Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 3 3 2 Do wyliczania reduktów i jądra sprawdzamy czy zachodzi równość pomiędzy relacjami nierozróżnialności (dwie relacje równoważnościowe są równe jeżeli mają takie same klasy abstrakcji).
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzenie, które atrybuty w B są zbędne: U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzenie, które atrybuty w B są zbędne: U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = { {X 1, X 3 },{X 2 },{X 4 }} czyli : U /IND(B) U /IND(B {a}), atrybut a jest niezbędny. U /IND(B {b}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzenie, które atrybuty w B są zbędne: U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = { {X 1, X 3 },{X 2 },{X 4 }} czyli : U /IND(B) U /IND(B {a}), atrybut a jest niezbędny. U /IND(B {b}) = { {X 1 },{X 2 },{X 3 },{X 4 }} czyli : U /IND(B) = U /IND(B {b}), atrybut b jest zbędny. U /IND(B {c}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzenie, które atrybuty w B są zbędne: U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = { {X 1, X 3 },{X 2 },{X 4 }} czyli : U /IND(B) U /IND(B {a}), atrybut a jest niezbędny. U /IND(B {b}) = { {X 1 },{X 2 },{X 3 },{X 4 }} czyli : U /IND(B) = U /IND(B {b}), atrybut b jest zbędny. U /IND(B {c}) = { {X 1 },{X 2 },{X 3 },{X 4 }} czyli : U /IND(B) = U /IND(B {c}), atrybut c jest zbędny. Niezbędny atrybut to: a, czyli Core(B) = {a}.
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzanie reduktu : Sprawdzamy najpierw, czy {a} jest reduktem. {a} jest niezależny (zbiór złożony z pojedynczego atrybutu zawsze jest niezależny). Dlaczego? Wszystkie atrybuty w zbiorze muszą być niezbędne. atrybut jest niezbędny, gdy klasy nierozróżnialności dla całego zbioru U /IND(B)) są różne od klasy nierozróżnialności dla zbioru bez wybranego atrybutu U /IND(B {x}.
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 aby sprawdzić powyższą zależność, trzeba usuwać po kolei każdy z atrybutów zbioru B, a następnie okrojony zbiór porównywać ze zbiorem pierwotnym B. w powyższej sytuacji zbiór B zawiera tylko jeden atrybut, dlatego jest on na pewno niezależny.
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy: U /IND({a}) = {{X 1 },{X 2, X 3 },{X 4 }} U /IND({a}) U /IND(B), nie jest spełniony drugi warunek: to nie jest redukt. W tej sytuacji redukt zawiera atrybuty zbędne. Możliwe kombinacje : B 1 = {a,b}, B 2 = {a,c}, B 3 = {b,c}. B 3 odpada, ponieważ redukt ZAWIERA rdzeń (czyli {a}), B 3 nie zawiera rdzenia.
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 1 = {a,b}. U /IND(B1) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 1 = {a,b}. U /IND(B1) = {{X 1 },{X 2 },{X 3 },{X 4 }} Teraz zbiór B 1 z wyłączeniem poszczególnych atrybutów. U /IND(B1 {a}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 1 = {a,b}. U /IND(B1) = {{X 1 },{X 2 },{X 3 },{X 4 }} Teraz zbiór B 1 z wyłączeniem poszczególnych atrybutów. U /IND(B1 {a}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B1) U /IND(B1) {a} U /IND(B1 {b}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 1 = {a,b}. U /IND(B1) = {{X 1 },{X 2 },{X 3 },{X 4 }} Teraz zbiór B 1 z wyłączeniem poszczególnych atrybutów. U /IND(B1 {a}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B1) U /IND(B1) {a} U /IND(B1 {b}) = {{X 1 },{X 2, X 3 },{X 4 }} U /IND(B1) U /IND(B1 {b}) Czyli B 1 jest niezależny, dodatkowo U /IND(B) = U /IND(B1)
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 2 = {a,c}. U /IND(B2) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 2 = {a,c}. U /IND(B2) = {{X 1 },{X 2 },{X 3 },{X 4 }} Teraz zbiór B 2 z wyłączeniem poszczególnych atrybutów. U /IND(B2 {a}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 2 = {a,c}. U /IND(B2) = {{X 1 },{X 2 },{X 3 },{X 4 }} Teraz zbiór B 2 z wyłączeniem poszczególnych atrybutów. U /IND(B2 {a}) = {{X 1, X 3 },{X 2, X 4 }} U /IND(B2) U /IND(B2) {a} U /IND(B2 {c}) =
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Sprawdzamy teraz zbiór B 2 = {a,c}. U /IND(B2) = {{X 1 },{X 2 },{X 3 },{X 4 }} Teraz zbiór B 2 z wyłączeniem poszczególnych atrybutów. U /IND(B2 {a}) = {{X 1, X 3 },{X 2, X 4 }} U /IND(B2) U /IND(B2) {a} U /IND(B2 {c}) = { {X 1 },{X 2, X 3 },{X 4 }} U /IND(B2) U /IND(B2) {c} Czyli B 2 jest niezależny, dodatkowo U /IND(B) = U /IND(B2)
Tablica: Tablica decyzyjna. a b c X 1 1 0 2 X 2 0 1 1 X 3 0 0 2 X 4 2 2 1 Wyliczyliśmy z definicji, że redukt : RED(B) = {{a, b}, {a, c}} Dodatkowo przecięcie reduktów = {a} = CORE(B).
Przyklad Tablica: Tablica decyzyjna. a b c X 1 0 0 0 X 2 0 1 0 X 3 1 1 0 X 4 1 0 1 X 5 0 0 1 X 6 0 0 1 Zbiór atrybutów B = {a, b, c} Obliczmy klasy nierozróżnialności U /IND(B) =
Przyklad Tablica: Tablica decyzyjna. a b c X 1 0 0 0 X 2 0 1 0 X 3 1 1 0 X 4 1 0 1 X 5 0 0 1 X 6 0 0 1 Zbiór atrybutów B = {a, b, c} Obliczmy klasy nierozróżnialności U /IND(B) = { {X 1 },{X 2 },{X 3 },{X 4 },{X 5, X 6 }} Dalej obliczamy rdzeń CORE(B): U /IND(B {a}) =
Przyklad Tablica: Tablica decyzyjna. a b c X 1 0 0 0 X 2 0 1 0 X 3 1 1 0 X 4 1 0 1 X 5 0 0 1 X 6 0 0 1 Zbiór atrybutów B = {a, b, c} Obliczmy klasy nierozróżnialności U /IND(B) = { {X 1 },{X 2 },{X 3 },{X 4 },{X 5, X 6 }} Dalej obliczamy rdzeń CORE(B): U /IND(B {a}) = {{X 1 },{X 2, X 3 },{X 4, X 5, X 6 }} czyli : U /IND(B) U /IND(B {a}), atrybut a jest niezbędny. U /IND(B {b}) =
Przyklad Tablica: Tablica decyzyjna. a b c X 1 0 0 0 X 2 0 1 0 X 3 1 1 0 X 4 1 0 1 X 5 0 0 1 X 6 0 0 1 Zbiór atrybutów B = {a, b, c} Obliczmy klasy nierozróżnialności U /IND(B) = { {X 1 },{X 2 },{X 3 },{X 4 },{X 5, X 6 }} Dalej obliczamy rdzeń CORE(B): U /IND(B {a}) = {{X 1 },{X 2, X 3 },{X 4, X 5, X 6 }} czyli : U /IND(B) U /IND(B {a}), atrybut a jest niezbędny. U /IND(B {b}) = { {X 1, X 2 },{X 3 },{X 4 },{X 5, X 6 }} czyli : U /IND(B) U /IND(B {b}), atrybut b jest niezbędny. U /IND(B {c}) =
Przyklad Tablica: Tablica decyzyjna. a b c X 1 0 0 0 X 2 0 1 0 X 3 1 1 0 X 4 1 0 1 X 5 0 0 1 X 6 0 0 1 Zbiór atrybutów B = {a, b, c} Obliczmy klasy nierozróżnialności U /IND(B) = { {X 1 },{X 2 },{X 3 },{X 4 },{X 5, X 6 }} Dalej obliczamy rdzeń CORE(B): U /IND(B {a}) = {{X 1 },{X 2, X 3 },{X 4, X 5, X 6 }} czyli : U /IND(B) U /IND(B {a}), atrybut a jest niezbędny. U /IND(B {b}) = { {X 1, X 2 },{X 3 },{X 4 },{X 5, X 6 }} czyli : U /IND(B) U /IND(B {b}), atrybut b jest niezbędny. U /IND(B {c}) = { {X 1, X 5, X 6 },{X 2 },{X 3 },{X 4 }} czyli : U /IND(B) U /IND(B {c}), atrybut c jest niezbędny.
Tablica: Tablica decyzyjna. a b c X 1 0 0 0 X 2 0 1 0 X 3 1 1 0 X 4 1 0 1 X 5 0 0 1 X 6 0 0 1 Atrybuty niezbędne tworzą jądro CORE(B) = {a, b, c} Dalej obliczamy redukt. Sprawdzamy zbiory U /IND(B {a}), U /IND(B {b}), U /IND(B {c}), Zbiór B jest niezależny, widać, że CORE(B) = RED(B).
Macierz nierozróżnialności: Dla systemu zdefiniowanego jako S = (U, A), gdzie U to uniwersum (zbiór wszystkich obiektów), natomiast A to zbiór atrybutów, mamy: M(S) = [c ij ] nxn, gdzie: c ij = {a B : a(x i ) a(x j ), i, j = 1,..., n} Inaczej : c ij = zbiór atrybutów odróżniających dwa wybrane obiekty.
Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 Tablica: Macierz nierozróżnialności. 1 2 3 4 1 φ a,b,c a a,b,c,d 2 a,b,c φ b,c a,b,d 3 a b,c φ a,b,c,d 4 a,b,c,d a,b,d a,b,c,d φ Uwaga: Powyższa macierz jest symetryczna, tzn c ij = c ji oraz c i i = φ.
Powiązanie między macierzą, rdzeniem, a reduktem: CORE(A) = {a A : c ij = {a}, 0 < i, j < n + 1}, tzn. do rdzenia wchodzą atrybuty występujące w macierzy nierozróżnialności pojedynczo. zbiór atrybutów B jest reduktem A wtedy i tylko wtedy, gdy B jest minimalny oraz z każdym niepustym elementem macierzy nierozróżnialności M(S) ma niepuste przecięcie. Inaczej : redukt jest to najmniejszy zbiór atrybutów, przy którym zachowana zostaje dotychczasowa klasyfikacja (rozróżnialność) obiektów.
Reguły decyzyjne Z każdym obiektem x i ze zbioru U wiążemy pewną funkcję odwzorowującą zbiór atrybuty warunkowe w atrbut decyzyjny. Takie odwzorowanie nazywamy regułą decyzyjną. Spójność reguły decyzyjnej: obiekty mające takie same wartości atrybutów warunkowych powinny mieć takie same wartości klasy decyzyjnej.
Tablica: Tablica decyzyjna. Reguły decyzyjne: a=1 and b=0 and c=2 d=2 a=0 and b=1 and c=1 d=2 a=0 and b=0 and c=2 d=2 a=2 and b=2 and c=1 d=0 a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0
Spójność reguł decyzyjnych. Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 3 X 3 1 0 1 2 X 4 2 2 1 1 X 5 2 2 1 0
Spójność reguł decyzyjnych. Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 3 X 3 1 0 1 2 X 4 2 2 1 1 X 5 2 2 1 0 Tablica jest spójna. Uwaga:dla obiektów o różnych wartościach atrybutów warunkowych - atrybut decyzyjny może być taki sam. Tablica nie jest spójna, gdy dla takich samych wartości atrybutów warunkowych, atrybut decyzyjny jest różny
Tablica: Tablica decyzyjna. Tablica nie jest spójna. a b c d X 1 1 0 2 2 X 2 0 1 1 3 X 3 1 0 2 0 X 4 2 2 1 1 X 5 2 2 1 0
Algorytm tworzenia reguł minimalnych: 1 Usuń powielone obiekty z tabeli 2 Wylicz wszystkie redukty ze zbioru atrybutów A 3 Dla każdego reduktu utwórz nową tablicę decyzyjną T i, gdzie zbiór atrybutów jest równy danemu reduktowmi ze zbioru reduktów. 4 Usuń obiekty powielone
Przykład Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 Ad 1. Sprawdzamy, czy w tablicy nie występują obiekty powielone. Ad 2. Wyliczamy redukty z podanej tablicy:
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. U /IND(B) = a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B {b}) =
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B {b}) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {c}) =
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {a}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B {b}) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND(B {c}) = {{X 1 },{X 2 },{X 3 },{X 4 }} Z powyższej zależności widzimy, że rdzeniem CORE(A) jest zbiór {a}.
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 Nasz rdzeń jest jednoelementowy, więc jest to zbiór niezależny. Sprawdzamy dalej zbiory : U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND({a}) =
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 Nasz rdzeń jest jednoelementowy, więc jest to zbiór niezależny. Sprawdzamy dalej zbiory : U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND({a}) = {{X 1 },{X 2, X 3 },{X 4 }} U /IND(B) U /IND({a}) U /IND({b}) =
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 Nasz rdzeń jest jednoelementowy, więc jest to zbiór niezależny. Sprawdzamy dalej zbiory : U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND({a}) = {{X 1 },{X 2, X 3 },{X 4 }} U /IND(B) U /IND({a}) U /IND({b}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B) U /IND({b}) U /IND({c}) =
Wyliczenie reduktów z definicji: Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 Nasz rdzeń jest jednoelementowy, więc jest to zbiór niezależny. Sprawdzamy dalej zbiory : U /IND(B) = {{X 1 },{X 2 },{X 3 },{X 4 }} U /IND({a}) = {{X 1 },{X 2, X 3 },{X 4 }} U /IND(B) U /IND({a}) U /IND({b}) = {{X 1, X 3 },{X 2 },{X 4 }} U /IND(B) U /IND({b}) U /IND({c}) = {{X 1, X 3 },{X 2, X 4 }} U /IND(B) U /IND({c})
Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 W tej sytuacji nasz redukt zawiera więcej niż jeden element: B 1 = {a,b} B 2 = {a,c} B 3 = {b,c} Oczywiście B 3 nie zawiera rdzenia więc nie będzie rozpatrywany. Sprawdźmy B 1 oraz B 2.
Tablica: Tablica decyzyjna. a b c d X 1 1 0 2 2 X 2 0 1 1 2 X 3 0 0 2 2 X 4 2 2 1 0 W tej sytuacji nasz redukt zawiera więcej niż jeden element: B 1 = {a,b} B 2 = {a,c} B 3 = {b,c} Oczywiście B 3 nie zawiera rdzenia więc nie będzie rozpatrywany. Sprawdźmy B 1 oraz B 2. Mamy RED(A) = {{a,b},{a,c}}.
Wyliczmy to samo z macierzy nierozróżnialności: Tablica: Macierz nierozróżnialności. 1 2 3 4 1 φ a,b,c a a,b,c 2 0 φ b,c a,b 3 0 0 φ a,b,c 4 0 0 0 φ Widać, że rdzeń CORE(B) = {a} Natomiast redukt RED(B) = {{a,b},{a,c}}
Po wyliczeniu reduktu - przechodzimy do dalszczej części algorytmu: Z tablicy T otrzymamy dwie tablice T 1 oraz T 2, gdzie: T 1 = (U 1, C 1, D 1 ) U 1 oraz U 2 to zbiory wszystkich obiektów z poszczególnych tabel. Obydwa zbiory są sobie równe, tzn U 1 = U 2. C 1 czyli zbiór atrybutów warunkowych z tabeli T 1 wynosi {a,b}. C 2 czyli zbiór atrybutów warunkowych z tabeli T 2 wynoki {a,c}. Natomiast D 1 oraz D 2 to zbiory atrybutów decyzyjnych kolejno dla tabel T 1 oraz T 2. Zbiory D 1 oraz D 2 są sobie równe i zawierają jeden atrybut decyzyjny {d}.
Tablica: Tablica decyzyjna. a b d X 1 1 0 2 X 2 0 1 2 X 3 0 0 2 X 4 2 2 0 Tablica: Tablica decyzyjna. a c d X 1 1 2 2 X 2 0 1 2 X 3 0 2 2 X 4 2 1 0
Kolejnym etapem jest usunięcie obiektów powielonych w tabelach wygenerowanych dla poszczególnych reduktów T 1 oraz T 2. Ponieważ jednak w powyższczych tabelach żadne dwa obiekty nie są identyczne - nie usuwamy żadnych obiektów. Wreszcie ostatni punkt algorytmu to wygenrowanie z tabel T 1 oraz T 2 reguł minimalnych. dla tabeli T 1 : 1 a=1 and b=0 d=2 2 a=0 and b=1 d=2 3 a=0 and b=0 d=2 4 a=2 and b=2 d=0 Teraz tabela T 2 : 1 a=1 and b=2 d=2 2 a=0 and b=1 d=2 3 a=0 and b=2 d=2 4 a=2 and b=1 d=0
Tablica: Tablica decyzyjna. a b c d e X 1 0 0 1 1 Y X 2 1 1 1 1 Y X 3 1 0 0 0 N X 4 1 0 0 1 Y X 5 0 0 1 0 Y X 6 0 1 1 0 N X 7 0 0 1 0 N Gdzie : U = {X 1, X 2, X 3, X 4, X 5, X 6, X 7 } C = {a,b,c,d} D = {e} V a, V b, V c, V d = {0, 1} V e = {N, Y } Zadanie : wylicz redukt i rdzeń z definicji + z macierzy nierozróżnialności.
Tablica: Tablica decyzyjna. a b c d e X 1 0 0 0 0 0 X 2 0 0 1 1 0 X 3 1 1 1 0 0 X 4 1 1 2 0 0 X 5 0 1 0 1 1 X 6 1 1 0 2 1 X 7 0 1 1 2 2 X 8 1 0 1 0 2 Gdzie : U = {X 1, X 2, X 3, X 4, X 5, X 6, X 7, X 8 } C = {a,b,c,d} D = {e} V a, V b = {0, 1} V c, V d = {0, 1, 2} V e = {0, 1, 2} Zadanie : wylicz redukt i rdzeń z definicji + z macierzy nierozróżnialności.
Tablica: Tablica decyzyjna. Gdzie : U = {X 1, X 2, X 3, X 4, X 5, X 6 } C = {a,b,c} D = {d} V a, V b, V c = {0, 1} V d = {0, 1, 2} Utwórz reguły minimalne. a b c d X 1 0 0 0 0 X 2 0 1 0 1 X 3 1 1 0 1 X 4 1 0 1 2 X 5 0 0 1 0 X 6 0 0 1 2
Tablica: Tablica decyzyjna. Gdzie : U = {X 1, X 2, X 3, X 4, X 5, X 6 } C = {a,b,c} D = {d} V a, V b, V c = {0, 1} V d = {0, 1} Utwórz reguły minimalne. a b c d X 1 0 0 0 0 X 2 0 1 0 1 X 3 0 0 1 0 X 4 1 1 0 1 X 5 0 0 1 0 X 6 1 0 1 1
Problem usuwania niespójności z tablicy dezycyjnej. Rozpatrzmy następującą tablicę decyzyjną: Tablica: Tablica decyzyjna. a b c d e X 1 0 0 1 0 1 X 2 1 1 1 0 1 X 3 0 1 0 0 2 X 4 1 1 1 0 2 X 5 1 0 0 0 2 X 6 1 1 0 0 3 X 7 1 1 1 1 2 X 8 1 1 1 0 1 Gdzie : U = {X 1, X 2, X 3, X 4, X 5, X 6, X 7, X 8 } C = {a,b,c,d} D = {e} V a, V b, V c, V d = {0, 1} V e = {0, 1, 2, 3}
Powyższa tabela jest niespójna, ponieważ obiekty X 2, X 4, X 8 przy tych samych wartościach atrybutów warunkowych posiadają różne decyzje. Jak usuwać niespójność? Zwrócić się do eksperta o pomoc. Niestety przeważnie ekspert nie potrafi jednoznacznie usunąć niespójności z tabeli.
Utworzenie dwóch (lub więcej) spójnych tablic decyzyjnych, poprzez rozdzielenie sprzecznych atrybutów. Tablica: Tablica decyzyjna 1a. a b c d e X 1 0 0 1 0 1 X 3 0 1 0 0 2 X 4 1 1 1 0 2 X 5 1 0 0 0 2 X 6 1 1 0 0 3 X 7 1 1 1 1 2
Tablica: Tablica decyzyjna 1b. a b c d e X 1 0 0 1 0 1 X 2 1 1 1 0 1 X 3 0 1 0 0 2 X 5 1 0 0 0 2 X 6 1 1 0 0 3 X 7 1 1 1 1 2 X 8 1 1 1 0 1
Usunięcie obiektów będących przczyną niespójności - który obiekt usunąć? Tworzenie nowego podziału. Usuwanie obiektów : przybliżenie górne i dolne zbioru, brzeg zbioru.
Przykład z prezentacji dr Simińskiego: Tablica: Przykład: zbieranie jabłek. Kolor Wielkość Dojrzałe X 1 czerwone duże tak X 2 żółte średnie tak X 3 zielone małe nie X 4 zielone duże tak X 5 żółte średnie nie X 6 czerwone średnie tak X 7 żółte duże tak X 8 czerwone średnie tak X 9 żółte małe nie X 1 0 żółte małe tak X 1 1 czerwone małe tak X 1 2 zielone średnie nie Zbieramy wszystkie duże oraz wszystkie czerwone. Problem z żółtymi średnimi i żółtymi małymi - tablica niespójna.
Tablica: Przykład: zbieranie jabłek. Kolor Wielkość Dojrzałe X 1 czerwone duże tak X 2 żółte średnie tak X 3 zielone małe nie X 4 zielone duże tak X 5 żółte średnie nie X 6 czerwone średnie tak X 7 żółte duże tak X 8 czerwone średnie tak X 9 żółte małe nie X 1 0 żółte małe tak X 1 1 czerwone małe tak X 1 2 zielone średnie nie Podzielmy zbiór na dwie klasy decyzyjne:
Tablica: Przykład: zbieranie jabłek. Kolor Wielkość Dojrzałe X 1 czerwone duże tak X 2 żółte średnie tak X 3 zielone małe nie X 4 zielone duże tak X 5 żółte średnie nie X 6 czerwone średnie tak X 7 żółte duże tak X 8 czerwone średnie tak X 9 żółte małe nie X 1 0 żółte małe tak X 1 1 czerwone małe tak X 1 2 zielone średnie nie Podzielmy zbiór na dwie klasy decyzyjne: Y dojrzale = {X 1, X 2, X 4, X 6, X 7, X 8, X 10, X 11 } Y niedojrzale = {X 3, X 5, X 9, X 12 } Teraz : żółte i średnie = X 2, X 5 oraz żółte i małe = X 9, X 10
Dolnym przybliżeniem pojęcia X w systemie nazywamy: B IND(B) X = {x U : [x] IND(B) X } Górnym przybliżeniem pojęcia X w systemie nazywamy: B IND(B) X = {x U : [x] IND(B) X 0 Brzegiem pojęcia X nazywamy różnicę Górnego i dolnego przybliżenia. Dalej przykład: Y niedojrzale = {X 3, X 5, X 9, X 12 }
[X 1 ] IND(B) = {X 1 } [X 2 ] IND(B) = {X 2, X 5 } [X 3 ] IND(B) = {X 3 } [X 4 ] IND(B) = {X 4 } [X 5 ] IND(B) = {X 2, X 5 } [X 6 ] IND(B) = {X 6, X 8 } [X 7 ] IND(B) = {X 7 } [X 8 ] IND(B) = {X 6, X 8 } [X 9 ] IND(B) = {X 9, X 10 } [X 10 ] IND(B) = {X 9, X 10 } [X 11 ] IND(B) = {X 11 } [X 12 ] IND(B) = {X 12 } Przybliżenie dolne (zbiory zawarte w Y niedojrzale w całości): B IND(B) Y niedojrzale = {X 3, X 12 } Przybliżenie górne (zbiory zawarte częściowo w Y niedojrzale ): B IND(B) Y niedojrzale = {X 2, X 3, X 5, X 9, X 10, X 12 } Brzeg: BN B (X ) = {X 2, X 5, X 9, X 10 } - zawiera obiekty, których nie można jednoznacznie przydzielić.
Tworzenie nowego nowego systemu informacyjnego - zmiana atrybutów decyzyjnych. Tablica: Tablica decyzyjna. a b c d e X 1 0 0 1 0 1 X 2 1 1 1 0 {1,2} X 3 0 1 0 0 2 X 4 1 1 1 0 {1,2} X 5 1 0 0 0 2 X 6 1 1 0 0 3 X 7 1 1 1 1 2 X 8 1 1 1 0 {1,2}
Wyliczanie reguł minimalnych z tablicy decyzyjnej: 1 Sprawdzenie spójności tablicy decyzyjnej. 2 Przygotowanie macierzy nierozróżnialności. 3 Tworzenie reguł minimalnych z macierzy. Rozpatrzmy następujący przykład: Tablica: Tablica decyzyjna. a b c D X 1 0 0 0 0 X 2 0 1 0 1 X 3 0 0 1 0 X 4 1 1 0 1 X 5 1 1 1 1 X 6 1 1 1 0 X 7 0 0 1 2 X 8 1 0 1 2
Wprowadzamy atrybut uogólniony: Tablica: Spójna tablica decyzyjna. a b c D X 1 0 0 0 {0} X 2 0 1 0 {1} X 3 0 0 1 {0,2} X 4 1 1 0 {1} X 5 1 1 1 {0,1} X 6 1 1 1 {0,1} X 7 0 0 1 {0,2} X 8 1 0 1 {2}
Usuwamy obiekty powielone: Tablica: Tablica decyzyjna bez obiektów powielonych. a b c D X 1 0 0 0 {0} X 2 0 1 0 {1} X 3 0 0 1 {0,2} X 4 1 1 0 {1} X 6 1 1 1 {0,1} X 8 1 0 1 {2}
Tworzenie macierzy nierozróżnialności: Tablica: Macierz nierozróżnialności. X 1 X 2 X 3 X 4 X 6 X 8 X 1 φ b c a,b a,b,c a,c X 2 b φ b,c a a,c a,b,c X 3 c b,c φ a,b,c a,b a X 4 a,b a a,b,c φ c b,c X 6 a,b,c a,c a,b c φ b X 8 a,c a,b,c a b,c b φ
Utworzymy teraz reguły minimalne dla obiektów z wartością atrybutu decyzyjnego D równą {1}. Obiekty posiadające taką wartość decyzji to kolejno X 2 oraz X 4. Uogólniona macierz rozróżnialności MG(A) dla tych obiektów wygląda następująco: MG(A, {1}, X 2) (na drugiej pozycji w nawiasie mamy wartość atrybutu decyzyjnego, a na trzeciej pozycji - obiekt). MG(A, {1}, X 4)
Rozpatrzmy MG(A, {1}, X 2 ) - jest to druga kolumna (ewentualnie drugi wiersz) w macierzy nierozróżnialności, bez elementów leżących na przecięciu innych obiektów mających decyzję równą {1}. Wskazany wiersz to: Tablica: Wiersz z macierzy nierozróżnialności. jednak: X 2 b φ b,c a a,c a,b,c Tablica: Wiersz z macierzy nierozróżnialności. X 1 X 2 X 3 X 4 X 6 X 8 X 2 b φ b,c a a,c a,b,c atrybut a znajdujący się na miejscu 4 odpowiada obiektowi X 4, który posiada tą samą wartość atrybutu decyzyjnego - dlatego ten element macierzy odrzucamy. Zostają nam elementy: b, bc, ac oraz abc.
Zmodyfikowana funkcja rozróżnialności f MG(A) to funkcja boolowska m zmiennych tworzona z MG(A). Funkcja odpowiadająca naszej macierzy rozróżnialności ma postać: f MG(A,{1},X2)(a, b, c) = b (b + c) (a + c) (a + b + c) poszczególne komórki macierzy mnożymy przez siebie, natomiast atrybuty wewnątrz komórek macierzy dodajemy. Kolejny krok to minimalizacja otrzymanej funkcji boolowskiej. f MG(A,{1},X2)(a, b, c) = b (b + c) (a + c) (a + b + c) = (bb + bc) (a + c) (a + b + c) = (abb + bbc + abc + bcc) (a + b + c) = aabb + abbb + abbc + abbc + bbbc + bbcc + aabc + abbc + abcc + abcc + bbcc +bccc = ab+ab+abc +abc +bc +bc +abc +abc +abc +bc +bc = ab + abc + bc = ab(1 + c) + bc = ab + bc Uproszczoną funkcję rozróżnialności oznaczmy jako: prime M G(A, {1}, X 2 ) = {ab, bc} Teraz na podstawie tablicy decyzyjnej odczytujemy: 1. a = 0&b = 1 2. b = 1&c = 0
Obliczmy teraz reguły minimalne dla obiektu X 4. Zaczynamy od macierzy rozróżnialności: MG(A, {1}, X 4 ) - mamy czwarty wiersz (lub czwartą kolumnę). Tablica: Wiersz z macierzy nierozróżnialności. X 1 X 2 X 3 X 4 X 6 X 8 X 4 a,b a a,b,c φ c b,c Opuszczamy a ponieważ odnosi się do obiektu X 2, który posiada taką samą wartość atrybutu decyzyjnego, co obiekt X 4.
Stąd, nasza funkcja rozróżnialności ma postać: f MG(A,{1},X4)(a, b, c) = (a + b) (a + b + c) c (b + c) Upraszczając, otrzymujemy: f MG(A,{1},X4)(a, b, c) = (aa + ab + ab + bb + ac + bc) c (b + c) = (aac + abc + abc + bbc + acc + bcc) (b + c) = aabc + abbc + abbc + bbbc + abcc + bbcc + aacc + abcc + abcc + bbcc + accc + bccc = abc + abc + abc + bc + abc + bc + ac + abc + abc + bc + ac + bc = abc + bc + ac = bc(a + 1) + ac = bc + ac Na podstawie tablicy decyzyjnej dla obiektu X 4 ustalamy wartości atrybutów: 1. a = 1&c = 0 2. b = 1&c = 0 W podobny sposób można obliczyć z macierzy nierozróżnialności reguły dla pozostałych obiektów w tablicy decyzyjnej.
Tablica: Tablica decyzyjna a b c d Dec X 1 0 0 0 0 0 X 2 0 0 1 1 0 X 3 1 1 1 0 0 X 4 1 1 2 0 0 X 5 0 1 0 1 1 X 6 1 1 0 2 1 X 7 0 1 1 2 2 X 8 1 0 1 0 2
Wylicz rdzeń i redukty. Wylicz reguły minimalne. Tablica: Tablica decyzyjna Atrybut Obiekt 0 1 2 3 4 1 0 0 1 1 Y 2 1 1 1 1 Y 3 1 0 0 0 N 4 1 0 0 1 Y 5 0 0 1 0 Y 6 0 1 1 0 N 7 0 0 1 0 N
Wylicz redukty i rdzeń. Tablica: Tablica decyzyjna Atrybut Obiekt a b c d e 1 0 0 0 0 0 2 0 0 1 1 0 3 1 1 1 0 0 4 1 1 2 0 0 5 0 1 0 1 1 6 1 1 0 2 1 7 0 1 1 2 2 8 1 0 1 0 2
Wylicz redukty i rdzeń. Tablica: Tablica decyzyjna Obiekt a b c d e f 1 3 3 2 2 2 4 2 3 2 2 2 2 4 3 3 2 2 1 2 4 4 2 2 2 1 1 4 5 2 2 2 2 1 4 6 3 2 2 3 2 3 7 3 3 2 3 2 3 8 4 3 2 3 2 3 9 4 3 3 3 2 2