• Nie Znaleziono Wyników

Alg. - faza II - Algorytm Hierholzera - 1873

N/A
N/A
Protected

Academic year: 2021

Share "Alg. - faza II - Algorytm Hierholzera - 1873"

Copied!
55
0
0

Pełen tekst

(1)

Algorytmika - wykªad 9

dr Anna Sasak-Oko«

Uniwersytet Marii Curie-Skªodowskiej w Lublinie

09.12.2019

(2)

Denicja

Jezeli w grae G (spójnym) istnieje zamkni¦ta droga prosta zawieraj¡ca wszystkie kraw¦dzie grafu, to tak¡ drog¦ nazywamy cyklem Eulera, a graf - grafem eulerowskim albo grafem Eulera.

Denicja

Je»eli w grae G istnieje droga prosta (nie koniecznie zamkni¦ta, zawieraj¡ca wszystkie kraw¦dzie grafu G, to tak¡ drog¦ nazywamy drog¡ Eulera, za± graf - grafem póªeulerowskim

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(3)

W królewcu, na rzece Pregole s¡ dwie wyspy A i B poª¡czone ze sob¡, a tak»e z brzegami C i D za pomoc¡ 7 mostów. Nale»y wyruszy¢ z dowolnej cz¦±ci l¡dowej misata: A,b,c lub D, przej±¢

przez ka»dy z mostów dokªadnie jeden raz i powróci¢ do opunktu wyj±ciowego (bez przepªywania przez rzek¦).

Problem rozwi¡zany w 1736 przez szwajcarskiego matematyka Leonharda Eulera (1707-1783). zbudowaª on graf przedstawiony powy»ej przyporz¡dkowuj¡c obszarom l¡du wierzchoªki, a mostom  kraw¦dzie. Nale»aªo teraz odpowiedzie¢ na pytanie: czy tak

otrzymany graf ma drog¦ zamkni¦t¡, która zawiera wszystkie

(4)

Lemat

Je»eli dla ka»dego wierzchoªka grafu G, deg(v)>2, dla v ∈ V , wówczas graf zawiera cykl.

Twierdzenie Eulera

Graf spójny ma cykl Eulera wwtedy gdy ka»dy wierzchoªek ma stopie« parzysty.

warunek dostateczny ← je»eli G ma wszystkie wierzchoªki stopnia parzystego, to ma cykl Eulera.

Tw. Eulera o drodze Eulera

Graf spójny maj¡cy dokªadnie dwa wierzchoªki stopnia

nieparzystego ma drog¦ Eulera. (która ma pocz¡tek i koniec w tych wierzchoªkach)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(5)

Tw. Eulera dla grafów skierowanych

Graf skierowany jest grafem Eulera wwtedy, gdy dla dowolnego wierzchoªka v grafu, stopie« wej±ciowy jest równy stopniowi wyjsciowemu.

indeg(v) = outdeg(v)

(6)

Algorytm - faza I  O(|E|)

Sprawd¹, czy dany graf posiada cykl lub ±cie»k¦ Eulera.

A. dla grafu nieskierowanego

start - dowolny wierzchoªek v0 o niezerowej liczbie s¡siadów dla v0 uruchom przej±cie DFS  odwied¹ wszystkie wierzchoªki, do których istniej¡ w grae ±cie»ki z wierzchoªka startowego i.e. wyznacz spójn¡ skªadow¡.

w trakcie DFS zliczaj s¡siadów ka»dego wierzchoªka, zwiekszaj¡c licznik countN gdy liczba jest nieparzysta sprawd¹ czy po DFS istniej¡ nieodwiedzone wierzchoªki G maj¡ce s¡siadów. Je»eli tak G nie jest spójny (lub s¡

wierzchoªki bez przylegaj¡cych kraw¦dzi)  zako«cz z wynikiem negatywnym

je»eli countN==0  jest cykl Eulera, countN==2  jest ±ciezka Eulera, w przeciwnym razie zako«cz z wynikiem negatywnym

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(7)

B. dla grafu skierowanego przej±cie DFS które zlicza informacje o stopniach wej±ciowych i wyjsciowych wierzchoªków oraz werykuje spójno±¢ G

Je»eli G jest spójny to:

istnieje cykl Eulera  je»eli wszystkie wierzchoªki posiadaj¡ równe stopnie wchodz¡ce i wychodz¡ce

istnieje sciezka Eulaera:

 jeden wierzchoªek ma indeg(v)-outdeg(v)=1, oraz jeden wierzchoªek ma outeg(v)-indeg(v)=1, dla pozostaªych stopnie wejsciowe i wyj±ciowe s¡ równe

(8)

Alg. - faza II - Algorytm Fleury'ego

Mostem (bridge) nazywamy kraw¦d¹ grafu, której usuni¦cie zwieksza liczb¦ spójnych skªadowych.

Algorytm R.Tarjana - wyszukiwanie mostów w grae nieskierowanym (¢w.)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(9)

Wybierz dowolny wierzchoªek startowy w grae o niezerowym stopniu.

Wybierz kraw¦d¹, która nie jest mostem (przej±cie przez most oznacza brak mo»liwo±ci powrotu do tego wierzchoªka, zatem je±li zostaªy w nim nieodwiedzone kraw¦dzie, to tych kraw¦dzi ju» by±my nie odwiedzili i cykl Eulera nie zostaªby znaleziony), chyba »e nie mamy innego wyboru, tzn. pozostaªa nam jedynie kraw¦d¹-most.

Zapami¦taj t¦ kraw¦d¹ na li±cie lub na stosie.

Przejd» wybran¡ kraw¦dzi¡ do kolejnego wierzchoªka grafu.

Przebyt¡ kraw¦d¹ usu« z grafu.

Powtórz procedur¦ wzgledem nowego wierzchoªka, a» zostan¡

przebyte wszystkie kraw¦dzie.

(10)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(11)
(12)

Alg. - faza II - Algorytm Hierholzera - 1873

Zauwa»yª on, »e cykl Eulera jest sum¡ cykli prostych o rozª¡cznych kraw¦dziach (takich, które nie przechodz¡ przez wspólne

kraw¦dzie).

Wybierz wierzchoªek w grae o niezerowym stopniu wychodz¡cym.

Od tego wierzchoªka znajd¹ cykl i zapamietaj na li±cie.

Wszystkie kraw¦dzie znalezionego cyklu usu« z grafu.

Maj¡c pierwszy cykl, w p¦tli przejd¹ jego kolejne wierzchoªki.

Dopóki dany wierzchoªek posiada kraw¦dzie wychodz¡ce, znajduj kolejny cykl, który zawiera ten wierzchoªek.

Kraw¦dzie nowego cyklu usu« z grafu, a sam cykl doª¡cz do listy dwukierunkowej w miejscu bie»¡cego wierzchoªka  w ten sposób cykl zostaje wydªu»ony.

Procedur¦ powtarzaj do wyczerpania kraw¦dzi grafu.

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(13)
(14)

Problem Chi«skiego Listonosza - Mei Ku Kwan  1962

Listonosz wychodz¡c z poczty musi obej±¢ wszystkie ulice w swoim rejonie i powróci¢ do budynku przechodz¡c jak najkrótsz¡ drog¦.

= w grae spójnym znale¹¢ drog¦ zamkni¦t¡ z min. liczb¡ kraw¦dzi (sum¡ wag), która zawiera ka»d¡ kraw¦d¹ co najmniej raz.

graf Eulerowski = cykl Eulera

graf póªeulerowski = droga Eulera + najkrótsza droga powrotna

inne grafy - problem trudny obliczeniowo, graf nalezy

uzupeªni¢ kopiami kraw¦dzi tak, aby uzyskac graf Eulerowski, przy zachowaniu min. kosztu cyklu - dorysowane kraw¦dzie wyznacza si¦ np. alg. wyznaczania maksymalnego przepªywu i najkrótszych dróg lub najkrótszych ±cie»ek i wyznaczania skojarzenia

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(15)

Ci¡g de Bruijna

Ci¡g de Bruijna rz¦du n to cykliczne ustawienie 2n bitów, takie »e ka»dy ci¡g n bitów wyst¦puje w tym cyklu dokªadnie jeden raz jako kolejnych n bitów.

np.0011 - ci¡g de Bruijna rz¦du 2 (np. 01 wyst¦puje tylko raz na pozycjach 2,3)

00010111 - ci¡g de Bruijna rz¦du 3

zastosowanie: szybkie generowanie ci¡gów binarnych dªugo±ci n, kryptograa, w neurobiologicznych i psychologicznych

eksperymentach sprawdzaj¡cych odpowied¹ na dany bodziec, szczególnie przydatne s¡ przy wykonywaniu funkcjonalnego magnetycznego rezonansu j¡drowego

(16)

Aby otrzyma¢ ci¡g de Bruijna rz¦du n rozwa»my graf skierowany G=(V,E).

Wierzchoªki grafu V = {0, 1}n−1 to zbiór wszystkich ci¡gów bitów dªugo±ci n − 1.

Dwa wierzchoªki u, v ∈ V tworz¡ kraw¦d¹ (u, v) ∈ E wtedy i tylko wtedy, gdy ostatnich (n − 2) bitów u jest takie samo jak pierwsze n −2 bitów v.

Kraw¦d¹ ta jest etykietowana ostatnim bitem v

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(17)
(18)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(19)

wasno±ci:

Graf G jest spójny i posiada cykl Eulera

Etykiety ka»dej drogi dªugo±ci (n-1) tworz¡ nazw¦ ostatniego wierzchoªKa tej drogi

cykl Eulera ma 2n kraw¦dzi i przechodzi przez ka»dy wierzchoªek dwa razy

Etykiety cyklu Eulera tworz¡ ci¡g de Bruijna rz¦du n (*)Spróbuj wyznaczy¢ ci¡g de Bruijna rz¦du 4 i udowodni¢

powy»sze wªasno±ci.

(20)

Denicja

Droga Hamiltona nazywamy drog¦, która przechodzi przez kazdy wierzchoªek grafu dokªadnie jeden raz.

Denicja

Cyklem Hamiltona nazywamy cykl przechodz¡cy przez wszystkie wiezchoªki grafu

Graf posiadaj¡cy cykl Hamiltona nazywamy grafem

hamiltonowskim, a graf posiadaj¡cy tylko drog¦ Hamiltona - grafem póªhamiltonowskim.

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(21)

warunek konieczny istnienia cyklu Hamiltona Twierdzenie

Je»eli graf o n wierzchoªkach jest hamiltonowski, to posiada co najmniej n kraw¦dzi.

warunki wystarczaj¡ce istnienia cyklu Hamiltona Twierdzenie

Ka»dy graf peªny Knjest grafem Hamiltona.

Twierdzenie Ore  1950

Niech graf G=<V,E> b¦dzie grafem spójnym i niech |V|=n > 3 (tzn. G ma co najmniej 3 wierzchoªki). Je»eli deg(u) + deg(w) > n dla ka»dej pary wierzchoªków u, w ∈ V , które nie s¡ poª¡czone kraw¦dzi¡, to G jest grafem hamiltonowskim==

(22)

Twierdzenie Dirac  1952

Je»eli w grae prostym i spójnym G=<V,E> o n wierzchoªkach (n > 3) oraz stopie« kazdego wierzchoªka u ∈ V speªnia warunek deg (u) > 12n, to G jest grafem hamiltonowskim

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(23)

Je»eli w grae prostym i spójnym G o n wierzchoªkach jest co najmniej 12(n −1)(n − 2) + 2 kraw¦dzi, to graf G jest grafem hamiltonowskim.

cykl i droga Hamiltona w grafach dwudzielnych  warunek konieczny

Twierdzenie

Niech G = (V1∪ V2, E ) b¦dzie grafem dwudzielnym:

Je±li G ma cykl Hamiltona, to |V1| = |V2| Jesli G ma droge Hamiltona, to ||V1| − |V2|| 6 1

(24)

Denicja

Dwa cykle s¡ rozª¡czne kraw¦dziowo, gdy ka»da kraw¦d¹ nale»y tylko do jednego cyklu w grae.

Twierdzenie

Graf peªny Kn zawiera [n−21] rozª¡cznych kraw¦dziowo cykli Hamiltona

w grae K5 mamy [5−12 ] =2 cykli w grae K4 mamy [4−12 ] = [112] =1 cykli

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(25)

Twierdzenie

Graf peªny Kn zawiera (n−21)! ró»nych cykli Hamiltona.

W grae K4 mamy (4−1)!2 =3 ró»ne cykle Hamiltona

W grae K5 mamy (5−1)!2 =12 cykli Hamiltona

W grae K20 mamy 19!2 =1017 ró»nych cykli Hamiltona

(26)

Algorytm dokªadny

problem NP-zupeªny

prosty algorytm rekurencyjny znajdowania wszystkich cykli i scie»ek Hamiltona posiada zªoózno±¢ O(n!)

startuj¡c z v0 przegl¡daj wierzchoªki zgodnie z alg DFS przetwarzany wierzchoªek umie±¢ na stosie

je»eli stos zawiera n wierzchoªków  jest ±cie»ka Hamiltona, sprawd¹ czy jest cyklem, usu« ostatni wierchoªek ze stosu i wyjd¹ na wyzszy poziom rekurencji aby rozwa»a¢ inne ±cie»ki jezeli stos nie zawiera n wierzchoªków  rekurencyjnie wywoªaj DFS dla wszystkich nieodwiedzonych s¡siadów, wierzchoªek usu« ze stosu i skasuj informacj¦ o jego odwiedzeniu, po czym wyjd¹ na wy»szy poziom rekurencji

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(27)

Problem Komiwoja»era

Komiwoja»er ma odwiedzi¢ kilka miast (ka»de dokªadnie raz) i powróci¢ do miasta, z którego wyruszyª przebywaj¡c ª¡cznie najkrótsz¡ (najta«sz¡) drog¦. znane s¡ odlegªo±ci (koszty) przejazdu miedzy ka»d¡ par¡ miast. Nale»y wyznaczy¢

komiwoja»erowi tras¦ przejazdu tak, aby mógª odiwedzi¢ ka»de miato dokªadnie jeden raz i caªkowita droga byªa mozliwie najkrótsza/najta«sza.

teoretycznie  n-wierzchoªkowa siec peªna/ graf peªny, w którym nale»y znale¹¢ cykl Hamiltona

(28)

Teoretycznie problem komiwoja»era mo»na rozwi¡za¢ poprzez wyznaczenie 12(n −1)! cykli Hamiltona i wybranie tego, który ma najmniejsz¡ sum¦ wag. Ale dysponuj¡c komputerem sprawdzaj¡cym milion permutacji na sekund¦, dla n=20, czas oblicze« to okoªo 29330 lat.

Problem Komiwoja»era jest NP-zupeªny

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(29)

Do rozwi¡zania problemu mo»na wybra¢ jedn¡ z dwóch typów metod:

dokªadna  np. metoda podziaªu i ogranicze«, która

wygeneruje dokªadne rozwi¡zanie ale w czasie wykªadniczym (generowanie kolejnych mo»liwych rozwi¡za« w formie drzewa, badaj¡c jego gaª¦zie rozwi¡zania nie speªniaj¡ce oszacowa«

rozwi¡zania optymalnego s¡ odrzucane)

przybli»ona (aproksymacyjna)  generuje rozwi¡zanie bliskie optymalnemu ale dziaªa w czasie wielomianowym (szereg heurystyk)

(30)

Optymalizacja naturalna. Heurystyki przeszukiwa«

Heurystyka (gr. znale¹¢, odkry¢) to praktyczna, oparta na do±wiadczeniu reguªa post¦powania, która mo»e znacznie skróci¢

lub upro±ci¢ proces rozwi¡zywania rozwazanego problemu, gdy metoda rozwi¡zania nie jest znana lub jest zawiªa i czasochªonna.

Dla zada« z wieloma potencjalnymi rozwi¡zaniami, wa»ne jest wczesne odrzucenie nieobiecuj¡cyh kierunków poszukiwania → oszcz¦dno±¢ kosztów obliczeniowych, szybsze uzyskanie rozwi¡zania.

Metody heurystyczne pozwalaj¡ na znalezienie w akceptowalnym czasie przynajmniej przybli»onego rozwi¡zania porblemu, cho¢ nie gwarantuj¡ tego we wsystkich przpadkach.

Skuteczno±ci kroków heurystycznuch nie mo»na w peªni udowodni¢

teoretycznie, mo»na jedynie pokaza¢ do±wiadczalnie ich trafno±¢.

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(31)

Algorytm NN

NN  nearest neighbour  algorytm zachªanny

W ka»dym kroku komiwoja»er wybiera najta«sz¡ dost¦pn¡ drog¦

Algorytm szybko generuje efektywnie krótk¡ tras¦. Dla N miast rozªo»onych losowo na pªaszczy¹nie ±rednio znajduje ±cie»k¦ o 25%

dro»sz¡ od optymalnej. Jednak»e istnieje szereg specycznych ustwie« miast, przy których ten algorytm zwraca najgorsz¡ ±cie»k¦.

(32)

Algorytmy mrówkowe, 1992  Marco Dorigo

Mrówki poruszaj¡ si¦ z mrowiska do ustalonego punktu (np.

miejsca z pozywieniem)

Wracaj¡c ka»da z nich przebywa dokªadnie t¦ sam¡ drog¦ w przeciwnym kierunku.

Ka»da z mrówek napotykaj¡c na swojej drodze rozgaª¦zienie dokonuje losowego wyboru drogi (na pocz¡tku

prawdopodobie«stwo wyboru ka»dej drogi jest takie samo) Mrówki przechodz¡c tras¦ pozostawiaj¡ za sob¡ pewn¡ ilo±¢

feromonu → w efekcie, z upªywem czasu krótsze drogi pokryte s¡ wi¦ksz¡ ilo±ci¡ feromonu.

Kolejne mrówki dokonuj¡ wyboru dróg losowo, ale z uwzglednieniem ilo±ci pozostawionego feromonu

W efekcie ko«cowym mrówki wybieraj¡ najkrótsz¡ z dróg.

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(33)

Pojedyncza mrówka generuje swoj¡ ±cie»k¦ niezale»nie od swoich towarzyszek

Dla ka»dej mrówki generowane jest losowo miasto, z którego ma rozpocz¡¢ w¦drówk¦

Aby nie wraca¢ do ju» odwiedzonych wierzchoªków mrówka jest wyposa»ona w pami¦¢, w której przechowuje list¦

odwiedzonych wierzchoªków

(34)

WE: Graf peªny G=<N,E>, gdzie N={1, 2, ..., n}  zbiór

wierzchoªków, E  zbiór kraw¦dzi, dij dªugo±¢ kraw¦dzi (i, j) ∈ E.

W ka»dej iteracji t (1 6 t 6 tmax) algorytmu, k-ta mrówka (k=1,...,m) przechodzi przez graf buduj¡c cykl dªugo±ci n.

Je»eli w iteracji t k-ta mrówka znajduje si¦ w wierzchoªki i, prawdopodobie«stwo wyboru kraw¦dzi do wierzchoªka j okre±la wzór:

pijk(t) = Σ ij(t))αij)β

