Giới thiệu về lý thuyết trò chơi, thuật toán min max và ứng dụng cho trò chơi cờ vua

58 1.3K 11
Giới thiệu về lý thuyết trò chơi, thuật toán min max và ứng dụng cho trò chơi cờ vua

Đ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

HỌC VIỆN CƠNG THƠNG NGHỆ BƯU CHÍNH VIỄN KHOA CƠNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài : “ Giới thiệu lý thuyết trò chơi, thuật tốn max ứng dụng cho trị chơi cờ vua “ Giảng viên hướng dẫn : PGS TS ĐỖ TRUNG TUẤN – DH KHTN Sinh viên thực hiện: PHẠM NGỌC ANH Lớp : D10CNPM3 Khoá: 2010 Hệ : ĐẠI HỌC CHÍNH QUY Hà Nội, tháng 11 / 2014 LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp , lời em xin chân thành cảm ơn thầy cô Trường Học viện Công Nghệ Bưu Chính Viễn Thơng,đặc biệt thầy khoa công nghệ thông tin dạy dỗ, trang bị cho em kiến thức bổ ích suốt 4,5 năm học vừa qua Em xin bày tỏ lòng biết ơn sâu sắc tới thầy Đỗ Trung Tuấn, giảng viên trường Đại Học Khoa Học Tự Nhiên tạo điều kiện tốt hướng dẫn em trình làm đồ án tốt nghiệp Nhân dịp , em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, người thân cổ vũ, động viên tiếp thêm cho em nghị lực để hồn thành đồ án cách tốt Em xin chân thành cảm ơn ! Hà nội, ngày tháng năm 2014 Sinh viên Phạm Ngọc Anh Sinh viên: Phạm Ngọc Anh – D10CNPM3 NHẬN XÉT , ĐÁNH GIÁ , CHO ĐIỂM (Của người hướng dẫn) ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………………………………………………………………………… Điểm : ………………………………………….……(bằng chữ :…….………………) Đồng ý/ Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp ? , ngày tháng năm 20 CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN (ký, họ tên) Sinh viên: Phạm Ngọc Anh – D10CNPM3 NHẬN XÉT , ĐÁNH GIÁ , CHO ĐIỂM (Của người phản biện) ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………………………………………………………………………… Điểm : …………………………………………(bằng chữ :.………….……………) Đồng ý/ Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp ? , ngày tháng năm 20 CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN (ký, họ tên) Sinh viên: Phạm Ngọc Anh – D10CNPM3 MỤC LỤC DANH MỤC CÁC BẢNG , SƠ ĐỒ, HÌNH Sinh viên: Phạm Ngọc Anh – D10CNPM3 MỞ ĐẦU Lý thuyết trò chơi (game theory) thường coi nhánh toán học ứng dụng kinh tế học ứng dụng nhằm nghiên cứu tình bên tham gia trị chơi áp dụng chiến lược định nhằm tối ưu hóa kết nhận được.Ban đầu Lý thuyết trị chơi phát triển cơng cụ để nghiên cứu hành vi kinh tế học, ngày Lý thuyết sử dụng nhiều ngành khoa học Sinh học, Triết học, Chính trị học… Đặc biệt Lý thuyết trò chơi thu hút ý nhà Khoa học máy tính ứng dụng Trí tuệ nhân tạo Điều khiển học Trong báo cáo này,em xin trình bày đề tài : “Giới thiệu lý thuyết trò chơi, thuật tốn max ứng dụng cho trị chơi cờ vua “ Nội dung đồ án gồm chương : Chương : Giới thiệu lý thuyết trò chơi Chương : Tổng quan vấn đề tìm kiếm Chương : Giới thiệu thuật tốn Minimax Chương : Ứng dụng vào trò chơi cờ vua Sinh viên: Phạm Ngọc Anh – D10CNPM3 CHƯƠNG : GIỚI THIỆU VỀ LÝ THUYẾT TRÒ CHƠI Trong chương , đồ án giới thiệu lý thuyết trò chơi, loại trò chơi lý thuyết trò chơi ứng dụng trọng ngành khoa học thực tế 1.1 Giới thiệu lý thuyết trò chơi Lý thuyết trị chơi nhánh Tốn học ứng dụng Ngành sử dụng mô hình để nghiên cứu tình chiến thuật , đối thủ lựa chọn hành động khác để cố gắng làm tối đa kết thu cho Ban đầu, lý thuyết trị chơi phát triển công cũ để nghiên cứu hành vi kinh tế học Ngày , sử dụng nhiều ngành khoa học, từ Sinh học tới Triết học Lý thuyết trị chơi có phát triển lớn từ John von Neumann người hình thức hóa thời kỳ trước Chiến tranh Lạnh, chủ yếu áp dụng chiến lược quân sự, tiếng khải niệm “đảm bảo phá hủy lẫn nhau” (mutual assured destruction) Bắt đầu từ năm 1970, lý thuyết trò chơi bắt đầu áp dụng cho nghiên cứu hành vi động vật, có phát triển loài qua chọn lọc tự nhiên Do trò chơi hay Song đề tù nhân(prisoner’s dilemma), lợi ích cá nhân làm hại cho tất người, lý thuyết trò chơi bắt đầu dùng Chính trị học, Đạo đức học Triết học Cuối cùng, lý thuyết trò chơi thu hút ý nhà Khoa học máy tính ứng dụng Trí tuệ nhân tạo Điều khiển học Bên cạnh mối quan tâm có tính chất hàn lâm, lý thuyết trị chơi nhận ý văn hóa đại chúng John Nash, nhà lý thuyết trò chơi, người nhận giải thưởng Nobel , chủ đề hồi ký năm 1998 tác giả Sylvia Nasar phim Một tâm hồn đẹp (A Beautyful Mind) năm 2001 Một số trò chơi truyền hình sử dụng tình huốn lý thuyết trị chơi , có Friend of Foe ? Survivor Tuy tương tự với lý thuyết định, lý thuyết trò chơi nghiên cứu định đưa mơi trường đối thủ tương tác với Nói cách khác, Lý thuyết trò chơi nghiên cứu cách lựa chọn hành vi tối ưu chi phí lợi ích lựa chọn không cố định mà phụ thuộc vào lựa chọn cá nhân khác 1.2 Biểu diễn trò chơi Các trò chơi nghiên cứu lý thuyết trị chơi đối tượng tốn học định nghĩa rõ ràng Một trò chơi bao gồm tập người chơi / đấu thủ, tập nước (hoặc chiến lược) mà người chơi chọn, đặc tả chế Sinh viên: Phạm Ngọc Anh – D10CNPM3 thưởng phạt cho tổ hợp chiến lược Có hai dạng biểu diễn trị chơi thường thấy dạng chuẩn tắc dạng mở rộng 1.2.1 Dạng chuẩn tắc Trò chơi chuẩn tắc (hoặc dạng chiến lược (strategic form)) ma trận cho biết thông tin đấu thủ, chiến lược chế thưởng phạt Như ví dụ , có hai đấu thủ , người chọn hàng , người chọn cột Mỗi đấu thủ có hai chiến lược, chiến lược biểu diễn ô xác định số hiệu hàng số hiệu cột Mức thưởng phạt ghi Giá trị thứ mức thưởng phạt cho đấu thủ chơi theo hàng, giá trị thứ hai mức thưởng phạt cho đấu thủ chơi theo cột Giả sử đấu thủ chơi hàng đấu thủ chơi cột trái Khi đó, đấu thủ nhận điểm đấu thủ nhận điểm Hình 1 Ví dụ trị chơi đối kháng Khi trò chơi biểu diễn dạng chuẩn tắc, người ta coi đấu thủ hành động cách đồng thời, khơng biết hành động người Nếu đấu thủ có thơng tin lựa chọn đấu thủ khác, trò chơi thường biểu diễn dạng mở rộng 1.2.2 Dạng mở rộng Các trò chơi dạng mở rộng cố gắng mơ tả trị chơi có thứ tự quan trọng Ở đây, trò chơi biểu diễn (như hình bên trái) Mỗi đỉnh (hoặc nút) biểu diễn điểm mà người chơi lựa chọn Người chơi rõ số ghi cạnh đỉnh Các đoạn thẳng từ đỉnh biểu diễn hành động cho người chơi Mức thưởng phạt ghi rõ đáy Sinh viên: Phạm Ngọc Anh – D10CNPM3 Hình Ví dụ trị chơi dạng mở rộng Trong trị chơi hình, có hai người chơi Đấu thủ trước chọn F U Đấu thủ nhìn thấy nước Đấu thủ chọn Ahoặc R Giả sử Đấu thủ chọn U sau Đấu thủ chọn A Khi đó, Đấu thủ điểm Đấu thủ điểm Các trò chơi mở rộng cịn mơ tả trị chơi đi-đồng-thời Hoặc có đường chấm chấm đường trịn vẽ quanh hai đỉnh khác để biểu diễn chúng thuộc tập hợp thông tin (nghĩa là, người chơi họ điểm nào) 1.3 Các loại trò chơi lý thuyết trò chơi 1.3.1 Trò chơi đối xứng bất đối xứng Trò chơi đối xứng trò chơi mà phần lợi cho việc chơi chiến thuật phụ thuộc vào chiến thuật sử dụng, không phụ thuộc vào người chơi Nếu tính danh người chơi thay đổi mà khơng làm thay đổi phần lợi chiến thuật chơi, trị chơi đối xứng Nhiều trị chơi 2x2 thường nghiên cứu đối xứng Những biểu diễn chuẩn trò chơi gà, song đề tù nhân, săn nai trò chơi đối xứng Hình Một trị chơi bất đối xứng Đa số trò chơi bất đối xứng nghiên cứu trò chơi mà tập hợp chiến thuật khác sử dụng hai người chơi Chẳng hạn, trò chơi tối Sinh viên: Phạm Ngọc Anh – D10CNPM3 hậu thư tương tự trò nhà độc tài có chiến thuật khác cho người chơi Tuy vậy, xảy trường hợp trị chơi có chiến thuật giống cho hai người chơi, bất đối xứng Chẳng hạn, trò chơi minh họa bên bất đối xứng mặc có tập chiến thuật cho người chơi 1.3.2 Trị chơi có tổng khơng có tổng khác khơng Hình Một trị chơi có tổng Trong trị chơi tổng không, với tổ hợp chiến lược chơi, tổng điểm tất người chơi ván chơi ln Nói cách khơng thức, đấu thủ hưởng lợi thiệt hại đấu thủ khác Một ví dụ trị Poker, người thắng số điểm số điểm mà người thua Các loại cờ cổ điển cờ vây, cờ vua cờ tướng trị chơi tổng khơng Nhiều trị chơi mà nhà lý thuyết trò chơi nghiên cứu, có song đề tù nhân tiếng, trị chơi tổng khác khơng, có số kết cục có tổng kết lớn nhỏ khơng Nói cách khơng thức, trị chơi tổng khác khơng, thu hoạch đấu thủ không thiết tương ứng với thiệt hại đấu thủ khác Có thể biến đổi trò chơi thành trò chơi tổng không cách bổ sung đấu thủ "bù nhìn" cho thiệt hại đấu thủ bù lại tổng thu hoạch đấu thủ khác 1.3.3 Trò chơi đồng thời trò chơi Trong trò chơi đồng thời (simultaneous game), hai đấu thủ thực nước cách đồng thời, khơng đấu thủ khơng biết hành động trước đối thủ khác (và tạo "hiệu ứng" đồng thời) Trong trò chơi (sequential game), người sau có biết số (nhưng khơng thiết tồn bộ) thơng tin nước trước Biểu diễn dạng chuẩn tắc dùng để biểu diễn trò chơi đồng thời, Biểu diễn dạng mở rộng dùng cho trò chơi Sinh viên: Phạm Ngọc Anh – D10CNPM3 hưởng đến người chơi cực đại, cịn giá trị lại ln ảnh hưởng đến người chơi cực tiểu Chúng ngưỡng nước chấp nhận không chấp nhận Những nước cần quan tâm phải nằm lọt hai giá trị Dần dần khoảng cách hai giá trị alphavàbeta ngày thu hẹp dẫn đến nhánh có giá trị nằm ngồi khoảng nhanh chóng bị cắt bỏ: Hình độ “cắt bỏ” alpha-beta 3.4.3 Đánh giá Hiệu việc cắt nhánh Alpha-beta phụ thuộc nhiều vào thứ tự nước thực Nếu nước thực có thứ tự ngẫu nhiên tổng số nút thực khoảng O(b 3d/4) Trong b độ rộng (hệ số phân nhánh trung bình con), d độ sâu Trong điều kiện lí tưởng, thuật toán Alpha-beta phải xét số nút theo công thức: Như vậy, trường hợp tốt thuật toán Alpha-beta cần thực khoảng O(bd/2) nút để chọn nước tốt nhất, thay O(bd) Hệ số phân nhánh hiệu trở thành b thay bnhư thuật tốn Minimax Thuật tốn Alpha-beta nói chung giúp tiết kiệm nhiều thời gian so với Minimax mà đảm bảo kết tìm kiếm xác Tuy nhiên lượng tiết kiệm khơng ổn định - phụ thuộc vào số nút mà cắt bỏ Trong trường hợp xấu thuật tốn khơng cắt nhánh phải xét số nút thuật toán Minimax Ta cần đẩy mạnh việc cắt bỏ nhờ đẩy nhanh thu hẹp cửa sổ tìm kiếm Alphabeta Cửa sổ thu hẹp bước gặp giá trị tốt giá trị cũ Khi gặp giá trị tốt cửa sổ thu hẹp Do sớm gặp giá trị tốt cửa sổ chóng thu hẹp Như phải cho nút xếp theo trật tự từ cao xuống thấp Trật tự tốt thuật tốn chạy nhanh nhiêu (các cơng thức số nút phải lượng giá điều kiện lí tưởng tính với trật tự tốt nhất) Sinh viên: Phạm Ngọc Anh – D10CNPM3 3.5 So sánh giải thuật alpha-beta giải thuật minimax Dưới bảng so sánh số nút phải xét hai giải thuật Minimax Alphabeta Hình So sánh giải thuật minimax alpha-beta Với b = 40 d = ta có số nút phải xét 2x40 - = 3199 Như điều kiện lí tưởng số nút phải xét nhờ Alpha-beta (chỉ khoảng nghìn nút) thuật tốn Minimax (hơn 2,5 triệu nút) 2560000/ 3199 khoảng 800 lần Còn với b = 40 d = ta có số nút phải xét 40 + 40(5/2) - = 64000+10119-1 = 74118 Số nút phải xét nhờ Alpha-beta thuật tốn Minimax (hơn 102 triệu nút) 102400000/74118 = 1382 lần Ta nhận xét sau: - Số lần tăng số nút tăng độ sâu Minimax hệ số phân nhánh b, trường hợp 40 Số lần tăng Alpha-beta nhiều: cỡ 1.7 lần tăng từ d lẻ sang d chẵn 23.2 lần từ d chẵn sang lẻ, trung bình tăng khoảng lần tăng d - Số nút Alpha-beta tăng chậm nhiều lần so với Minimax Tỉ số nút phải xét hai giải thuật cao d lớn Công thức tính số nút cho thấy số nút phải xét dùng Alpha-beta nhiều so với Minimax hàm số mũ dẫn tới bùng nổ tổ hợp Thuật tốn Alpha-beta hồn tồn khơng chống bùng nổ tổ hợp mà làm giảm tốc độ bùng nổ tổ hợp Tuy thực tế số nút phải xét (lượng giá) thường nhiều điều kiện lí tưởng đủ để tiết kiệm nhiều thời gian Trong Sinh viên: Phạm Ngọc Anh – D10CNPM3 khoảng thời gian, thuật tốn Alpha-beta tìm đến độ sâu gấp hai lần độ sâu tìm kiếm Minimax Hình sau đồ thị so sánh hai thuật tốn Hình Khảo sát bùng nổ tổ hợp, Thuật toán Alpha-beta làm giảm bùng nổ tổ hợp không chống Hệ số phân nhánh đồ thị 40 Tóm lại : Do bùng nổ tổ hợp lớn trò chơi mà hai người chơi khơng thể (và khơng bao giờ) tìm kiếm vét cạn (hết khả năng) Do phương pháp tìm kiếm tìm kiếm đến độ sâu giới hạn chọn nước dẫn đến cờ có lợi cho Do phải tính khả chống trả đối phương nên ta không dùng thuật tốn tìm kiếm thơng thường Phải dùng thuật tốn tìm kiếm riêng cho trị chơi Đó thuật tốn Minimax cải tiến thuật tốn Alpha-beta Tuy hai thuật tốn khơng tránh bùng nổ tổ hợp thuật toánAlpha-beta làm chậm bùng nổ tổ hợp nên dùng nhiều trò chơi cờ 3.6 Kết luận Qua chương 3, đồ án giới thiệu tồn thuật tốn minimax , thuật toán cải tiến alpha beta so sánh thuật toán Và đồ án áp dụng thuật toán này, kết hợp với chiến lược tìm kiếm để áp dụng vào trị chơi cờ vua trình bày chương Sinh viên: Phạm Ngọc Anh – D10CNPM3 CHƯƠNG : ỨNG DỤNG VÀO TRỊ CHƠI CỜ VUA 4.1 Giới thiệu trị chơi cờ vua Cờ vua, trước gọi cờ quốc tế, trò chơi bàn mơn thể thao trí tuệ cho người chơi Ngày nay, cờ vua trò chơi phổ biến giới với hàng triệu người nhà riêng, câu lạc bộ, trực tuyến, từ xa giải đấu Trò chơi diễn bảng hình vng, gọi bàn cờ, gồm hàng (đánh số từ đến 8) cột (đánh số từ a đến h), tạo 64 hình vng với màu đậm nhạt xen kẽ nhau, với người chơi có màu nhạt hàng cuối bên tay phải ngồi vào bàn chơi cờ Mỗi người bắt đầu ván cờ với 16 quân cờ quân sau đối phương xong nước (hoàn thành nước đi) Các quân cờ bên bao gồm Tốt , Mã , 2Tượng , Xe , Hậu Vua Người cầm quân trắng người đầu tiên; người cầm quân đen Các quân Hậu Xe gọi quân nặng, Tượng Mã gọi quân nhẹ Truyền thống thi đấu cờ xuất từ kỉ thứ 16 Ngày nay, cờ vua công nhận mơn thể thao thức Ủy ban Olympic Quốc tế Nhà vô địch Cờ vua Thế giới đầu tiên, Wilhelm Steinitz giành danh hiệu năm 1886; tính đến năm 2014,Magnus Carlsen đương kim vô địch Các nhà lý thuyết sáng tạo nhiều chiến thuật chiến lược kể từ bắt đầu có cờ vua Nhiều khía cạnh nghệ thuật tìm thấy cờ Một mục tiêu ban đầu nhà khoa học máy tính tạo nên máy tính biết đánh cờ vua Cờ vua ngày bị ảnh hưởng rõ ràng chương trình chơi cờ khả chơi cờ trực tuyến Năm 1997, Deep Blue trở thành chương trình đánh bại kiện tướng giới đánh bại Garry Kasparov 4.2 Cơ sở lý thuyết Trò chơi thuộc lớp trò chơi đối kháng, cụ thể trị chơi có tổng khơng Trong ứng dụng , ta chọn thuật toán minimax thuật toán cải tiến alphabeta để cài đặt cho máy tính 4.3 Cài đặt chương trình Chương trình cài đặt ngôn ngữ Java Yêu cầu : JDK 1.7 Sinh viên: Phạm Ngọc Anh – D10CNPM3 HĐH : Windows Linux 4.3.1 Cài đặt cho AI Gồm phương thức Alphabeta, Minimax, hàm eval phương thức generateMove - AlphaBeta: thực tìm kiếm theo thuật tốn Alpha-beta - Minimax: thực tìm kiếm theo thuật tốn Minimax - Hàm eval: lượng giá cờ - Phương thức heuristicGenerateMove: sinh heuristic nước Phương thức Minimax Function Minimax(depth): integer; Begin If (đã thời gian suy nghĩ) then return –INFINITY; {dừng không duyệt nữa} if (depth=0) or (không thể nước nữa) then return eval(depth); {lượng giá cờ kết thúc} best = -INFINITY; pMove = heuristicGenerateMove; {sinh nước có thể} while (cịn lấy nước m pMove)do begin Thực nước m; value = -Minimax(depth - 1); Bỏ thực nước m; if (value > best) then begin best := value; if (đây nước máy) then cập nhật nước resX, resY; end; end; return best; End; Sinh viên: Phạm Ngọc Anh – D10CNPM3 Phương thức Alphabeta Function AlphaBeta(Alpha, beta, depth): integer; Begin If (đã thời gian suy nghĩ) then return –INFINITY; {dừng không duyệt nữa} if (depth=0) or (không thể nước nữa) then return eval(depth); {lượng giá cờ kết thúc} best = -INFINITY; pMove = heuristicGenerateMove; {sinh nước có thể} while (cịn lấy nước m pMove) and (best < beta) begin if (best > Alpha) then Alpha := best; Thực nước m; value = -AlphaBeta(-beta, -Alpha, depth - 1); Bỏ thực nước m; if (value > best) then begin best := value; if (đây nước máy) then cập nhật nước resX, resY; end; end; return best; End; Sinh viên: Phạm Ngọc Anh – D10CNPM3 4.4 Giao diện trò chơi Hình Giao diện trị chơi Sinh viên: Phạm Ngọc Anh – D10CNPM3 Giao diện máy thắng Hình Giao diện máy thắng Sinh viên: Phạm Ngọc Anh – D10CNPM3 KẾT LUẬN Với mục tiêu đồ án giới thiệu lý thuyết trò chơi, thuật tốn max ứng dụng cho trị chơi cờ vua, kết luận đạt đồ án tóm tắt sau : - Đã giới thiệu lý thuyết trò chơi, đặc trưng ứng dụng lý thuyết trò chơi thực tiễn Đã giới thiệu tổng quan vấn đề tìm kiếm , tốn tìm kiếm số thuật tốn phổ biến Đã nghiên cứu giải thuật tìm kiếm minimax cho trị chơi có tổng khơng Cài đặt giải thuật minimax cho trò chơi cờ vua Bên cạnh kết đạt , kiến thức thời gian cịn hạn chế, báo cáo khơng thể tránh khỏi sai sót Đồ án cọn hạn chế chương trình : - Giao diện trị chơi cịn đơn giản Trị chơi chức năng, có chức chơi với máy Trị chơi khơng có chức chơi lại Hướng phát triển đồ án tương lai : - Cải thiện tính trị chơi Nâng độ sâu tìm kiếm Phát triển tính chơi người , xây dựng gợi ý cho tính chơi người Phát triển trò chơi đối kháng khác cờ caro , cờ tướng Trên sở kết đạt được, phát triển thêm , chẳng hạn việc gợi ý nước cho trò chơi cờ vua người , áp dụng thuật tốn minimax vào trị chơi đối kháng khác cờ caro, cờ tướng , … Sinh viên: Phạm Ngọc Anh – D10CNPM3 PHỤ LỤC Bảng giá trị hàm ước lượng quân cờ : Tốt : 100 Mã : 350 Tượng : 330 Xe : 520 Hậu : 980 Tướng : 1000 Bảng giá trị cho quân Tốt // pawn 0, 0, 0, 0, 0, 0, 50, 50, 50, 50, 50, 50, 10, 10, 20, 30, 30, 20, 5, 5, 10, 25, 25, 10, 0, 0, 0, 20, 20, 0, 5, -5,-10, 0, 0,-10, 5, 10, 10,-20,-20, 10, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 10, 10, 5, 5, 0, 0, -5, 5, 10, 5, 0, 3.Bảng giá trị cho quân Mã // knight -50,-40,-30,-30,-30,-30,-40,-50, -40,-20, 0, 0, 0, 0,-20,-40, -30, 0, 10, 15, 15, 10, 0,-30, -30, 5, 15, 20, 20, 15, 5,-30, -30, 0, 15, 20, 20, 15, 0,-30, -30, 5, 10, 15, 15, 10, 5,-30, -40,-20, 0, 5, 5, 0,-20,-40, -50,-40,-30,-30,-30,-30,-40,-50, Sinh viên: Phạm Ngọc Anh – D10CNPM3 Bảng giá trị cho quân Tượng // bishop -20,-10,-10,-10,-10,-10,-10,-20, -10, 0, 0, 0, 0, 0, 0,-10, -10, 0, 5, 10, 10, 5, 0,-10, -10, 5, 5, 10, 10, 5, 5,-10, -10, 0, 10, 10, 10, 10, 0,-10, -10, 10, 10, 10, 10, 10, 10,-10, -10, 5, 0, 0, 0, 0, 5,-10, -20,-10,-10,-10,-10,-10,-10,-20, Bảng giá trị cho quân Xe //rook 0, 0, 0, 0, 0, 0, 0, 0, 5, 10, 10, 10, 10, 10, 10, 5, -5, 0, 0, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 5, 5, 0, 0, Bảng giá trị cho quân Hậu : //queen -20,-10,-10, -5, -5,-10,-10,-20, -10, 0, 0, 0, 0, 0, 0,-10, -10, 0, 5, 5, 5, 5, 0,-10, -5, 0, 5, 5, 5, 5, 0, -5, 0, 0, 5, 5, 5, 5, 0, -5, -10, 5, 5, 5, 5, 5, 0,-10, -10, 0, 5, 0, 0, 0, 0,-10, -20,-10,-10, -5, -5,-10,-10,-20 7.Bảng giá trị cho quân Tướng a từ đầu tới trận đấu //king middle game -30,-40,-40,-50,-50,-40,-40,-30, -30,-40,-40,-50,-50,-40,-40,-30, -30,-40,-40,-50,-50,-40,-40,-30, -30,-40,-40,-50,-50,-40,-40,-30, Sinh viên: Phạm Ngọc Anh – D10CNPM3 -20,-30,-30,-40,-40,-30,-30,-20, -10,-20,-20,-20,-20,-20,-20,-10, 20, 20, 0, 0, 0, 0, 20, 20, 20, 30, 10, 0, 0, 10, 30, 20 b Cuối trận đấu // king end game -50,-40,-30,-20,-20,-30,-40,-50, -30,-20,-10, 0, 0,-10,-20,-30, -30,-10, 20, 30, 30, 20,-10,-30, -30,-10, 30, 40, 40, 30,-10,-30, -30,-10, 30, 40, 40, 30,-10,-30, -30,-10, 20, 30, 30, 20,-10,-30, -30,-30, 0, 0, 0, 0,-30,-30, -50,-30,-30,-30,-30,-30,-30,-50 Chú ý:các giá trị cho quân trắng , quân đen phải viết ngược lại Sinh viên: Phạm Ngọc Anh – D10CNPM3 TÀI LIỆU THAM KHẢO Tiếng Việt : Từ Minh Phương (2010) , “ Bài giảng nhập mơn trí tuệ nhân tạo “ : Giải vấn đề tìm kiếm , trang 13-35, Học Viện Cơng Nghệ Bưu Chính Viễn Thơng Đỗ Trung Tuấn (1997), Trí tuệ nhân tạo, NXB Giáo dục Phan Đăng Cầu (2007), “Bài giảng cấu trúc liệu giải thuật “ , Học Viện Cơng Nghệ Bưu Chính Viễn Thơng Danh mục website tham khảo : http://vi.wikipedia.org/wiki/L%C3%BD_thuy%E1%BA%BFt_tr%C3%B2_ch %C6%A1i http://en.wikipedia.org/wiki/Game_theory 3.https://chessprogramming.wikispaces.com/Minimax http://chessprogramming.wikispaces.com/Simplified+evaluation+function Sinh viên: Phạm Ngọc Anh – D10CNPM3

