(Microsoft PowerPoint - ULOG16c.pps [tryb zgodno\234ci])

Transkrypt

(Microsoft PowerPoint - ULOG16c.pps [tryb zgodno\234ci])
Algorytm uzupełnienia (Complement)
.type fr
.i 21
Funkcja KAZ
.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
ZPT
Czas obliczeń RSES ok. 1godz
Czas obliczeń metody z
zastosowanym algorytmem
uzupełnienia = 234 ms.
Kilkanaście tysięcy razy
szybciej!
1
Zastosowanie algorytmu Complement
database
attr. inst.
RSES/ROSETTA
house
breast-cancer
-wisconsin
KAZ
17 232
1s
compl.
method
187ms
10 699
2s
823ms
27
70min
out of memory
(5h 38min)
234ms
5574
6ms
689
29min
4m 47s
507
42s 741ms
23437
14s 508ms
37367
3m 32s
143093
111h 57m
3604887
trains
22
31
33
10
agaricus-lepiota
-mushroom
23 8124
urology
36 500
audiology
71 200
dermatology
35 366
lung-cancer
57
32
out of memory
(12h)
out of memory
(1h 17min)
out of memory
(3h 27min)
out of memory
(5h 20min)
reducts
4
Niesamowita skuteczność algorytmu
uzupełnienia:
ZPT
2
Co oblicza algorytm uzupełnienia
x4x5
00 01 11 10
x1x2x3
F = {(1*1**), (1***1), (*11**), (*1**1), (**11*)}.
000
001
1
1
1
1
1
010
1
1
110
1
1
1
1
011
111
101
100
ZPT
1
1
1
1
1
1
1
Uzupełnienie funkcji F można obliczyć
zakreślając pętelki wokół kratek nie
wypełnionych 1.
1
1
Uzupełnienie funkcji F jest reprezentowane
kostkami: {(00*0*), (000**),(**0*0)}.
Obliczanie uzupełnienia na tablicy Karnaugha nie
ma sensu8
3
Algorytm uzupełnienia (Complement)
8dla funkcji o dużej liczbie zmiennych po raz
pierwszy został zaproponowany w Espresso,
F,D
Complement
Expand
Ale w Espresso Complement
spełnia wyłącznie pomocniczą rolę
Essential primes
Irredundant-Cover
Reduce
FM
Last-gasp
ZPT
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.
f = x j fxj + x j fxj
f = x j fxj + x j fxj
Proces kończy „scalanie” wyników cząstkowych.
ZPT
5
Complement funkcji jednorodnej
Szczególnie prosto oblicza się uzupełnienie funkcji
jednorodnej.
F = x j Fx j + Fx j
F = x j ⋅ F0 + F1
Kostki funkcji jednorodnej reprezentuje się binarnie.
0 1 ∗ 0
F = ∗ ∗ 1 ∗


0 ∗ 1 ∗
1 1 0 1 
M = 0 0 1 0 
1 0 1 0 
Uzupełnienie oblicza się dla macierzy M.
ZPT
6
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.
ZPT
7
Rozkład macierzy M
Obliczanie kofaktorów:
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.
ZPT
8
Complement kofaktorów
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ą.
ZPT
9
Scalanie uzupełnionych kofaktorów
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.
ZPT
10
.type fr
.i 7
.o 1
.p 9
1000101 0
1011110 0
1101110 0
1110111 0
0100101 1
1000110 1
1010000 1
1010110 1
1110101 1
.e
Przykład EXTL
Zredukowana
macierz porównań
1100000
0010101
0110000
0100001
(x1 + x2) (x3 + x5 + x7) (x2 + x3)(x2 + x7) =
= (x2 +x1)(x2 + x3)(x2 + x7)(x3 + x5 + x7) =
=(x2 +x1x3x7)(x3 + x5 + x7) =
= x2x3 + x2x5 +x2x7 + x1x3x7
∪ {x4,x6}
{x2,x3,x4,x6}
ZPT
{x2,x4,x5,x6}
{x2,x4,x6,x7}
{x1,x3,x4,x6,x7}
11
ROZKŁAD
1 2 3 4 5 6 7
1 0
0 0
0 0

0 0
C = [1 0
x1
0
0
0

0
0 0 0 0 0 0
0 1 0 1 0 1


0 0 0 0 0 1
0 1 0 0 0 0
C=Φ
 1 1 0 0 0 0 0


0 0 1 0 1 0 1


0 1 1 0 0 0 0


0 1 0 0 0 0 1
0 0 0 0 0
1 0 1 0 1

1 0 0 0 0

0 0 0 0 1
0 1 1 0 0 0 0


0 1 0 0 1 0 0
C=

0 1 0 0 0 0 1


1 0 1 0 0 0 1
x2
x2
1 0 0 0 1]
x1
[0
0 1 0 1 0 1]
0 0 1 0 0 0 0
C = 0 0 0 0 1 0 0
0 0 0 0 0 0 1


0 0 1 0 1 0 1


0 0 1 0 0 0 0


0 0 0 0 0 0 1
C=[0 0 1 0 0 0 1]
C=Φ
x7
0 0 1 0 1 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0


ZPT
1 2 3 4 5 6 7
x7
[0
0 1 0 0 0 0]
=C
12
SCALANIE
C(x7) = x7 [0010000]+ Φ = [0010001]
C(x1) = x1 [0010001]+ Φ = [1010001]
1 2 3 4 5 6 7
C(x2) =
0

x2 0

0

0 1 0 0 0 0
0 0 0 1 0 0 + [1010001] =

0 0 0 0 0 1
Minimalne pokrycia:
x2, x3,
x2, x5,
x2, x7,
x1, x3, x7
ZPT
Redukty:
+ x4, x6
0 1 1 0


0 1 0 0

0 1 0 0

1 0 1 0

0 0 0
1 0 0

0 0 1

0 0 1
Dokładnie tak samo jak
w metodzie klasycznej!
13
Interpretacja dla funkcji boolowskiej
.type fr
.i 7
.o 1
.p 9
1000101 0
1011110 0
1101110 0
1110111 0
0100101 1
1000110 1
1010000 1
1010110 1
1110101 1
.e
Zredukowana
macierz porównań
1100000
0010101
0110000
0100001
.i 7
.o 1
.p 6
11------1-1-1
-11----1----1
---1-------1.end
1
1
1
1
1
1
reprezentuje funkcję
boolowską
ZPT
14
Do obliczenia uzupełnienia zastosujmy:
Espresso
F,D
.i 7
.o 1
.p 6
11------1-1-1
-11----1----1
---1-------1.end
ZPT
{x1,x3,x4,x6,x7}
Complement
{x2,x3,x4,x6}
Expand
1
1
1
1
1
1
{x2,x4,x5,x6}
Essential primes
{x2,x4,x6,x7}
Irredundant-Cover
ESPRESSO
Reduce
FM
Last-gasp
.i 7
.o 1
.p 4
0-00-00
-000-0-0-000-0-0-00
.end
15
0
0
0
0
Wnioski
Metoda jest skuteczna
Daje rewelacyjne wyniki
Prosta do implementacji
Jest źródłem ciekawych prac
dyplomowych
ZPT
16
Konkurs
KOMPUTEROWE NARZĘDZIA SYNTEZY LOGICZNEJ
Prace 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
ZPT

Podobne dokumenty