コンコン゚」

コンコン゚」Share a Scribd company logo
ELABORAT DE ELEVUL CLASEI XI -A窶截窶
COネ僞RU SERGIU
Metoda Backtracking
w Aceastト tehnicト poate fi utilizatト pentru rezolvarea
problemelor de cトブtare, putテ「nd fi folositト pentru
generarea tuturor soluナ」iilor posibile.
Se foloseナ殳e テョn rezolvarea problemelor care テョndeplinesc
simultan urmトフoarele condiナ」ii:
w Soluナ」ia lor poate fi pusト sub forma unui vector V =
x1x2x3 窶ヲ窶ヲ. xn, cu x1竏A1 窶ヲ. Xn 竏 An
w Mulナ」imile A1, A2, 窶ヲ An sunt mulナ」imi finite, iar
elementele lor se aflト テョntr-o ordine bine stabilitト
w Nu se dispune de o metodト de rezolvare mai rapidト
Algoritmul General
Procedure Reluare(k:integer);
begin
if k<=n then
begin
X[k]:=primulelement(k);
if Continuare(k) then Reluare(k+1);
while ExistaSuccesor(k) do
Begin
X[k]:=Succesor(k);
If Continuare(k) then Reluare(k+1)
End;
End
Else PrelucrareaSolutiei;
End;
Metoda poate fi folositト la rezolvarea urmatoarelor probleme:
w generarea permutトビilor unei mulナ」imi
w generarea aranjamentelor unei mulナ」imi
w generarea submulナ」imilor unei mulナ」imi
w generarea submulナ」imilor cu m elemente ale unei mulナ」imi
(combinトビi)
w generarea produsului cartezian a n mulナ」imi
w generarea tuturor secvenナ」elor de n (par) paranteze care se テョnchid
corect.
w colorarea ナ」トビilor de pe o hartト astfel テョncテ「t oricare douト ナ」トビi vecine sト
aibト culori diferite
w aranjarea a n regine pe o tablト de ナ歛h de dimensiune n fトビト ca ele sト
se atace.
w Partiナ」iile unui numトビ natural. Fie n>0, natural. Sト se
scrie un program care sト afiナ歹ze toate partiナ」iile unui
numトビ natural n.
Numim partiナ」ie a unui numトビ natural nenul n o mulナ」ime de
numere naturale nenule {p1, p2, 窶ヲ, pk} care テョndeplinesc
condiナ」ia p1+p2+ 窶ヲ+pk = n.
Ex: pt n = 4 programul va afiナ歛:
Partiネ嬖ile unui numトビ natural:
program Partitii_nr_natural; var n, ns: byte;
sol: array[1..20] of byte; procedure afis(l: byte);
var i: byte;
begin
inc(ns); write 'Solutia ', ns, ' : ');
for i:=1 to l do write(sol[i]:3);
writeln;
end;
procedure back(i, sp: byte);
var j: byte;
begin
if sp = n then afis(i-1) else for j:=1 to n-sp do
if (j>=sol[i-1]; then begin
sol[i]:=j;
back(i+1, sp+j) end; end;
begin
read(n); ns:=0;
back(1,0); writeln(ns,'solutii');
end.
Concluzie
w テ始 conlcuzie metoda reluトビii este o metodト ce
necesitト mult timp de aceea trebuie sト fie folositト ca
o ultimト soluネ嬖e a problemei .Avantajul metodei este
cト nu se genereazト toate soluネ嬖ile dar doar cele ce
sunt convenabile rezolvトビii problemei date.
Link-uri utile
w http://software.ucv.ro/~cstoica/TP/backtracking.pdf
w http://info.mcip.ro/?t=back

More Related Content

What's hot (20)

Catalina.metoda reluトビii
Catalina.metoda reluトビiiCatalina.metoda reluトビii
Catalina.metoda reluトビii
Balan Veronica
Metoda reluarii
Metoda reluariiMetoda reluarii
Metoda reluarii
Ana Conovalov
Metoda backtracking(1)
Metoda backtracking(1)Metoda backtracking(1)
Metoda backtracking(1)
Balan Veronica
Metoda reluトビii(2)
Metoda reluトビii(2)Metoda reluトビii(2)
Metoda reluトビii(2)
Balan Veronica
ミソムミオミキミオミスムひームミクム Microsoft office power point
ミソムミオミキミオミスムひームミクム Microsoft office power pointミソムミオミキミオミスムひームミクム Microsoft office power point
ミソムミオミキミオミスムひームミクム Microsoft office power point
miklleee
00007 backtracking
00007 backtracking00007 backtracking
00007 backtracking
Ally Le
Tehnici de programare_triere_1522
Tehnici de programare_triere_1522Tehnici de programare_triere_1522
Tehnici de programare_triere_1522
miklleee
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trierii
Balan Veronica
Razbunarea inginerilor !
Razbunarea inginerilor !Razbunarea inginerilor !
Razbunarea inginerilor !
digibrain
Metoda reluarii
Metoda reluarii Metoda reluarii
Metoda reluarii
VivianaDanuta
112
112112
112
guestba552c
Despre ingineri
Despre ingineriDespre ingineri
Despre ingineri
constructiiforum
Quiz proiect AP
Quiz proiect APQuiz proiect AP
Quiz proiect AP
Vlad Manea
Catalina.metoda reluトビii
Catalina.metoda reluトビiiCatalina.metoda reluトビii
Catalina.metoda reluトビii
Balan Veronica
Metoda backtracking(1)
Metoda backtracking(1)Metoda backtracking(1)
Metoda backtracking(1)
Balan Veronica
Metoda reluトビii(2)
Metoda reluトビii(2)Metoda reluトビii(2)
Metoda reluトビii(2)
Balan Veronica
ミソムミオミキミオミスムひームミクム Microsoft office power point
ミソムミオミキミオミスムひームミクム Microsoft office power pointミソムミオミキミオミスムひームミクム Microsoft office power point
ミソムミオミキミオミスムひームミクム Microsoft office power point
miklleee
00007 backtracking
00007 backtracking00007 backtracking
00007 backtracking
Ally Le
Tehnici de programare_triere_1522
Tehnici de programare_triere_1522Tehnici de programare_triere_1522
Tehnici de programare_triere_1522
miklleee
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trierii
Balan Veronica
Razbunarea inginerilor !
Razbunarea inginerilor !Razbunarea inginerilor !
Razbunarea inginerilor !
digibrain
Quiz proiect AP
Quiz proiect APQuiz proiect AP
Quiz proiect AP
Vlad Manea

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ト)
Anna-Maria Russu

Similar to Metoda backtracking (20)

Tehnici de programare triere
Tehnici de programare triereTehnici de programare triere
Tehnici de programare triere
cboldisor
Metoda Divide et Impera
Metoda Divide et ImperaMetoda Divide et Impera
Metoda Divide et Impera
Luminiネ嫗 Mihailov
Metoda Divide et Impera
Metoda Divide et ImperaMetoda Divide et Impera
Metoda Divide et Impera
Luminiネ嫗 Mihailov
tap alfa
tap alfatap alfa
tap alfa
uidivo
Problema Celor N Dame
Problema Celor N DameProblema Celor N Dame
Problema Celor N Dame
guesta1bc0
metoda_backtracking22.ppt
metoda_backtracking22.pptmetoda_backtracking22.ppt
metoda_backtracking22.ppt
OKMAN9
Inductia matematica
Inductia matematicaInductia matematica
Inductia matematica
Dia_Cla
Bacalaureat INFO 203 matematica informatica
Bacalaureat INFO 203 matematica informaticaBacalaureat INFO 203 matematica informatica
Bacalaureat INFO 203 matematica informatica
LuminitaGabrielaNast
Problema Calului
Problema CaluluiProblema Calului
Problema Calului
guest8f8af90
Instructiuni in c si c++
Instructiuni in c si c++Instructiuni in c si c++
Instructiuni in c si c++
Serghei Urban
Proiect cl ix
Proiect cl ixProiect cl ix
Proiect cl ix
Claudia
Tipuri de date tablou
Tipuri de date tablouTipuri de date tablou
Tipuri de date tablou
StelianBaciu2
Problema calului-1232691710728721-2 (1)
Problema calului-1232691710728721-2 (1)Problema calului-1232691710728721-2 (1)
Problema calului-1232691710728721-2 (1)
BIT2GB
Tehnici de programare triere
Tehnici de programare triereTehnici de programare triere
Tehnici de programare triere
cboldisor
tap alfa
tap alfatap alfa
tap alfa
uidivo
Problema Celor N Dame
Problema Celor N DameProblema Celor N Dame
Problema Celor N Dame
guesta1bc0
metoda_backtracking22.ppt
metoda_backtracking22.pptmetoda_backtracking22.ppt
metoda_backtracking22.ppt
OKMAN9
Inductia matematica
Inductia matematicaInductia matematica
Inductia matematica
Dia_Cla
Bacalaureat INFO 203 matematica informatica
Bacalaureat INFO 203 matematica informaticaBacalaureat INFO 203 matematica informatica
Bacalaureat INFO 203 matematica informatica
LuminitaGabrielaNast
Problema Calului
Problema CaluluiProblema Calului
Problema Calului
guest8f8af90
Instructiuni in c si c++
Instructiuni in c si c++Instructiuni in c si c++
Instructiuni in c si c++
Serghei Urban
Proiect cl ix
Proiect cl ixProiect cl ix
Proiect cl ix
Claudia
Tipuri de date tablou
Tipuri de date tablouTipuri de date tablou
Tipuri de date tablou
StelianBaciu2
Problema calului-1232691710728721-2 (1)
Problema calului-1232691710728721-2 (1)Problema calului-1232691710728721-2 (1)
Problema calului-1232691710728721-2 (1)
BIT2GB

More from Balan Veronica (20)

