ZPT Synteza logiczna w eksploracji danych jest dynamicznie rozwijającą się dziedziną informatyki o coraz szerszych zastosowaniach niemal w każdej dziedzinie.

Slides:



Advertisements
Podobne prezentacje
Excel Narzędzia do analizy regresji
Advertisements

Data Mining w e-commerce
PODZIAŁ STATYSTYKI STATYSTYKA STATYSTYKA MATEMATYCZNA STATYSTYKA
Minimalizacja formuł Boolowskich
Teoria układów logicznych
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Informacji Geograficznej
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Eksploracja danych “Drążymy informację ale zbieramy wiedzę” - słowa Johna Naisbett’a, motto z książki “Advances in knowledge discovery and data mining”
Badania operacyjne. Wykład 2
Michał Łasiński Paweł Witkowski
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
CLUSTERING Metody grupowania danych Plan wykładu Wprowadzenie Dziedziny zastosowania Co to jest problem klastrowania? Problem wyszukiwania optymalnych.
ZBIORY PRZYBLIŻONE.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
Algorytmy generowania reguł decyzyjnych
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
Co to jest studium przypadku?
Wykład 7 Wojciech Pieprzyca
Układy logiczne kombinacyjne sekwencyjne
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Klasyfikacja Obcinanie drzewa Naiwny klasyfikator Bayes’a kNN
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
Jak usprawnić obliczanie MKZ?
O relacjach i algorytmach
Podstawy układów logicznych
Technologia informacyjna
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Synteza logiczna w eksploracji danych
Minimalizacja funkcji boolowskich
Eksploracja danych (Data mining)
Wybrane zagadnienia relacyjnych baz danych
Podstawowe informacje o maturze dla gimnazjalistów.
Algebra Przestrzenie liniowe.
VII EKSPLORACJA DANYCH
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
Podstawy Techniki Cyfrowej
METODY PODEJMOWANIA DECYZJI
Model obiektowy bazy danych
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Grafika i komunikacja człowieka z komputerem
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Zagadnienie własne Macierz wektorów własnych V=(v1,v2,...,vn) przekształca zatem macierz A do postaci diagonalnej: W większości zastosowań w chemii i fizyce.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Dane – informacje - wiadomości Kodowanie danych i problem nadmiarowości.
I T P W ZPT 1. I T P W ZPT 2 Synteza logicznaInżynieria informacji Dekompozycja funkcjonalna Odwzorowanie technologiczne FPGA Hierarchiczne podejmowanie.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Podstawy automatyki I Wykład 1b /2016
1. Adres względny 2. Adres bezwzględny 3. Adres mieszany.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Temat: Tworzenie bazy danych
I T P W ZPT 1 Jak usprawnić obliczanie MKZ? W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych Znamy metodę wg par.
Weed Wizualna eksploracja danych Visual Data Mining Rafał Fabiański Michał Krysiński Marcin Mielnicki Tomasz Płuciennik.
Rozpatrzmy następujące zadanie programowania liniowego:
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Systemy neuronowo – rozmyte
Synteza logiczna w projektowaniu układów cyfrowych
Synteza logiczna w eksploracji danych
Aktualne problemy syntezy logicznej
Tadeusz Łuba Faculty of Electronics and Information Technology
Metoda klasyczna (wg książki Sasao)
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Metody syntezy logicznej w zadaniach pozyskiwania wiedzy
Wstęp do Informatyki - Wykład 6
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Zapis prezentacji:

ZPT Synteza logiczna w eksploracji danych jest dynamicznie rozwijającą się dziedziną informatyki o coraz szerszych zastosowaniach niemal w każdej dziedzinie życia medycynie marketingu farmakologii bankowości do wykrywania anomalii w sieciach tkm 1 Eksploracja danych (Data mining)

ZPT 2 Zastosowania

