Danh mục

Bài giảng Trí tuệ nhân tạo: Bài 8 - Trương Xuân Nam

Số trang: 31      Loại file: pdf      Dung lượng: 934.01 KB      Lượt xem: 10      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 8,000 VND Tải xuống file đầy đủ (31 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Trí tuệ nhân tạo: Bài 8 Trò chơi đối kháng không xác định cung cấp cho người học những kiến thức như: Khái niệm không xác định; Lượng giá Minimax; Thuật toán Alpha-Beta; Các biến thể và phát triển; Rủi ro và thực tế. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Trí tuệ nhân tạo: Bài 8 - Trương Xuân Nam TRÍ TUỆ NHÂN TẠOBài 8: Trò chơi đối kháng không xác địnhNội dung1. Khái niệm không xác định2. Lượng giá Minimax3. Thuật toán Alpha-Beta4. Các biến thể và phát triển5. Rủi ro và thực tế Trương Xuân Nam - Khoa CNTT 2Phần 1Khái niệm không xác định TRƯƠNG XUÂN NAM 3Phân loại trò chơi Chơi theo Thông tin lượt rõ ràng Chơi tự do Hai phía Trò chơi Thông tintổng quát mờ Nhiều phía Trương Xuân Nam - Khoa CNTT 4Phân loại chiến lược chơi Số hình trạng ít: Tính được trạng thái thắng- Số hình trạng nhiều – thua KHÔNG tách được thành trò chơi con: Không tínhtoán được (do quá nhiều), Số hình trạng nhiều – sử dụng máy tính để tính tách được thành các trò toán các bước đi chơi con: Tính trạng thái thắng thua bằng đồ thị tổng Trương Xuân Nam - Khoa CNTT 5Khái niệm không xác định Trò chơi đối kháng:  Hai người chơi  Quyền lợi đối lập nhau (zero-sum game) Trò chơi không xác định:  Số hình trạng quá nhiều, không thể tính toán kết cục thắng- thua  Không có định nghĩa rõ ràng việc thắng-thua Trương Xuân Nam - Khoa CNTT 6Phần 2Lượng giá Minimax TRƯƠNG XUÂN NAM 7Chiến lược chung Sử dụng công suất của máy tính mô phỏng các diễn biến có thể có của trò chơi Giới hạn chiều sâu để tránh bùng nổ tổ hợp Đưa ra một đánh giá (tương đối) cho hình trạng “cuối” Xây dựng chiến lược để “ép” đối phương đi vào hình trạng cuối có lợi cho máy tính Trương Xuân Nam - Khoa CNTT 8Lượng giá Minimax Gọi trạng thái hiện tại của trò chơi là S Hàm E(S) trả về số điểm đánh giá lợi thế của bên đi trước so với bên đi sau đối với S Diến biến trận đấu:  Ở lượt đầu tiên: người thứ nhất cố gắng chọn nước đi có E(S) lớn nhất (max)  Ở lượt thứ hai: người thứ hai cố gắng chọn nước đi để E(S) nhỏ nhất (min)  …. Trương Xuân Nam - Khoa CNTT 9Lượng giá Minimax Chiến lược chung: Tối thiếu hóa lựa chọn tốt nhất của đối phương (mini-max) 4 3 2 4 7 8 3 2 10 4 5 Trương Xuân Nam - Khoa CNTT 10Lượng giá Minimaxfunction MAX–VALUE(state) return a value if state as TERMINAL return EVALUTE(state) V = -∞ for s in SUCCESSORS (state) do V = MAX(V, MIN–VALUE(s)) return Vfunction MIN–VALUE(state) return a value if state as TERMINAL return EVALUTE(state) V = +∞ for s in SUCCESSORS (state) do V = MIN(V, MAX–VALUE(s)) return Vfunction MINIMAX(state) return an action V = MAX–VALUE(state) return action ứng với giá trị V Trương Xuân Nam - Khoa CNTT 11Phần 3Thuật toán Alpha-Beta TRƯƠNG XUÂN NAM 12Thuật toán Alpha-Beta (1/3) Trương Xuân Nam - Khoa CNTT 13Thuật toán Alpha-Beta (2/3) state = Trạng thái hiện thời trong trò chơi α = Giá trị của giải pháp tốt nhất cho MAX dọc theo đường đi tới state β = Giá trị của giải pháp tốt nhất cho MIN dọc theo đường đi tới statefunction MAX–VALUE(state, α, β) return a value if state as TERMINAL return EVALUTE (state) V = -∞ for s in SUCCESSORS (state) do V = MAX(V, MIN–VALUE(s, α, β)) if V >= β return V α = MAX(α, V) return V Trương Xuân Nam - Khoa CNTT 14Thuật toán Alpha-Beta (2/3)function MIN–VALUE(state, α, β) return a value if state as TERMINAL return EVALUTE (state) V = +∞ for s in SUCCESSORS (state) do V = MIN(V, MAX–VALUE(s, α, β)) if V Hoạt động của alpha-beta Nguyên tắc: Khi đã tìm được nước đi m điểm Phía MAX: Chỉ tìm những nước đi tốt hơn (từ m+1 trở lên) Phía MIN: Chỉ tìm nước đi tệ hơn (từ m-1 trở xuống) Trương Xuân Nam - Khoa CNTT 16Hoạt động của alpha-beta Trương Xuân Nam - Khoa CNTT 17Hoạt động của alpha-beta Trương Xuân Nam - Khoa CNTT 18Thuật toán Alpha-Beta chuẩnThuật toán có thể được hiệu chỉnh ngắn gọn hơn như saufunction alphabeta(state, depth, α, β) if depth=0 return EVALUTE (state) if state as TERMINAL return EVALUTE (state) for s in SUCCESSORS (state) do α = max(α, -alphabeta(s, depth-1, -β, -α)) if β ≤ α break return αfunction α-β(state) return an action V = alphabeta(state, depth, -∞, +∞) return action ứng với giá trị V Trương Xuân Nam - Khoa CNTT 19Đánh giá Alpha-Beta Thuật toán Minimax đòi hỏi phải xét toàn bộ cây trò chơi (giới hạn độ sâu d): bd Thuật toán Alpha-Beta:  Trường hợp tốt nhất: bd/2  Trường hợp trung bình: b3d/4  Trường hợp kém nhất = Minimax Kết quả của 2 thuật toán là như nhau Trương Xuân Nam - Khoa CNTT 20 ...

Tài liệu được xem nhiều: