Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
APLICATII IN MODELAREA
SISTEMELOR MOBILE
Motto
,,Azi teoria grafurilor a devenit o disciplin major,
desi nu-si gseste locul ntr-o clasificare dogmatica a
capitolelor matematicii.
Folosirea teoriei grafurilor n domenii variate, de
la chimie la economie, de la studiul retelelor electrice
la critica textelor si la politic, i dau azi un prestigiu
de care cel ce clasific stinele trebuie s in
seama.,,
Grigore C. Moisil
INTRODUCERE
Originile teoriei grafurilor se gasesc in rezolvarea unor
probleme de jocuri si amuzamente matematice, care au
atras atentia unor matematicieni de seama cum ar fi:
Euler, Hamilton, Cayley, Sylvester, Birkoff.
Data naterii teoriei grafurilor este considerat a fi anul
1736, atunci cand matematicianul Leonhard Euler a
publicat un articol n care a clarificat problema celor
apte poduri i a prezentat o metod pentru rezolvarea
altor probleme de acelai tip. Articolul, n limba
latin,avea titlul: Solutio problematis ad geometriam situs
pertinentis (Solutia unei probleme legate de geometria
pozitiei) i a aprut n revista Comentarii Academiae
Scietiarum Imperialis Petropolitanae.
Adiacen/inciden - dac dou vrfuri x,y, sunt unite printr-o muchie, atunci
vrfurile x,y sunt adiacente i x,y sunt incidente cu muchia [x,y]. n cazul grafurilor
orientate, vrful de la care pleac arcul se numete extremitate iniial, iar vrful la
care sosete arcul, se numeste extremitate final. Dac oricare dou vrfuri sunt
adiacente, atunci graful este complet. Un graf conplet cu n varfuri, se noteaza cu K.
Un K este un triunghi.
Reuniunea, intersecia si diferena grafurilor - fie dou grafuri, G(V,E) i G'(V',E').
Se noteaz cu: reuniunea; intersecia; respectiv - diferena grafurilor, i au
formulele: GG'=(VV',EE'), GG'=(VV',EE'), respectiv G-G'=(V-V',E-E').
situaiilor complexe. ntre dou puncte pot exista unul sau mai multe segmente (n
funcie de cte relaii dintre acestea, care ne intereseaz, exist) iar segmentelor li se
pot asocia sau nu orientri (dup cum se influeneaz cele dou componente ntre
ele), numere care s exprime intensitatea relaiilor dintre componente.
Parcurgerea grafurilor
Graful este o pereche de multimi G=(V,E). Multimea V contine nodurile
grafului (vertices), iar multimea E contine muchiile (edges) sale, fiecare
muchie stabilind o relatie de vecinatate intre doua noduri. O mare varietate
de probleme se formuleaza in termeni de grafuri, iar in rezolvare de multe
ori aceste grafuri trebuie explorate, adica trebuie consultate (vizitate)
varfurile sau muchiile.
O parcurgere isi propune sa ia in discutie fiecare nod al grafului exact o
singura data, pornind de la un nod ales, numit in continuare nod sursa.
Parcurgerea in latime
Parcurgerea in latime (Breadth-first Search - BFS) este un algoritm de cautare
in graf in care, atunci cand se ajunge intr-un nod oarecare v nevizitat, se
viziteaza toate nodurile nevizitate adiacente lui v, apoi toate varfurile nevizitate
adiacente varfurilor adiacente lui v, etc.
Colorarea nodurilor. Pe parcurs ce algoritmul avanseaza, se coloreaza
nodurile in felul urmator:
--> alb - nodul este nedescoperit inca
--> gri - nodul a fost descoperit si este in curs de procesare
--> negru - procesarea nodului s-a incheiat
Pastrarea informatiilor despre distanta pana la nodul sursa.
--> pentru fiecare nod in d[u] se retine distanta pana la nodul sursa (poate fi
util in unele probleme)
Obtinerea arborelui BFS. In urma aplicarii algoritmului BFS se obtine un
arbore de acoperire (prin eliminarea muchiilor pe care nu le folosim la
parcurgere). Pentru a putea reconstitui acest arbore, se pastreaza pentru
fiecare nod dat informatia despre parintele sau in p[u].
Pentru fiecare nod din coada se aplica aceeasi procedura: se viziteaza toate nodurile vecine care pana atunci nu au fost vizitate
(au inca culoarea alb) si se insereaza in coada. Cand nu mai exista vecini nevizitati, nodul curent este scos din coada.
Parcurgerea in adancime
Parcurgerea in adancime (Depth-First Search - DFS) poate fi utilizata in rezolvarea a
numeroase probleme de grafuri. DFS porneste de la un nod dat (nod de start), care este
marcat ca fiind in curs de procesare. Se alege primul vecin nevizitat al acestui nod, se
marcheaza si acesta ca fiind in curs de procesare, apoi si pentru acest vecin se cauta primul
vecin nevizitat, si asa mai departe. In momentul in care nodul curent nu mai are vecini
nevizitati, se marcheaza ca fiind deja procesat si se revine la nodul anterior. Pentru acest
nod se cauta primul vecin nevizitat, etc, pana cand toate nodurile grafului au fost procesate.
Colorarea nodurilor. Pe parcurs ce algoritmul avanseaza, se coloreaza nodurile in felul
urmator:
--> alb - nodul este nedescoperit inca
--> gri - nodul a fost descoperit si este in curs de procesare
--> negru - procesarea nodului s-a incheiat
Pastrarea informatiilor despre timp. Fiecare nod are doua momente de timp asociate:
--> tDesc[u] - momentul descoperirii nodului (si a schimbarii culorii din alb in gri)
--> tFin[u] - momentul in care procesarea nodului s-a incheiat (si culoarea acestuia s-a
schimbat din gri in negru)
Obtinerea arborelui DFS. In urma aplicarii algoritmului DFS asupra fiecarei componente
conexe a grafului, se obtine pentru fiecare dintre acestea cate un arbore de acoperire
(prin eliminarea muchiilor pe care nu le folosim la parcurgere). Pentru a putea reconstitui
acest arbore, pastram pentru fiecare nod dat informatia despre parintele sau in p[u].
Nodul de pornire este I, iar pentru simplificare vecinii sunt alesi in ordine alfabetica. In stanga nodului este
notat tDesc, iar in dreapta tFin. Daca se afiseaza nodurile, in urma parcurgerii se obtine urmatorul output:
I, E, B, A, C, D, G, F, H
Evident, pe acest arbore s-ar putea adauga si muchiile nefolosite in parcurgere, dar l-ar face sa nu mai fie arbore. Totusi, in
cazul grafurilor orientate, aceste muchii au o semnificatie speciala si se pot clasifica in felul urmator:
--> muchii de arbore (fac parte din arborele DFS) - de exemplu muchia (1, 2)
--> muchii inapoi ( de forma (u,v), unde v este stramosul lui u - are deja culoarea gri la descoperirea lui u) - de exemplu muchia
(3,1)
--> muchii inainte ( de forma (u,v) - v este descendentul lui u, dar este deja negru in momentul in care se testeaza muchia) - de
exemplu (1,4)
--> muchii de traversare (o muchie (u,v) catre un vecin negru, v nu este descendent al lui u) - de exemplu (9,1)
GRAFURI EULERIENE
Grafuri euleriene
Problema podurilor din Koningsberg
Orasul Knigsberg era asezat pe coasta Marii Baltice, la gurile rului Pregel. Pe
ru erau doua insule legate de tarmuri si ntre ele de sapte poduri ca n figura 1.
Oamenii care cutreierau aceste insule au observat ca daca porneau de pe malul
sudic al rului, nu puteau sa-si planifice plimbarea astfel nct sa traverseze fiecare
pod o singura data. Se parea ca ori trebuia sa sara un pod ori sa-l traverseze de
doua ori.
n anul 1735 Euler a descoperit ca nu mai are rost sa se ncerce, propunnd urmatoarea analiza a
problemei, din punct de vedere matematic:
Insula estica
Sa consideram acum insula vestica: sunt cinci poduri care duc pe ea, iar cinci este din nou numar
impar. Asadar plimbarea ncepe n afara insulei, si deci trebuie sa se termine pe insula vestica.
Aceasta nseamna ca plimbarea se termina n doua locuri diferite simultan ceea ce e imposibil.
Solutia data de Euler este tipica pentru personalitatea si ingeniozitatea sa. Tot el a scris n anul
1736 prima lucrare de teorie a grafurilor despre problema acestor sapte poduri.
Un ciclu al unui graf G care contine toate muchiile lui G se numeste ciclu eulerian . Un graf G care
are un ciclu eulerian se numeste graf eulerian.
Un graf G fara vrfuri izolate este eulerian daca si numai daca este conex si gradele tuturor
vrfurilor sale sunt numere pare.
Din punct de vedere al teoriei grafurilor, problema se pune cam asa: cele patru regiuni (insule si
maluri) A,B,C,D si cele sapte poduri le reprezentam n graful urmator (fig.3.):
Problema are solutie daca acest graf contine un ciclu eulerian. Un astfel de ciclu, utilizeaza la
fiecare trecere printr-un vrf doua muchii ce nu mai pot fi folosite pentru o noua trecere. Cum
fiecare dintre cele patru vrfuri (A,B,C,D) au grade impare, rezulta ca ultima muchie va ramne
nefolosita sau va fi folosita pentru a face trecerea de final (pentru a ncheia plimbarea). Aceasta
ar nsemna ca ori va ramne la unul din vrfuri, o muchie nefolosita (fapt ce demonstreaza ca nu
avem un ciclu eulerian) ori plimbarea ar trebui sa se termine n mai multe locuri simultan ceea ce
e iarasi imposibil.
O schem format din puncte reunite ntre ele prin linii dup anumite reguli se
numete graf. Schema unei reele de transport, de energie electric n care punctele
sunt staiile sau substaiile de transformare iar liniile conductoarelor electrice, schema
unei reele de cale ferat (n care staiile sunt reprezentate prin puncte, iar calea
ferat prin linii), schemele formulelor chimice sunt grafuri.
Punctele grafului se numesc vrfuri, iar segmentele care le unesc se numesc arce n cazul
n care sunt orientate i muchii n caz contrar.
n figura de mai jos sunt reprezentate scheme structurale ale unor lanuri cinematice plane i grafurile asociate lor:
Scheme structurale
Grafe asociate
3
3
2
6
5
6
5
5
3
7
2
Grafe contractate
7
4
6
1
8
9
6
1
8
9
4
3
2
1
GRAFURI COLORATE
In cazul unui mecanism plan cu cam (figura 2a) graful asociat lanului va avea muchiile colorate
pentru a scoate n eviden diferena dintre clasele cuplelor. Graful asociat lanului din figura 2b
are muchiile colorate cu dou culori: muchiile corespunztoare cuplelor inferioare cu o culoare
(convenional au fost reprezentate cu linie plin) iar cele corespunztoare cuplelor superioare cu o
alt culoare (linie ntrerupt).
4
3
2
1
5
Exemplul 1
Se cer urmatoarele:
1.1. S se determine gradul de mobilitate i numrul de condiii de legtur
redundante (familia) mecanismului.
1.2. S se construiasc schema structural a mecanismului, precizndu-se cuplele
motoare i elementul efector-final.
1.3. S se studieze ce se ntmpl prin legarea la baz a efectorului-final printr-o
cupl de rotaie plan (articulaie), cu privire la gradul de mobilitate al
mecanismului i descompunerea n grupe structurale.
1.4. S se reprezinte graful asociat lanului cinematic din care provine mecanismul
i s se determine matricea de adiacen a vrfurilor acestuia.
A
1.5. S se scrie funcia multiform de definiie a grafului.
B
D
C
E
H
G
3
E
3
E
B (T)
F
5
G (T)
B (T)
F
5
G (T)
B (T)
F
5
G (T)
5
1
Exemplul 2
Mecanismul piciorului robotului pitor este
compus din:
* Elemente cinematice totale: e = 7;
* Elemente cinematice mobile: n = 6;
* Cuple cinematice: C5 = 8.
F (T)
5
G
H 6 = Efector final
B (T)
1
F (T)
G
H 6 = Efector final
B (T)