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
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 ...
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ìm kiếm theo từ khóa liên quan:
Bài giảng Trí tuệ nhân tạo Trí tuệ nhân tạo Trò chơi đối kháng không xác định Lượng giá Minimax Thuật toán Alpha-Beta Phân loại chiến lược chơiGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 439 0 0 -
7 trang 229 0 0
-
Kết quả bước đầu của ứng dụng trí tuệ nhân tạo trong phát hiện polyp đại tràng tại Việt Nam
10 trang 186 0 0 -
6 trang 174 0 0
-
Xu hướng và tác động của cách mạng công nghiệp lần thứ tư đến môi trường thông tin số
9 trang 165 0 0 -
9 trang 157 0 0
-
Tìm hiểu về Luật An ninh mạng (hiện hành): Phần 1
93 trang 151 0 0 -
Luận văn tốt nghiệp: Ứng dụng trí tuệ nhân tạo trong xây dựng GAME
0 trang 129 0 0 -
Xác lập tư cách pháp lý cho trí tuệ nhân tạo
6 trang 128 1 0 -
Chuyển đổi số: cơ sở và ứng dụng
18 trang 122 0 0