Tải bản đầy đủ (.ppt) (131 trang)

TRÍ TUỆ NHÂN TẠO - Các phương pháp giải quyết vấn đề cơ bản pps

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.71 MB, 131 trang )

TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ ViỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
***
TRÍ TUỆ NHÂN TẠO
(Artificial Intelligence - AI)
Nguyễn Thanh Cẩm
07/07/14 2
Contents
Tổng quan về khoa học trí tuệ nhân tạo
1
Các phương pháp giải quyết vấn đề cơ bản
2
Tri thức và các phương pháp biểu diễn tri thức
3
Máy học
4
Mạng Nơron
5
07/07/14 3
Chương 2
Các phương pháp giải quyết vấn đề cơ bản
Các phương pháp giải quyết vấn đề cơ bản
2.1
2.2
2.3
Biểu diễn bài toán trong không gian trạng thái
Tìm kiếm lời giải trong không gian trạng thái
Tìm kiếm lời giải trên đồ thị và/hoặc
07/07/14 4
2.1.1
2.1.2


2.1.3
2.1.4
Đặt vấn đề
Mô tả trạng thái
Toán tử chuyển trạng thái
Không gian trạng thái của bài toán
2.1 Biểu diễn bài toán trong không gian trạng thái
Biểu diễn không gian trạng thái dưới dạng đồ thị 2.1.5
07/07/14 5
2.1 Biểu diễn bài toán trong không gian trạng thái

Khi giải quyết bài toán bằng phương pháp tìm
kiếm: phải xác định không gian tìm kiếm.

Phương pháp giải quyết vấn đề dựa trên:

khái niệm trạng thái (state) và

toán tử (operator)
được gọi là cách tiếp cận giải quyết vấn đề nhờ
không gian trạng thái.
2.1.1. Đặt vấn đề
07/07/14 6
2.1.1
2.1.2
2.1.3
2.1.4
Đặt vấn đề
Mô tả trạng thái
Toán tử chuyển trạng thái

Không gian trạng thái của bài toán
2.1 Biểu diễn bài toán trong không gian trạng thái
Biểu diễn không gian trạng thái dưới dạng đồ thị 2.1.5
07/07/14 7
2.1 Biểu diễn bài toán trong không gian trạng thái

Mô tả trạng thái bài toán:

các xâu ký hiệu,

véctơ,

mảng hai chiều,

cây,

danh sách.

Mỗi trạng thái là một hình trạng của bài toán:

hình trạng đầu gọi là trạng thái đầu

hình trạng cuối gọi là trạng thái cuối.
2.1.2. Mô tả trạng thái
07/07/14 8
2.1 Biểu diễn bài toán trong không gian trạng thái
Ví dụ: Bài toán đong nước
2.1.2. Mô tả trạng thái
m lit.
n lit

Cần đong k lit nước. giả thiết k <= min(m,n).
07/07/14 9
2.1 Biểu diễn bài toán trong không gian trạng thái
Ví dụ: Bài toán đong nước

Gọi x là lượng nước hiện có trong bình dung tích m

và y là lượng nước hiện có trong bình dung tích n.

bộ có thứ tự (x,y) có thể xem là trạng thái của bài toán.

Trạng thái đầu: (0,0)

Trạng thái cuối: (x,k) hoặc (k,y), 0 ≤ x ≤ m , 0 ≤ y ≤ n
2.1.2. Mô tả trạng thái
07/07/14 10
2.1 Biểu diễn bài toán trong không gian trạng thái
2 8 3
1 6 4
7 5
2.1.2. Mô tả trạng thái
1 2 3
8 4
7 6 5
Hình trạng đầu Hình trạng cuối
Ví dụ: Bài toán trò chơi 8 số
07/07/14 11
2.1 Biểu diễn bài toán trong không gian trạng thái

Có thể mô tả trạng thái của bài toán bằng một ma trận

A
3*3
= (a
ij
) , a
ij
∈{0 8}, a
ij
<> a
kl
, ∀i<>k, j<> l










507
461
382
2.1.2. Mô tả trạng thái











567
408
321
Trạng thái cuốiTrạng thái đầu
07/07/14 12
2.1 Biểu diễn bài toán trong không gian trạng thái

Hãy dịch chuyển n đĩa ở cọc 1 sang cọc 3 sao cho:

Mỗi lần chỉ chuyển một đĩa.

Trong mỗi cọc không cho phép đĩa to nằm trên đĩa nhỏ hơn.
2.1.2. Mô tả trạng thái
1 2 3
Ví dụ: Bài toán tháp Hà Nội
07/07/14 13
2.1 Biểu diễn bài toán trong không gian trạng thái
Ví dụ: Bài toán tháp Hà Nội

Bài toán xác định khi biết từng đĩa đang nằm ở cọc nào.

Cách 1:

Cọc 1 hiện đang chứa những đĩa nào?


Cọc 2 hiện đang chứa những đĩa nào?

Và cọc 3 đang chứa những đĩa nào.

Cách 2:

Đĩa lớn thứ i hiện đang nằm ở cọc nào?
(i = 1 n)
2.1.2. Mô tả trạng thái
Như vậy cách mô tả trạng thái bài toán không duy nhất, vấn đề
là chọn cách mô tả nào để đạt được mục đích dễ dàng nhất.
07/07/14 14
2.1 Biểu diễn bài toán trong không gian trạng thái

Cách 1 ta phải dùng 3 danh sách động.

Cách 2 mô tả bài toán hiệu quả hơn.

Nếu gọi x
i
là cọc chứa đĩa lớn thứ i, trong đó
x
i
∈{1, 2, 3}, i∈{1 n}.

Khi đó bộ có thứ tự (x
1
, x
2
, . . ,x

n
) là dạng mô tả
trạng thái đang xét của bài toán.

Trạng thái đầu là (1,1,. . .,1)

Trạng thái cuối là (3,3,. . .,3)
2.1.2. Mô tả trạng thái
07/07/14 15
2.1.1
2.1.2
2.1.3
2.1.4
Đặt vấn đề
Mô tả trạng thái
Toán tử chuyển trạng thái
Không gian trạng thái của bài toán
2.1 Biểu diễn bài toán trong không gian trạng thái
Biểu diễn không gian trạng thái dưới dạng đồ thị 2.1.5
07/07/14 16
2.1 Biểu diễn bài toán trong không gian trạng thái

Là các phép biến đổi đưa từ trạng thái này
sang trạng thái khác.

Có hai cách biểu diễn các toán tử:

Biểu diễn hàm xác định trên tập các trạng thái
và nhận giá trị cũng trong tập này.


Biểu diễn dưới dạng các quy tắc sản xuất S→A
có nghĩa là nếu có trạng thái S thì có thể đưa
đến trạng thái A.
2.1.3. Toán tử chuyển trạng thái
07/07/14 17
2.1 Biểu diễn bài toán trong không gian trạng thái
Ví dụ: Bài toán đong nước

Các thao tác sử dụng để chuyển trạng thái này
sang trạng thái khác gồm:

Đổ đầy một bình,

đổ hết nước trong một bình ra ngoài,

đổ nước từ bình này sang bình khác.
2.1.2. Mô tả trạng thái
07/07/14 18
2.1 Biểu diễn bài toán trong không gian trạng thái

Nếu trạng thái đang xét là (x,y) thì các trạng thái kế
tiếp có thể chuyển đến sẽ là:
2.1.2. Mô tả trạng thái
07/07/14 19
2.1 Biểu diễn bài toán trong không gian trạng thái
Ví dụ: Trò chơi 8 số

Các thao tác để chuyển trạng thái tương ứng với việc
chuyển ô trống sang phải, sang trái, lên, xuống nếu có
thể được.


Biểu diễn theo quy tắc sản xuất
2.1.2. Mô tả trạng thái
07/07/14 20
2.1 Biểu diễn bài toán trong không gian trạng thái

Biểu diễn theo một hàm

Gọi f
u
là hàm biểu diễn toán tử chuyển ô trống lên
trên;

Gọi B (B= (b
ij
)) là trạng thái sau khi di chuyển ô trống
ở trạng thái A (A= (a
ij
)) lên trên, nghĩa là: B= f
u
(A), giả
sử ô trống đang ở vị trí (i
0
, j
0
) (hay nói cách khác a
i0 j0
=
0) thì hàm f
u

được xác định như sau:
2.1.2. Mô tả trạng thái
07/07/14 21
2.1 Biểu diễn bài toán trong không gian trạng thái
2.1.2. Mô tả trạng thái
Phép chuyển ô trống xuống dưới f
d
, qua trái f
l
, qua phải f
r
như sau:
07/07/14 22
2.1 Biểu diễn bài toán trong không gian trạng thái
Ví dụ: Bài toán Tháp Hà Nội với n = 3

Mỗi trạng thái là một bộ ba (i, j, k). Có các
trường hợp như sau:

Ba đĩa cùng nằm trên một cọc: (i, i, i)

Hai đĩa cùng nằm trên hai cọc: (i, i, j), (i, j, i),
(j, i, i),

Ba đĩa nằm trên ba cọc phân biệt: (i, j, k)
2.1.2. Mô tả trạng thái
07/07/14 23
2.1 Biểu diễn bài toán trong không gian trạng thái
2.1.2. Mô tả trạng thái
07/07/14 24

2.1.1
2.1.2
2.1.3
2.1.4
Đặt vấn đề
Mô tả trạng thái
Toán tử chuyển trạng thái
Không gian trạng thái của bài toán
2.1 Biểu diễn bài toán trong không gian trạng thái
Biểu diễn không gian trạng thái dưới dạng đồ thị 2.1.5
07/07/14 25
2.1 Biểu diễn bài toán trong không gian trạng thái

KGTT là tập tất cả các trạng thái có thể có và
tập các toán tử của bài toán.

KGTT là một bộ bốn: K= (T, S, G, F). Trong
đó:

T: tập tất cả các trạng thái có thể có của bài
toán

S: trạng thái đầu

G: tập các trạng thái đích

F: tập các toán tử
2.1.4. Không gian trạng thái của bài toán

×