1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo học phần trí tuệ nhân tạo Đề tài cờ caro

19 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Cờ Caro
Tác giả Đào Nhật Cường, Hoàng Gia Bảo, Trần Anh Tú
Người hướng dẫn TS. Hoàng Văn Quý
Trường học Trường Đại học HUTECH
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo học phần
Năm xuất bản 2024
Thành phố Hồ Chí Minh
Định dạng
Số trang 19
Dung lượng 853,72 KB

Nội dung

Chính vì lý do đó mà chúng em đã quyết định lựa chọn cờ Caro làm để tài cho bài tập lớn môn trí tuệ nhân tạo.. Tụi em thực hiện đề tài này với mục đích xây dựng game cờ Caro có trí tuệ n

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC HUTECH

HỌC CÓ GIÁM SÁT VÀ ỨNG DỤNG

BÁO CÁO HỌC PHẦN: TRÍ TUỆ NHÂN TẠO

HỒ CHÍ MINH, NĂM 2024

1

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HUTECH

ĐỀ TÀI: CỜ CARO

HỌ VÀ TÊN: ĐÀO NHẬT CƯỜNG - HOÀNG GIA BẢO - TRẦN ANH TÚ

Mã sinh viên: 2280600337 - 2280600177 - 2280603529

Lớp: 22DTHE4 Ngành: Công nghệ thông tin

NGƯỜI HƯỚNG DẪN: TS Hoàng Văn Quý

SINH VIÊN THỰC HIỆN Đào Nhật Cường - 2280600337 Hoàng Gia Bảo - 2280600177 Trần Anh Tú - 2290603529

Trang 3

LỜI MỞ ĐẦU 4

CHƯƠNG 1 TRÍ TUỆ NHÂN TẠO 5

1.1 Giới thiệu về trí tuệ nhân tạo, AI 5

1.1.1 AI, Trí tuệ nhân tạo là gì 5

1.1.2 Lý do chọn ra đề tài 5

1.2 Giới thiệu chung 5

1.3 Giới thiệu về đề tài đã chọn 5

CHƯƠNG 2 THUẬT TOÁN CỜ CARO 5

2.1 Giới thiệu về luật chơi cờ Caro 5

2.2 Thuật toán của cờ Caro 5

DANH MỤC CÁC HÌNH ẢNH 6

DANH MỤC BẢNG BIỂU 7

TÀI LIỆU THAM KHẢO 8

PHỤ LỤC 9

3

Trang 4

LỜI MỞ ĐẦU

Hiện nay, việc ứng dụng trí tuệ nhân tạo vào việc phát triển game đã trở nên

vô cùng phổ biến, đặc biệt là những game mang tính trí tuệ cao Và cờ Caro là một game như vậy Chính vì lý do đó mà chúng em đã quyết định lựa chọn cờ Caro làm để tài cho bài tập lớn môn trí tuệ nhân tạo Đây là tài liệu dùng để miêu tả một cách cơ bản về việc xây dựng game cờ Caro Trong game có sử dụng thuật toán MiniMax với

độ sâu là 4 và thuật toán cắt cụt alpha-beta để giảm thời gian tính toán Tài liệu này giúp ta có một cái nhìn tổng quát về việc áp dụng thuật toán MiniMax và cắt cụt alpha-beta vào game cờ Caro Do thời gian có hạn nên chúng em chưa thể tối ưu được các thuật toán sử dụng trong game, nhưng chúng em sẽ cố gắng hoàn thiện trong thời gian sớm nhất

Tụi em thực hiện đề tài này với mục đích xây dựng game cờ Caro có trí tuệ nhân tạo Chúng em đã thực hiện thành công nhưng vẫn còn rất nhiều sai sót mong thầy cô

có thể đánh giá và góp ý nhiều nhất ạ

Trang 5

CHƯƠNG 1 TRÍ TUỆ NHÂN TẠO

1.1 Giới thiệu về trí tuệ nhân tạo, AI

1.1.1 AI, Trí tuệ nhân tạo là gì

AI (trí tuệ nhân tạo) là công nghệ cho phép máy móc mô phỏng khả năng học hỏi

và thực hiện các nhiệm vụ giống con người AI có thể xử lý dữ liệu, nhận diện hình ảnh, giọng nói, và đưa ra quyết định dựa trên thông tin được học Các ứng dụng AI phổ biến bao gồm xe tự lái, trợ lý ảo, và hệ thống khuyến nghị trong mua sắm trực tuyến

1.1.2 Lý do chọn ra đề tài

Chúng tôi chọn đề tài "Tạo ra game cờ caro" vì ba lý do chính Thứ nhất, cờ caro

là trò chơi phổ biến và được yêu thích Chuyển nó thành game điện tử giúp nhiều người chơi dễ dàng hơn Thứ hai, làm game này giúp chúng tôi học và áp dụng nhiều

kỹ năng lập trình quan trọng Cuối cùng, đây là cơ hội tốt để tạo ra một sản phẩm thực

tế và hữu ích

1.2 Giới thiệu chung

Ngày nay, nhiều trò chơi truyền thống đang được chuyển thành game điện tử Cờ caro

là một ví dụ điển hình Game cờ caro không chỉ giúp người chơi giải trí, mà còn có thể thêm nhiều tính năng mới như chơi online hoặc đấu với máy Việc phát triển game này cũng giúp người làm nâng cao kỹ năng lập trình và tư duy logic

1.3 Giới thiệu về đề tài đã chọn

