Sunteți pe pagina 1din 4

PROIECT DE LECŢIE

Clasa: a XI-a A
Disciplina: Informatică
Subiectul lecţiei: Reprezentarea grafurilor orientate cu matricea drumurilor
Scopul lecţiei: Determinarea matricei drumurilor într-un graf orientat folosind proprietăţile
matricei de adiacenţă - Algoritmul Roy-Warshall
Tipul de lecţie: Mixtă

Obiective operaţionale:
Elevii trebuie să fie capabili:
 Să deosebească matricea drumurilor de celelalte tipuri de matrici folosite în
reprezentarea grafurilor orientate.
 Să implementeze corect algoritmul Roy-Warshall.
 Să observe avantajele şi dezavantajele reprezentării grafurilor orientate cu
matrici faţă de reprezentarea cu listele de adiacenţă.

Metode folosite: expunerea, conversaţia, exerciţiul, demonstraţie


Mijloace de învăţare: Manuale, Calculator

DESFĂŞURAREA LECŢIEI

Etapa 1: Moment organizatoric


Timp: 2 min.
Activitatea desfăşurată de profesor:
Se face prezenta şi se verifică existenţa celor necesare începerii orei.

Metoda: conversaţia

Etapa 2: Verificarea cunoştinţelor.


Timp: 14 min.
Activitatea desfăşurată de profesor:
Verificarea temei date elevilor acasă: implementarea în Pascal a algoritmilor de
determinare a gradului interior şi a gradului exterior al unui nod dat într-un graf orientat.
Verificarea cunoştinţelor din lecţia precedentă cu tema: Reprezentarea grafurilor
orientate cu matrici prin întrebări:
 Care sunt tipurile de matrici folosite în reprezentarea grafurilor orientate?
R: matrice de adiacenţă (booleană), matrice arc-vârf, matrice cost

 Avantajele şi dezavantajele reprezentării grafurilor orientate cu matrici faţă de


reprezentarea cu liste de adiacenţă.
R: Dezavantaj: Există multe elemente nule în matrici, deci se consumă multă
memorie inutil, faţă de listele de adiacenţă, unde memorarea lor presupune puţin
spaţiu de memorie.
Avantaj: Accesul uşor la informaţie, faţă de listele de adiacenţă, unde accesul la
informaţie este mai dificil.

 Reluarea reprezentării cu matrici pe un graf orientat luat ca exemplu.


Metoda: verificare orală, conversaţia, demonstraţia

Etapa 3: Trecerea la lecţia nouă


Timp: 2 min.
Activitatea desfăşurată de profesor:
Anunţarea şi scrierea pe tablă a titlului lecţiei: Determinarea matricei drumurilor
cu algoritmul Roy-Warshall

Etapa 4: Predarea noilor cunoştinţe.


Timp: 14 min.
Activitatea desfăşurată de profesor:
Se porneşte de la un exemplu de matrice de adiacenţă pe un graf orientat dat şi se
aplică o serie de transformări succesive.
Fie graful orientat G cu n=4 noduri şi matricea sa de adiacenţă a:
1 2

4 3
Def. Matricea drumurilor este o matrice d cu n linii şi n coloane, în care fiecare
element d[i,j] este:
 1, dacă există drum de la nodul i la nodul j în graf;
 0, în caz contrar.

Un algoritm simplu de determinare a matricei drumurilor unui graf orientat este


algoritmul Roy-Warshall. Acest algoritm construieşte matricea drumurilor pornind de la
matricea de adiacenţă a grafului şi constă în următoarele:
Dacă a[i,j]=0, în matricea de adiacenţă a grafului dat, atunci spunem că nu avem arc
direct de la nodul i la nodul j, dar vom căuta un nod k, diferit de nodul i şi de nodul j, cu
propietatea că există drum de la nodul i la nodul k şi drum de la nodul k la nodul j. Astfel:
un element a[i,j], care este 0, devine 1, dacă există un nod k astfel încât a[i,k]=1 şi
a[k,j]=1. Pentru a găsi arcele nodului k, trebuie parcurse pe rând în variabila k toate
nodurile 1, 2, …, n.

ALGORITMUL ROY-WARSHALL {pseudocod}:


{ pentru k=1, n exec
pentru i=1, n exec (i ≠ k )
pentru j=1, n exec (j ≠ k)
dacă (a[i,j]=0) şi (i≠k) şi (j≠k) atunci
a[i,j]←a[i,k]*a[k,j];
}

Atribuirea a[i,j]←a[i,k]*a[k,j] este o scriere elegantă a regulii de mai sus:


- în cazul în care unul din elemntele a[i,k] şi a[k,j] este 0, a[i,j] va rămâne 0;
- dacă a[i,k]=1 şi a[k,j]=1, atunci a[i,j] devine 1.
Conform algoritmului se obţine matricea drumurilor d[i,j]:

Observaţii:
1. Dacă d[i,i]=1 înseamnă că există un circuit care trece prin nodul i.
2. Dacă linia i şi coloana i, din matricea obţinută, cuprind numai elemente de 0,
deducem că nodul i este un vârf izolat, adică nu există drumuri care să ducă la
nodul i şi nici care să plece din nodul i.
Metoda: expunerea, demonstraţia, exerciţiul, problematizare

Etapa 5: Fixarea cunoştinţelor asimilate


Timp: 3 min.
Activitatea desfăşurată de profesor:
Graful dat are n=4 noduri, deci matricea de adiacenţă va suferi 4 transformări într-un
ciclu, pentru k =1, 2, 3, 4.
Ordinul de complexitate al acestui algoritm este O(n3).
Profesorul formulează întrebări şi exerciţii :

 Ce se caută în matricea de adiacenţă iniţială prin acest algoritm?


R: Se caută elementele a[i,j] nule, impunând condiţiile ca i, j ≠ k, pentru
i, j, k = 1,n.

 Ce face algoritmul pentru fiecare element găsit a[i,j] egal cu 0?


R: Încearcă să-l transforme în 1 prin atribuirea a[i,j]←a[i,k]*a[k,j].
Exemplu: a[i,j]←a[i,1]*a[1,j], pentru k=1.

 Se specifică, că algoritmul Roy-Warshall va fi folosit în determinarea componentelor tari


conexe.

Metoda: Conversaţia.

Etapa 6: Asigurarea conexiunii inverse


Timp: 3 min.
Activitatea desfăşurată de profesor:
Se solicită răspunsuri din partea elevilor prin întrebări succesive:

 Cum se stabilesc drumurile într-un graf orientat?


R: Se va ţine cont de orientarea arcelor prin care se trece, pentru a respecta noţiunea de
drum?

 Se vor da exemple pe graful dat, de drumuri de la un nod i la un nod j, cu trecere prin


noduri intermediare k. Câte drumuri există în graful dat şi ce tipuri?
R: D = [1, 2, 4, 1] – drumul este un circuit.

 Ce problemă întâlnită anterior, la grafuri neorientate, poate fi rezolvată cu algoritmul de


determinarea a drumurilor între oricare 2 noduri?
R: Deteminarea componentelor conexe în grafuri neorientate.
 Ce alte exemple de probleme s-ar putea rezolva cu ajutorul acestui algoritm?
R1: Determinarea celei mai influente persoane dintr-un grup de n persoane între care
există relaţii. Se va căuta nodul cu grad maxim, adică linia cu cei mai mulţi de 1 dintr-o
matrice a drumurilor construită cu alg. R-W.
R2: Determinarea celei mai celebre persoane dintr-un grup de n persoane care se cunosc
sau nu între ele. Se va căuta nodul cu grad extern 0 şi grad intern n-1, în matricea
drumurilor construită cu alg. R-W.

Metode: conversaţie, descoperire, problematizare

Etapa 7: Obţinerea performanţelor


Timp: 10 min.
Activitatea desfăşurată de profesor:
Se propune elevilor scrierea de rutine care să implementeze în Pascal operaţiile de
citire şi de afişare a unei matrici, cât şi a algoritmului Roy-Warshall. Elevii sunt îndrumaţi şi
supravegheaţi atât la tablă cât şi în activitatea independentă.

Metoda: Muncă independentă, conversaţia

Etapa 8: Precizarea temei pentru acasă.


Timp: 2 min.
Activitatea desfăşurată de profesor:
1. Implementarea în C++ a algoritmului Roy-Warshall, pentru:

- Determinarea celei mai influente persoane dintr-un grup de n persoane;


- Determinarea celei mai celebre persoane dintr-un grup de n persoane;

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