63
Grafuri Concepte de baz˘ a. Tipuri de grafuri. Modalit˘ at ¸i de reprezentare Mircea Marin Departamentul of Informatic˘ a Universitatea de Vest din Timi¸ soara [email protected] 9 noiembrie 2018 Marin, M. Grafuri

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

  • Upload
    others

  • View
    88

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

GrafuriConcepte de baza. Tipuri de grafuri. Modalitati de reprezentare

Mircea Marin

Departamentul of InformaticaUniversitatea de Vest din Timisoara

[email protected]

9 noiembrie 2018

Marin, M. Grafuri

Page 2: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

IntroducereCe este un graf?

Graf: structura de date discreta formata din noduri si muchii delegatura ıntre noduri.

I Utila pentru modelarea unui numar mare de probleme:

legaturi rutiere sau feroviare ıntre localitatirelatii de subordonare ın o organizatierezultatul final al unui turneu. . .

I Notatie matematica G = (V ,E ) unde:

V : multime finita de noduriE : multime finita de muchii

I Probleme diferite pot fi modelate cu tipuri de grafuri diferite:grafuri simple, multigrafuri, pseudografuri, grafuri orientate,etc.

Marin, M. Grafuri

Page 3: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

IntroducereCe este un graf?

Graf: structura de date discreta formata din noduri si muchii delegatura ıntre noduri.

I Utila pentru modelarea unui numar mare de probleme:

legaturi rutiere sau feroviare ıntre localitatirelatii de subordonare ın o organizatierezultatul final al unui turneu. . .

I Notatie matematica G = (V ,E ) unde:

V : multime finita de noduriE : multime finita de muchii

I Probleme diferite pot fi modelate cu tipuri de grafuri diferite:grafuri simple, multigrafuri, pseudografuri, grafuri orientate,etc.

Marin, M. Grafuri

Page 4: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

IntroducereCe este un graf?

Graf: structura de date discreta formata din noduri si muchii delegatura ıntre noduri.

I Utila pentru modelarea unui numar mare de probleme:

legaturi rutiere sau feroviare ıntre localitatirelatii de subordonare ın o organizatierezultatul final al unui turneu. . .

I Notatie matematica G = (V ,E ) unde:

V : multime finita de noduriE : multime finita de muchii

I Probleme diferite pot fi modelate cu tipuri de grafuri diferite:grafuri simple, multigrafuri, pseudografuri, grafuri orientate,etc.

Marin, M. Grafuri

Page 5: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

IntroducereCe este un graf?

Graf: structura de date discreta formata din noduri si muchii delegatura ıntre noduri.

I Utila pentru modelarea unui numar mare de probleme:

legaturi rutiere sau feroviare ıntre localitatirelatii de subordonare ın o organizatierezultatul final al unui turneu. . .

I Notatie matematica G = (V ,E ) unde:

V : multime finita de noduriE : multime finita de muchii

I Probleme diferite pot fi modelate cu tipuri de grafuri diferite:grafuri simple, multigrafuri, pseudografuri, grafuri orientate,etc.

Marin, M. Grafuri

Page 6: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf simpluExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Noduri V : locatiile geografice ale calculatoarelor: SanFrancisco (SF), Los Angeles (LA), Denver (Dn), Chicago (C),Detroit (Dt), New York (NY), Washington (W)

Muchii E : legaturile dintre calculatoare; presupunem ca1 Nu exista legaturi de la un nod la el ınsusi.2 Exista cel mult o legatura ıntre calculatoare diferite.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {{SF, LA}, {SF, Dn}, {LA, Dn}, {Dn, C},

{C, Dt}, {Dt, NY}, {C, NY}, {C, W}, {W, NY}}

Remarca: Muchiile unui graf simplu sunt specificate ca osubmultime a multimii {{x , y} | x , y ∈ V , x 6= y}.I muchiile sunt neorientate (ordinea nodurilor este irelevanta).

De exemplu: {C, NY} = {NY, C}

Marin, M. Grafuri

Page 7: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf simpluExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Noduri V : locatiile geografice ale calculatoarelor: SanFrancisco (SF), Los Angeles (LA), Denver (Dn), Chicago (C),Detroit (Dt), New York (NY), Washington (W)

Muchii E : legaturile dintre calculatoare; presupunem ca1 Nu exista legaturi de la un nod la el ınsusi.2 Exista cel mult o legatura ıntre calculatoare diferite.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {{SF, LA}, {SF, Dn}, {LA, Dn}, {Dn, C},

{C, Dt}, {Dt, NY}, {C, NY}, {C, W}, {W, NY}}

Remarca: Muchiile unui graf simplu sunt specificate ca osubmultime a multimii {{x , y} | x , y ∈ V , x 6= y}.I muchiile sunt neorientate (ordinea nodurilor este irelevanta).

De exemplu: {C, NY} = {NY, C}

Marin, M. Grafuri

Page 8: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf simpluExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Noduri V : locatiile geografice ale calculatoarelor: SanFrancisco (SF), Los Angeles (LA), Denver (Dn), Chicago (C),Detroit (Dt), New York (NY), Washington (W)

Muchii E : legaturile dintre calculatoare; presupunem ca1 Nu exista legaturi de la un nod la el ınsusi.2 Exista cel mult o legatura ıntre calculatoare diferite.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {{SF, LA}, {SF, Dn}, {LA, Dn}, {Dn, C},

{C, Dt}, {Dt, NY}, {C, NY}, {C, W}, {W, NY}}

Remarca: Muchiile unui graf simplu sunt specificate ca osubmultime a multimii {{x , y} | x , y ∈ V , x 6= y}.I muchiile sunt neorientate (ordinea nodurilor este irelevanta).