Đề tài của chúng tôi là tạo game cờ caro bằng Python Chúng tôi sẽ dùng thư viện Pygame để làm giao diện Game sẽ có bàn cờ cho hai người chơi, hệ thống kiểm tra thắng thua, và hiển thị kết quả Nếu có thể, chúng tôi sẽ thêm chế độ chơi với máy Mục tiêu là học cách dùng Python để tạo một game đơn giản nhưng đầy đủ chức năng

CHƯƠNG 2 THUẬT TOÁN CỜ CARO

2.1 Giới thiệu về luật chơi cờ Caro

5

Trang 6

Game sẽ gồm có hai người chơi, một người sẽ cầm quân X và người còn lại sẽ cầm quân O Hai người chơi sẽ phải lần lượt đánh ra một quân cờ tương ứng của mình trên bàn cờ MxN ô ( thường thì M = N )

Luật chơi sẽ như sau:

- Quân X sẽ được đánh trước Hai người chơi có thể đánh vào bất kì vào ô nào trên bàn cờ miễn là ô đó chưa được đánh

- Trò chơi sẽ kết thúc nếu như một trong hai người choi đạt được năm quân thẳng hàng liên tiếp nhau ( hàng ngang, hàng dọc, hoặc hàng chéo )

- Dưới đây là bàn cờ Caro:

Đay Là Hình X :

Trang 8

Hình O

Trang 9

Hình Icon:

2.2 Tổng quan về game Cờ Caro

Cờ Caro là một trò chơi chiến thuật phổ biến, trong đó hai người chơi lần lượt đánh dấu X và O trên một bảng ô vuông Mục tiêu là tạo được một hàng liên tiếp gồm 5 quân cờ theo chiều ngang, dọc hoặc chéo

2.3 Thuật toán của cờ Caro

Tên thuật toán: Grid Traversal Win-Check Algorithm (Thuật toán Kiểm tra Chiến thắng bằng Duyệt Lưới)

Mục đích:

 Xác định xem có người chơi nào đã thắng cuộc (có 5 quân cờ liên tiếp theo bất

kỳ hướng nào)

 Xác định trạng thái hòa (toàn bộ bàn cờ đã được lấp đầy mà không có người thắng)

9

Trang 10

Cách thức hoạt động: a) Duyệt qua từng ô trên bàn cờ b) Tại mỗi ô không trống, kiểm tra 4 hướng có thể tạo thành 5 quân liên tiếp:

 Ngang (horizontal)

 Dọc (vertical)

 Chéo từ trái trên xuống phải dưới (diagonal top-left to bottom-right)

 Chéo từ phải trên xuống trái dưới (diagonal top-right to bottom-left) c) Với mỗi hướng, kiểm tra 5 ô liên tiếp (bao gồm ô hiện tại) d) Nếu tìm thấy 5 ô liên tiếp cùng giá trị (X hoặc O), trả về kết quả thắng e) Nếu duyệt hết bàn cờ mà không tìm thấy người thắng, kiểm tra xem bàn cờ đã đầy chưa để xác định trạng thái hòa

Ưu điểm:

 Đơn giản, dễ hiểu và dễ cài đặt

 Hoạt động chính xác cho mọi kích thước bàn cờ

 Có thể dễ dàng mở rộng để kiểm tra các điều kiện chiến thắng khác (ví dụ: 6 quân liên tiếp)

Nhược điểm:

 Không hiệu quả cho bàn cờ lớn, vì phải duyệt qua mọi ô

 Thực hiện nhiều phép kiểm tra trùng lặp, đặc biệt ở giữa bàn cờ

Độ phức tạp:

 Thời gian: O(n*m), với n và m là kích thước của bàn cờ

Trang 11

 Sử dụng cấu trúc dữ liệu phụ để theo dõi các dãy tiềm năng, giảm số lần kiểm tra

2.4 Cách thức hoạt động

Được viết trong visual studio code

Khởi tạo bàn cờ:

Bàn cờ được khởi tạo với một ma trận 2D (board) và một ma trận 3D (counts) để theo dõi số quân cờ liên tiếp theo 4 hướng

Thực hiện nước đi:

Khi một nước đi được thực hiện, thuật toán cập nhật bàn cờ và tính toán số quân cờ liên tiếp theo 4 hướng

11

Trang 12

Kiểm tra chiến thắng:

Thuật toán kiểm tra xem có ít nhất 5 quân cờ liên tiếp theo bất kỳ hướng nào không -Duyệt từ trái sang phải

-Duyệt từ trên xuống dưới

-Duyệt từ chéo chính

-Duyệt từ chéo phụ

Trang 13

Vòng lặp chính của game:

Vòng lặp chính xử lý các sự kiện, cập nhật trạng thái game, và vẽ bàn cờ

13

Trang 14

Sự Kiện click chuột:

Khi người chơi nhấp chuột, code tính toán vị trí ô được chọn, thực hiện nước đi, kiểm tra chiến thắng hoặc hòa, và chuyển lượt chơi

Trang 15

Hàm này vẽ bàn cờ bằng cách lặp qua tất cả các ô và vẽ X hoặc O tương ứng.

Hiển thị kết quả:

2.5

15

Trang 16

DANH MỤC CÁC HÌNH ẢNH

Trang 17

DANH MỤC BẢNG BIỂU

17

Trang 18

TÀI LIỆU THAM KHẢO

Trang 19

PHỤ LỤC

19

Ngày đăng: 01/11/2024, 10:18

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

TÀI LIỆU LIÊN QUAN

w