background image

 

15

Konstrukcja cyklu Eulera. Algorytm Fleury. 
 
Rozwa my  nast puj c   map   wraz  z  odpowiadaj cym  jej  grafem,  Rysunek 

10.  Na 

tym grafie wierzchołki odpowiadaj  obszarom l du a ka dy most jest reprezentowany 
jako kraw d . 
 
 
 
 
 
 
 
 
 
 
 
 
Czy dla grafu z Rysunku 

10 istnieje cykl Eulera? Je li tak, to jak go zbudowa  (tzn. 

poda  ci g kraw dzi). 
Zacznijmy  od  oznaczenia  ka dej  kraw dzi  a 
nast pnie  wybierzmy  jaki   wierzchołek, 
powiedzmy wierzchołek A.  
 
 
 
 
 
 
 

Nast pnie zbudujmy jaki  cykl w grafie G, np. Niech to b dzie cykl 

e

1

e

3

e

2

 
 
 

 

ziemia

 

woda

Rysunek 

10 

A

E

C

B

A

E

D

e

1

 

e

2

 

e

3

 

e

4

 

e

5

 

e

6

 

e

8

 

e

7

 

background image

 

16

Zaznaczamy ten cykl lini  pogrubion . 
 
 
 
 
 
 
 
 
 
 
Nast pnie  zauwa my,  e  pewne  wierzchołki  (wierzchołek  B  i  wierzchołek  C) 

dotykaj   pogrubionych  kraw dzi  wybranego  cyklu 

e

1

e

3

e

2

.  Zatem,  zaczynaj c  od 

wierzchołka  B  budujemy  cykl 

e

4

e

5

.  Cykl  ten  zaznaczony  jest  lini   przerywan . 

Widzimy,  e oba cykle mo emy poł czy  w jeden cykl np. zaczynaj c w wierzchołku 

D mamy cykl 

e

4

e

1

e

2

e

3

e

5

. Zaznaczamy go lini  pogrubion . 

 
 
 
 
 
 
 
 
 
 
 
Widzimy,  e cykl o pogrubionych kraw dziach dotyka pewne pozostałe wierzchołki 
grafu,  np.  wierzchołek  D.  Zaczynaj c  od  wierzchołka  D  wybieramy  kolejny  cykl 

e

6

e

7

e

7

.  Cykl  ten  doł czmy  do  wcze niej  wyznaczonego  cyklu  i  ostatecznie 

otrzymujemy cykl Eulera: 

e

4

e

1

e

2

e

3

e

5

e

6

e

7

e

8

 

B

A

E

D

e

1

 

e

2

 

e

3

 

e

4

 

e

5

 

e

6

 

e

8

 

e

7

 

E

e

1

 

e

2

 

e

3

 

e

4

 

e

5

 

e

6

 

e

8

 

e

7

 

E

D

e

1

 

e

2

 

e

3

 

e

4

 

e

5

 

e

6

 

e

8

 

e

7

 

background image

 

17

Czasami  znalezienie  cyklu  Eulera,  szczególnie  dla  du ych  grafów  mo e  by  
uci liwe. Istnieje inna, konstruktywna metoda, zwana algorytmem Fleury’ego.  
Niech  G  b dzie  grafem  Eulera  (tzn.  grafem  dla  którego  istnieje  cykl  Eulera).  Cykl 
Eulera dla G mo na znale  w oparciu o nast puj cy zestaw instrukcji: 
 

Algorytm Fleury’ego

1.  Z  dowolnego  wierzchołka  zaczynamy  w drówk   po  G  przechodz c  po 

kraw dziach.  Za  ka dym  razem  wymazujemy  wykorzystan   kraw d . 
Wymazujemy  równie   izolowane  wierzchołki  jakie  si   pojawiaj   z  powodu 
wymazywania kraw dzi.  

2.  Nigdy, o ile nie ma innej mo liwo ci, nie wybieraj kraw dzi b d cej mostem, tzn. 

nie  wybieraj  kraw dzi,  której  wymazanie  spowoduje,  e  graf  przestanie  by  
spójny.  

 
Wypróbujmy ten algorytm dla znalezienia cyklu Eulera dla grafu z Rysunku 

11a.  

 
 
 
 
 
 
 
 
 
 
 

Zacznijmy  w  wierzchołku  V

1

 

i  wybierzmy  najpierw  kraw d  

e

a  nast pnie 

e

3

Wymazuj c  te  kraw dzie  otrzymujemy  graf  z  Rysunku 

11b.  Znajdujemy  si   w 

wierzchołku V

3  

i mamy kilka wyborów nast pnej kraw dzi a mianowicie 

e

2

e

6

, oraz 

e

7

.  Jednak  kraw d  

e

jest  mostkiem  i  zgodnie  z  pkt.  1  algorytmu  maj c  inne 

mo liwo ci nie wybieramy tej kraw dzi. Pow drujmy zatem np. wzdłu  kraw dzi 

e

6

Otrzymujemy graf jak na Rysunku 

11c

 

e

7

 

e

8

 

e

6

 

e

5

 

e

4

e

3

 

e

2

e

1

V

1

V

2

 

V

3

 

V

4

 

V

V

e

7

 

e

8

 

e

6

 

e

5

 

e

4

 

e

2

 

V

1

 

V

2

V

3

 

V

4

 

V

V

6

Rysunek 

11a

Rysunek 

11b

background image

 

18

Obecnie  mo emy  wybra   w  kolejno ci 

kraw dzie 

e

4

e

5

e

8

,

  e

7

  oraz 

e

2

Przechodz c  wymazujemy  kraw dzie  i 
powstaj ce 

izolowane 

wierzchołki. 

