Sunteți pe pagina 1din 7

Facultatea de Matematic i Informatic

Universitatea din Bucureti

Lucrare de Licen
Cuplaje

AUTOR
URSEANU D. IRINA MIHAELA
NDRUMTOR TIINIFIC
CONF. DR. POPESCU DRAGO-RADU
BUCURETI , IUNIE 2014

Alegerea temei
Motivele alegerii aceste discipline (teoria grafurilor):
Teoria grafurilor are un domeniu vast de aplicabilitate
(biologie, chimie, interaciuni socio-umane, studiul inteligenei
artificiale).
Conine noiuni intuitive, uor de neles prin paralelism cu
fenomene i situaii cotidiene.
Domeniu deschis dezvoltrii.

Scopul lucrrii
Prezentarea general a teoriei grafurilor, cu accent

pe noiunea de cuplaje n grafurile neorientate.


Implementearea algoritmului Kuhn-Munkres ntr-un
mod optim.
Realizarea unei interfee ce faciliteaz interaciunea
cu orice utilizator.

Structura lucrrii
Lucrarea este structurat n trei pri urmrind

principalele scopuri propuse:

Lucrarea de licen - definirea noiunilor i a conceptelor de


baz din teoria grafurilor necesare nelegerii lucrrii.
Algoritm C implementare optim a algoritmului KuhnMunkres.
Algoritm Javascript - interfa web.

Echivalena problemei n teoria

Problema
afectrii
S spunem c ntr-o
companie lucreaz un
numr de angajai. De
asemenea sunt i task-uri
ce trebuiesc ndeplinite.
Fiecare angajat poate s
execute (este calificat
pentru a executa) unul sau
mai multe task-uri. n mod
natural apare dorina de a
gsi o anumit repartiie
ntre muncitori i task-uri,
lund n considerare
capacitatea fiecruia dintre
cei n cauz de executa un
anumit task. Cu alte
cuvinte, dorim s
repartizm task-urile
printre angajaii ce sunt
calificai n rezolvarea lor.

grafurilor

Abstractiznd cerina observm c de fapt se


dorete gsirea unor cupluri distinct de
angajat-task. Deci problema devine aceea de a
determina dac graful nostru dat bipartit
conine sau nu un cuplaj perfect.
Apar situaii n care repartiia este influenat
i de ali factori pe care trebuie s i lum n
considerare. S lum ca exemplu problema
prezentat anterior i s considerm c
fiecare angajat are un tarif pentru executarea
unui anumit job, tarif ce poate s fie diferit de
la muncitor la muncitor. Un alt exemplu de
factor ce poate influena repartiia este gradul
de pricepere al muncitorului n rezolvarea
unui anumit job. Deci problema noastr se
transform n aceea de a gsi o repartiie a
job-urilor printre angajai astfel nct s avem
o pondere maximal.

Algoritmii tratai n lucrare


Algoritmul Ungar

Algoritmul Kuhn-Munkres

Scopul algoritmului

Scopul algoritmului

prezentat este de a gsi


un cuplaj perfect pentru
un graf bipartit introdus.
n cazul n care acest
cuplaj nu poate fi gsit,
algoritmul va gsi o
submulime a lui notat
a.. aceasta s
ndeplineasc
proprietatea |N(S)|<|S|.

este de a gsi un cuplaj


perfect de cost maxim
n graful nostru
ponderat. Acest cuplaj
va fi denumit cuplaj
optim.

Complexitatea algoritmului Kuhn-Munkres

Complexitatea algoritmului implementat este

O(n^3) , folosim o matrice pentru ponderi (cost) n


O(n^2) , ns eficiena apare din utilizarea unui
algoritm BFS.
S presupunem c suntem n situaia n care am
modificat etichetrile i trebuie s adugm muchii
la graful nostru de egalitate.Folosim fiecare nod doar
de o singur dat pe iteraie. Trebuie s tim ce nod
trebuie adugat fr s trecem prin toate nodurile i
s le verificm.

S-ar putea să vă placă și