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

Tìm kiếm có đối thủ trong lĩnh vực trò chơi

23 0 0

Đ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

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN KHOA CÔNG NGHỆ THƠNG TIN ………………………… BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: TÌM KIẾM CĨ ĐỐI THỦ TRONG LĨNH VỰC TRÒ CHƠI Giáo viên hướng dẫn : Th.S LƯU MINH TUẤN Hà Nội 2009 Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi LỜI NĨI ĐẦU Những năm gần đây, nhiều sách, báo, cơng trình nghiên cứu khoa học đề cập đến kỹ thuật tính toán, người ta hay nhắc đến nhiều thuật ngữ như: máy tính thơng minh, máy tính hệ V, hệ chun gia, mạng ngữ nghĩa,…các ngơn ngữ lập trình LISP, PROLOG mở đường cho việc áp dụng loạt hệ thống chương trình có khả “ thơng minh”.Và mơn trí tuệ nhân tạo (AI) nghiên cứu đến việc tạo lập máy tính có khả “ suy nghĩ”, chí số phạm vi hẹp đó, cạnh tranh vượt khả não người Chơi trò chơi ví dụ điển hình khu vực cổ nỗ lực lĩnh vực trí tuệ nhân tạo Năm 1950, máy tính trở nên lập trình được, chương trình chơi cờ viết Shannon( người phát minh lý thuyết thông tin) Alan Turing Kể từ đó, có phát triển mạnh mẽ tiêu chuẩn việc chơi, đạt tới điểm mà hệ thống thời thử thách nhà vơ địch lồi người mà khơng sợ xấu hổ Các nhà nghiên cứu chọn cờ số lý Một máy tính chơi cờ chứng sinh tồn máy khí làm điều mà cần thông minh Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi Trong báo cáo tơi muốn giới thiệu với bạn xét vấn đề sau đây:  Chơi cờ xem vấn đề tìm kiếm khơng gian trạng thái  Chiến lược tìm kiếm nước Minimax  Phương pháp cắt cụt α-β, kỹ thuật để tăng hiệu tìm kiếm Minimax Tơi biết ơn Ths Lưu Minh Tuấn Thầy tạo điều kiện cho để tơi hồn thành tốt báo cáo Tuy có nhiều cố gắng trình soạn thảo, báo cáo khơng tránh khỏi thiếu sót hạn chế Tơi xin chân thành mong bạn đọc góp ý kiến để tơi kịp sửa chữa hồn thiện Mọi ý kiến gửi theo địa chỉ:thamvt2006@gmail.com Tôi xin chân thành cảm ơn! Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi I Cây trị chơi tìm kiếm trò chơi Trong phần quan tâm nghiên cứu trị chơi có hai người tham gia, chẳng han loại cờ(cờ vua, cờ tướng,cờ ca rô…) Một người chơi gọi Trắng, đối thủ gọi Đen Mục tiêu nghiên cứu chiến lược chọn nước cho Trắng Chúng ta xết trò chơi hai người với đặc điểm sau Hai người chơi thay phiên đưa nước tuân theo luật đó, luật cho hai người Điển hình cờ vua, cờ vua hai người chơi áp dụng luật tốt, xe,… để đưa nước Luật tốt Trắng, xe Trắng, …cũng luật tốt Đen, xe Đen, … Một đặc điểm hai người chơi biết thông tin đầy đủ tình trị chơi( không chơi bài, người chơi biết người chơi khác có gì) Vấn đề chơi cờ xem vấn đề tìm kiếm nước đi, lần đến lượt mình, người chơi phải tìm số nhiều nước hợp lệ ( tuân theo luật đi), nước tốt cho qua dãy nước thực hiện, giảnh phần thắng Tuy nhiên vấn đề tìm kiếm phức tạp người chơi đối thủ nước tương lai Sau phát biểu xác vấn đề tìm kiếm Vấn đề chơi cờ xem vấn đề tìm kiếm không gian trạng thái Mỗi trạng thái tình ( bố trí qn hai bên bàn cờ) Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trò chơi  Trạng thái ban đầu xếp quân cờ hai bên lúc bắt đầu chơi  Các toán từ nước hợp lệ  Các trạng thái kết thúc tình mà chơi dừng, thường xác định số điều kiện dừng  Một hàm kết (payoff function) ứng trạng thái kết thúc với giá trị Chẳng hạn cờ vua, trạng thái kết thúc thắng, thua ( Trắng) hịa Do đó, ta xác định hàm kết hàm nhận giá trị trạng thái kết thúc thắng ( Trắng), -1 trạng thái kết thúc thua ( Trắng) trạng thái kết thúc hòa Trong số trò chơi khác, chẳng hạn trị chơi tính điểm, hàm kết nhận giá trị nguyên khoảng [-k,k] với k số nguyên dương Như vấn đề Trắng tìm dãy nước cho xen kẽ với nước Đen tạo thành đường từ trạng thái ban đầu tới trạng thái kết thúc thắng cho Trắng Để thuận lợi cho việc nghiên cứu chiến lược chọn nước đi, ta biểu diễn không gian trạng thái dạng trò chơi Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trò chơi II Cây trò chơi Giới thiệu Cây trò chơi xây dựng sau: Gốc ứng với trạng thái ban đầu, ta gọi đỉnh ứng với trạng thái mà Trắng( Đen) đưa nước đỉnh Trắng( Đen) Nếu đỉnh Trắng ( Đen) ứng với trạng thái u, đỉnh tất đỉnh biểu diễn trạng thái v, v nhận từ u Trắng ( Đen) thực nước hợp lệ Do đó, mức đỉnh Trắng Đen, ứng với trạng thái kết thúc Ví dụ: Xét trị chơi Dodgen( tạo Colin Vout) Có hai quân Trắng hai quân Đen, ban đầu xếp vào bàn cờ 3*3 ( Hình vẽ) Qn Đen tới ô trống bên phải, Qn Trắng tới trống bên trái , bên phải, Quân Đen cột ngồi bên phải khỏi bàn cờ, quân Trắng hàng khỏi bàn cờ Ai đưa hai quân khỏi bàn cờ trước Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi Hàm đánh giá thuật tốn Trong trị chơi Dodgem có thuật tốn sử dụng như: Minimax, Negamax, AlphaBeta… Giả sử Đen trước, ta có trị chơi biểu diễn hình sau: Như để tìm nước tối ưu dành cho quân Đen, ta phải duyệt hết qua tất đường có nó, ta tạo trò chơi Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi III Chiến lược Minimax Giới thiệu Minimax phương pháp lý thuyết định có mục đích tối thiểu hóa tốn thất vốn dự tính “tối đa” Có thể hiểu ngươ Quá trình chơi cờ trình Trắng Đen thay phiên đưa định, thực số nước hợp lệ Trên trò chơi, q trình tạo đường từ gốc tới Giả sử tới thời điểm đó, đường dẫn tới đỉnh u Nếu u đỉnh Trắng ( Đen) Trắng ( Đen) cần chọn tới đỉnh Đen( Trắng) v u Tại đỉnh Đen( Trắng) v mà Trắng ( Đen) phải chọn tới đỉnh Trắng ( Đen) w v Quá trình dừng lại đạt tới đỉnh Giả sử Trắng cần tìm nước đỉnh u Nước tối ưu cho Trắng nước dần tới đỉnh v đỉnh tốt ( cho Trắng) số đỉnh u Ta cần giả thiết rằng, đến lượt đối thủ chọn nước từ v, Đen chọn nước tốt Như vậy, để chọn nước tối ưu cho Trắng đỉnh u, ta cần phải xác định giá trị đỉnh trò chơi gốc u Giá trị đỉnh ( ứng với trạng thái kết thúc) giá trị hàm kết Đỉnh có giá trị lớn tốt cho Trắng, đỉnh có giá trị nhỏ tốt cho Đen Để xác định giá trị đỉnh trò chơi gốc u, ta từ mức thấp lên gốc u Giả sử v đỉnh Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trò chơi giá trị đỉnh xác định Khi v đỉnh Trắng giá trị xác định giá trị lớn giá trị đỉnh Còn v đỉnh Đen giá trị giá trị nhỏ giá trị đỉnh Ví dụ Xét trị chơi, gốc a đỉnh Trắng Giá trị đỉnh số ghi cạnh đỉnh Đỉnh i Trắng, nên giá trị max(3,-2)=3, đỉnh d đỉnh Đen, nên giá trị min(2,3,4) =2 Việc gán giá trị cho đỉnh thực hàm đệ qui MaxVal MinVal Hàm MaxVal xác định giá trị cho đỉnh Trắng, hàm MinVal xác định giá trị cho đỉnh Đen Thuật toán Function MaxVal(u); Begin Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trò chơi If u la đỉnh kết thúc then MaxVal(u)←f(u) Else MaxVal(u)←max{ MinVal(v)| v đỉnh u} End; Function MinVal(u); Begin If u la đỉnh kết thúc then MinVal(u)←f(u) Else MinVal(u)←min{ MinVal(v)| v đỉnh u} End; Trong hàm đệ quy trên, f(u) giá trị hàm kết đỉnh kết thúc u Sau thủ tục chọn nước cho trắng đỉnh u Trong thủ tục Minimax(u,v), v biến lưu lại trạng thái mà Trắng chọn tới từ u Procedure Minimax(u,v); Begin val← -∞; for w đỉnh u if val eval(v), ta khơng cần xuống để đánh giá đỉnh a mà không ảnh hưởng đến đánh giá đỉnh c Hay nói cách khác ta cắt bỏ gốc a Lập luận tương tự cho trường hợp a đỉnh Đen, trường hợp eval(u)< eval(v) ta cắt bỏ gốc a Để cài đặt kỹ thuật cắt cụt alpha-beta, đỉnh nằm đường từ gốc tới đỉnh thời, ta sử dụng tham số α để ghi lại giá trị lớn giá trị đỉnh đánh giá đỉnh Trắng, tham số β ghi lại giá trị nhỏ đỉnh đánh giá đỉnh Đen Giá trị α β cập nhật trình tìm kiếm α β sử dụng biến địa phương hàm MaxVal(u,α,β)( hàm xác định giá trị đỉnh Trắng u) MinVal(u,α, β)(hàm xác định giá trị đỉnh Đen u) Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi Function MaxVal(u,α,β); Begin If u hạn chế u đỉnh kết thúc Then MaxVal ← eval(u) Else for đỉnh v u { α ← max[α, MinVal(v,α,β)]; // cắt bỏ từ đỉnh v lại If α ≥β then exit}; MaxVal ←α; End; Function MinVal(u,α,β) Begin If u hạn chế u đỉnh kết thúc Then MinVal ← eval(u) Else for đỉnh v u { β ← max[β, MinVal(v,α,β)]; // cắt bỏ từ đỉnh v lại If α ≥β then exit}; MinVal ←β; End; Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi Thuật tốn tìm nước cho Trắng sử dụng kỹ thuật cắt cụt alpha-beta, cài đặt thủ tục alpha-beta(u,v), v tham biến ghi lại đỉnh mà Trắng cần tới từ u Procedure alpha_beta(u,v); Begin α← -∞; β← ∞; for đỉnh w u if α≤ MinVal(w,α,β) then {α←MinVal(w,α,β); y←w;} end; Ví dụ Xét trị chơi gốc u( đỉnh Trắng) giới hạn độ cao h=3 Số ghi cạnh giá trị hàm đánh giá Áp dụng chiến lược Minimax kỹ thuật cắt cụt, ta xác định nước tốt cho Trắng u, nước dẫn tới đỉnh v có giá trị 10 Cạnh đỉnh ta cho giá trị cặp tham số (α, β) Khi gọi hàm MaxVal MinVal để xác định giá trị đỉnh Các nhánh bị cắt bỏ hình: Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi Hướng cải thiện việc tỉa nhánh thuật toán AlphaBeta Thuật tốn AlphaBeta 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 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 alpha - beta 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á Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A Đề tài: Tìm kiếm có đối thủ lĩnh vực trị chơi điều kiện lí tưởng tính với trật tự tốt nhất) Ta trở lại phần chương riêng KẾT LUẬN Sinh viên thực hiện: Vũ Thị Thắm CNTT 48A

Ngày đăng: 13/07/2023, 16:33

Xem thêm:

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w