You are on page 1of 2

Gii thut quay lui

1. tng - Dng gii bi ton lit k cc cu hnh: + Mi cu hnh c xy dng bng cch xc nh tng phn t + Mi phn t c chn bng cch th cc kh nng c th. - Ti mi bc, nu c mt la chn c chp thun th ghi nhn li la chn ny v tin hnh cc bc th tip theo. Cn ngc li khng c la chn no thch hp th quay li bc trc -> quay lui. 2. M hnh Khng gian nghim ca bi ton (tp kh nng) D={(x1,x2,,xn)} gm cc cu hnh lit k c dng (x1, x2, , xn ) cn c xy dng: - Cho x1 nhn ln lt cc gi tr c th. Vi mi gi tr th gn cho x1 th: - Cho x2 nhn ln lt cc gi tr c th. Vi mi gi tr th gn cho x2 th xt kh nng chn x3,, xn, => cu hnh tm c (x1, x2, , xn ). - Ti mi bc i: Xy dng thnh phn xi + Xc nh xi theo kh nng v. + Nu i = n th ta c c mt li gii, ngc li th tin hnh bc i+1 xc nh xi+1. + Nu khng c mt kh nng no chp nhn c cho xi th li li li bc trc xc nh li thnh phn xi-1. 3. Lc phng php

1 2 3 4 5 6 7 8 9 10 11 12 13

Try(i) //Sinh thnh phn th i ca cu hnh for (v thuc tp kh nng thnh phn nghim xi) if ( xi chp nhn c gi tr v) xi = v; ; if(i = n) // n thnh phn ca cu hnh xc nh ; else //li gi sinh thnh phn tip theo ca cu hnh Try (i + 1) ; endif; endfor End.

V d: Bi ton lit k dy nh phn di n Phn tch: - Dy nh phn (x1x2 xn) trong xi =0,1 - Dng gii thut Try(i) sinh gi tr xi - Nu i=n th in gi tr nghim, ngc li sinh tip xi+1 bng Try(i+1) Lc :

1 2 3

Try(i) for (v=0..1) xi = v; //v nhn gi tr 0 hoc 1

4 5 6 7

if (i= n) printResult (x); else Try(i+1) ; endfor; End.

Li gi ban u Try(1) 4. Mt s bi ton - Tm chu trnh Hamilton ca th - Bi ton ngi a hng - Bi ton xp balo - Bi ton t mu bn - Bi ton xp qun c: Xp n qun hu/m trn bn c n x n sao cho khng qun no khng ch qun no. - Bi ton tm ng i trong m cung

You might also like