从零开始:实现你的第一个围棋AI及性能优化
1. 围棋计分规则与AI接口定义
不同的围棋赛事和组织采用的计分规则略有不同。本文中的AI将遵循AGA规则(即中国数子法)进行区域计分。虽然日本规则在休闲玩法中更受欢迎,但AGA规则对计算机来说更容易处理,且规则差异很少影响比赛结果。
为了构建围棋AI,首先需要定义所有AI都将遵循的接口。以下是在 base.py 文件中定义的 Agent 类:
class Agent:
def __init__(self):
pass
def select_move(self, game_state):
raise NotImplementedError()
这个类只有一个方法 select_move ,AI的核心任务就是根据当前游戏状态选择下一步行动。
2. 构建最弱的围棋AI
我们的第一个AI实现会尽可能简单:随机选择一个不会填满自己眼位的有效落子点。如果没有这样的点,就选择跳过。以下是在 naive.py 文件中实现的随机AI:
import random
from dlgo.agent.base import Agent
from dlgo.agent.helpers import is_point_an_eye
from dlgo.goboard_slow
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



