BÁO cáo đồ án môn TRÍ TUỆ NHÂN tạo TRÒ CHƠI ô ăn QUAN

48 16 0
BÁO cáo đồ án môn TRÍ TUỆ NHÂN tạo TRÒ CHƠI ô ăn QUAN

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN MƠN TRÍ TUỆ NHÂN TẠO TRỊ CHƠI Ô ĂN QUAN Lớp: CS106.G22 Huỳnh Thị Thanh Thương Phạm Nguyễn Trường An GVTH: Hoàng Thị Thượng - 14520929 Đống Minh Trường - 14521027 Nhóm sinh viên thực hiên: Nguyễn Xuân Vũ 14521103 GVLT: TP Hồ Chí Minh, tháng 07 năm 2016 Đồ án Trí tuệ nhân tạo 3.4 Ví dụ minh họa thuật tốn 29 CHƯƠNG 4: ỨNG DỤNG .33 4.1 Giới thiệu chương trình ứng dụng 33 4.2 Cài đặt 35 4.2.1 Ngôn ngữ công cụ sử dụng 35 4.2.2 Các hàm đoạn code 35 4.3 Kết chạy chương trình 39 4.2.1 Kết thử nghiệm 39 CHƯƠNG 5: KẾT LUẬN 41 5.1 Kết đạt 41 5.2 Hạn chế 41 Đồ án Trí tuệ nhân tạo 5.3 Hướng phát triển 41 TÀI LIỆU THAM KHẢO 42 Bảng phân công công việc MSSV 14520929 14521103 Họ tên Hồng Thị Thượng Nguyễn Xn Vũ Cơng việc thực - Lên ý tưởng phân công công việc - Thiết kế code giao diện - Code chức giao diện trở Menu, tiến lùi, chạy nhạc - Viết báo cáo - Code phụ đóng góp phần AI - Test game - Thảo luận đưa ý tưởng - Đóng góp ý kiến thiết kế giao diện - Code - Code xử lý nước - Hỗ trợ bạn code - Code AI Minimax độ sâu cố định Mức độ hoàn thành Nhận xét - Hoàn thành tốt tham gia họp đầy đủ 100 Hoàn thành tốt tham gia họp đầy đủ 100 Đồ án Trí tuệ nhân tạo 14521027 Đống Minh Trường - Thảo luận đóng góp ý tưởng giao diện - Code AI Minimax có độ sâu d cắt tỉa - Test game - Đóng góp ý kiến báo cáo - Hoàn thành tốt tham gia họp đầy đủ 100 CHƯƠNG 1: GIỚI THIỆU BÀI TỐN 1.1 NGUỒN GỐC TRỊ CHƠI Ơ ăn quan, hay cịn gọi tắt ăn quan quan trị chơi dân gian trẻ em Việt Nam mà chủ yếu bé gái Đây trị chơi có tính chất chiến thuật thường dành cho hai ba người chơi sử dụng vật liệu đa dạng, dễ kiếm để chuẩn bị cho trò chơi Hiện chưa rõ nguồn gốc thời điểm bắt đầu chắn Ơ ăn quan có Việt Nam từ lâu đời, lấy cảm hứng từ cánh đồng lúa nước nơi Những câu truyện lưu truyền Mạc Hiển Tích (chưa rõ năm sinh, năm mất), đỗ Trạng nguyên năm 1086 nói ơng có tác phẩm bàn phép tính trị chơi Ơ ăn quan đề cập đến số ẩn (số âm) ô trống xuất chơi Ô ăn quan phổ biến khắp ba miền Bắc, Trung, Nam Việt Nam năm gần trẻ em chơi Bảo tàng Dân tộc học Việt Nam có trưng bày, giới thiệu hướng dẫn trị chơi Theo nhà nghiên cứu, ăn quan thuộc họ trò chơi mancala, tiếng Ả Rập manqala minqala (khi phát âm, trọng âm rơi vào âm tiết đầu Syria âm tiết thứ hai (Ai Cập) có nguồn gốc từ động từ naqala có nghĩa di chuyển Bàn chơi mancala diện Ai Cập từ thời kỳ Đế chế (khoảng 1580 1150 TCN) Tuy nhiên khoảng trống lần xuất với tồn mancala Ceylon(Srilanka) năm đầu Công nguyên Ả Rập trước thời Muhammad.(2) 1.2 MƠ TẢ TRỊ CHƠI Chuẩn bị Bàn chơi: bàn chơi Ô ăn quan kẻ mặt tương đối phẳng có kích thước linh hoạt miễn chia đủ số cần thiết để chứa quân đồng thời không lớn để thuận tiện cho việc di chuyển quân, tạo đất, vỉa hè, miếng gỗ phẳng Bàn chơi kẻ thành hình chữ nhật chia hình chữ nhật thành mười vng, bên có năm đối xứng Ở hai cạnh ngắn hình chữ nhật, kẻ hai hình bán nguyệt hình vịng cung hướng phía ngồi Các hình vng gọi dân cịn hai hình bán nguyệt vịng cung gọi ô quan Quân chơi: gồm hai loại quan dân, làm thu thập từ nhiều chất liệu có hình thể ổn định, kích thước vừa phải để người chơi cầm, nắm nhiều qn bàn tay chơi Quan có kích thước lớn dân đáng kể cho dễ phân biệt với Quân chơi viên sỏi, gạch, đá, hạt số loại sản xuất công nghiệp từ vật liệu cứng mà phổ biến nhựa Số lượng quan cịn dân có số lượng tùy theo luật chơi phổ biến 50 Bố trí quân chơi: quan đặt hai hình bán nguyệt cánh cung, qn, dân bố trí vào ô vuông với số quân nhau, ô dân Trường hợp khơng muốn khơng thể tìm kiếm quan phù hợp thay quan cách đặt số lượng dân quy đổi vào ô quan Người chơi: thường gồm hai người chơi, người phía ngồi cạnh dài hình chữ nhật vng bên thuộc quyền kiểm sốt người chơi bên Luật chơi Mục tiêu cần đạt để giành chiến thắng: người thắng trò chơi người mà chơi kết thúc có tổng số dân quy đổi nhiều Tùy theo luật chơi địa phương thỏa thuận hai người chơi phổ biến quan quy đổi 10 dân dân Di chuyển quân: người chơi đến lượt di chuyển dân theo phương án để ăn nhiều dân quan đối phương tốt Người thực lượt thường xác định cách oẳn hay thỏa thuận Khi đến lượt, người chơi dùng tất số qn có qn người chọn số vng thuộc quyền kiểm sốt để rải vào ơ, ô quân, ô gần rải ngược hay xi chiều kim đồng hồ tùy ý Khi rải hết quân cuối cùng, tùy tình mà người chơi phải xử lý tiếp sau: Nếu liền sau vng có chứa qn tiếp tục dùng tất số quân để rải chiều chọn Nếu liền sau trống (khơng phân biệt ô quan hay ô dân) đến ô có chứa quân người chơi ăn tất số qn Số qn bị ăn loại khỏi bàn chơi để người chơi tính điểm kết thúc Nếu liền sau có qn bị ăn lại ô trống đến có qn người chơi có quyền ăn tiếp qn Do chơi có phương án rải quân làm cho người chơi ăn hết toàn số quân bàn chơi lượt Một có nhiều dân thường trẻ em gọi nhà giàu, nhiều dân gọi giàu sụ Người chơi kinh nghiệm tính tốn phương án nhằm ni nhà giàu ăn để nhiều điểm Nếu liền sau quan có chứa qn trống trở lên sau vừa ăn người chơi bị lượt quyền tiếp thuộc đối phương Trường hợp đến lượt ô vng thuộc quyền kiểm sốt người chơi khơng có dân người phải dùng dân ăn để đặt vào dân để thực việc di chuyển qn Nếu người chơi khơng đủ dân phải vay đối phương trả lại tính điểm Cuộc chơi kết thúc toàn dân quan hai ô quan bị ăn hết Trường hợp hai ô quan bị ăn hết cịn dân qn hình vng phía bên coi thuộc người chơi bên ấy; tình gọi hết quan, tàn dân, thu quân, kéo hay hết quan, tàn dân, thu quân, bán ruộng Ơ quan có dân (có số dân nhỏ phổ biến coi ít) gọi quan non để chơi không bị kết thúc sớm cho tăng phần thú vị, luật chơi quy định không ăn quan non, rơi vào tình bị lượt Biến thể Số dân ô vuông 10 và/hoặc quan ngồi quan cịn có thêm 20 hay 30 dân Khi quân cuối rải xuống, liền sau quan người chơi lượt dù có chứa qn hay khơng Khi đến lượt người chơi tính tốn phương án khoảng thời gian hợp lý phải mà không phép tính tốn Ơ ăn quan chơi với người chơi cách di chuyển quân, thể thức tính điểm giống chơi hai người bàn chơi thiết kế khác cho phù hợp CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 TÌM KIẾM CĨ ĐỐI THỦ Tìm kiếm ln thao tác móng cho nhiều tác vụ tính tốn Các tốn tìm kiếm bao gồm việc tìm cách tốt để thu thơng tin cần cho định Mỗi toán chứa tốn tìm kiếm theo chiều hướng đó, tình tồn việc tìm kiếm cần phải xử lý là: kiểm tra tài khoản, tra điều khiển chất lượng Một cách tổng quát, tìm kiếm hiểu tìm đối tượng thỏa mãn địi hỏi tập hợp rộng lớn đối tượng Chúng ta kể nhiều vấn đề mà việc giải quy vấn đề tìm kiếm Trong cờ Ơ ăn quan vậy, vấn đề tìm kiếm thể chỗ, số nhiều nước thực hiện, người chơi phải tìm nước có ưu thắng Khi muốn giải vấn đề tìm kiếm, trước hết ta phải xác định khơng gian tìm kiếm Khơng gian tìm kiếm bao gồm tất đối tượng mà ta cần quan tâm để tìm đối tượng yêu cầu Một cách chung nhất, nhiều toán phức tạp có dạng “tìm đường đồ thị” hay nói cách hình thức “xuấtphát từ đỉnh đồ thị, tìm đường hiệu đến đỉnh đó”” Một phát biểu khác thường gặp dạng toán là: Cho trước hai trạng thái T0 TG xây dựng chuỗi trạng thái T0, T1, T2, ■■■, Tn1, Tn = TG cho : ^n PcostCT^, T) thỏa mãn điều kiện cho trước (thường nhỏ nhất) Trong cờ Ô ăn quan, cách bố trí quân cờ bàn cờ trạng thái Trạng thái ban đầu xếp quân cờ lúc đầu chơi Mỗi bước hợp lệ phép chuyển trạng thái, biến đổi trạng thái bàn cờ thành trạng thái khác Như vậy, ta xác định yếu tố: - Trạng thái bắt đầu (TTBĐ): Trạng thái sơ khởi bàn cờ - Trạng thái kết thúc (TTKT): Trạng thái ván cờ kết thúc (gồm nhiều trạng thái thỏa điều kiện) - Tập hợp toán tử chuyển trạng thái: Tập nước hợp lệ trạng thái CHƯƠNG 4: ỨNG DỤNG 4.1 GIỚI THIỆU CHƯƠNG TRÌNH ỨNG DỤNG Trị chơi Ô ăn quan 4.1.1 Hệ thống Menu game Menu chứa đối tượng lựa chọn: - Chơi mới: Chọn để bắt đầu chơi game Sau chọn lên cửa sổ để chơi game - Thông tin: Sẽ lên thông tin người viết game - Tùy chọn: Hiện lên cấp độ chơi - Hiệu ứng âm thanh: Âm di chuyển ăn quân - Nhạc nền: Bật tắt nhạc - Hướng dẫn: Xem hướng dẫn để chơi 4.1.2 Giao diện game Menu: Play game: chuột vào biểu tượng Trở Menu tới nước sau (nếu có) cách click chuột vào 4.1.3 Các nút chức game :Chức Undo - Redo: người chơi thu hồi nước cờ cách click Chơi lại Chơi lại Chọn chiều di chuyển qua phải Chọn chiều di chuyển qua trái Bật tắt âm Lựa chọn câp chơi - Chức hiển thị lượt chơi: tới lượt chơi quân hình lên lượt đánh qn Chọn nước đì hưởng 4.2 CÀI ĐẶT 4.2.1 Ngôn ngữ công cụ sử dụng Để xây dựng game Ơ ăn quan , nhóm sử dụng: - Ngơn ngữ lập trình: C# ngơn ngữ mạnh mẽ Tuy nhiên đề tài này, nhóm lựa chọn ngơn ngữ C# dễ thao tác phù hợp với cơng cụ lập trình - Cơng cụ: Visual Studio, Photoshop để thiết kế giao diện 4.2.2 Các hàm đoạn code Vì trọng tâm đề tài trí tuệ nhân tạo cho game, nên nhóm trình bày đoạn code - Hàm Minimax public int[] MinimaxSearch(Node hientai, int d) { //Lượng giá node hientai int f = DeQuy(hientai, d, -500, if (DANHSACHốI.Count == 0) { int vitri = 0; int chieu = 1; if (!hientai.luotnguoi) { for (int i = 1; i 0) 500); i++) { vitri = i; break; } } else { for (int i = 7; i 0) i++) { vitri = i; break; } return new int[] { vitri, chieu }; } } - Hàm Đệ quy: dùng để cắt tỉa _ public int DeQuy(Node node, int depth, int alpha, int beta) { //Khi gặp node kết thúc game độ sâu = trả độ tốt node qua //hàm DanhGia() if ((node.s[0] == && node.s[6] == 0) || depth = && s[7] == && s[8] == && s[9] == && s[10] == && s[11] == 0)) { s[7] = 1; s[8] = 1; s[9] = 1; s[10] = 1; s[11] = 1; diemnguoi = diemnguoi - 5; ThayDoi(); } if ((luotnguoi ==false) && diemmay >= && s[1] == && s[2] == && s[3] == && s[4] == && s[5] ==0) { _ _ s[1] = 1; s[2] = 1; s[3] = 1; s[4] = 1; s[5] = 1; diemmay = diemmay -5; ThayDoi(); } } } 4.3 KẾT QUẢ CHẠY CHƯƠNG TRÌNH 4.2.1 Kết thử nghiệm - Các nước thực luật trò chơi - Các chức Undo, Redo hoạt động - Các hiệu ứng âm hoạt động tốt Kết thúc game: - Máy thắng Bạn thắng CHƯƠNG 5: KẾT LUẬN 5.1 KẾT QUẢ ĐẠT ĐƯỢC - Game chạy luật trị chơi - Đã hồn thành chức game - Có hiệu ứng âm - Giao diện dễ dùng có chức Nhóm ưng ý với giao diện cần hồn thiện thêm - Tìm hiểu hiểu cách máy tính lựa chọn nước đi, tính tốn trước nhiều bước giống suy nghĩ người, thông qua giải thuật Minimax, Alpha-beta - Đã ứng dụng hàm đánh giá heuristic dựa kinh nghiệm người - Có cấp độ cho người chơi lựa chọn 5.2 HẠN CHẾ - Chưa có chế độ người chơi - Cách chọn cấp độ - Chưa đưa thời gian vào game - Chưa cài đặt danh sách lưu điểm người chơi Và chưa có form thơng báo kết riêng lên hình 5.3 HƯỚNG PHÁT TRIỂN - Khắc phục mặt hạn chế, hoàn thiện chức game - Tối ưu hóa vấn đề game: tăng thông minh cho máy mà tránh việc tràn nhớ - Thiết game cho người chơi - Hoàn thiện giao diện TÀI LIỆU THAM KHẢO (1) Slides Trí Tuệ Nhân Tạo - Ms Huỳnh Thị Thanh Thương (2) wikipedia.org/wiki/%C3%94_%C4%83n_quan (3) Giáo trình Trí tuệ nhân tạo ... chơi phổ biến 50 Bố trí quân chơi: quan đặt hai hình bán nguyệt cánh cung, ô quân, dân bố trí vào vng với số qn nhau, ô dân Trường hợp không muốn tìm kiếm quan phù hợp thay quan cách đặt số lượng... biệt ô quan hay ô dân) đến có chứa qn người chơi ăn tất số qn Số qn bị ăn loại khỏi bàn chơi để người chơi tính điểm kết thúc Nếu liền sau có qn bị ăn lại trống đến có qn người chơi có quyền ăn. .. ăn để đặt vào dân để thực việc di chuyển quân Nếu người chơi không đủ dân phải vay đối phương trả lại tính điểm Cuộc chơi kết thúc tồn dân quan hai ô quan bị ăn hết Trường hợp hai ô quan bị ăn

Ngày đăng: 01/04/2022, 08:17

Hình ảnh liên quan

Bảng phân công công việc - BÁO cáo đồ án môn TRÍ TUỆ NHÂN tạo TRÒ CHƠI ô ăn QUAN

Bảng ph.

ân công công việc Xem tại trang 3 của tài liệu.
ngắn hơn của hình chữ nhật, kẻ hai ô hình bán nguyệt hoặc hình vòng cung hướng ra phía ngoài - BÁO cáo đồ án môn TRÍ TUỆ NHÂN tạo TRÒ CHƠI ô ăn QUAN

ng.

ắn hơn của hình chữ nhật, kẻ hai ô hình bán nguyệt hoặc hình vòng cung hướng ra phía ngoài Xem tại trang 6 của tài liệu.

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

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

Tài liệu liên quan