CHƯƠNG 4: CÁC KẾT QUẢ ĐẠT ĐƯỢC

Một phần của tài liệu Xây dựng chương trình trí tuệ nhân tạo cho trò chơi cờ vua (Trang 26 - 35)

4.1 Thực hiện chương trình

Giao diện trạng thái ban đầu: Một bàn cờ vua có 2 bên trắng và đen. Người dùng có thể chọn tự chơi với bot hay chọn để cho engine tự chơi với nhau thông qua các phím với các cấp độ khác nhau.

Sơ đỗ phím:

ô Enter: choi van mdi

ô R:danh hộ ngudi choi bang nudc co ngau nhiộn

ô M: danh hộ ngudi choi bang thuat todn minimax

ô A: danh hộ ngudi choi bang thuat toan alpha-beta

ô |: đỏnh hộ người chơi bằng thuật toỏn lặp sõu -ồ _P; đánh hộ người chơi bằng thuật toán PVS

ô Z: hoàn tỏc nước đi cuối của người choi va bot

25

Nguyễn Dức Bảo — Mã SƯ: 95057 Lê Anh Tú — Mã SV: 95213

Dương Xuân Hợp — Mã SV: 96645

ô F: choi van mdi ty ma FEN trong bang tam (clipboard)

¢ 1-9; đặt thời gian tối da cho bot bên đen lần lượt từ 1 đến 9 giây (mặc định là 5 giây)

ô 0: bd gidi hạn thời gian cho bot bờn đen

ô “a “~“: đặt thời gian tối đa cho bot bờn đen là 0.1 giõy

ệQ Cờ vua siờu cấp VIP Pro _ o x

Hình 4.1 Giao điện ban đầu của chương trình

Sau đó, người chơi có thé bat dau chơi băng việc di chuyên quân trắng, các nước di được phép sẽ hiện lên trên bàn cờ:

26

Hình 4.2 Hiện các bước đi cờ vua

Khi một trong 2 bên chiếu hết, trò chơi kết thúc và sẽ có thông báo hiển thị

game over:

Hình 4.3 Kết thúc ván cờ bên trắng thắng 27

Nguyễn Dức Bảo — Mã SƯ: 95057 Lê Anh Tú T— Mã SV: 95213

Dương Xuân Hợp — Mã SV: 96645

Ố) Cð vua siêu cấp VIP Pro a

pre

Rd | be > >

