SlideShare a Scribd company logo
1 of 11
Elaborat de eleva clasei a XI-a “B”
Bondarenco Ana

 Metoda data se utilizeaza la rezolvarea problemelor
de cautare, generind toate solutiile posibile. Se
construieşte soluţia pas cu pas. Dacă se constată că pentru
o anumită valoare nu se poate ajunge la soluţie, se renunţă
la acea valoare şi se reia căutarea din punctul unde am
rămas.
introducere


 In aceasta schema este reprezentat un caz clasic ce
reprezinta esenta metodei backtracking. S-a cerut
permutarea pe diferite pozitii a elementelor 1, 2, 3.
 Ele sunt schimbate cu locurile pina nu sunt parcurse
toate elementele multimii A pentru elementul x a
solutiei. Se obţin 6 soluţii:
1 2 3; 1 3 2; 2 1 3; 2 3 1; 3 1 2; 3 2 1.
*Prin program, rezolvarea aceleiasi probleme , insa cu
n elemente, ar arata astfel:

Generarea permutărilor mulţimii {1,2,….n}
program permutari;
var
x:array[1..200] of integer;
nr,i,n,k:integer;
function col(k:integer):boolean;
begin
col:=true;
for i:=1 to k-1 do
if x[i]=x[k] then
begin
col:=false;
exit;
end;
end;
begin
write('n=');
readln(n);
nr:=0;
k:=1;
for i:=1 to n do
x[i]:=0;
while k>0 do
if k=n+1 then
begin
k:=k-1;
nr:=nr+1;
writeln(' solutia nr ',nr);
for i:=1 to n do
write(x[i]:2);
readln;
end
else
if x[k]<n then
begin
x[k]:=x[k]+1;
if col(k) then
k:=k+1;
end
else
begin
x[k]:=0;
k:=k-1;
end;
end.
 Observaţie: (1,1,…,1) nu este soluţie rezultat, dar e soluţie
posibilă, deci (1,2,…,n) este soluţie rezultat. Numărul
soluţiilor rezultat este n!
Vectorul (x1,…,xk) ∈ (S1,…,Sk), k≥1 verifică aşa
numitele condiţii de continuare, dacă
Φk(x1,…,xk)=true, ϕk : S1xS2x…xSk → {true,false}
Unde *true daca pentru orice i, j de la 1 la k si i diferit
de j si xi diferit de xj
*false daca conditiile nu sunt respectate;

 Metoda Backtracking utilizează arborele ataşat soluţiilor
posibile pentru a genera soluţiile rezultat, evitând
generarea tuturor soluţiilor posibile prin verificarea
condiţiilor de continuitate ϕk(x1,…,xk).
 Pentru rezolvarea problemei in cauza, poate fi atasat
si un arbore in spatiul solutiilor posibile

R
1 2
n
…
1
2 …
n 1
2 …
n 1 2 …
n
.
.
.
.
.
.
.
.
.
1
2 …
n
1
2 …
n
1
2 …
n
n nodurin noduri
n2
noduri
nn
noduri
x1
x2
xn

 ƒ componentele x1,x2,…,xn primesc pe rând valori, adică mai întâi x1, apoi
x2,
 …, deci xk vor primi valoare numai dacă au fost deja stabilite valori pentru
 x1,x2,…,xk-1;
 ƒ dacă xk a primit valoare, nu se trece la nivelul urmator ca să i se atribuie
 valori lui xk+1, fără să se testeze condiţiile de continuare ϕk(x1,…,xk);
 ƒ dacăϕk(x1,…,xk)=true, atunci se încearcă să se dea valori pentru xk+1.
 ƒ dacăϕk(x1,…,xk)=false, atunci:
 a) va trebui o altă alegere pentru xk, dacă Sk nu s-a epuizat sau
 b) dacă Sk s-a epuizat, se revine la nivelul inferior (k-1) şi xk primeşte o
 nouă alegere, abandonându-se un întreg arbore (de aici denumirea
 metodei).
