1. Trang chủ
  2. » Công Nghệ Thông Tin

báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java

22 3,8K 27

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 398,31 KB

Nội dung

Đây cũng là một chiến lược tìm kiếm trong trítuệ nhân tạo ứng dụng để máy tính có thể thực hiện các trò chơi thông minh như con người.Các trạng thái bàn cờ khác nhau trong quá trình chơi

Trang 1

Đinh Tiến Sĩ – Phan Văn Thìn – Lâm Viết Tùng – Đinh Văn Đông – Nguyễn Anh Dũng – Lê Minh Đức

Sinh viên thực hiện:

Nguyễn Anh Dũng MSSV: 20090572 Đinh Văn Đông MSSV: 20090755 Phan Văn Thìn MSSV: 20093692

Lê Minh Đức MSSV: 20090787 Lâm Viết Tùng MSSV: 20093097

Đinh Tiến Sĩ MSSV: 20092222

Nhóm thực hiện: Nhóm 10

Giảng viên hướng dẫn : TS Phạm Văn Hải

Chương Trình Chơi Cờ Tướng Tự Động

Sử Dụng Giải Thuật Alpha-Beta Pruning

TRÍ TUỆ NHÂN TẠO

Bài Tập Lớn

Hà Nội, 07-2013

VI N CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG ỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ỀN THÔNG

*

Trang 2

M ỤC C L ỤC C

Thông Tin Chung 3

Danh Mục Bảng Biểu 4

Danh Mục Hình Ảnh 4

Lời Nói Đầu 5

Phần 1: Khảo Sát Và Đặc Tả Yêu Cầu Bài Toán 6

1.1 Mục đích 6

1.2 Mục tiêu 6

1.3 Vấn đề, yêu cầu bài toán 6

Phần 2: Phân Tích Và Thiết Kế Bài Toán 8

2.1 Giải quyết các mục tiêu đặt ra với người chơi 8

Xây dựng bàn cờ 8

xử lý sự kiện click chuột 10

2.2 Giải quyết các mục tiêu đặt ra với máy 10

Xây dựng luật đi hợp lệ cho các quân cờ 10

Tìm kiếm nước đi tối ưu trên cây nước đi 13

Phần 3: Công nghệ và thuật toán sử dụng 14

3.1 Thuật toán minimax, alpha-beta 14

3.2 Hàm lượng giá thế cờ 19

Phần 4: Xây Dựng Chương Trình Minh Họa 20

4.1 Xây dựng chương trình minh họa 20

4.2 Kết quả 21

Phần 5: Kết Luận Và Hướng Phát Triển 22

5.1 Kết Luận 22

5.2 Hướng Phát Triển 22

Tài Liệu Tham Khảo 23

THÔNG TIN CHUNG

Trang 3

1 Sinh viên thực hiện

Nguyễn Anh Dũng MSSV: 20090572

Đinh Văn Đông MSSV: 20090755

Phan Văn Thìn MSSV: 20093692

Lâm Viết Tùng MSSV: 20093097

Đinh Tiến Sĩ MSSV: 20092222 nhóm trưởng

2 Phân công công việc và các nhiệm vụ cụ thể

phân tích, thiết kế và code chương trình, viết báo cáo

giá, tìm hiểu về thuật toán alpha beta

giá, tìm hiểu về thuật toán alpha beta

thuật toán alpha Beta

thuật toán alpha Beta

cách xây dựng luật đi của cờ tướng

Bảng 1: Bảng phân công công việc và các nhiệm vụ cụ thể

DANH M ỤC C B ẢNG NG BI U ỂU

Bảng 1: Bảng phân công công việc và các nhiệm vụ cụ thể 3

Bảng 2 : Thông tin về số hướng, nước có thể đi của mỗi quân cờ 11

Bảng 3: Bảng giá trị các quân cờ 19

Bảng 4: Bảng kết quả khi chạy thử chương trình 21

Trang 4

Bảng 5: Kết luận 22

Bảng 6: Hướng phát triển chương trình 22

DANH M ỤC C HÌNH ẢNGNH Hình 1: Mục Tiêu Của Bài Toán 6

Hình 2: Các bước thực hiện bài toán 7

Hình 3: Khung bàn cờ 8

Hình 4: Bàn cờ hoàn chỉnh 9

Hình 5: Luật đi hợp lệ của các quân cờ 11

Hình 6: Cây nước đi trong mỗi lần đi 14

Hình 7: Thuật toán alpha-beta 17

Hình 8: Cây nước đi cụ thể 18

Hình 9: Hiệu quả của hàm alphabeta 18

Hình 10: Hình ảnh chương trình minh họa 20

LỜI NÓI ĐẦU

Cờ tướng (phiên âm Hán Việt là Tượng Kỳ tức “cờ hình tượng”), hay còn gọi là cờ Trung Quốc vì nó được phổ biến ra thế giới từ Trung Quốc và cũng được coi là “quốc hồn quốc túy” của nước này (nhưng theo phương Tây thì nó có nguồn gốc từ Ấn Độ), là một trò chơi trí tuệ dành cho hai người, là loại cờ được phổ biến nhất thế giới cùng với cờ vua

Trang 5

Tại Trung Quốc, cờ tướng được biết đến từ thế kỷ thứ 4 TCN.

Mỗi ván cờ được tiến hành giữa hai người, một người cầm quân trắng (hay đỏ), một ngườicầm quân Đen (hay xanh lá cây) Mục đích của mỗi người là tìm cách đi quân trên bàn cờ theođúng luật để chiếu bí hay bắt tướng của đối phương và giành thắng lợi

Việc xây dựng chương trình mà máy tính có thể chơi cờ tướng với người chơi thông thường

có thể chuyển về một dạng bài toán tìm kiếm đặc biệt: tìm kiếm đường đi đến các điểm caonhất giữa hai đấu thủ hay là tìm kiếm Minimax Đây cũng là một chiến lược tìm kiếm trong trítuệ nhân tạo ứng dụng để máy tính có thể thực hiện các trò chơi thông minh như con người.Các trạng thái bàn cờ khác nhau trong quá trình chơi có thể biểu diễn thành một cây tìm kiếm

và ta sẽ tiến hành tìm kiếm trên cây để tìm được nước đi tốt nhất

Việc mô phỏng làm cho máy tính có thể chơi cờ tướng như con người không chỉ giúp tahình dung rõ ràng hơn về môn học trí tuệ nhân tạo cụ thể hơn là mảng tìm kiếm mà còn có giúpchúng ta hiểu hơn về việc áp dụng lập trình hướng đối tượng vào các game đối kháng Đây cũng

là mong muốn của chúng em khi học môn trí tuệ nhân tạo

Để hoàn thành bài tập lớn này, chúng em xin được gửi lời cảm ơn chân thành tới :

Thầy giáo hướng dẫn T.S Phạm Văn Hải, giảng viên khoa hệ thống thông tin đã giúp đỡ,

hướng dẫn, chỉ dạy để chúng em hoàn thành được bài tập lớn này

Trang 6

1.2 MỤC C TIÊU

Từ yêu cầu đặt ra ta cần xây dựng chương trình chơi cờ tướng với tính năng, và chức năngnhư sau :

Hình 1: Mục Tiêu Của Bài Toán

1.3 VẤN N ĐỀN THÔNG, YÊU C U ẦU BÀI TOÁN

Chương trình chơi cờ tướng phải đảm bảo yêu cầu :

 Tạo ra môi trường là bàn cờ và các quân cờ cho hai đấu thủ người chơi và máy tính

 Sinh nước đi tự động đến lượt máy đi bằng việc đánh giá điểm khi đi thử từng quân cờ, lấy điểm quân cờ mà đạt giá trị cao nhất và thực hiện nước đi đó

 Sau đó đến lượt người chơi, thực hiện nước đi của mình

 Chương trình cứ tiếp tục lặp như vậy cho đến khi người chơi nhấn thoát khỏi chương trình hoặc xác định được người chiến thắng

Có thể chia công việc chi tiết như sau :

 Tạo ra môi trường cho người chơi và máy tính là quân cờ và bàn cờ

 Thực hiện các công việc sau đến khi người chơi dừng chơi hoặc xác định được người chiến thắng : sinh nước đi

 Đánh giá một thế cờ

 Xử lý một nước đi thử

 Tìm kiếm alpha-beta

