13 Funkcje boolowskie, informatyka


4. Niech F2 oznacza zbiór wszystkich możliwych funkcji odwzorowujących zbiór X= {0,1} x {0,1} w zbiór {0,1}, czyli F2 ={0,1}{0,1}x{0,1} Nadto niech dla dowolnych f , g ∈ F2 określone będą działania boolowskie następująco: f '(x)=1-f(x),

dla x∈X;

f(x) ∨ g(x) = max (f(x), g(x)) dla x∈X;

f(x) g(x) = min (f(x) , g(x)) dla x∈X.

Rozważmy poniższą tabelę przedstawiającą elementy zbioru F2:

Nr

0x08 graphic
F2 F2 X

00

01

10

11

Uwagi

1

g

0

0

1

1

f1

2

h

0

1

0

0x08 graphic
1

Generatory algebry Boole'a

to są funkcje g i h

F2

3

g'

1

1

0

0

4

h'

1

0

1

0

5

g ∧ h

0

0

0

1

6

g ∧ h'

0

0

1

0

7

g'∧ h

0

1

0

0

8

g'∧ h'

1

0

0

0

9

α = g'∧ h ∨g∧h'

0

1

1

0

10

g ∨ h

0

1

1

1

11

g ∨ h'

1

0

1

1

12

g' ∨ h

1

1

0

1

13

g' ∨ h'

1

1

1

0

14

0=h ∧ h'

0

0

0

0

h∨h'=0 jest stałą „zero”

15

1=h ∨ h'

1

1

1

1

h∨h'=1 jest stałą „jeden”

16

(g'∧h∨ g∧h')'

1

0

0

1

