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