Sunteți pe pagina 1din 33

Cuprins

.........................................................................................................................................................1 1. Introducere.................................................................................................................................2 2. Terminologie...............................................................................................................................3 3. Obiective didactice .....................................................................................................................7 4. Recomandri de structurare i predare.....................................................................................9 5. Structura detaliat a coninutului............................................................................................14
5.1. Grafuri neorientate......................................................................................................................14
5.1.1. Adiacen. Inciden. Grad........................................................................................................................14 5.1.2. Reprezentare..............................................................................................................................................14 5.1.3. Graf parial i subgraf................................................................................................................................15 5.1.4. Tipuri de grafuri........................................................................................................................................16 5.1.5. Lan. Ciclu. Arbori....................................................................................................................................17

5.2. Grafuri orientate .........................................................................................................................18


5.2.1. Adiacen. Inciden. Grad........................................................................................................................18 5.2.2. Graf parial i subgraf................................................................................................................................19 5.2.3. Matricea de adiacen................................................................................................................................19 5.2.4. Matricea vrfuri-arce.................................................................................................................................20 5.2.5. Listele vecinilor.........................................................................................................................................21 5.2.6. Vectorul de arce.........................................................................................................................................21 5.2.7. Lan. Drum. Circuit...................................................................................................................................22 5.2.8. Matricea drumurilor..................................................................................................................................23

5.3. Aplicaii.........................................................................................................................................23
5.3.1. Parcurgerea grafurilor................................................................................................................................23 5.3.2. Conexitate..................................................................................................................................................24 5.3.3. Grafuri hamiltoniene i euleriene..............................................................................................................25 5.3.5. Tare conexitate..........................................................................................................................................26 5.3.6. Teste gril recapitulative...........................................................................................................................27 5.3.7. Aplicaii haioase........................................................................................................................................28 5.3.8. Jocul spnzurtoarea..................................................................................................................................29

6. Sinteza aplicaiei.......................................................................................................................30 Bibliografie...................................................................................................................................31

Teoria grafurilor-Manual de utilizare

clasa a XI-a

1. Introducere

Nimic nu se nva uor dac nu e bine explicat.

Sunt cuvintele de la care am pornit n realizarea acestui proiect care se dorete un manual electronic cu multe exemple, exerciii, observaii, algoritmi, secvene de cod, probleme rezolvate, adunate toate pentru a face mai uoar i mai plcut studierea teoriei grafurilor. Aplicaia v permite la bun nceput s aflai cte ceva despre realizatorii acestui proiect sau s pornii n cutarea noiunilor din sfera grafurilor orientate i neorientate.

Am plecat de la ideea c, ntlnind lucrurile sub o form mai puin monoton dect fila de manual, bazndu-ne mult pe interactivitate, elevul va putea asimila noiunile din teoria grafurilor mai uor, mai plcut i deci mai solid. Am grupat materialul n 3 mari capitole: Grafuri neorientate, Grafuri orientate i Aplicaii. Sperm ca dup parcurgerea acestui manual electronic ce abund n exerciii i exemple s v putei delecta cu testele gril i jocul spnzurtoarea din finalul proiectului.

pagina 2

Teoria grafurilor-Manual de utilizare

clasa a XI-a

2. Terminologie
De-a lungul proiectului vei ntlni diverse simboluri sau ferestre pentru care, n cele ce urmeaz, vom prezenta semnificaia: Meniul (cuprinsul) aplicaiei n imaginea alturat putei s observai o parte din cuprins. Acesta conine leciile pe care le putei parcurge. Navigarea prin meniu este foarte uoar. Folosii bara de scroll pentru a vizualiza opiunile meniului din partea final a acestuia. La un click pe una din lecii vei vedea c meniul se retrage spre stnga spre a face loc leciei. Folosii butonul readuce meniul n prim plan. pentru a

Ca s v i amuzai un pic, graful care se tot mic pe suprafaa din dreapta meniului tie s rspund comenzilor voastre. ncercai s tragei de noduri i vei vedea cum nodurile grafului vor deveni nite bile ce cunosc semnificaia cuvntului elasticitate.

Butoanele Pagina Principal, Ajutor i Prsire aplicaie n partea din dreapta sus a ecranului avei butoanele Pagina Principal i

Ajutor. Denumirile lor sunt sugestive, deci nu credem c este necesar s spunem ce face fiecare. Am amintit de ele ca s nu uitai c permanent avei posibilitatea s consultai n seciunea Ajutor semnificaia simbolurilor ntlnite n aplicaie. Semnalizare definiie Acesta sugereaz c urmeaz o definiie.
D E F I N I T I E

pagina 3

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Semnalizare exemplu Acesta sugereaz c urmeaz un exemplu.

E X E M P L U L

Semnalizare exerciiu Acesta precizeaz c urmeaz un exerciiu.

E X E R C I T I U L

Semnalizare observaie

O B S E R V A T I E

Precizeaz faptul c urmeaz o observaie. Semnalizare teorem


T E O R E M A

Sugereaz faptul c urmeaz enunul unei teoreme.

S E C V E N T E

D E

C O D


M E T O D A D E

Semnalizare secvene de cod Acesta indic faptul c sunt prezentate secvene de cod. Semnalizare
P A R C U R G E R E D F ( D e p t h F ir s t )

algoritm

Este folosit pentru a indica nceputul unui algoritm.


2/4

Semnalizare numr-pagin

Pentru c fiecare lecie are mai mult de o pagin, aceste elemente v arat n orice moment cte pagini are lecia i la ce pagin suntei. n a in te

Butoanele nainte-napoi

n a p o i

Navigarea n cadrul unei lecii se face cu aceste dou butoane. Butonul de elemente de teorie
TEO
R IE