người chơi

thao tác chơi thông qua

sự kiện click chuột

cập nhật thông tin và thay đổi tham số biến người chơi

máy tính

thực hiện tính toán và chọn ra nước chơi hợp

lý nhất (sử dụng thuật toán AlphaBeta)

cập nhật thông tin và thay đổi tham số biến người chơi

Trang 7

 Xử lý điều khiển của người chơi.

 Cập nhật một nước đi mới của người chơi

Sau đó để tiện cho người chơi theo dõi một số thông tin như : thời gian suy nghĩ của 2 đấuthủ, ghi lại số quân mỗi bên đã bắt được … Ta thực hiện tiếp công việc : hiện một số thông tincần thiết cho trò chơi và chạy thử chương trình

Hình 2: Các bước thực hiện bài toán

P HẦN 2: P HÂN T ÍCH V À T HIẾT K Ế B ÀI T OÁN

2.1 GIẢI QUYẾT CÁC MỤC TIÊU ĐẶT RA VỚI NGƯỜI CHƠI

XÂY D NG ỰNG BÀN CỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 8

Hình 3: Khung bàn cờ

Bàn cờ là một JPanel, khung bàn cờ sẽ được vẽ trên JPanel này

Việc vẽ khung bàn cờ là vẽ các đường ngang và dọc (gồm có 10 đường ngang, 9 đườngdọc), việc này sẽ được đảm nhiệm bởi hàm DrawLine(x1, y1, x2, y2) trong lớp Graphics của Java(trong đó x1, y1 là tọa độ ta bắt đầu vẽ, x2, y2 là tọa độ ta kết thúc vẽ)

Bắt đầu ta vẽ 5 đường ngang, sau đó vẽ 9 đường dọc giao với 9 đường ngang đó, các vị trínước đi trong cung của tướng được đánh dấu bởi dấu X, sẽ được xây dựng là 2 đường thẳnggiao nhau (đường đầu tiên là từ vị trí thứ 4 tới vị trí thứ 24 trên bàn cờ, đường thứ 2 là từ vị tríthứ 6 tới vị trí thứ 22 của bàn cờ) như vậy ta hoàn thành việc vẽ ½ bàn cờ

Trang 9

Việc vẽ ½ bàn cờ còn lại cũng tương tự, vị trí ta bắt đầu vẽ là vị trí thứ 46 của bàn cờ.

Tiếp theo ta đi vẽ các quân cờ trên bàn cờ

Hình 4: Bàn cờ hoàn chỉnh

Kích thước của mỗi ô bàn cờ là Width, nên kích thước chiều ngang của bàn cờ là (Size_X –1) * Width, còn kích thước chiều dọc của bàn cờ là (Size_Y – 1) * Width

Từ đó ta hoàn toàn có thể xác định được tọa của 90 giao điểm trên bàn cờ (9 đường dọc và

10 đường ngang), công việc tiếp theo là ta vẽ các quân cờ lên 90 giao điểm ấy để được bàn cờhoàn chỉnh tại trạng thái ban đầu của nó

Mỗi vị trí là một JLabel, có kích thước xác định, và có phương thức MoveClicked() để nhận

sự kiện mà người chơi khi đi một nước cờ

Trang 10

Mỗi quân cờ là một ảnh đại diện được chèn vào trong các JLabel đó, ở vị trí không có quân

cờ, JLabel không được thiết lập hình ảnh, rõ ràng có hai bên phân biệt do đó ta có phải có haimảng lưu hai loại quân cờ khác nhau đặc trưng cho hai bên

Việc mỗi vị trí quân cờ là ta sẽ tìm xem ở vị trí đó, quân cờ này thuộc bên nào (dựa vàomảng color_pieces[] trong chương trình để phân biệt quân cờ của hai bên) thì ta sẽ tìm ảnhtương ứng trong mảng loại quân đó, công việc tiếp theo là ta xem nó là quân cờ gì, để thiết lậptương ứng là ảnh của quân đó (việc này được tìm trong mảng chess_pieces[] trong chươngtrình để cho biết nó là quân cờ gì), việc thiết lập ảnh tương ứng được thực hiện bởi hàmSetIcon() trong lớp JLabel của Java

