1. Trang chủ
  2. » Giáo án - Bài giảng

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

64 2,2K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 461 KB

Nội dung

 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.. 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...

Trang 1

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

Trang 2

1.Khái niệm về không gian trạng thái

Trang 3

Khái niệm về không gian trạng thái (tt)

 Mô hình bài toán:

Trang 4

Ví dụ (trò chơi 8 số)

Trang 5

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

Trang 6

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

Trang 7

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

Trang 9

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)

Trang 10

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

Trang 11

Ví dụ: chuyển đồ thị thành cây

Trang 12

Ví dụ: chuyển đồ thị thành cây (tt)

Trang 13

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ỷ

Trang 14

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)

Trang 15

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

Trang 16

Lý thuyết đồ thị - Review

Trang 17

Đặc tính đồ thị

đị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

Trang 18

Đặc tính đồ thị (tt)

cho tất cả các path đều đi qua nút đó X là gốc - Root

lần

nút đó

Trang 19

3.Bài toán tìm kiếm

Vấn đề  Tìm kiếm mục tiêu

Trang 20

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

Trang 21

Đá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

Trang 22

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

Trang 23

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

Trang 24

23/02/24 Nhập môn Trí tuệ nhân tạo 24

Thuật toán

2

2 2

O(log n) O(n)

Trang 25

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

Trang 26

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

tạp cao

 Bài toán tô màu

Giả sử ta có bản đồ các

quốc gia trên thế giới, ta

muốn tô màu các quốc

gia này sao cho các

nước khác nhau được tô

Trang 27

23/02/24 Nhập môn Trí tuệ nhân tạo 27

Thuật giải

 Thuật giải: giải pháp được viết dưới dạng thủ tục tương tự như thuật toán nhưng không đòi hỏi các tiêu chuẩn như thuật toán

Tính đúng: chấp nhận các thuật giải đơn giản có thể cho kết quả đúng hay gần đúng nhưng có khả năng thành công cao hơn

Trang 28

Thuật giải heuristic

 Để có thể được chấp nhận thuật giải phải thể hiện một giải pháp hợp lý nhất có thể trong tình huống hiện tại bằng cách:

 Tận dụng mọi thông tin hữu ích

 Sử dụng tri thức, kinh nghiệm trực giác của con người

 Tự nhiên đơn giản nhưng cho kết quả chấp nhận được

 Thuật giải Heuristic

Trang 29

23/02/24 Nhập môn Trí tuệ nhân tạo 29

Thuật giải heuristic (tt)

Trang 30

23/02/24 Nhập môn Trí tuệ nhân tạo 30

Các nguyên lý của thuật giải heuristic

Trang 31

23/02/24 Nhập môn Trí tuệ nhân tạo 31

Các nguyên lý của thuật giải heuristic

Vét cạn thông minh

Hạn chế vùng không gian tìm kiếm và có

sự định hướng để nhanh chóng tìm đến mục tiêu

Tạo miền D’ rất nhỏ so với DVét cạn trên D’

Trang 32

23/02/24 Nhập môn Trí tuệ nhân tạo 32

Các nguyên lý của thuật giải heuristic

Trong quá trình hành đông để thực hiện việc chọn lọc các cách làm các trạng thái ta

có thể dựa trên một thứ tự hợp lý để giải

pháp đạt tính hiệu quả cao

Trang 33

23/02/24 Nhập môn Trí tuệ nhân tạo 33

Các nguyên lý của thuật giải heuristic

 Nhiều vấn đề cần phải đạt đến 1 mục tiêu tối ưu toàn cục mà không nhìn thấy được toàn bộ quá trình hành động

 Hơn nữa trong từng bước ta phải lựa chọn hành động dựa trên những thông tin cục bộ.

 Khi đó trong từng bước của quá trình hành động người ta dựa trên mục tiêu tối ưu toàn cục để định ra mục tiêu cục bộ và dựa theo đó chọn lựa hành động.

Trang 34

23/02/24 Nhập môn Trí tuệ nhân tạo 34

Các nguyên lý của thuật giải heuristic

Trang 35

23/02/24 Nhập môn Trí tuệ nhân tạo 35

Ví dụ1: bài toán phân công

Thuật giải cho bài toán phân công đơn giản

Chọn việc J chưa phân công có thời gian thực hiện cao nhất phân công cho máy có thời gian làm việc thấp nhất

for(k=0;k<n;k++)

{

Chọn việc J chưa phân công có thời gian thực hiện cao nhất.

Chọn máy M có thời gian làm việc thấp nhất

Bố trí việc J cho máy M.

}

Trang 36

23/02/24 Nhập môn Trí tuệ nhân tạo 36

Trang 37

23/02/24 Nhập môn Trí tuệ nhân tạo 37

Ví dụ 2: bài toán tô màu

 QT1: Chọn đỉnh có số đỉnh chưa tô ở cạnh nó là lớn nhất (bậc lớn nhất)

 QT2: Chọn màu:Với một đỉnh N đang xét, trước tiên thử tô bằng những màu đã tô, nếu không

được thì sử dụng màu mới

 Sau khi tô màu cho đỉnh N thì ta xóa các cạnh

có nối đến N và đánh dấu các đỉnh kế bên không được tô màu vừa tô cho N

Trang 38

23/02/24 Nhập môn Trí tuệ nhân tạo 38

Trang 39

23/02/24 Nhập môn Trí tuệ nhân tạo 39

Ví dụ 3

 Có một cuộc hội thảo khoa học với 9 chủ đề khác nhau: A, B, C…

AE, BC, ED, ABD, AHI, BHI, DFI, DHI, FGH

ít nhất

Trang 40

23/02/24 Nhập môn Trí tuệ nhân tạo 40

Ví dụ: Bài toán người đưa thư

