You are on page 1of 34

TEORIA GRAFÓW I SIECI

dr hab. inż. Zbigniew Tarapata, prof. WAT

Temat nr 1: Definicja grafu.


Rodzaje i części grafów

dr hab. inż. Zbigniew TARAPATA, prof. WAT


e-mail: zbigniew.tarapata@wat.edu.pl
http://tarapata.edu.pl

tel.: 261-83-95-04, p.225/100

Zakład Badań Operacyjnych i Wspomagania Decyzji


Instytut Systemów Informatycznych
Wydział Cybernetyki, Wojskowa Akademia Techniczna
Grafy
✓ „Podstawą budowania modelu formalnego danego obiektu
zainteresowań powinien być zawsze określony cel
modelowania, tzn. cel tworzenia modelu matematycznego
tego obiektu. Zależnie od celu modelowania danego
dr hab. inż. Zbigniew Tarapata, prof. WAT

obiektu, model może przyjąć różne formy.


✓ Najczęściej przy modelowaniu obiektów istnieje potrzeba
i konieczność – z punktu widzenia celu modelowania –
wyróżnienia w obiekcie pewnego zbioru elementów X
(np. operacji wykonywanych w trakcie procesu
produkcyjnego, stanowisk obróbki, itp.).
✓ Z chwilą wyróżnienia tych elementów modelowany obiekt
proponuje się traktować jako system, a uzyskany
w następstwie model nazywać będziemy modelem
systemu.”
Grafy, c.d.
✓ STRUKTURA S SYSTEMU:

S = { X, {Rm} }
dr hab. inż. Zbigniew Tarapata, prof. WAT

gdzie Rm – m-ta relacja wiążąca elementy zbioru X;


✓ Modelem systemowym obiektu nazywa się bądź samą
strukturę, bądź strukturę opisaną ilościowo;
✓ Jeżeli przy modelowaniu obiektu wystarczające jest
uwzględnienie tylko relacji dwuczłonowych, to model
systemowy może być formalnie zapisany bądź grafem
(struktura S), bądź siecią (graf opisany ilościowo);
w przeciwnym przypadku wykorzystuje się hipergrafy i/lub
hipersieci.
Definicja grafu G
G =  W, U, P 
gałęzie
wierzchołki
gdzie:
dr hab. inż. Zbigniew Tarapata, prof. WAT

• W, U – zbiory
• PW×U×W

✓ Własności relacji P :
1.   x, u , y  P
uU x, yW
2.    x, u, y  P   v, u, z  P 
uU x, y,v, zW
  x  v  y  z   x  z  y  v
a

a
Rodzaje gałęzi grafu
✓Rodzaje gałęzi grafu
~ – krawędzie:  x, u, y   P   y, u, x   P  x  y
U

dr hab. inż. Zbigniew Tarapata, prof. WAT

U – łuki:  x, u, y   P  y, u, x   P
o
U – pętle:  x, u, y   P  x = y

~  o
U  U U U
Przykład grafu
W =  1, 2, 3, 4, 5, 6
~  o
U =  a, b, c, d, e, f, g, h, i, j, k = U  U  U
~
U ={ d, e, f }
 -wierzchołki
U ={ a, b, c, g, h, j}
dr hab. inż. Zbigniew Tarapata, prof. WAT

o -krawędzie
U ={ i, k }
- łuki
P =  3, a, 1,1, b, 3,1, c, 2,1, d, 2,2, d, 1,
2, e, 4,4, e, 2, 2, f, 4,4, f, 2, - pętle

3, g, 4,3, h, 4,4, i, 4,


c
1 2
5, j, 2,6, k, 6 d j
5

a b f e

Grafy skończone: g k
3 4 6
W   U   h i
Modelowanie obiektów rzeczywistych z wykorzystaniem grafów
✓ Za pomocą grafu możemy opisywać (modelować) wszelkiego
rodzaju obiekty rzeczywiste (obiekty fizyczne, zjawiska, procesy
itp.), które posiadają pewne cechy (wierzchołki grafu) i pewne
relacje między cechami (gałęzie grafu);
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ Typowe reprezentacje obiektów rzeczywistych za pomocą grafów:


✓ struktura sieci dróg (wierzchołki - miasta lub skrzyżowania, łuki – odcinki dróg);
✓ struktura sieci społecznej (wierzchołki – osoby, krawędzie – znajomość między
osobami);
✓ struktura dowolnego systemu (wierzchołki – elementy systemu,
łuki – powiązania między elementami systemu);
✓ mapa polityczna świata (wierzchołki – państwa, łuki/krawędzie – sąsiedztwo
między państwami);
✓ struktura przedsięwzięcia (wierzchołki – zdarzenia, łuki - czynności);
✓ problem przydziału, np. pracowników do zadań (wierzchołki – pracownicy i
zadania do wykonania, łuki – zdolność pracownika do wykonania zadania);
✓ drzewo genealogiczne (wierzchołki – osoby, łuki – relacja typu „rodzic-
dziecko”).
Macierzowe reprezentacje grafu
✓ Macierz incydencji: A  G    a x ,u W U
 x u


dr hab. inż. Zbigniew Tarapata, prof. WAT

 x u Uwaga! Macierz incydencji jest


jedyną reprezentacją

 macierzową grafu, za pomocą
a x ,u   x u której możemy reprezentować
 graf dowolnej klasy (rodzaju).
 x u


0 w przeciwnym przypadku

✓ Incydencja: wierzchołek x jest incydentny z gałęzią u (i na odwrót)


jeśli:
 x, u , y  P  y , u , x  P
yW
Macierzowe reprezentacje grafu
✓ Binarna macierz incydencji:

A b  G   A(G ) :         1
dr hab. inż. Zbigniew Tarapata, prof. WAT

𝐀𝑏 𝐺

np.:
a2,e1  a2,e3  a2,e4  1
a2,e2  a2,e5  a2,e6  0
Macierzowe reprezentacje grafu
✓ Binarna macierz
incydencji:
dr hab. inż. Zbigniew Tarapata, prof. WAT

a b c d e f g h i j k
1 1 1 1 1 0 0 0 0 0 0 0
2 0 0 1 1 1 1 0 0 0 1 0 
3 1 1 0 0 0 0 1 1 0 0 0
A b (G )   
4 0 0 0 0 1 1 1 1 1 0 0
5 0 0 0 0 0 0 0 0 0 1 0
 
6 0 0 0 0 0 0 0 0 0 0 1
Macierzowe reprezentacje grafu
✓ Macierz przyległości wierzchołków:
R  G    rx , y 
W W

rx , y  u U : x , u , y  P  y , u , x  P
dr hab. inż. Zbigniew Tarapata, prof. WAT

0 2 2 0 0 0
2 0 0 2 1 0 

2 0 0 2 0 0
R (G )   
0 2 2 1 0 0
0 1 0 0 0 0
 
0 0 0 0 0 1

✓ Wierzchołek x jest przyległy do wierzchołka y (i na odwrót) jeśli:


 x, u , y  P  y , u , x  P
uU
Macierzowe reprezentacje grafu
✓ Binarna macierz przyległości wierzchołków:

R b  G    rx , y 
 b
W W
b
 1  rx , y  0
dr hab. inż. Zbigniew Tarapata, prof. WAT

rx, y

0 1 1 0 0 0
1 0 0 1 1 0 

1 0 0 1 0 0
R b (G )   
0 1 1 1 0 0
0 1 0 0 0 0
 
0 0 0 0 0 1
✓ Macierz przyległości gałęzi:
BG   A Tb G   A b G 
Macierzowe reprezentacje grafu
✓ Macierz przejść:
P  G    px , y 
W W

px , y  u U : x, u, y  P
dr hab. inż. Zbigniew Tarapata, prof. WAT

0 2 1 0 0 0
1 0 0 2 0 0 

1 0 0 2 0 0
P(G )   
0 2 0 1 0 0
0 1 0 0 0 0
 
0 0 0 0 0 1
✓ Binarna macierz przejść: Pb G   p xb, y  W W

p xb, y  1  p x , y  0
Macierzowe reprezentacje grafu: porównanie
a b c d e f g h i j k
1 1 1 1 1 0 0 0 0 0 0 0
2 0 0 1 1 1 1 0 0 0 1 0 
3 1 1 0 0 0 0 1 1 0 0 0
A b (G )   
4 0 0 0 0 1 1 1 1 1 0 0
dr hab. inż. Zbigniew Tarapata, prof. WAT

5 0 0 0 0 0 0 0 0 0 1 0
 
6 0 0 0 0 0 0 0 0 0 0 1

0 2 2 0 0 0 0 2 1 0 0 0
2 0  1
 0 0 2 1
 0 0 2 0 0 
2 0 0 2 0 0 1 0 0 2 0 0
R (G )    P(G )   
0 2 2 1 0 0 0 2 0 1 0 0
0 1 0 0 0 0 0 1 0 0 0 0
   
0 0 0 0 0 1 0 0 0 0 0 1

0 1 1 0 0 0 0 1 1 0 0 0
1 1 0 
 0 0 1 1 0   0 0 1 0
1 0 0 1 0 0 1 0 0 1 0 0
R b (G )    Pb (G )   
0 1 1 1 0 0 0 1 0 1 0 0
0 1 0 0 0 0 0 1 0 0 0 0
   
0 0 0 0 0 1 0 0 0 0 0 1
dr hab. inż. Zbigniew Tarapata, prof. WAT
Graf jako struktura danych w informatyce
dr hab. inż. Zbigniew Tarapata, prof. WAT
Reprezentacje grafu w pamięci komputera: graf nieskierowany

✓ Pytanie: która z macierzy wcześniej przedstawionych


„odpowiada” macierzy sąsiedztwa grafu nieskierowanego?
dr hab. inż. Zbigniew Tarapata, prof. WAT
Reprezentacje grafu w pamięci komputera: graf skierowany

✓ Pytanie: która z macierzy wcześniej przedstawionych


„odpowiada” macierzy sąsiedztwa grafu skierowanego?
Charakterystyki grafu
✓ Stopień wierzchołka x:
s(x) = s+(x) + s-(x) + s~(x) + s(x)
gdzie:
dr hab. inż. Zbigniew Tarapata, prof. WAT

s+(x) – liczba łuków „wychodzących” z x (stop. zewn. x);


s-(x) – liczba łuków „wchodzących” do x (stop. wewn. x);
s~(x) – liczba krawędzi incydentnych z x;
sº(x) – liczba pętli incydentnych z x; s(1) = r(1) = 2+1+1+0 = 4
s(2) = r(2) = 0+2+3+0 = 5
✓ Rozwidlenie wierzchołka x: s(4) = 0+2+2+1 = 5

r(x) = s(x) + s(x)


Dla każdego grafu zachodzi:
r(4) = 6

xW
r  x   2 U

✓ Stopień grafu: S  G   max


xW
s  x
Charakterystyki grafu
✓ Krotność połączeń wierzchołków x, y:
k x, y   max  x, y,  x, y ,  x, y 
gdzie:
  x, y   u  U : x, u, y  P
dr hab. inż. Zbigniew Tarapata, prof. WAT

  x, y   u U : x, u , y  P

  x, y   u  U : x, u , y  P
~  
✓ Krotność grafu: K G   max V , ,  
V  max   x, y 
x , y W W

  max   x, y 
x , y W W

  max   x, y 
x , y W W
Rodzaje grafów
✓ Graf G =  W, U, P  jest rodzaju (lub należy do klasy):

V , ,   V  V        
V , ,   N  0
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ Graf niezorientowany (nieskierowany): V , 0,  ;U  


✓ Graf zorientowany (skierowany, digraf): 0, ,  ;U  
o
✓ Graf bez pętli: V , ,0 , U  

Graf (2) jest równocześnie


grafem bez pętli

(1) Graf nieskierowany (2) Graf skierowany


Rodzaje grafów
✓ Graf zdegenerowany: 0, 0,  ;U  , U  
✓ Graf pusty: 0,0,0 , U  , K G   0
✓ Multigraf: K G   1
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ Unigraf: K G   1

(1) Graf zdegenerowany (2) Graf pusty (3) Multigraf (K(G) = 2 > 1)

Grafy (1) i (2) z poprzedniego slajdu są unigrafami


Rodzaje grafów
✓ Graf pełny w klasie V , ,  przy ustalonym W:
G p  W ,U p , Pp taki, że


   x, y   V    x, y         x, x    
dr hab. inż. Zbigniew Tarapata, prof. WAT

x,yW xW
x y

✓ Dopełnienie grafu (w danej klasie):


Gd G   W , U p \ U , Pd
Pewien graf (z lewej) i jego
dopełnienie (z prawej) w klasie 1, 0, 0

Trzy (5-, 4- i 3-
wierzchołkowe) grafy
pełne w klasie: 1, 0, 0
(tzw. kliki)
Rodzaje grafów
✓ Graf zwykły:
o
1,0,0 = unigraf niezorientowany, bez pętli,
tzn. U  U  , K  G   1
Inna definicja:
G  W ,U , U   x, y  W 
dr hab. inż. Zbigniew Tarapata, prof. WAT

= digraf i unigraf, tzn. U  , K G   1


✓ Graf Berge’a: 0,1,1 ~

Inne definicje:
G  W ,U G  W,
1) 2)
U  W W  : W  2W , y    x   x, y  U

x  - zbiór bezpośr. następników


G  W ,  1
3)
wierzchołka xW,
  x  - zbiór bezpośr. poprzedników
1  1 : W  2W , y   1  x   y, x  U
wierzchołka xW.
Rodzaje grafów
✓ Grafy zwykłe:
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ Grafy Berge’a:
Rodzaje grafów
✓ Graf dwudzielny:
G  W1  W2 ,U , P przy czym W1  W2   oraz

  x W  y W  x oraz y nie są przylege , i  1, 2


i i
dr hab. inż. Zbigniew Tarapata, prof. WAT

x y

Dlaczego ten
graf nie jest
grafem Königa?

✓ Graf Königa: zwykły i dwudzielny


Rodzaje grafów
✓ Szkielet grafu G – taki graf zwykły Gs  W ,U s , że:
 x, y U s  x  y oraz x i y są przyległe w G
dr hab. inż. Zbigniew Tarapata, prof. WAT

Graf (z lewej) oraz jego szkielet (z prawej)

✓ Graf rzadki: graf, w którym liczba gałęzi jest dużo


mniejsza od kwadratu liczby wierzchołków.
✓ Graf gęsty: graf, w którym liczba gałęzi jest bliska
kwadratowi liczby wierzchołków.
Rodzaje grafów
✓ Dwa grafy G1  W1 ,U1  i G2  W2 ,U 2  nazywamy
izomorficznymi, gdy istnieje wzajemnie jednoznaczne
odwzorowanie (bijekcja) zbiorów ich wierzchołków takie, że
liczba krawędzi łączących dane dwa wierzchołki
dr hab. inż. Zbigniew Tarapata, prof. WAT

pierwszego grafu jest równa liczbie krawędzi łączących


odpowiadające im wierzchołki grafu drugiego.

Te dwa grafy są izomorficzne. Dlaczego?


A=7, B=4, C=3,
D=6, E=5, F=2, G=1
Rodzaje grafów
✓ Graf planarny: graf, który możemy narysować na
płaszczyźnie w taki sposób, aby jego gałęzie nie przecinały
się.
Uwaga: fakt, że rysunek grafu zawiera przecinające się gałęzie nie
dr hab. inż. Zbigniew Tarapata, prof. WAT

oznacza, że graf nie jest planarny !


Rodzaje grafów
Przykład postępu, jaki dokonał się w dziedzinie projektowania
algorytmów badających planarność grafu:
Czas obliczeń Rozmiar
dla analizowanego
c  10 ms grafu
dr hab. inż. Zbigniew Tarapata, prof. WAT

Algorytm
n  100 w przypadku
udostępniania
komputera na
okres
Symbol Autor [rok] Złożoność minuty godziny
Kuratowski
A1
[1930] cn6 325 lat 4 8
Goldstein
A2
[1963] cn3 2.8 godzin 18 71
Lempel et al.
A3
[1967] cn2 100 sekund 77 6 000

A4
Hopcroft- cn log 2 n 7 sekund 643 24 673
Tarjan [1971]
Hopcroft- cn
A5 1 sekunda 6 000 36  10 4
Tarjan [1974]
Części grafów
✓ Część grafu G  W ,U , P : G '  W ',U ', P ' , że
1. G' - graf
2. W '  W  U '  U
dr hab. inż. Zbigniew Tarapata, prof. WAT

3.   x , u, y  P '  x , u, y  P 
x ,u , y W ' U ' W '
Części grafów
✓ Podgraf grafu G: taki graf G '  W ' , U ' , P' , że
1. G’ - część grafu G
2.    x, u, y  P  u U '
dr hab. inż. Zbigniew Tarapata, prof. WAT

x , yW ' uU

UWAGA: podgraf jest jednoznacznie określony przez W’


Części grafów
✓ Graf częściowy grafu G: taki graf G '  W ' , U ' , P' , że
1. G’ - część grafu G
2. W '  W
dr hab. inż. Zbigniew Tarapata, prof. WAT

UWAGA: graf częściowy jest jednoznacznie określony przez U’


Części grafów
✓ Podgraf częściowy grafu G – graf częściowy podgrafu
grafu G;
✓ Przykład różnych części grafu:
dr hab. inż. Zbigniew Tarapata, prof. WAT

Część grafu G
(jedna z możliwych)

1 2 1 2

G
3
3 G1 5
4 5

1 2 1 2 1 2
3
G2 G3 G4 5
3 5 4 5 3
Podgraf grafu G Graf częściowy grafu G Podgraf częściowy grafu G
(jeden z możliwych) (jeden z mozliwych) (graf częściowy podgrafu
G2 grafu G)
DZIĘKUJĘ ZA UWAGĘ
dr hab. inż. Zbigniew Tarapata, prof. WAT

dr hab. inż. Zbigniew TARAPATA, prof. WAT


e-mail: zbigniew.tarapata@wat.edu.pl
http://tarapata.edu.pl

Zakład Badań Operacyjnych i Wspomagania Decyzji


Instytut Systemów Informatycznych
Wydział Cybernetyki, Wojskowa Akademia Techniczna

You might also like