Grafuri Perfecte Ș I Aplicaț Ii: Problema Recunoaș Terii Grafelor Perfecte
Grafuri Perfecte Ș I Aplicaț Ii: Problema Recunoaș Terii Grafelor Perfecte
Facultatea de Matematică
prezentat de:
BOULHRAM Lysa
M1-RO2MIR
lysaboulhram@[Link]
Iunie 2021
Table des matières
1 Prezentare generală 6
1.1 Concepte fundamentale ale teoriei grafurilor. 6
1.1.1 Grafic . . . . . . . . . . . . . . . . . . . . . . 6 . . .
1.1.2 Vârful adiacent 6
1.1.3 Subgrafuri ș i subgrafuri induse . . . . . . . . . . . . .7 . . .
1.1.4 Complementar unui graf 7
1.1.5 Grafuri conexe 7
1.1.6 Stabil 8
1.1.7 Clique . . . . . . . . . . . . . . . . . . . . . . 8 . . .
1.1.8 lan ț . . . . . . . . . . . . . . . . . . . . . . .8 . . .
1.1.9 ciclu . . . . . . . . . . . . . . . . . . . . . . 8. . . .
1.1.10 cord trou ș i anti-trou . . . . . . . . . . . . . . . . . . . . . . . . . . .8 .
1.1.11 Graf Complet 9
1.1.12 Arbori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Complexitate Algoritmică ș i Clasele Problemelor . . . . . . . . . . 9. . . .
1.2.1 Algoritm 9
1.2.2 Complexitatea unui Algoritm 9
1.2.3 Complexitatea unei Probleme 9
1.2.4 Clase de probleme . . . . . . . . . . . . . . . . . . . .
1.2.5 Problema recunoa ș terii grafurilor . . . . . . . . . . . . . . . .
3 Grafic triangulat 14
3.1 Ordine de eliminare simplicială . . . . . . . . . . . . . . . . . . . .
3.1.1 Vârful simplicial . . . . . . . . . . . . . . . . . . . . . .
3.2 Algoritmul de recunoa ș tere a graficelor triunghiulare . . . . . . . . . . . .
3.3 Aplica ț ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Limbaj utilizat . . . . . . . . . . . . . . . . .
3.3.2 program de recunoa ș tere a grafurilor triunghiulare . . . . . .
3.3.3 Aplica ț ie pe un Exemplu . . . . . . . . . . . . . . . . . .
2
4 grafuri fără picioare 20
4.1 Graf multiparti-complet . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Algoritmul de recunoa ș tere a graficelor Fără Picior . . . . . . . .
4.2 Aplica ț ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 program de recunoa ș tere a graficelor fără triunghi . . . . .
4.2.2 program de recunoa ș tere a grafurilor multipartite-complete . . . .
4.2.3 program de recunoa ș tere a grafurilor fără picior . . . . . .
3
Introducere
Teoria grafurilor este un domeniu foarte vast. O folosim adesea ca instrument de modelare.
rezolvarea problemelor practice. Într-adevăr, soluț ionarea unei probleme modelate printr-un graf
revine în general la căutarea anumitor caracteristici ale graficului sau la colorarea acestuia sau chiar
a testa apartenenț a la una dintre clasele cunoscute de grafuri. Acest test pe care îl efectuezi pentru
a decide apartenenț a sau nu a unui graf la o clasă dată de grafuri este cunoscut sub
numele „recunoaș terii grafurilor”. Există mai multe clase de grafuri în literatura-
Importanț a lor rezidă în utilitatea lor în practici ș i în diversele situaț ii care
pot fi modelizate prin grafuri aparț inând acestor clase.
Vom defini ulterior clasa graficelor triunghiulare ș i vom aborda problema re-
cunoș tinț ă. În capitolul trei.
În al doilea capitol, vom vorbi despre clasa grafurilor perfecte care a fost definită
par Berge la începutul anilor 1960. Treptat, mai multe rezultate au arătat că această clasă
4
În capitolul patru, se vorbeș te despre grafurile Sns patte. Se va oferi o prezentare generală asupra
proprietăț ile cele mai importante ale acestei clase de graf. De asemenea, se vor oferi diferitele instrumente
et noț iuni folosite pentru recunoaș tere În cele din urmă, vom rezolva prin intermediul unui pro-
5
Capitolul 1
Prezentare generală
1.1.1 Graf
sunt numiț i vârfuri, ș i prin ansamblul finitE= e1 , e2 , ..., e melementele sunt numite
ariste. O arista e a ansamblului E este definită printr-o pereche neordonată de vârfuri, numite
Să fieu, v două vârfuri deG. Siuv∈ Edeciuetvsunt numiț i adiacenț i sau vecini.
Reciproc, dacăuv/∈
/ Edeciuș ivsunt numiț i non-adjacent sau non-vecini. Dacă e= uvest
o arț ă de G, atunciuș ivsunt extremităț ile dee, et e est dite incidente ‘a uș ivDoi
Ar etele sunt numite incidente dacă au o extremitate comună.
6
1.1.3 Subgrafuri ș i subgrafuri induse
Aș adarG= (V,Eun grafic simplu. un grafic simplu H se spune subgraf deG= (V,E)si
V(H) ⊆ VetE(H) ⊆ E
graful complementar sau graful inversat al unui graf simpluGeste un graf simplu
G¯având aceleaș i vârfuri ș i astfel încât două vârfuri distincte deGsă fie adiacente
¯ dacă ș i
doar dacă nu sunt adiacente înG.
Definiț ie :Se defineș te o relaț ie notată între vârfurile unui grafG= (V,E)dacă
sunt legate printr-un drum. Verificăm că este o relaț ie de echivalenț ă. O clasă de echivalenț ă
pentru este numită componentă conexă deGSe spune căGeste conex dacă are o singură
componente conexe. Cu alte cuvinte, un grafic G este conex dacă pentru toț i x, y din V, există
7
1.1.6 Stabil
1.1.7 Grup
O clică deG, notatK , este un ansamblu de vârfuri adiacente două câte două. Dimensiunea
o clique este egală cu numărul vârfurilor sale. O clique de Geste maxim ș i ea este de
dimensiune maximă înG.
cardinalitatea maximă a unei clique din G este notată de numărulG)
1.1.8 lan ț
O serie de G este o listă ordonată de vârfuri astfel încât fiecare vârf din listă să fie
adiacent la următorul
1.1.9 ciclu
Lungimea unei lanț uri sau a unui ciclu este numărul de muchii care o compun.
O coardă este un arc care leagă două vârfuri non-consecutive ale unui ciclu.
Un graf cu un ciclu care are cel puț in patru vârfuri ș i ale cărui vârfuri pot fi ordonate
într-un mod care să formeze un ciclu fără sârmă.
8
1.1.11 Graf Complet
Un grafic este complet dacă toate vârfurile sunt adiacente între ele.
complet de ordineneste notăKn .
1.1.12 Arbori
Se numeș te arbore orice graf simpl conex fără ciclu. Se numeș te pădure orice graf simpl
fără ciclu.
problemă
1.2.1 Algoritm
procedură de calcul bine definită care ia ca intrare o valoare sau un set de valori,
datele pe care le manipulează. În general, notăm această dimensiune cu n ș i căutăm „formula(n)” care
9
1.2.4 Clase de probleme
Defini ț ieDacă algoritmul care rezolvă A este polinomial, având în vedere apelurile la al său
ritmul rezolvării B ca având complexitate constantă, reducerea este numită polinomială. Se spune
Clasa P
Clasa NP
Clasa NP-Complet
Clasa NP-Dificilă
Acestea sunt problemele de optimizare ale căror probleme de decizie corespunzătoare sunt NP-complete.
10
ultimii ani sunt numeroș i, ei sunt reflecț ia gamelor de metode de care dispunem
pentru a trata problemele de optimizare combinatorie.
Recunoaș terea unei clase de grafuri înseamnă a oferi un algoritm care să decidă dacă
un grafic aparț ine sau nu clasei.
11
Capitolul 2
Clasa graficelor perfecte a fost definită de Berge la începutul anilor 1960. Treptat
mai multe rezultate au arătat că această clasă avea numeroase proprietăț i bune, ș i
că aceasta conț inea un număr mare de clase deja existente
Definiț ie:Se defineș te clasa graficelor perfecte ca fiind clasa grafelor G astfel
ce pentru totH subgraf deG, aș adarω(H) = χ(H)
Un graf G se spune de Berg dacă nu conț ine nici o gaura impară, nici un anti-gaura impară ca sub-
graf indus.
cunoscuț i pentru cele 3 teoreme următoare, care au fost mult timp conjecturi. Fiecare
d’eux este astăzi rezolvat:
12
2.2.1 Conjectura slabă a grafelor perfecte
Teoremă
Aș adarGun ¯
grafic perfect. AtunciGcomplementarul deGeste de asemenea perfect
Ce teoremă a fost enunț ată de Berge ș i rezolvată 12 ani mai târziu, în 1972, de Laslo Lovasz.
Teoremă
G este perfect dacă niciGniG ¯nu conț in găuri de lungime impară
Teoremă
Există un algoritm terminat în timp polinomial care determină dacă un graf simpluGest
perfect sau nu.
13
Capitolul 3
Graf triunghiular
Unul dintre aspectele interesante ale grafurilor perfecte este că ele con ț in mai multe clase
locaț ie. Definim această clasă, oferind în acelaș i timp generalităț i, precum ș i algoritmul
de recunoaș tere a acestei clase de graf.
Definiț ie
Un graf este triangulat dacă tot ciclu de lungime ≥ 4conț ine o cordă (adică, graful este fără
Ckpunek≥ 4); ( adică singurele cicluri induse sunt triunghiuri.)
Exemple
Figura 3.1– -a- Graf triunghiular -b- Graf non triunghiular deoarece conț ine un ciclu
de lungime 4.
14
3.1 Ordin de eliminare simplicial
Definiț ie
Un vârf x al unui graf G este spus simplicial dacă vecinătatea sa NG(x) este o clică.
Definiț ie
Un grafGà nsommets a un ordre d’élimination simplicial (PEO) dacă ș i numai dacă există un
ordine{v1 , ..., v n } vârful deG, astfel încât fiecareveueste simplu în graficele induse
prin vârfuri{v1 , ..., v n }
Teoremă (fulkerson ș i Gross)
Un graf este triangulat dacă ș i numai dacă are un ordin de eliminare simplical.
gulés
LexBFS, sau parcurgerea în lăț ime lexicografică este un algoritm din teoria grafurilor.
Este un rafinament al algoritmului de parcurs pe lăț ime (BFS pentru Breadth First Search)
în engleză). Acest parcurs este foarte util pentru a studia anumite clase de grafuri ș i pentru a obț ine
15
Algoritmul 1 Algoritmul lex-BFS
Rezultat :: Un ordinσ vârfurile deG.
marcax) → ∅
fin pentru
Pentrueu= na1faire:
σ(eu) → x
Pentru fiecare vecin neenumeratydexa face
fin pentru
Pentru a recunoaș te, aș adar, dacă un graf este triunghiat, este suficient să verifici dacă ordinea de eliminare
principiul algoritmului
Principiul este în linii mari de a realiza un parcurs pe lăț ime, privilegiind nodurile care
sunt cei mai puț in „văzuț i recent”.
Un pseudocod este următorul, pentru un graf cu n noduri: Iniț ial, fiecare nod are
Alegeț i un vârf v care nu are număr ș i care are cea mai mare etichetă în ordine lexicografică
grafic.
Asociaț i numărul i cu v.
Pentru orice vârf adiacent lui v care nu are un număr, concatenaț i i la etichetă.
16
3.3 Aplica ț ie
Python este un limbaj de programare de nivel înalt, de uz general, utilizat pe scară largă.
A fost creat de Guido van Rossum în 1991 ș i dezvoltat de Python Software Foundation.
a fost conceput punând accent pe lizibilitatea codului, iar sintaxa sa permite programatorilor
17
3.3.2 program de recunoa ș tere a graficelor triunghiulare
18
3.3.3 Aplica ț ie pe un Exemplu
triunghiular.
19
Capitolul 4
Această clasă de grafuri, generalizând grafurile bipartite complete, este definită după cum urmează:
S1,S2, ..., Sp , aș a cum pentrueu= 1, 2, ..., p, orice vârf de Si este adiacent oricărui vârf
20
stabile au acelaș i vecinătate.
21
Algoritm 3recunoaș terea grafurilor fără picior
Date: Un graf G = (V, E) cu n vârfuri.
Rezultatul: G este fără picior sau nu
sauGeste multipartit-complet
alorsG est sans patte
fin si
fin algoritm
4.2 Aplica ț ie
22
4.2.2 program de recunoa ș tere a grafurilor multipartite-complete
23
Concluzie
Această lucrare face obiectul unei studii asupra claselor de grafuri perfecte, mai precis asupra
grafuri triunghiulare ș i grafuri fără coadă ș i proprietăț ile lor ș i generalizările după ce au
a reamintit noț iunile de bază ale teoriei grafurilor, în special anumite clase de grafuri
clasice, am menț ionat câteva teoreme despre grafuri triunghiulare.
Obiectivul acestei studii este de a face cunoscut, într-o manieră generală, conceptul de clase.
de grafuri cu diferitele lor variante, evidenț iind în acelaș i timp principalul avantaj
de la recunoaș tere a grafurilor în special în practică. Prezentând o aplicaț ie a
grafuri triunghiulare ș i am programat algoritmul de recunoaș tere a clasei grafurilor
triangulate, precum ș i algoritmul de recunoaș tere a grafurilor fără picior, aceste programe sunt
programate în Python.
24
Bibliografie
[4] M. Chudnovsky ș i P.D. Seymour, algoritm de recunoa ș tere pentru grafuri Berge, preprint, 2003.
25