Tải bản đầy đủ (.pdf) (67 trang)

slike bài giảng trí tuệ nhân tạo - nguyễn nhật quang chương 4 nhắc lại tìm kiếm theo cấu trúc cây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (24.16 MB, 67 trang )

Trí Tuệ Nhân Tạo
Nguyễn Nhật Quang

Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ Thông tin và Truyền thông
Năm học 2012-2013
Nội dung môn học:
 Giới thiệu về Trí tuệ nhân tạo
 Tác tử
 Giải quyết vấn đề: Tìm kiếm, Thỏa mãn ràng buộc
 Tìm kiếm với tri thức bổ sung (Informed search)
 Logic và suy diễn
 Biểu diễn tri thức
 Biểu diễn tri thức khôn
g
chắc chắn
g
 Học máy
2
Trí tuệ nhân tạo
Nhắc lại: Tìm kiếm theo cấu trúc cây
 M

t chiến lư

c
(p
hươn
g

p



p)
tìm kiếm = M

t cách xác đ

nh
ộ ợ (p gp p) ộ ị
thứ tự xét các nút của cây
3
Trí tuệ nhân tạo
Tìm kiếm với tri thức bổ sun
g
g
 Các chiến lược tìm kiếm cơ bản (uninformed search
strategies) chỉ sử dụng các thông tin chứa trong định nghĩa
strategies)

chỉ

sử

dụng

các

thông

tin


chứa

trong

định

nghĩa

của bài toán
 Không phù hợp với nhiều bài toán thực tế (do đòi hỏi chi phí quá
cao về thờigianvàbộ nhớ)
cao

về

thời

gian



bộ

nhớ)
 Các chiến lược tìm kiếm với tri thức bổ sung (informed search
strategies) sử dụng
các tri thứccụ thể của bài toán

Quá
strategies)


sử

dụng

các

tri

thức

cụ

thể

của

bài

toán

Quá

trình tìm kiếm hiệu quả hơn
 Các giải thuật tìm kiếm best-first (Greedy best-first, A*)
Cá ả ậ ì ế ộ (
S


c gi


i thu

t t
ì
m ki
ế
m cục b


(
Hill-climbing,
S
imulated annealing,
Local beam, Genetic algorithms)
 Các giải thuật tìm kiếm đối kháng (MiniMax, Alpha-beta pruning)
4
Trí tuệ nhân tạo
Bes
t
-first search
 Ý tưởng: Sử dụng một hàm đánh giá f(n) cho mỗi nút của
cây
tìm
kiếm
cây
tìm
kiếm
 Để đánh giá mức độ “phù hợp” của nút đó
Æ Trong quá trình tìm kiếm, ưu tiên xét các nút có mức độ phù hợp

cao
nhất
cao
nhất
 Cài đặtgiảithuật
 Sắpthứ tự các nút trong cấu trúc fringe theo trậttự giảmdầnvề
mức độ phù hợp
 Các trường hợp đặcbiệtcủagiảithuật Best-first search
Greedy
best
first search

Greedy

best
-
first

search
 A
*
search
5
Trí tuệ nhân tạo
Greedy bes
t
-first search
 Hàm đánh giá f(n) là hàm heuristic h(n)
 Hàm heuristic h(n) đánh giá chi phí để đi từ nút hiện tại n
đến nút đích (mục tiêu)

 Ví dụ: Trong bài toán tìm đường đi từ Arad đến
Bucharest, sử dụng: h
SLD
(n) = Ước lượng khoảng cách
đường thẳng (

chim bay

)từ thành phố hiệntại
n
đến
đường

thẳng

(chim

bay )

từ

thành

phố

hiện

tại

n

đến

Bucharest

Phương pháp tìm kiếm Greedy best
-
first search sẽ xét

Phương

pháp

tìm

kiếm

Greedy

best
first

search

sẽ

xét

(phát triển) nút “có vẻ” gần với nút đích (mục tiêu) nhất
6
Trí tuệ nhân tạo

Greed
y
bes
t
-first search

Ví dụ
(
1
)
y
()
7
Trí tuệ nhân tạo
Greedy bes
t
-first search

Ví dụ (2)
8
Trí tuệ nhân tạo
Greedy bes
t
-first search

Ví dụ (3)
9
Trí tuệ nhân tạo
Greedy bes
t

-first search

Ví dụ (4)
10
Trí tuệ nhân tạo
Greedy bes
t
-first search

Ví dụ (5)
11
Trí tuệ nhân tạo
Greedy best-first search – Các đặc điểm
 Tính hoàn chỉnh?
Không


thể
ớng
(
chết
tắc
)
trong
các
òng
lặp
kiể
nh


Không




thể

ớng
(
chết
tắc
)

trong
các
v
òng
lặp
kiể
u
nh
ư:
Iasi Æ Neamt Æ Iasi Æ Neamt Æ…

Độ
phức
tạp
về
thời
gian

?

Độ
phức
tạp
về
thời
gian
?
 O(b
m
)
 Một hàm heuristic tốtcóthể mang lạicảithiệnlớn
 Độ phứctạpvề bộ nhớ?
 O(b
m
) –Lưugiữ tấtcả các nút trong bộ nhớ
 Tính tối ưu?
 Khôn
g
g
12
Trí tuệ nhân tạo
A
*
search
 Ý tưởng: Tránh việc xét (phát triển) các nhánh tìm kiếm
đãáđị h( h đế thời điể hiệ t i) là ó hi hí
đã
x

á
c
đị
n
h

(
c
h
o
đế
n
thời

điể
m
hiệ
n
t

i)


c
ó
c
hi
p

cao

 Sử dụng hàm đánh giá f(n) = g(n) ⊕ h(n)
 g(n) = chi phí từ nút gốc cho đến nút hiện tại n
 h
(
n
)
= chi
p
hí ước lư

n
g
từ nút hi

n t

i n tới đích
()
p ợ g ệ ạ
 f(n) = chi phí tổng thể ước lượng của đường đi qua nút hiện tại n
đến đích
13
Trí tuệ nhân tạo
A
*
search

Ví dụ (1)
14
Trí tuệ nhân tạo

A
*
search

Ví dụ (2)
15
Trí tuệ nhân tạo
A
*
search

Ví dụ (3)
16
Trí tuệ nhân tạo
A
*
search

Ví dụ (4)
17
Trí tuệ nhân tạo
A
*
search

Ví dụ (5)
18
Trí tuệ nhân tạo
A
*

search

Ví dụ (6)
19
Trí tuệ nhân tạo
A* search – Các đ

c điểm

 Nếu không gian các trạng thái là hữu hạn và có giải
pháp để tránh việcxét(lặp) lạicáctrạng thái
thì giải
pháp

để

tránh

việc

xét

(lặp)

lại

các

trạng


thái
,
thì

giải

thuật A* là hoàn chỉnh (tìm được lời giải) – nhưng không
đảm bảo là tối ưu
 Nếu không gian các trạng thái là hữu hạn và không có
giải pháp để tránh việc xét (lặp) lại các trạng thái, thì giải
* ỉ ( ả ả
thuật A
*
là không hoàn ch

nh
(
không đ

m b

o tìm được
lời giải)
Nế
khô i á t thái là ô h
thì iảith ậtA*

Nế
u
khô

ng g
i
an c
á
c
t
rạng
thái


v
ô

h
ạn,
thì
g
iải

th
u
ật

A*

là không hoàn chỉnh (không đảm bảo tìm được lời giải)
20
Trí tuệ nhân tạo
Các ước lượn
g

chấ
p
nhận được
g
p
 Một ướclượng (heuristic) h(n) đượcxemlàchấpnhận
được
nếu
đối
với
mọi
nút
n
:0

h(n
)

h
*
(n)
trong
đó
được
nếu
đối
với
mọi
nút
n

:

0


h(n
)


h
(n)
,
trong
đó
h
*
(n) là chi phí thật(thựctế) để đitừ nút n đến đích
 Một ướclượng chấpnhận được không bao giờđánh giá


quá cao (overestimate) đ

ivới chi phí đ

đitới đích
 Thựcchất, ướclượng chấpnhận đượccóxuhướng đánh giá
“lạc quan”
 Ví dụ: Ướclượng h
SLD
(n) đánh giá thấphơnkhoảng

cách đường đithựctế
 Định lý: Nếu h(n) là đánh giá chấpnhận được, thì
phương pháp tìm kiếmA
*
sử dụng giảithuật TREE-
SEARCH

tối
ưu
SEARCH

tối
ưu
21
Trí tuệ nhân tạo
T
ính
t
ối ưu của A
*
-Chứn
g
minh (1)
g
 Giả sử có một đích không tối ưu (suboptimal goal) G
2
đượcsinhra

lưu
trong

cấu
trúc
fringe
.
Gọi
n

một
nút
chưa
xét
trong
cấu
trúc

lưu
trong
cấu
trúc
fringe
.

Gọi
n

một
nút
chưa
xét
trong

cấu
trúc
fringe sao cho n nằmtrênmột đường đingắnnhất đếnmột đích tối
ưu (optimal goal) G

 Ta có: 1) f(G
2
) = g(G
2
)vìh(G
2
) = 0
 Ta có: 2) g(G
2
) > g(G) vì G
2
là đích không tối ưu
 Ta có: 3) f(G) = g(G) vì h(G) = 0
 Từ 1
)
+2
)
+3
)
su
y
ra: 4
)
f
(

G
2
)
> f
(
G
)

)))
y
)(
2
)
(
)
22
Trí tuệ nhân tạo
T
ính
t
ối ưu của A
*
-Chứn
g
minh (2)
g
 Ta có: 5) h(n) ≤ h