Cứ như vậy duyệt hết vị trí các quân cờ trên bàn cờ, ta đã hoàn thành việc vẽ các quân cờ ởtrạng thái ban đầu

XỬ LÝ SỰNG KI N ỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG CLICK CHU T ỘI

Việc xử lý sự kiện click chuột để nhận tham số mà người chơi truyền vào là nước đi củamình Sẽ được thực hiện thông qua phương thức nhận sự kiện click trên chuột của mỗi JLabelđại diện cho từng quân cờ ở trên, sau khi sự kiện xảy ra các biến toàn cục (vị trí các quân cờ,lượt đi của mỗi bên, …) sẽ được cập nhật để đến lượt đối phương thực hiện nước đi của mình

2.2 GI I ẢI QUY T ẾT CÁC M C ỤC TIÊU Đ T ẶT RA V I ỚI MÁY

XÂY D NG ỰNG LU T ẬT ĐI H P ỢP LỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG CHO CÁC QUÂN CỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Việc duyệt hết các nước đi trên bàn cờ trước hết đòi hỏi ta phải nắm rõ luật đi hợp lệ củacác quân cờ trên bàn cờ tướng

Ta có thể nhắc lại luật đi của từng quân trên bàn cờ như sau :

Trang 11

Hình 5: Luật đi hợp lệ của các quân cờ

Sau khi hiểu được luật chơi của từng quân cờ ta tiến hành xây dựng nước đi hợp lệ chochúng dựa trên các luật ấy Sau khi tìm hiểu ta có được kết luận sau : mỗi quân cớ có thể điđược trong một số hướng giới hạn quân đi được số hướng (nhiều nhất là quân mã với 8hướng), trong mỗi hướng thì quân xe và quân pháo lại có thể đi được nhiều nước nhất (với 9nước có thể đi được trong một hướng), bảng sau sẽ thông tin chi tiết :

Bảng 2 : Thông tin về số hướng, nước có thể đi của mỗi quân cờ

Rõ ràng dựa vào bảng trên ta có thể thực hiện duyệt được toàn thể các nước đi hợp lệtrong một thế cờ, ý tưởng đơn giản là :

Duyệt mọi vị trí trong bàn cờ hiện tại

tốt : tiến bên mình : lên trên đối phương : thêm trái phải

sĩ : tiến lùi một ví trí trong dấu X

tượng : chỉ ở bên mình, đi đường chéo của 4 ô, có cản

xe : ngang, dọc tung hoành

pháo ngang dọc

tung hoành, nổ khi

bị chặn

mã : tung hoành, đi

đường chéo 2 ô, có

cản

Trang 12

Trong mỗi hướng của quân này, thì ta lại duyệt xem nó có thể đi được baonhiêu vị trí trong hướng đó

Kết quả của mỗi nước đi hợp lệ sẽ được lưu trong mảng Save_Move (mỗiphần tử của mảng là một trường gồm hai thông số, vị trí bắt đầu và vị trí mà nó

sẽ được đi đến)}

Việc tiếp theo mà ta cần quan tâm là, một số quân (tượng, sĩ, tướng và tốt) sẽ bị giới hạn vịtrí trong bàn cờ, ta sẽ thiết lập mảng giới hạn chúng, khi mà chúng rơi vào mảng này thì khôngthiết lập nước đi

Do đó khi rơi vào hai trường hợp trên thì hướng đi của các quân này kết thúc

Việc thực hiện nước đi tiếp theo, sẽ là việc thiết lập chỉ số vị trí sẽ đến bằng với chỉ số hiệntại cộng với một khoảng tiến trong một nước (của hướng đang xét), sẽ có mảng hai chiều lưucác quân cờ, vị trí tiến trong mỗi hướng của từng quân, việc tính chỉ số tiếp theo sẽ chỉ việc lấytham số cần cộng trong mảng tương ứng với hướng đó, và giá trị cộng nước đi trong hướng đócộng với vị trí hiện tại

Với quân tượng, mã có các vị trí cản mà ta không thể đi được việc này sẽ được kiểm trabằng các vị trí cản xung quanh quân tượng và quân mã có trống không, nếu không trống thìkhông thực hiện nước đi này (sẽ có 2 mảng lưu tương ứng vị trí cản của hai quân này)

