Pobierz

Transkrypt

Pobierz
Materiały wykładowe
(fragmenty)
1
Robert Susmaga
Instytut Informatyki
ul. Piotrowo 2
Poznań
kontakt mail’owy
[email protected]
kontakt osobisty
Centrum Wykładowe, „blok informatyki”, pok. 7
2
Wyłączenie odpowiedzialności
Prezentowane materiały, będące dodatkiem
pomocniczym do wykładów, z konieczności
fragmentarycznym i niedopracowanym, naleŜy
wykorzystywać z pełną świadomością faktu,
Ŝe mogą nie być pozbawione przypadkowych
błędów, braków, wypaczeń i przeinaczeń :-)
Autor
3
Metoda Electre Is
4
Metoda Electre Is #1
• Charakterystyka metody Electre Is
– rozwiązuje problematykę α
– realizuje model relacyjny
• implementowane relacje pomiędzy wariantami: P, I, R
– działa w trybie wsadowym
– wymagane dane
• tabela decyzyjna
• wagi kryteriów
• parametry charakteryzujące kryteria
– aparat matematyczny
• proste przekształcenia algebraiczne na macierzach zawierających
wartościowane relacje binarne
• operacje grafowe (na grafach skierowanych)
5
Metoda Electre Is #2
• Definicja relacji przewyŜszania
– wartościowana relacja przewyŜszania jest zdefiniowana w
oparciu o dwa testy
• tzw. test zgodności z hipotezą o przewyŜszaniu
• tzw. test niezgodności z hipotezą o przewyŜszaniu
– zachodzenie relacji S pomiędzy wariantami a i b charakteryzuje
współczynnik S(a,b), który zdefiniowany jest w oparciu o dwa
ustalane wcześniej współczynniki
• C(a,b) -- wyraŜa test zgodności (ang. concordance),
• D(a,b) -- wyraŜający test niezgodności (ang. discordance)
– wartości współczynników
• C(a,b) naleŜy do przedziału <0,1>
• D(a,b) naleŜy do zbioru {0,1} //wersja uproszczona//
• S(a,b) naleŜy do zbioru {0,1}
6
Metoda Electre Is #3
• Definicja współczynnika C(a,b)
– C(a,b) powstaje przez zagregowanie współczynników ci(a,b),
czyli współczynników o tym samym znaczeniu, ale dotyczących
poszczególnych kryteriów
• aby pewne (waŜniejsze) kryteria mogły bardziej wpływać na wynik
tej agregacji dla kaŜdego kryterium definiuje się pewną wagę ki
– rolę wagi moŜe odgrywać dowolna dodatnia liczba rzeczywista,
najczęściej jednak za wagi przyjmuje się dodatnie liczby całkowite
• agregacja współczynników ci(a,b) ma charakter addytywny i moŜna
wyrazić ją wzorem:
N
∑ k ⋅ c (a, b)
i
C(a, b) =
i
i =1
N
∑k
i
i =1
7
Metoda Electre Is #3
• Przykład obliczania C(a,b) dla trzech kryteriów
– wagi ki kryteriów:
k1 = 2, k2 = 5, k3 = 1
– współczynniki ci(a,b) na kryteriach:
c1(a,b) = 0.5, c2(a,b) = 0.0, c3(a,b) = 1.0
N
– wzór:
k i ⋅ c i (a, b)
∑
C(a, b) =
i =1
N
∑k
– wynik:
C(a,b)
i
i =1
= (2·0.5 + 5·0.0 + 1·1.0) / (2 + 5 + 1) =
= (1.0 + 0.0 + 1.0) / 8 = 2/8 = 1/4
8
Metoda Electre Is #4
• Definicja współczynnika D(a,b)
– D(a,b) powstaje przez zagregowanie współczynników di(a,b),
czyli współczynników o tym samym znaczeniu, ale dotyczących
poszczególnych kryteriów
• wszystkie kryteria mają taki sam wpływ na wynik tej agregacji
– dlatego wagi ki nie są uwzględnione w poniŜszym wzorze
• agregacja współczynników di(a,b) ma charakter multiplikatywny
i moŜna wyrazić ją wzorem:
N
D(a, b) = 1 −
∏ (1 − d (a, b))
i
i =1
9
Metoda Electre Is #3
• Przykład obliczania D(a,b) dla trzech kryteriów
– współczynniki d(a,b) na kryteriach:
d1(a,b) = 0, d2(a,b) = 0, d3(a,b) = 1
N
– wzór:
D(a, b) = 1 −
(1 − d i (a, b))
∏
– wynik:
D(a,b)
i =1
= 1 – (1 – 0)·(1 – 0))·(1 – 1) = 1 – 1·1·0 = 1 – 0 = 1
10
Metoda Electre Is #5
• Definicja współczynnika S(a,b)
– S(a,b) jest zdefiniowany następująco
S(a,b)=1
S(a,b)=0
wtedy i tylko wtedy gdy C(a,b)≥s oraz D(a,b)=0
w przeciwnym przypadku
gdzie s > 0 jest tzw. progiem odcięcia
• poniewaŜ C(a,b)∈<0,1>, fakt spełniania testu zgodności wyraŜa się
przez porównanie tej wartości z pewnym progiem odcięcia s∈<0,1>
• próg s (ani Ŝaden inny) nie jest wymagany przy badaniu
spełnialności testu niezgodności (bo wartość D(a,b)∈{0,1})
• wynikowa relacja przewyŜszania S (w metodzie Electre Is)
nie jest jednak relacją wartościowaną
– fakt jej zachodzenia lub nie moŜna wyrazić więc jedną z liczb: 0 i 1
11
Metoda Electre Is #6
• Idea uproszczonego współczynnika ci(a,b)
– ci(a,b) jest wysoki gdy nasze przekonanie o tym, Ŝe wariant a
przewyŜsza wariant b na kryterium gi jest wysokie
– w uproszczonym przypadku ci(a,b) moŜe być zdefiniowane
(w zaleŜności od typu kryterium gi) następująco:
• gdy gi jest typu zysk
ci(a,b)=0 gdy gi(a)<gi(b)
ci(a,b)=1 gdy gi(a)≥gi(b)
• gdy gi jest typu strata
ci(a,b)=1 gdy gi(a)≤gi(b)
ci(a,b)=0 gdy gi(a)>gi(b)
– uwaga: bardziej poprawne oznaczeniem byłoby więc
ci(gi(a),gi(b)), ci zaleŜy on bowiem bezpośrednio od gi(a) i gi(b),
a pośrednio od a i b
• stosowane w praktyce oznaczenie ci(a,b) jest więc nieco mylące
12
Metoda Electre Is #7
• Współczynnik ci(a,b) w postaci wykresu
– wykres ten musiałby jednakŜe być wykresem dwuwymiarowym,
tzn. przedstawiać ci(a,b) dla zmieniających się jednocześnie a i b
(a właściwie dla zmieniających się gi(a) i gi(b))
• tworzenie takiego wykresu jest jednak bardzo niewygodne
– dlatego warto przedstawić ten współczynnik w postaci wykresu
jednowymiarowego
• w tym celu trzeba jednak przyjąć, Ŝe albo a (a tym samym gi(a))
albo b (a tym samym gi(b)) nie będzie się zmieniało (jest ustalone)
– przy ustalonym a (a tym samym ustalonym gi(a)) wykres pokazuje
ci(a,b) dla zmieniającego się gi(b), ustalone gi(a) jest punktem
charakterystycznym tak stworzonego wykresu
– natomiast przy ustalonym b (a tym samym ustalonym gi(b)) wykres
pokazuje ci(a,b) dla zmieniającego się gi(a), ustalone gi(b) jest punktem
charakterystycznym tak stworzonego wykresu
13
Metoda Electre Is #8
• Wykres uproszczonego współczynnika ci(a,b)
– wykres dla kryterium gi typu zysk (oznaczenie: znak ‘+’ przy
nazwie kryterium) przy ustalonym a (oznaczenie: podkreślenie
znaku)
ci(a,b)
1.0
0.0
– interpretacja:
gi(a)
gi+
• dla gi(b)≤gi(a) a jest na pewno równie dobre jak b, a więc ci(a,b)=1
• gdy gi(b) przekroczy wartość gi(a) a przestaje być równie dobre jak
b, i ci(a,b) spada do 0
14
Metoda Electre Is #9
• Idea współczynnika ci(a,b) (bez uproszczeń) – c.d.
– fakt, Ŝe współczynnik ci(a,b) zmienia wartość z 1 na 0 w
momencie, gdy wartość gi(b) przekroczy wartość gi(a) jest w
praktyce niekorzystny (mała elastyczność!)
• w praktyce drobne róŜnice w wartościach kryterium nie powinny
mieć tak silnego wpływu na wartość współczynnika ci(a,b), a jego
zmiana nie powinna mieć natury skokowej)
• gdy róŜnica pomiędzy gi(b) i gi(a) stopniowo zmienia się (przy czym
gi(b) staje się większe niŜ gi(a)), wartość współczynnika ci(a,b)
powinna takŜe zmieniać się stopniowo (a nie skokowo)
15
Metoda Electre Is #10
• Idea współczynnika ci(a,b) (bez uproszczeń) – c.d.
– wartość współczynnika ci(a,b) powinna być trochę inaczej
zdefiniowana takŜe z następujących względów
• nawet jeŜeli gi(b)>gi(a) na kryterium typu zysk (ale róŜnica jest
niewielka) to moŜna uznać, Ŝe a jest nadal równie dobre jak b
(czyli powinno zachodzić ci(a,b)=1)
– przykład wykorzystujący kryterium ‘spalanie paliwa’: samochód, który
spala 8.19l/100km moŜe być uznany za równie dobry jak samochód,
który spala 8.13l/100km pomimo iŜ nominalnie spala więcej, wynikła
róŜnica moŜe być jednak nieistotna dla decydenta (np. dlatego, Ŝe
decydent wie, iŜ moŜe ona wynikać z niedokładności pomiaru)
16
Metoda Electre Is #11
• Idea współczynnika ci(a,b) – c.d.
– powyŜsze dwa wymagania moŜna zrealizować wzbogacając
wykres (a tym samym definicję) współczynnika ci(a,b) o dwie
wartości (tzw. progi)
• próg nierozróŜnialności q
• próg preferencji p
– progi te definiuje się osobno dla kaŜdego kryterium; fakt ten ma
odzwierciedlenie w ich oznaczeniach: qi, pi
– punktami charakterystycznymi nowego wykresu stają się punkty
gi(a)+qi oraz gi(a)+pi
17
Metoda Electre Is #12
• Wykres współczynnika ci(a,b)
– wykres dla kryterium gi typu zysk przy ustalonym a
ci(a,b)
q
p
1.0
0.0
– interpretacja:
gi(a)
gi+
• dla gi(b)≤gi(a)+q a jest na pewno równie dobre jak b, ci(a,b)=1
• dla gi(a)+q<gi(b)<gi(a)+p przekonanie to spada, ci(a,b)∈(0,1)
• dla gi(b)≥gi(a)+p a nie jest równie dobre jak b, ci(a,b)=0
18
Metoda Electre Is #13
• Idea uproszczonego współczynnika di(a,b)
– di(a,b) jest wysoki gdy nasze przekonanie o tym, Ŝe wariant a
jest duŜo gorszy niŜ wariant b na kryterium gi jest wysokie
• z oczywistych względów współczynnik di(a,b) moŜe być wysoki
tylko dla takich a i b, dla których współczynnik ci(a,b) jest niski
– wzorując się na definicji uproszczonego współczynnika ci(a,b)
uproszczony współczynnik di(a,b) moŜe być zdefiniowany
skokowo: przeskok wartości następuje w momencie, w którym
róŜnica wartości pomiędzy gi(a) oraz gi(b) wynosi co najmniej v,
gdzie v jest ustalonym z góry progiem (zwanym progiem ‘veta’)
• w Electre Is zakłada się taką właśnie postać tego współczynnika
19
Metoda Electre Is #14
• Idea uproszczonego współczynnika di(a,b) – c.d.
– ostatecznie di(a,b) jest zdefiniowane (w zaleŜności od typu
kryterium gi) następująco:
• gdy gi jest typu zysk
di(a,b)=0 gdy gi(b)<gi(a)+vi
di(a,b)=1 gdy gi(b)≥gi(b)+vi
• gdy gi jest typu strata
di(a,b)=1 gdy gi(b)≤gi(a)–vi
di(a,b)=0 gdy gi(b)>gi(a)–vi
20
Metoda Electre Is #15
• Wykres uproszczonego współczynnika di(a,b)
– wykres dla kryterium gi typu zysk (oznaczenie: znak ‘+’ przy
nazwie kryterium) przy ustalonym a (oznaczenie: podkreślenie
znaku)
di(a,b)
1.0
v
0.0
– interpretacja:
gi(a)
gi+
• dla gi(b)≤gi(a)+vi a jest nie jest duŜo gorsze od b, a więc di(a,b)=0
• gdy gi(b) przekroczy wartość gi(a)+vi a staje się duŜo gorsze od b,
i di(a,b) wzrasta do 1
21
Metoda Electre Is #16
• Współczynniki ci(a,b) oraz di(a,b) moŜna przedstawić na
jednym wykresie
– wykres dla kryterium gi typu zysk przy ustalonym a
ci(a,b) i di(a,b)
q
p
1.0
v
0.0
gi(a)
gi+
• wykres ten obrazuje takŜe warunki poprawności progów p, q i v:
q≤p<v
– warunki q ≤ p < v wykluczają sytuację,
w której ci(a,b) > 0 ∧ di(a,b) = 1
22
Metoda Electre Is #17
• Ustalenie wartości współczynników ci(a,b) oraz di(a,b)
dla kaŜdego kryterium gi i pewnej pary wariantów a i b
pozwala na utworzenie współczynników C(a,b) i D(a,b)
– do utworzenia współczynników C(a,b) i D(a,b) na podstawie
ci(a,b) i di(a,b) wykorzystuje się odpowiednie wzory agregacyjne
23
Metoda Electre Is #18
• Definicja współczynnika S(a,b)
– ustalenie współczynników C(a,b) i D(a,b) dla pewnej pary
wariantów pozwala na utworzenie współczynnika S(a,b) dla tej
pary, co jest równowaŜne z ustaleniem relacji S:
• S(a,b)=1 ⇔ aSb
natomiast
• S(a,b)=0 ⇔ ~aSb
• Ustalenie zachodzenia relacji aSb oraz bSa pozwala na
ustalenie relacji „decyzyjnej” zachodzącej dla pary
wariantów a i b, tzn.:
aSb i bSa ⇒ aIb (relacja I jest symetryczna, a więc takŜe: bIa)
aSb i ~b$a ⇒ aPb
~aSb i b$a ⇒ bPa
~aSb i ~bSa ⇒ aRb (relacja R jest symetryczna, a więc takŜe: bRa)
24
Metoda Electre Is #19
• Macierze C, D i S
– w praktyce współczynniki C(a,b), D(a,b) oraz S(a,b) wygodnie
jest przechowywać w macierzach (odpowiednio) C, D i S
o rozmiarach MxM, gdzie M jest liczbą wariantów
• Właściwości macierzy
– wartością wszystkich elementów głównej przekątnej
• macierzy C jest 1
• macierzy D jest 0
• macierzy S jest 1
25
Metoda Electre Is #20
• Macierz S moŜna traktować jako macierz sąsiedztwa
grafu skierowanego reprezentującego relację
przewyŜszania S
– wierzchołki tego grafu reprezentują warianty a jego krawędzie
fakt przewyŜszania się wariantów
– poniewaŜ (z definicji) wartościami głównej przekątnej macierzy S
są jedynki graf powinien zawierać auto-krawędzie, czyli
krawędzie rozpoczynające się i kończące w jednym i tym samym
wierzchołku
• poniewaŜ krawędzie takie nie wnoszą Ŝadnej istotnej informacji
do procesu poszukiwania rozwiązania (a co więcej, z pewnego
względu uniemoŜliwiałyby znalezienie tego rozwiązania!), są one
ignorowane
26
Metoda Electre Is #21
• Eksploatacja grafu relacji przewyŜszania pozwala
na ustalenie ostatecznego rozwiązania dla problemu
rozwiązywanego przez metodę Electre Is (czyli problemu
wyboru, α)
– w tym celu metoda ustala tzw. jądro grafu skierowanego, który
jest takim podzbiorem wariantów, dla którego zachodzi:
• Ŝadne dwa warianty naleŜące do tego zbioru nie przewyŜszają
się wzajemnie (tzw. warunek stabilności wewnętrznej)
• kaŜdy wierzchołek nie naleŜący do tego zbioru jest przewyŜszany
przez co najmniej jeden wierzchołek naleŜący do tego zbioru
(tzw. warunek stabilności zewnętrznej)
– jądro grafu skierowanego ustala się tylko dla grafów
acyklicznych
• jeŜeli powstały graf jest cykliczny, to wszystkie jego cykle (w tym
auto-cykle) muszą być usunięte przed rozpoczęciem procedury
poszukiwania jądra grafu
27
Metoda Electre Is #22
• Przykłady grafów acyklicznych z rozwiązaniami
2
2
3
1
{2}
2
3
1
{ 2,3 }
3
1
{ 1,3 }
28
Metoda Electre Is #23
• Przykłady grafów acyklicznych z rozwiązaniami
2
2
3
4
1
5
{ 2,3,4 }
3
4
1
5
{ 1,3,5 }
29
Metoda Electre Is #24
• Gdy grafy są cykliczne, to (jednoznaczne) wyznaczenie
jądra moŜe nie być moŜliwe, np.:
2
2
3
2
3
1
3
1
4
1
brak rozwiązania
rozw. niejednoznaczne
rozw. istnieje
(nie istnieje zbiór
wierzch. spełniający
warunki nałoŜone na
rozwiązanie)
(istnieją dwa zbiory
wierzch. spełniających
warunki rozwiązania:
{ 1,3 } i { 2,4 })
(istnieje zbiór wierzch.
spełniający warunki
rozwiązania: { 1 })
30
Metoda Electre Is #25
• Znajdowanie rozwiązania w sytuacji gdy graf jest
cykliczny zostaje dla ujednolicenia postępowania
(a tym samym: dla ujednolicenia wyników) rozłoŜone
na dwa etapy:
– etap eliminacji cykli
• eliminuje się wszystkie cykle
(takŜe takie, które nie uniemoŜliwiają znalezienia rozwiązania)
– właściwy etap poszukiwania jądra grafu
• dzięki wyeliminowaniu cykli rozwiązanie zawsze istnieje i jest
jednoznaczne
• Eliminacja cykli moŜe być zrealizowana np. w taki
sposób, Ŝe graf przekształcamy do postaci, w której
kaŜdy cykl ma postać nowego, sztucznego wierzchołka
31
Metoda Electre Is #26
• Przykład przekształcanego grafu cyklicznego
(wprowadzenie wierzchołków sztucznych) z rozwiązaniem
2
1
2
3
graf cykliczny
cykl obejmuje wierzchołki 1 i 3
13
graf acykliczny
wierzchołki 1 i 3 zastąpiono
wierzchołkiem sztucznym 13
rozwiązanie: { 2 }
32
Metoda Electre Is #27
• Przykład przekształcanego grafu cyklicznego
(wprowadzenie wierzchołków sztucznych) z rozwiązaniem
3
2
1
graf cykliczny
jeden cykl: 1 i 4
drugi cykl: 2 i 3
23
4
14
graf acykliczny
jeden wierzch. sztuczny 14
drugi wierzch. sztuczny 23
rozwiązanie: { 14 }
33
Metoda Electre Is #28
• Przykład przekształcanego grafu cyklicznego
(wprowadzenie wierzchołków sztucznych) z rozwiązaniem
23
3
2
1
4
5
graf cykliczny
cykl: 2 i 3
cykl: 1, 2 i 3
123
1
4
5
etap pośredni
wierzchołek sztuczny: 23
cykl: 1 i 23
4
5
graf acykliczny
wierzchołek sztuczny 123
rozwiązanie: { 123 }
34
Metoda Electre Is #29
• Algorytm poszukiwania jądra acyklicznego grafu
skierowanego
– algorytm działa wykorzystując (bezpośrednio) zbiór
wierzchołków i (pośrednio) zbiór krawędzi grafu
– generuje zbiór K (zbiór wierzchołków naleŜących do jądra grafu)
oraz zbiór R (zbiór wszystkich pozostałych wierzchołków grafu)
35
Metoda Electre Is #30
• Algorytm poszukiwania jądra acyklicznego grafu
skierowanego, c.d.:
– podstawienia początkowe: niech G będzie zbiorem wszystkich
wierzchołków grafu oraz K = ∅ i R = ∅
– pętla główna: dopóki G jest niepusty
• niech x będzie dowolnym elementem zbioru G
• pętla: dopóki x posiada jakiekolwiek poprzedniki w zbiorze G
– pod x podstaw dowolnego poprzednika wierzchołka x
• przemieść wierzchołek x ze zbioru G do zbioru K
• przemieść wszystkie następniki wierzchołka x ze zbioru G
do zbioru R
– wynik: zbiór K
36
Metoda Electre Is #30
• Przykład działania algorytmu poszukiwania
jądra acyklicznego grafu skierowanego
– G = {1, 2, 3, 4, 5}, K = ∅ i R = ∅
• iteracja: x = 1, x = 2
(2 trafia do K, a jego następnik, czyli 1, do R)
2
3
– G = {3, 4, 5}, K = {2} i R = {1}
• iteracja: x = 3
(3 trafia do K, a jego następnik, czyli 5, do R)
4
1
– G = {4}, K = {2, 3} i R = {1, 5}
• iteracja: x = 4
(4 trafia do K, następników nie posiada)
5
– G = ∅, K = {2, 3, 4} i R = {1, 5}
• koniec
37
Metoda Electre Is #30
• Przykład działania algorytmu poszukiwania
jądra acyklicznego grafu skierowanego
– G = {1, 2, 3, 4, 5}, K = ∅ i R = ∅
2
• iteracja: x = 1, x = 2, x = 3, x = 4, x = 5
(5 trafia do K, a jego nastepnik, czyli 4, do R)
3
– G = {1, 2, 3}, K = {5} i R = {4}
• iteracja: x = 1, x = 2, x = 3
(3 trafia do K, a jego nastepnik, czyli 2, do R)
4
1
– G = {1}, K = {3, 5} i R = {2, 4}
• iteracja: x = 1
(1 trafia do K, następników nie posiada)
5
– G = ∅, K = {1, 3, 5} i R = {2, 4}
• koniec
38
Metoda Electre Is #31
• Ostatecznym rozwiązaniem zadania stawianego przed
metodą Electre Is jest znalezienie zbioru najbardziej
interesujących wariantów (problematyka α)
– poniewaŜ warianty są reprezentowane przez wierzchołki
tworzonego przez metodę grafu skierowanego to problem ten
sprowadza się do znalezienia pewnego zbioru wierzchołków
tego grafu
• w tym przypadku jest to zbiór wierzchołków naleŜących
do jądra grafu skierowanego
– jednak w niektórych sytuacjach jeden wierzchołek odpowiada
kilku wariantom; w takiej sytuacji naleŜy pamiętać, Ŝe do zbioru
najbardziej interesujących wariantów wchodzą wszystkie
warianty „ukryte” w wierzchołkach naleŜących do jądra grafu
• wniosek: zbiór najbardziej interesujących wariantów moŜe być
liczniejszy od zbioru reprezentującego jądro grafu skierowanego
39
Metoda Electre Is #32
• Przykłady grafów i ostatecznych rozwiązań
proponowanych przez metodę Electre Is
123
2
2
3
1
13
23
4
14
5
jądro: { 1,3 }
jądro: { 2 }
jądro: { 14 }
jądro: { 123 }
najbardziej
interesujące
warianty: 1,3
najbardziej
interesujące
warianty: 2
najbardziej
interesujące
warianty: 1, 4
najbardziej
interesujące
warianty: 1,2,3
40
...
41

Podobne dokumenty