Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Metoda Backtracking

algoritmi



+ Font mai mare | - Font mai mic



Metoda Backtracking

Descrierea Metodei



Metoda BackTracking se aplica in probleme de cautare. Metoda este adecvata problemelor in care solutia se poate exprima ca un n-uplu (x1 x2 xn) , xi Si - finita , i = 1,n . Solutia trebuie sa satisfaca sau sa minimizeze / maximizeze o functie criteriu P(x1 x2 xn). Uneori se solicita toate solutiile.Daca |S1| = m1 , |S2| = m2 . . . |Sn| = mn , atunci numarul total de n-uple este m=m1 m2 mn. Metoda nu asigura ca nu se vor incerca toate cele m posibilitati , dar practic reduce mult numarul de n-uple care se incearca prin folosirea functiei criteriu. Ideea este de a folosi o forma partiala a functiei criteriu Pi(x1 x2 xi) care elimina familii intregi de n-uple. Daca de exemplu solutia partiala (x1 x2 xi) nu are nici o sansa de a conduce la o solutie completa , toate cele mi+1 mi+2 mn n-uple cu (x1 x2 xi) pe primele i pozitii se abandoneaza.

Spatiul solutiilor. Restrictii.

S1 S2 Sn se numeste spatiul solutiilor problemei, iar restrictiile de forma (x1,x2,,xn) S1 S2 Sn se numesc restrictii explicite ; restrictiile (x1, x2 ,,xn) satisfacind P se numesc restrictii implicite

Exemplu 1: Problema celor 8 dame pe tabla de sah : Data fiind S==multimea celor 8 dame si o tabla de sah ( 8 linii si 8 coloane) sa se plaseze cele 8 dame asfel incit sa nu existe doua dame pe aceeasi linie, coloana sau diagonala.

O solutie poate fi exprimata printr-un 8-uplu X=(x1,x2,.x8) unde xi = coloana pe care se plaseaza dama I ( linia pe care se plaseaza dama I este i )

- Deoarece Si = S, i=1,.,8 rezulta ca spatiul de solutii S S S S are 88 8-uple;

de 8ori

- Restrictia explicita: 1 xi 8 , i=1,.,8

- Restrictii implicite -o singura dama pe o coloana : xi xj , ( ) i j, i,j=1,.,8

-o singura dama pe o diagonala : |i-j| |xi-xj| , ( ) i j, i,j=1,.,8

Exemplu 2: Suma fixa de submultimi : Date fiind S=, wi i n si M-o valoare M > 0, sa se determine toate submultimile S' S, S`= cu proprietatea x1+x2++xk=M

Cazul n=4 : S= M=31 S=(11,13,24,7); solutii : X1=(11,13,7), X2=(24,7) sau exprimate prin indicii i ai elementelor wi I S, X1=(1,2,4), X2=(3,4)

Pentru cazul exprimarii solutiilor prin indicii i ai elementelor wi I S restrictiile sint urmatoarele:

- Restrictii explicite 1 xi n, , i=1,.,n

- Restrictii implicite: xi xj si =M

xi<xi+1 pentru a evita generarea aceleasi multimi

ex.:=

O alta abordare: X=(x1,x2,..xn), xi = 0 sau 1; = M

Spatiul solutiilor este de dimensiune 2n.

Organizarea sub forma de arbore a spatiului solutiilor

Metoda backtracking rezolva o problema prin cautarea sistematica a solutiei in spatiul solutiilor. Conceptual , aceasta cautare foloseste o organizare a spatiului solutiilor sub forma unui arbore.

Exemplul 1 : Problema celor n-dame

folosim n=4

In acest arbore arcele de la nivel i la i+1 sint etichetate cu valori xi.

Spatiul solutiilor = secventele de etichete de la radacina la nodurile frunza.Nodurile sint etichetate in

sensul parcurgerii depth-first.

Exemplul 2: Suma de submultimi (11,13,24,7) M=31

- traversare breadth-first.

Notiuni :

-starea problemei - fiecare nod intr-un arbore defineste o stare a problemei;

-spatiul starilor - toate drumurile de la radacina la noduri;

-stari solutie - acele stari (noduri) pentru care drum de la radacina la nod etichetat cu un n-uplu;

-stari raspuns - stari care satisfac conditiile implicite P;

-arborele spatiului starilor - spatiul starilor problemei organizat sub forma de arbore.

Arborii construiti astfel sint arbori statici si nu depind de instanta problemei. Exista arbori dinamici care depind de problema. Un exemplu ar fi cazul in care functie de valoarea lui x1 se decide daca la primul nivel este x1 sau x2 s.a.m.d.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1763
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved