Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
495,46 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Trí tuệ nhân tạo Xây dựng game cờ vua Thành viên nhóm 12: 1. Nhữ Đình Đức MSSV: 20101421 2. Nguyễn Duy Phương MSSV: 20102001 3. Lê Đại Cát MSSV: 20101151 4. Trần Sỹ Đạt MSSV: 20101365 5. Đào Văn Khang MSSV: 20101694 6. Đoàn Đại Nghĩa MSSV: 20101932 Game Cờ Vua Mục tiêu của nhóm Mô phỏng trò chơi cờ vua với luật chơi quốc tế đã biết. Áp dụng AI vào trò chơi để máy có thể chơi với người. Thiết kế chương trình – Biểu đồ Usecase Cấu trúc chương trình Dữ liệu Giải thuật Dữ liệu + Quân cờ: Vị trí (Coord), Trắng / Đen, Loại (Tốt, Xe, …),các giá trị phục vụ cho hàm lượng giá + Slot (Ô bàn cờ): Quân cờ và vị trí + Bàn cờ: Quân cờ[], Slot[][], Bảng bít (Bảng 8 * 8 các giá trị bit (0 / 1) cho biết slot có thể ăn (di chuyển tới) hay không) Giải thuật Minimax Alpha – Beta cắt tỉa MiniMax + Thuật toán được áp dụng trong các trò chơi đối kháng. + 2 đối thủ luân phiên đi, 1 đối thủ (Min) sẽ đi các nước nhằm cực tiểu hóa giá trị của mình, đối thủ kia (Max) sẽ đi các nước nhằm cực đại hóa giá trị của mình Alpha-beta cắt tỉa - MiniMax: Sẽ phải duyệt qua tất cả các bàn cờ có thể sinh ra Bất khả thi. - Alpha- Beta cắt tỉa là mở rộng của Minimax - Ý tưởng của tìm kiếm Alpha-Beta cắt tỉa : - + Với mỗi nhánh tìm kiếm không thể cải thiện đối với giá trị đã có thì không cần xét tới nhánh tìm kiếm đó nữa - + Việc loại bỏ một nhánh tìm kiếm tồi sẽ không ảnh hưởng tới kết quả cuối cùng của việc tìm kiếm Ví dụ Alpha – Beta cắt tỉa [...]...Ví dụ Alpha – Beta cắt tỉa Ví dụ Alpha – Beta cắt tỉa Ví dụ Alpha – Beta cắt tỉa Hàm lượng giá • Kết quả trò chơi phụ thuộc rất nhiều vào hàm lượng giá • Đánh giá: Hàm lượng giá phụ thuộc vào rất nhiều các yếu tố • Nhóm sẽ xây dựng 3 yếu tố 3 chiến lược định giá hàm lượng giá khác nhau Chiến lược 1: Định lượng giá trị cho quân cờ • Mỗi một quân cở trên bàn cờ sẽ có một giá trị khác nhau,... mức độ quan trọng của quân đó trên bàn cờ • 2 bên sẽ có giá trị quân cờ đối ngược nhau: - Bên trắng sẽ mang giá trị quân cờ dương - Bên đen sẽ mang gia trị quân cờ âm • Việc định trị của bàn cờ sẽ là tổng của tất cả giá trị các quân cờ còn tồn tại trên bàn cờ • Mục đích của chiến lược: - Giúp máy có xu hướng ăn quân địch hoặc đổi quân có giá trị lớn hơn nhằm tạo ưu thế hơn - Giúp máy phong thủ, chạy... quân cờ Ví dụ: 1 trạng thái bàn cờ Giá trị hàm lượng giá Evaluation = ∑ Giá trị quân trắng + ∑ Giá trị quân đen = 1000000 + 6 * 100 + 2 * 300 + 2 * 350 + 2* 600 + 1000 + -1000000 + 7 * -100 + 2 * -300 + 2 * -350 + 2* -600 + -1000 = -100 Quân đen đang chiếm ưu thế hơn Chiến lược 2: Định lượng mức độ quản lý bàn cờ • Ta sẽ đưa vào giá trị cho các nước đi có thể của quân cờ nhằm “khuyến khích” quân cờ. .. giá trị cho các nước đi có thể của quân cờ nhằm “khuyến khích” quân cờ đi vào vị trí có khả năng quản lý càng nhiều ô càng tốt • Tính toán cho hệ số quản lý bàn cờ : ways * mCo; Ways : số nước có thể di chuyển tới mCo : hệ có giá trị trên một nước đi Chiến lược 2: Định lượng mức độ quản lý bàn cờ Ví dụ: 1 trạng thái bàn cờ Giá trị hàm lượng giá Evaluation = ∑ Giá trị quân trắng + ∑ Giá trị quân đen... quản lý bàn cờ tốt hơn Chiến lược 3: Chống đi vào vùng nguy hiểm • Vấn đề chiến lược quản lý bàn cờ: Quân cờ sẽ đi vào vùng có thể quản lý bàn cờ tốt hơn bất chấp nước đó dẫn đến việc bị bắt • Giải quyết: Kiểm tra trạng thái của nước đi, nếu nước đi đó dẫn đến việc bị ăn thì sẽ cộng thêm một lượng điểm trái dấu tương ứng với nó Chiến lược 3: Chống đi vào vùng nguy hiểm Ví dụ: 1 trạng thái bàn cờ Giá trị... chiếm ưu thế Kết quả đạt được • Bảng so sánh các giá trị Minimax và Alpha - Beta cắt tỉa • Mô phỏng thành công trò chơi, máy có AI khá thông minh Hướng phát triển • • • Cải tiến hàm lượng giá Máy có AI thông minh hơn Giải quyết một vài trường hợp: Phong hậu, … Cải tiến để thêm luật Phát triển chơi qua mạng Demo chương trình! . Cờ Vua Mục tiêu của nhóm Mô phỏng trò chơi cờ vua với luật chơi quốc tế đã biết. Áp dụng AI vào trò chơi để máy có thể chơi với người. Thiết kế chương trình – Biểu đồ Usecase Cấu trúc chương. chương trình Dữ liệu Giải thuật Dữ liệu + Quân cờ: Vị trí (Coord), Trắng / Đen, Loại (Tốt, Xe, …),các giá trị phục vụ cho hàm lượng giá + Slot (Ô bàn cờ) : Quân cờ và vị trí + Bàn cờ: Quân cờ[ ],. mình Alpha-beta cắt tỉa - MiniMax: Sẽ phải duyệt qua tất cả các bàn cờ có thể sinh ra Bất khả thi. - Alpha- Beta cắt tỉa là mở rộng của Minimax - Ý tưởng của tìm kiếm Alpha-Beta cắt tỉa : - +