Deschide o fereastr n care sunt prezentate elemente de teorie. Texte reper Exemplu:

Sunt cuvinte care definesc o noiune. Atunci cnd sunt accesate, deschid ferestre n care este definit noiunea respectiv.

pagina 4

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Butoane de aciune

Adauga nod

Sunt butoane care au ca efect posibilitatea de a ncepe o aciune (de adugare de noduri la un graf, de tergere sau de construire de muchii/arce ale grafului, de verificare a corectitudinii, etc.) Simbol de marcare aciune Arat ce aciune a fost selectat Butoane pentru surse program

Deschid ferestre cu sursa Pascal, respectiv C++ a problemei date sau a algoritmului la care se face referire.

respective.

Butonul Obiective Este prezent la fiecare lecie i prezint obiectivele operaionale ale leciei Ferestrele de detaliu

Sunt ferestre care ofer definiii sau detalii cu privire la o anumit noiune ori indicaii referitoare la utilizarea acelei componente a aplicaiei.

Exemplu:
pagina 5

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Buton de informaie

Acesta v va oferi de fiecare dat cte o indicaie. Ferestrele care se deschid la apsarea acestui buton conin informaii utile n contextul exemplului sau al exerciiului respectiv. Buton de descriere a algoritmului Acesta deschide ferestre de detaliu ce cuprind descrieri ale algoritmului. Buton de reluare a algoritmului Acesta permite reluarea algoritmului de la punctul iniial.

Buton de afiare enun problem Deschide o fereastr de detaliu n care este prezentat enunul problemei.

Butoane pornire-continuare algoritm

Le vei ntlni n contextul execuiei pas cu pas a unui algoritm. Butonul start permite pornirea algoritmului i apoi se va transforma n butonul next i acesta v permite vizualizarea urmtorilor pai din algoritm. Elemente de completare Exemplu: Sunt cuvinte sau succesiuni de cuvinte pe care n exerciii trebuie s le poziionai n text pentru a completa o afirmaie. Zone de efect

Sunt zone de text de genul sau un graf peste care cnd deplasai mouse-ul, vei obine un efect vizual (de exemplu: construirea unui lan ntrun graf sau evidenierea componentelor conexe ale unui graf). Le vei gsi uor pentru c butoanele de informaie vor avea grij s v avertizeze despre existena lor.

pagina 6

Teoria grafurilor-Manual de utilizare

clasa a XI-a

3. Obiective didactice

Obiectiv
Obiective specifice OS1 OS2 OS3 OO1 OO2 OO3 OO4 OO5 OO6 OO7 OO8 OO9 OO10 OO11 OO12 OO13 OO14 OO15 OO16 OO17 OO18 OO19

Detaliere

Elaborarea de algoritmi care folosesc teoria grafurilor Identificarea problemelor ce pot fi rezolvate cu teoria grafurilor nsuirea noiunilor teoretice legate de teoria grafurilor Identificarea unor structuri de date adecvate pentru rezolvarea problemelor din teoria grafurilor Aplicarea algoritmilor din teoria grafurilor n rezolvarea unor probleme practice. Identificarea noiunilor de graf, adiacen, inciden, grad Identificarea i deducerea proprietilor diferitelor tipuri de grafuri Recunoaterea unui graf parial, a unui subgraf Aplicarea teoremelor utile n rezolvarea problemelor Furnizarea rspunsului corect i argumentarea acestuia n rezolvarea problemelor Aplicarea modalitilor de reprezentare a unui graf Identificarea i explicarea noiunilor legate de lan, ciclu, drum, circuit Identificarea componentelor conexe i tare conexe ale unui graf Determinarea unui ciclu hamilonian pentru un graf Aplicarea condiiei necesare i suficiente pentru ca un graf s fie eulerian Ilustrarea, exprimarea prin propriile cuvinte i aplicarea corect a algoritmilor de parcurgere Ilustrarea, exprimarea prin propriile cuvinte i aplicarea corect a algoritmilor de determinare a arborelui parial de cost minim Analiza problemei i dezvoltarea gndirii algoritmice, a capacitii de generalizare i problematizare Transformarea algoritmului n unul din limbajele de programare Pascal sau C++ Recunoaterea notaiilor fundamentale folosite n teoria grafurilor Aplicarea algoritmului de determinare a matricei drumurilor Alegerea variantei corecte ntr-un subiect de tip gril, argumentnd rspunsul ales

Obiective operaionale

pagina 7

Teoria grafurilor-Manual de utilizare

clasa a XI-a

OO20

Formarea unui vocabular adecvat cu noiuni din teoria grafurilor

pagina 8

Teoria grafurilor-Manual de utilizare

clasa a XI-a

4. Recomandri de structurare i predare


n cele ce urmeaz, pentru fiecare lecie vom prezenta obiectivele, timpul de predare, tipul de interaciune cu elevii, o scurt descriere i noiunile cheie prezente.
1: Grafuri neorientate - Adiacen. Inciden. Grad Obiective OO3, OO7 Timp de predare 20 min Tip de interaciune cu expunere, conversaie, exerciiul, nvarea prin descoperire elevii Descriere Prezentarea noiunilor de baz legate de grafuri neorientate Noiuni cheie graf, grad, adiacen, inciden, nod izolat, nod terminal 2: Grafuri neorientate - Reprezentare Obiective OO1, OO7, OO8, OO16 Timp de predare 40 min Tip de interaciune cu conversaia de consolidare, expunere, exerciiul de consolidare, elevii nvarea prin descoperire Descriere Prezentarea modalitilor de reprezentare a unui graf prin matricea de adiacen, liste de vecini, vector de muchii Noiuni cheie matricea de adiacen, liste de veicni, vector de muchii 3: Grafuri neorientate - Graf parial si subgraf Obiective OO5, OO7, OO15 Timp de predare 20 min Tip de interaciune cu expunere, exerciiul de consolidare, nvarea prin descoperire elevii Descriere Se prezint noiunile de graf parial i subgraf pentru un graf dat. Noiuni cheie graf parial, subgraf 4: Grafuri neorientate - Tipuri de grafuri Obiective OO4, OO6, OO7, OO15, OO17 Timp de predare 40 min Tip de interaciune cu expunere, exerciiul de consolidare, nvarea prin descoperire, elevii conversaia de consolidare Descriere Se prezint tipuri diferite de grafuri i proprietile acestora Noiuni noi graf complet, graf bipartit, graf bipartit complet, graf planar, graful Petersen

