Metoda divide et impera

Seminar
7.3/10 (3 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 14 în total
Cuvinte : 2050
Mărime: 14.88KB (arhivat)
Publicat de: Bernard Mihalcea
Puncte necesare: 0

Extras din seminar

NOTIUNI INTRODUCTIVE

Metoda de programare DIVIDE ET IMPERA consta in impartirea problemei initiale de dimensiuni [n] in doua sau mai multe probleme de dimensiuni reduse .In general se executa impartirea in doua subprobleme de dimensiuni aproximativ egale si anume [n/2] . Impartirea in subprobleme are loc pana cand dimensiunea acestora devine suficient de mica pentru a fi rezolvate in mod direct(cazul de baza).Dupa rezolvarea celor doua subprobleme se executa faza de combinare a rezultatelor in vederea rezolvarii intregii probleme .

Metoda DIVIDE ET IMPERA se poate aplica in rezolvarea unei probleme care indeplineste urmatoarele conditii :

- se poate descompune in ( doua sau mai multe) suprobleme ;

- aceste suprobleme sunt independente una fata de alta (o subproblema nu se rezolva pe baza alteia si nu se foloseste rezultate celeilalte);

- aceste subprobleme sunt similare cu problema initiala;

- la randul lor subproblemele se pot descompune (daca este necesar) in alte subprobleme mai simple;

- aceste subprobleme simple se pot solutiona imediat prin algoritmul simplificat.

Deoarece putine probleme indeplinesc conditiile de mai sus ,aplicarea metodei este destul de rara.

Dupa cum sugereaza si numele "desparte si stapaneste "etapele rezolvarii unei probleme (numita problema initiala) in DIVIDE ET IMPERA sunt :

- descompunerea problemei initiale in subprobleme independente ,smilare problemei de baza ,de dimensiuni mai mici ;

- descompunerea treptata a subproblemelor in alte subprobleme din ce in ce mai simple ,pana cand se pot rezolva imediata ,prin algoritmul simplificat ;

- rezolvarea subproblemelor simple ;

- combinarea solutiilor gasite pentru construirea solutiilor subproblemelor de dimensiuni din ce in ce mai mari ;

- combinarea ultimelor solutii determina obtinerea solutiei problemei initiale .

Metoda DIVIDE ET IMPERA admite o implementare recursiva ,deorece subproblemele sunt similare problemei initiale, dar de dimensiuni mai mici .

Principiul fundamental al recursivitatii este autoapelarea unui subprogram cand acesta este activ;ceea ce se intampla la un nivel ,se intampla la orice nivel ,avand grija sa asiguram conditia de terminare ale apelurilor repetate .Asemanator se intampla si in cazul metodei DIVITE ET IMPERA ; la un anumit nivel sunt doua posibilitati :

s-a ajuns la o (sub)problema simpla ce admite o rezolvare imediata caz in care se rezolva (sub)problema si se revine din apel (la subproblema anterioara,de dimensiuni mai mari);

s-a ajuns la o (sub)problema care nu admite o rezolvare imediata ,caz in care o descompunem in doua sau mai multe subprobleme si pentru fiecare din ele se continua apelurile recursive(ale procedurii sau functiei).

In etapa finala a metodei DIVIDE ET IMPERA se produce combinarea subproblemelor (rezolvate deja) prin secventele de revenire din apelurile recursive.

Etapele metodei DIVIDE ET IMPERA (prezentate anterior)se pot reprezenta prin urmatorul subprogram general (procedura sau functie )recursiv exprimat in limbaj natural:

Subprogram DIVIMP (PROB);

Daca PROBLEMA PROB este simpla

Atunci se rezolva si se obtine solutia SOL

Altfel pentru i=1,k executa DIVIMP(PROB) si se obtine SOL1;

Se combina solutiile SOL 1,... ,SOL K si se obtine SOL;

Sfarsit _subprogram;

Deci ,subprogramul DIVIMP se apeleaza pentru problema initiala PROB;aceasta admite descompunerea in K subprobleme simple ;pentru acestea se reapeleaza recursiv subprogramul ;in final se combina solutiile acestor K subprobleme.

Preview document

Metoda divide et impera - Pagina 1
Metoda divide et impera - Pagina 2
Metoda divide et impera - Pagina 3
Metoda divide et impera - Pagina 4
Metoda divide et impera - Pagina 5
Metoda divide et impera - Pagina 6
Metoda divide et impera - Pagina 7
Metoda divide et impera - Pagina 8
Metoda divide et impera - Pagina 9
Metoda divide et impera - Pagina 10
Metoda divide et impera - Pagina 11
Metoda divide et impera - Pagina 12
Metoda divide et impera - Pagina 13
Metoda divide et impera - Pagina 14

Conținut arhivă zip

  • Metoda Divide et Impera.doc

Alții au mai descărcat și

Algoritmi și Structuri de Date

Introducere: Semiotica se ocupã cu studiul semnelor în natura si în societate. Semnul nu este o calitate în sine a unui obiect, ci o functie pe...

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Grafuri Orientate

Un graf orientat G este format dintr-o pereche ordonata de multimi G=(X,U). ca si in cazul grafurilor neorientate, X este multimea varfurilor sau...

Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi

• Arbori Numim arbore un graf neorientat conex şi fără cicluri. Aceasta nu este singurul mod în care putem defini arborii. Câteva definiţii...

Te-ar putea interesa și

Divide et Impera

1.1.Tema proiectului Sa se dezvolte o aplicatie realizata in Power Point care sa cuprinda informatii despre metoda “Divide et impera”.Aplicatia va...

Evidența locatarilor unei asociații - tehnici de programare

Tema si cerintele proiectului: Evidenta locatarilor unei asociatii. Avem doua structuri cu urmatoarele campuri: 1) - Id - Nume - Prenume...

Turnurile din Hanoi - Pascal

Capitolul I NOTIUNI INTRODUCTIVE Metoda de programare DIVIDE ET IMPERA consta in impartirea problemei initiale de dimensiuni [n] in doua sau mai...

Informatică portofoliu

I.METODA DIVIDE ET IMPERA 1.Notiuni introductive Asa cum spune si denumirea metodei (imparte si stapaneste), metoda se bazeaza pe impartirea unei...

Metoda backtracking

METODA BACKTRACKING Tehnica folosita:Metoda Backtracking Aceasta tehnica se foloseste in rezolvarea problemelor care indeplinesc simulltan...

Algoritmica grafurilor

Capitolul 1 INTRODUCERE Pentru noţiunile din acest paragraf am consultat Behzad, Chartrand, Foster, Croitoru, Olaru, Tomescu. Alte completări...

Laborator SDA

LISTE SIMPLU ÎNLANTUITE 1. Continutul lucrarii În lucrare sunt prezentate operatiile importante asupra listelor simplu înlantuite si...

Structuri de Date și Alogoritmi

EXTENSII ALE LIMBAJULUI C++ A. Operaţii de intrare-ieşire specifice limbajului C++ I. Noţiuni teoretice Limbajul C++ furnizează o bibliotecă...

Ai nevoie de altceva?