1
Chương 3
Chương
3
K thut gii quyết vn đề
Lê Thanh Hương
1
Khoa CNTT
Đ
HBKHN
3.1. Khoa hc TTNT
TTNT quan tâm đếnvictoracácđối
TTNT
quan
tâm
đến
vic
to
ra
các
đối
tượng có th
Hành động đúng
trên cơ s hoàn cnh c th và nhng th
mà nó đã biết
2
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.2. Phân loi vn đề
GQ
VĐ l
à
quá
t
rình x
ut
p
h
át
t
hình
t
r
n
g
đầu
,
t
ìm
GQ à quá t utp átt
tgđu
,t
kiếm trong không gian bài toán để tìm ra dãy toán t
hay dãy hành động cho phép dn tiđích.
BT phát biu chnh: là BT biết rõ đầu vào, đầu ra và
vi mi li gii gi định nào đó, có th áp dng thut
toán để xác định xem đó có phi là li gii ca BT
3
u
y
.
BT phát biu không chnh: ngược li
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.2. Phân loi vn đề
BT phát biu chnh BT phát biu không chnh
ĐPT đa thcĐPT hàm mũ
O(nα)O(αn)
gii đượcko gii được
4
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Gii thutMo gii
2
Ví d 1. Bài toán đố ch
Hãy thay các chcái bng các chs
Hãy
thay
các
ch
cái
bng
các
ch
s
t 0 đến 9 sao cho không có hai ch cái
nào được thay bi cùng 1 s và tha
mãn ràng buc sau:
SEND CROSS
5
+ MORE + ROADS
MONEY DANGER
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Ví d 2. Bài toán rót nước
Cho 2 bình A(m lít), B(n lít). Làm cách nào để đong
được k lít ( k max(m,n) ) ch bng 2 bình A, B và 1
bình trung gian C
bình
trung
gian
C
.
Các thao tác rót (how):
C ÆA; C ÆB; A ÆB; A ÆC; B ÆA; B ÆC
Điu kin: không tràn, đổ hết
•Ví d: m = 5, n = 6, k = 2 (what)
h t á h
6
n
h
t
o
á
n
h
c:
(x, y) Æ(x’, y’)
A B A B
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Ví d 3. Bài toán trò chơi n2–1 s
Trong bng ô vuông n hàng, n ct, mi ô cha 1 s
nm trong phm vi t 1 Æn2-1 sao cho không có 2 ô
óù iát đú1ôbtXt hát t1
c
ó
c
ù
ng g
t
r
.
n
đú
ng
1
ô
b
t
r
ng.
X
u
t
p
hát
t
1
cách sp xếp nào đó ca các đó ca các s trong
bng, hãy dch chuyn các ô trng sang phi, sang
trái, lên trên, xung dưới để đưa v bng:
7
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Ví d 4. Bài toán tháp Hà Ni
Cho 3 cc123 cc 1 ban đầucónđĩasp theo
Cho
3
cc
1
,
2
,
3
.
cc
1
ban
đầu
n
đĩa
,
sp
theo
th t to dn t trên xung dưới. Hãy tìm cách
chuyn n đĩa đó sang cc 3 sao cho:
–Mi ln ch chuyn 1 đĩa
mi cc không cho phép đĩa to nm trên đĩa con
8
123 123
Bài toán tháp Hà Ni vi n = 3
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3
Ví d 5. Bài toán đố: Quan tòa - H -Trm
Có 3 người ngi quanh 1 bàn tròn. Mt người
qua đường nghe thy ba người này nói chuyn
ih
v
i
n
h
au:
–người 1 nói 2 là quan tòa
–người 2 nói 3 là h
–người 3 nói 1 là trm
•Biết rng:
h luôn nói đùa
9
quan tòa nói tht
–trm nói di
•Hi ai là ai?
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Các đặc trưng cơ bn ca vn đề
Bài toán thphân rã?
Bài
toán
th
phân
rã?
Không gian bài toán có th đoán trước?
Có tiêu chun xác định li gii ti ưu?
•Có cơ s tri thc phi mâu thun?
Tri thccn cho quá trình tìm kiếm hay
10
Tri
thc
cn
cho
quá
trình
tìm
kiếm
hay
để điu khin?
•Có cn tương tác người – máy?
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.3.Nhng yếu t cơ bn trong GQVĐ
Bài toán
Bi
u di
n + Tri thc
CSDL CSTT
Gii thut
tìm kiếm
Chiến lược
điu khin
K thut
Heuristic
K thut
suy din
Hthng gii quyếtvnđề
11
Cu trúc các h thng gii quyết vn đề
H
thng
gii
quyết
vn
đề
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.4.Các phương pháp biu din vn đề
nBiu din nh KGTT
Mihìnhtrng ca bài toán tương ng vi1
trng
Mi
hình
trng
ca
bài
toán
tương
ng
vi
1
trng
thái (state)
•Mi phép biến đổi t hình trng này sang hình trng
khác tương ng vi các toán t(operator)
oQui bài toán v bài toán con
Phân chia bài toán thành các bài toán con, các bài
toán con li được phân rã tiếp cho đến khi gp được
12
các bài toán sơ c
p cho phép xác định li gi
i c
a
bài toán ban đầu trên cơ s li gii ca các bài toán
con
•VD: phương pháp tinh dn tng bước trong công
ngh lp trình
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
4
3.4.Các phương pháp biu din vn đề
pS dng logic hình thc
Khi gii quyết bài toán, phitiến hành phân tích logic
Khi
gii
quyết
bài
toán,
phi
tiến
hành
phân
tích
logic
để thu gn quá trình tìm kiếm, nhiu khi chng minh
được không có li gii.
logic mnh đề
logic v t cp 1
cho phép:
–kim tra điu kin kết thúc trong tìm kiếm đối vi KGTT
kimtratínpdng đượcca các toán t
13
kim
tra
tính
áp
dng
được
ca
các
toán
t
–Chng minh không tn ti li gii
–Mc đích: CM 1 phát biu nào đó trên cơ s nhng tin đề
và lut suy din đã có.
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.4.Các phương pháp biu din vn đề
q
Lachnphương pháp biudin thích hp
q
La
chn
phương
pháp
biu
din
thích
hp
nhm:
chia để tr
tinh lc thông tin
•tn dng các phương pháp gii đã có
14
phát biu mi có th th hin 1 vài tương
quan nào đó gia các yếu t trong bài toán
nhm thu gn quá trình gii
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.4.Các phương pháp biu din vn đề
rBiu din trong máy
dùng bng/mng (array): ví d, trò chơi n2-1 s
1234
5678
910 1112
13
14
15
11 14 4 7
10 6 5
1 2 13 15
9
12
8
3
Trng thái đầuTrng thái đích
15
13
14
15
9
12
8
3
=
+
== )4,4(),(0
)4,4(),()1(4
)( ji
jiji
aA ij
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.4.Các phương pháp biu din vn đề
rBiu din trong máy
dùng xâu ký hiu
Ví d: bàn c Châu Âu
“T, XD, x , TgD, x , VD , x , MD, XD ,
ToD,ToD,ToD, x , x ,ToD,ToD,ToD,
x , x , x ,ToD, x , x , x , x ,
x , x , x , x ,ToD, x , x , x ,
x , x ,TgT, MD ,ToT, x , x , x ,
x , x , MT, x , x , x , x , x ,
ToT,ToT ,ToT, x , x ,ToT, HD,ToT,
XT , x , x , HT , VT, x , x , XT .”
16
x: ô trng, T: quân trng đến lượt đi
XD: xe đen, TgD: tượng đen, VD: vua đen
MD: mã đen, ToD: tt đen, HD: hu đen
TgT: tượng trng, ToT: tt trng, MT: mã trng,
XT:xe trng, HT: hu trng, VT: vua trng
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
5
3.4.Các phương pháp biu din vn đề
rBiu din trong máy
dùng cu trúc danh sách
dùng
cu
trúc
danh
sách
Ví d: nghim ca phương trình bc 2
a
acbb
x2
)4( 2
1
2
1
+
=
17
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3.5. Gii quyết vn đề
Để xây dng các tác t biết suy lun, ta cn s dng lý
thuyết logic, xác sut, và tính hu dng. Các k thut tìm
kiếm được nghiên cu trước hết vì:
ế
•Tìm ki
ế
m là v
n đ
quan trng trong TTNT:
Tìm chui hành động nhm ti đa kết qu trong tương
lai (lp kế hoch)
–Tìm kiếm trong CSTT để tìm chi các hành động có th thc
hin trong tương lai (suy lun logic, xác sut)
Tìm các mô hình phù hp vi các quan
sát (trong hc máy)
kiế 1 t hthà h ô
18
m
kiế
m
1
t
rong n
h
ng
thà
n
h
c
ô
ng
ca các nghiên cu v TTNT giai
đon đầu
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Bài toán tìm kiếm: Lp kế hoch
đường đi
Kết
q
u: đi t Arad
ế
q
đ
ế
n Bucharest trong
thi gian ngn nht
Môi trường: bn đồ
vi các thành ph,
đường, và thi gian
đi
g
ia 2 thành
p
h
19
g p
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
c
-Toe
K
GTT ca
h
ơi Tic-Ta
c
20
K
Trò C
h