pagina 9

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5: Grafuri neorientate - Lant. Ciclu. Arbori Obiective OO1, OO6, OO7, OO9, OO16 Timp de predare 30 min Tip de interaciune cu expunere, exerciiul de consolidare, nvarea prin descoperire, elevii conversaia de consolidare Descriere Se prezint noiunile de lan, ciclu, conexitate, insistnd pe exerciii de descoperire a unor astfel de lanuri/ cicluri care s respecte diverse condiii Noiuni cheie lan elementar, lan neelementar, lan simplu, ciclu elementar, ciclu neelementar, conexitate 6: Grafuri orientate - Adiacen. Inciden. Grad Obiective OO3, OO7, OO17 Timp de predare 40 min Tip de interaciune cu expunere, exerciiul de consolidare, nvarea prin descoperire, elevii conversaia de consolidare Descriere Se prezint noiunile de baz legate de grafuri orientate Noiuni cheie bucl, p-graf, predecesor, succesor, grad exterior, grad interior, mulimea predecesorilor, mulimea succesorilor 7: Grafuri orientate Graf partial i subgraf Obiective OO5, OO7, OO15 Timp de predare 20 min Tip de interaciune cu expunere, exerciiu, nvarea prin descoperire, conversaia de elevii consolidare Descriere Se prezint noiunile de graf parial i subgraf, se precizeaz modalitile de obinere a grafurilor pariale i a subgrafurilor pornind de la un graf dat Noiuni cheie graf parial i subgraf 8: Grafuri orientate Matricea de adiacen Obiective OO1, OO7, OO8 Timp de predare 20 min Tip de interaciune cu expunere, exerciiu, nvarea prin descoperire, conversaia elevii Descriere Construirea matricei de adiacen pentru grafuri orientate insistnd pe faptul c ea nu mai este simetric i oferind descoperirea ei pe msur ce graful se deseneaz Noiuni cheie matrice de adiacen

pagina 10

Teoria grafurilor-Manual de utilizare

clasa a XI-a

9: Grafuri orientate Matricea vrfuri-arce Obiective OO3, OO8, OO15 Timp de predare 20 min Tip de interaciune cu expunere, exerciiu, nvarea prin descoperire, conversaia elevii Descriere Se prezint noiunea de matrice de vrfuri arce, accentul punndu-se pe descoperirea acesteia o dat cu desenarea unui graf Noiuni cheie matrice vrfuri-arce 10: Grafuri orientate Listele vecinilor Obiective OO7, OO8 Timp de predare 20 min Tip de interaciune cu expunere, exerciiu, nvarea prin descoperire, conversaia elevii Descriere Construirea listelor de vecini pentru un graf orientat, exerciii de desenare a unui graf cu liste de succesori precizate Noiuni cheie lista succesorilor, lista predecesorilor 11: Grafuri orientate Vectorul de arce Obiective OO7, OO8 Timp de predare 20 min Tip de interaciune cu exerciiu, nvarea prin descoperire, conversaia elevii Descriere Exerciii de desenare a unui graf pentru care este generat vectorul de arce, modificarea vectorului de arce pe msur ce se adaug noi elemente la un graf Noiuni cheie vectorul de arce 12: Grafuri orientate Lan. Drum. Circuit Obiective OO7, OO9, OO15 Timp de predare 40 min Tip de interaciune cu exerciiul de consolidare, nvarea prin descoperire, conversaia de elevii consolidare Descriere Exerciii de desenare a unui lan ori a unui drum, ori a unui circuit care s respecte diferite condiii Noiuni cheie lan elementar, lan neelementar, drum elementar, drum neelementar, circuit elementar, circuit neelementar 13: Grafuri orientate Matricea drumurilor Obiective OO7, OO15, OO16, OO18 Timp de predare 20 min Tip de interaciune cu exerciiu, nvarea prin descoperire, conversaia elevii Descriere Exerciii de descoperire a matricei drumurilor pentru un graf care se deseneaz, algoritmul lui Roy-Warshall de determinare a matricei drumurilor Noiuni cheie matricea drumurilor

pagina 11

Teoria grafurilor-Manual de utilizare

clasa a XI-a

14: Aplicaii Parcurgerea grafurilor Obiective OO1, OO7, OO13, OO15, OO16 Timp de predare 45 min Tip de interaciune cu nvarea prin descoperire, expunere, exerciiul de consolidare, elevii conversaia de consolidare Descriere Se prezint cele dou metode de parcurgere a grafurilor (n lime i n adncime), insistnd pe execuia pas cu pas a algoritmului, urmrind modul n care se modific structurile de date folosite de algoritm i succesiunea de vizitare a nodurilor. Pentru fiecare metod de parcurgere n parte, este dat implementarea algoritmului n limbajele de programare Pascal i C++ Noiuni cheie parcurgere n lime, parcurgere n adncime 15: Aplicaii Conexitate Obiective Timp de predare Tip de interaciune cu elevii Descriere

Noiuni cheie

OO1, OO7, OO10, OO16 40 min nvarea prin descoperire, expunere, exerciiul de consolidare, conversaia de consolidare Sunt prezentate noiunile de conexitate, component conex, algoritmul de descompunere a unui graf n componente conexe, probleme legate de conexitate. conexitate, component conex

16: Aplicaii Grafuri hamiltoniene i euleriene Obiective OO2, OO4, OO6, OO7, OO11, OO12 Timp de predare 40 min Tip de interaciune cu nvarea prin descoperire, expunere, exerciiul de consolidare, elevii conversaia de consolidare Descriere Este prezentat Jocul Icosian, problema celor 7 poduri, se studiaz ce grafuri complete sunt euleriene, se cere desenarea de grafuri care s respecte diferite condiii referitoare la a fi sau nu hamiltoniene i respectiv euleriene Noiuni cheie graf hamiltonian, ciclu hamiltonian, graf eulerian, ciclu eulerian 17: Aplicaii Arborele parial de cost minim Obiective OO1, OO2, OO7, OO14, OO15, OO16 Timp de predare 45 min Tip de interaciune cu nvarea prin descoperire, expunere, exerciiul de consolidare, elevii conversaia de consolidare Descriere Sunt prezentai cei doi algoritmi pentru determinarea unui arbore parial de cost minim, exerciii care cer construcia unui astfel de arbore parial folosind un algoritm precizat. Se insist pe execuia pas cu pas a fiecruia dintre cei doi algoritmi, punnd n acest fel n eviden modul n care se modific structurile de date folosite de algoritm i fixnd diferenele dintre cei doi algoritmi Noiuni cheie arbore parial de cost minim, algoritmul lui Kruskal, algoritmul lui Prim

pagina 12

Teoria grafurilor-Manual de utilizare

clasa a XI-a

18: Aplicaii Tare conexitate Obiective OO7, OO10, OO15 Timp de predare 20 min Tip de interaciune cu nvarea prin descoperire, expunere, exerciiul de consolidare, elevii conversaia de consolidare Descriere Se prezint noiunile de graf tare conex i component tare conex, permitdu-se descoperirea acestora pentru orice graf desenat (prin colorarea cu diferite culori a lor), se prezint algoritmul de descompunere a unui graf n componente tare conexe Noiuni cheie tare conexitate, componente tare conexe 19: Aplicaii Texte gril recapitulative Obiective OO7, OO19 Timp de rspuns 30 min Tip de interaciune cu evaluare prin intermediul testelor gril elevii Descriere Sunt prezentate 3 seturi de teste cu 13-14 ntrebri fiecare n care ntrebrile sunt grupate pe nivele de dificultate. De asemenea se poate parcurge i un test de 14 ntrebri alese aleator din totalul de 41 de ntrebri 20: Aplicaii Aplicaii haioase Obiective OO1, OO2, OO7, OO9, OO16 Timp de predare 30 min Tip de interaciune cu nvarea prin descoperire, exerciiul de consolidare elevii Descriere Sunt propuse 3 probleme rezolvabile cu ajutorul grafurilor Noiuni cheie circuit, grad, colorare noduri 21: Aplicaii Jocul spnzurtoarea Obiective OO7,OO20 Timp de rspuns 30 min Tip de interaciune cu evaluarea noiunilor cheie prin intermediul acestui joc elevii Descriere Se propune un cuvnt i elevul este invitat s-l gseasc. Practic jocul nu are neaprat un punct de final, chiar dac spnzurtoarea a fost construit n ntregime

pagina 13

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5. Structura detaliat a coninutului


5.1. Grafuri neorientate Conine urmtoarele lecii: 5.1.1. Adiacen. Inciden. Grad

Imaginea surprinde cerina de a desena un graf care s respecte anumite condiii. n acest sens, vei folosi butoanele: Adaug noduri, Mut noduri, Traseaz muchii, terge graful i Verific. Denumirile sunt sugestive, deci nu vom explica ce face fiecare, dar menionm faptul c, dup ce ai selectat butonul Verific, nu mai putei face modificri asupra grafului. Putei ns s-l tergei, apoi s ncepei desenarea unui nou graf. 5.1.2. Reprezentare

Lecia trece n revist modalitile de reprezentare ale unui graf neorientat folosind matricea de adiacen, listele de vecini i vectorul de muchii.
pagina 14

Teoria grafurilor-Manual de utilizare

clasa a XI-a

n imagine am surprins modul n care acestea se modific pe msur ce se deseneaz un graf. n aceast lecie vei avea exerciii care v cer s desenai un graf care corespunde, de exemplu, unei matrici de adiacen. Aceast matrice este regenerat aleator, de fiecare dat cnd apsai butonul Generare matrice. n seciunea Ajutor am pregtit o animaie care ilustreaz modul n care se realizeaz desenarea unui graf ce corespunde matricei de adiacen date. V indicm s urmrii mai nti acest filmule. Similar, vei ntlni exerciiu care cere desenarea unui graf care corespunde unor liste de adiacen generate. 5.1.3. Graf parial i subgraf

Sunt introduse noiunile de graf parial i subgraf. Am folosit definiii care explic modalitatea prin care se obine un graf parial, respectiv un subgraf pentru un graf dat. Aceste definiii v sunt oferite de fiecare dat cnd avei nevoie, printr-un simplu click pe cuvntul definit. n imaginea de mai sus am surprins unul din exerciii care cere obinerea unui subgraf al unui graf. Avei la dispoziie urmtoarele opiuni: terge noduri (activeaz modul de tergere a nodurilor; cu un simplu click pe un nod, acesta va fi ters. De fapt l vei vedea, dar vag, doar aa, ca s nu uitai c a fost cndva acolo.) terge muchii (similar, pentru tergerea unei muchii. Imaginea de mai sus sugereaz tergerea a 4 muchii.) Reluare (graful revine la starea lui iniial i putei s rencepei tergerea nodurilor i/sau a muchiilor conform cerinelor) Verific (l folosii cnd vrei s verificai dac ai rezolvat corect problema). ai greit. Dac rspunsul furnizat este incorect, vei primi un mesaj care explic unde

