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

slike bài giảng trí tuệ nhân tạo - nguyễn nhật quang chương 3 giải quyết vấn đề bằng tìm kiếm

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 (1.22 MB, 64 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
 Các chiến lược tìm kiếm cơ bản (Uninformed 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
Giải quyết vấn đề bằng tìm kiếm
 Giải quyếtvấn đề bằng tìm kiếm
 Tìm chuỗi các hành động cho phép đạt đến (các) trạng thái mong muốn
 Các bước chính
 Xác định mụctiêucần đạt đến (goal formulation)


một
tập
hợp
của


các
trạng
thái
(
đích
)


một
tập
hợp
của
các
trạng
thái
(
đích
)
 Dựa trên: trạng thái hiệntại(củamôitrường) và đánh giá hiệuquả hành động
(củatáctử)
 Phát biểu bài toán (problem formulation)
 Vớimộtmục tiêu, xác định các hành động và trạng thái cầnxemxét
 Quá trình tìm kiếm (search process)
 Xem xét các chuỗi hành động có thể



 Chọnchu

i hành động t


tnh

t
 Giảithuật tìm kiếm
 Đầu vào: một bài toán (cầngiải quyết)
 Đầura: mộtgiải pháp, dướidạng mộtchuỗi các hành động cầnthựchiện
3
Trí tuệ nhân tạo
Tác tử
g
iải
q
u
y
ết vấn đề
g qy
4
Trí tuệ nhân tạo
Giải quyết vấn đề bằng tìm kiếm
 Một người du lịch đang trong chuyến đi du lịch ở Rumani
 Anh ta hi

n thời đan
g
Arad
ệ g
 Ngày mai, anh ta có chuyến bay khởi hành từ Bucharest
 Bây giờ, anh ta cần di chuyển (lái xe) từ Arad đến Bucharest


 Phát bi

u mục tiêu:
 Cần phải có mặt ở Bucharest
Phát biểu
bài toán
:

Phát

biểu

bài

toán
:
 Các trạng thái: các thành phố (đi qua)
 Các hành động: lái xe giữa các thành phố
 Tìm kiếm giải pháp:
 Chuỗi các thành phố cần đi qua, ví dụ: Arad, Sibiu, Fagaras,
Bucharest
Bucharest
5
Trí tuệ nhân tạo
Giải quyết vấn đề bằng tìm kiếm
6
Trí tuệ nhân tạo
Các kiểu bài toán
 Xác định, có thể quan sát hoàn toàn Æ Bài toán trạng thái
đơn

 Tác tử biết chính xác trạng thái tiếp theo mà nó sẽ chuyển qua
 Giải pháp của bài toán: mộtchuỗi hành động

Không
quan
sát
được
Æ
Bài
toán
thiếu
cảm
nhận

Không
quan
sát
được
Æ
Bài
toán
thiếu
cảm
nhận
 Tác tử có thể không biếtlànóđang ở trạng thái nào
 Giải pháp của bài toán: mộtchuỗi hành động


 Không xác định và
/

hoặc có th

quan sát mộtph

n Æ Bài
toán có sự kiệnngẫu nhiên
 Các nhậnthức cung cấp các thông tin mớivề trạng thái hiệntại
ế
 Giải pháp của bài toán: mộtk
ế
hoặch (chính sách)
 Thường kếthợp đan xen giữa: tìm kiếmvàthựchiện

Không
biết
về
không
gian
trạng
thái
Æ
Bài
toán
thăm


Không
biết
về
không

gian
trạng
thái
Æ
Bài
toán
thăm

7
Trí tuệ nhân tạo
Ví dụ: Bài toán máy hút bụi (1)
 Nếu là bài toán trạng thái
đơn
 Bắt đầu ở trạng thái #5.
 Giải pháp?
8
Trí tuệ nhân tạo
Ví dụ: Bài toán máy hút bụi (2)
 Nếu là bài toán trạng thái
đơn
 Bắt đầu ở trạng thái #5.
 Giải pháp?
 [Sang phải, Hút bụi]
9
Trí tuệ nhân tạo
Ví dụ: Bài toán máy hút bụi (3)
 Nếu là bài toán thiếu cảm
nhận
 Bắt đầu (có thể) ở trạng thái
{

#1
,
#2
,
#3
,
#4
,
#5
,
#6
,
#7
,
#8
}
{,,,,,,,}
 Luôn bắt đầu bằng di chuyển
sang phải
 Giải pháp?
10
Trí tuệ nhân tạo
Ví dụ: Bài toán máy hút bụi (4)
 Nếu là bài toán thiếu cảm
nhận
 Bắt đầu (có thể) ở trạng thái
{
#1
,
#2

,
#3
,
#4
,
#5
,
#6
,
#7
,
#8
}
{,,,,,,,}
 Luôn bắt đầu bằng di chuyển
sang phải
 Giải pháp?
 [Sang phải, Hút bụi, Sang trái,
Hút bụi]
Hút

bụi]
11
Trí tuệ nhân tạo
Ví dụ: Bài toán máy hút bụi (5)
 Nếu là bài toán có sự kiện
ngẫu nhiên
 Bắt đầu ở trạng thái #5

Không xác định: Hút bụicóthể


Không

xác

định:

Hút

bụi



thể

làm bẩn một cái thảm sạch!
 Có thể quan sát một phần: vị
trí mức độ bẩn ở vị trí hiện
trí
,
mức

độ

bẩn



vị


trí

hiện

thời

Giải pháp?

Giải

pháp?
12
Trí tuệ nhân tạo
Ví dụ: Bài toán máy hút bụi (6)
 Nếu là bài toán có sự kiện
ngẫu nhiên
 Bắt đầu ở trạng thái #5

Không xác định: Hút bụicóthể

Không

xác

định:

Hút

bụi




thể

làm bẩn một cái thảm sạch!
 Có thể quan sát một phần: vị
trí mức độ bẩn ở vị trí hiện
trí
,
mức

độ

bẩn



vị

trí

hiện

thời

Giải pháp?

Giải

pháp?

 [Sang phải, if Bẩn then Hút
bụi]
13
Trí tuệ nhân tạo
Phát biểu bài toán trạng thái đơn
Bài toán được định nghĩabởi 4 thành phần:
 Tr

n
g
thái đầu
ạ g
 Ví dụ: “đang ở thành phố Arad“
 Các hành động – Xác định bởi hàm chuyểntrạng thái:
S
(
trạn
g_
thái
_
hiện
_
thời
)
= tậ
p
các cặ
p
<hành
_

độn
g
, trạn
g_
thái
_
tiế
p_
theo>
(
g_ _ _
)
p
p
_ g
g_ _ p_
 Ví dụ: S(Arad) = {<Arad
Æ
Zerind, Zerind>, … }
 Kiểmtramục tiêu, có thể là
 Tr
ực
t
i
ếp


dụ
: Tr


n
g
t
h
á
ihi

n
t
h

i
x
= “
Đa
n
g


t
h
à
nh
p
h

B
uc
h
a

r
est
"
ực
t ếp
dụ
ạ g


t ờ
ag


p ố
uc a est
 Gián tiếp – ví dụ: HếtCờ(x), Sạch(x), …
 Chi phí đường đi(giải pháp)


dụ
:
Tổng
các
khoảng
cách
Số
lượng
các
hành
động

phải
thực
hiện


dụ
:

Tổng
các
khoảng
cách
,
Số
lượng
các
hành
động
phải
thực
hiện
,…
 c(x,a,y) ≥ 0 là chi phí bước(bộ phận) – chi phí cho việcápdụng hành
động a để chuyểntừ trạng thái x sang trạng thái y

Một
giải
pháp
:
Một

chuỗi
các
hành
động
cho
phép
dẫn
từ
trạng
thái

Một
giải
pháp
:

Một
chuỗi
các
hành
động
cho
phép
dẫn
từ
trạng
thái
đầu đếntrạng thái đích
14
Trí tuệ nhân tạo

Xác định không gian trạng thái
 Các bài toán thựctế thường đượcmôtả phứctạp
Æ Không gian trạng thái cần được khái quát (abstracted) để phục
h
iệ
iải
ết
bài

vụ c
h
ov
iệ
cg
iải
quy
ết
bài
t
o
á
n
 Trạng thái (khái quát) = Mộttậpcáctrạng thái thựctế
ế
 Hành động (khái quát) = Mộtk
ế
thợpphứctạpcủa các hành
động thựctế
 Ví dụ: Hành động "Arad Æ Zerind" biểudiễnmộttậpkếthợpcác
đờ

đờ
ò
hỗ
hỉ
đ
ư

ng,
đ
ư

ng v
ò
ng, c
hỗ
ng
hỉ
, …
 Để đảmbảoviệcthựchiện (quá trình tìm kiếm), bấtkỳ trạng
thái
thực
tế
nào
cũng
phải

thể
đạt
đến
được

từ
trạng
thái
thái
thực
tế
nào
cũng
phải

thể
đạt
đến
được
từ
trạng
thái
thựctế khác
 Giải pháp (khái quát) = Mộttậpcácđường đigiải pháp trong
th
tế
th
ực
tế
15
Trí tuệ nhân tạo
Đồ thị không gian trạng thái (1)
Bài
toán
máy

máy
hút
b i
Các
trạng
thái
?
b

i

Các
trạng
thái
?
 Các hành động?
 Kiểmtramục tiêu?
 Chi phí đường đi?
16
Trí tuệ nhân tạo
Đồ thị không gian trạng thái (2)
Bài
toán
máy
máy
hút
b i
Các
trạng
thái

?
Chỗ
bẩn

vị
trí
máy
hút
bụi
b

i

Các
trạng
thái
?
Chỗ
bẩn

vị
trí
máy
hút
bụi
 Các hành động? Sang trái, sang phải, hút bụi, không làm gì
 Kiểmtramục tiêu? Không còn chỗ (vị trí) nào bẩn
 Chi phí đường đi? 1 (mỗi hành động), 0 (không làm gì cả)
17
Trí tuệ nhân tạo

Ví dụ: Bài toán ô chữ (1)
Bài toán ô
chữ 8 số
 Các trạng thái?

Các
hành
động
?

Các
hành
động
?
 Kiểmtramục tiêu?
 Chi phí đường đi?
18
Trí tuệ nhân tạo
Ví dụ: Bài toán ô chữ (2)
Bài toán ô
chữ 8 số
 Các trạng thái? Các vị trí của các ô số

Các
hành
động
?
Di
chuyển
ô

trống
sang
trái
sang
phải

Các
hành
động
?
Di

chuyển
ô

trống
sang

trái
,
sang

phải
,
lên trên, xuống dưới
 Kiểmtramục tiêu? Đạttrạng thái đích (goal state)
Chi

đờ
đi

?
1
h
ỗi
di
h ể

Chi
p

đ
ư

ng
đi
?
1
c
h
om
ỗi
di
c
h
uy

n
19
Trí tuệ nhân tạo
Các giải thuật tìm kiếm theo cấu trúc cây

 Ý tưởng:

Khám phá (xét) không gian trạng thái
n
0

Khám

phá

(xét)

không

gian

trạng

thái

bằng cách sinh ra các trạng thái kế tiếp
của các trạng thái đã khám phá (đã xét)
 Còn
gọ
i là
p
hươn
g

p


p
khai triển
(p
hát
()
n
gọ p gp p (p
triển) các trạng thái
Goal
successors
(
n
)
20
Trí tuệ nhân tạo
Ví dụ biểu diễn theo cấu trúc cây (1)
21
Trí tuệ nhân tạo
Ví dụ biểu diễn theo cấu trúc cây (2)
22
Trí tuệ nhân tạo
Ví dụ biểu diễn theo cấu trúc cây (3)
23
Trí tuệ nhân tạo
Ví dụ trò chơi cờ ca-rô (Tic-Tac-Toe)
24
Trí tuệ nhân tạo
Biểu diễn bằn
g

cây và đồ thị
g
B là cha của C
C là con của B
Alàtổ tiên củaC
A



tổ

tiên

của

C
C là con cháu của A
25
Trí tuệ nhân tạo

×