Skip to content

MakeENV

Ngô Xuân Phong edited this page May 23, 2023 · 8 revisions

TỔNG HỢP HƯỚNG DẪN CODE HỆ THỐNG

Link git hệ thống mẫu: Mẫu

1. Thiết kế mô phỏng environment, actions và state

1. Environment (env)

  • Chứa thông tin về tất cả các yếu tố có trong game. Có thể hiểu env giống như góc nhìn của người quản trò (trọng tài) đứng ngoài quan sát, có thể thấy được trạng thái của bàn chơi và trạng thái của toàn bộ người chơi.
  • Mô phỏng env dưới dạng một hoặc nhiều array để phù hợp với việc sử dụng thư viện “python numba” tối ưu thời gian chạy.
  • Thiết kế env như nào? Tìm hiểu và quan sát những người khác chơi game để bước đầu xác định các thông tin cần phải mô phỏng trong env.

2. Actions và game flow diagram

  • Actions: Gồm tất các cả các hành động mà Agent có thể thực hiện trong game. Khi thiết kế, các actions được kí hiệu là các số tự nhiên tăng dần, bắt đầu từ 0 cho đến n-1, với n là “tổng số actions có thực hiện trong game”.

  • Game flow diagram: thể hiện mối quan hệ giữa env và actions, từ khi bắt đầu game đến lúc kết thúc game: Với env đã biết thì Agent có thể thực hiện những actions nào. Với mỗi action thì env sẽ thay đổi như thế nào.

3. State

  • Là trạng thái của env mà Agent có thể quan sát được.
  • Mô phỏng bằng duy nhất một numpy array, một chiều.
  • Về các dữ liệu có tính chất phân loại khi đưa từ env vào state
  • State của agent ở các vị trí khác nhau phải có chung một cách biểu diễn

2. Xây dựng các hàm trong hệ thống

Function Input Input Description Ouput Output Description
initEnv None np.array 1D np.array 1D env ở trạng thái ban đầu
getAgentState np.array 1D env hiện tại np.array 1D state agent ở trạng thái hiện tại
stepEnv np.array 1D env hiện tại np.array 1D env ở trạng thái mới sau khi áp dụng action
getValidActions np.float64 state np.float64 Action có thể hành động
getReward np.float64 state int 1: win, 0: loss, -1: Chưa kết thúc
getActionSize None int Tổng số action
getStateSize None int Size của state array
getAgentSize None int tổng số Agent tham gia đấu
checkEnded np.array 1D env int -1 chưa kết thúc game, 0 -> n: index của người thắng
one_game Một ván chơi
n_games n ván chơi, n là số ván ở đầu vào
Run Agent, int, any, int Agent, số trận chơi, file data agent, level Hàm để bắt đầu sử dụng hệ thống

3. Test lại hệ thống

3.1 Test bằng hàm trong hệ thống

3.2 Test bằng cách viết hệ thống đồ hoạ

Clone this wiki locally