Trong quá trình chơi trạng thái của bàn chơi thay đổi liên tục bởi một nước đi của một trong hai đối thủ.. Ta có thể biểu diễn các trạng thái này dưới dạng cây tìm kiếmcây trò chơi.. Mỗi
Trang 1Báo cáo trí tuệ nhân tạo
Đề tài: Trò chơi Ô ăn quan
Nhóm sinh viên thực hiện:
Lê Trọng Quân Nguyễn Văn Phú
Lê Thanh Tùng Phạm Đăng Đô Nguyễn Ngọc Quang Phạm Minh Nhật Giảng viên : ThS Phạm Văn Hải
Trang 2Nội dung trình bày
Giới thiệu bài toán
Công nghệ sử dụng
Chiến lược tìm kiếm
Kỹ thuật lượng giá
Hướng tìm kiếm và phát triển
Tài liệu tham khảo
Trang 3Giới thiệu bài toán
“Ô ăn quan” là một trò chơi dân gian Việt Nam Game có thể chơi 2 người, 3 người, hay 4 người Đề tài thực hiện game 2
người chơi
Bàn chơi thành 2 bên, mỗi bên nắm giữ 5
ô, mỗi ô 5 sỏi và được phép rải sỏi trên 5 ô này theo 1 trong 2 hướng Có 2 quan ở 2 đầu không có sỏi
Trang 4 Hình ảnh trò chơi
Trang 5Công nghệ sử dụng
• Ngôn ngữ lập trình: java
• IDE: eclipse
• Xây dựng cây trò chơi Minimax sử dụng giải thuật cắt tỉa Alpha - Beta
Trang 6Chiến lược tìm kiếm
Cây trò chơi.
Trong quá trình chơi trạng thái của
bàn chơi thay đổi liên tục bởi một nước
đi của một trong hai đối thủ Ta có thể biểu diễn các trạng thái này dưới dạng cây tìm kiếm(cây trò chơi) Mỗi trạng thái là một nút của cây Mỗi lá là giá
trị của hàm tiện ích
Trang 7Chiến lược tìm kiếm
Chiến lược Minimax
oĐược xác định bằng giá trị Minimax tại mỗi nút trong cây biểu diễn trò chơi
oMax chọn nước đi ứng với giá trị
Minimax cực đại
oMin chọn nước đi ứng với giá trị
Minimax cực tiểu
Trang 8Chiến lược tìm kiếm
Quy tắc truyền giá trị.
1. Nếu lượt đi node cha là max thì các
node con có lượt đi là min Giá trị của node cha là max của các giá trị node con
2. Nếu lượt đi node cha là min thì các
node con có lượt đi là max Giá trị của node cha là min của các giá trị node con
Trang 9 Ví dụ cây trò chơi sử dụng chiến lược Minimax
Trang 10Chiến lược tìm kiếm
Trong cây trò chơi trên thì:
Các nút lá được gán các giá trị
heuristic
Giá trị các nút trong xác định nhờ chiến lược Minimax
Trang 11Chiến lược tìm kiếm
Phương pháp cắt tỉa α –β
1 Tìm kiếm theo kiểu DFS
2 Nút max có một giá trị α (luôn tăng)
3 Nút min có một giá trị β (luôn giảm)
Tìm kiếm có thể kết thúc nếu:
Nút min nào có giá trị β≤ α của bất kỳ nút cha max nào.
Nút max nào có giá trị α≥ β của bất kỳ nút cha min nào.
Trang 12Chiến lược tìm kiếm
Cắt tỉa α
Max S= α
Min A= α Z
α-Cắt =z ≤α
Trang 13
Chiến lược tìm kiếm
Cắt tỉa β.
Min S= β
Max A=β Z
β-cắt
=z ≥ β
Trang 14Kỹ thuật lượng giá
Hàm lượng giá sẽ xác định như sau:
Utility(n) = Eval-Max(n) – Eval-Min(n).
Trong đó:
Utility(n) là giá trị hàm tiện ích trả về với lựa chọn n, độ sâu tìm kiếm m.
Eval-Max(n): số sỏi thu được của MAX sau m bước
Eval-Min(n): số sỏi thu được của MIN sau m bước
Trang 15Kỹ thuật lượng giá
Cụ thể hàm lượng giá tính như sau:
Số sỏi ăn được của MAX sau mỗi lượt đi được đưa vào Eval-Max(n).
Số sỏi ăn được của MIN sau mỗi lượt đi của MIN được đưa vào Eval-Min(n).
Sau khi kết thúc m nước đi, tính giá trị
Utility(n) của lựa chọn n là hiệu số giá trị Eval-Max(n) và Eval-Min(n).
Trang 16Hướng cải tiến và phát triển
Xây dựng trò chơi đa dạng về luật chơi hơn, phù hợp với từng vùng miền.
Cải tiến hàm lượng giá giúp nâng cao sự thông minh của máy
Trang 17Tài liệu tham khảo
Slide bài giảng thầy Phạm Văn Hải
Slide bài giảng thầy Nguyễn Nhật Quang
Computer Science Game Trees -
http://www.ocf.berkeley.edu/~yosenl/extras/al phabeta/alphabeta.html