Metoda va genera drumuri de la stânga la dreapta conform
parcurgerii DF(depth, first) a arborilor (în adâncime) şi
anume va genera vectorul (x1,x2,…,xn) astfel:

 Problemele rezolvate prin aceasta metoda necesita
un timp indelungat, motiv pentru care este bine sa
utilizam metoda numai atunci cand nu avem la
dispozitie un alt algoritm mai eficient. Cu toate ca
exista probleme pentru care nu se pot elabora
algoritmi mai eficienti, tehnica Backtracking trebuie
aplicata numai in ultima instanta. Pentru a intelege
mai bine aceasta metoda, ne putem aminti de
sudoku, un joc care are la baza esenta backtracking.
Concluzie

 http://info.mcip.ro/?t=back
 http://software.ucv.ro/~cstoica/TP/backtracking.p
df
 http://www.scritub.com/stiinta/informatica/MET
ODA-BACKTRACKING1055131414.php
Linkuri utile

More Related Content

What's hot

00007 backtracking
00007 backtracking00007 backtracking
00007 backtrackingAlly Le
 
Analiza matematica
Analiza matematicaAnaliza matematica
Analiza matematicasorinsiacob
 
Quiz proiect AP
Quiz proiect APQuiz proiect AP
Quiz proiect APVlad Manea
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power pointmiklleee
 
125907307 ecuatii-trigonometrice
125907307 ecuatii-trigonometrice125907307 ecuatii-trigonometrice
125907307 ecuatii-trigonometriceClaudia Morosanu
 
tap alfa
tap alfatap alfa
tap alfauidivo
 
Tehnici de programare_triere_1522
Tehnici de programare_triere_1522Tehnici de programare_triere_1522
Tehnici de programare_triere_1522miklleee
 
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trieriiBalan Veronica
 

What's hot (20)

0metoda reluarii
0metoda reluarii0metoda reluarii
0metoda reluarii
 
Metoda backtracking
Metoda backtrackingMetoda backtracking
Metoda backtracking
 
Metoda reluării(3)
Metoda reluării(3)Metoda reluării(3)
Metoda reluării(3)
 
RH
RHRH
RH
 
MetodaRMC
MetodaRMCMetodaRMC
MetodaRMC
 
Metoda reluării
Metoda reluăriiMetoda reluării
Metoda reluării
 
Metoda reluării(1)
Metoda reluării(1)Metoda reluării(1)
Metoda reluării(1)
 
Metoda reluarii
Metoda reluarii Metoda reluarii
Metoda reluarii
 
00007 backtracking
00007 backtracking00007 backtracking
00007 backtracking
 
Metoda reluarii..
Metoda reluarii..Metoda reluarii..
Metoda reluarii..
 
Metoda reluarii
Metoda reluariiMetoda reluarii
Metoda reluarii
 
Analiza matematica
Analiza matematicaAnaliza matematica
Analiza matematica
 
an num old
an num oldan num old
an num old
 
Quiz proiect AP
Quiz proiect APQuiz proiect AP
Quiz proiect AP
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power point
 
125907307 ecuatii-trigonometrice
125907307 ecuatii-trigonometrice125907307 ecuatii-trigonometrice
125907307 ecuatii-trigonometrice
 
tap alfa
tap alfatap alfa
tap alfa
 
Metoda trierii(1)
Metoda trierii(1)Metoda trierii(1)
Metoda trierii(1)
 
Tehnici de programare_triere_1522
Tehnici de programare_triere_1522Tehnici de programare_triere_1522
Tehnici de programare_triere_1522
 
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trierii
 

Viewers also liked (13)

Curriculum la disciplina informatica clasele X – XII (varianta în limba română)
Curriculum la disciplina informatica clasele X – XII (varianta în limba română)Curriculum la disciplina informatica clasele X – XII (varianta în limba română)
Curriculum la disciplina informatica clasele X – XII (varianta în limba română)
 