I ∈Nki

((τij(t))αij)β)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(35)

pijk(t) = Σ ij(t))αij)β

I ∈Nk i

((τij(t))αij)β)

gdzie:

τij(t) ilo±¢ feromonu w kraw¦dzi (i,j)

ηij  warto±¢ heurystyczna okre±laj¡ca atrakcyjno±¢ wyboru kraw¦dzi (i,j) np d1ij

Nik  lista nieodwiedzonych wierzchoªków s¡siednich do i

α, β  parametry okreslaj¡ce odpowednio wpªyw pozostawionego feromonu i odlegªo±ci mi¦dzy miastami i oraz j na wyliczone prawdopodobie«stwo

(36)

Po przej±ciu grafu przez k-t¡ mrówk¦ ustalana jest ilo±¢ feromonu

∆τijk(t)jaki pozostawi ona na ka»dej kraw¦dzi (i,j) cyklu.

∆τijk(t) = LkQ(t)

gdzie Q jest tzw. wspóªczynnikiem dawki feromonu, a Lk(t) dªugo±ci znalezionej drogi.

Aby zapewni¢ zpominanie przez algorytm dªu»szych cykli uwzgl¦dnia si¦ zjawisko parowania feromonu. W efekcie po zko«czeniu iteracji (czyli pzej±ciu m mrówek) ustalana jest ostateczna ilo±¢ feromonu na poszczególnych kraw¦dziach, która b¦dzie wykorystana w nastepnej iteracji:

