Báo cáo đồ án minimax

12 263 0
Báo cáo đồ án minimax

Đ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

BÁO CÁO ĐỒ ÁN Lê Văn Đạt-Nguyễn Bá Công lớp HP: 1022470.1820.17.16 Đề tài: Phân tích thiết kế giải thuật minimax Điểm Bảng phân chia nhiệm vụ Nguyễn Bá Công Lê Văn Đạt Chữ ký sinh viên Phân công nhiệm vụ đảm bảo tiến độ thành viên Tổng hợp viết báo cáo hoàn chỉnh Lời cam đoan: Chúng tơi, gồm sinh viên có chữ ký trên, cam đoan báo cáo tự viết dựa tài liệu tham khảo ghi rõ phần III Các số liệu thực nghiệm mã nguồn chương trình khơng dẫn nguồn tham khảo tự làm Nếu vi phạm chúng tơi xin chịu trách nhiệm tuân theo xử lý giáo viên hướng dẫn MỤC LỤC I II III IV I GIỚI THIỆU THUẬT TỐN MINIMAX ……………………………….………3 Thuật tốn Minimax ………………………………………………3 Xét ví dụ Nim game……………………………………………3 Cài đặt thuật tốn ………………………………………………….5 Độ phức tạp thuật tốn………………………………………… TRỊ CHƠI TIC TẮC TỊE…………………………………………………6 Giới thiệu trò chơi………………………………………………….6 Mục tiêu trò chơi…………………………………………………6 Hướng giải quyết………………………………………6 Thuật tốn………………………………………………………9 Giới thiệu chương trình …………………………………………11 KẾT LUẬN …….………………………………………………………………12 TÀI LIỆU THAM KHẢO……………………………………………12 GiỚI THIỆU THUẬT TOÁN MINIMAX 1) Thuật Toán Minimax Minimax thuật toán đệ quy lựa chọn bước trò chơi có hai người cách định giá trị cho Node trò chơi sau tìm Node có giá trị phù hợp để bước Thuật toán minimax phù hợp với game đối kháng hai người chơi luân phiên đánh cờ vua, cờ tướng, cờ caro Khi chơi bạn khai triển hết khơng gian trạng thái khó khăn chủ yếu bạn phải tính tốn phản ứng nước đối thủ nào? Cách xử lý đơn giản bạn giả sử đối thủ bạn sử dụng kiến thức không gian trạng thái giống bạn Giải thuật Minimax áp dụng giả thuyết để tìm kiếm khơng gian trạng thái trò chơi 2) Xét ví dụ Nim Game Nim game trò chơi gồm có n (n >2 ) đồng xu Ở bước đi, người chơi chia đồng xu thành hai đống nhỏ có số lượng khác Người thua người không chia đồng xu theo yêu cầu toán Ta đặt tên cho hai người chơi MIN MAX MAX ln tìm cách tối đa ưu mình, MIN tìm cách để đưa MAX vào khó khăn ,mỗi mức sơ đồ ứng với đấu thủ, gán giá trị nút MAX thắng MIN thắng, biểu đồ trò chơi Nim biểu diễn hình sau : MIN MAX 5-1-1 MIN MAX MIN 6-1 4-2-1 4-1-1-1 MAX 5-2 1 f77 3-1-1-1-1 4-3 3-2-2 0 3-2-1-1 1 2-2-2-1 2-2-1-1-1 2-1-1-1-1-1 Ta truyền ngược giá trị từ nút gốc theo nguyên tắc:  Nếu đỉnh mức MAX , gán giá trị cho đỉnh giá trị lớn giá trị đỉnh  Nếu đỉnh mức MIN , gán giá trị cho đỉnh giá trị nhỏ giá trị đỉnh 3) Cài đặt thuật tốn 3-3-1 Hàm tìm giá trị lớn Int MaxVal(u) { If (u đỉnh kết thúc) MaxVal(u)=f(u); else MaxVal(u)=Max { MinVal(v)|v đỉnh concủa u } }; Hàm tìm giá trị nhỏ Int MinVal(u) { If (u đỉnh kết thúc) MinVal(u)=f(u); else MinVal(u)=Min { MaxVal (v)|v đỉnh u } }; Hàm Minimax Void Minimax(u,v) { Val -∞; For w đỉnh u { if( val _Dong; set => _Dong = value; } public int Cot { get => _Cot; set => _Cot = value; } public Point Vitri { get => _Vitri; set => _Vitri = value; } public int Sohuu { get => _Sohuu; set => _Sohuu = value; } public Oco(int dong,int cot,Point vitri,int sohuu) { this.Dong = dong; this.Cot = cot; this.Vitri = vitri; this.Sohuu = sohuu; } public Oco() { } } class Banco { private int _Sodong; private int _Socot; public Banco(int sodong,int socot) { this.Sodong = sodong; this.Socot = socot; } public int Sodong { get => _Sodong; set => _Sodong = value; } public int Socot { get => _Socot; set => _Socot = value; } public void Vebanco(Graphics g) { for(int i=0;i

Ngày đăng: 19/02/2020, 22:46

Từ khóa liên quan

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

Tài liệu liên quan