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

Nhập môn Trí tuệ nhân tạo-Bài 2

53 1,2K 19
Tài liệu đã được kiểm tra trùng lặp

Đ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 53
Dung lượng 899 KB

Nội dung

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle... – fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle... – fr

Trang 1

NHẬP MÔN TRÍ TUỆ NHÂN TẠO

@copyrights by Dr Nguyễn Xuân Hoài

Trang 2

Nội Dung

Giải quyết vấn đề:

• Một số vấn đề về giải quyết vấn đề

• Biểu diễn không gian lời giải bằng không gian trạng thái

• Giải quyết vấn đề bằng tìm kiếm

Tìm kiếm cơ bản không dựa vào thông tin thu thập trong quá trình tìm kiếm: (uninformed/blind search)

Trang 3

Giải quyết vấn đề

Giải quyết vấn đề là gì?

Để giải quyết vấn đề:

1 Phát biểu chính xác bài toán (Hiện trạng ban đầu, kết

quả mong muốn, )

2 Phân tích bài toán

3 Thu thập và biểu diễn dữ liệu, tri thức cần thiết để giải

bài toán

4 Lựa chọn kỹ thuật giải quyết thích hợp

Trang 4

Không gian trạng thái

Ví dụ: Tìm đường đi, Robot xếp hình, Máy hút bụi tự

động, tính tích phân bất định, chương trình chơi cờ,

chương trình chuẩn đoán bệnh, chương trình nhận dạng vân tay, mặt người, chương trình tự sản sinh ra chương trình máy tính

Đi nghỉ tại Romania; hiện ở Arad

+ Trạng thái hiện thời: Tại Arad

+ Trạng thái đích: Tới Bucharest

+Biểu diễn dưới dạng không gian trạng thái:

trạngthái: tại các thành phố khác nhau

hành động: lái xe đến các thành phố khác nhau.

+ Tìm lời giải: Chuỗi các thành phố, từ Arad, đến Bucharest.

Trang 5

Không gian trạng thái

Trang 6

Không gian trạng thái

Trang 7

Không gian trạng thái

Trang 8

Yếu tố xác định không gian TT

1 Trạng thái.

2 Hành động.

3 Kiểm tra trạng thái thoả đích.

4 Chi phí cho mỗi bước chuyển trạng thái.

Trang 9

Không gian trạng thái

Trang 10

Không gian trạng thái

Trang 11

Các đặc trưng của vấn đề

1 Tính khả tách

2 Có thể huỷ bỏ hay lần ngược bước giải?

3 Không gian bài toán có đoán định được trước? (sau mỗi

bước giải)

4 Cần lời giải tốt hay tối ưu?

5 Lời giải là trạng thái hay dãy chuyển trạng thái?

6 Vai trò của tri thức?

7 Quá trình giải có cần tương tác người máy?

Trang 12

không gian trạng thái

Không đơn định/không nắm được bộ phận của không gian trạng thái

Trang 13

Giải quyết vấn đề

Trang 14

Tìm kiếm trên cây trạng thái

• Ý tưởng cơ bản:

– Tìm kiếm trên không gian trạng thái dưới dạng cây, dùng toán tử EXPAND sinh các trạng thái có thể đến được trực tiếp từ một trạng thái đã được kiểm tra (trạng thái con)

Trang 15

Ví dụ

Trang 16

Ví dụ

Trang 17

Ví dụ

Trang 18

Khung tìm kiếm tổng quát

Trang 19

Trạng thái vs Nodes

• Trạng thái biểu diễn cho một cấu hình vật lý của bài

toán

• node thành phần cơ bản của cây tìm kiếm trạng thái,

node cha, hành động , giá đường đi g(x), độ sâu

• Toán tử Expand tạo ra nodes mới, sủ dụng hàm

SuccessorFn (phụ thuộc vào từng bài toán) để tạo ra các trạng thái tương ứng

Trang 20

Chiến lược tìm kiếm

• Chiến lược tìm kiếm là chiến lược lựa chọn thứ tự xét các nodes tạo ra bởi toán tử Expand

• Các tiêu chuẩn để đáng giá chiến lược :

– đủ : Liệu có tìm được lời giải (nếu có)?

– độ phức tạp thời gian : số lượng node phải xét.

