Bài giảng Nhập môn trí tuệ nhân tạo: Chương 5 - TS. Ngô Hữu Phúc

35 81 1
Bài giảng Nhập môn trí tuệ nhân tạo: Chương 5 - TS. Ngô Hữu Phúc

Đ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

Cùng nắm kiến thức trong chương "Các chiến lược tìm kiếm có đối thủ" này thông qua việc tìm hiểu các nội dung sau: Cây trò chơi và tìm kiếm trên cây trò chơi, chiến lược Minimax, phương pháp cắt tỉa Alpha – Beta,...Mời các bạn cùng tham khảo!

NHẬP MƠN TRÍ TUỆ NHÂN TẠO Chương CÁC CHIẾN LƯỢC TÌM KIẾM CĨ ĐỐI THỦ Biên soạn: TS Ngơ Hữu Phúc Bộ mơn Khoa học máy tính ĐT: 098 56 96 580 eMail: ngohuuphuc76@gmail.com Chương 5: Tìm kiếm có đối thủ Thơng tin chung  Thơng tin nhóm mơn học: TT Họ tên giáo viên Học hàm Học vị Đơn vị công tác (Bộ môn) Ngô Hữu Phúc GVC TS BM Khoa học máy tính Trần Nguyên Ngọc GVC TS BM Khoa học máy tính Hà Chí Trung GVC TS BM Khoa học máy tính Trần Cao Trưởng GV ThS BM Khoa học máy tính  Thời gian, địa điểm làm việc: Bộ mơn Khoa học máy tính Tầng 2, nhà A1  Địa liên hệ: Bộ mơn Khoa học máy tính, khoa Công nghệ thông tin  Điện thoại, email: 069-515-329, ngohuuphuc76.mta@gmail.com Chương 5: Tìm kiếm có đối thủ Cấu trúc môn học  Chương 1: Giới thiệu chung  Chương 2: Logic hình thức  Chương 3: Các phương pháp tìm kiếm mù  Chương 4: Các phương pháp tìm kiếm có sử dụng thơng tin  Chương 5: Các chiến lược tìm kiếm có đối thủ  Chương 6: Các toán thỏa buộc  Chương 7: Nhập mơn học máy Chương 5: Tìm kiếm có đối thủ Bài 5: Tìm kiếm có đối thủ Chương 5, mục: 5.1 – 5.3 Tiết: 1-3; Tuần thứ: (thực hành chương 3-4),7 Mục đích, yêu cầu: Nắm ý tưởng phương pháp xây dựng trò chơi Nắm phương pháp sử dụng chiến lược Minimax Nắm phương pháp cắt tỉa Alpha – Beta Qua đó, xây dựng chương trình cho chương Hình thức tổ chức dạy học: Lý thuyết Thời gian: tiết Địa điểm: Giảng đường Phòng Đào tạo phân cơng Nội dung chính: (Slides) Chương 5: Tìm kiếm có đối thủ Nội dung: Cây trò chơi tìm kiếm trò chơi Chiến lược Minimax Phương pháp cắt tỉa Alpha – Beta Chương 5: Tìm kiếm có đối thủ 5.1 Cây trò chơi tìm kiếm trò chơi  Trong bài, nghiên cứu trò chơi có hai người tham gia; như:  cờ vua,  cờ ca rô,  cờ tướng  Người chơi quân Trắng, đối thủ quân Đen  Mục tiêu: nghiên cứu giải thuật cho quân Trắng Chương 5: Tìm kiếm có đối thủ 5.1 Cây trò chơi tìm kiếm trò chơi (t) Một số đặc điểm:  người thay phiên đưa nước tuân theo luật  Các luật cho người  Cả người chơi biết thông tin đầy đủ tình trò chơi  Trong vấn đề trò chơi, thực chất tìm kiếm nước đi, nước tốt cho, sau số nước dẫn đến trạng thái kết thúc Chương 5: Tìm kiếm có đối thủ 5.1 Cây trò chơi tìm kiếm trò chơi (t) Khó khăn:  Vấn đề tìm kiếm khó khăn với việc tìm kiếm trước, vì:  Ở vấn đề này, có đối thủ, nên khơng biết đối thủ  Nếu tổng quát, khó khơng gian tìm kiếm q rộng  Nói chung, khơng thể tìm lời giải tối ưu, tìm lời giải xấp xỉ Chương 5: Tìm kiếm có đối thủ 5.1 Cây trò chơi tìm kiếm trò chơi (t) Giải pháp: trò chơi, coi tìm kiếm không gian trạng thái, trạng thái tình trò chơi Có thể tóm tắt giải pháp:  Trạng thái ban đầu xếp quân cờ lúc đầu chơi  Các nước hợp lệ toán tử  Các trạng thái kết thúc tình mà chơi dừng, thường xác định, thơng qua hàm kết  Có thể biểu diễn khơng gian trạng thái trò chơi Chương 5: Tìm kiếm có đối thủ 5.1 Cây trò chơi tìm kiếm trò chơi (t) Cách xây dựng trò chơi:  Gốc ứng với trạng thái u  Có thể gọi đỉnh ứng với trạng thái Trắng (Đen) đưa nước đỉnh Trắng (Đen)  Nếu đỉnh Trắng (Đen) ứng với trạng thái u, đỉnh tất đỉnh biểu diễn trạng thái v, v nhận từ u Trắng (Đen) thực nước hợp lệ Nhận xét:  Độ cao tổng số nước người  Trên mức cây, đỉnh Trắng Đen  Các ứng với trạng thái kết thúc 10 Chương 5: Tìm kiếm có đối thủ 5.2 Ví dụ: Một số hàm đánh giá Ví dụ 1: Xây dựng hàm đánh giá cho bàn cờ vua  Mỗi quân bàn cờ gán giá trị, phù hợp với “sức mạnh” cờ Giả sử:  Quân tốt Trắng (Đen) gán giá trị 1(-1)  Quân mã Trắng (Đen) gán giá trị 3(-3)  Quân xe Trắng (Đen) gán giá trị 5(-5)  Quân hậu Trắng (Đen) gán giá trị 9(-9)  Hàm đánh giá trạng thái: Eval() = s1w1 + s2w2 + + snwn  Nhận xét: Hàm không quan tâm tới vị trí qn cờ 21 Chương 5: Tìm kiếm có đối thủ 5.2 Ví dụ: Một số hàm đánh giá Ví dụ 2: Xây dựng hàm đánh giá cho trò chơi Dodgen  Mỗi vị trí qn Trắng (Đen) cho giá trị hình vẽ • Nếu quân Trắng cản trực tiếp quân Đen thêm 40 điểm, cản gián tiếp thêm 30 điểm • Ngược lại, quân Đen cản trực tiếp quân Trắng thêm -40 điểm, cản gián tiếp thêm -30 điểm 22 Chương 5: Tìm kiếm có đối thủ 5.2 Ví dụ: Một số hàm đánh giá Ví dụ (Tiếp): Xây dựng hàm đánh giá cho trò chơi Dodgen Đánh giá tương quan quân Trắng Đen Nhận xét: Với cách xây dựng trên, hàm đánh giá có xét tới vị trí qn bàn cờ mối tương quan quân cờ 23 Chương 5: Tìm kiếm có đối thủ 5.2 Ví dụ: Một số hàm đánh giá Ví dụ (Tiếp): Xây dựng hàm đánh giá cho trò chơi Dodgen Giá trị số trạng thái Dodgen 24 Chương 5: Tìm kiếm có đối thủ 5.3 Chiến lược minimax với độ sâu cố định  Trong trò chơi, có khả mở rộng đến nút  Khi đó, áp dụng chiến lược tính trước n bước  Giá trị nút không phản ánh giá trị thắng thua, phản ánh giá trị heuristic  Giá trị truyền ngược không đánh giá việc thắng thua, giá trị heuristic trạng thái tốt tiếp cận 25 Chương 5: Tìm kiếm có đối thủ 5.3 Chiến lược minimax với độ sâu cố định • Minimax KGTT giả định • Các nút gán giá trị heuristic • Còn giá trị nút giá trị nhận dựa giải thuật Minimax 26 Chương 5: Tìm kiếm có đối thủ 5.3 Heuristic trò chơi tic-tac-toe 𝐄(𝐧) = 𝐌(𝐧) – 𝐎(𝐧) M(n) tổng số đường thắng tơi O(n) tổng số đường thắng đối thủ E(n) trị số đánh giá tổng cộng cho trạng thái n  Hàm Heuristic: Trong đó: 27 Chương 5: Tìm kiếm có đối thủ 5.3 Heuristic trò chơi tic-tac-toe (cont) Trích từ Nilsson (1971) 28 Chương 5: Tìm kiếm có đối thủ 5.4 Phương pháp cắt tỉa alpha-beta Nhận xét giải thuật trước:  Trong chiến lược minimax, để tìm nước tốt cho quân Trắng trạng thái u, cho dù hạn chế không gian việc giảm độ cao, lớn h>=3  Ví dụ:  Với trò chơi cờ vua, máy tính tính 106 nước/s bm = 106, b=35  m=4  Tuy nhiên, 29  4-ply ≈ người học chơi  8-ply ≈ PC, chuyên gia cờ  12-ply ≈ Deep Blue, Kasparov Chương 5: Tìm kiếm có đối thủ 5.4 Phương pháp cắt tỉa alpha-beta (cont) Tư tưởng phương pháp alpha-beta:  Giả sử trình tìm kiếm xuống đỉnh Trắng a, đỉnh a có đỉnh cấp v xét  Giả sử đỉnh a có cha b, b có đỉnh cấp u xét; cha b c  Khi đó, giá c u, giá b nhiều v  Nếu eval(u)> eval(v), ta không cần xuống đỉnh a mà không ảnh hưởng tới giá c  Lập luận tương tự cho đỉnh a Đen, với đánh giá eval(u)eval(v) 31 Chương 5: Tìm kiếm có đối thủ 5.4 Phương pháp cắt tỉa alpha-beta (cont) • Xét K(2) L(3), E có giá trị = max(2,3) • Vì M=5, nên F=5, đó, khơng cần xét nhánh N, kết luận B=3 (cắt bỏ beta) • Tương tự, xét P(0), suy G=0 Do chọn min, suy C nhiều =0 Vì A chọn max, nên khơng cần xét H • Tương tự, D nhiều 2, mà chọn A theo max, B>I, nên không cần xét J 32 Chương 5: Tìm kiếm có đối thủ 5.4 Phương pháp alpha-beta (cont) Các hàm chiến lược Alpha-beta  Hàm sử dụng α để ghi giá trị lớn giá trị đỉnh đánh giá đỉnh trắng, β ghi giá trị nhỏ đỉnh đỉnh đen  Hàm MaxValue(u, α, β) tính giá đỉnh Trắng u  Hàm MinValue(u, α, β) tính giá đỉnh Đen u Hàm gán giá trị max: Function MaxValue(u, α, β); Begin If u hạn chế đỉnh kết thúc then MaxValue ← eval(u) Else for đỉnh v u begin α ← max {α, MinValue(v, α, β)}; if α > β then exit; end; MaxValue ← α; End; 33 Chương 5: Tìm kiếm có đối thủ 5.4 Phương pháp alpha-beta (cont) Hàm gán giá trị min: Function MinValue(u, α, β); Begin If u hạn chế đỉnh kết thúc then MinValue ← eval(u) Else for đỉnh v u begin β ← {β, MaxValue(v, α, β)}; if α > β then exit; end; MinValue ← β; End; 34 Chương 5: Tìm kiếm có đối thủ 5.4 Phương pháp alpha-beta (cont) Thủ tục Alpha-Beta: (tìm nước cho quân Trắng, v đỉnh cần tới) Procedure Alpha_Beta(u, v); Begin α ← -∞; β ← ∞; for đỉnh w đỉnh u If α

Ngày đăng: 27/06/2020, 09:04

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan