1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo đồ án trí tuệ nhân tạo: Xây dựng chương trình giải quyết bài toán không gian trạng thái trò chơi cờ vua theo phương pháp cắt tỉa Anpha-Beta

9 1,5K 9

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 378 KB

Nội dung

Đồ án Nhập môn trí tuệ nhân tạo Không gian trạng thái là trò chơi cờ vua. Xây dựng chương trình giải quyết bài toán theo phương pháp cắt tỉa Anpha-Beta Họ và tên: Đặng Minh Sang Lớp: Tin học 5A I. Lời nói đầu Năm 1950, Claude Shannon đã viết chương trình chơi cờ đầu tiên. Đó là hành động đầu tiên đánh dấu việc nguyên cứu Trí tuệ nhân tạo và đưa nó vào chơi cờ. Điều này là một bằng chứng rõ ràng về khả năng máy tính có thể làm được những công việc đòi hỏi trí thông minh của con người. Ngày này, việc nguyên cứu Trí tuệ nhân tạo và đưa nó vào các ứng dụng thực tế đang ngày càng nhiều, và ngày càng chứng tỏ được thế mạnh của mình trong các công việc đòi hỏi khả năng suy nghĩ và tính toán giống như con người. Trong đó, vấn đề Tìm kiếm có đối thủ đang được áp dụng rất rộng rãi trong các trò chơi đối kháng, tất nhiên, tuân theo những tiêu chuẩn nhất định. Bản đồ án này được xây dựng, cũng nằm một trong số đó. Áp dụng lí thuyết Trí tuệ nhân tạo, kết hợp với các hàm đánh giá, từ đó xây dựng một chương trình cờ vua mang tính chất minh họa thuật toán hơn là xây dựng một chương trình có tính ứng dụng cao trong thực tế. II. Cơ sở lí thuyết Vấn đề chơi cờ có thể xem xét như vấn đề tìm kiếm trong không gian trạng thái. Mỗi trạng thái là một tình thế (cách bố trí các quân cờ trên bàn cờ). - Trạng thái ban đầu là sự sắp xếp các quân cờ của hai bên lúc bắt đầu chơi. - Các toán tử là các nước đi hợp lệ. - Các trạng thái kết thúc là các tình thế mà cuộc chơi dừng, thường được xác định bởi một điều kiện dừng nào đó. - Một hàm kết cuộc ứng mỗi trạng thái kết thúc với một giá trị nào đó. Tư tưởng của thuật toán cắt cụt Anpha-beta như sau: nhớ lại rằng, chiến lược tìm kiếm Minimax là chiến lược tìm kiếm theo độ sâu. Giả sử trong quá trình tìm kiếm, ta đi xuống đỉnh A là đỉnh trắng, đỉnh A có người anh em V đã được đánh giá. Giả sử cha của đỉnh A là B và B có người anh em U đã được đánh giá, và giả sử cha của B là C. Khi đó ta có giá trị đỉnh C ít nhất là giá trị của U, giá trị của đỉnh B nhiều nhất là giá trị V. Do đó, nếu eval (U)>eval(V), ta không cần đi xuống để đánh giá đỉnh A nữa mà không ảnh hưởng gì đến đánh giá đỉnh C. Hay nói cách khác, ta có thể cắt bỏ cây con gốc A. Lập luận tương tự cho

Trang 1

HỌC VIỆN KỸ THUẬT QUÂN SỰ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC TRÍ TUỆ NHÂN TẠO

Giáo viên hướng dẫn: Ngô Hữu Phúc

HÀ NỘI 3/2010

Trang 2

Học viện Kỹ thuật quân sự

Khoa CNTT

Đồ án Nhập môn trí tuệ nhân tạo Không gian trạng thái là trò chơi cờ vua Xây dựng chương trình giải quyết bài toán theo phương pháp cắt

tỉa Anpha-Beta

Họ và tên: Đặng Minh Sang Lớp: Tin học 5A

I Lời nói đầu