n seciunea Ajutor am pregtit o animaie care ilustreaz modul n care se obine un subgraf. V indicm s urmrii mai nti acest filmule.

pagina 15

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.1.4. Tipuri de grafuri

Special n aceast lecie ar fi faptul c apar multe noiuni noi pentru c este vorba despre tipuri de grafuri. Sunt introduse astfel noiunile de graf complet, bipartit, bipartit complet, graf planar, graf regulat. Vei ntlni i graful Petersen (care are un aspect destul de interesant) ca exemplu de graf care nu este graf planar, dar este regulat. Pentru a v familiariza cu notaiile de tipul K n i Kpq, avei posibilitatea s vedei cum arat grafurile complete cu un numr precizat de noduri i respectiv grafurile bipartite complete cu un numr precizat de noduri n cele dou mulimi. n acest sens vei folosi butoanele + i pentru a aduga, respectiv a elimina din nodurile grafului.

Sunt prezente exerciii care cer s se deseneze grafuri bipartite care respect anumite condiii, dar i graful K5. Totodat, pentru a descoperi c anumite tipuri de grafuri sunt sau nu sunt grafuri planare, am inclus exerciii care v permit deplasarea nodurilor spre a descoperi dac are loc sau nu aceast proprietate pentru acest graf. Neam oprit asupra unor grafuri consacrate precum: graful Petersen, cubul, tetraedrul, grafuri bipartite complete, grafuri complete. Imaginea de mai sus surprinde modul n care putei obine grafuri bipartite complete, precum i definiia grafului bipartit complet.

pagina 16

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.1.5. Lan. Ciclu. Arbori

Lecia introduce noiuni noi precum: lan, ciclu, conexitate, arbore. Pentru a v familiariza cu noiunile de lan elementar/ neelementar, lan simplu, respectiv ciclu elementar/ neelementar am construit exemple care ilustreaz aceste concepte noi. n imagine putei observa c fiecare din ciclurile date ca exemplu se construiete atunci cnd deplasai mouse-ul deasupra acestuia. Simbolul este cel care v va informa despre aceasta.

Acelai lucru l vei regsi pentru lanuri. Vei avea de desenat lanuri sau cicluri care respect diverse condiii (s fie elementare sau ne-elementare, s conin anumite noduri, etc.). Desenarea se face prin click-uri succesive pe nodurile care compun lanul. Pe msur ce un nou nod este selectat pentru a fi inclus n noul graf, acesta va fi adugat la ciclul sau lanul care se cere a fi construit. Cnd considerai c ai terminat de precizat succesiunea de noduri care compun acel lan/ciclu, apsai butonul Verific i, dac lanul/ciclul este construit corect, atunci acesta se va desena. n caz contrar, mesajul primit v explic unde este greeala. n cazul n care construcia este eronat, vei primi mesaje care v ajut s nelegei unde este greeala.

pagina 17

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.2. Grafuri orientate Conine urmtoarele lecii: 5.2.1. Adiacen. Inciden. Grad

Lecia introduce noiunile specifice grafurilor orientate. Pentru a v familiariza mai uor cu noile noiuni, avei prezent un exemplu care evideniaz noiunile de grad exterior/ interior, mulimea predecesorilor/ succesorilor unui nod, mulimea arcelor care intr/ies ntr-un/ dintr-un nod. n imaginea de mai sus putei observa cum, la deplasarea mouse-ului pe elementele grafului vei identifica denumirea nodului/ arcului respectiv. V vei ntlni ca i la grafuri neorientate cu cerina de a desena un graf orientat care s respecte anumite condiii. Desenarea nodurilor se face trecnd n modul Adaug noduri i, click-uri succesive pe suprafaa de desenat vor avea ca efect desenarea nodurilor n punctele respective. Acestea pot fi mutate dac trecei n modul Mut noduri. Trasarea arcelor se face ca i la grafurile orientate: click-uri pe cele dou extremiti ale arcului, evident, primul nod fiind extremitatea iniial a arcului. La apsarea butonului Verific vei vedea dac ai construit corect sau nu graful.

pagina 18

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.2.2. Graf parial i subgraf

Sunt introduse noiunile de graf parial i subgraf n teoria grafurilor orientate de aceast dat. Pentru a stpni mai uor noiunile, am preferat o definiie care s accentueze modul n care se poate obine un graf parial dintr-un graf, respectiv un subgraf dintr-un graf. n imaginea de mai sus am surprins un exerciiu care cere obinerea unui subgraf pentru un graf desenat. Butoanele sunt aceleai pe care le-ai ntlnit i la leciile de grafuri neorientate. Putei apela oricnd la definiia noiunii de subgraf cu un simplu click pe acest cuvnt. 5.2.3. Matricea de adiacen

Lecia definete matricea de adiacen a unui graf orientat, ca modalitate de reprezentare a unui graf foarte des ntlnit. Am insistat asupra faptului c pentru un graf neorientat, matricea de adiacen nu mai este simetric.

pagina 19

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Imaginea surprinde un exerciiu n care vi se cere s desenai un graf ce corespunde unei matrici de adiacen generate. Prin acesta testm faptul c s-a neles bine noiunea de matrice de adiacen i, trecerea de la graf la matricea de adiacen pe care am facut-o n exerciiul anterior se face acum n sens invers, adic matricea de adiacen este cea care se d i se cere s se construiasc graful. 5.2.4. Matricea vrfuri-arce

