在 Q-Learning 中获取 TicTacToe 棋盘的状态

Get state of TicTacToe board in Q-Learning

我刚开始接触强化学习和 q-learning,我想尝试创建一个 Tic-Tac-Toe AI。使用 Q-Table,我需要找到板的 "state",但我找不到方法来做到这一点。

为了进一步说明,状态是代表当前棋盘的数字,包括九个方格中每个方格的值。

板子看起来像:

[[0, 0, 0],
 [0, 0, 0],
 [0, 0, 0]]

将是状态 0,因为它是第一块板。除此之外,我不确定如何根据数组计算板的状态。

[编辑] 我来这里是因为我真的不知道从哪里开始;我在网上找不到任何东西,如果你不喜欢我的问题,你至少可以告诉我原因。

我想你需要这样的东西。

import numpy as np
max_number = 10
L = [[1, 0, 0],
 [0, 0, 0],
 [0, 5, 0]]

L_1d = sum(L, [])
print(L_1d)
# [1, 0, 0, 0, 0, 0, 0, 5, 0]
degrees = max_number ** np.arange(len(L_1d))
print(degrees)
# [        1        10       100      1000     10000    100000   1000000   10000000 100000000]
state = L_1d @ degrees
print(state)
# 50000001