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

Tìm kiếm có đối thủ

10 712 1

Đ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 10
Dung lượng 159,5 KB

Nội dung

Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ Tìm kiếm có đối thủ

Chương IV Tìm kiếm có đối thủ Nghiên cứu máy tính chơi cờ xuất sớm Không lâu sau máy tính lập trình đời vào năm 1950, Claude Shannon viết chương trình chơi cờ nhà nghiên cứu Trí Tuệ Nhân Tạo nghiên cứu việc chơi cờ, máy tính chơi cờ chứng rõ ràng khả máy tính làm công việc đòi hỏi trí thông minh người Trong chương 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 4.1 Cây trò chơi tìm kiếm trò chơi Trong chương quan tâm nghiên cứu trò chơi có hai người tham gia, chẳng hạn 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 (Máy tính cầm quân 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, 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 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 vấn đề tìm kiếm mà xét chương trước, có đối thủ, Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang 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 (sự bố trí quân hai bên bàn cờ) • 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 (đối với Trắng) hòa Do đó, ta có thễ xác định hàm kết hàm nhận giá trị trạng thái kết thúc thắng (đối với Trắng), -1 trạng thái kết thúc thua (đối với 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 là, 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 Cây trò chơi 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 hặc Đen, ứng với trnạg thái kết thúc Ví dụ: Xét trò chơi Dodgen (được 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ẽ) Quân Đen tới ô trống bên phải, Quân Trắng tới trống bên trái, bên phải, Quân Đen cột bên Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang 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 thắng, tạo tình bắt đối phương không thắng Giả sử Đen trước, ta có trò chơi biểu diễn hình 4.2 4.2 Chiến lược Minimax 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, 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) vừa chọn, Đen (Trắng) 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 cho 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 Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang gốc u, ta từ mức thấp lên gốc u Giả sử v đỉnh 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 hình 4.3, 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) = 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 function MaxVal(u); begin if u đỉ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 đỉnh kết thúc then MinVal(u) ← f(u) else MinVal(u) ← min{MaxVal(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 Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang procedure Minimax(u, v); begin val ← -∞; for w đỉnh u if val eval(v), ta không cần Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang xuống để đánh giá đỉnh a mà không ảnh hưởng dế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) 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 Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang then MinVal ← eval(u) else for đỉnh v u {β ← min[β, MaxVal(v, α, β)]; // Cắt bỏ từ đỉnh v lại if α ≥ β then exit}; MinVal ← β; end; Thuật toá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, α, β); v ← w;} end; Ví dụ Xét trò chơi gốc u (đỉnh Trắng) giới hạn độ cao h = (hình 4.8) 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: Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang Gi¸o tr×nh TrÝ TuÖ Nh©n T¹o - §inh M¹nh Têng Ch¬ng 4- Trang 10 ... lại rằng, chiến lược tìm kiếm Minimax chiến lược tìm kiếm theo độ sâu Giả sử trính tìm kiếm ta xuống đỉnh a đỉnh Trắng, đỉnh a có người anh em v đánh giá Giả sử cha đỉnh a b b có người anh em u... Phương pháp cắt cụt alpha - beta Trong chiến lược tìm kiếm Minimax, để tìm kiếm nước tốt cho Trắng trạng thái u, cho dù ta hạn chế không gian tìm kiếm phạm vi trò chơi gốc u với độ cao h, số đỉnh...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 (sự bố

Ngày đăng: 08/12/2016, 15:37

TỪ KHÓA LIÊN QUAN

w