Với quân pháo có đặc tính là có khả năng nổ khi có quân chặn trước mặt nó, do vậy khi cóquân chặn trước mặt nó, ta có thể dùng một biến để đánh dấu rằng có quân chặn trước mặt nó,

và khi thực hiện nước đi tiếp theo trong hướng thì kiểm tra biến chặn trước mặt pháo, nếu có

nó và có quân đối phương tiếp theo thì thực hiện nước đi đó, sau đó lại thiết lập lại biến chặntrước mặt

Thông tin về mọi nước đi xuất phát từ một thế cờ, sẽ được lưu trong mảng Save_Move,trong đó mỗi vị trí của mảng là một trường gồm hai thông số (vị trí xuất phát, vị trí sẽ đến củaquân cờ đó)

Trang 13

Và do ta phải thực hiện với độ sâu lồng nhau, nên phải có biến chỉ số đánh dấu bắt đầu vàkết thúc tập hợp nước đi trong độ sâu đó.

TÌM KI M ẾT N ƯỚI C ĐI T I ỐI Ư U TRÊN CÂY N ƯỚI C ĐI

Để máy có thể chọn được các nước đi vừa hợp lệ vừa tối ưu ta cần phải tìm kiếm nước đitối ưu trên cây nước đi Vấn đề thứ nhất đặt ra ở đây là thế nào là tối ưu ? Việc này có thể tạmthời giải đáp đó là việc chọn được một nước đi theo một tiêu chí nào đó (ưu tiên ăn được quân

có giá trị cao nhất …) Vấn đề thứ hai đặt ra ở đây là việc duyệt hết cây trò chơi tốn một chi phírất lớn, cũng có thể tạm thời giải đáp là ta phải tìm cách nào đó cắt bớt các nhánh không cầnthiết của cây trò chơi giúp cho chi phí duyệt giảm được đáng kể Việc giải quyết hai câu hỏi trên

sẽ được trình bày chi tiết trong phần sau

PHẦN 3: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG

3.1 THUẬT TOÁN MINIMAX, ALPHA-BETA

Sau khi đã có được tập nước đi phù hợp với độ sâu hiện tại ta tiến hành, đi thử mọi nước đitrong tập nước đi này, với mỗi một nước đi thử ta lại sinh ra một thế cờ mới, sau đó lại phảitiến hành sinh tập nước đi cho thế cờ này… Cứ như vậy cho đến hết mọi nước đi trong tập

Trang 14

Tăng dần độ sâu… Cho tới độ sâu tối đa Rõ ràng sẽ có một cây nước đi được thiết lập :

Hình 6: Cây nước đi trong mỗi lần đi

Rõ ràng công việc của máy tính là tìm ra đường đi trong cây mà có lợi nhất cho nó, và thựchiện theo nước đi đầu tiên của đường đi đó Đó là nhiệm vụ cũng là ý tưởng của hàm Alpha-Beta

Trước khi nói về hàm alpha-beta ta nói về hàm minimax :

Chúng ta có một bộ phận phân tích thế cờ có thể áp dụng được tất cả các luật, các phươngpháp đánh cờ khác nhau vào từng thế cờ và chuyển đổi chúng thành một con số đại diện (chođiểm thế cờ) Mặt khác ta giả sử con số đó là dương khi áp dụng cho thế cờ của một đấu thủ(được gọi là người chơi cực đại – maximize), và là âm khi áp dụng cho đấu thủ bên kia (được gọi

là người chơi cực tiểu – minimizer) Quá trình tính toán cho điểm thế cờ được gọi là lượng giátĩnh (static evalution) Hàm thực hiện việc tính toán được gọi là một bộ lượng giá tĩnh, và giá trịnhận được gọi là điểm lượng giá tĩnh Cả hai đấu thủ đều cố gắng đi như thế nào đó để đạtđược điểm tuyệt đối lớn nhất Người chơi cực đại sẽ tìm những nước đi dẫn đến điểm của mìnhtrở nên lớn hơn (hay cao nhất có thể được) hay điểm của đối thủ bớt âm hơn (nhỏ hơn về giátrị tuyệt đối) Còn đối thủ của anh ta, người chơi cực tiểu, lại ra sức phản kháng lại, để dẫn tớiđiểm âm của anh ta âm hơn hay điểm dương của đối thủ nhỏ đi

