Neural network 了解小游戏示例中的神经网络基础知识

Neural network 了解小游戏示例中的神经网络基础知识,neural-network,artificial-intelligence,game-ai,Neural Network,Artificial Intelligence,Game Ai,我有一个简单的Python游戏的简单实现 游戏有简单的规则: 两名球员互相比赛 每个玩家有10张牌 每一轮玩家同时玩一张牌 打出较高牌的玩家赢得这一轮 当没有剩余的牌时,赢得最多回合的玩家赢得游戏 现在我想用神经网络建立一个人工智能 有一个init函数、一个chooseMove函数(在这里你可以看到敌人最后一张牌)和一个gameOver函数(在这里你可以看到游戏结果) 现在我的问题是: ->我该如何处理这个问题?我是为不同的移动建立不同的网络(1.移动,2.移动,…),还是为所有的移动建立一

我有一个简单的Python游戏的简单实现

游戏有简单的规则:

  • 两名球员互相比赛
  • 每个玩家有10张牌
  • 每一轮玩家同时玩一张牌
  • 打出较高牌的玩家赢得这一轮
  • 当没有剩余的牌时,赢得最多回合的玩家赢得游戏
现在我想用神经网络建立一个人工智能

有一个init函数、一个chooseMove函数(在这里你可以看到敌人最后一张牌)和一个gameOver函数(在这里你可以看到游戏结果)

现在我的问题是:

->我该如何处理这个问题?我是为不同的移动建立不同的网络(1.移动,2.移动,…),还是为所有的移动建立一个网络?我如何定义输入和输出,如何告诉网络什么是赢,什么是输

我是否已经为网络做了一些思考?(例如,当你赢了这一轮时,你的牌和敌人的牌之间的差距很小是好的,但如果你输掉了这一轮,差距应该很大)


我知道这些都是非常基本的问题,也许这表明我对神经网络的理解不是很好,但我认为这可能有助于我理解神经网络的基础知识。

神经网络可用于分类,其中一些可用于回归。如果你想用NN进行实验,你需要以符合上述描述的格式提出一个问题。此外,NN通常使用固定长度向量作为输入,因此处理游戏的不同回合将是一个问题。实际上你的简单游戏对于一个NN来说是非常复杂的。如果您愿意继续,您需要:

  • 将问题定义为分类或选择方式。e、 g.程序需要从给定的牌中选择要玩的牌
  • 将数据规格化为固定长度向量
  • 获取训练数据,如数据库格式的游戏记录
  • 创建您的NN
  • 使用重新编码的游戏训练您的NN
  • 上面的每一点都是复杂的主题,每一点都可以写上几百页

    如果你想要一些简单的东西,我可以提出另一个选项:编写一个NN来决定一个扑克玩家应该在开始时折叠还是加入游戏,这更接近于一个典型的NN问题。您的输入是2张卡和扑克桌的大小(6或10),以保持简单。预计NN将作出是非决定作为输出。这是一个参数数量较少的分类问题。你需要获得训练数据,这些数据应该是人类游戏的记录。基本逻辑是检查玩家的起始手是什么,并检查玩家在该游戏中赢得了多少钱,从而确定是否在开始时折叠或加入游戏的预期决策。您可以为此选择RBF网络。定义学习算法并呈现训练数据将训练神经网络。你可以选择随机行走作为你的第一种训练方法。训练后,你的NN应该能够决定你是否应该使用给定的手牌。艾伯塔大学的扑克数据库可用于创建培训数据:

    我真的不能选择这个作为正确答案,但我认为我的问题没有正确答案,所以。。但非常感谢您的解释,也感谢您提出的想法!我会多想想我的问题,然后我可能会换一个更简单的:)