Ngày đăng: 11/07/2016, 22:37

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC BẢNG , SƠ ĐỒ, HÌNH

  • MỞ ĐẦU

  • CHƯƠNG 1 : GIỚI THIỆU VỀ LÝ THUYẾT TRÒ CHƠI

  • 1.1. Giới thiệu về lý thuyết trò chơi

  • 1.2. Biểu diễn trò chơi

    • 1.2.1. Dạng chuẩn tắc

    • 1.2.2. Dạng mở rộng

  • 1.3. Các loại trò chơi trong lý thuyết trò chơi

    • 1.3.1. Trò chơi đối xứng và bất đối xứng

    • 1.3.2. Trò chơi có tổng bằng không và có tổng khác không

    • 1.3.3. Trò chơi đồng thời và trò chơi tuần tự

    • 1.3.4. Trò chơi thông tin hoàn hảo và không hoàn hảo

    • 1.3.5. Trò chơi dài vô tận

  • 1.4. Ứng dụng của lý thuyết trò chơi

    • 1.4.1. Kinh tế và kinh doanh

    • 1.4.2. Sinh học

    • 1.4.3. Khoa học máy tính và logic

    • 1.4.4. Chính trị học

    • 1.4.5. Triết học

  • 1.5. Kết luận

  • CHƯƠNG 2 : TỔNG QUAN VỀ CÁC VẤN ĐỀ TÌM KIẾM

  • 2.1. Bài toán tìm kiếm

  • 2.2. Bài toán tìm kiếm trong không gian trạng thái

    • 2.2.1. Phát biểu bài toán

    • 2.2.2. Một số ví dụ :

    • 2.2.3. Các tiêu chuẩn đánh giá thuật toán tìm kiếm

    • 2.2.4. Thuật toán tìm kiếm tổng quát và cây tìm kiếm

  • 2.3. Tìm kiếm không có thông tin (tìm kiếm mù)

    • 2.3.1. Định nghĩa

    • 2.3.2. Tìm kiếm theo chiều rộng (Breadth-first search – BFS)

    • 2.3.3. Tìm kiếm theo chiều sâu (Depth-First-Search: DFS)

    • 2.3.4. Tìm kiếm sâu dần (Iterative Depending Search - IDS)

  • 2.4. Tìm kiếm có thông tin

    • 2.4.1. Tìm kiếm tham lam (Greedy Search)

    • 2.4.2. Thuật toán A*

  • 2.5. Tìm kiếm cục bộ

  • 2.6. Kết luận

  • CHƯƠNG 3 : THUẬT TOÁN TÌM KIẾM MINIMAX (MIN MAX)

  • 3.1. Giới thiệu về thuật toán Minimax

  • 3.2. Định lý min max

  • 3.3. Giải thuật min max

    • 3.3.1. Ý tưởng

    • 3.3.2. Áp dụng thủ tục minimax đến độ sâu lớp cố định

    • 3.3.3 Thủ tục minimax

    • 3.3.4. Đánh giá

  • 3.4. Thuật toán minimax cải tiến : alpha – beta

    • 3.4.1. Ý tưởng

    • 3.4.2. Giải thuật

    • 3.4.3. Đánh giá

  • 3.5. So sánh giải thuật alpha-beta và giải thuật minimax

  • 3.6. Kết luận

  • CHƯƠNG 4 : ỨNG DỤNG VÀO TRÒ CHƠI CỜ VUA

  • 4.1. Giới thiệu trò chơi cờ vua

  • 4.2. Cơ sở lý thuyết

  • 4.3. Cài đặt chương trình

    • 4.3.1. Cài đặt cho AI

    • Phương thức Minimax

    • Phương thức Alphabeta

  • 4.4. Giao diện trò chơi

  • KẾT LUẬN

  • PHỤ LỤC

  • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan