Khoa Công nghệ Thông tin 1 - PTIT
Điều lệ thi đấu AI Contest 2023
Khoa Công nghệ Thông tin 1 – Học viện Công nghệ Bưu chính Viễn thông
=====
Nhằm mục tiêu thúc đẩy và phát triển học tập về trí tuệ nhân tạo (AI), ứng dụng vào cuộc cách mạng công nghiệp 4.0, Học viện công nghệ bưu chính viễn thông phối hợp cùng tập đoàn Naver triển khai cuộc thi trí tuệ nhân tạo AI Contest 2023. Cuộc thi khuyến khích các sinh viên trong học viện học tập và ứng dụng AI bằng một cuộc thi trò chơi điện tử xếp hình (tetris), trong đó các đội sẽ phải huấn luyện các mô hình trí tuệ nhân tạo để thi đầu đối kháng với nhau.
Trong cuộc thi này, môi trường học tập Arcade Learning Environment (ALE) sẽ được sử dụng. Đây là một nền tảng được sử dụng rộng rãi trong việc học tập và nghiên cứu xây dựng các tác nhân trí tuệ nhân tạo (AI) có năng lực ấn tượng trên hàng chục trò chơi Atari 2600. ALE hỗ trợ nhiều cài đặt trò chơi và cấu hình môi trường huấn luyện AI khác nhau và nó đã nhận được sự quan tâm ngày càng tăng từ cộng đồng khoa học, dẫn đến một số bài báo có trích dẫn cao như Deep Q-Networks (DQN). Năm 2023, cuộc thi AI do khoa công nghệ thông tin 1 tổ chức sẽ sử dụng môi trường trò chơi TetrisBattle trong ALE, với đường dẫn như sau:
https://github.com/ylsung/TetrisBattle
Hình 1. Hình ảnh minh họa trò chơi TetrisBattle
Tetris được phát triển bởi Alexey Pajitnov vào năm 1984. Luật chơi của Tetris cơ bản bao gồm:
– Người chơi sẽ bắt đầu với một màn hình trống và một khối hình, gọi là Tetrimino, xuất hiện từ trên cùng của màn hình.
– Người chơi phải xoay và di chuyển khối hình này để đặt nó vào vị trí một cách phù hợp trên màn hình.
– Mục tiêu của người chơi là xếp các khối hình lại với nhau để tạo thành một hàng ngang đầy đủ.
– Khi một hàng ngang được tạo ra, nó sẽ biến mất và các khối hình ở trên hàng này sẽ rơi xuống để điền vào khoảng trống.
– Điểm số của người chơi sẽ tăng lên mỗi khi tạo ra một hàng ngang hoàn chỉnh và hàng ngang được tạo ra càng nhiều thì điểm số càng cao.
– Trò chơi sẽ kết thúc khi các khối hình không thể được xếp vào màn hình nữa.
Với TetrisBattle (chế độ đối kháng), các luật đối kháng sẽ được áp dụng như sau (lưu ý rằng các luật này có thể thay đổi tùy vào cài đặt của người tổ chức trò chơi):
– Thời gian giới hạn của Tetris Battle là 2 phút.
– Trong Tetris Battle, người chơi có thể thấy trước 5 Tetriminos tiếp theo.
– Người chơi sẽ được sử dụng một hành động bổ sung, gọi là “hold”. Người chơi sử dụng hold để lưu trữ Tetrimino hiện tại vào bộ nhớ và lấy một Tetrimino mới. Nếu đã có một Tetrimino trong bộ nhớ, thì chuyển sang sử dụng Tetrimino hiện tại. Lưu ý rằng người chơi chỉ có thể sử dụng hold 1 lần trước khi một khối rơi xuống đất.
– Điểm số trong Tetris Battle được tính bằng số dòng đã ném cho đối phương. Người chơi sẽ nhận được n – 1 “sent” khi xóa n hàng cùng một lúc. Do đó, chỉ loại bỏ một hàng sẽ không nhận được điểm.
– Người chơi có thể nhận được “sent” bổ sung bằng cách liên tiếp xóa các hàng và hành động này được gọi là “combo”. Người chơi có thể nhận được 1/2/3/4 sent thưởng bằng 1-2/3-4/5-6/>7 combos.
– Có hai cách ghi điểm đặc biệt trong Tetris Battle. Đầu tiên là T-spin. Nó xoay Tetrimino hình chữ T để lấp đầy một ô trống không thể tiếp cận được trong khoảng thời gian cuối cùng. Người chơi chỉ xóa 2 hàng khi sử dụng T-spin, nhưng người chơi có thể gửi tới 4 hàng. Động tác khác được gọi là “Tetrix”. Khi người chơi sử dụng Tetrimino hình chữ I để xóa 4 hàng cùng một lúc, người chơi có thể gửi tới 4 hàng (không phải 3).
– Có một cách ghi điểm đặc biệt được gọi là “back to back”. Nếu người chơi sử dụng T-spin hoặc Tetrix trong lượt này, người chơi sẽ nhận được điểm “back to back”. Khi lượt tiếp theo người chơi cũng sử dụng T-spin hoặc Tetrix, người chơi có thể nhận được 2 sent thưởng. “Back to back”sẽ biến mất sau khi thực hiện xóa bình thường.
– Ở chế độ Double, người chơi có thể sử dụng “dòng rác” để gây trở ngại cho đối thủ. Khi người chơi gửi đi n “dòng”, nó sẽ không thể bị xóa và được gửi đến bảng của đối thủ. Những “dòng rác” này sẽ được tạo ra sau khi Tetrimino của đối thủ rơi xuống đất. Nếu người chơi đạt được m “dòng” bằng cách rơi Tetrimino đó, số lượng “dòng rác” sẽ giảm xuống còn n – m.
– Ở chế độ Double, khi bảng của người chơi không còn chỗ trống để đặt Tetrimino tiếp theo, những “garbage lines” sẽ được xóa bỏ, và đối thủ của người chơi sẽ bị hạ gục (KO).
Các nhóm sẽ phải lập trình một agent sử dụng AI sao cho ở mỗi bước (tương ứng với 0.1 giây) trong trò chơi có thể đưa ra được hành động (action) tương ứng của khung đỡ, bao gồm:
Agent này được đóng gói trong 1 hàm có input là file json chứa thông tin hiện tại của ván đấu trong từng bước và output là 1 trong 7 action kể trên. Hàm này sẽ được nạp và chạy ở từng bước trong máy chủ trò chơi. Yêu cầu về tốc độ của hàm này: trả lại action với thời gian dưới 0.1 giây.
Nếu có nhiều hơn 16 đội đăng ký thi, các đội sẽ thi đấu vòng tròn tính điểm theo từng bảng ở vòng loại, nhóm thắng sẽ được +1 điểm. Từng trận đấu sẽ được kết thúc khi một đội thắng hoặc thời gian chơi quá 10 phút. Khi hết thời gian sẽ tính điểm thắng cho đội có chỉ số điểm cao hơn. Trong trường hợp 2 đội có cùng chỉ số điểm thì sẽ tính +1 cho cả 2 đội.
Ở mỗi trận đấu, mỗi cặp được đấu 3 lần và các đội được phép thay (nạp lại) chiến thuật trước khi bắt đầu mỗi lần đấu.
Vòng chung kết dự kiến sẽ chọn 16 đội xếp đầu, với thể thức thi đấu là loại trực tiếp.
Ban tổ chức sẽ thay đổi các chế độ tùy chỉnh của trò chơi theo các thiết lập đã công bố trước ở mỗi vòng đấu. Thời gian chuẩn bị trước của các đội trước mỗi vòng đấu tối đa là 10 phút.