Synteza logiczna w eksploracji danych

17
ZPT 1 Funkcja KAZ .type fr .i 21 .o 1 .p 31 100110010110011111101 1 111011111011110111100 1 001010101000111100000 1 001001101100110110001 1 100110010011011001101 1 100101100100110110011 1 001100100111010011011 1 001101100011011011001 1 110110010011001001101 1 100110110011010010011 1 110011011011010001100 1 010001010000001100111 0 100110101011111110100 0 111001111011110011000 0 101101011100010111100 0 110110000001010100000 0 110110110111100010111 0 110000100011110010001 0 001001000101111101101 0 100100011111100110110 0 100011000110011011110 0 110101000110101100001 0 110110001101101100111 0 010000111001000000001 0 001001100101111110000 0 100100111111001110010 0 000010001110001101101 0 101000010100001110000 0 101000110101010011111 0 101010000001100011001 0 011100111110111101111 0 .end Czas obliczeń RSES ok. 1godz Czas obliczeń metody z zastosowanym algorytmem uzupełnienia = 234 ms. Kilkanaście tysięcy razy szybciej! Algorytm uzupełnienia (Complement)

description

Eksploracja danych (Data mining). jest dynamicznie rozwijającą się dziedziną informatyki o coraz szerszych zastosowaniach niemal w każdej dziedzinie życia. Synteza logiczna w eksploracji danych. • telekomunikacji • inżynierii biomedycznej • marketingu • farmakologii • bankowości. - PowerPoint PPT Presentation

Transcript of Synteza logiczna w eksploracji danych

Page 1: Synteza logiczna w eksploracji danych

ZPT1

Funkcja KAZ.type fr.i 21.o 1.p 31100110010110011111101 1111011111011110111100 1001010101000111100000 1001001101100110110001 1100110010011011001101 1100101100100110110011 1001100100111010011011 1001101100011011011001 1110110010011001001101 1100110110011010010011 1110011011011010001100 1010001010000001100111 0100110101011111110100 0111001111011110011000 0101101011100010111100 0110110000001010100000 0110110110111100010111 0110000100011110010001 0001001000101111101101 0100100011111100110110 0100011000110011011110 0110101000110101100001 0110110001101101100111 0010000111001000000001 0001001100101111110000 0100100111111001110010 0000010001110001101101 0101000010100001110000 0101000110101010011111 0101010000001100011001 0011100111110111101111 0.end

Czas obliczeń RSES ok. 1godz

Czas obliczeń metody z zastosowanym algorytmem uzupełnienia = 234 ms.

Kilkanaście tysięcy razy szybciej!

Algorytm uzupełnienia  (Complement)

Page 2: Synteza logiczna w eksploracji danych

ZPT

 databaseattr.

inst.

RSES/ROSETTAcompl. method

reducts

house 17 232 1s 187ms 4breast-cancer

-wisconsin10 699 2s 823ms 27

KAZ 22 31 70min 234ms 5574

trains 33 10out of memory

(5h 38min)6ms 689

agaricus-lepiota-mushroom

238124

29min 4m 47s 507

urology 36 500out of memory

(12h)42s

741ms23437

audiology 71 200out of memory

(1h 17min)14s

508ms37367

dermatology 35 366out of memory

(3h 27min)3m 32s 143093

lung-cancer 57 32out of memory

(5h 20min)111h 57m

3604887

2

Zastosowanie algorytmu Complement

Niesamowita skuteczność algorytmu uzupełnienia…

Page 3: Synteza logiczna w eksploracji danych

ZPT

Co oblicza algorytm uzupełnienia

F = {(1*1**), (1***1), (*11**), (*1**1), (**11*)}.

Uzupełnienie funkcji F można obliczyć

zakreślając pętelki wokół kratek nie

wypełnionych 1.

Uzupełnienie funkcji F jest reprezentowane

kostkami: {(00*0*), (000**),(**0*0)}.

3

x4x5

x1x2x300 01 11 10

000

001 1 1

011 1 1 1 1

010 1 1

110 1 1

111 1 1 1 1

101 1 1 1 1

100 1 1

Obliczanie uzupełnienia na tablicy Karnaugha nie ma sensu…

Page 4: Synteza logiczna w eksploracji danych

ZPT

Algorytm uzupełnienia  (Complement)

Expand

Essentia l prim es

Irredundant-C over

Reduce

Last-gasp

F,D

FM

Com plem ent

…dla funkcji o dużej liczbie zmiennych po raz pierwszy został zaproponowany w Espresso,

Ale w Espresso Complement

spełnia wyłącznie pomocniczą rolę

Page 5: Synteza logiczna w eksploracji danych

ZPT

f =  x f x fj x j j x j

f x f x fj x j j x j

5

Algorytm uzupełnienia  (Complement)

Sprytna procedura uzupełniania polega na iteracyjnym rozkładzie zbioru kostek reprezentującego funkcję f 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.

Page 6: Synteza logiczna w eksploracji danych

ZPT

Complement funkcji jednorodnej

Szczególnie prosto oblicza się uzupełnienie funkcji jednorodnej.

10

1

010

=F

Kostki funkcji jednorodnej reprezentuje się binarnie.

M=

1 1

0 0

1 0

0 1

1 0

1 0

Uzupełnienie oblicza się dla macierzy M.6

F x F Fj x j x j F = xj  F0 + F1

Page 7: Synteza logiczna w eksploracji danych

ZPT

Rozkład macierzy M

Wybór zmiennej:

1)Wybieramy kostkę (wiersz macierzy M) z największą liczbą zer.