τij(t +1) = γτij(t) + ∆τij(t)

gdzie ∆τij(t) = Σmk=1∆τij(t), a γ odpowiada za wyparowanie feromonu

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(37)

for t ← 1 to tmax do

for ka»da mrówka k=1,...,m do wybierz dowolne miasto

for ka»de nieodwiedzone miasto i do

wybierz miasto j z listy Nik zgodnie z pijk(t) for ka»da kraw¦d¹ (i,j) do

wyznacz przyrost ∆τijk(t)na drodze Tk(t) for ka»da kraw¦d¹ (i,j) do

przelicz ilo±¢ feromonu τij(t +1) = γτij(t) + ∆τij(t)

(38)

Hiperkostka

denicja

Graf prosty, którego wierzchoªkami s¡ wszystkie k-elementowe ci¡gi binarne i w którym kraw¦dzie ª¡cz¡ tylko te spo±ród ci¡gów, które ró»ni¡ si¦ dokªadnie jednym elementem, nazywamy k-kostk¡

(hiperkostk¡) i oznaczamy Hk

Hiperkostaka H1 skªada si¦ z dwóch wierzhoªków poª¡czonych kraw¦dzi¡

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(39)

Hiperkostk¦ H2 buduje si¦ z dwóch kostek H1. W pierwszej kostce dopisuje si¦ 0 na pocz¡tek etykiety ka»dego wierzchoªka, w drugiej

 1. Nast¦pnie nale»y poª¡czy¢ kraw¦dziami odpowiadaj¡ce sobie wierzchoªki z obu kopii (0x z 1x). Analogicznie powstaj¡ kostki wy»szych stopni (Hk z dwóch kostek Hk−1)

(40)

Kod Graya

W rezultacie hiperkostka to graf Hk = (V , E ), gdzie V = {0, 1}k zawiera wszystkie ci¡gi bitów dªugo±ci k, a dwa wierzchoªki u, v ∈ V s¡ poª¡czone kraw¦dzi¡ wwtedy, gdy ró»ni¡ si¦ dokªadnie jednym bitem.

Lemat

Ka»da hiperkostka Hk zawiera drog¦ Hamiltona, zaczynaj¡c¡ si¦ w wierzchoªku 0k i ko«cz¡c¡ si¦ w wierzchoªku 10k−1.

(*) Dowód indukcyjny

Cykl Hamiltona w Hk tworzy tzw. KOD GRAYA. Jest to ci¡g wszystkich k-elementowych ci¡gów bitów, ka»dy wyst¦puje raz, ka»de dwa kolejne ró»ni¡ si¦ jednym bitem oraz ostatni ró»ni si¦

jednym bitem od pierwszego.

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(41)

Problem rozgªaszania

Graf G=(V,E) mo»e przedstawia¢ sie¢ poª¡cze«.

WierzchoªKi s¡ agentami, a kraw¦dzie to ª¡cza, którymi agenci mog¡ si¦ komunikowa¢.

Wyobra¹my sobie, »e jeden agent posiada wiadomo±¢, któr¡ chce przekaza¢ wszystkim agentom w sieci. Co wi¦cej komunikacja odbywa si¦ synchronicznie w taktach. W ka»dym takcie ka»dy agent mo»e przekaza¢ wiadomo±¢ jednemu swojemu s¡siadowi.problem mo»na efektywnie rozwi¡za¢ je»eli graf jest hiperkostk¡.

