Upload
duongdong022
View
217
Download
0
Embed Size (px)
Citation preview
8/14/2019 Bi Ton xp 8 Qun hu
1/7
11
Bi ton xp 8 qun huBi ton xp 8 qun hu
1.1.Gii thiu bi ton: Qun hu trn bnGii thiu bi ton: Qun hu trn bnc Vua c th n theo hng, ct, ngc Vua c th n theo hng, ct, ngcho cha n. Tm cch t 8 qun hucho cha n. Tm cch t 8 qun hutrn bn c sao cho khng qun no ntrn bn c sao cho khng qun no nc ca qun noc ca qun no2.2. tng thut ton: Mt con hu xp tng thut ton: Mt con hu xp mt v tr bt k trn bn c th tmmt v tr bt k trn bn c th tmc v tr ca con hu tip theo ta phic v tr ca con hu tip theo ta phixt theo 3 hng nh hnh sau:xt theo 3 hng nh hnh sau:
8/14/2019 Bi Ton xp 8 Qun hu
2/7
22
M hnh bi tonM hnh bi ton
Cc con hu tiptheo phi cchn cc v tr
khng nm trncc ng dc,ng ngang vng cho cacon cc con hutrc.
8/14/2019 Bi Ton xp 8 Qun hu
3/7
33
Cc bc gii quyt bi tonCc bc gii quyt bi tonTa tm v tr t cho con hu th i, vi con huTa tm v tr t cho con hu th i, vi con hu
th i th ta phi xt xem trn cc hng ca n sauth i th ta phi xt xem trn cc hng ca n sau tm tip v tr cho con hu th i + 1. tm tip v tr cho con hu th i + 1.
Nu bc th i khng tm thy v tr t ca conNu bc th i khng tm thy v tr t ca con
hu th chng ta phi quay li xt n v tr khc cahu th chng ta phi quay li xt n v tr khc cacon hu th i 1.con hu th i 1.
Trng hp suy bin ca bi ton l khi chng ta Trng hp suy bin ca bi ton l khi chng ta t cho con hu th 8 c ngha l c 8 con hu t cho con hu th 8 c ngha l c 8 con hu
c xp trn bn c v tho mn iu kin l ccc xp trn bn c v tho mn iu kin l cccon hu khng th n c nhau.con hu khng th n c nhau.
8/14/2019 Bi Ton xp 8 Qun hu
4/7
44
Bi ton tm ng i bng chuBi ton tm ng i bng chutrnh Hamiltontrnh Hamilton
Gii thiu bi ton: Mt ngi khch du lchGii thiu bi ton: Mt ngi khch du lch
mun i thm n thnh ph c nh s t 1 nmun i thm n thnh ph c nh s t 1 n
n. Mng li giao thng gia n thnh ph ny ln. Mng li giao thng gia n thnh ph ny l
2 chiu v c cho bi ma trn A[i,j] trong 2 chiu v c cho bi ma trn A[i,j] trong A[i,j] = 1 nu c ng i gia thnh ph i vA[i,j] = 1 nu c ng i gia thnh ph i vthnh ph j, A[i,j] = 0 trong trng hp ngc li.thnh ph j, A[i,j] = 0 trong trng hp ngc li.
Thit lp ng i cho ngi khch thng bo Thit lp ng i cho ngi khch thng botn ti ng i hoc khng tn ti ng i.tn ti ng i hoc khng tn ti ng i.
8/14/2019 Bi Ton xp 8 Qun hu
5/7
55
M hnh bi tonM hnh bi tonChng ta c file c n + 1 dng nh sau:Chng ta c file c n + 1 dng nh sau: Dng 1: Ghi s nguyn dng l n thnh phDng 1: Ghi s nguyn dng l n thnh ph
Dng i + 1: (1Dng i + 1: (1inin): ghi n s nguyn khng m A[i,1] A[i,2]): ghi n s nguyn khng m A[i,1] A[i,2]A[i,n] cho bit c ng i hay khng gia hai thnh ph i v jA[i,n] cho bit c ng i hay khng gia hai thnh ph i v j(1(1jnjn).).
Kt qu tn ti hay khng tn ti ng i.
5
0 0 1 1 1
0 0 1 1 11 1 0 1 1
1 1 1 0 1
1 1 1 1 0
Kt qu:
Chu trnh Hamilton nhsau:
1 3 2 4 5 1
8/14/2019 Bi Ton xp 8 Qun hu
6/7
66
Cc bc gii quyt bi tonCc bc gii quyt bi ton
Tm ht tt c mi kh nng ca Tm ht tt c mi kh nng cang i (Sau khi i qua ng ing i (Sau khi i qua ng i
no th xo b ng i ) v kimno th xo b ng i ) v kimtra xem ng i ny c qua ntra xem ng i ny c qua nnh ca th hay khng.nh ca th hay khng.
8/14/2019 Bi Ton xp 8 Qun hu
7/777
Th tc m t thut tonTh tc m t thut tonProcedure Hamilton(k : byte);Procedure Hamilton(k : byte);var i : byte;var i : byte;
BeginBeginif k = n + 1 thenif k = n + 1 then
inkqinkqelseelse
for i := 1 to n dofor i := 1 to n do
if (a[c[k-1],i] > 0) and not(b[i]) thenif (a[c[k-1],i] > 0) and not(b[i]) thenbeginbegin
a[c[k-1],i] := 0;a[c[k-1],i] := 0;c[k] := i;c[k] := i;b[i] := true;b[i] := true;
hamilton(k+1);hamilton(k+1);a[c[k-1],i] := 1;a[c[k-1],i] := 1;c[k] := 0;c[k] := 0;b[i] := false;b[i] := false;
end;end;
End;End;