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

10 1.5K 9
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

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

Thông tin tài liệu

Đồ á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

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 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áitrò 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 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 đố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. sở lí thuyết Vấn đề chơi 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 người anh em V đã được đánh giá. Giả sử cha của đỉnh A là B và B người anh em U đã được đánh giá, và giả sử cha của B là C. Khi đó ta 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 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 thể cắt bỏ cây con gốc A. ci t k thut ct ct Anpha-beta, i vi cỏc nh nm trờn ng i t gc ti nh hin thi, ta s dng tham s ghi li giỏ tr ln nht trong cỏc giỏ tr ca nh cũn ó ỏnh giỏ ca mt nh trng, cũn tham s ghi li giỏ tr nh nht trong cỏc nh con ó ỏnh giỏ ca mt nh en. Ta xõy dng hm 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; Thut toỏn tỡm nc i cho trng s dng k thut ct ta Anpha-Beta c ci t bi th tc Alpha_beta(u,v) trong ú v l tham bin ghi li nh m trng cn i ti 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; III. Chương trình Chess Chương trình được xây dựng dựa trên 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 Màn hình đăng nhập người chơi cho phép người chơi 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. Màn hình chơi chính Màn hình chơi chính giúp cho người chơi thể chơi trực tiếp với máy tính. Chương trình cho phép người chơi 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. Màn hình trợ giúp Ngoài ra chương trình còn đưa ra những trợ giúp bản giúp cho người chơi 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ừ đó 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ể: - Ứ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í 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 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! . 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 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. 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ừ đó. 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

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