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

bài giảng môn trí tuệ nhân tạo KHÔNG GIAN TRẠNG THÁI VÀ BÀI TOÁN 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 (302.83 KB, 64 trang )

KHÔNG GIAN TR NG THÁI Ạ
VÀ BÀI TOÁN TÌM KI MẾ
Th.S Dương Thị Thùy Vân
1.Khái ni m v không gian tr ng tháiệ ề ạ

Vấn đề
 Những vướng mắc, khó khăn trong cuộc
sống mà ta cần giải quyết.

Bài toán
 Một loại vấn đề mà để giải quyết, cần đến
tính toán (phép toán số, luận lí, quan hệ).
Khái ni m v không gian tr ng thái (tt)ệ ề ạ

Mô hình bài toán:
A  B

Trong đó:

A: giả thiết, điều kiện ban đầu

B: kết luận cần đạt đến

: suy luận hay giải pháp cần xác định = một số
hữu hạn bước
Ví d (trò ch i 8 s )ụ ơ ố
Khái ni m v không gian tr ng thái (tt)ệ ề ạ

Sự sắp xếp các số tại mỗi thời điểm là một
trạng thái (TT).


Hình bên trái là trạng thái ban đầu.

Hình bên phải là trạng thái kết thúc hay
trạng thái đích (goal).

Trạng thái đích của một bài toán có thể
nhiều hơn một.
Khái ni m v không gian tr ng thái (tt)ệ ề ạ

Toán tử chuyển trạng thái là một phép biển
đổi hợp lệ chuyển từ trạng thái này sang
trạng thái khác.

Không gian trạng thái (KGTT) là tập tất cả
các trạng thái có thể có của bài toán.

Bằng các toán tử chuyển trạng thái, từ trạng
thái ban đầu, tiếp tục phát triển, cuối cùng
thu được một KGTT.
Ví dụ

Trạng thái đầu và cuối của bài toán 8 số

Các toán tử: qua trái, phải, lên trên, xuống
dưới
2 8 3
1 6 4
7 5
1 2 3
8 4

7 6 5
Đ nh nghĩaị

KGTT là một bộ bốn (X, u0, F, G), trong đó:
X là tập các trạng thái
u0 là trạng thái bắt đầu
F là tập các toán tử, gồm các phép biến đổi.
G là tập trạng thái đích.
2. Các cách bi u di n KGTTể ễ

Không gian trạng thái có thể biểu diễn bằng
đồ thị có hướng: mỗi đỉnh là một trạng thái,
mỗi cung là một toán tử.

Đồ thị trạng thái xác định khi:

Biết trạng thái đầu

Biết hàm next(S)(tập hợp toán tử) trả về các trạng
thái kế của S.

Biết trạng thái kết thúc (tập trạng thái kết thúc)
2. Các cách bi u di n KGTT (tt)ể ễ

Bài toán tìm được nghiệm nếu như ta tìm
được đường đi từ trạng thái bắt đầu đến một
trong các trạng thái đích.

Trong đồ thị của KGTT có thể xuất hiện chu
trình gây khó khăn cho việc tìm kiếm


Có thể chuyển đồ thị trở thành cây, một cấu
trúc dễ tìm kiếm hơn.

VD. KGTT của trò chơi caro là cây.
Ví d : chuy n đ th thành câyụ ể ồ ị
A
I
G
E
K
F
D
C
B
Ví d : chuy n đ th thành cây (tt)ụ ể ồ ị
A
I
G
E
K
F
D
CB
G
G
K
FC
Ví d : Bài toán ng i qu qua sôngụ ườ ỷ


Đặc tả: Tại một bờ sông có 3 người và 3 quỷ
và tất cả muốn qua sông. Trên sông có 1
thuyền nhỏ chỉ chở tối đa 2 đối tượng. Yêu
cầu: số người không được ít hơn số quỷ.
Ví d : Bài toán ng i qu qua sôngụ ườ ỷ

Biểu diễn trạng thái bằng (a, b, k)
Với a, b là số người và quỷ ở bên bờ phải
k=1 là thuyền ở bờ phải, k=0 thuyền ở bờ trái
Không gian trạng thái
Trạng thái ban đầu (3, 3, 1)
Các toán tử: chở 1 người, 1 quỷ, 2 người, 2
quỷ, (1 người và 1 quỷ)
Trạng thái kết thúc (0, 0, 1)
Ví d : Bài toán ng i qu qua sông (tt)ụ ườ ỷ
3 , 3 , 1
3 , 2 , 0 3 , 1 , 0 2 , 2 , 0

Đồ thị: là một cấu trúc bao gồm:

Tập các nút N1, N2,… Nn, Không hạn chế

Tập các cung nối các cặp nút, có thể có nhiều
cung trên một cặp nút
A
B
D
C
E
B

C
A
D
E
Lý thuyết đồ thị - Review
Đặc tính đồ thị

Đồ thị có hướng: là đồ thị với các cung có
định hướng, nghĩa là cặp nút có quan hệ thứ
tự trước sau theo từng cung. Cung (Ni,Nj)
có hướng từ Ni đến Nj, Khi đó Ni là nút cha
và Nj là nút con.

Nút lá: là nút không có nút con.

Path: là chuổi có thứ tự các nút mà 2 nút kế
tiếp nhau tồn tại một cung.
Đặc tính đồ thị (tt)

Đồ thị có gốc: Trên đồ thị tồn tại nút X sao
cho tất cả các path đều đi qua nút đó. X là
gốc - Root

Vòng : là một path đi qua nút nhiều hơn một
lần

Cây: là graph mà không có path vòng

Hai nút nối nhau :nếu có một path đi qua 2
nút đó

3.Bài toán tìm ki m ế
Vấn đề = Tìm kiếm mục tiêu
Chi n l c tìm ki m?ế ượ ế

Khi tìm kiếm lời giải, từ một trạng thái nào đó chưa
phải là trạng thái đích, ta dựa theo toán tử sinh ra
tập các trạng thái mới: mở rộng.

Để được lời giải, ta phải liên tục chọn trạng thái
mới, mở rộng, kiểm tra cho đến khi tìm được trạng
thái đích hoặc không mở rộng được KGTT.

Tập các trạng thái được mở rộng sẽ có nhiều phần
tử, việc chọn trạng thái nào để tiếp tục mở rộng
được gọi là chiến lược tìm kiếm.
Đánh giá m t chi n l c?ộ ế ượ
+ Tính đầy đủ: chiến lược phải đảm bảo tìm
được lời giải nếu có.
+ Độ phức tạp thời gian: mất thời gian bao lâu
để tìm được lời giải.
+ Độ phức tạp không gian: tốn bao nhiêu đơn
vị bộ nhớ để tìm được lời giải.
+ Tính tối ưu: tốt hơn so với một số chiến lược
khác hay không.
Thông tin m i nút?ỗ
+ Nội dung trạng thái mà nút hiện hành đang
biểu diễn.
+ Nút cha đã sinh ra nó.
+ Toán tử đã được sử dụng để sinh ra nút hiện
hành.

+ Độ sâu của nút.
+ Giá trị đường đi từ nút gốc đến nút hiện
hành.
Thu t toán ậ

Thuật toán là giải pháp viết dưới dạng thủ tục
và thỏa 3 tiêu chuẩn:

Xác định : không mập mờ và có thể thực thi được

Hữu hạn

Đúng
 Thuật toán là một dãy hữu hạn các bước
không mập mờ và có thể thực thi được, quá
trình hành động theo các bước này phải
dừng và cho kết quả mong muốn.
13/03/15 Nhập môn Trí tuệ nhân tạo 24
Thu t toánậ
2
2
2
O(log n)
O(n)
O(nlog n) ®é phøc t¹p ®a thøc chÊp nhËn ®îc
O(n )
( )
k
O n











(2 )
®é phøc t¹p cao khã chÊp nhËn
!
n
O
n




M t s ví d v bài toán có đ ph c t p cao ộ ố ụ ề ộ ứ ạ

Bài toán phân công công việc
Một đề án gồm n công việc và các việc sẽ đưọc
thực hiên bởi m máy như nhau.
Giả sử biết thời gian để 1 máy thực hiện viêc
thứ j là tj
Yêu cầu: Tìm phương án phân công sao cho
thời gian hoàn thành toàn bộ công việc là thấp nhất.
Mẫu số liệu
n=10, m=3

tj = 4 9 5 2 7 6 10 8 7 5

×