Năm 1950, Claude Shannon đã viết chương trình chơi cờ đầu tiên Đó là hành động đầu tiên đánh dấu việc nguyên cứu Trí tuệ nhân tạo và đưa nó vào chơi cờ Điều này là một bằng chứng rõ ràng về khả năng máy tính có thể làm được những công việc đòi hỏi trí thông minh của con người

Ngày này, việc nguyên cứu Trí tuệ nhân tạo và đưa nó vào các ứng dụng thực tế đang ngày càng nhiều, và ngày càng chứng tỏ được thế mạnh của mình trong các công việc đòi hỏi khả năng suy nghĩ và tính toán giống như con người Trong đó, vấn đề Tìm kiếm có đối thủ đang được áp dụng rất rộng rãi trong các trò chơi đối kháng, tất nhiên, tuân theo những tiêu chuẩn nhất định Bản đồ án này được xây dựng, cũng nằm một trong số đó Áp dụng lí thuyết Trí tuệ nhân tạo, kết hợp với các hàm đánh giá, từ đó xây dựng một chương trình cờ vua mang

Trang 3

tính chất minh họa thuật toán hơn là xây dựng một chương trình có tính ứng dụng cao trong thực tế

II Cơ sở lí thuyết

Vấn đề chơi cờ có thể xem xét như vấn đề tìm kiếm trong không gian trạng thái Mỗi trạng thái là một tình thế (cách bố trí các quân cờ trên bàn cờ)

- Trạng thái ban đầu là sự sắp xếp các quân cờ của hai bên lúc bắt đầu chơi

- Các toán tử là các nước đi hợp lệ

- Các trạng thái kết thúc là các tình thế mà cuộc chơi dừng, thường được xác định bởi một điều kiện dừng nào đó

- Một hàm kết cuộc ứng mỗi trạng thái kết thúc với một giá trị nào đó

Tư tưởng của thuật toán cắt cụt Anpha-beta như sau: nhớ lại rằng, chiến lược tìm kiếm Minimax là chiến lược tìm kiếm theo độ sâu Giả sử trong quá trình tìm kiếm, ta đi xuống đỉnh A là đỉnh trắng, đỉnh A có người anh em V đã được đánh giá Giả sử cha của đỉnh A là

B và B có người anh em U đã được đánh giá, và giả sử cha của B là C Khi đó ta có giá trị đỉnh C ít nhất là giá trị của U, giá trị của đỉnh B nhiều nhất là giá trị V Do đó, nếu eval (U)>eval(V), ta không cần đi xuống để đánh giá đỉnh A nữa mà không ảnh hưởng gì đến đánh giá đỉnh C Hay nói cách khác, ta có thể cắt bỏ cây con gốc A Lập luận tương tự cho trường hợp đỉnh A là đen, trong trường hợp này, nếu eval (U)<eval(V) ta cũng có thể cắt bỏ cây con gốc A

Trang 4

Để cài đặt kĩ thuật cắt cụt Anpha-beta, đối với cỏc đỉnh nằm trờn đường đi từ gốc tới đỉnh hiện thời, ta sử dụng tham số  để ghi lại giỏ trị lớn nhất trong cỏc giỏ trị của đỉnh cũn đó đỏnh giỏ của một đỉnh trắng, cũn tham số  ghi lại giỏ trị nhỏ nhất trong cỏc đỉnh con đó đỏnh giỏ của một đỉnh đen Ta xõy dựng hàm MaxVal(u, , ) và MinVal(u, , ) như sau:

function MaxVal(u, , )

begin

if u là lá của cây hạn chế hoặc u là đỉnh kết thúc

then MaxVal eval(u)

else for mỗi đỉnh v là con của u do

{  max[, MinVal(v, , )]; // Cắt bỏ các cây con từ các đỉnh v còn lại

if    then exit};

MaxVal  ;

end;

function MinVal(u, , )

begin

if u là lá của cây hạn chế hoặc u là đỉnh kết thúc

then MinVal eval(u)