Ka da  z  przechodzonych  kraw dzi  jest 
dla  grafu  z  Rysunku  11c  mostkiem. 
Wybieramy je jednak bo nie mamy innej 
mo liwo ci.  Ostatecznie  wypisujemy 
cał   sekwencj   przebytych  kraw dzi  i 
otrzymujemy  cykl  Eulera  w  postaci: 

e

1

e

3

e

6

e

4

e

5

e

8

e

7

e

2

.  

 
Problem  podobny  do  poszukiwania  cyklu  Eulera  dla  danego  grafu,  polega  na 
odpowiedzi  na  pytanie  czy  istnieje  w  grafie  taki  cykl  w  którym  ka dy  wierzchołek 
jest  odwiedzany  dokładnie  jeden  raz. 

Cykl,  w  którym  ka dy  wierzchołek  jest 

przechodzony  dokładnie  raz  nazywa  si   cyklem  Hamiltona.  Graf  posiadaj cy 
cykl Hamiltona nazywa si  grafem Hamiltona
 (albo grafem hamiltonowskim).  
Nazwa  pochodzi  od  irlandzkiego 
matematyka  Hamiltona.  Sir  William 
Rowan 

Hamilton 

(1805-1865) 

zaproponował 

gr  

polegaj c  

na 

znalezieniu  cyklu  hamiltonowskiego  w 
grafie obok. 
 
 
 
 
 
 
Wierzchołki  reprezentuj   miasta.  Celem 
gry  było  znalezienie  drogi,  która 
przechodzi przez ka de miasto dokładnie 
jeden raz. 

e

7

 

e

8

 

e

5

 

e

4

 

e

2

 

V

2

 

V

3

 

V

4

 

V

V

Rysunek 

11c 

background image

 

19

Problem cyklu Hamiltona dla danego grafu nie jest do dzi  rozwi zany i stanowi jeden 
z  najpowa niejszych  problemów  w  teorii  grafów.  Do  dzi   nie  ma  twierdzenia 
(podobnego do twierdzenia Eulera), które rozstrzygałoby czy graf jest hamiltonowski. 
Pewien post p został jednak dokonany i znane s  twierdzenia, które podaj  warunki 
pozwalaj ce wykluczy  pewne grafy z klasy grafów hamiltonowskich. U yteczne jest 
np. nast puj ce 
 
Twierdzenie. Je li G jest grafem spójnym o 

3

n

 wierzchołkach i je li  

n

v

u

+

)

deg(

)

deg(

 

dla ka dej pary wierzchołków nie poł czonych kraw dzi  to G jest grafem Hamiltona. 
 
Mocniejszym warunkiem jest zalo enie,  e  w grafem spójnym o 

3

n

 wierzchołkach  

2

)

deg(

n

v

≥  

dla  ka dego  wierzchołka.  Przy  tym  zało eniu  G  jest  grafem  Hamiltona.  Np.  graf  z 
Rysunku  poni ej  spełnia  warunki  twierdzenia 

7

)

deg(

)

deg(

+

v

u

  i  jest  grafem 

Hamiltona. 
 
 
 
 
 
 
 
 
 
Nie spełnia jednak warunku gdy  ma wierzchołki stopnia 3.  
 
Problem  istnienia  cykli  oraz  dróg  Eulera  i  Hamiltona  dla  grafów  ma  powa ne 
znaczenie przy zastosowaniach grafów do rozwi zywania zagadnie  logistycznych.  
 
Twierdzenie  2.  Je li  graf  maj cy  n  wierzchołków  i  nie  maj cy  p tli  ani  kraw dzi 

wielokrotnych ma co najmniej 

2

)

2

)(

1

(

2

1

+

− n

n

 kraw dzi to jest hamiltonowski. 

background image

 

20

 
 
 
 
 
 
 
 
 
W  grafie  na  Rys. 

12a  mamy  n=5  wierzchołków  oraz 

8

2

/

)

4

4

3

2

3

(

|

|

=

+

+

+

+

=

E

 

kraw dzi. Graf ten spełnia zało enia twierdzenia. Poniewa  

8

2

2

/

)

2

)(

1

(

=

+

− n

n

 i 

jest co najmniej równe liczbie kraw dzi to graf ten jest hamiltonowski. Graf z Rys.12b 
ma tylko 7 kraw dzi i nie spełnia zało enia twierdzenia ale spełnia zało enia naszego 
pierwszego twierdzenia o sumie stopni par wierzchołków nie poł czonych kraw dzi . 
Jest to wi c równie  graf hamiltonowski.  
 
Twierdzenie Eulera powoduje,  e teoria cykli Eulera jest zgrabna i kompletna. Czego 
mo na  dowie   o  cyklach  Hamiltona?  W  pewnych  warunkach  graf  ma  tak  du o 
kraw dzi w stosunku do liczby wierzchołków,  e musi w nim istnie  cykl Hamiltona.  
Jednak wida ,  e np. graf (a) z Rysunku obok ma mało kraw dzi a jest hamiltonowski. 
Graf (b) ma du o kraw dzi i nie ma cyklu Hamiltona.  
 
 
 
 
 
 
 
Poznane twierdzenia nie s  zadawalaj ce nie tylko w tym sensie,  e podane warunki 
wystarczaj ce nie s  konieczne ale te  nie daj   adnych wskazówek jak znale  cykl 
Hamiltona.  Poj cie  cyklu  Eulera  wydaje  si   by   bardzo  bliskie  poj ciu  cyklu 
Hamiltona,  jednak  teoria  cykli  Hamiltona  jest  znacznie  bardziej  zło ona.  W 
szczególno ci nie jest znany  aden efektywny algorytm znajdowania cykli Hamiltona. 

Rysunek 

12 

(a) 

(b) 

(a)

 

(b)