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

Ứng dụng thuật toán Minimax và cắt tỉa Alpha-beta

16 1.6K 3

Đ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

Thuật toán Minimax và cắt tỉa Alpha-beta trong trò chơi Dodgem

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA SAU ĐẠI HỌC - - TIỂU LUẬN TRÍ TUỆ NHÂN TẠO Đề tài: ỨNG DỤNG CỦA THUẬT TOÁN MINIMAX VÀ CẮT TỈA ALPHA BETA TRONG TRÒ CHƠI DODGEM Giảng viên hướng dẫn Học viên thực : PGS.TS Từ Minh Phương : Hoàng Văn Hoãn Lớp Nguyễn Minh Vương : M15CQCS02 Hà nội, tháng 05 năm 2016 Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 MỤC LỤC Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Trong khoa học trí tuệ nhân tạo, mô hình phương pháp biểu diễn tri thức bước ngoặc quan trọng việc thiết kế hệ sở tri thức hệ chuyên gia Ngày nay, có nhiều phương pháp biểu diễn tri thức đề xuất ứng dụng Tri thức hệ chuyên gia biểu diễn theo nhiều phương pháp khác Tùy theo hệ chuyên gia người ta sử dụng đồng thời nhiều phương pháp Mục tiêu biểu diễn tri trức máy tính phục vụ cho việc thu nhận tri thức vào máy tính, truy xuất tri thức thực phép suy luận dựa tri thức lưu trữ Biểu diễn tri thức ứng dụng nhiều toán thực tế, có đến hàng trăm giải thuật Một phương pháp biểu diễn tri thức áp dụng rộng rãi biểu diễn tri thức dựa luật dẫn, có tìm kiếm heuristics Trong tiểu luận em xin trình bày sơ lược phương pháp biểu diễn tri thức ứng dụng giải thuật Minimax phương pháp cắt cụt α, β để giải toán dodgem Việc giải toán đưa toán tìm kiếm không gian trạng thái, tức tìm chiến lược chọn nước hợp lệ cho máy tính Tuy nhiên, vấn đề tìm kiếm phức tạp người chơi trước đối thủ chọn nước Vì nhóm chúng em tìm hiểu số chiến lược tìm kiếm dựa sở thuật toán Minimax phương pháp cắt cụt α, β ứng dụng thuật toán việc giải toán: “Dodgem”, thời gian có hạn nên nhóm chúng em chưa tối ưu toàn không gian trạng thái toán Trong trình thực tiểu luận không tránh khỏi thiếu sót, nhóm chúng em mong nhận bảo thầy góp ý học viên khác lớp Xin chân thành cảm ơn! Hà Nội, ngày 25 tháng năm 2016 Học viên thực Nhóm lớp KHMT Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 I GIỚI THIỆU TRÒ CHƠI DODGEM Trò chơi tổng quát Xét trò chơi hai đối thủ Đỏ(máy tính) Black(con người) Hai “người” thay phiên thực nước cách áp dụng luật chơi cho trước xác định Các luật hai người chơi Ta có nhận xét sau đây: – Các trò chơi biểu diễn không gian trạng thái – Mỗi tình (configuration) trò chơi biểu diễn trạng thái – Các luật chơi tương ứng với phép biến đổi trạng thái – Trạng thái bắt đầu trò chơi cho trước Trạng thái mà có nước hợp lệ thực gọi trạng thái kết thúc Có thể có tập trạng thái kết thúc Không gian tìm kiếm trò chơi biểu diễn trò chơi sau: gốc ứng với trạng thái xuất phát, đỉnh tương ứng với trạng thái bàn cờ, cung (u,v) có biến đổi từ trạng thái u đến trạng thái v Các đỉnh gán nhãn đỉnh Đỏ (Đen) ứng với trạng thái mà quân Đỏ (Đen) đửa nước Nếu đỉnh u gán nhãn Đỏ (Đen) đỉnh v tất trạng thái nhận từ u Đỏ (Đen) thực nước đị hợp lệ Do vậy, đỉnh mức có nhãn Đỏ có nhãn Đen, ứng với trạng thái kết thúc Giới thiệu trò chơi Dodgem Trò chơi Dogem sáng tạo Volin Vout (Berlek amp et al, 1982) Dodgem chess game, giống cờ Caro hay cờ tướng,… Là thể loại game có người chơi Một người Min, người lại Max Hai người chơi thay phiên đưa Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 nước theo quy luật Dodgem tạo gồm hai quân Đen hai quân Đỏ xếp vào bàn cờ 3*3 với luật chơi sau: Hình Trò chơi Dodgem + Quân đen: phép lên trên, sang phải xuống Quân đen đưa cột bên phải + Quân đỏ: phép lên trên, sang trái sang phải Quân đỏ đưa hàng bàn cờ Hình Quân đỏ quân đen đưa Trò chơi kết thúc người đưa hết quân cờ chặn không cho quân đối phương di chuyển Ngoài ra, quân Đỏ cản trực tiếp quân Đen, thêm 40 điểm, cản gián tiếp thêm 30 điểm (hình 3, hình 4) Tương tự, quân Đen cản trực tiếp quân Đỏ thêm -40 điểm, cản gián tiếp thêm -30 điểm Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Hình Quân đỏ cản trực tiếp quân đen 40 điểm Hình Quân đỏ cản gián tiếp quân đen 30 điểm Hình Các giá trị quân đỏ bàn cờ khỏi bàn cờ Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Hình Các giá trị quân đen bàn cờ khỏi bàn cờ Hình Cây trò chơi Dodgem với Đen trước II THUẬT TOÁN MINIMAX VÀ CẮT TỈA ALPHA BETA Thuật toán Minimax Quá trình chơi trình Đỏ Đen thay phiên đưa nước hợp lệ đến dẫn đến trạng thái kết thúc chơi Quá trình biểu diễn đường từ nút gốc tới nút trò chơi Giả sử đỉnh u đường đi, u đỉnh Đỏ (Đen) cần chọn nước đến đỉnh Đen (Đỏ) v u Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Tại đỉnh Đen (Đỏ) v chọn tiếp đến đỉnh Đỏ (Đen) w v Quá trình tiếp tục đạt đến đỉnh Chiến lược tìm nước Đỏ hay Đen tìm nước dẫn tới trạng thái tốt cho tồi cho đối thủ Giả sử Đỏ cần tìm nước đỉnh u, nước tối ưu cho Đỏ nước dẫn tới đỉnh v cho v tốt số đỉnh u Đến lượt Đen chọn nước từ v, Đen chọn nước tốt cho Để chọn nước tối ưu cho Đỏ đỉnh u, cần xác định giá trị đỉnh trò chơi gốc u Giá trị đỉnh ứng với giá trị hàm kết Đỉnh có giá trị lớn tốt cho Đỏ, đỉ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 (các đỉnh lá) lên gốc u Giả sử cần xác định giá trị đỉnh v mà đỉnh xác định Khi đó, v đỉnh Đỏ giá trị giá trị lớn đỉnh con, v đỉnh Đen giá trị giá trị nhỏ đỉnh 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 Đỏ, hàm MinVal xác định giá trị cho đỉnh Đen Hình Cây trò chơi áp dụng thuật toán Minimax Thuật toán Minimax với cắt tỉa alpha-beta Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Trong chiến lược Minimax với độ sâu hạn chế số đỉnh trò chơi phải xét lớn với h>=3 Khi đánh giá đỉnh u tới độ sâu h, thuật toán Minimax đòi hỏi phải đánh giá tất đỉnh gốc u với độ sau h Tuy nhiên, phương pháp cắt cụt alpha-beta cho phép cắt bỏ nhánh không cần thiết cho việc đánh giá đỉnh u Phương pháp làm giảm bớt số đỉnh phải xét mà không ảnh hưởng đến kết đánh giá đỉnh u + Nút MAX có giá trị α (luôn tăng) + Nút MIN có giá trị β (luôn giảm) + Tìm kiếm kết thúc bất kỳ: - Nút MIN có β ≤ α nút cha MAX - Nút MAX có α ≥ β nút cha MIN Hình 8, Trạng thái kết thúc tìm kiếm Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Ý tưởng: Giả sử thời điểm đỉnh Đỏ a, đỉnh a có anh em v đánh giá Giả sử cha đỉnh a b, b có anh em u đánh giá, cha b c hình sau: Hình 10 Cắt bỏ gốc a eval(u) > eval(v) Hình 11 Cắt tỉa Alpha Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang 10 Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Hình 12 Cây trò chơi áp dụng cắt tỉa Alpha-beta III CÀI ĐẶT THUẬT TOÁN Thuật toán Minimax procedure Minimax(u, v); Begin val ¬ -∞; for w đỉnh u If val = β then exit}; /*cắt bỏ từ đỉnh v lại */ MaxVal(w, α, β) ¬ α IV DEMO CHƯƠNG TRÌNH Giới thiệu chương trình + Chương trình thiết kế Visual studio Express 2013 môi trường Visual Basic, áp dụng giải thuật Minimax cắt tỉa Alpha-beta Hình 13 Giao diện chương trình Một số chức chương trình Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang 13 Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 + New: Là chức chơi lượt Hình 14 Chức New + Reset: Là chức chơi lại Hình 15 Chức Reset Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang 14 Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 + About: Là chức giới thiệu luật chơi Hình 16 Chức About + Quit: Là chức thoát khỏi trò chơi Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang 15 Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 KẾT LUẬN Việc nắm bắt giải thuật quan trọng, áp dụng giải thuật toán thực tế điều quan trọng Các toán thực tế không trọn vẹn mô hình lý thuyết, bù lại, lại có tính “thực tế”; sử dụng yếu tố thực tế vào ứng dụng đem lại sức sống cho ứng dụng đó, chương trình “cư xử thông minh hơn”, có tính định hướng tốt qua thân thiện với người sử dụng Nhưng trước xây dựng ứng dụng vậy, thử sức với Dodgem Có thể có nhiều phương pháp để giải toán kể trên, sử dụng thuật toán Minimax phương pháp cắt tỉa Alpha-beta Ta mở rộng toán giải bảng số có dạng nxn, cách làm tương tự nhiên ta cần tính toán lại cách thức để kiểm tra xem trạng thái bảng số có hợp lệ không Chương trình tạm chấp nhận với mức Dodgem 3x3, nhiên muốn giải toán với n tương đối lớn ta cần tìm giải pháp khác Xin chân thành cảm ơn! Nhóm 5: Hoàng Văn Hoãn; Nguyễn Minh Vương trang 16 [...]... giải quyết các bài toán kể trên, ở đây chúng ta sử dụng thuật toán Minimax và phương pháp cắt tỉa Alpha-beta Ta có thể mở rộng bài toán và giải được những bảng số có dạng nxn, cách làm cũng tương tự tuy nhiên ta cần tính toán lại cách thức để kiểm tra xem trạng thái của bảng số có hợp lệ không Chương trình này có thể tạm chấp nhận với mức Dodgem 3x3, tuy nhiên nếu muốn giải được bài toán với n tương...Tiểu luận Minimax – Alpha Beta với trò chơi Dodgem Lớp: M15CQCS02 Hình 12 Cây trò chơi áp dụng cắt tỉa Alpha-beta III CÀI ĐẶT THUẬT TOÁN 1 Thuật toán Minimax procedure Minimax( u, v); Begin val ¬ -∞; for mỗi w là đỉnh con của u do If val

Ngày đăng: 25/05/2016, 08:55

Xem thêm: Ứng dụng thuật toán Minimax và cắt tỉa Alpha-beta

TỪ KHÓA LIÊN QUAN

w