Thuật toán minimax :

- nếu như đạt đến giới hạn tìm kiếm (đến tầng dưới cùng của cây tìm kiếm), tính giá trị tĩnhcủa thế cờ hiện tại ứng với người chơi ở đó Ghi nhớ kết quả

- nếu như mức đang xét là của người chơi cực tiểu, áp dụng thủ tục Minimax này cho cáccon của nó Ghi nhớ kết quả nhỏ nhất

Trang 15

Nếu như mức đang xét là của người chơi cực đại, áp dụng thủ tục Minimax này cho các concủa nó – ghi nhớ kết quả lớn nhất.

Giả mã cho thuật toán :

Function Minimax(pos, depth) : integer;

Pos = tính thế cờ mới nhờ đi m;

Value = minimax(pos, depth – 1); - tính điểm của pos {chọn điểm tốt nhấttùy thuộc theo người chơi)

If(người chơi là người chơi cực đại) then :Begin if(best < value) then best = value;

EndElseBegin if(best > value) then best = value;

endend

minimax = best – trả về giá trị tốt nhấtend;

end

thông thường bàn cờ được biểu diễn bằng biến toàn cục, do đó thay cho truyền tham sốmới pos vào thủ tục Minimax thì người ta biến đổi luôn biến toàn cục này nhờ thực hiện nước

đi thử (nước đi dẫn đến bàn cờ mới pos

và để cho tiện ta coi cả hai người chơi có cùng cách đánh giá về một thế cờ, có điều thế nàytốt với một người thì phải đánh giá là tồi với người kia và ngược lại Trong máy tính cách thểhiện tốt nhất là ta cho điểm một thế cờ có thêm dấu âm dương : dấu âm dành cho người chơicực đại và dấu âm dành cho người chơi cực tiểu Với người chơi cực đại sẽ mong muốn điểmnày càng dương càng tốt, còn người chơi cực tiểu lại mong muốn điểm này càng âm càng tốt

do đó ta cải tiến hàm Minimax như sau :

Ngày đăng: 23/10/2014, 23:54

HÌNH ẢNH LIÊN QUAN

Bảng : Bảng phân công công việc và các nhiệm vụ cụ thể - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
ng Bảng phân công công việc và các nhiệm vụ cụ thể (Trang 2)
Hình : Mục Tiêu Của Bài Toán - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Mục Tiêu Của Bài Toán (Trang 5)
Hình : Các bước thực hiện bài toán - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Các bước thực hiện bài toán (Trang 6)
Hình : Khung bàn cờ - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Khung bàn cờ (Trang 7)
Hình : Bàn cờ hoàn chỉnh - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Bàn cờ hoàn chỉnh (Trang 8)
Hình : Luật đi hợp lệ của các quân cờ - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Luật đi hợp lệ của các quân cờ (Trang 10)
Bảng  : Thông tin về số hướng, nước có thể đi của mỗi quân cờ - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
ng : Thông tin về số hướng, nước có thể đi của mỗi quân cờ (Trang 10)
Hình : Cây nước đi trong mỗi lần đi - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Cây nước đi trong mỗi lần đi (Trang 13)
Hình : Thuật toán alpha-beta - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Thuật toán alpha-beta (Trang 16)
Hình : Cây nước đi cụ thể - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Cây nước đi cụ thể (Trang 17)
Bảng : Bảng giá trị các quân cờ - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
ng Bảng giá trị các quân cờ (Trang 18)
Hình : Hình ảnh chương trình minh họa - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
nh Hình ảnh chương trình minh họa (Trang 19)
Bảng : Bảng kết quả khi chạy thử chương trình - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
ng Bảng kết quả khi chạy thử chương trình (Trang 20)
Bảng : Kết luận - báo cáo môn trí tuê nhân tạo chương trình chơi cờ tướng, áp dụng giải thuật cắt tỉa alpha-beta trên ngôn ngữ java
ng Kết luận (Trang 21)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w