10690908 737125719676587 190185588_n
10690908 737125719676587 190185588_n10690908 737125719676587 190185588_n
10690908 737125719676587 190185588_n
Balan Veronica
Integrarea numerica
Integrarea numericaIntegrarea numerica
Integrarea numerica
Balan Veronica
Veronica botnarenco
Veronica botnarencoVeronica botnarenco
Veronica botnarenco
Balan Veronica
Integrare numericト
Integrare numericトIntegrare numericト
Integrare numericト
Balan Veronica
Inform
InformInform
Inform
Balan Veronica
Metodele de integrare
Metodele de integrareMetodele de integrare
Metodele de integrare
Balan Veronica
Metode de calcul al integralei definite
Metode de calcul al integralei definiteMetode de calcul al integralei definite
Metode de calcul al integralei definite
Balan Veronica
Integrarea numericト
Integrarea numericトIntegrarea numericト
Integrarea numericト
Balan Veronica
Dreptunghiuri
DreptunghiuriDreptunghiuri
Dreptunghiuri
Balan Veronica
aana
aanaaana
aana
Balan Veronica
CatPadI
CatPadICatPadI
CatPadI
Balan Veronica
integrare
integrareintegrare
integrare
Balan Veronica
Metoda0newton
Metoda0newtonMetoda0newton
Metoda0newton
Balan Veronica
イムアウルエヌサ蟯ケ-イセアイアウヲネ崟アアセア
イムアウルエヌサ蟯ケ-イセアイアウヲネ崟アアセアイムアウルエヌサ蟯ケ-イセアイアウヲネ崟アアセア
イムアウルエヌサ蟯ケ-イセアイアウヲネ崟アアセア
Balan Veronica
Metoda-coardei
Metoda-coardeiMetoda-coardei
Metoda-coardei
Balan Veronica
Metoda-newton(1)
Metoda-newton(1)Metoda-newton(1)
Metoda-newton(1)
Balan Veronica
BD
BDBD
BD
Balan Veronica
pr
prpr
pr
Balan Veronica
PD
PDPD
PD
Balan Veronica

Metoda backtracking

  • 1. ELABORAT DE ELEVUL CLASEI XI -A窶截窶 COネ僞RU SERGIU Metoda Backtracking
  • 2. w Aceastト tehnicト poate fi utilizatト pentru rezolvarea problemelor de cトブtare, putテ「nd fi folositト pentru generarea tuturor soluナ」iilor posibile.
  • 3. Se foloseナ殳e テョn rezolvarea problemelor care テョndeplinesc simultan urmトフoarele condiナ」ii: w Soluナ」ia lor poate fi pusト sub forma unui vector V = x1x2x3 窶ヲ窶ヲ. xn, cu x1竏A1 窶ヲ. Xn 竏 An w Mulナ」imile A1, A2, 窶ヲ An sunt mulナ」imi finite, iar elementele lor se aflト テョntr-o ordine bine stabilitト w Nu se dispune de o metodト de rezolvare mai rapidト
  • 4. Algoritmul General Procedure Reluare(k:integer); begin if k<=n then begin X[k]:=primulelement(k); if Continuare(k) then Reluare(k+1); while ExistaSuccesor(k) do Begin X[k]:=Succesor(k); If Continuare(k) then Reluare(k+1) End; End Else PrelucrareaSolutiei; End;
  • 5. Metoda poate fi folositト la rezolvarea urmatoarelor probleme: w generarea permutトビilor unei mulナ」imi w generarea aranjamentelor unei mulナ」imi w generarea submulナ」imilor unei mulナ」imi w generarea submulナ」imilor cu m elemente ale unei mulナ」imi (combinトビi) w generarea produsului cartezian a n mulナ」imi w generarea tuturor secvenナ」elor de n (par) paranteze care se テョnchid corect. w colorarea ナ」トビilor de pe o hartト astfel テョncテ「t oricare douト ナ」トビi vecine sト aibト culori diferite w aranjarea a n regine pe o tablト de ナ歛h de dimensiune n fトビト ca ele sト se atace.
  • 6. w Partiナ」iile unui numトビ natural. Fie n>0, natural. Sト se scrie un program care sト afiナ歹ze toate partiナ」iile unui numトビ natural n. Numim partiナ」ie a unui numトビ natural nenul n o mulナ」ime de numere naturale nenule {p1, p2, 窶ヲ, pk} care テョndeplinesc condiナ」ia p1+p2+ 窶ヲ+pk = n. Ex: pt n = 4 programul va afiナ歛:
  • 7. Partiネ嬖ile unui numトビ natural: program Partitii_nr_natural; var n, ns: byte; sol: array[1..20] of byte; procedure afis(l: byte); var i: byte; begin inc(ns); write 'Solutia ', ns, ' : '); for i:=1 to l do write(sol[i]:3); writeln; end; procedure back(i, sp: byte); var j: byte; begin if sp = n then afis(i-1) else for j:=1 to n-sp do if (j>=sol[i-1]; then begin sol[i]:=j; back(i+1, sp+j) end; end; begin read(n); ns:=0; back(1,0); writeln(ns,'solutii'); end.
  • 8. Concluzie w テ始 conlcuzie metoda reluトビii este o metodト ce necesitト mult timp de aceea trebuie sト fie folositト ca o ultimト soluネ嬖e a problemei .Avantajul metodei este cト nu se genereazト toate soluネ嬖ile dar doar cele ce sunt convenabile rezolvトビii problemei date.