> [0

(ne | 5 | SS ee

Hinh 4.4 Tot trang phong hau khi dén cuou ban co 4.2 Danh gia chuong trinh

Về cơ bản, nhóm đã thực hiện thành công việc tạo 1 chess bot AI có khả

năng tìm được các nước đi được cho là tốt nhất dựa trên thuật toán Minimax và

cắt tỉa alpha - beta, nó có thể tìm được đường đi tốt nhất dựa vào việc đánh giá

các nước đi tiếp theo của đối thủ, từ đó chọn cho mình nước đi tối ưu.

Bot AI

thực hiện được các nước đi cơ bản như ăn quân, nhập thành, chiếu hết.

Với thuật toán lặp sâu và PVS, độ sâu tìm kiếm dao động trong khoảng từ 3 đến độ sâu tối đa (5 đối với lặp sâu và 7 đối với PVS), phụ thuộc vào giới hạn thời gian.

28

4.3 So sánh thuật toán

Để tiện so sánh thuật toán, nhóm đã đặt tên cho chương trình là:

“Siéu cap VIP Pro”.

Do bot này cài đặt đồng thời cả thuật toán minimax, alpha-beta, lặp sâu và PVS, ta sẽ tiến hành so sánh các thuật toán này bằng cách cho bot đấu với nhau với các thuật toán khác nhau. Nhờ có giao thức UCI, ta có thể sử dụng phần mềm bên thứ ba để kết nối bot của mình với các bot cờ vua khác. Ở đây, ta sẽ dùng phần mềm Banksia GUI (https://banksiagui.com/) để tổ chức đấu giải cho các bot cờ vua.

Các bot tham gia:

ô - Siờu cấp VIP Pro (ngẫu nhiờn)

ô _ Siờu cấp VIP Pro (alpha-beta): minimax cải tiến, thờm cắt tỉa alpha-beta

ô - Siờu cấp VIP Pro (lặp sõu): alpha-beta nhưng lặp từ độ sõu 1, 2 cho đến khi hết thời gian, có bảng trạng thái

ô - Siờu cấp VIP Pro (PVS): lặp sõu với 1 số cải tiến: tỡm kiếm phương ỏn chớnh

(PVS), giảm bớt nước đi cuối, tìm kiếm yên ổn, nước đi huý diệt và mở rộng tìm kiếm

Vì thuật toán alpha-beta trả về kết quả giống như minimax nhưng nhanh hơn nên thuật toán minimax sẽ không được tính đến.

Thiết lập thi đấu:

ô - Mỗi cặp bot sẽ đõu với nhau 20 vỏn cờ

ô - Mỗi vỏn cờ cú giới hạn thời gian là 3 phỳt cho mỗi 80 nước, cộng 0,01 giõy cho mỗi nước.

Kết quả thi dau:

Bảng 4.1 Kết quả tổng quan

Hạn Tên Ván Thắn Ho Thu Điể El + -

9 cờ g à a m o

1 Siéu cap VIP 60 50 5 5 52.5 33 89 76 29

Nguyễn Đúc Bảo — Mã SV: 95057 Lê Anh Tú — Ma SV: 95213 Dương Xuân Hợp — Mã SV: 96645

Pro (PVS) 2 Siêu cấp VIP

Pro (alphabeta) 3 Siéu cap VIP

Pro (lap sau) 4 Siéu cap VIP

Pro (ngau nhién)

Bang

Han Tén

1 Siêu cấp VỊP Pro (PVS)

2 Siéu cap VIP Pro (alphabeta) 3 Siêu cấp VIP Pro

(lặp sâu)

4 Siêu cấp VIP Pro (ngẫu nhiên)

7

60 37 7 16 40.5 18 74 73 0

60_ 25 4 31 27.0 3 75 82

60 0 0 60 0.0 - 13 25

51 1 6 9

4.2 Kết quả đối chiếu chéo

Elo + - Điể Ván PV Alphab Lặp Ngẫu m co § eta sâu nhiên 33 89 76 52.560 13.0 19.5 20.0 7

18 747340.560 7.0 13.5 20.0 0

3 758227.060 056.5 20.0

- 13250 60 0.00.0 0.0 511 6

9

Bảng 4.3 Thống kê ki thuật

ST Tên Kilo

T nút/nư

Oc 1 Siêucấp 7

VIP Pro (alphabeta )

2 Siêucấp 6

VIP Pro

(lap sau) 3 Siéucap 0

VIP Pro

(ngau nhién) 4 Siêucấp 11

VIP Pro (PVS)

Nut/ DO Thời Nước/ Thời Hỏn giây sâu/nư gian/nư ván gian/v g

6c 6c an

6885 4.0 1.1 44.2 46.8 0

2712 4.2 2.1 46.1 96.6 0

0 0.0 0.0 0.0 0.0 0

4174 4.4 2.7 44.3 119.9 0

30

4.4 Đánh giá trình độ

Tương tự như so sánh thuật toán, ta sẽ dùng Banksia GUI để tổ chức đấu giải cho Siêu cấp VIP Pro với các bot cờ vua khác.

Hệ số Elo chuẩn được lấy từ CCRL Blitz

(https:/computerchess.org.uk/ccr1/⁄404/rating_list_allhtml) và CCRL 40/2 Archive

(https://computerchess.org.uk/ccri/402.archive/rating_Iist_all.htmI).

Bảng 4.4 Các bot tham gia

ST Tên Quốc Ngôn ngữ Phiên bản /

T gia lập trình ngày tháng

năm

1. Acqua Y Harbour v2.0

2 AnMon Pháp C v5.75

3 Catto Việt TypeScript v0.12.5 Nam

4. Leela Chess C++ v0.31.1

Zero (LcO)

5 POS Ha C 29/12/2008

Lan

6 Sayuri Nhat C++ 23/5/2018

Ban

7. Siéucap VIP Việt Python 05/11/2024

Pro Nam

8. Stockfish C++ v17

9. UltraBrick Y Python 5/11/2024

Thiết lập thi đấu:

- Mỗi cặp bot sẽ đấu với nhau 7 ván cờ

Hệ số

Elo chuan

~504 2502

~3725 353 1739

3810

ô Moi van co c6 gidi han thdi gian la 2 phUt cho mdi 80 nudc, cộng 1 giây cho mỗi nước.

ô Cỏc bot khụng được suy nghĩ trong lượt đối phương (ponder) Kết quả thi đấu:

Bảng 4.5 Kết quả tổng quan

Hạn Tên Ván Thắ Ho Thu Điể Elo + -

31

Nguyễn Đúc Bảo — Mã SV: 95057 Lé Anh Tu — Ma SV: 95213 Duong Xudn Hop — Ma SV: 96645

g

1 Stockfish

2 Lc0

3 AnMon

4 Sayuri

5 Catto

6 Siêu cấp VIP

Pro

7 UltraBrick

8 Acqua

9 POS

Hạn Tên g

1 Stockfish

2 Lc0

3 AnMon

4 Sayuri

5 Catto

6 Siéu cap VIP Pro

7 UltraBrick 8 Acqua

cờ 56 56 56 56 56 56

56

56

56

Elo + 800 17

5 64713

5 39212

2 20812

0 -57 11

3 - 11 2241

595 4

ng a 53 3

4A8 4

41 2 35 1 25 2 18 3

15 5

7 0

0 0

a

13 20 29 35

36

49

56

- Điể Ván 1

m cờ 13 54.5 56 6

12 50.0 56 1.

3 5

12 42.0 56 0.

0 0

11 35.5 56 0.

7 0

11 26.0 56 0.

2 0

11 19.5 56 0.

4 0

11 17.5 56 0.

4 0

157.0 56 0.

5 0

32

2

ao ooooo0oo0000U)90

54.5 50.0 42.0 35.5 26.0 19.5

17.5

7.0

0.0

Bảng 4.6 Kết quả đôi chiếu chéo

wW > gi 0 ` œ to

{œ ©d ©©GCCCCccuưo œ@œ >> ©©C©CCCocc SCC`ĐCC

ONONONONO™N oourF Anonon On On On

oo ONONONONONONONON

9 POS - 17 300 56 0.0.0.0. 0.0.0.0.

9076 0 0000000 0

Các cột từ 1 đến 9 tương ứng với các bot cờ vua từ hạng 1 đến hạng 9,

4.5 Đánh giá hệ số Elo

Nhóm đã sử dụng giao thức UCI để kết nối bot cờ vua với tài

khoản siew cap _vip_pro_ bot (https://lichess.org/@/sieu_cap_vip_pro_bot) trén Lichess — 1 nén tang co vua tryc tuyén hé trợ bot.

Sau hơn | tuan ghép cap véi các bot cờ vua trén Lichess, tinh dén ngay 05/11/2024, ta có kết quả sau đây:

Bảng 4.8 Đánh giá elo

Thể loại cờ Giới hạn thời Số ván đã Hệ số ELO trên

gian chơi Lichess

Co dan (bullet) <3 phút 66 1517 Co chép (blitz) — 8§ đến § phút 120 1319

Cờ nhanh 8 tới 25 phút 60 1415

(rapid)

Tat ca 246 1417

4.6 Diém yéu can khac phuc

- Chương trình có giao diện còn đơn giản, ít chế độ khi chơi như không cho chọn 2 người chơi hay 1 người chơi, không cho chọn độ khó của bot.

- Chương trình chưa tối ưu được thời gian tính toán ở độ sâu lớn. Nếu chọn độ sâu tìm kiếm là 4 thì sẽ tốn rất nhiều thời gian tinh toan cho nước đi tiếp theo và tốn rất nhiều tài nguyên của máy tính, do đó

trong tương lai cần phải tìm cách tối ưu hóa giải thuật.

33

Nguyễn Dức Bảo — Mã SƯ: 95057 Lê Anh Tú T— Mã SV: 95213

Dương Xuân Hợp — Mã SV: 96645

Một phần của tài liệu Xây dựng chương trình trí tuệ nhân tạo cho trò chơi cờ vua (Trang 26 - 35)

Tải bản đầy đủ (PDF)

(37 trang)