(42)

przykªad dla H

3

wierzchoªek 0=000 jest ¹ródªem wiadomo±ci

1 takt  przekazuje j¡ do wierzchoªka 1  001. (zauwa»  teraz znaj¡ j¡ wierzchoªki <2  H1)

2 takt  000 przekazuje wiadomo±¢ do 010(2), 001(1) do 011(3) (teraz znaj¡ j¡ wierzchoªKi <4  H2)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(43)

3 takt - 000 do 100(4), 001(1) do 101(5), 010(2) do 110(6), 011(3) do 111(7).

Tak wi¦c po trzech taktach wszystkie wierzchoªki H3 znaj¡

wiadomo±¢.

Protokóª: wiadomo±¢ ma wierzchoªek 0=0k.

Dla i=1 do k wykonuj: ka»dy wierzchoªek x < 2i −1 przekazuje do wierzchoªka x + 2i −1.

(44)

zbieranie wiadomo±ci

Chcemy do jednego wierzchoªka zebra¢ informacje od wszystkich wierzchoªków.  Informacje nale»y przesyªa¢ w odwrotnym

kierunku, dodatkowo zakªadamy »e informacje mog¡ by¢ ª¡czone w pakiety i wierzchoªek mo»e w jednym takcie przesªa¢ caªy pakiet zawieraj¡cy kilka informacji.

Protokóª zbierania informacji w Hk

Dla ka»dego i=1 do k wykonuj:

ka»dy wierzchoªek postaci x = 0i −1σ, gdzie σ ∈ {0, 1}k−i przesyªa swój pakiet do wierzchoªka 0i −1

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(45)

plotkowanie

Na pocz¡tku ka»dy wierzchoªek ma jak¡± wiadomo±¢ i chce j¡

rozesªa¢ do wszystkich innych wierzchoªków w grae.

Znaj¡c protokoªy do zbierania i rozsyªania wiadomo±ci, mo»emy zaprojektowa¢ protokóª plotkowania, który najpierw zbiera wszystkie informacje do jednego w¦zªa, a nastepnie rozsyªa je do wszystkich w¦zªów.

(46)

Badania podgrafów peªnych odnosz¡ si¦ do lat 1935 i odniesienia teorii Ramseya do grafów. Poj¦cie kliki pojawia si¦ dopiero w 1949, kiedy to podgrafy peªne zostaªy u»yte w sieciach socjalnych do modelowania klik ludzi którzy si¦ nawzajem znaj¡.

Uwaga: teoria Ramseya  teoria zbiorów sko«czonych,zajmuje poszukiwaniem regularno±ci w przypadkowych nieuporz¡dkowanych obiektach, szuka odp. na pytania typu: ile elementów danej struktury musi zawiera¢ zbiór, aby zachodziªa okre±lona wªasno±¢.

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(47)

