intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Conbongungoc09 | Ngày: | Loại File: PDF | Số trang:31

42
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

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

  1. TRÍ TUỆ NHÂN TẠO Bài 8: Trò chơi đối kháng không xác định
  2. Nội dung 1. Khái niệm không xác định 2. Lượng giá Minimax 3. Thuật toán Alpha-Beta 4. Các biến thể và phát triển 5. Rủi ro và thực tế Trương Xuân Nam - Khoa CNTT 2
  3. Phần 1 Khái niệm không xác định TRƯƠNG XUÂN NAM 3
  4. Phâ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 tin tổng quát mờ Nhiều phía Trương Xuân Nam - Khoa CNTT 4
  5. Phâ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ính toá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 5
  6. Khá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 6
  7. Phần 2 Lượng giá Minimax TRƯƠNG XUÂN NAM 7
  8. Chiế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 8
  9. Lượ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 9
  10. Lượ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 10
  11. Lượng giá Minimax function 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 V 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)) return V function MINIMAX(state) return an action V = MAX–VALUE(state) return action ứng với giá trị V Trương Xuân Nam - Khoa CNTT 11
  12. Phần 3 Thuật toán Alpha-Beta TRƯƠNG XUÂN NAM 12
  13. Thuật toán Alpha-Beta (1/3) Trương Xuân Nam - Khoa CNTT 13
  14. Thuậ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 state function 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 14
  15. Thuậ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
  16. 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 16
  17. Hoạt động của alpha-beta Trương Xuân Nam - Khoa CNTT 17
  18. Hoạt động của alpha-beta Trương Xuân Nam - Khoa CNTT 18
  19. Thuật toán Alpha-Beta chuẩn Thuật toán có thể được hiệu chỉnh ngắn gọn hơn như sau function 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
  20. Đá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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2