ZPT Literatura (łatwiej dostępna) 3 LERS J. Grzymała-Busse, LERS – a Data Mining System, in Data Mining and Knowledge Discovery Handbook, 2005, VIII, , DOI: / X_65Data Mining and Knowledge Discovery Handbook

ZPT 4 Potrafi zdiagnozować pacjenta Potrafi zdiagnozować pacjenta Potrafi podjąć decyzję o przyznaniu kredytu klientowi banku Potrafi podjąć decyzję o przyznaniu kredytu klientowi banku Potrafi wykryć anomalie w sieci Potrafi wykryć anomalie w sieci Potrafi przeprowadzić sondaż Potrafi przeprowadzić sondaż Eksploracja danych…. Nazywa się również odkrywaniem wiedzy w bazach danych (ang. knowledge discovery in databases). Eksploracja danych Przez eksplorację danych rozumie się proces automatycznego odkrywania znaczących i dotychczas nieznanych informacji z dużych baz danych, czyli informacji ujawniających ukrytą wiedzę o badanym przedmiocie.

ZPT Pozyskiwanie wiedzy z baz danych Redukcji atrybutów Uogólnianiu reguł decyzyjnych i wielu innych procedurach… na abstrakcyjnym poziomie algorytmów polega na 5 Jaki jest związek tych algorytmów z algorytmami syntezy logicznej?

ZPT 6 Synteza logiczna Eksploracja danych  Redukcja argumentów  Redukcja atrybutów  Indukcja reguł decyzyjnych  Hierarchiczne podejmowanie decyzji Eksploracja danych a synteza logiczna Są to algorytmy przetwarzające ogromne bazy danych…  Minimalizacja funkcji boolowskich  Dekompozycja funkcjonalna

ZPT Komputerowe systemy eksploracji danych 7 Rough Set Toolkit for Analysis of Data: Biomedical Centre (BMC), Uppsala, Sweden. ROSETTA

ZPT WEKA, ROSE University of Waikato, Hamilton, New Zealand Preprocess - wczytanie i wstępne przetwarzanie danych, Classify-klasyfikacja danych, Cluster - klasteryzacja, inaczej analiza skupień, Associate - indukcja reguł asocjacyjnych, Select attributes — selekcja cech znaczących, Visualize - wizualizacja danych.

ZPT 9 Znaczenie eksploracji danych abde Klasyfikacja (Decyzja) W tablicach takich obiekty reprezentowane w poszczególnych wierszach opisywane są wartościami atrybutów a, b, d. Jednocześnie obiekty są klasyfikowane, kolumna e. ObiektyObiekty Wiele rzeczywistych zjawisk opisuje się tablicami danych

ZPT 10 Tablice i reguły decyzyjne U1: (a,1)  (b,0)  (d,1) (e,1) U5: (a,1)  (b,1)  (d,2) (e,2) abde redukcja atrybutów Indukcja (generacja) reguł decyzyjnych Tablice takie można również reprezentować za pomocą wyrażeń logicznych zwanych regułami decyzyjnymi:

ZPT 11 Uogólnianie reguł Metoda uogólniania reguł decyzyjnych: Tworzy się macierz porównań M, Wyznacza minimalne pokrycie M, Atrybutami reguły minimalnej są atrybuty należące do minimalnego pokrycia M. Wyrażenia takie można „upraszczać” za pomocą metod stosowanych w syntezie logicznej. Np. metodą analogiczną do ekspansji można uogólniać (minimalizować) reguły decyzyjne.

ZPT 12 Przykład generacji reguł Uabcde Tablica decyzyjna abcde 10––1 0–––0 –1–10 –––22 Tablica reguł minimalnych

ZPT 13 Przykład: uogólniamy U 1 Uabcde Macierz M powstaje przez porównanie obiektów: (u 1, u 3 ), (u 1, u 4 ),..., (u 1, u 7 ). Wynikiem porównania są wiersze M. Dla takich samych wartości atrybutów odpowiedni m=0, dla różnych m= dcba M 

ZPT 14 Przykład: uogólniamy U 1 Minimalne pokrycia są: {a,b} oraz {b,d}, dcba M  a, b, c, d a, b, d b, d b a, d Wyznaczone na ich podstawie minimalne reguły: (a,1) & (b,0)  (e,1) (b,0) & (d,1)  (e,1) Uabcde Uabcde

ZPT 15 Przykład uogólniania reguł cd. Uabcde Po uogólnieniu obiektu u 1  u 2. u 2 można usunąć Uabcde

ZPT 16 Przykład uogólniania reguł c.d. Uabcde (a,0)  (e,0) (b,1) & (d,1)  (e,0) Dla obiektu u3Dla obiektu u4 Niestety po uogólnieniu ani u 3 nie pokrywa u 4, ani u 4 nie pokrywa u 3

ZPT 17 Przykład uogólniania reguł c.d. Uabcde (d,2)  (e,2) Dla obiektu u5 u 6, u 7

ZPT 18 Reguły minimalne abcde 10––1 0–––0 –1–10 –––22 (a,1) & (b,0)  (e,1) (a,0)  (e,0) (b,1) & (d,1)  (e,0) (d,2)  (e,2) (a,1) & (b,0)  (e,1) (a,0)  (b,1) & (d,1)  (e,0) (d,2)  (e,2) w innym zapisie: Uogólnione reguły decyzyjne:

ZPT 19 Interpretacja reguł uogólnionych Uabcde Pierwotna tablica decyzyjna: zapisane są w niej dane zebrane do tej pory i już sklasyfikowane abcde 10––1 0–––0 –1–10 –––22 Takie metody stosuje się w przypadkach, gdy dysponuje się zbiorem obiektów, których przynależność do odpowiedniej klasy jest znana, a celem jest klasyfikacja nowych danych. a=1,b=1, c=1, d= 1 Na uogólnionych regułach jest to oczywiste! Ale pojawia się nowy zestaw danych Jaka decyzja? e = 0

ZPT 20 Predykcja decyzji (a1=2)&(a2=1)&(a3=2)&(a4=3)&(a5=1)&(a6=2) a1a1 a2a2 a3a3 a4a4 a5a5 a6a6 d ? Nieznana wartość decyzji Potrafimy sklasyfikować nowe dane (a1=2)&(a3=1)&(a5=1)&(a2=2)&(a6=1)=>(d=1) (a6=2)&(a1=2)&(a2=1)=>(d=1) (a1=3)&(a2=3)&(a3=2)&(a4=2)=>(d=1) (a1=2)&(a3=1)&(a2=2)&(a4=1)&(a5=1)&(a6=2)=>(d=0) (a2=3)&(a3=2)&(a1=3)&(a4=3)=>(d=0) (a4=4)&(a5=3)&(a6=1)&(a1=2)=>(d=0) Reguły

ZPT 21 Sytuacja ta występuje np. przy wnioskach kredytowych składanych w bankach. Ponieważ część z nich jest akceptowana, a część odrzucana, można dane zebrane w dłuższym okresie czasu zapisać w tablicy decyzyjnej, uogólnić i dalej stosować w uproszczonej formie do podejmowania decyzji. Klientów charakteryzuje się za pomocą następujących cech jakościowych i ilościowych: - Sytuacja zawodowa: B (bezrobotny), P (pracujący) - przeznaczenie kredytu: komputer (K), sprzęt audio (A), biżuteria (B)… - wiek w latach - stan konta Zastosowania Przykładowo:

ZPT Przykładowa tablica danych... C1C2C3C4C5C6C7C8C9C10Klasa PKKSnie tak PKKSnie tak BKKR nie PSMRnie tak PSMSnie tak PSMRnie tak 22 Przeznaczenie: Komp., sam. wiekStan konta Staż pracy w danym zakładzie pracy Sytuacja zawodowa