De exemplu: {C, NY} = {NY, C}Marin, M. Grafuri

Page 9: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

MultigrafExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Pentru evitarea supraıncarcarii legaturilor telefonice, calculatoarediferite pot fi conectate cu mai multe linii telefonice:

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13}f : E → {{x , y} | x , y ∈ V , x 6= y},f returneaza capetele fiecarei muchii:

f (e1) = {SF, Dn}, f (e2) = {SF, LA},f (e3) = f (e4) = {LA, Dn}, f (e5) = f (e6) = f (e7) = {Dn, C},f (e8) = {C, Dt}, f (e9) = {Dt, NY}, . . .

Remarca: Un multigraf G este specificat de catre multimile V , Esi o functie f : E → {{x , y} | x , y ∈ V , x 6= y}.

e, e ′ ∈ E sunt paralele daca f (e) = f (e ′).

Marin, M. Grafuri

Page 10: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

MultigrafExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Pentru evitarea supraıncarcarii legaturilor telefonice, calculatoarediferite pot fi conectate cu mai multe linii telefonice:

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13}f : E → {{x , y} | x , y ∈ V , x 6= y},f returneaza capetele fiecarei muchii:

f (e1) = {SF, Dn}, f (e2) = {SF, LA},f (e3) = f (e4) = {LA, Dn}, f (e5) = f (e6) = f (e7) = {Dn, C},f (e8) = {C, Dt}, f (e9) = {Dt, NY}, . . .

Remarca: Un multigraf G este specificat de catre multimile V , Esi o functie f : E → {{x , y} | x , y ∈ V , x 6= y}.

e, e ′ ∈ E sunt paralele daca f (e) = f (e ′).

Marin, M. Grafuri

Page 11: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

MultigrafExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Pentru evitarea supraıncarcarii legaturilor telefonice, calculatoarediferite pot fi conectate cu mai multe linii telefonice:

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13}f : E → {{x , y} | x , y ∈ V , x 6= y},f returneaza capetele fiecarei muchii:

f (e1) = {SF, Dn}, f (e2) = {SF, LA},f (e3) = f (e4) = {LA, Dn}, f (e5) = f (e6) = f (e7) = {Dn, C},f (e8) = {C, Dt}, f (e9) = {Dt, NY}, . . .

Remarca: Un multigraf G este specificat de catre multimile V , Esi o functie f : E → {{x , y} | x , y ∈ V , x 6= y}.

e, e ′ ∈ E sunt paralele daca f (e) = f (e ′).

Marin, M. Grafuri

Page 12: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

PseudografExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Putem considera si legaturi telefonice de la un calculator la elınsusi (de exemplu, pentru diagnosticare):

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13e14

e15

e16

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13, e14, e15, e16}f : E → {{x , y} | x , y ∈ V , x 6= y},f returneaza capetele fiecarei muchii:

f (e1) = {SF, Dn}, f (e2) = {SF, LA},f (e3) = f (e4) = {LA, Dn}, f (e5) = f (e6) = f (e7) = {Dn, C},f (e8) = {C, Dt}, f (e9) = {Dt, NY}, . . . , f (e16) = {NY}

Remarca: Un pseudograf G este specificat de catre multimile V ,E si o functie f : E → {{x , y} | x , y ∈ V }.

e ∈ E este o bucla daca f (e) = {x}, x ∈ V .Exemple: e14, e15, e16 sunt bucle.

Marin, M. Grafuri

Page 13: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

PseudografExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Putem considera si legaturi telefonice de la un calculator la elınsusi (de exemplu, pentru diagnosticare):

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13e14

e15

e16

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13, e14, e15, e16}f : E → {{x , y} | x , y ∈ V , x 6= y},f returneaza capetele fiecarei muchii:

f (e1) = {SF, Dn}, f (e2) = {SF, LA},f (e3) = f (e4) = {LA, Dn}, f (e5) = f (e6) = f (e7) = {Dn, C},f (e8) = {C, Dt}, f (e9) = {Dt, NY}, . . . , f (e16) = {NY}

Remarca: Un pseudograf G este specificat de catre multimile V ,E si o functie f : E → {{x , y} | x , y ∈ V }.

e ∈ E este o bucla daca f (e) = {x}, x ∈ V .Exemple: e14, e15, e16 sunt bucle.

Marin, M. Grafuri

Page 14: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

PseudografExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Putem considera si legaturi telefonice de la un calculator la elınsusi (de exemplu, pentru diagnosticare):

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13e14

e15

e16

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13, e14, e15, e16}f : E → {{x , y} | x , y ∈ V , x 6= y},f returneaza capetele fiecarei muchii:

f (e1) = {SF, Dn}, f (e2) = {SF, LA},f (e3) = f (e4) = {LA, Dn}, f (e5) = f (e6) = f (e7) = {Dn, C},f (e8) = {C, Dt}, f (e9) = {Dt, NY}, . . . , f (e16) = {NY}

Remarca: Un pseudograf G este specificat de catre multimile V ,E si o functie f : E → {{x , y} | x , y ∈ V }.

e ∈ E este o bucla daca f (e) = {x}, x ∈ V .Exemple: e14, e15, e16 sunt bucle.

Marin, M. Grafuri

Page 15: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf orientat (digraf)Exemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Exista cel mult o legatura de la un calculator la altul.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {(SF, SF), (Dn, SF), (Dn, LA), (LA, Dn), (LA, SF),

(Dn, C), (C, Dn), (C, Dt), (Dt, NY), (C, NY),

(C, W), (W, NY), (NY, W), (NY, NY)}

Observatii:

Muchiile unui digraf G = (V ,E ) sunt o submultimeE ⊆ (V × V ).

Daca u 6= v atunci (u, v) 6= (v , u).

Marin, M. Grafuri

Page 16: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf orientat (digraf)Exemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Exista cel mult o legatura de la un calculator la altul.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {(SF, SF), (Dn, SF), (Dn, LA), (LA, Dn), (LA, SF),

(Dn, C), (C, Dn), (C, Dt), (Dt, NY), (C, NY),

(C, W), (W, NY), (NY, W), (NY, NY)}

Observatii:

Muchiile unui digraf G = (V ,E ) sunt o submultimeE ⊆ (V × V ).

Daca u 6= v atunci (u, v) 6= (v , u).

Marin, M. Grafuri

Page 17: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf orientat (digraf)Exemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Exista cel mult o legatura de la un calculator la altul.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {(SF, SF), (Dn, SF), (Dn, LA), (LA, Dn), (LA, SF),

(Dn, C), (C, Dn), (C, Dt), (Dt, NY), (C, NY),

(C, W), (W, NY), (NY, W), (NY, NY)}

Observatii:

Muchiile unui digraf G = (V ,E ) sunt o submultimeE ⊆ (V × V ).

Daca u 6= v atunci (u, v) 6= (v , u).

Marin, M. Grafuri

Page 18: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf orientat (digraf)Exemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Exista cel mult o legatura de la un calculator la altul.

SF Dn

LA

C

Dt NY

W

V={SF,LA,Dn,C,Dt,NY,W}E = {(SF, SF), (Dn, SF), (Dn, LA), (LA, Dn), (LA, SF),

(Dn, C), (C, Dn), (C, Dt), (Dt, NY), (C, NY),

(C, W), (W, NY), (NY, W), (NY, NY)}

Observatii:

Muchiile unui digraf G = (V ,E ) sunt o submultimeE ⊆ (V × V ).

Daca u 6= v atunci (u, v) 6= (v , u).

Marin, M. Grafuri

Page 19: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Multigraf orientatExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Putem avea muchii multiple (paralele) de la o sursa la odestinatie.

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13e14

e15

e16

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13, e14, e15, e16}f : E → V × V ,

f returneaza sursa si destinatia fiecarei muchii:

f (e1) = (Dn, SF), f (e2) = (LA, SF), f (e3) = (LA, Dn),

f (e4) = (Dn, LA), f (e5) = f (e6) = (Dn, C), f (e7) = (C, Dn),

f (e8) = (C, Dt), . . . , f (e16) = (NY, NY)

Remarca: Un multigraf orientat G este specificat de catremultimile V , E si o functie f : E → V × V .

Marin, M. Grafuri

Page 20: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Multigraf orientatExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Putem avea muchii multiple (paralele) de la o sursa la odestinatie.

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13e14

e15

e16

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13, e14, e15, e16}f : E → V × V ,

f returneaza sursa si destinatia fiecarei muchii:

f (e1) = (Dn, SF), f (e2) = (LA, SF), f (e3) = (LA, Dn),

f (e4) = (Dn, LA), f (e5) = f (e6) = (Dn, C), f (e7) = (C, Dn),

f (e8) = (C, Dt), . . . , f (e16) = (NY, NY)

Remarca: Un multigraf orientat G este specificat de catremultimile V , E si o functie f : E → V × V .

Marin, M. Grafuri

Page 21: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Multigraf orientatExemplu: calculatoare din orase diferite conectate prin legaturi telefonice

Muchiile sunt orientate de la un nod sursa la un nod destinatie

Putem avea muchii multiple (paralele) de la o sursa la odestinatie.

SF Dn

LA

C

Dt NY

W

e1

e 3

e 4

e2

e 8

e9

e10

e11e6e5

e7

e 12

e 13e14

e15

e16

V={SF,LA,Dn,C,Dt,NY,W}E = {e1, e2, e3, . . . , e11, e12, e13, e14, e15, e16}f : E → V × V ,

f returneaza sursa si destinatia fiecarei muchii:

f (e1) = (Dn, SF), f (e2) = (LA, SF), f (e3) = (LA, Dn),

f (e4) = (Dn, LA), f (e5) = f (e6) = (Dn, C), f (e7) = (C, Dn),

f (e8) = (C, Dt), . . . , f (e16) = (NY, NY)

Remarca: Un multigraf orientat G este specificat de catremultimile V , E si o functie f : E → V × V .

Marin, M. Grafuri

Page 22: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Graf ponderatExemplu: retea de legaturi feroviare ıntre niste orase

Un graf G = (V ,E ) ımpreuna cu o functie w : E → Y careasociaza o greutate (sau pondere) w(e) fiecarei muchii e ∈ E .

I De obicei, ponderile sunt numere reale (A ⊆ R)

I In acest exemplu, ponderile sunt distantele ın kilometri dintreorase.

Marin, M. Grafuri

Page 23: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Tipuri de grafuriTerminologie

Tip muchii muchii multiple? Bucle?

Graf simplu neorientate nu nuMultigraf neorientate da nuPseudograf neorientate da daGraf orientat orientate nu daMultigraf orientat orientate da da

Marin, M. Grafuri

Page 24: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Modele bazate pe grafuri1. Graf de suprapunere de nisa:

Graf simplu ce modeleaza interactiunea dintre specii diferite deanimale:

fiecare specie este reprezentata de un nodmuchiile sunt ıntre specii ım competitie pentru resursecomune de mancare

raton

oposum

naparca

cioara

ciocanitoare