1.Zbadać ,że (F2 , ∧ , ∨ , ' , 0 , 1) jest algebrą Boole'a w sensie formalnej definicji algebry Boole'a, którą będziemy ozna-

czać F2 .

2. Wykazać, że algebra Boole'a F2 jest generowana przez funkcje g i h wymienione w powyższej tabeli elementów zbioru F2 .

Wskazówka: Dla dowodu wystarczy wykazać, że każdy element algebry Boole'a F2 może być przedstawiony jako boolowska kombinacja tych dwóch jej generatorów .

Rozwiązać samodzielnie następujące zadania:

1.Podać interpretację graficzną ( na schematach Venna) algebry Boole'a F2.

2. Podać interpretację graficzną dla wyrażenia (wielomianu boolowskiego) B(g,h) określonego następująco:

B(g,h) = g ∧ h' ∨ g'∧ h dla g , h ∈ F2 .

Wsk: Oto interpretacja graficzna np. wyrażena B(g,h)= g ∨ h

0x08 graphic

Wielomian boolowski

Df: Wielomianem boolowskim nazywamy dowolne wyrażenie,

które można otrzymać rekurencyjnie przez zastosowanie działań boolowskich ∧ , ∨ , ` do pewnego zbioru symboli x1, x2 ,……, xn.

Stąd dowolny wielomian boolowski F(x1, x2 ,……,xn) określa

0x08 graphic
funkcję F: Bn B odwzorowującą zbiór Bn na dowolną

algebrę Boole'a B, której wartości mogą być obliczone przez wstawienie elementu z Bn do wielomianu. Przy czym do klu-

czowych pytań zaliczamy tutaj pytania:

Jakie są ”prawa tworzenia” zapisu wielomianów boolowskich? Jaki jest ten zbiór ”praw tworzenia” ?

Otóż ten zbiór ”praw tworzenia” daje nam postać kanoniczną Backusa wielomianu boolowskiego.

Przyjmijmy, że BOOLEPOLY przedstawia klasę wielomianów

boolowskich , wówczas używając postaci kanonicznej Backusa

możemy zapisać:

BOOLEPOLY :: = <litera> <BOOLEPOLY> <BOOLEPOLY> <BOOLEPOLY> <BOOLEPOLY> <BOOLEPOLY> '

UWAGA!

1. Powstaje tutaj problem redukcji wyrażeń języka symboli zdefiniowanego przez BOOLEPOLY, w szczególności skonstruowania algorytmu sprowadzającego każdy wielomian boolowski do postaci kanonicznej. Zadanie znalezienia takiej procedury nazywa się problemem słów.

2. Np. algebra Boole'a F2 i jej interpretacja graficzna sugerują,

że istnieje 16 nierównoważnych funkcji boolowskich dwóch zmiennych g i h; Zaś 256 różnych nierównoważnych funkcji boolowskich trzech zmiennych. Wyjaśnij dlaczego?

Funkcje boolowskie

Df: Funkcje dowolnej, skończonej liczby zmiennych dwójkowych, przyjmujące tylko wartości 0 lub 1 nazywają się funkcjami boolowskimi lub przełączającymi.

Stąd obszarem określoności funkcji boolowskiej n zmiennych jest zbiór wszystkich możliwych wektorów o n współrzędnych x1, x2 ,……, xn, przy czym xi ∈{0,1} dla i ∈ {1,2,…,n}.

Każdy taki wektor można utożsamić z odpowiednim n wyrazowym ciągiem o wartościach ze zbioru{0,1} , który z

kolei można utożsamić z kodem zero - jedynkowym oznacza-

jącym odpowiednią liczbę całkowitą nieujemną wyrażoną w układzie dwójkowym.

Np. wektor (0,0,0,0,0) oznacza liczbę 0; wektor(0,1,1,0,1) oznacza liczbę 13, bo: 0•24+1•23+1•22+0•21 +1•20= 13.

W celu naturalnego uporządkowania ( rosnąco) takich n wyrazowych kodów dwójkowych stosuje się tak zwaną

n wywymiarową tablicę kombinacji).

Np. dla n=3 , wówczas otrzymujemy V32= 23= 8 trzywyra-

zowych kodów dwójkowych.

n(10)

x1

x2

x3

0

0

0

0

1

0

0

1

2

3

4

5

6

7

1

1

1

Dla dużej liczby zmiennych dwójkowych przy przeliczaniu liczb w układzie dziesiętnym na liczby w układzie dwójkowym stosuje się specjalny algorytm!

Obecnie definiujemy pojęcia pomocnicze dla zarysowania rozwiązania problemu minimalizacji postaci funkcji boolowskiej.

0x08 graphic
Df. Iloczynem elementarnym nazywa się wyrażenie, które jest iloczynem dowolnego skończonego zbioru liter parami różnych, przy czym nad literami może być negacja. Litery mogą być indeksowane arytmetycznie.

0x08 graphic
0x08 graphic
Np. wyrażenia : a; uvy; abcde ; x1x2x3 są iloczynami elementarnymi, natomiast wyrażenia: aa, zkxk ,a1a2 nie są iloczynami elementarnymi.

Df. Alternatywną postacią normalną (APN) funkcji boolowskiej nazywa się skończoną sumę parami różnych iloczynów elementarnych.

Przyjmujemy bez dowodu twierdzenie:

Tw: Każdą funkcję boolowską można zapisać w APN.

Np: 0x01 graphic

Df. Iloczyn elementarny jest kanoniczny dla danego zbioru zmiennych boolowskich, gdy zawiera wszystkie zmienne tego zbioru w postaci zwykłej lub zanegowanej.

0x08 graphic
0x08 graphic
0x08 graphic
Oto przykłady takich iloczynów dla zbioru trzech zmiennych boolowskich: x1x2x3; x1x2x3; x1x2x3

Df. APN funkcji boolowskiej nazywa się kanoniczną alternatywną postacią normalną (KAPN), gdy składa się z kanonicznych iloczynów elementarnych dla tego samego zbioru zmiennych.

Stąd KAPN funkcji boolowskiej jest szczególnym przypadkiem jej APN.

Rozwiązać ćwiczenie:

0x08 graphic
0x08 graphic
Przedstawić funkcję boolowską f(x1x2x3) = x1x2+ x2x3 w kano-

nicznej alternatywnej postaci normalnej(KAPN).

Dla rozwiązania ćwiczenia należy wprowadzić brakujące zmienne tak, by wartość logiczna tej funkcji boolowskiej nie zmieniła się (pozostała taka sama).

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
f(x1,x2,x3)=x1x2 + x2x3 = x1x2·1 + 1x2x3 =

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
= x1x2 (x3+x3)+( x1+x1)x2x3= x1x2x3+x1x2x3 + x1x2x3+x1x2x3.

Wykorzystując tak zwany rozkład jedności można udowodnić twiedzenie:

Dowolna funkcja boolowska f(x1, x2 ,……,xn) ma dokładnie jedną KAPN.

Df: Wyrażenie postaci : 0x01 graphic
= 1 nazywa się rozkładem jedności n zmiennych boolowskich. W szczególności dla n=2

0x08 graphic
0x08 graphic
otrzymujemy: x1+x1=1 , x1+ x2=1.

Ogólnie : dla ustalonych n zmiennych otrzymuje się wyrażenie:

0x01 graphic
,przy czym prawa strona tej równości zawiera 2n składników.

Rozwiązanie problemu minimalizacji postaci funkcji boolowskiej realizuje się algorytmicznie (np. algorytmem Quine'a, algorytmem Mc Cluskeya). Sam proces minimalizacji funkcji boolowskiej służy do znalezienia najprostszej funkcji równoważnej danej funkcji boolowskiej. To znaczy takiej funkcji boolowskiej która może być zapisana za pomocą najmniejszej liczby liter i symboli logicznych: ∧ , ∨, ~ ;

Czyli działań boolowskich.

Algorytm opracowany przez Quine'a oparty jest na znajdowaniu implikantów pierwszych funkcji boolowskich,

które realizuje się w dwóch etapach:

1. poszukuje się wszystkich implikantów pierwszych danej funkcji;

2. tworzy się zredukowany system implikantów pierwszych, a następnie minimalną alternatywną postać normalną (MAPN)

funkcji boolowskiej.

Przy czym przez implikant pierwszy funkcji f(x1, x2 ,……, x n)

rozumie się każdy implikant tej funkcji, którego żadna część własna ( to jest iloczyn otrzymany przez usunięcie jednego lub

kilku czynników) nie jest implikantem. Zaś funkcja boolowska

g(x1, x2 ,……, x n) jest implikantem funkcji boolowskiej

f(x1, x2 ,……, x n), gdy dla każdego zbioru wartości zmiennych

x1, x2 ,……, x n, dla którego wartość g(x1, x2 ,……, x n) jest

równa 1, wartość f(x1, x2 ,……, x n) też jest równa 1.

Komentarz dydaktyczny

1. Przy stosowaniu algorytmu Quine'a, który realizuje rozwiązanie problemu minimalizacji funkcji boolowskiej, dla funkcji boolowskiej dużej liczby zmiennych pojawiaja się trudności związane ze sprawdzaniem a następnie przekształcaniem kanonicznej alternatywnej postaci normalnej (KAPN) tej funkcji. Wówczas w takim przypadku należy stosować algorytm Mc Cluskeya, gdyż występują tutaj kanoniczne wyrazy elementarne zapisane za pomocą liczb ,a nie ( jak poprzednio) literami.

2. W toku stosowania algorytmu Mc Cluskeya funkcje boolowskie określa się przez podanie w nawiasie zbioru numerów ich kanonicznych iloczynów elementarnych ,

np. f = ∑(5,9,11,12,13).

3.Dalsze szczegóły na temat zarysowanych tutaj pojęć (APN,

KAPN,SAPN,NAPN,HAPN) oraz algorytmów Quine'a i

Mc Cluskeya integralnie związanych z rozwiązaniem problemu minimalizacji postaci funkcji boolowskiej, z zastosowaniem zagadnień algebry Boole'a można znaleźć w skrypcie profesora Mariana Partyki, zobacz: M Partyka (1997):Zastosowanie zagadnień algebry Boole'a w strukturalizacji procesów decyzyjnych, Opole 1997

Wnioskowanie Boole'a

Obecnie na poniższym przykładzie zarysuję wnioskowanie Boole'a po uprzednim zdefiniowaniu niezbędnych w tym celu

pojęć.

Df: Parę=(U,A) zbiorów niepustych i skończonych nazywamy

0x08 graphic
systemem informacyjnym , w którym U jest uniwersum (zbiorem obiektów), zaś A={a: U Va } zbiorem atrybutów.

Rozważmy system informacyjny opisany poniższą tabelą 1:

U A

a1

a2

a3

d

u1

0

α

biały

tak

u2

0

α

żółty

tak

u3

1

β

biały

nie

u4

1

γ

żółty

nie

u5

0

α

biały

tak

Stąd otrzymujemy:

U={ u1,u2,u3,u4 ,u5};A={ a1,a2 ,a3 ,d};

0x08 graphic
0x08 graphic
a1: U {0,1}; a2: U { α, β, γ};

0x08 graphic
0x08 graphic
a3:U {biały, żółty}; a4: U {tak,nie}

Df: System informacyjny z wyróżnionym podzbiorem atrybutów nazywamy systemem decyzyjnym.

W systemie informacyjnym z tabeli 1 zbiorem atrybutów warunkowych jest zbiór { a1,a2,a3}, zaś zbiorem atrybutów decyzyjnych jest zbiór {d}.

Df: Niech S=(U,A) będzie systemem informacyjnym oraz

B 0x01 graphic
A. Relację IND(B) 0x01 graphic
U2 taką, że :

IND(B)={(u,v) U2 : 0x01 graphic
} nazywamy relacją niero-

zróżnialności.

Przykład zadania

Dla systemu informacyjnego opisanego powyższą tabelą 1 wyznaczyć wszystkie minimalne ( ze względu na relację inkluzji) podzbiory B zbioru atrybutów A, takie że:

IND(B)=IND(A).

Dla rozwiązania zadania rozważmy funkcję boolowską f postaci: f(a1*,a2*,a3*,d*)=a3*∧( a1*∨a2*∨d*)∧( a1*∨a2*∨a3*∨d*)∧

∧a3*∧ (a2*∨a3*)∧( a1*∨a2*∨d*)∧( a1*∨a2*∨a3*∨d*)= (a1*∧a3*)∨

∨ (a2*∧a3*)∨ (a3*∧d*).

Stąd rodzina zbiorów { {a1,a3}, {a2,a3}, {a1,d}}jest rozwiązaniem tego zadania.

Rozważana w tym zadaniu funkcja boolowska jest funkcją rozróżnialności w danym systemie informacyjnym.

Df : Funkcją rozróżnialności w danym systemie informacyjnym

S=(U,A) nazywamy funkcję boolowską postaci:

0x08 graphic
F(a1*,a2*,…., an*)={ a *uv: u,v U (u,v) IND(A)}, gdzie

n oznacza liczbę atrybutów , zaś a *uv jest alternatywą zmie-

nnych boolowskich odpowiadających tym atrybutom, które ro-

zróżniają obiekt u od obiektu v.

Warto dodać ,że ogólna strategia rozwiązywania zadań i pro-

blemów w oparciu o wnioskowanie Boole'a jest następująca:

1. Konstrukcja systemu informacyjnego, adekwatnego do ro-

związywanego zadania , bądź problemu.

2. Konstukcja funkcji rozróżnialności dla rozważanego systemu

informacyjnego ( opisanego w punkcie 1) i wyznaczenie jej

implikantów pierwszych.

3. Interpretacja otrzymanych implikantów pierwszych , które

prowadzą do rozwiązania zadania, bądź problemu.

Df. Regułą w systemie informacyjnym nazywamy każde wy-

rażenie postaci: PQ , gdzie P:( aij= vij),Q :( a ik= vik);

a ij , aikA; vijV aij , vik V aik , takie że dla dowolnego uU

zdanie : ( a ij(u)= vij) ( a ik(u)= v ik) jest prawdziwe.

Jeśli dla każdego takiego k : a ik jest atrybutem decyzyjnym, to tę regułę nazywamy regułą decyzyjną. Jeśli natomiast jakiekolwiek zredukowanie wyrażenia P powoduje, że wyrażenie P⇒Q przestaje być regułą w danym systemie informacyjnym, to taką regułę nazywamy minimalną regułą.

Przykład zadania

W systemie informacyjnym opisanym powyższą tabelą 1

znaleźć minimalne reguły.

Stosując wnioskowanie Boole'a otrzymujemy zbiór wszystkich minimalnych reguł. Dla tego systemu informacyjnego minimalnymi regułami i to regułami decyzyjnymi są następują-

ce reguły:

Reguła R1 : a1 = 1 ⇒ d = nie;

Reguła R2 : a2 = β ⇒ d = nie;

Reguła R3 : a3 = γ ⇒ d = nie;

Reguła R4 : a4 = 0 ⇒ d = tak;

Reguła R5 : a5 = d ⇒ d = tak.

0x08 graphic
0x01 graphic

4

g

gh h



Wyszukiwarka

Podobne podstrony:
03 Podstawowy funkcjonowania sieci informatycznejid 4248
AMI 13 1 Funkcje Granice i ci Nieznany (2)
Ściąga z PP 13.03.2008, INFORMATYKA
4 Funkcje boolowskie
Znaczenie badan funkcji w nauce o informacji
Zasady funkcjonowania systemu informowania kierownictwa, Dokumenty(2)
zasady funkcjonowania systemu informowania kierownictwa, Pomoce naukowe, studia, informatyka
13 FUNKCJE AUTORYTETU W NAUCE
W INZ 13, Polibudos, 1rok, informayka
13 funkcjonowanie przedsiębiorstw w warunkach oligopolu LHLEEP5EX6WBHICLACTTI7YMNEZ3JC6EEZIELRA
funkcje trygonometryczne, Informatyka, Technikum, OB
Zasady funkcjonowania systemu informowania kierownictwa
13.12, żródła informacji
informacje o budowie i funkcjonowaniu komputera, informacje o budowie i funkcjonowaniu komputera
AMI 13 Funkcje ciągłe
Zasady funkcjonowania giełdy, Informatyka, Pomoce naukowe
Funkcje 3 DRUKOWANIE, Informatyka

więcej podobnych podstron