Denicja

Klik¡ nazywamy podgraf, w którym ka»de dwa wierzchoªki s¡

poª¡czone kraw¦dzi¡.

Denicja

Klik¦ nazywamy maksymaln¡ gdy nie da si¦ do niej doda¢

wierzchoªKa tak, aby razem z ni¡ równie» tworzyª klik¦.

(48)

Denicja

Klik¦ nazywamy najwi¦ksz¡ (najliczniejsz¡), je±li nie ma w grae kliki o wi¦kszej liczbie wierzchoªków.

Liczb¦ wierzchoªków najwi¦kszej kliki oznaczamy ω(G).

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(49)

Graf którego liczba chromatyczna jest równa rozmiarowi najwi¦kszej kliki χ(G) = ω(G), nazywamy GRAFEM DOSKONAŠYM.

Przykªadowe klasy:

grafy dwudzielne,grafy kraw¦dziowe,grafy odcinkowe,

(50)

Stwierdzenie, czy w grae istnieje klika o zadanym rozmiarze (problem kliki), jest jednym z klasycznych problemów NP-zupeªnych.

NP-zupeªno±¢ tego problemu wynika ªatwo z NP-zupeªno±ci problemu zbioru niezale»nego, poniewa» w grae istnieje klika o rozmiarze k wtedy i tylko wtedy, gdy w dopeªnieniu grafu istnieje zbiór niezale»ny o rozmiarze k.

Uwaga:Zbiór niezale»ny w grae G=(V,E)  zbiór wierzchoªków V0 ⊆ V pomi¦dzy którymi nie ma »adnej kraw¦dzi.

Powstaªo wiele algorytmów wyszukuj¡cych kliki, np. Alg.

Brona-Kerboscha (niestety dziaªaj¡cy w czasie wykªadniczym), oraz takich które dziaªaj¡ w czasie wielomianowym ale tylko dla danej klasy grafów (np. doskonaªych)

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(51)

Alg. Brona-Kerboscha