Dinu(2)
Dinu(2)Dinu(2)
Dinu(2)
 
Catalina
CatalinaCatalina
Catalina
 
Inform
InformInform
Inform
 
MCI
MCIMCI
MCI
 
Hurmuzachii vlad
Hurmuzachii vladHurmuzachii vlad
Hurmuzachii vlad
 
Informat
InformatInformat
Informat
 
Metoda trierii
Metoda trieriiMetoda trierii
Metoda trierii
 
!Inofrmatica
!Inofrmatica!Inofrmatica
!Inofrmatica
 
Metoda trierii(1)
Metoda trierii(1)Metoda trierii(1)
Metoda trierii(1)
 
Tehnica greedy
Tehnica greedyTehnica greedy
Tehnica greedy
 
Metoda trieii..alina
Metoda trieii..alinaMetoda trieii..alina
Metoda trieii..alina
 
MT
MTMT
MT
 

More from Balan Veronica (20)

10690908 737125719676587 190185588_n
10690908 737125719676587 190185588_n10690908 737125719676587 190185588_n
10690908 737125719676587 190185588_n
 
Integrarea numerica
Integrarea numericaIntegrarea numerica
Integrarea numerica
 
Veronica botnarenco
Veronica botnarencoVeronica botnarenco
Veronica botnarenco
 
Integrare numerică
Integrare numericăIntegrare numerică
Integrare numerică
 
Inform
InformInform
Inform
 
Metodele de integrare
Metodele de integrareMetodele de integrare
Metodele de integrare
 
Metode de calcul al integralei definite
Metode de calcul al integralei definiteMetode de calcul al integralei definite
Metode de calcul al integralei definite
 
Integrarea numerică
Integrarea numericăIntegrarea numerică
Integrarea numerică
 
Dreptunghiuri
DreptunghiuriDreptunghiuri
Dreptunghiuri
 
aana
aanaaana
aana
 
CatPadI
CatPadICatPadI
CatPadI
 
integrare
integrareintegrare
integrare
 
Metoda0newton
Metoda0newtonMetoda0newton
Metoda0newton
 
Metoda-bisecției
Metoda-bisecțieiMetoda-bisecției
Metoda-bisecției
 
Metoda-coardei
Metoda-coardeiMetoda-coardei
Metoda-coardei
 
Metoda-newton(1)
Metoda-newton(1)Metoda-newton(1)
Metoda-newton(1)
 
newton
newtonnewton
newton
 
BD
BDBD
BD
 
pr
prpr
pr
 
PD
PDPD
PD
 

Recently uploaded

Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aCMB
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11CMB
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10CrciunAndreeaMaria
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiAndr808555
 
Literatura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba românăLiteratura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba românăBibliotecaMickiewicz
 
Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxMoroianuCristina1
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCori Rus
 

Recently uploaded (7)

Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-a
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantului
 
Literatura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba românăLiteratura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba română
 
Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptx
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptx
 