Thuật giải GST(Greedy

Chỉ chu trình tốt nhất trong p chu

trình được giữ lại.

Trang 41

23/02/24 Nhập môn Trí tuệ nhân tạo 41

Ví dụ 5

xây dựng chương trình thiết kế tuyến đường ống nước cung cấp đến mọi nhà sao cho

tổng chiều dài đường ống phải dùng là ít

nhất Giả sử rằng các đường ống chỉ được nối giữa 2 điểm dân cư hoặc giữa trạm cấp nước với điểm dân cư

Trang 42

23/02/24 Nhập môn Trí tuệ nhân tạo 42

Trang 43

23/02/24 Nhập môn Trí tuệ nhân tạo 43

Trang 44

II Các chiến lược tìm kiếm

Trang 45

Tìm kiếm mù?

 Trạng thái được chọn để phát triển chỉ đơn thuần dựa theo cấu trúc của KGTT mà không

có thông tin hướng dẫn nào khác

 Nói chung tìm kiếm mù sẽ không hiệu quả

 Đây là cơ sở để chúng ta cải tiến và thu

được những chiến lược hiệu quả hơn

Trang 46

1 Tìm kiếm theo chiều

rộng (BFS)

 Trạng thái được ưu tiên phát triển là trạng thái được sinh ra trước

sinh ra đang chờ phát triển

Danh sách closed chứa các trạng thái đã

được khảo sát

Trang 47

Ví dụ

Trang 48

loại tt ngoài cùng bên trái của open, gọi nó là u

if (u là một đích) then thông báo kết quả, thoát else begin

Đưa u vào closed Phát sinh các con v của u Loại các con đã có trong open+closed Đưa các con còn lại vào bên phải open (1) end

end Thông báo thất bại

End

Trang 49

Nhận xét

 Các trạng thái con phát sinh nhờ các toán tử hợp lệ

 Danh sách open bổ sung phần tử bên phải, lấy

phần tử bên trái

 Thuật tóan khảo sát tất cả các nút ở độ sâu d sau

đó mới đến mức d+1 nên chắc chắn tìm được

nghiệm

 Nếu vô nghiệm và KGTT hữu hạn thì thuật toán sẽ dừng và thông báo vô nghiệm.

Trang 50

Đánh giá

 Giả sử mỗi trạng thái trung bình sinh ra b

trạng thái con (kề), b - gọi là nhân tố nhánh

 Giả sử đường đi nghiệm có độ dài d Tình

trạng xấu nhất phải khảo sát là ?

 Độ phức tạp thời gian là O(b^d), độ phức tạp không gian cũng là O(b^d)

Trang 52

2 Tìm kiếm theo chiều

sâu (DFS)

 Mở rộng nút có độ sâu hơn trước các nút

khác đang chờ xử lý

quay lại nút ở độ sâu thấp hơn

 Do đó, các nút mới được sinh ra chờ xử lý phải được bỏ bên trái của hàng đợi open (tại câu lệnh 1)

Trang 53

loại tt u ngoài cùng bên trái của open

if (u là một đích) then thông báo kết quả, thoát else begin

Đưa u vào closed Phát sinh các con v của u Loại các con đã có trong open+closed

Đưa các con còn lại vào bên tr ái open (1) end

end Thông báo thất bại

End

Trang 54

 Độ phức tạp thời gian của DFS vẫn là O(b^d) vì

trong trường hợp xấu nhất các nút được khảo sát vẫn như BFS

 Cơ hội để tìm thấy đích nhanh hơn nếu nó nằm ở phần KGTT bên trái.

Trang 55

 DFS là chiến lược không đầy đủ, không tối ưu

Không nên sử dụng khi KGTT có độ sâu lớn hoặc

vô hạn

Trang 56

3 Tìm kiếm với độ sâu

hạn chế

 Vẫn như sử dụng chiến lược tìm kiếm theo chiều sâu nhưng giới hạn độ sâu của đường

đi nghiệm trên cây

 Tức là sẽ không tiếp tục mở rộng nếu đã đến một độ sâu d cố định nào đó

 Số d được gọi là bán kính trên KGTT

Trang 57

Nhận xét

không phụ thuộc vào d

 Nếu d được chọn thích hợp thì nó tìm được nghiệm, khi đó chiến lược là đầy đủ Tuy

nhiên nó không là chiến lược tối ưu

 Tương tự như DFS, độ phức tạp thời gian là O(b^d) và độ phức tạp không gian là O(bd)

Trang 58

loại u ngoài cùng bên trái open

if (u là một đích) then thbáo kết quả, thoát else

Trang 59

Đưa u vào closed

If depth(u)<d then begin

Phát sinh các con v của u

Loại các con vừa phát sinh đã có trong open+ closed Gán độ sâu cho các v bằng depth(u)+1

Đưa các con v còn lại vào bên trái open

Trang 60

Khó khăn d?

 Vấn đề khó khăn là xác định độ sâu hạn chế

d

 Hầu hết các bài tóan chúng ta không biết

trước d bằng bao nhiêu

 Chiến lược sau đây giải quyết vấn đề này

Trang 62

Nhận xét

 Do sử dụng tìm kiếm sâu trong cây hạn chế nên ít tốn kém bộ nhớ hơn

 Chiến lược này là đầy đủ và nếu KGTT là cây thì nó là chiến lược tối ưu

Trang 64

Đánh giá

 Thực tế số nút tăng lên nhưng độ phức tạp của thuật tóan vẫn là O(b^d), trong khi đó độ phức tạp không gian vẫn là O(bd)

 Vì vậy, tìm kiếm sâu dần được đánh giá là chiến lược tìm kiếm thích hợp hơn khi KGTT lớn và không biết trước được độ sâu của

trạng thái đích

Ngày đăng: 13/03/2015, 19:01

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w