Imaginea de mai sus surprinde construcia matricei vrfuri-arce pe msur ce utilizatorul introduce noi elemente n graf. Astfel, la adugarea unui nod nou, se creeaz o linie n aceast matrice, iar la desenarea unui arc n graf, matricei i se va mai aduga nc o coloan, cu elemente -1 i 1 pentru cele dou extremiti ale arcului i cu zero n rest. n acest sens se va observa c, pentru acelai graf, matricea vrfuri arce poate s fie alta n sensul c putem permuta coloanele matricei i obinem tot o matrice de vrfuri-arce corect construit. Avei i exerciiu care cere s desenai graful care are matricea vrfuri-arce precizat. Butonul Generare matrice modific matricea i terge graful pe care tocmai l-ai desenat pentru a putea desena noul graf, corespunztor acestei noi matrici.

pagina 20

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.2.5. Listele vecinilor

Sunt definite mulimile + ( x ) i ( x ) att matematic, ct i ntr-un mod mai intuitiv s spunem. Ferestrele de definiie le obinei la un click pe noiunile corespunztoare ncadrate n dreptunghiuri verzi. Imaginea surprinde desenarea unui graf i actualizarea pas cu pas a listelor de vecini. Vei folosi ca i pn acum butonul Adaug noduri i apoi click-uri succesive pe suprafaa de desenat vor avea ca efect apariia a cte unui nou nod pentru graful respectiv. Pentru trasarea arcelor folosii click-uri succesive pe cele dou noduri extremiti ale arcului pe care vrei s-l desenai. Asta doar dup ce ai apsat butonul Traseaz arce. Putei s i mutai nodurile grafului, fie nainte de desenarea vreunui arc, fie dup. Folosii butonul terge graful ori de cte ori vrei s reluai desenarea grafului. 5.2.6. Vectorul de arce

Alturi de matricea de adiacen, ca metod de reprezentare a unui graf foarte des folosit, st vectorul de arce. Aceast lecie trateaz deci posibilitatea de reprezentare a unui graf folosind vectorul de arce i pentru aceasta am inclus definirea
pagina 21

Teoria grafurilor-Manual de utilizare

clasa a XI-a

tipurilor de date necesare att n limbajul Pascal ct i n C++ ntr-o seciune de teorie ce se deschide la apsarea butonului de teorie. Vei ntlni exerciiu care permite (ca i la celelalte modaliti de reprezentare a grafurilor), generarea aleatoare a unui vector de arce i cerina de desenare a grafului corespunztor. Imaginea surprinde desenarea unui graf ce corespunde vectorului de arce i numrului de noduri precizate. 5.2.7. Lan. Drum. Circuit

Sunt introduse noiunile de drum i circuit, dar i de lan i ciclu, de data aceasta n cazul grafurilor orientate. Am insistat pe diferena dintre lan i drum, respectiv dintre ciclu i circuit. Pentru a fixa ct mai bine aceste noiuni am inclus o serie de exerciii care cer s se construiasc lanuri, drumuri, cicluri sau circuite care respect diferite condiii. Construcia se face ca i n lecia Lan. Ciclu. Arbori de la grafuri neorientate (prin click-uri succesive pe nodurile care compun acel lan/ciclu/drum/circuit). n cazul n care cerina este rezolvat corect, vei vedea cum acel lan/ciclu/drum/circuit se deseneaz pe graf. Dac cerina nu este rezolvat corect, atunci vei primi un mesaj care v explic unde este greeala, aa cum putei vedea n imaginea de mai sus.

pagina 22

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.2.8. Matricea drumurilor

n aceast lecie este prezentat algoritmul lui Roy-Warshall care determin matricea drumurilor. O parte interesant a acestei lecii este cea n care putei vedea cum se modific matricea drumurilor n timp ce desenai graful. Imaginea de mai sus arat matricea de adiacen i matricea drumurilor aferente grafului desenat. Am optat pentru afiarea ambelor matrici pentru a observa mai clar c adugarea unui nou arc presupune pentru matricea de adiacen modificarea unui singur element la valoarea 1, pe cnd n matricea drumurilor de cele mai multe ori se modific mai multe elemente 0 n 1. Considerm c n acest fel se poate fixa mai bine modul n care arat matricea drumurilor pentru un graf dat. 5.3. Aplicaii Conine urmtoarele lecii: 5.3.1. Parcurgerea grafurilor

Lecia descrie cei doi algoritmi de parcurgere a grafurilor: n lime i respectiv n adncime.
pagina 23

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Butonul v deschide o fereastr n care vi se spune cum procedai pentru execuia pas cu pas a algoritmului. n imaginea de mai sus am surprins un pas intermediar din rularea algoritmului care parcurge graful n lime. Pe msur ce nodurile sunt vizitate, acest fapt este vizualizat i pe graf prin faptul c nodurile respective i schimb culoarea. Tablourile folosite de algoritm se actualizeaz corespunztor, n funcie de pasul din algoritm la care v aflai. Pentru a relua algoritmul folosii butonul Pentru a vedea sursa subprogramelor Pascal / C++ care implementeaz algorimul folosii butoanele:

5.3.2. Conexitate

Lecia reia definiia conexitii unui graf neorientat spre a continua cu definirea noiunii de component conex i cu algoritmul de determinare a componentelor conexe ale unui graf. n exemplul din imagine este sugerat cum, dup desenarea unui graf oarecare, la apsarea butonului Arat, cele 3 componente conexe ale grafului sunt desenate n culori diferite. Putei terge graful i desena un altul pentru a descoperi care sunt componentele conexe ale acestuia. n acest fel noiunea de component conex considerm c se fixeaz foarte uor. Lecia dispune i de 4 probleme importante legate de conexitate, probleme pentru care sunt disponibile att sursa Pascal ct i sursa C++. Este vorba despre: verificarea conexitii unui graf, descompunerea unui graf n componente conexe, transformarea unui graf neconex ntr-un graf conex i determinarea unui nod ce poate fi eliminat astfel nct noul graf obinut s rmn conex. Alte exerciii v cer s adugai muchii la un graf astfel nct s obinei un graf conex, respectiv s eliminai muchii pentru a obine un numr precizat de componente conexe.
pagina 24

