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

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

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổng quan - Những năm gần đây, khi mà khả năng tính toán của các máy tính được nâng lên một tầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn, Machine Le

Trang 1

ĐẠ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 1

Đề 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 hiện ❖

Hoàng Phan Lê - 17520677

Trang 2

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 và ghi rõ họ tên)

Trang 3

LỜI CẢM ƠN

Trong quá trình làm bài báo cáo, em đã nhận được sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của 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à chỉ bảo em trong suốt quá trình làm báo cáo

Ngoài ra, em cũng xin gửi lời cảm ơn đến những thầy cô giáo trong trường

ĐH CNTT- ĐHQG Tp HCM nói chung, các thầy cô trong Khoa Công nghệ phần mềm nói riêng đã dạy dỗ cho em kiến thức về lập trình, qua đó em có được 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è, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình hoàn thành đồ án

Thành phố Hồ Chí Minh, ngày 30 tháng 06 năm 2021

Trang 4

Table of Contents

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2

LỜI CẢM ƠN 3

I Tổng Quan 4

1.1 Giới thiệu đề tài 4

1.1.1 Tổng quan 4

1.1.2 Giới thiệu bài toán 5

1.2 Mục tiêu,phương pháp thực hiện,đóng góp 6

1.2.1.1 Mục tiêu 6

1.2.1.2 Phương pháp thực hiện 6

1.2.1.3 Đóng góp 6

II Thực nghiệm: 6

1 Giải thuật di truyền 6

1.1 Định nghĩa: 6

1.2 Áp dụng vô bài toán: 6

2 Mạng nơ-ron nhân tạo 6

2.1 Định nghĩa: 7

2.2 Áp dụng vô bài toán: 7

3 Giải thích về state: 7

4 Đọc các giá trị RAM 7

5 Bản đồ RAM: 9

6 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

7 Mã giả tổng kết các 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

1 Kiến thức 14

2 Khó khăn 14

3 Hướng Phát triển 14

Trang 5

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, khi mà khả năng tính toán của các máy tính được nâng lên một tầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn, Machine Learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi là Deep Learning (Học Sâu - thực sự tôi không muốn dịch từ này ra tiếng Việt) Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thể vào 10 năm trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn hay âm nhạc,khai phá dữ liệu

- Từ đó chúng ta có thể ứng dụng nó vào việc dự đoán Ví dụ, bạn

có thể dự đoán giá của căn hộ dựa trên các dữ liệu về giá các căn

hộ bạn đã có

- Nhưng vấn đề là cần phải dự đoán để có hiểu xuất nhanh nhất,đúng nhất và ít tài nguyên nhất từ đó các thuật toán tối ưu được ra đời để giúp thực hiện các bài toán như trên như : 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 của AI và Machine Learning đã được chứng minh rộng tãi khắp thế giới, tính thực tiễn và đóng góp của nó đã góp phần đóng góp nhiều vô các giai đoạn sản xuất Có thể nói đến thành tựu gần đây nhất về việc Nhận diện người bị mắc Covid-19 qua tiếng

ho hoặc khả năng quét khuôn mặt Nhắc nhở đeo khẩu trang đã giúp rất nhiều vào các công cuộc cần có sự có mặt của con người

- Các trò chơi nổi tiếng ngày nay cũng đã áp dụng AI Ví dụ điển hành về việc áp dụng AI vô game đó là trò chơi FIFA 22, quét các điểm ảnh để tạo ra nhân vật có các cử chỉ giống như ngoài đời, đem tới tính thực tế cho người chơi

- Vì thế em đã chọn đề tài Huấn luyện AI chơi game Super Mario Tìm và áp dụng các giải thuật để Nhân vật Mario có thể tự hoàn thành các map

Trang 6

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

toán

1.2.1.2 Phương pháp thực hiện

 Sử dụng ngôn ngữ python và các 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 các thuật toán vào bài toán

 Chạy training bộ dữ liệu thu được và đánh giá kết quả

II Thực nghiệm:

1 Giải thuật di truyền

1.1Định nghĩa: Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho các bài toán tối ưu tổ hợp Giải thuật di truyền là một phân ngành của giải thuật tiến hóa vận dụng các nguyên lý của tiến hóa như 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 toá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ẽ được 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

2 Mạng nơ-ron nhân tạo

Trang 7

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ột mô hình toán học hay mô hình tính toán được xây dựng dựa trên các mạng neural sinh học Nó gồm có một nhóm các

neural nhân tạo nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút

II.2 Áp dụng vô bài toán:

- Chúng ta sẽ quyết định hành động (action) của nhân vật Mario dựa

trên 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

3 Giải thích về state:

- Ta có: action = f(state) Vậy chúng ta sẽ tìm biến state như thế nào?

o Game được chơi trên nền tảng Nintendo Entertainment

System (NES) Phân rã map World 1-1 thành ma trận các khổi block 13x16

o Nói ngắn gọn về cơ chế chơi: Mario (block màu xanh) luôn

di chuyển và nhảy về 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 ra các tập hợp trạng thái ( state ) Và giờ chúng ta sẽ chỉ thảo luận về miền màu hồng và các khối block trong miền đó.

4 Đọc các giá trị RAM

4.1 RAM là nơi chứa dữ liệu Trong game Super Mario, chúng ta sẽ

sử dụng dữ liệu đó để mô tả các trạng thái (state) Và đây là cách truy cập giá trị RAM:

Trang 8

4.2 Chúng ta đã truy cập được tệp dữ liệu RAM map World 1-1 Và cũng có thể lấy ra được vị trí hiện tại của Mario 0x006D:

4.3 Lấy các giá trị RAM của 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ị 0 -> 255

4.5 Quan sát các giá trị RAM có trong bản đồ:

Trang 9

5 Từ bản đồ RAM ta có thể thấy:

5.1 Block rỗng có giá trị 0 5.2 Giá trị được khoanh màu xanh 170 (0xAA) chính là nhân vật Mario

5.3 Enemies và các block tĩnh có mang các giá trị, điều này khiến chúng ta phải tìm block là enemy

5.4 5 con enemies có thể xuất hiện đồng thời trên màn hình, code để tìm enemies sẽ trông như thế này:

Trang 10

Đoạn code này sẽ giúp chúng ta tìm enemies có màn hình và lấy ra vị trị của nó

6 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ó 3 giá trị: enemy, empty, safe Biểu diễn

thành {−1,0,1} Trạng thái được tạo thành bởi tập hợp các block và

3n là tập khả các trạng thái khả thi 6.2 Tìm công thức chung

- Để Mario có thể đi qua hết map, ta phải xác định các loại khoảng cách: bản độ, với enemy, giữa các khung hình,…

Trang 11

Code:

Trang 12

7 Mã giả tổng kết các phần thực nghiệm (Giải thuật di truyền và mạng nơ-ron)

Trang 13

III Kết quả đạt được

Mario có thể hoàn thành các world khi cho thời gian train

Mario nhận diện enemy và nhảy lên block để tiêu diệt

Trang 14

Mario nhận diện vật thể safe và nhảy qua block

IV Tổng kết

1 Kiến thức

o Hiểu về giải thuật di truyền, mạng nơ-ron nhân tạo

learning

2 Khó khăn

o Do áp dụng nhiều thuật toán có thể gây nhiễu

o Do chưa xử lý tốt bộ dữ liệu dẫn đến sai lệch lớn

o Tính toán áp dụng vào bài toán chưa được tốt

o Chưa áp dụng để tính cho tất cả các map trong game

3 Hướng Phát triển

o Sử dụng bài toán vào tất cả map trong game

o Tính toán sẽ không chỉ giúp Mario qua màn, mà còn giúp Mario đi hết màn với số điểm cao nhất

o Lập thêm các nút ở lớp trong của mạng nơ-ron nhân tạo

*link tham khảo:

- https://www.youtube.com/watch?v=CI3FRsSAa_U&t=133s

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w