veverita

soimbufnita

soarece

Marin, M. Grafuri

Page 25: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Modele bazate pe grafuri2. Graf de turneu

Graf orientat (V ,E ) care modeleaza un campionat ın care fiecareechipa joaca o singura data cu fiecare din celelalte echipe:

Fiecare echipa este reprezentata ca nod ın graf

(a, b) ∈ E indica faptul ca echipa a a ınvins echipa b.

Exemplu: turneu de 6 echipe

Echipa 6 Echipa 3

Echipa 2

Echipa 4

Echipa 1

Echipa 5

Marin, M. Grafuri

Page 26: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Modele bazate pe grafuri3. Graf de precedenta

Graf orientat G = (V ,E ) care descrie relatiile de dependentadintre instructiunile unui program P:

Nodurile corespund instructiunilor din programul P

(s, s ′) ∈ E daca instructiunea s ′ nu poate fi executata ınainteainstructiunii s.

Exemplu:

Marin, M. Grafuri

Page 27: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Alte modele bazate pe grafuri

4. Arbore de familie al unei persoane X : graf orientat carereprezinta toti stramosii cunoscuti ai lui X :

Noduri: X si toti stramosii cunoscuti ai lui XMuchii: (a, b) reprezinta faptul ca b este copilul lui a.

Exemplu: arbore de familie al lui JFK:

John F. Kennedy

Joseph P. Kennedy

Rose F. Kennedy

Patrick J. Kennedy

Mary A. Hickey

John F. Fitzgerald

Mary J. Hannon

5. Graful web: WWW poate fi modelat ca un graf orientat

nodurile sunt paginile webo muchie de la A la B indica existenta unui hyperlink dinpagina A la pagina B.

Marin, M. Grafuri

Page 28: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de bazaTerminologie pentru grafuri neorientate G = (V ,E) (1)

Nodurile u, v sunt incidente daca e = {u, v} ∈ E .Muchia e este incidenta cu nodul u si cu nodul v .Nodurile u, v sunt capetele muchiei e.u este vecinul lui v , si v este vecinul lui u.

Gradul deg(u) unui nod u este numarul de muchii incidente cuu; buclele contribuie de 2 ori la gradul unui nod.

u este izolat daca deg(u) = 0, si pendant daca deg(u) = 1.

Exemplu

a f e g

b c d a b c

e d

G H

In G : deg(a) = 2, deg(b) = deg(c) = deg(f ) = 4, deg(d) = 1, deg(e) =3, deg(g) = 0.

In H: deg(a) = 4, deg(b) = deg(e) = 6, deg(c) = 1, deg(d) = 5.

Marin, M. Grafuri

Page 29: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de bazaTerminologie pentru grafuri neorientate G = (V ,E) (1)

Nodurile u, v sunt incidente daca e = {u, v} ∈ E .Muchia e este incidenta cu nodul u si cu nodul v .Nodurile u, v sunt capetele muchiei e.u este vecinul lui v , si v este vecinul lui u.

Gradul deg(u) unui nod u este numarul de muchii incidente cuu; buclele contribuie de 2 ori la gradul unui nod.

u este izolat daca deg(u) = 0, si pendant daca deg(u) = 1.

Exemplu

a f e g

b c d a b c

e d

G H

In G : deg(a) = 2, deg(b) = deg(c) = deg(f ) = 4, deg(d) = 1, deg(e) =3, deg(g) = 0.

In H: deg(a) = 4, deg(b) = deg(e) = 6, deg(c) = 1, deg(d) = 5.

Marin, M. Grafuri

Page 30: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (2)

Ordinul lui G este |V |, numarul de noduri.Marimea lui G este |E |, numarul de muchii.Vecinatatea lui x ∈ V este N(x) := {y | y este vecin al lui x}Vecinatatea ınchisa a lui x este N[x ] := N(x) ∪ {x}Gradul minim al lui G este δ(G ) = min{deg(x) | x ∈ V }Gradul maxim al lui G este ∆(G ) = max{deg(x) | x ∈ V }

Exemplu

a

e

b

f

c

g h

d

G = (V ,E ) unde V = {a, b, c , d , e, f }, E = {{a, d}, {a, e},{b, c}, {b, e}, {b, g}, {c , f }, {d , f }, {d , g}, {g , h}}

N(d) = {a, f , g}, N[d ] = {a, d , f , g},∆(G ) = deg(b) = 3, δ(G ) = deg(h) = 1.

Marin, M. Grafuri

Page 31: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (2)

Ordinul lui G este |V |, numarul de noduri.Marimea lui G este |E |, numarul de muchii.Vecinatatea lui x ∈ V este N(x) := {y | y este vecin al lui x}Vecinatatea ınchisa a lui x este N[x ] := N(x) ∪ {x}Gradul minim al lui G este δ(G ) = min{deg(x) | x ∈ V }Gradul maxim al lui G este ∆(G ) = max{deg(x) | x ∈ V }

Exemplu

a

e

b

f

c

g h

d

G = (V ,E ) unde V = {a, b, c , d , e, f }, E = {{a, d}, {a, e},{b, c}, {b, e}, {b, g}, {c , f }, {d , f }, {d , g}, {g , h}}

N(d) = {a, f , g}, N[d ] = {a, d , f , g},∆(G ) = deg(b) = 3, δ(G ) = deg(h) = 1.

Marin, M. Grafuri

Page 32: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateConectivitate (3)

Fie G = (V ,E ) un graf neorientat.

Un lant (sau cale) de la v1 la vn este o secventa de nodurid = (v1, v2, . . . , vn) astfel ıncat vi+1 este vecinul lui vi pentruorice 1 ≤ i < n.