ZPT 23 Zastosowania [wiek > 25] & [stan konta > 70] & [staż pracy > 2]  tak [płeć = kobieta] & [wiek < 25]  nie ……. Po uogólnieniu reguł decyzyjnych… LERS Proces uogólniania takich reguł to jedno głównych zagadnień Eksploracji Danych … Do wykonywania takich obliczeń opracowano wiele narzędzi komputerowych. Do najbardziej znanych należą: RSES, JMAF, WEKA, ROSETTA, LERS

ZPT 24 Redukcja atrybutów {a 1, a 4, a 6 }, {a 1, a 2, a 3, a 5, a 6 } a1a1 a2a2 a3a3 a4a4 a5a5 a6a6 d a1a1 a4a4 a6a6 d Poszukuje się takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty

ZPT 25 Redukcja atrybutów Jak obliczać minimalne zbiory atrybutów? Tak samo jak minimalne zbiory argumentów Metoda obliczania reduktów: Obliczyć:  atrybuty niezbędne,  iloczyn podziałów indukowanych atrybutami niezbędnymi (P N ),  podział ilorazowy P N |P D (podział ilorazowy wskazuje na wszystkie pary obiektów, których porównanie utworzy tablicę porównań)  z tablicy porównań utworzyć funkcje wyróżniającą (typu CNF)  przekształcić CNF na DNF DNF reprezentuje wszystkie redukty!

ZPT 26 Przykład redukcji atrybutów a4a a5a da6a6 a3a3 a2a2 a1a1 ponieważ wiersze 6 i 10 różnią się na pozycji a 1 a1a1 skoro wiersze 2 i 8 różnią się na pozycji a 6 atrybuty niezbędne: a6a6

ZPT 27 Przykład redukcji atrybutów a4a a5a da6a6 a3a3 a2a2 a1a1

ZPT 28 Przykład redukcji atrybutów a4a a5a da6a6 a3a3 a2a2 a1a1 a 2, a 4, a 5 1,9 2,9 4,5 4,8 3,7 (a 4 + a 2 ) (a 4 + a 3 ) (a 4 + a 5 ) a 2, a 3, a 4, a 5 a 3, a 4 a 2, a 4 a 4, a 5 {a 1, a 4, a 6 } {a 1, a 2, a 3, a 5, a 6 } Wyrażenie CNF DNF = a 4 + a 2 a 3 a 5 Redukty:

ZPT Plik danych RSES TABLE EXPLOR ATTRIBUTES 7 x1 numeric 0 x2 numeric 0 x3 numeric 0 x4 numeric 0 x5 numeric 0 x6 numeric 0 x7 numeric 0 OBJECTS REDUCTS (2) { x1, x4, x6 } { x1, x2, x3, x5, x6 }

ZPT 30 Przykładowa baza (tablica) danych Pacjenci Badanie 1 Badanie 2 Badanie 3 Badanie 4 Badanie 5 Badanie 6 Badanie 7 Badanie 8 Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 Wyniki badań i diagnozy 7 pacjentów Wyniki badań i symptomy choroby zapisane są symbolicznymi wartościami atrybutów Reguły decyzyjne (Bad_1=1)&(Bad_2=1)…&(Bad_5=1)…&(Bad_8=0)=>(Diagnoza=D3)

ZPT 31 Pacjenci Badanie 1 Badanie 2 Badanie 3 Badanie 4 Badanie 5 Badanie 6 Badanie 7 Badanie 8 Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 (Bad_2=1)&(Bad_4=1)=>(Diagnoza=D3) (Bad_4=1)&(Bad_7=0)=>(Diagnoza=D3) (Bad_1=0)&(Bad_3=1)&(Bad_6=0)=>(Diagnoza=D1) ( (Bad_3=1)&(Bad_5=0)&(Bad_6=0)=>(Diagnoza=D1) (Bad_2=0)=>(Diagnoza=D2) (Bad_1=0)&(Bad_4=1)&(Bad_6=0)&(Bad_8=0)=>(Diagnoza=D2) Reguły decyzyjne: Uogólnione reguły decyzyjne Reguły decyzyjne wygenerowane z pierwotnej bazy danych używane są do klasyfikowania nowych obiektów.

ZPT 32 Uogólnione reguły decyzyjne… (Bad_2=1)&(Bad_4=1)=>(Diagnoza=D3) (Bad_4=1)&(Bad_7=0)=>(Diagnoza=D3) (Bad_1=0)&(Bad_3=1)&(Bad_6=0)=>(Diagnoza=D1) (Bad_3=1)&(Bad_5=0)&(Bad_6=0)=>(Diagnoza=D1) (Bad_2=0)=>(Diagnoza=D2) (Bad_1=0)&(Bad_4=1)&(Bad_6=0)&(Bad_8=0)=>(Diagnoza=D2) …mogą być zastosowane do zdiagnozowania nowego pacjenta. Dla nowego pacjenta Diagnoza = D3 Bad1Bad2Bad3Bad4Bad5Bad6Bad7Bad8Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 Nowy pacjent ???

ZPT 33 Redukcja atrybutów Bad1Bad2Bad3Bad4Bad5Bad6Bad7Bad8Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 Bad1Bad6Bad7Bad8Diagnoza P11000D3 P20101D3 P31000D3 P40000D1 P50010D2 P60100D3 P70001D3 Poszukiwanie takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty { Bad_1 Bad_4 Bad_6 Bad_8 } { Bad_1 Bad_6 Bad_7 Bad_8 } { Bad_1 Bad_3 Bad_6 } { Bad_1 Bad_2 Bad_6 Bad_8 } (Tomograf)

ZPT 34 UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database Wymagania na przetwarzanie coraz większych baz danych rosną, natomiast metody i narzędzia eksploracji danych stają się coraz mniej skuteczne Rosnące wymagania

ZPT Breast Cancer Database:  Instancje (obiekty): 699 (dane poszczególnych pacjentów)  Liczba atrybutów: 10  Klasyfikacja (2 klasy) Sources: Dr. WIlliam H. Wolberg (physician); University of Wisconsin Hospital ;Madison; Wisconsin; USA 1.Ocena spoistości masy nowotworowej 2.Ocena jednolitości rozmiaru komórek 3.Ocena jednolitości kształtu komórek …. 9. Występowanie podziałów komórkowych (mitoza) 35 Diagnostyka raka piersi

ZPT Breast Cancer Database (fragment) IDa1a2a3a4a5a6a7a8a9a  36

ZPT RULE_SET breast_cancer RULES 35 (x9=1)&(x8=1)&(x2=1)&(x6=1)=>(x10=2) (x9=1)&(x2=1)&(x3=1)&(x6=1)=>(x10=2) (x9=1)&(x8=1)&(x4=1)&(x3=1)=>(x10=2) (x9=1)&(x4=1)&(x6=1)&(x5=2)=>(x10=2) ………………….. (x9=1)&(x6=10)&(x1=10)=>(x10=4) (x9=1)&(x6=10)&(x5=4)=>(x10=4) (x9=1)&(x6=10)&(x1=8)=>(x10=4) REDUCTS (27) { x1, x2, x3, x4, x6 } { x1, x2, x3, x5, x6 } { x2, x3, x4, x6, x7 } { x1, x3, x4, x6, x7 } { x1, x2, x4, x6, x7 } ……………. { x3, x4, x5, x6, x7, x8 } { x3, x4, x6, x7, x8, x9 } { x4, x5, x6, x7, x8, x9 }

ZPT Audiology Database  Number of instances: 200 training cases  Number of attributes: 71  Classification (24 classes) Sources: (a) Original Owner: Professor Jergen at Baylor College of Medicine (b) Donor: Bruce Porter Dermatology Database Number of Instances: 366 Number of attributes: 34 Classification (6 classes) Source Information: Nilsel Ilter, M.D., Ph.D., Gazi University, School of Medicine Ankara, Turkey Phone: +90 (312) Inne bazy danych z zakresu medycyny 38

ZPT 39 UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database Co jest przyczyną takiej sytuacji?

ZPT Przyczyna… Mało skuteczne algorytmy stosowane w komputerowych systemach eksploracji danych. Czy można je usprawnić??? Przykładem potwierdzającym tę tezę jest redukcja atrybutów, stosowana w RSES, ROSE, WEKA… 40

ZPT Inna metoda obliczania reduktów… Obliczanie reduktów można sprowadzić do obliczania uzupełnienia jednorodnej funkcji boolowskiej. Procedura ta (nazwana UNATE_COMPLEMENT) została opracowana jako fragment procedury COMPLEMENT programu Espresso. Klasyczną metodę można znacznie usprawnić wykorzystując stosowaną w syntezie logicznej procedurę uzupełniania funkcji boolowskiej. 41 Nigdy nie była stosowana do obliczania reduktów

ZPT Przykład – metoda klasyczna (x 3 + x 4 ) x 1 x 2 x 4 x 3 x 4 x 1 x 2 x 1 x 4 (x 1 + x 2 + x 4 )(x 1 + x 2 ) (x 1 + x 4 ) = = x 1 x 3 + x 2 x 4 +x 1 x 4 To są wszystkie minimalne pokrycia kolumnowe macierzy M M: Pokrycie kolumnowe (przypomnienie) 42

ZPT x3x4x1x2x3x4x1x M: 43 Przykład – metoda uzupełniania x 1 x 3 + x 2 x 4 +x 1 x 4 To samo co poprzednio!

ZPT Metoda obliczania reduktów… 44 jest równoważna obliczaniu Complementu (Uzupełnienia) funkcji boolowskiej, reprezentowanej Tablicą porównań lub wyrażeniem boolowskim w postaci CNF (Koniunkcyjna Postać Normalna). Istotą metody jest transformacja wyrażenia boolowskiego CNF na DNF (Dysjunkcyjna Postać Normalna), którą tradycyjnie obliczamy metodą przekształceń boolowskich.

ZPT Przykład 45 (K 1 + K 3 )(K 1 + K 5 )(K 2 + K 3 )(K 2 + K 5 ) (K 3 + K 4 ) = Wyrażenie DNF: K 3 K 5 + K 1 K 2 K 3 + K 1 K 2 K 4 DNF reprezentuje zbiory {K 3,K 5 }, {K 1,K 2,K 3 }, {K 1,K 2,K 4 } Zamieniamy na DNF Wyrażenie CNF (K 3 + K 1 ) (K 3 + K 2 ) (K 3 + K 4 ) (K 5 + K 1 ) (K 5 + K 2 ) = = (K 3 + K 1 K 2 K 4 ) (K 5 + K 1 K 2 ) = K 3 K 5 + K 1 K 2 K 3 + K 1 K 2 K 4 K 5 + K 1 K 2 K 4

ZPT Zastosowanie algorytmu uzupełniania Dla koniunkcyjnej postaci normalnej obliczonej w przykładzie: F = (K 1 + K 3 )(K 1 + K 5 )(K 2 + K 3 )(K 2 + K 5 ) (K 3 + K 4 ) reprezentacja funkcji F w postaci zbioru kostek jest następująca: F = {(1*1**), (1***1), (*11**), (*1**1), (**11*)}. Uzupełnienie funkcji F, obliczone procedurą Complement jest reprezentowane trzema Kostkami: {(00*0*), (000**),(**0*0)}. K4K5K1K2K3K4K5K1K2K Można to sprawdzić posługując się tablicą Karnaugha, reprezentującą uzupełnienie funkcji F: 46 {K 1,K 2,K 4 }, {K 1,K 2,K 3 }, {K 3,K 5 }

ZPT Sprytna procedura uzupełniania polega na iteracyjnym rozkładzie zbioru kostek macierzy M na kofaktory. Kofaktory te są obliczane tak długo, aż odpowiadające im zbiory kostek staną się „łatwe” do obliczenia ich uzupełnienia. Proces kończy „scalanie” wyników cząstkowych. Algorytm obliczania reduktów… 47 Oczywiście w praktyce nikt nie liczy uzupełnienia posługując się tablica Karnaugha Uzupełnienie oblicza się dla zero-jedynkowej macierzy M.

ZPT Rozkład  Tautologia D CAB

ZPT Scalanie DCAB = T  [ ] + [ ] = = [ ]  [ ] +  = [ ] = [ ]  [ ] +  = [ ] = [ ]  + [ ] =

ZPT Metoda Complement… 50 Pierwotnie była stosowana w systemie Espresso, ale wyłącznie do obliczania zbioru D (lub R) Espresso (Rozdział 6.5 )

ZPT 51 Funkcja KAZ.type fr.i 21.o 1.p end Przed redukcją Jedno z wielu rozwiązań p o redukcji argumentów Ile jest takich rozwiązań Redukcja argumentów/atrybutów Po redukcji

ZPT 52 Funkcja KAZ.type fr.i 21.o 1.p end Wszystkich rozwiązań: z minimalną i najmniejszą liczbą argumentów jest 35, z minimalną liczbą argumentów jest: 5574 Czas obliczeń RSES = 70 min. Czas obliczeń dla nowej metody= 234 ms. 18 tysięcy razy szybciej!

ZPT databaseattr.inst.RSES/ROSETTA compl. method reducts house172321s187ms4 breast-cancer -wisconsin s823ms27 KAZ223170min234ms5574 trains3310 out of memory (5h 38min) 6ms689 agaricus-lepiota -mushroom min4m 47s507 urology36500 out of memory (12h) 42s 741ms23437 audiology71200 out of memory (1h 17min) 14s 508ms37367 dermatology35366 out of memory (3h 27min) 3m 32s lung-cancer5732 out of memory (5h 20min) 111h 57m Eksperymenty Bezwzględna przewaga metody uzupełniania!

ZPT 54 Porównanie Espresso i RSES RSES.i 7.o 1.type fr.p e ESPRESSO TABLE extlbis ATTRIBUTES 8 x1 numeric 0 x2 numeric 0 x3 numeric 0 x4 numeric 0 x5 numeric 0 x6 numeric 0 x7 numeric 0 x8 numeric 0 OBJECTS (x1=1)&(x5=1)&(x6=1)&(x2=1)=>(x8=0) (x1=1)&(x2=0)&(x5=1)&(x3=0)&(x4=0)&(x6=0)=>(x8=0) (x4=0)&(x1=1)&(x2=0)&(x7=0)=>(x8=1) (x2=1)&(x4=0)&(x5=1)&(x6=0)=>(x8=1)

ZPT 55 … co uzyskamy stosując RSES do realizacji sprzętu RSES ESPRESSO

ZPT Podsumowanie Metody syntezy logicznej wypracowane dla potrzeb projektowania układów cyfrowych są skuteczne również w eksploracji danych Dają rewelacyjne wyniki Są proste w implementacji Są źródłem ciekawych prac dyplomowych 56

ZPT Są źródłem ciekawych prac dyplomowych 57 Konrad Królikowski Implementacja algorytmu obliczania reduktów metodą uzupełniania funkcji boolowskich, 2012 Michał Andrzej Mańkowski Uogólnianie reguł decyzyjnych metodą uzupełniania funkcji boolowskich, WEiTI 2014 Cezary Jankowski Dyskretyzacja danych numerycznych metodami przekształceń boolowskich, WEiTI 2014