– độ phức tạp lưu trữ : Tổng dung lượng bộ nhớ phải lưu trữ (các nodes trong quá trình tìm kiếm.

– tối ưu : Có luôn cho lời giải tối ưu.

• Độ phực tạp thời gian vàlưu trữ của bài toán có thể được đo bằng:

– b: Độ phân nhánh của cây

– d: Độ sâu của lời giải ngắn nhất

– m: Độ sâu tối đa của không gian trạng thái (có thể vô hạn).

Trang 21

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

(weak/uninformed/blind search)

• Những chiến thuật tìm kiếm chỉ sử dụng thông tin từ định nghĩa của bài toán:

• Tìm kiếm theo chiều rộng

• Tìm kiếm đều giá (uniform-cost search)

• Tím kiếm theo chiều sâu

• Tìm kiếm theo chiều sâu có hạn

• Tìm kiếm sâu dần

Trang 22

Tìm kiếm theo chiều rộng

• Tìm kiếm theo từng tầng Expand node gần nút nhất

• Cài đặt :

– fringe (danh sách các node chờ được duyệt) được

cài đặt dưới dạng danh sách FIFO, i.e., Các node con được sinh ra (bởi EXPAND) sẽ được đặt ở

dưới cùng của fringe.

Trang 23

Tìm kiếm theo chiều rộng

• Tìm kiếm theo từng tầng Expand node gần nút nhất.

– fringe (danh sách các node chờ được duyệt) được cài đặt

dưới dạng danh sách FIFO, i.e., Các node con được sinh ra

(bởi EXPAND) sẽ được đặt ở dưới cùng của fringe.

Trang 24

Tìm kiếm theo chiều rộng

• Tìm kiếm theo từng tầng Expand node gần nút nhất

• Cài đặt :

– fringe (danh sách các node chờ được duyệt) được cài

đặt dưới dạng danh sách FIFO, i.e., Các node con

được sinh ra (bởi EXPAND) sẽ được đặt ở dưới cùng

của fringe.

Trang 25

Tìm kiếm theo chiều rộng

• Tìm kiếm theo từng tầng Expand node gần nút nhất

• Cài đặt :

– fringe (danh sách các node chờ được duyệt) được cài

đặt dưới dạng danh sách FIFO, i.e., Các node con

được sinh ra (bởi EXPAND) sẽ được đặt ở dưới

cùng của fringe.

Trang 26

Đánh giá tìm kiếm BFS

• đủ? có (nếu b là hữu hạn).

• thời gian? 1+b+b 2 +b 3 +… +b d + b(b d -1) = O(bd+1)

• không gian? O(b d+1 ) (lưu mọi node của cây).

• tối ưu? có (giải thiết giá của mỗi bước chuyển là 1)

• Không gian lưu trữ hết sức tốn kém là vấn đề lớn nhất

đối vơi BFS !!!

Trang 27

Tìm kiếm đều giá

• Xét node có giá tìm kiếm nhỏ nhất trước

– fringe = Hàng đợi có ưu tiên (bằng nghịch dấu giá thành)

• Tương đương với BFS nếu các node có giá như nhau

• Đủ ? có nếu cost ≥ ε

• Thời gian? Số lượng nodes với g ≤ giá của lời giải tối

ưu, O(b ceiling(C*/ ε) ) trong đó C* là giá của lời giải tối ưu

• Không gian? số lượng nodes với g ≤ giá của lời giải tối

ưu, O(b ceiling(C*/ ε) ).

• Tối ưu? Có – nodes được EXPAND theo thứ tự tăng

dần của g(n).

Trang 28

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 29

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 30

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 31

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 32

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 33

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 34

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 35

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 36

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 37

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 38

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 39

Tìm kiếm theo chiều sâu

• EXPAND node chưa xét ở sâu nhất

– fringe = danh sách kiểu LIFO, i.e., Đẩy các nodes con sinh bởi EXPAND vào đầu fringle

Trang 40

Đánh giá tìm kiếm DFS

• Đủ? không đủ (không gian vô hạn hoặc loop)

- Nếu sửa để tránh trùng lặp  đủ trong không gian hữu hạn.

• Thời gian? O(b m )

- Rất xấu nếu m lớn hơn nhiều so với d.

- Nhưng nếu mật độ lời giải trong không gian lớn thì có thể nhanh hơn BFS.

• Không gian? O(bm), i.e., Độ phức tạp tuyến tính

• Tối ưu? không

Trang 41

Tìm kiếm với độ sâu giới hạn

= DFS với độ sâu giới hạn là l, i.e., nodes tại độ sâu l

không có node con (successor-fn trả về rỗng)

• Cài đặt :

Trang 42

Tìm Kiếm Sâu Dần

Trang 43

Tìm kiếm sâu dần l =0

Trang 44

Tìm kiếm sâu dần l =1

Trang 45

Tìm kiếm sâu dần l =2

Trang 46

Tìm kiếm sâu dần l =3

Trang 48

Đánh giá tìm kiếm sâu dần

Trang 49

Tóm tắt các chiến lược tìm kiếm

Trang 50

Trạng thái bị trùng lặp

• Việc không xử lý tốt các trạng thái bị lặp nhiều lần có thể làm cho độ phức tạp (thời gian, không gian) bị

bùng nổ tổ hợp

Trang 51

Tìm kiếm trên đồ thị

Trang 52

• Các chiến lược tìm kiếm khác nhau: chiều rộng, đều giá, chiều sâu, sâu dần.

• Tìm kiếm sâu dần có độ phực tạp không gian tuyến tính và độ phức tạp thời gian không quá kém so với tìm kiếm chiều rộng, chiều sâu

Trang 53

Câu hỏi ôn tập

1 Nêu và cho ví dụ về các đặc trưng của vấn đề?

2 Nêu và cho ví dụ về việc phân loại các vấn đề

3 Hãy lấy ví dụ về các bài toán mà bạn quan tâm sau

đó biểu diễn nó bằng không gian trạng thái

4 Cài đặt các thuật toán BFS, DFS, UCS, IDS trên các

bài toán cụ thể

Ngày đăng: 28/08/2013, 21:10

HÌNH ẢNH LIÊN QUAN

• Trạngthái biểu diễn cho một cấu hình vật lý của bài toán - Nhập môn Trí tuệ nhân tạo-Bài 2
r ạngthái biểu diễn cho một cấu hình vật lý của bài toán (Trang 19)

TỪ KHÓA LIÊN QUAN

w