background image

I. LOGICZNE STRUKTURY DRZEWIASTE 

background image

Analizując dany problem uzyskuje się zadanie projektowe w postaci pewnego

zbioru danych. Metoda morfologiczna, kt

ó

ra została opracowana w latach 1938-1948

przez amerykańskiego astrofizyka F. Zwicky

ego [1] polega na analizie wszystkich

rozwiązań danego problemu. Najlepsze rozwiązania wybierane są z uporządkowanego
zapisu możliwych rozwiązań (danych).

Logiczne struktury drzewiaste pozwalaj

ą

uzyska

ć

uporz

ą

dkowany zapis rozwi

ą

za

ń

Logiczne struktury drzewiaste pozwalaj

ą

uzyska

ć

uporz

ą

dkowany zapis rozwi

ą

za

ń

danego zadania projektowego. Mo

ż

liwe rozwi

ą

zanie danego zadania oznacza

ś

cie

ż

k

ę

na

drzewie logicznym (

od korzenia na dole do wierzchołka na górze

), a zbiór wszystkich

ś

cie

ż

ek jest zbiorem wszystkich mo

ż

liwych rozwi

ą

za

ń

. Ka

ż

da gał

ą

zka jest elementarn

ą

decyzj

ą

, czyli pojedynczym literałem. W szczególno

ś

ci, taka interpretacja mo

ż

e by

ć

przeprowadzona z wykorzystaniem dwu- i wielowarto

ś

ciowych tablic decyzyjnych [2, 3]

background image

Drzewa Logiczne

background image

Drzewo logiczne jest logiczną strukturą drzewiastą, w kt

ó

rej wartości

logiczne zmiennych są kodowane na gałązkach drzewa. Na danym poziomie
drzewa może występować tylko jedna zmienna logiczna, przy czym liczba pięter
jest dokładnie r

ó

wna liczbie zmiennych niezależnych danej funkcji logicznej [3].

Przedstawienie danej funkcji boolowskiej, zapisanej w kanonicznej alternatywnej
postaci normalnej (KAPN), na drzewie logicznym polega na zakodowaniu
poszczeg

ó

lnych iloczyn

ó

w kanonicznych na ścieżce drzewa od korzenia do

wierzchołka końcowego [4].

background image

Przykł. 1.1
Na rys. 1.1 przedstawiono drzewo logiczne na którym zakodowano funkcj

ę

 boolowsk

ą

 trzech zmiennych. 

Pogrubione 

ś

cie

ż

ki od korzenia do wierzchołków ko

ń

cowych s

ą

 zakodowaniem odpowiednich iloczynów 

kanonicznych danej funkcji i oznaczaj

ą

 rozwi

ą

zania realizowalne.

1

2

3

1

2

3

1

2

3

( ,

,

)

f x x x

x x x

x x x

x x x

x x x

=

+

+

+

1

2

3

1

2

3

x x x

x x x

+

Rys. 1.1 Funkcja boolowska trzech zmiennych zakodowana na drzewie logicznym

background image

Algorytm Quine

a

Mc Cluskeya pozwala upraszczać funkcje boolowskie zapisane w KAPN,

otrzymując skr

ó

cona alternatywną postać normalną (SAPN), a następnie minimalną

alternatywną postać normalną (MAPN) [4]. Uzyskuje się w

ó

wczas zminimalizowaną postać

wyjściowej funkcji w sensie liczby literał

ó

w-

Dlatego m

ó

wimy o skreśleniach pełnych

wiązek gałązek prawdziwych (OD G

Ó

RY DO DOŁU!!) jako uproszczenia graficzne

umożliwiające uzyskiwanie minimalnych postaci decyzyjnych.

Przykł. 1.2
Na rys. 1.2 przedstawiono drzewo logiczne z zaznaczonymi wszystkimi mo

ż

liwymi

uproszczeniami graficznymi oraz uproszczone drzewo logiczne (realizowalne rozwi

ą

zania

pewnego zadania oraz podrozwi

ą

zania danego zadania).

background image

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

background image

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

0

1

background image

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

0

1

0

1

background image

1

0

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

0

1

0

1

background image

1

0

1

0

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

0

1

0

1

background image

1

0

1

0

1

0

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

0

1

0

1

background image

1

0

1

0

1

0

1

0

Drzewo logiczne budujemy od korzenia w górę (do korony), 

kolejne piętra są zajmowane przez kolejne zmienne 

decyzyjne i ich decyzje

0

1

0

1

0

1

background image

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

1

0

I tak postępujemy, aż do n parametrów – Xn……

0

1

0

1

0

1

1

0

1

0

1

0

1

0

background image

1

0

1

0

1

0

1

0

Załóżmy że mamy 3 parametry decyzyjne: X

1

, X

2

, X

3

