Systemy ekspertowe : Tablice decyzyjne

Podobne dokumenty
1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje. Definicja 1 Funkcję postaci f. nazwiemy n-argumentową funkcją boolowską.

Systemy uczące się wykład 2

Systemy ekspertowe. Eksploracja danych z wykorzystaniem tablic decyzyjnych i zbiorów przybliżonych. Część trzecia

System informacyjny a system decyzyjny Relacja nierozróżnialności Klasy abstrakcji Teoria zbiorów przybliżonych Usuwanie niespójności z tablicy

Systemy ekspertowe. Generowanie reguł minimalnych. Część czwarta. Autor Roman Simiński.

System informacyjny a system decyzyjny Relacja nierozróżnialności Klasy abstrakcji Teoria zbiorów przybliżonych Usuwanie niespójności z tablicy

WSPOMAGANIE DECYZJI - MIŁOSZ KADZIŃSKI LAB IV ZBIORY PRZYBLIŻONE I ODKRYWANIE REGUŁ DECYZYJNYCH

Sztuczna Inteligencja Projekt

Teoretyczne podstawy zbiorów przybliżonych

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

Wprowadzenie do zbiorów przybliżonych

Odkrywanie wiedzy z danych przy użyciu zbiorów przybliżonych. Wykład 3

Zbiory przybliżone, cz. 1 (wersja do druku) dr. Piotr Szczuko

Sztuczna Inteligencja Projekt

Tablicowa reprezentacja danych

Sztuczna inteligencja

Zbiory przybliżone w obszarze systemów ekspertowych

Relacje. opracował Maciej Grzesiak. 17 października 2011

1 Macierze i wyznaczniki

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Wykład 5. Metoda eliminacji Gaussa

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Macierze. Rozdział Działania na macierzach

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Programowanie Współbieżne. Algorytmy

Rozwiązywanie układów równań liniowych

Analiza matematyczna i algebra liniowa Macierze

5. Rozwiązywanie układów równań liniowych

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

Zasada indukcji matematycznej

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Analiza matematyczna i algebra liniowa Macierze

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

Zasady transformacji modelu DOZ do projektu tabel bazy danych

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

Wprowadzenie i pojęcia wstępne.

Programowanie dynamiczne

Programowanie liniowe

Zastosowania wyznaczników

Chcąc wyróżnić jedno z działań, piszemy np. (, ) i mówimy, że działanie wprowadza w STRUKTURĘ ALGEBRAICZNĄ lub, że (, ) jest SYSTEMEM ALGEBRAICZNYM.

FUNKCJE. (odwzorowania) Funkcje 1

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Wykład 7 Macierze i wyznaczniki

Obliczenia iteracyjne

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

"Bieda przeczy matematyce; gdy się ją podzieli na więcej ludzi, nie staje się mniejsza." Gabriel Laub

Algebra WYKŁAD 3 ALGEBRA 1

Sztuczna inteligencja : Algorytm KNN

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

DB Algebra liniowa semestr zimowy 2018

Matematyczne Podstawy Informatyki

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Zaawansowane metody numeryczne

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Programowanie liniowe metoda sympleks

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

Treści programowe. Matematyka. Efekty kształcenia. Literatura. Terminy wykładów i ćwiczeń. Warunki zaliczenia. tnij.org/ktrabka

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2017

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

O MACIERZACH I UKŁADACH RÓWNAŃ

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

Algebra Boole a i jej zastosowania

Matematyka dyskretna. 1. Relacje

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Zaawansowane metody numeryczne

Sztuczna inteligencja : Zbiory rozmyte cz. III

3. Macierze i Układy Równań Liniowych

Zbiory, relacje i funkcje

Programowanie liniowe

Spacery losowe generowanie realizacji procesu losowego

Kolorowanie płaszczyzny, prostych i okręgów

1 Macierz odwrotna metoda operacji elementarnych

ZAGADNIENIE TRANSPORTOWE

Programowanie liniowe. Tadeusz Trzaskalik

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

6. Zagadnienie parkowania ciężarówki.

Programowanie liniowe metoda sympleks

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

13 Układy równań liniowych

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

ALGEBRA Z GEOMETRIĄ MACIERZE ODWZOROWAŃ LINIOWYCH

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

, A T = A + B = [a ij + b ij ].

Programowanie liniowe

Programowanie celowe #1

Transkrypt:

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