2) W wybranej kostce wybieramy zmienne, które mają jedynkę w tej kostce.

3) Spośród wybranych w punkcie 2) zmiennych wybieramy tę, która ma najwięcej jedynek w swojej kolumnie.

7

Page 8: Synteza logiczna w eksploracji danych

ZPT

Kofaktory macierzy M oblicza się według następującego schematu:

Kofaktor jedynkowy macierzy M względem zmiennej xj  otrzymujemy przez ustawienie wszystkich pozycji j-tej kolumny macierzy M na zera.

Kofaktor zerowy macierzy M względem zmiennej xj otrzymujemy przez wypisanie z M tych kostek (wierszy), w których zmienna xj  przyjmuje wartość zero.

Rozkład macierzy M

8

Obliczanie kofaktorów:

Page 9: Synteza logiczna w eksploracji danych

ZPT

Podstawą uzupełnienia funkcji jednorodnej jest rozszczepianie macierzy M na podzbiory kostek, których uzupełnienie łatwo można obliczyć.

1)Jeżeli kofaktor zawiera tylko jedną kostkę, jego uzupełnienie oblicza się wg prawa De Morgana.

2) Jeżeli kofaktor zawiera kostkę (wiersz) samych 0, jego uzupełnienie jest zbiorem pustym.

3) Jeżeli kofaktor jest zbiorem pustym, jego uzupełnienie jest Tautologią.

Complement kofaktorów

9

Page 10: Synteza logiczna w eksploracji danych

ZPT

F = xj  F0 + F1  Znaczy to, że jeżeli otrzymany kofaktor był zerowy (ozn. F0), to jego Complement mnożymy przez odpowiednie xj i dodajemy do Complementu kofaktora jedynkowego.

Scalanie uzupełnionych kofaktorów

10

Page 11: Synteza logiczna w eksploracji danych

ZPT 11

Przykład EXTL

(x1 + x2)

= (x2 +x1)(x2 + x3)(x2 + x7)(x3 + x5 + x7) =

{x2,x3,x4,x6} {x2,x4,x5,x6} {x2,x4,x6,x7}

{x4,x6}

(x3 + x5 + x7) (x2 + x3) (x2 + x7) =

=(x2 +x1x3x7) (x3 + x5 + x7) =

= x2x3 + x2x5 +x2x7 + x1x3x7

{x1,x3,x4,x6,x7}

.type fr

.i 7

.o 1

.p 91000101 01011110 01101110 01110111 00100101 11000110 11010000 11010110 11110101 1.e

1100000 0010101 0110000 0100001

Zredukowana macierz porównań

Page 12: Synteza logiczna w eksploracji danych

ZPT

ROZKŁAD

1000010

0000110

1010100

0000011 7 6 5 4 3 2 1

1000101

1000010

0010010

0000110

C

7 6 5 4 3 2 1

1000100C

1000101C

1000000

0000100

1010100

00000001x

1010100

2x

1000000

0000100

10101001x

0000000

0000100

00101007x

00001007xC

1000000

0000100

1010100

0000001

2x

1000000

0010000

0000100

C

12

CC

Page 13: Synteza logiczna w eksploracji danych

ZPT

SCALANIE

C(x7) = x7 [0010000]+ = [0010001]

C(x1) = x1 [0010001]+ = [1010001]

C(x2) = x2 + [1010001] =

1000000

0010000

0000100

1000101

1000010

0010010

0000110 7 6 5 4 3 2 1

Minimalne pokrycia:x2, x3, x2, x5, x2, x7, x1, x3, x7

Redukty:

+ x4, x6

13

Dokładnie tak samo jak w metodzie klasycznej!

Page 14: Synteza logiczna w eksploracji danych

ZPT

.type fr

.i 7

.o 1

.p 91000101 01011110 01101110 01110111 00100101 11000110 11010000 11010110 11110101 1.e

.i 7

.o 1

.p 611----- 1--1-1-1 1-11---- 1-1----1 1---1--- 1-----1- 1.end

Interpretacja dla funkcji boolowskiej

14

reprezentuje funkcję boolowską

1100000 0010101 0110000 0100001

Zredukowana macierz porównań

Page 15: Synteza logiczna w eksploracji danych

ZPT 15

Do obliczenia uzupełnienia zastosujmy…

Expand

Essentia l prim es

Irredundant-C over

Reduce

Last-gasp

F,D

FM

Com plem ent

ESPRESSO

.i 7

.o 1

.p 611----- 1--1-1-1 1-11---- 1-1----1 1---1--- 1-----1- 1.end

.i 7

.o 1

.p 40-00-00 0-000-0- 0-0-000- 0-0-0-00 0.end

Espresso {x1,x3,x4,x6,x7}

{x2,x3,x4,x6}

{x2,x4,x5,x6}

{x2,x4,x6,x7}

Page 16: Synteza logiczna w eksploracji danych

ZPT

Wnioski

Metoda jest skuteczna Daje rewelacyjne wyniki Prosta do implementacji

16

Jest źródłem ciekawych prac dyplomowych

Page 17: Synteza logiczna w eksploracji danych

ZPT

Konkurs

KOMPUTEROWE NARZĘDZIA SYNTEZY LOGICZNEJPrace dyplomowe Błyskawica (ZIP - 364 kB) Espresso Pandor Proton (ZIP - 2 947 kB) Espresso 64 (ZIP - 159 kB) instantRS (ZIP - 5 097 kB) Hummingbird (EXE - 131 kB) Rough Set Exploration System (ZIP - 3 260 kB) Downloading Rough Set Exploration System GENERATOR (EXE - 62 kB) kazmin1.tab kazmin2.tab