Otrzymujemy następujące drzewo decyzyjne: 

0

1

0

1

0

1

background image

1

0

1

0

1

0

1

0

Następnie należy wykorzystac wszystkie kombinacje zamiany 

zmiennych decyzyjnych (pięter) między sobą na danym 

drzewie… 

0

1

0

1

0

1

background image

1

0

1

0

1

0

1

0

Następnie należy wykorzystac wszystkie kombinacje zamiany 

zmiennych decyzyjnych (pięter) między sobą na danym 

drzewie… 

0

1

0

1

0

1

background image

1

0

1

0

1

0

1

0

Następnie należy wykorzystac wszystkie kombinacje zamiany 

zmiennych decyzyjnych (pięter) między sobą na danym 

drzewie… 

0

1

0

1

0

1

background image

1

0

1

0

1

0

1

0

Następnie należy wykorzystac wszystkie kombinacje zamiany 

zmiennych decyzyjnych (pięter) między sobą na danym 

drzewie… 

0

1

0

1

0

1

background image

1

0

1

0

1

0

1

0

Następnie należy wykorzystac wszystkie kombinacje zamiany 

zmiennych decyzyjnych (pięter) między sobą na danym 

drzewie… 

0

1

0

1

0

1

background image

Ilość drzew decyzyjnych jaką uzyskamy, zależy od ilości 

parametrów decyzyjnych

Ilość drzew = n! silnia, gdzie n- liczba paramentrów

decyzyjnych: 

X

1

, X

2

, X

3

X

n…

background image

1

2

3

4

5

6

A wiec dla 3 parametrów uzyskamy 6 

drzew decyzyjnych, bo 

Ilość drzew = n! czyli 3!= 6 

6 drzew 

background image

X1

X2

X3

f(X1,X2,X3)

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

Tabelka zbudowana podstawie 

drzewa tworzy wszystkie 

możliwe warianty zmiennych 

0

1

0

1

0

1

1

0

1

0

1

0

1

0

background image

X1

X2

X3

f(X1,X2,X3)

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Ale tylko niektóre kombinacje 

(drogi) są realizowalne…. Te dla 

których wartość funkcji f(X1, 

X2, X3)=1 (prawda)

0

1

0

1

0

1

1

0

1

0

1

0

1

0

background image

X1

X2

X3

f(X1,X2,X3)

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Drogi realizowalne (prawdziwe) 

na drzewie decyzyjnym są 

wyróżnione 

0

1

0

1

0

1

1

0

1

0

1

0

1

0

background image

X1

X2

X3

f(X1,X2,X3)

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Algorytm minimalizacji funkcji 

logicznych pozwala upraszczać 

pełne wiązki gałązek 

prawdziwych na drzewie 

(upraszczanie wykonujemy z 

góry do dołu!!!)  

0

1

0

1

0

1

1

0

1

0

1

0

1

0

9 g.

background image

X1

X2

X3

f(X1,X2,X3)

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

0

1

0

1

0

1

1

0

1

0

1

0

1

0

background image

X1

X2

X3

f(X1,X2,X3)

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Algorytm minimalizacji funkcji 

logicznych pozwala upraszczać 

pełne wiązki gałązek 

prawdziwych na drzewie 

(upraszczanie wykonujemy z 

góry do dołu!!!)  

0

1

0

1

0

1

1

0

1

0

1

0

1

0

6 g.

background image

0

1

0

1

0

1

1

0

1

0

1

0

1

0

background image

0

1

0

1

0

1

1

0

1

0

1

0

1

0

4 g.

background image

0

1

0

1

0

1

1

0

1

0

1

0

1

0

4 g.

Pokazano tylko 3 drzewa, 

oczywiście musimy zbudować 

Najwa

ż

niejszym parametrem jest X2 – w korzeniu drzewa

Najmniej wa

ż

nym parametrem jest X1 – w koronie drzewa

Analizujemy tylko drzewo z najmniejsz

ą

 liczb

ą

 gał

ą

zek prawdziwych

Najlepsz

ą

 decyzj

ą

 jest zmiana X2 na 1, gdy

ż

 wtedy ju

ż

 nic nie trzeba robic wi

ę

cej 

w celu optymalizacji obiektu

oczywiście musimy zbudować 

ich sześć !!

background image

Przykład:

background image

b

L

Określamy zmienne decyzyjne

d

Określamy zmienne decyzyjne

background image

b

L

Sprawdzamy warunek 

realizowalności (w tym 

d

realizowalności (w tym 

przypadku warunek 

wytrzymałości)  

background image

d

b

L

K dop

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

1

Spełnienie bądź nie warunku 

wytrzymałości dla danych 

kombinacji zmian zmiennych 

decyzyjnych  

0

1

0

1

0

1

1

0

1

0

1

0

1

0

4 g.

d

b

L