Ch ng 3 ươ
PN RÃ BÀI TOÁN - TÌM KI M L I GI I
TRÊN Đ TH VÀ/ HO C
1. Đ t v n đ .
Trong ch ng 2, chúng ta đã nghiên c u vi c bi u di n bài toán thôngươ
qua các tr ng thái các toán t . Khi đó vi c tìm l i gi i c a bài toán đ c ượ
quy v vi c tìm đ ng đi trong không gian tr ng thái. Trong ch ng này ườ ươ
chúng ta s nghiên c u m t ph ng pháp lu n khác đ gi i quy t v n đ , ươ ế
d a trên vi c quy v n đ v các v n đ con.
Ý t ng ch y u xu t phát t bài toán ban đ u, tách ra các bài toánưở ế
con, quá trình này ti p t c đ i v i các bài toán con cho đ n khi g p các bàiế ế
toán s c p (bài toán có l i gi i ngay).ơ
Ví d 1. Xét bài toán tính tích phân
dxxxx )(ln 2
+
.
Thông th ng đ tính tích phân b t đ nh, chúng ta th ng s d ng cácườ ườ
quy t c tính tích phân: tích phân c a t ng, quy t c tích phân t ng ph n hay các
phép bi n đ i v.v… đ đ a tích phân c n tính v tích phân c a các hàm s sế ư ơ
c p mà chúng ta đã bi t cách tính. Đ i v i tích phân trên, áp d ng quy t c tích ế
phân c a t ng ta đ a v hai tích phân ư xlnxdx tích phân x3dx. Áp d ng
quy t c tích phân t ng ph n ta đ a tích phân ư xlnx v tích phân xdx. Quá
trình trên có th bi u di n b i đ th trongnh 1.
90
x(lnx+x2)dx
xlnxdx x3dx
xdx
Hình 1.
Trong bài toán tích phân, các tích phân c b n là các tr ng thái k t thúc.ơ ế
Ví d 2. Bài toán tìm đ ng đi trên b n đ giao thông.ườ
Bài toán này đã đ c phát bi u nh bài toán tìm đ ng đi trong khôngượ ư ươ
gian tr ng thái, trong đó m i tr ng thái ng v i m t thành ph , m i toán t
ng v i m t con đ ng, n i thành ph này v i thành ph khác. Bây gi ta ườ
đ a ra m t cách b u di n khác d a trên vi c quy v n đ v các v n đ con..ư
Xét b n đ giao thông gi a các thành ph trong Hình 2.
A
C D H
F E G
I B K
Hình 2.
Gi s ta c n tìm đ ng đi t thành ph A đ n thành ph B. m t ườ ế
con sông ch y qua hai thành ph E G c u qua sông m i thành ph
đó. Nh v y m i đ ng đi t A đ n B đ u ph i đi qua E ho c G. Khi đó bàiư ườ ế
toán tìm đ ng đi t A đ n B đ c quy v m t trong hai bài toán:ườ ế ượ
1) Bài toán tìm đ ng đi t A đ n B qua Eườ ế
2) Bài toán tìm đ ng đi t A đ n B qua Gườ ế
M i m t bài toán trên l i có th phân nh nh sau: ư
1) Bài toán tìm đ ng đi t A đ n B qua E đ c quy v :ườ ế ượ
1.1. Tìm đ ng đi t A đ n E vàườ ế
91
1.2. Tìm đ ng đi t E đ n Bườ ế
2) Bài toán tòm đ ng đi t A đ n B qua G đ c quy v :ườ ế ượ
2.1. Tìm đ ng đi t A đ n G vàườ ế
2.2. Tìm đ ng đi t G đ n Bườ ế
T ng quát, t bài toán P ta đ a v m t trong các tr ng h p: ư ườ
- Đ a P v các bài toán t ng đ ng: P1, P2,..., Pkư ươ ươ
- Đ a P v các bài toán con: P1, P2,..., Pk ư
Ph ng pháp phân chia bài toán ban đ u nh trên đã g p trong l p trìnhươ ư
truy n th ng v i cách g i “chia đ tr ” , “Modul hoá”.
2. Đ th VÀ/HO C:
Không gian tr ng thái t vi c quy v n đ v các v n đ con có th
bi u di n d i d ng đ th đ nh h ng đ c bi t g i là đ th và/ho c. Đ th ướ ướ
này đ c xây d ng nh sau:ượ ư
M i bài toán ng v i m t đ nh c a đ th . N u m t toán t quy bài ế
toán v các bài toán t ng đ ng thì s các cung đi t bài toán xu t phát ươ ươ
đ n các bài toán t ng đ ng đó. N u m t toán t quy bài toán v các bàiế ươ ươ ế
toán con thì cũng các cung n i t bài toán xu t phát đ n các bài toán con, ế
ngoài ra gi a các cung này cũng đ ng n i v i nhau.. Ch ng h n, gi s ườ
bài toán A đ c đ a v hai bài táon t ng đ ng A1 A2. Bài toán A1 l iượ ư ươ ươ
đ c quy v hai bài toán con B1 và B2, ta có bi u di n nh hình 3.ượ ư
A
A1 A2
92
B1 B2
Hình 3
M t cách hình th c ta có th đ nh nghĩa đ th và/ho c nh sau: ư
Đ th G = (V, E) đ c g i đ th VÀ/HO C n u ượ ế
Vn
, T(n) ho c
các bài toán con c a n (n g i các đ nh VÀ) ho c t p các bài toán t ng ươ
đ ng v i n (n g i là đ nh HO C).ươ
Cách bi u di n nh sau: ư
n
n1n2 ...... nk
n đ c g i là đ nh HO C (nượ n1 ... nk )
n
n1n2 ...... nk
n đ c g i là đ nh VÀ (nượ n1... nk )
Khi đó đ gi i bài toán n ta ph i tìm đ th con c a G là m t cây có g c
đ nh xu t phát n sao cho m i đ nh trên đ th con này đ a v đ c các bài ư ượ
toán s c p (đ nh k t thúc).ơ ế
Nh n xét: G i VA: t p các đ nh VÀ
VO: t p các đ nh HO C
N u VA= ế tìm l i gi i trên đ th bi u di n b ng không gian tr ng
thái
Khi đó:
- Bài toán n đ c g i là gi i đ c n u: ượ ượ ế
+ ho c n là đ nh k t thúc ế
93
+ ho c T(n)={n1, n2,..., nk} n u n là đ nh HO C ế
)...1( ki
sao cho ni
gi i đ c, ng c l i n ượ ượ i gi i đ c ượ
ki ...1
=
.
- Bài toán n đ c g i là không gi i đ c n u: ượ ượ ế
+ ho c n là đ nh lá và n không ph i là đ nh k t thúc. ế
+ ho c T(n)={n1, n2,..., nk}và n u n đ nh HO C ế
)...1( ki
sao cho nj
không gi i đ c, ng c l i n ượ ượ i không gi i đ c ượ
ki ...1
=
.
Đ tìm l i gi i c a bài toán khi đ c phân v đ th VÀ/HO C không ượ
ph i tìm đ ng đi ph i đi tìm đ th con g i đ th con l i gi i (hay ườ
cây l i gi i)
Cây l i gi i là đ th con G’ c a G tho :
- Đ nh g c (xu t phát)
'
0Vn
-
'Vn
, n gi i đ c. ượ
Ta có s t ng quan: ươ
Phân rã bài toán Đ th VÀ/HO C
Bài toán Đ nh
Chuy n bài toán thành các bài toán
con
Cung
Bài toán s c pơ Đ nh cu i
Các bài toán con ph Đ nh VÀ
Các bài toán con đ c l p Đ nh HO C
Gi i bài toánTìm đ th con l i gi i bài
toán
3. Các ph ng pháp tìm ki m l i gi i trên đ th và/ho c.ươ ế
Sau khi l a ch n t bài toán các toán t quy bài toán v bài toán
con, ta th xây d ng đ th Và/ho c đ gi i quy t bài toán ban đ u ho c ế
ch ng t tính không gi i đ c c a nó. Cũng nh đ th trong không gian ượ ư
94