信息不完整的游戏策略

时间:2011-07-07 19:27:31

标签: game-theory

是否存在信息不完整的游戏的一般策略,尤其是像Bridge和Doppelkopf这样的特技游戏?

我对如何为这类游戏实施人工智能策略感兴趣。

赏金是针对特定策略的最佳描述的答案。

5 个答案:

答案 0 :(得分:3)

我想为纸牌游戏Doppelkopf提供一些具体信息,作者示例性地提出了这一点。在2012年,他编写了master thesis by Sievers,他在Doppelkopf游戏中采用了UCT算法。

因此,UCT通常会假设一个完美的信息游戏 他首先解决了卡片分配问题#34;问题,就是根据一些已知的卡片猜测每个玩家的卡片分配。

解决了这个问题之后,他尝试了两种方法来解决卡分配问题:

1)猜测每个UCT树的卡片分配,并查看多个树的平均值。他把这个战略称为UCT。

2)取一个uct树,猜测每个推出一个新的任务。在UCT的选择阶段,您只需忽略所有不一致的孩子。他将这种策略称为单一UCT。

我的感觉是2)制作更强大的人工智能,但似乎更弱,他在2015年的follow-up conference paper中更清楚地指出了这一点。

受AlphaGo取得成功的启发,我与一位朋友开始了一个项目学士论文项目,他使用基于字符的LSTM制作policy neural network来指导UCT算法的选择过程。他的学士论文仅涵盖了整体UCT的一些测试结果,但我已经为单个UCT播放器进行了测试,它使人工智能更加强大。我想这是因为单个UCT播放器可以更有效地减少搜索空间。

所以这个答案或多或少与@charley相同,但更具体。

答案 1 :(得分:2)

我认为Expectimax通常用于这些类型的问题。策略是尽量减少对手得分的最坏情况预期值。

答案 2 :(得分:2)

您可以尝试实施一些Reinforcement Learning架构。它需要大量的数学,但它很好用。

编辑:Here's一个关于RL的优秀资源的链接。

您可以使用RL来过滤对您的AI重要的内容以及应该忽略的内容。你的人工智能会从他的错误中吸取教训,但会及时学习并知道什么对于那场比赛很重要,哪些不是。

Edit2:简而言之,RL让你的经纪人能够从他的经历中学习,就像我们人类学习一样。我们燃烧一次 - 我们避免触火。我们在做某事后得到奖励 - 我们继续为获得更多奖励而做。使用RL的代理也是如此。

答案 3 :(得分:2)

“信息不完整”的问题往往通过“专家系统”或过滤机制得到很好的解决。请记住,“游戏理论”仅仅涉及“优化结果”(以牺牲其他一切为代价来优化某些事物),因此即使像专家系统这样的方法也可以编入实际的用户互动游戏中。

“不完整信息”的“专家系统”示例是:我需要一辆新车。宇宙从所有“已知”汽车开始,或者可能是动态(可能是随机)生成的集合“可能的”汽车(例如,不同的功能/型号,不同的制造商,不同的能力等)然后,系统可以问我问题,如:

问题:什么是最重要的?

  1. 运输能力
  2. 汽油里程
  3. 我不知道
  4. 重要的是,“我不知道” - 它必须是每个问题的选项,因为答案会导致“过滤”操作(例如,从可用汽车中移除可能的汽车)或“排名”操作(例如,将某些操作排序为“首选”而不是其他操作)。

    因为它特别适用于游戏引擎,你会建立一个“可能性的世界”,比如你可以走过的走廊,板上的瓷砖,每个可能的方向,每个可能使用的“武器”,每一个可能的“敌人”或“敌人团体”等。

    然后,根据游戏动态,您的工作仅限于:

    1. 根据规则/上下文/用户输入,删除不可行的选项。
    2. 基于规则/上下文/用户输入,SORT / RANK最受欢迎的选项。
    3. 在游戏中选择/使用“列表顶部”的项目。
    4. 这种类型的人工智能如此有效的原因与“模糊数学”领域(一个好的谷歌搜索)有关,你可以智能地应用你拥有的不完整信息,而不用考虑(或者污染你的系统) )你没有的信息,加上不“信任”任何原子单位的信息(因为过滤和排序会随着时间的推移而“平均”出错)。

      如果你在过滤和排序上加上一个“时间系数”,(旧问题的答案越来越被认为是“可疑的”),旧的项目被“过滤掉”或“排序到底层”越来越有可能重新开始游戏),那么你就可以获得真正有趣,动态,无限运行的游戏。

      而且,“dyanmic”和“无限运行”游戏之前你添加了一些游戏所具有的随机组件。像Minefield和Battleship和Stratego这样的游戏在游戏运行期间大多不会改变,所以你的“本地化和时间衰减答案”可能足以用于(非常)长时间运行的游戏。但是,如果您随机生成新的敌人,或者您的敌人四处移动,或者“板设置”中存在其他随机组件(如海洋潮汐,其中某些路径有时可用),则会增加一个全新的复杂程度

      模糊路径的海潮可能是伪定期或伪随机化的时间表。但是,“专家系统”或“过滤”概念会暗示您有一组(可能是无限的)“事件”(其中“海潮”是“事件”),您同样应用过滤和排序选择RIGHT NOW事件(在您使用过滤和排序来决定应该发生“事件”之后,而不是所有其他非事件选项)。

答案 4 :(得分:1)

我不知道任何一般策略,但我已经实现了一个隐藏动作和体面AI的游戏。

人工智能试图通过查看所有可能的攻击目标并弄清楚这些动作似乎集中在哪些目标来弄清楚人类在做什么。如果可能的话,人工智能会尽力加强,或者如果不能期待的话,他会撤离。

虽然有时可以通过同时攻击两个目标来解决这个问题,但这通常意味着弱攻击,除非你已经获胜,否则效果不佳。

我给予副本的大多数人都难以在平价时击败它。