else for mỗi đỉnh v là con của u do

{  min[, MaxVal(v, , )]; // Cắt bỏ các cây con từ các đỉnh v còn lại

if    then exit};

MinVal  ;

end;

Thuật toỏn tỡm nước đi cho trắng sử dụng kỹ thuật cắt tỉa Anpha-Beta được cài đặt bởi thủ tục Alpha_beta(u,v) trong đú v là tham biến ghi lại đỉnh mà trắng cần đi tới u

procedure Alpha_beta(u,v);

begin

  -;

  ;

for mỗi đỉnh w là con của u do

if   MinVal(w, , ) then

{  MinVal(w, , )

v w;}

end;

Trang 5

III Chương trình Chess

Chương trình được xây dựng dựa trên cơ sở lí thuyết vừa nêu trên Với độ sâu được xét tới là 3

Giao diện chương trình:

Màn hình đăng nhập người chơi

Trang 6

Màn hình đăng nhập người chơi cho phép người chơi có cái nhìn tổng quan về chương trình Đồng thời yêu cầu người chơi nhập tên trước khi bắt đầu trò chơi

Trang 7

Màn hình chơi chính

Màn hình chơi chính giúp cho người chơi có thể chơi trực tiếp với máy tính Chương trình cho phép người chơi có thể bắt đầu một ván cờ mới, hay hoãn lại các nước đi

Màn hình hiển thị chi tiết nước cờ

Màn hình chi tiết hiển thị chi tiết các nước cờ đã chơi, tên người chơi cũng như thời gian chơi

Trang 8

Màn hình trợ giúp

Ngoài ra chương trình còn đưa ra những trợ giúp cơ bản giúp cho người chơi có thể sử dụng chương trình một cách tối ưu nhất

Một chương trình chơi cờ được đánh giá dựa trên tiêu chí mức độ thông minh của các nước đi Điều này phụ thuộc phần lớn vào hàm đánh giá được cài đặt trong trò chơi Từ đó có thể thấy mức độ quan trọng của hàm đánh giá trong bất cứ một chương trình chơi cờ nào Không nằm ngoài ý kiến đó, chương trình cũng xây dựng hàm đánh giá riêng, với mục đích phản ảnh rõ nhất cục diện bàn cờ cũng như đưa ra được lựa chọn tốt nhất ứng với trạng thái cụ thể

Hàm đánh giá của chương trình được xây dựng dựa trên các yếu tố về các giai đoạn của ván cờ, giá trị các quân cờ và vị trí của chúng Cụ thể:

Trang 9

- Ứng với mỗi giai đoạn chơi của ván cờ, giá trị của các quân

cờ sẽ được thay đổi

- Mỗi vị trí quân cờ sẽ được đánh giá với mức độ tốt khác nhau

- Khả năng ăn các quân cờ

- Khả năng bảo vệ các quân cờ khác

- Các vị trí có thể bị đối phương ăn

Dựa trên các yêu tố trên, chương trình xây dựng một hàm đánh giá cùng các trọng số, với mục đích phản ánh một cách chân thực nhất cục diện của bàn cờ, từ đó đưa ra được phương án tốt nhất ứng với trạng thái cụ thể

IV Lời cuối

Khuôn khổ bản đồ án chỉ dừng lại ở mức độ minh họa thuật toán đối với không gian trạng thái cụ thể là bàn cờ vua Trong quá trình xây dựng chương trình, không tránh khỏi những sai sót, cũng như thiếu kinh nghiệm trong quá trình xây dựng một hàm đánh giá được coi là tốt Hy vọng sẽ nhận được sự giúp đỡ của thầy để tiếp tục phát triển bản đồ án và có thể đưa vào ứng dụng trong thực tế

Cuối cùng, em xin cảm ơn thầy Ngô Hữu Phúc đã tận tình giúp đỡ em trong quá trình xây dựng và hoàn thành bản đồ án này

Em xin cảm ơn thầy!

Ngày đăng: 25/03/2014, 22:23

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w