Teoria grafurilor-Manual de utilizare

clasa a XI-a

n ambele cazuri este vorba despre un numr minim de muchii. 5.3.3. Grafuri hamiltoniene i euleriene

Aceast lecie trateaz grafurile hamiltoniene i euleriene, fr a uita evident de Jocul Icosian i de Problema celor 7 poduri din Konigsberg. Pentru Jocul Icosian, avei la dispoziie posibilitatea de a desena acel ciclu hamiltonian, dar i de a vedea o soluie a problemei n cazul n care nu reuii. Dac la un moment dat facei un pas greit, vei fi avertizat de cineva care va da din cap semn c nu este corect. Legat de grafuri euleriene, vei gsi n aceast lecie, la finalul seciunii de teorie, un detaliu legat de grafurile complete. Pentru acele grafuri complete care sunt euleriene, exemplul v permite s vedei cum se deseneaz un ciclu eulerian n acel graf. Imaginea de mai sus surprinde aceast seciune a leciei. Vei avea de desenat grafuri care s respecte diferite condiii cu privire la a fi sau nu hamiltoniene, respectiv euleriene. Dac ai greit, mesajul pe care-l vei primi v va explica i cum este graful desenat (eulerian, respectiv hamiltonian). 5.3.4. Arborele parial de cost minim

pagina 25

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Lecia descrie doi algoritmi de determinare a unui arbore parial de cost minim i anume: algoritmul lui Kruskal i algoritmul lui Prim. Pentru a genera alte costuri pentru muchiile grafului folosii butonul G e n e ra re c o s tu ri Butonul pas a algoritmului. v va explica din nou cum procedai pentru execuia pas cu

n imaginea de mai sus am surprins un pas intermediar din rularea algoritmului care construiete arborele parial de cost minim cu algoritmul lui Kruskal. Tablourile folosite de algoritm i variabila ct (cost total) se actualizeaz corespunztor, n funcie de pasul din algoritm la care v aflai. Pentru a relua algoritmul folosii butonul Pentru a vedea sursa subprogramelor Pascal / C++ folosii butoanele

Vei avea de construit arbori pariali de cost minim pentru anumite grafuri fie respectnd ordinea de selectare a muchiilor, ordine dat de unul din cei doi algoritmi, fie neinnd cont de aceasta. Selectarea muchiilor se face simplu, cu un click pe muchia pe care dorii s o includei n arbore. 5.3.5. Tare conexitate

Lecia prezint conceptul de tare conexitate pentru grafuri orientate i algoritmul de descompunere a unui graf n componente tare conexe. Imaginea de mai sus surprinde un exemplu n care, dup desenarea unui graf orientat oarecare, la apsarea butonului Arat, fiecare din componentele tare conexe ale grafului va fi colorat diferit. n cazul grafului nostru, numrul de componente tare conexe este 3. Pentru a nu aglomera suprafaa de desenare, am limitat numrul de noduri din graf la maxim 8. Dac ncercai s desenai mai mut de 8 noduri, vei primi un mesaj

pagina 26

Teoria grafurilor-Manual de utilizare

clasa a XI-a

n acest sens. Dar 8 noduri nseamn pn la urm c putei obine chiar 8 componente tare conexe. Atunci, evident, vei avea mai mult de trei culori n imaginea final. conexe. Arcele care rmn colorate n verde nu aparin nici unei componente tare

Vei ntlni i un exerciiu care v cere s identificai ce noduri se afl n aceeai component tare conex cu un nod precizat i s determinai numrul de componente tare conexe ale grafului. 5.3.6. Teste gril recapitulative

Am grupat ntrebrile pe seturi, n funcie de gradele de dificultate. Astfel, setul 1 conine cele mai simple ntrebri, iar setul 3 pe cele mai dificile. Atunci cnd considerai c stpnii foarte bine noiunile nvate putei alege s parcurgei un test format din ntrebri alese aleator. Dup ce ai ales unul din cele 3 seturi sau setul cu ntrebri alese aleator, apsai butonul start. n cadrul unui test nu vi se permite s trecei la ntrebarea urmtoare pn cnd nu ai ales o variant de rspuns din cele 3 disponibile. Dac ai ales de exemplu varianta 2 i v dai seama apoi c prima variant ar fi cea corect, aplicaia v permite s v rzgndii deoarece rspunsul vostru este setat doar dup apsarea butonului nainte. Prima apsare a butonului nainte v ofer informaii cu privire la corectitudinea rspunsului dat, iar la o a doua apsare a acestui buton vei trece la urmtoarea ntrebare din set. La finalul setului de ntrebri vei fi felicitat doar dac numrul de rspunsuri corecte este mai mare dect jumtate din numrul de ntrebri la care ai raspuns. Aceasta nseamn c-l vei ntlni pe smiley zmbre, personajul nostru care bate din palme. n caz contrar vei vedea pe cineva care d din cap foarte trist de nivelul de cunotine acumulate. El v atenioneaz c trebuie s revedei exemplele i exerciiile din lecii i apoi s v ntoarcei la lecia de teste gril recapitulative.

pagina 27

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.3.7. Aplicaii haioase

Lecia adun la un loc 3 aplicaii un pic mai altfel. Pentru a vedea enunul problemei date, apsai butonul Folosii butonul problemei. Butoanele v permit s vedei sursa Pascal i respectiv sursa C++ a programului care rezolv aceast problem. n imagine am surprins o rezolvare corect a problemei cu plcuele colorate care presupune amplasarea acestora n intersecii astfel nct s nu existe strad care la cele dou capete s aib plcue de aceeai culoare. Apsai butonul rezolvat problema. atunci cnd considerai c ai terminat de pentru a obine indicaii cu privire la rezolvarea

