python树构建_如何在Python中创建树结构?

本文介绍了作者在构建人工智能游戏逻辑时遇到的问题,主要是如何在Python中创建表示游戏状态的树结构。作者已经实现了两个函数,`basicMove` 和 `hopper`,分别用于计算基本移动和跳跃移动的可能性。现在寻求如何构建树结构以及计算节点权重以选择最佳移动。同时,作者也在考虑是否采用面向对象编程来简化问题。
摘要由CSDN通过智能技术生成

我正在尝试做一个人工智能,它玩的游戏看起来很像跳棋,逻辑基本上是一样的。但是我没有用蒙特卡罗的方法来实现树的结构。如果我没有错,我的树的根应该是初始状态或板,节点应该是所有可能的播放。我知道我必须创建一个函数来计算每个节点的权重并选择可能的最佳播放。我的问题是,如前所述,我不知道如何在python中实现所述树。在

到目前为止,我有我的董事会和两个功能,返回您可以采取的合法行动的列表。电路板是用一个10x10多维数组创建的,为了找到可能的移动,我有两个函数来接收要移动的工件的X和Y坐标,并检查所有可用的选项。我之所以有两个移动功能,是因为其中一个功能用于基本移动,即当您旁边的空间相邻时,另一个功能检查“跳跃”,即当您旁边的空间被占用,但旁边的空间是自由的。在

我将在这里添加我的代码,以防你们更容易理解我在做什么。在import numpy as np

matrix = [[1,1,1,1,1,0,0,0,0,0], [1,1,1,1,0,0,0,0,0,0], [1,1,1,0,0,0,0,0,0,0], [1,1,0,0,0,0,0,0,0,0], [1,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,2], [0,0,0,0,0,0,0,0,2,2], [0,0,0,0,0,0,0,2,2,2], [0,0,0,0,0,0,2,2,2,2], [0,0,0,0,0,2,2,2,2,2]]

#new_matrix = np.fliplr(np.flipud(matrix))

#new_matrix = new_matrix.tolist()

print "\n".join(" ".join(str(el) for el in row) for row in matrix)<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值