Madaç

  • 1. Elaborat de eleva clasei a XI-a “B” Bondarenco Ana
  • 2.   Metoda data se utilizeaza la rezolvarea problemelor de cautare, generind toate solutiile posibile. Se construieşte soluţia pas cu pas. Dacă se constată că pentru o anumită valoare nu se poate ajunge la soluţie, se renunţă la acea valoare şi se reia căutarea din punctul unde am rămas. introducere
  • 3.
  • 4.   In aceasta schema este reprezentat un caz clasic ce reprezinta esenta metodei backtracking. S-a cerut permutarea pe diferite pozitii a elementelor 1, 2, 3.  Ele sunt schimbate cu locurile pina nu sunt parcurse toate elementele multimii A pentru elementul x a solutiei. Se obţin 6 soluţii: 1 2 3; 1 3 2; 2 1 3; 2 3 1; 3 1 2; 3 2 1. *Prin program, rezolvarea aceleiasi probleme , insa cu n elemente, ar arata astfel:
  • 5.  Generarea permutărilor mulţimii {1,2,….n} program permutari; var x:array[1..200] of integer; nr,i,n,k:integer; function col(k:integer):boolean; begin col:=true; for i:=1 to k-1 do if x[i]=x[k] then begin col:=false; exit; end; end; begin write('n='); readln(n); nr:=0; k:=1; for i:=1 to n do x[i]:=0; while k>0 do if k=n+1 then begin k:=k-1; nr:=nr+1; writeln(' solutia nr ',nr); for i:=1 to n do write(x[i]:2); readln; end else if x[k]<n then begin x[k]:=x[k]+1; if col(k) then k:=k+1; end else begin x[k]:=0; k:=k-1; end; end.
  • 6.  Observaţie: (1,1,…,1) nu este soluţie rezultat, dar e soluţie posibilă, deci (1,2,…,n) este soluţie rezultat. Numărul soluţiilor rezultat este n! Vectorul (x1,…,xk) ∈ (S1,…,Sk), k≥1 verifică aşa numitele condiţii de continuare, dacă Φk(x1,…,xk)=true, ϕk : S1xS2x…xSk → {true,false} Unde *true daca pentru orice i, j de la 1 la k si i diferit de j si xi diferit de xj *false daca conditiile nu sunt respectate;
  • 7.   Metoda Backtracking utilizează arborele ataşat soluţiilor posibile pentru a genera soluţiile rezultat, evitând generarea tuturor soluţiilor posibile prin verificarea condiţiilor de continuitate ϕk(x1,…,xk).  Pentru rezolvarea problemei in cauza, poate fi atasat si un arbore in spatiul solutiilor posibile
  • 8.  R 1 2 n … 1 2 … n 1 2 … n 1 2 … n . . . . . . . . . 1 2 … n 1 2 … n 1 2 … n n nodurin noduri n2 noduri nn noduri x1 x2 xn
  • 9.   ƒ componentele x1,x2,…,xn primesc pe rând valori, adică mai întâi x1, apoi x2,  …, deci xk vor primi valoare numai dacă au fost deja stabilite valori pentru  x1,x2,…,xk-1;  ƒ dacă xk a primit valoare, nu se trece la nivelul urmator ca să i se atribuie  valori lui xk+1, fără să se testeze condiţiile de continuare ϕk(x1,…,xk);  ƒ dacăϕk(x1,…,xk)=true, atunci se încearcă să se dea valori pentru xk+1.  ƒ dacăϕk(x1,…,xk)=false, atunci:  a) va trebui o altă alegere pentru xk, dacă Sk nu s-a epuizat sau  b) dacă Sk s-a epuizat, se revine la nivelul inferior (k-1) şi xk primeşte o  nouă alegere, abandonându-se un întreg arbore (de aici denumirea  metodei). Metoda va genera drumuri de la stânga la dreapta conform parcurgerii DF(depth, first) a arborilor (în adâncime) şi anume va genera vectorul (x1,x2,…,xn) astfel:
  • 10.   Problemele rezolvate prin aceasta metoda necesita un timp indelungat, motiv pentru care este bine sa utilizam metoda numai atunci cand nu avem la dispozitie un alt algoritm mai eficient. Cu toate ca exista probleme pentru care nu se pot elabora algoritmi mai eficienti, tehnica Backtracking trebuie aplicata numai in ultima instanta. Pentru a intelege mai bine aceasta metoda, ne putem aminti de sudoku, un joc care are la baza esenta backtracking. Concluzie
  • 11.   http://info.mcip.ro/?t=back  http://software.ucv.ro/~cstoica/TP/backtracking.p df  http://www.scritub.com/stiinta/informatica/MET ODA-BACKTRACKING1055131414.php Linkuri utile