Dac dorii s reluai rezolvarea problemei, apsai butonul

pagina 28

Teoria grafurilor-Manual de utilizare

clasa a XI-a

5.3.8. Jocul spnzurtoarea

Foarte ndrgit de copii, ne-am gndit c poate reprezenta un mijloc pentru fixarea terminologiei din teoria grafurilor. Regulile jocului se cunosc. n cazul nostru computerul este cel care propune un cuvnt (evident, din domeniul studiat n aceste lecii) i utilizatorul trebuie s ncerce s ghiceasc acest cuvnt. Literele se aleg cu un simplu click pe tastatura noastr desenat. Vi se spune cte caractere are cuvntul i, pe msur ce ai ghicit litere care se afl n cuvnt, acestea sunt puse la locul lor. Dac litera selectat nu se afl n cuvnt, atunci ea va fi trecut n zona litere ce nu sunt n cuvnt i vi se mai adaug o component la scheletul din spnzurtoare. Trecerea la un cuvnt nou se face folosind butonul Cuvnt nou. Faptul c trecei la un cuvnt nou nu nseam c vi se terge scheletul construit pn atunci. Altfel jocul ar fi fost mult prea uor de ctigat. n imaginea de mai sus am surprins situaia n care utilizatorul a ghicit cuvntul, ce-i drept ncercnd i 7 litere care nu fac parte din cuvnt. Cnd tot scheletul s-a construit, nseamn c ai pierdut i vei fi anunai i care era cuvntul pe care n-ai reuit s-l gsii.

pagina 29

Teoria grafurilor-Manual de utilizare

clasa a XI-a

6. Sinteza aplicaiei
nainte de a ncheia trebuie s trecem n revist aspectele importante care vizeaz softul realizat de noi i anume: o o o o o aplicaia acoper aproape toat programa colar cu referire la teoria grafurilor; fiecare moment de lecie este caracterizat prin interactivitate i exerciii care au rolul de a fixa noiunile noi introduse; toate grafurile sunt desenate dinamic ceea ce nseamn c scriptul care le genereaz poate fi modificat foarte uor; algoritmii care se execut pas cu pas ruleaz corect la schimbarea grafului, fr ca aceasta s presupun schimbarea scripturilor; testele i problemele puse la dispoziie spre rezolvare dispun de feed-back, deci elevul se poate autoevalua i corecta, nefiind obligatorie prezena profesorului pentru a oferi explicaii.

pagina 30

Teoria grafurilor-Manual de utilizare

clasa a XI-a

Bibliografie
1. 2. 3. 4. Thomas H. Cormen, Charles E. Leiserson, Ronald R. Rivest, Introducere n algoritmi, Editura Computer Libris Agora Cornelia Ivac, Mona Prun, Bazele informaticii (Grafuri i elemente de combinatoric) , Editura Petrion, Bucureti Cornelia Ivac, Mona Prun, Tehnici de programare- Aplicaii, Editura Petrion, Bucureti Cornelia Ivac, Mona Carmen Prun, Luminia Mihaela Condurache, Doina Hrinciuc Logoftu, Informatic C++ - Manual pentru clasa a XI-a, Editura Petrion, Bucureti, 2002 Daniela Oprescu, Liana Bejan Ienulescu, Viorica Ptracu Informatic - Manual pentru clasa a XI-a, Editura Niculescu, Bucureti, 2001 Cristian Cadar, Mihai Stroe, Culegere de probleme i programe Pascal, Editura Petrion, Bucureti Adrian Atanasiu, Rodica Pintea, Culegere de probleme Pascal, Editura Petrion, Bucureti Tudor Sorin, Tehnici de programare Manual pentru clasa a X-a, Editura L&S Infomat, Bucureti, 1996 Tudor Sorin, Informatic Manual pentru clasa a XI-a, Varianta Pascal, Editura L&S Infomat, Bucureti, George Daniel Mateescu, Pavel Moraru, Informatic - Manual pentru clasa a XI-a, Editura Niculescu, Bucureti, 2002 Cristina Dragomirescu, Laura Dora Satnoianu, Mirela Popa, Informatic Fie de lucru pentru elevi, clasa a XI-a, Editura Donaris, Sibiu, 2002 Mihaela Veronica Stan si colectiv, Algoritmi Culegere de probleme, clasa a XI-a , Editura L&S Soft, Bucureti, 2004 Anany Levitin, Introduction to The Design & Analysis of Algorithms, Adison Wesley, 2003 Ioan Odgescu, Felix Furtun, Metode i tehnici de programare, Ed. Agora, 1998 Valentin Cristea, Irina Athanasiu, Eugenia Kalisy, Valeriu Iorga, Tehnici de programare, Editura Teora, Bucureti, 1993 Doru Popescu Anastasiu, Maria Codrina, Bacalaureat la informatic, Editura L&S Soft, Bucureti, 2004 Derek Franklin, Jobe Makar, Macromedia Flash MX 2004 ActionScript: Training from the Source, Peachpit Press, 2003 Robert Reinhardt and Joey Lott, Macromedia Flash MX 2004 ActionScript Bible, Wiley Publishing, Inc.,2004 Deke McClelland, Photoshop CS Bible, John Wiley & Sons, 2004 http://mathworld.wolfram.com/topics/GraphTheory.html http://www.utc.edu/Faculty/Christopher-Mawata

5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

15. 16.
17. 18.

19.
20. 21.

pagina 31

Teoria grafurilor-Manual de utilizare

clasa a XI-a

pagina 32

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