1. Trang chủ
  2. » Cao đẳng - Đại học

Đồ án huấn luyện AI chơi game mario

14 3 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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 1,05 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN MÔN HỌC ĐỒ ÁN Đề tài: Huấn luyện AI chơi game Mario ❖ Giảng viên hướng dẫn ❖ Ths Huỳnh Tuấn Anh ❖ Lớp ❖ SE121.L21.PMCL ❖ Sinh viên thực ❖ Hoàng Phan Lê - 17520677 Tp Hồ Chí Minh, tháng 06 năm 2021 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN , ngày tháng ……… năm 2021 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Trong trình làm bài báo cáo, em nhận giúp đỡ, đóng góp ý kiến và bảo nhiệt tình thầy cơ, gia đình và bạn bè Em xin gửi lời cảm ơn chân thành đến thầy Huỳnh Tuấn Anh - giảng viên khoa Công nghệ phần mềm - Trường ĐH CNTT- ĐHQG Tp HCM người tận tìnhướng dẫn, góp ý và bảo em suốt trình làm báo cáo Ngoài ra, em xin gửi lời cảm ơn đến thầy cô giáo trường ĐH CNTT- ĐHQG Tp HCM nói chung, thầy Khoa Cơng nghệ phần mềm nói riêng dạy dỗ cho em kiến thức lập trình, qua em có sở lý thuyết vững vàng và từ hoàn thành tốt đồ án Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, tạo điều kiện, quan tâm, giúp đỡ, động viên em suốt trình hoàn thành đồ án Thành phố Hồ Chí Minh, ngày 30 tháng 06 năm 2021 Table of Contents NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .2 LỜI CẢM ƠN I Tổng Quan 1.1 Giới thiệu đề tài .4 1.1.1 Tổng quan 1.1.2 Giới thiệu bài toán 1.2 Mục tiêu,phương pháp thực hiện,đóng góp 1.2.1.1 Mục tiêu .6 1.2.1.2 Phương pháp thực 1.2.1.3 Đóng góp II Thực nghiệm: .6 Giải thuật di truyền .6 1.1 Định nghĩa: 1.2 Áp dụng vơ bài tốn: Mạng nơ-ron nhân tạo 2.1 Định nghĩa: 2.2 Áp dụng vơ bài tốn: Giải thích state: Đọc giá trị RAM Bản đồ RAM: Các công thức 10 6.1 Tìm cơng thức biểu diễn trạng thái: 10 6.2 Tìm cơng thức chung 10 Mã giả tổng kết phần thực nghiệm (Giải thuật di truyền và mạng nơ-ron) 12 III Kết quả đạt được .13 IV Tổng kết 14 Kiến thức 14 Khó khăn 14 Hướng Phát triển .14 I Tổng Quan 1.1 Giới thiệu đề tài 1.1.1 Tổng quan - Những năm gần đây, mà khả tính toán máy tính nâng lên tầm cao và lượng liệu khổng lồ thu thập hãng công nghệ lớn, Machine Learning tiến thêm bước dài và lĩnh vực đời gọi là Deep Learning (Học Sâu - thực không muốn dịch từ này tiếng Việt) Deep Learning giúp máy tính thực thi việc tưởng chừng không thể vào 10 năm trước: phân loại ngàn vật thể khác ảnh, tự tạo thích cho ảnh, bắt chước giọng nói và chữ viết người, giao tiếp với người, hay chí sáng tác văn hay âm nhạc,khai phá liệu - Từ có thể ứng dụng vào việc dự đốn Ví dụ, bạn có thể dự đốn giá hộ dựa liệu giá hộ bạn có - Nhưng vấn đề là cần phải dự đốn để có hiểu x́t nhanh nhất,đúng nhất và ít tài ngun nhất từ thuật tốn tối ưu đời để giúp thực bài toán : Giải thuật di truyền, mạng nơ-ron nhân tạo, 1.1.2 Giới thiệu bài toán - Ứng dụng AI và Machine Learning chứng minh rộng tãi khắp giới, tính thực tiễn và đóng góp góp phần đóng góp nhiều vơ giai đoạn sản xuất Có thể nói đến thành tựu gần nhất việc Nhận diện người bị mắc Covid-19 qua tiếng ho hoặc khả quét khuôn mặt Nhắc nhở đeo khẩu trang giúp rất nhiều vào cơng cần có có mặt người - Các trò chơi tiếng ngày áp dụng AI Ví dụ điển hành việc áp dụng AI vơ game là trò chơi FIFA 22, quét điểm ảnh để tạo nhân vật có cử giống ngoài đời, đem tới tính thực tế cho người chơi - Vì em chọn đề tài Huấn luyện AI chơi game Super Mario Tìm và áp dụng giải thuật để Nhân vật Mario có thể tự hoàn thành map 1.2.Mục tiêu,phương pháp thực hiện,đóng góp 1.2.1.1 Mục tiêu  Hiểu Được giải thuật di truyền, mạng nơ-ron nhân tạo  Tìm hiểu chế chơi game để có thể áp dụng cho bài toán  Thu thập và training liệu để đưa kết 1.2.1.2 Phương pháp thực  Sử dụng ngôn ngữ python và thư viện numpy,pandas ,matplotlib 1.2.1.3 Đóng góp  Hệ thống lại kiến thức giải thuật di truyền và mạng nơron nhân tạo  Tìm hiểu và áp dụng thuật toán vào bài toán  Chạy training liệu thu và đánh giá kết II Thực nghiệm: Giải thuật di truyền 1.1Định nghĩa: Giải thuật di truyền là kỹ thuật khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho bài toán tối ưu tổ hợp Giải thuật di truyền là phân ngành giải thuật tiến hóa vận dụng nguyên lý tiến hóa di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo 1.2Áp dụng vơ bài tốn: - Giải thuật di truyền áp dụng rất tốt và việc tìm kiếm khơng gian chiều cao Việc áp dụng sẽ giải thích sau - Cơng thức: Chúng ta sẽ có hàm f là hàm chứa biến x ánh xạ lên y Mạng nơ-ron nhân tạo 2.1 Định nghĩa: Mạng neural nhân tạo hay thường gọi ngắn gọn là mạng neural là mơ hình tốn học hay mơ hình tính tốn xây dựng dựa mạng neural sinh học Nó gồm có nhóm neural nhân tạo nối với nhau, và xử lý thông tin cách truyền theo kết nối và tính giá trị nút II.2 Áp dụng vơ bài tốn: - Chúng ta sẽ định hành động (action) nhân vật Mario dựa trạng thái (state) Vậy nên ta sẽ có cơng thức: action = f(state) Trong state là input và action là output Giải thích state: - Ta có: action = f(state) Vậy sẽ tìm biến state nào? o Game chơi tảng Nintendo Entertainment System (NES) Phân rã map World 1-1 thành ma trận khổi block 13x16 o Nói ngắn gọn chế chơi: Mario (block màu xanh) di chuyển và nhảy bên phải Em kéo gọn màn hình game thành miền màu hờng Từ có thể lập tập hợp trạng thái ( state ) Và sẽ thảo luận miền màu hồng và khối block miền Đọc giá trị RAM 4.1 RAM là nơi chứa liệu Trong game Super Mario, sẽ sử dụng liệu để mơ tả trạng thái (state) Và là cách truy cập giá trị RAM: 4.2 Chúng ta truy cập tệp liệu RAM map World 1-1 Và có thể lấy vị trí Mario 0x006D: 4.3 Lấy giá trị RAM enemies: 4.4 Các khối block có thể nhận dải giá trị : [0x00,0xFF] Trong miền màu hồng tổng cộng có 70 khối block nhận giá trị -> 255 4.5 Quan sát giá trị RAM có đồ: Từ đồ RAM ta có thể thấy: 5.1 Block rỗng có giá trị 5.2 Giá trị khoanh màu xanh 170 (0xAA) chính là nhân vật Mario 5.3 Enemies và block tĩnh có mang giá trị, điều này khiến phải tìm block là enemy 5.4 enemies có thể xuất đồng thời màn hình, code để tìm enemies sẽ trơng này: Đoạn code này sẽ giúp tìm enemies có màn hình và lấy vị trị Các cơng thức 6.1Tìm cơng thức biểu diễn trạng thái: - Một khối block có thể có giá trị: enemy, empty, safe Biểu diễn thành {−1,0,1} Trạng thái tạo thành tập hợp block và 3n là tập khả trạng thái khả thi 6.2 Tìm cơng thức chung - Để Mario có thể qua hết map, ta phải xác định loại khoảng cách: độ, với enemy, khung hình,… Code: Mã giả tổng kết phần thực nghiệm (Giải thuật di truyền và mạng nơ-ron) III Kết quả đạt được Mario có thể hoàn thành world cho thời gian train Mario nhận diện enemy và nhảy lên block để tiêu diệt Mario nhận diện vật thể safe và nhảy qua block IV Tổng kết o o o o o o o o o o - Kiến thức Hiểu giải thuật di truyền, mạng nơ-ron nhân tạo Training và hướng mario hết đồ Sử dụng số thư viện để sử dụng cho machine learning Khó khăn Do áp dụng nhiều thuật tốn có thể gây nhiễu Do chưa xử lý tốt liệu dẫn đến sai lệch lớn Tính toán áp dụng vào bài toán chưa tốt Chưa áp dụng để tính cho tất map game Hướng Phát triển Sử dụng bài toán vào tất map game Tính tốn sẽ khơng giúp Mario qua màn, mà còn giúp Mario hết màn với số điểm cao nhất Lập thêm nút lớp mạng nơ-ron nhân tạo *link tham khảo: https://chrispresso.io/AI_Learns_To_Play_SMB_Using_GA_And_NN https://www.youtube.com/watch?v=CI3FRsSAa_U&t=133s ... trò chơi tiếng ngày áp dụng AI Ví dụ điển hành việc áp dụng AI vơ game là trò chơi FIFA 22, quét điểm ảnh để tạo nhân vật có cử giống ngoài đời, đem tới tính thực tế cho người chơi. .. đem tới tính thực tế cho người chơi - Vì em chọn đề tài Huấn luyện AI chơi game Super Mario Tìm và áp dụng giải thuật để Nhân vật Mario có thể tự hoàn thành map 1.2.Mục tiêu,phương pháp... dụng vào bài toán chưa tốt Chưa áp dụng để tính cho tất map game Hướng Phát triển Sử dụng bài toán vào tất map game Tính tốn sẽ khơng giúp Mario qua màn, mà còn giúp Mario hết màn

Ngày đăng: 05/09/2021, 20:45

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

TÀI LIỆU LIÊN QUAN

w