I Lungimea lantului d este n − 1.I d este elementar daca nodurile v1, . . . , vn sunt distincte.I d este simplu daca nu contine de mai multe ori aceeasi muchie.I d este ciclu daca este lant simplu de lungime ≥ 3 si, v1 = vn.I Un ciclu d = (v1, . . . , vn, v1) este elementar daca nodurile

v1, . . . , vn sunt distincte.

v si v ′ sunt conectate daca exista un lant de la v la v ′.

G este conex daca orice 2 noduri sunt conectate.

Marin, M. Grafuri

Page 33: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (4)

Exemplu

f

c b

g

d e

a • (f ) este lant de lungime 0.

• (a, c, f , c, b, d) este lant de lungime 5.

Acest lant nu este nici simplu nici elementar.

• (b, a, c, b, d , b) este ciclu de lungime 4.

Acest ciclu este simplu si ne-elementar.

• (d , g , b, a, c, f , e) este lant simplu si elementar de lungime 6.

• (g , d , b, c, a, b, g) este ciclu simplu dar ne-elementar.

• (e, d , b, a, c, f , e) este ciclu elementar.

Observatii:

1 Un lant sau ciclu elementar este simplu.

2 Teorema Fundamentala 1:∑

v∈V deg(v) = 2 · |E |.3 Teorema Fundamentala 2: Daca v si v ′ sunt conectate

atunci exista un lant elementar de la v la v ′.

Marin, M. Grafuri

Page 34: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (4)

Exemplu

f

c b

g

d e

a • (f ) este lant de lungime 0.

• (a, c, f , c, b, d) este lant de lungime 5.

Acest lant nu este nici simplu nici elementar.

• (b, a, c, b, d , b) este ciclu de lungime 4.

Acest ciclu este simplu si ne-elementar.

• (d , g , b, a, c, f , e) este lant simplu si elementar de lungime 6.

• (g , d , b, c, a, b, g) este ciclu simplu dar ne-elementar.

• (e, d , b, a, c, f , e) este ciclu elementar.

Observatii:

1 Un lant sau ciclu elementar este simplu.

2 Teorema Fundamentala 1:∑

v∈V deg(v) = 2 · |E |.3 Teorema Fundamentala 2: Daca v si v ′ sunt conectate

atunci exista un lant elementar de la v la v ′.

Marin, M. Grafuri

Page 35: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (4)

Exemplu

f

c b

g

d e

a • (f ) este lant de lungime 0.

• (a, c, f , c, b, d) este lant de lungime 5.

Acest lant nu este nici simplu nici elementar.

• (b, a, c, b, d , b) este ciclu de lungime 4.

Acest ciclu este simplu si ne-elementar.

• (d , g , b, a, c, f , e) este lant simplu si elementar de lungime 6.

• (g , d , b, c, a, b, g) este ciclu simplu dar ne-elementar.

• (e, d , b, a, c, f , e) este ciclu elementar.

Observatii:

1 Un lant sau ciclu elementar este simplu.

2 Teorema Fundamentala 1:∑

v∈V deg(v) = 2 · |E |.3 Teorema Fundamentala 2: Daca v si v ′ sunt conectate

atunci exista un lant elementar de la v la v ′.

Marin, M. Grafuri

Page 36: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (4)

Exemplu

f

c b

g

d e

a • (f ) este lant de lungime 0.

• (a, c, f , c, b, d) este lant de lungime 5.

Acest lant nu este nici simplu nici elementar.

• (b, a, c, b, d , b) este ciclu de lungime 4.

Acest ciclu este simplu si ne-elementar.

• (d , g , b, a, c, f , e) este lant simplu si elementar de lungime 6.

• (g , d , b, c, a, b, g) este ciclu simplu dar ne-elementar.

• (e, d , b, a, c, f , e) este ciclu elementar.

Observatii:

1 Un lant sau ciclu elementar este simplu.

2 Teorema Fundamentala 1:∑

v∈V deg(v) = 2 · |E |.

3 Teorema Fundamentala 2: Daca v si v ′ sunt conectateatunci exista un lant elementar de la v la v ′.

Marin, M. Grafuri

Page 37: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri neorientateTerminologie pentru G = (V ,E) (4)

Exemplu

f

c b

g

d e

a • (f ) este lant de lungime 0.

• (a, c, f , c, b, d) este lant de lungime 5.

Acest lant nu este nici simplu nici elementar.

• (b, a, c, b, d , b) este ciclu de lungime 4.

Acest ciclu este simplu si ne-elementar.

• (d , g , b, a, c, f , e) este lant simplu si elementar de lungime 6.

• (g , d , b, c, a, b, g) este ciclu simplu dar ne-elementar.

• (e, d , b, a, c, f , e) este ciclu elementar.

Observatii:

1 Un lant sau ciclu elementar este simplu.

2 Teorema Fundamentala 1:∑

v∈V deg(v) = 2 · |E |.3 Teorema Fundamentala 2: Daca v si v ′ sunt conectate

atunci exista un lant elementar de la v la v ′.

Marin, M. Grafuri

Page 38: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Tipuri speciale de grafuri simple (1)Kn,Cn,En

Grafurile complete Kn

K1 K2K3 K4 K5 K6

Grafurile cale Pn sunt lanturile elementare de n noduri

v1 v2 v3 vn

Grafurile vide En au n noduri, si nu au nici o muchie.

v1 v2 v3 . . . vn

Grafurile ciclice Cn constau din cicluri de lungime n

C3 C4

Marin, M. Grafuri

Page 39: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Tipuri speciale de grafuri simple (2)Grafuri bipartite