*
(n) vì h là ước lượng chấp nhận được


Từ 5) suy ra: 6) g(n) + h(n) ≤ g(n) + h
*
(n)

Từ

5)

suy

ra:

6)

g(n)

+

h(n)



g(n)

+

h
(n)
 Ta có: 7) g(n) + h
*

(n) = f(G) vì n nằm trên đường đi tới G
 Từ 6)+7) suy ra: 8) f(n) ≤ f(G)
 Từ 4)+8) suy ra: f(G
2
) > f(n). Tức là, giải thuật A* không bao giờ xét G
2
23
Trí tuệ nhân tạo
Các ước lượn
g
chấ
p
nhận được (1)
g
p
Ví dụđốivớitròchơiô chữ 8 số:
 h
1
(n) = số các ô chữ nằm ở sai vị trí (so vớivị trí củaô chữđấy ở
trạng thái đích)
 h
2
(n) = khoảng cách dịch chuyển(←,→,↑,↓) ngắnnhất để dịch
h ể
á
ô
hữ

i






đú
c
h
uy

nc
á
c
ô
c
hữ
n

msa
i
v

t
r
í
v

v

t
r

í
đú
ng

h
(S) = ?

h
1
(S)

=

?

 h
2
(S) = ?
24
Trí tuệ nhân tạo
Các ước lượn
g
chấ
p
nhận được (2)
g
p
Ví dụđốivớitròchơiô chữ 8 số:
 h
1

(n) = số các ô chữ nằm ở sai vị trí (so vớivị trí củaô chữđấy ở
trạng thái đích)
 h
2
(n) = khoảng cách dịch chuyển(←,→,↑,↓) ngắnnhất để dịch
h ể
á
ô
hữ

i





đú
c
h
uy

nc
á
c
ô
c
hữ
n

msa

i
v

t
r
í
v

v

t
r
í
đú
ng

h
(S) =
8

h
1
(S)

=

8

 h
2

(S) = 3+1+
2+2+
2+2+
2+3+
3+2 = 18
25
Trí tuệ nhân tạo

×