1. Giới thiệu
Trò chơi Pac-Man là một môi trường lý tưởng để nghiên cứu và ứng dụng các thuật toán Trí tuệ Nhân tạo (Artificial Intelligence – AI), vì nó mô phỏng một không gian động, có nhiều trạng thái, mục tiêu rõ ràng và ràng buộc thời gian. Trong trò chơi, Pac-Man phải tìm cách ăn hết các viên pellet trên bản đồ đồng thời tránh né các ghost (đối thủ) đuổi bắt.
Đây là một bài toán cổ điển trong lĩnh vực AI, liên quan đến tìm kiếm đường đi, ra quyết định, và tối ưu hành động trong môi trường có đối thủ.
2. Mục tiêu đề tài
-
Xây dựng một tác tử thông minh (intelligent agent) có khả năng điều khiển Pac-Man di chuyển tối ưu.
-
Ứng dụng và so sánh hiệu quả của các thuật toán tìm kiếm cổ điển và hiện đại trong trò chơi.
-
Thử nghiệm các chiến lược ra quyết định trong môi trường có nhiều đối thủ (ghost) và yếu tố ngẫu nhiên.
-
Minh họa khả năng ứng dụng các thuật toán AI vào các bài toán thực tế trong lĩnh vực game và mô phỏng.
3. Phạm vi và nội dung thực hiện
Đồ án được triển khai xoay quanh các thành phần chính sau:
-
Biểu diễn môi trường trò chơi dưới dạng đồ thị node (graph-based map) giúp giảm độ phức tạp và tối ưu tốc độ tìm đường.
-
Tác tử Pac-Man (Agent) sử dụng các thuật toán sau để điều hướng và ra quyết định:
-
BFS, DFS, UCS, A*: tìm đường ngắn nhất đến mục tiêu hoặc tránh ghost.
-
Greedy & Hill Climbing: tối ưu di chuyển theo hướng “tham lam” cục bộ.
-
Minimax & Alpha-Beta Pruning: mô phỏng hành vi cạnh tranh giữa Pac-Man và Ghosts, ra quyết định tối ưu trong trò chơi hai người.
-
Đánh giá và so sánh kết quả dựa trên:
-
Giao diện trực quan (hiển thị bản đồ, ghost, đường đi, lựa chọn thuật toán) giúp người dùng dễ dàng quan sát và phân tích hoạt động của tác tử.
Code đồ án
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Thành phần |
Phiên bản khuyến nghị |
Ghi chú |
Python |
≥ 3.8 |
Đề xuất 3.10 hoặc 3.11 để tương thích thư viện |
Pygame |
≥ 2.1 |
Dùng để hiển thị giao diện và điều khiển Pac-Man |
Numpy |
≥ 1.23 |
Hỗ trợ xử lý ma trận, tính toán heuristic |
* Chạy game: file main.py
python main.py
Lưu ý khi chạy
-
Nếu game không mở cửa sổ → kiểm tra xem pygame
đã cài đúng chưa.
-
Nếu hình ảnh không hiển thị → kiểm tra đường dẫn trong thư mục assets/
.
-
Nếu Pac-Man không di chuyển → kiểm tra hàm update()
hoặc evaluate()
trong code agent.
-
Có thể chỉnh tốc độ game hoặc kích thước màn hình trong file config/settings.json
.