G = (V ,E ) este bipartit daca

I V = X ∪ Y unde X 6= ∅ 6= Y si X ∩ Y = ∅I Toate muchiile au un capat ın X si celalalt ın Y .

Exemplu de graf bipartit :

X YUn graf bipartit complet Km,n este un graf bipartit ıntre X si Y cu|X | = m, |Y | = n, astfel ıncat exista o muchie ıntre orice perechede noduri (x , y) ∈ X × Y .

Marin, M. Grafuri

Page 40: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri bipartite

Exemple de grafuri bipartite complete

K1,4 K3,4 K3,2

Observatii: Alte definitii echivalente pentru ca G sa fie bipartit:

I putem colora nodurile cu 2 culori astfel ıncat orice 2 noduriınvecinate sa aibe culori diferite.

I nu contine cicluri de lungime impara.

Exemple de grafuri bipartite

12

34

5

6=

1

3

5

2

4

6

K3,3

Dan

Ion

Nae

Leo

Ana

Lia

Zoe

Mia

relatii deprietenie

12

34

5

6

C6

=

1

3

5

2

4

6

Marin, M. Grafuri

Page 41: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri orientateTerminologie pentru G = (V ,E) (1)

Muchiile lui G se numesc arce. Scriem (u, v) ∈ E daca Econtine un arc cu sursa u si destinatia v .u, v sunt adiacente daca (u, v) ∈ E .Gradul interior al unui nod v estedeg−(v) = |{e ∈ E | e are destinatia v}|.Gradul exterior al unui nod v estedeg+(v) = |{e ∈ E | e are sursa v}|.

Exemplu

a

e

b c

d

f

Nod x deg−(x) deg+(x)a 0 2b 3 1c 1 3d 1 1e 2 2f 2 0

Observatie:∑v∈V

deg−(v) =∑v∈V

deg+(v).

Marin, M. Grafuri

Page 42: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri orientateTerminologie pentru G = (V ,E) (1)

Muchiile lui G se numesc arce. Scriem (u, v) ∈ E daca Econtine un arc cu sursa u si destinatia v .u, v sunt adiacente daca (u, v) ∈ E .Gradul interior al unui nod v estedeg−(v) = |{e ∈ E | e are destinatia v}|.Gradul exterior al unui nod v estedeg+(v) = |{e ∈ E | e are sursa v}|.

Exemplu

a

e

b c

d

f

Nod x deg−(x) deg+(x)a 0 2b 3 1c 1 3d 1 1e 2 2f 2 0

Observatie:∑v∈V

deg−(v) =∑v∈V

deg+(v).

Marin, M. Grafuri

Page 43: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Notiuni de baza pentru grafuri orientateConectivitate: Drumuri si circuite (2)

Un drum de la v1 la vn este o secventa de nodurid = (v1, v2, . . . , vn) astfel ıncat (vi , vi−1) ∈ E pentru orice1 ≤ i < n.

I Lungimea drumului d este n − 1.

I d este simplu daca arcele (v1, v2), . . . , (vn−1, vn) sunt distinctedoua cate doua.

I d este elementar daca nodurile v1, . . . , vn sunt distincte.

Observatie: orice drum elementar este simplu.

Un circuit este un drum simplu d = (v1, v2, . . . , vn) cu v1 = vn.

I Circuitul d = (v1, . . . , vn, v1) este elementar daca nodurilev1, . . . , vn sunt distincte.

Marin, M. Grafuri

Page 44: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri izomorfe

a b

hge f

dc

67

81 2

54

3

Daca putem redenumi si repozitiona nodurile primului graf, cele 2grafuri devin identice.

Grafuri izomorfe

G = (V1,E1) si H = (V2,E2) sunt izomorfe daca exista o functiebijectiva f : V1 → V2 astfel ıncat

{x , y} ∈ E1 daca si numai daca {f (x), f (y)} ∈ E2, sau

(x , y) ∈ E1 daca si numai daca (f (x), f (y)) ∈ E2.

Remarca: Cand 2 grafuri G si H sunt izomorfe, se obisnuieste sa sespuna ca “G este H” si sa se scrie “G = H”.

Marin, M. Grafuri

Page 45: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri izomorfe

a b

hge f

dc

67

81 2

54

3

Daca putem redenumi si repozitiona nodurile primului graf, cele 2grafuri devin identice.

Grafuri izomorfe

G = (V1,E1) si H = (V2,E2) sunt izomorfe daca exista o functiebijectiva f : V1 → V2 astfel ıncat

{x , y} ∈ E1 daca si numai daca {f (x), f (y)} ∈ E2, sau

(x , y) ∈ E1 daca si numai daca (f (x), f (y)) ∈ E2.

Remarca: Cand 2 grafuri G si H sunt izomorfe, se obisnuieste sa sespuna ca “G este H” si sa se scrie “G = H”.

Marin, M. Grafuri

Page 46: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri izomorfe

a b

hge f

dc

67

81 2

54

3

Daca putem redenumi si repozitiona nodurile primului graf, cele 2grafuri devin identice.

Grafuri izomorfe

G = (V1,E1) si H = (V2,E2) sunt izomorfe daca exista o functiebijectiva f : V1 → V2 astfel ıncat

{x , y} ∈ E1 daca si numai daca {f (x), f (y)} ∈ E2, sau

(x , y) ∈ E1 daca si numai daca (f (x), f (y)) ∈ E2.

Remarca: Cand 2 grafuri G si H sunt izomorfe, se obisnuieste sa sespuna ca “G este H” si sa se scrie “G = H”.

Marin, M. Grafuri

Page 47: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri izomorfe

a b

hge f

dc

67

81 2

54

3

Daca putem redenumi si repozitiona nodurile primului graf, cele 2grafuri devin identice.

Grafuri izomorfe

G = (V1,E1) si H = (V2,E2) sunt izomorfe daca exista o functiebijectiva f : V1 → V2 astfel ıncat

{x , y} ∈ E1 daca si numai daca {f (x), f (y)} ∈ E2, sau

(x , y) ∈ E1 daca si numai daca (f (x), f (y)) ∈ E2.

Remarca: Cand 2 grafuri G si H sunt izomorfe, se obisnuieste sa sespuna ca “G este H” si sa se scrie “G = H”.

Marin, M. Grafuri

Page 48: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Modalitati de reprezentare a grafurilor

1 Lista de noduri + lista de muchii

2 Liste de adiacenta

3 Matrice de adiacenta

4 Matrice de incidenta

5 Matrice de ponderi

Marin, M. Grafuri

Page 49: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri simpleReprezentarea cu lista de noduri + lista de muchii

Exemplu

a

b c

d

e

Lista de noduri V = [a, b, c, d , e]Lista de muchii E = [{a, b}, {a, c}, {a, d}, {b, c}, {c, e}, {d , e}]Observatii: {a, b} = {b, a}, {a, c} = {c, a}, etc.

muchie ↔ multimea de noduri adiacente la muchie

a

b c

d

e

Lista de noduri V = [a, b, c, d , e]Lista de arce E = [(a, b), (c, a), (c, b), (d , a), (e, c), (e, d)]Observatii: (a, b) 6= (b, a), (a, c) 6= (c, a), etc.

muchie ↔ pereche (start,end)

Remarca

Daca nu exista noduri izolate (cu 0 vecini), nu este necesar sa fieretinuta lista de noduri V :

I V se poate calcula din E

Marin, M. Grafuri

Page 50: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri simpleReprezentarea cu liste de adiacenta

Pentru fiecare nod u ∈ V se retine lista de noduri adiacente la u

I Daca G este neorientat, v este adiacent la u daca exista omuchie cu capetele u si v .

In grafuri neorientate, relatia de adiacenta este simetrica.

I Daca G este orientat, v este adiacent la u daca exista un arce ∈ E de la u la v , adica start(e) = u si end(e) = v .

Exemplu

a

b c

d

e

a 7→ [b, c, d ]b 7→ [a, c]c 7→ [a, b, e]

d 7→ [a, e]e 7→ [c, d ]

a

b c

d

e

a 7→ [b]b 7→ []c 7→ [a, b]

d 7→ [a]e 7→ [c, d ]

Marin, M. Grafuri

Page 51: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Matrice de adiacenta

Presupunem ca G = (V ,E ) este un graf cu |V | = n noduri.Matricea de adiacenta a lui G este AG = (mij) de dimensiunen × n si

mij := numarul de muchii de la al i-lea nod la al j-lea nod.

Observatii

1 Inainte de a construi AG din G , trebuie sa fixam o enumerarea tuturor nodurilor: [v1, v2, . . . , vn]

2 Daca G este neorientat, AG este matrice simetrica

3 Daca G este graf simplu, AG contine doar 0 si 1

Marin, M. Grafuri

Page 52: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Matrici de adiacenta pentru grafuri neorientateVizualizarea unui graf neorientat reprezentat de AG

Daca A este o matrice simetrica n × n cu aij ∈ N pentru toti i , j ,un graf neorientat G care are matricea de adiacenta A seconstruieste astfel:

1 Se deseneaza n noduri v1, . . . , vn ın plan

2 Pentru orice i , j ∈ {1, . . . , n} , se traseaza aij muchii distincteıntre vi si vj

Exemplu

A =

0 1 0 21 0 1 00 1 0 12 0 1 0

⇒ G :

v1

v2 v3

v4

Marin, M. Grafuri

Page 53: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Matrici de adiacenta pentru grafuri orientate

Graful G :a

b c

d

e are matricea de adiacenta

AG =

0 1 0 0 00 0 0 0 01 1 0 0 01 0 0 0 00 0 1 1 0

pentru enumerarea nodurilor [a, b, c , d , e].

Marin, M. Grafuri

Page 54: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Reprezentarea digrafurilor ponderateMatrici de ponderi

Matricea de ponderi WG = (wij) a unui graf simplu ponderat, saudigraf ponderat G cu n noduri [v1, . . . , vn] are dimensiunea n× n si

B wii = 0 pentru toti 1 ≤ i ≤ n.

B wij = w({vi , vj}) pentru orice muchie {vi , vj} ∈ E , daca Geste neorientat.

B wij = w((vi , vj)) pentru orice arc (vi , vj) ∈ E , daca G esteorientat.

B wij =∞ ın toate celelalte cazuri.

Digraf ponderat cu enumerare de noduri [a, b, c , d , e, f ]

G : a

e

b c

d

f

2

7

1

5

12

1

4

9

3

⇒WG =

0 3 ∞ ∞ 4 ∞∞ 0 2 ∞ ∞ ∞∞ 9 0 ∞ 1 12∞ ∞ ∞ 0 ∞ 7∞ 5 ∞ 1 0 ∞∞ ∞ ∞ ∞ ∞ 0

Marin, M. Grafuri

Page 55: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Reprezentarea digrafurilor ponderateMatrici de ponderi

Matricea de ponderi WG = (wij) a unui graf simplu ponderat, saudigraf ponderat G cu n noduri [v1, . . . , vn] are dimensiunea n× n si

B wii = 0 pentru toti 1 ≤ i ≤ n.