Alg. rekurencyjny, WE  trzy zbiory P,R,X P  zbiór wierzchoªków do rozwa»enia == G

R  zbiór wierzchoªków, które s¡ cz¦±ciowym wynikiem znajdowania kliki == 6 0

X  zbiór wierzchoªków pomini¦tych == 6 0

(52)

ALG_BK(P,R,X):

Je±li P i X s¡ puste, to zbiór R zawiera maksymaln¡ klik¦  KONIEC Dla ka»dego wierzchoªka v ∈ P twórz zbiory:

N  zbiór wszystkich s¡siadów wierzchoªka v R'  R + v

P'  P ∩ N (z P' zostan¡ usuni¦te wierzchoªki, które nie s¡

s¡siadami v)

X'  X ∩ N (z X' zostan¡ usuni¦te wierzchoªki, które nie s¡

s¡siadami v)

Wywoªaj rekurencyjnie ALG_BK(P',R',X') P=P-v

X=X+v

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(53)
(54)

Ulepszenie == mniej wywoªa« rekurencyjnych:

Przed wej±ciem do p¦tli rozwijaj¡cej zbiór P utwórz sum¦ zbiorów P i X i znajd¹ w niej taki wierzchoªek u, który posiada najwi¦cej s¡siadów w zbiorze P.

Nast¦pnie zamiast iterowa¢ przez wierzchoªki w P iterujemy przez kolejne wierzchoªki ró»nicy zbiorów P i N(u), gdzie N(u) oznacza zbiór s¡siadów wierzchoªka u, który nazywamy piwotem.

Zbiór P N(u) zawiera mniej wierzchoªków, zatem liczba wywoªa«

rekurencyjnych spadnie. (*) dla przykªadu z obrazka z 52 na 12

dr Anna Sasak-Oko« Uniwersytet Marii Curie-Skªodowskiej w Lublinie

(55)

Co nale»y wiedzie¢?

denicje drogi i cyklu Eulera, wªasno±ci grafu Eulerowskiego algorytm Fleuryego i algorytm Hierholzera

charakterystyka problemu Chi«skiego Listonosza zasada tworzenia ci¡gu de Bruijna

denicja drogi i cyklu Hamiltona, wªasno±ci grafu Hamiltonowskiego

algorytm dokªadny znajdowania cykli i ±cie»ek Hamiltona charakterystyka problemu komiwoja»era, zasada dziaªania algorytmu mrówkowego dla cyklu Hamiltona

hiperkostka - denicja i zastosowania - kod Graya, problem rozgªaszania, zbierania i plotkowania

klika - denicja, wªasno±ci, zasada dziaªania alg.

Brona-Kerboscha

Cytaty

Powiązane dokumenty

[r]

Prosta ta jest jednak również osią trójkąta Cevy punktu R, zatem zgodnie ze stwierdzeniem 2 przechodzi przez R, co dowodzi współliniowości punktów P, R, D.  Zastanówmy się,

Je´sli d jest cyklem Hamiltona w gra…e G, to cykl ten ÷¾ aczy wszystkie wierzcho÷ ki grafu, czyli graf jest spójny.. Ponadto dowolny wierzcho÷ ek nale· zy do tego cyklu, czyli

Metod¦ Eulera nazywamy metod¡ pierwszego rz¦du, gdy» jej lokalny bª¡d obci¦cia jest proporcjonalny do kwadratu dªugo±ci kroku caªkowania

Bila jest jednorodna, toczy się bez poślizgu i spełniona jest zasada zachowania kąta odbicia.. Wtedy wielokąty gwiaździste tworzą wraz z wielokątem foremnym

Grafem (grafem prostym, grafem niezorientowanym) nazywamy par¸e (V, E) gdzie V jest pewnym zbiorem zwanym zbiorem wierzcho lk´ow, natomiast E jest zbiorem pewnych par

Za samodzielne rozwi¸ azanie dowolnej liczby zada´ n wybranych spo´ sr´ od zada´ n 1-10 i przedstawienie tych rozwi¸ aza´ n na pi´ smie mo˙zna otrzyma´ c po 1 punkcie za

Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, je li zawiera cykl zawieraj cy wszystkie kraw dzie.. Graf jest półeulerowski, gdy posiada ła cuch o powy szej