Tải bản đầy đủ (.pptx) (23 trang)

slike thuyết trình báo cáo môn trí tuê nhân tạo áp dụng thuật toán alpha-beta cắt tỉa trong chương trình cờ vua

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.94 MB, 23 trang )

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, phụ
thuộc 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 khi bị nguy hiểm
Chiến lược 1: Định lượng giá trị cho 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ờ đ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 +
∑ Số nước đi có thể * Hệ số trên mỗi
bước đi của quân trắng +
∑ Số nước đi có thể * Hệ số trên mỗi
bước đi của quân đen
= 1000000 + 6 * 100 + 2 * 300 + 2 * 350 + 2* 600 + 1000 +
-1000000 + 7 * -100 + 2 * -300 + 2 * -350 + 2* -600 + -1000 +
1 * 0 + 4 * 1 + 7 * 2 + 12 * 1 + 4 * 1 + 6 * 1 +
1 * 0 + 14 * -1 + 10 * -2 + 0 * -1 + 1 * -1 + 10 * -1= -85
 Quân đen đang chiếm ưu thế hơn, 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ị hàm lượng giá
Evaluation =
∑ Giá trị quân trắng + ∑ Giá trị quân đen +
∑ Số nước đi có thể * Hệ số trên mỗi
bước đi của quân trắng +
∑ Số nước đi có thể * Hệ số trên mỗi
bước đi của quân đen +
∑ Điểm trừ cho quân trắng +
∑ Điểm trừ cho quân đen
= 1000000 + 6 * 100 + 2 * 300 + 2 * 350 + 2* 600 + 1000 +
-1000000 + 7 * -100 + 2 * -300 + 2 * -350 + 2* -600 + -1000 +
1 * 0 + 4 * 1 + 7 * 2 + 12 * 1 + 4 * 1 + 6 * 1 +
1 * 0 + 14 * -1 + 10 * -2 + 0 * -1 + 1 * -1 -
(0 * 50 + 2 * 5 + 1 * 20 + 0 * 20 + 0 * 25 + 0 * 40) +
(0 * -50 + 0 * -5 + 0 * -20 + 0 * -20 + 0 * -25 + 0 * -40) = -115
 Quân đen đang 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!

×