B wij = w({vi , vj}) pentru orice muchie {vi , vj} ∈ E , daca Geste neorientat.

B wij = w((vi , vj)) pentru orice arc (vi , vj) ∈ E , daca G esteorientat.

B wij =∞ ın toate celelalte cazuri.

Digraf ponderat cu enumerare de noduri [a, b, c , d , e, f ]

G : a

e

b c

d

f

2

7

1

5

12

1

4

9

3

⇒WG =

0 3 ∞ ∞ 4 ∞∞ 0 2 ∞ ∞ ∞∞ 9 0 ∞ 1 12∞ ∞ ∞ 0 ∞ 7∞ 5 ∞ 1 0 ∞∞ ∞ ∞ ∞ ∞ 0

Marin, M. Grafuri

Page 56: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Modalitati de reprezentare a grafurilorStudiu comparativ

I Reprezentarea cu lista de muchii

Adecvata pentru reprezentarea grafurilor simple fara noduriizolate, cu |E | � |V |Complexitate spatiala (memorie ocupata): O(|E |)

I Reprezentarea cu liste de adiacenta

Permite enumerarea rapida a vecinilor unui nodComplexitate spatiala (memorie ocupata): O(|V |+ |E |)

I Reprezentarea cu matrice de adiacenta AG = (aij) sau cumatrice de ponderi WG = (wij)

Test rapid de conectivitate directa ıntre 2 noduri: O(1)

@(vi , vj) ∈ E daca aij = 0 sau daca wij = ∞Complexitate spatiala (memorie ocupata): O(|V |2)

- reprezentare neadecvata cand |E | � |V |2

Reprezentare cu matrice de incidenta MG

I Complexitate temporala: O(|V | · |E |)

Marin, M. Grafuri

Page 57: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Operatii pe grafuri

Presupunem ca G = (V ,E ) este un graf neorientat, v ∈ V , S ⊆ V ,e ∈ E , T ⊆ E

Stergere de noduri:

G − v este graful care se obtine eliminand din G nodul v sitoate muchiile incidente la v .G − S este graful care se obtine eliminand din G nodurile dinS si toate muchiile incidente la un nod din S .Un subgraf al lui G este orice graf G − S .

Stergere de muchii

G − e este graful care se obtine eliminand din G muchia e.Capetele lui e nu se elimina.G − T este graful care se obtine eliminand din G toatemuchiile din T .

Marin, M. Grafuri

Page 58: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri partiale si subgrafuri

Fie G ′ = (V ,E ′) si G ′ = (V ′,E ′).

G ′ este un graf partial al lui G daca V ′ ⊆ V si G ′ se obtinedin G prin stergeri succesive de noduri si muchii.

G ′ este un subgraf al lui G daca V ′ ⊆ V si G ′ se obtinestergand din G nodurile din V − V ′.

I G ′ este o componenta a lui G daca este un subgraf maximalcare este conex.

I G ′ este o clica a lui G daca (1) G ′ este subgraf al lui G si(2) G ′ este (izomorf cu) un graf complet Kn, n ≥ 2.

v este un nod de taiere al lui G daca G − v are mai multecomponente decat G .

e este o punte a lui G daca G − e are mai multe componentedecat G .

S este o multime de taiere a unui graf conex G daca

I ∅ 6= S ( V , siI G − S nu este conex.

Marin, M. Grafuri

Page 59: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri neorientateComponente conexe

Exemple

1 G1 : este conex.a

b

c

d

e

2 G2 : nu este conex. G2 are 3 componente:a

b

c

d

e

fg

G2 − {e, f , g}, G2 − {a, b, c , d , e}, si G3 = G2 − {a, b, c , d , f , g}.

3 G3 : nu este conex. G3 are 2 componente:a

bc

d

e f

G3 − {b, d , f } si G3 − {a, c , e}.

Marin, M. Grafuri

Page 60: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Operatii pe grafuriExemplu: stergere de noduri si muchii

a

b c

e f

g

G−d

a

b c

d

e f

g

G

a

b c

d

e f

g

G−{{c, d}}

a

b c

d

e f

g

G − {{e, g}, {f , g}}

I d este nod de taiere ın G .

I {a, b} este punte ın G .

Marin, M. Grafuri

Page 61: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Operatii pe grafuriExemplu: stergere de noduri si muchii

a

b c

e f

g

G−d

a

b c

d

e f

g

G

a

b c

d

e f

g

G−{{c, d}}

a

b c

d

e f

g

G − {{e, g}, {f , g}}

I d este nod de taiere ın G .

I {a, b} este punte ın G .

Marin, M. Grafuri

Page 62: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Operatii pe grafuriExemplu: stergere de noduri si muchii

a

b c

e f

g

G−d

a

b c

d

e f

g

G

a

b c

d

e f

g

G−{{c, d}}

a

b c

d

e f

g

G − {{e, g}, {f , g}}

I d este nod de taiere ın G .

I {a, b} este punte ın G .

Marin, M. Grafuri

Page 63: Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati ...staff.fmi.uvt.ro/~mircea.marin/lectures/TGC/Grafuri-01.pdf · Grafuri Concepte de baz a. Tipuri de grafuri. Modalit at˘i

Grafuri partiale si subgrafuri

Fie G , G ′ doua grafuri.

Spunem ca G este liber de G ′, sau G ′-liber, daca G ′ nu estesubgraf al lui G .

Quiz

Se considera grafurile

K1,3 Z1 N

Care din grafurile urmatoare sunt K1,3-libere? Care sunt Z1-libere?Care sunt N-libere?

Marin, M. Grafuri