Graph 使用机器学习改进益智游戏AI

Graph 使用机器学习改进益智游戏AI,graph,machine-learning,artificial-intelligence,2d-games,Graph,Machine Learning,Artificial Intelligence,2d Games,我问这个问题的动机是,我在图形数据集上使用机器学习发现了一个有趣的问题。有很多关于这个问题的论文。例如,“从有向图上有标记和无标记的数据学习”(Zhou,Huang,Scholkopf)。然而,我没有人工智能或机器学习方面的背景,所以在从事任何科学研究之前,我想为更广泛的受众编写一个较小的程序 几年前我写了一个叫做Solumns的游戏。它是经典世嘉游戏专栏的邪恶变体。灵感来源于,它对不利于玩家的颜色组合进行了粗暴的强制。这很难 我想改进它的人工智能。我认为游戏空间(由彩色块、列位置、列颜色组成的

我问这个问题的动机是,我在图形数据集上使用机器学习发现了一个有趣的问题。有很多关于这个问题的论文。例如,“从有向图上有标记和无标记的数据学习”(Zhou,Huang,Scholkopf)。然而,我没有人工智能或机器学习方面的背景,所以在从事任何科学研究之前,我想为更广泛的受众编写一个较小的程序

几年前我写了一个叫做Solumns的游戏。它是经典世嘉游戏专栏的邪恶变体。灵感来源于,它对不利于玩家的颜色组合进行了粗暴的强制。这很难

我想改进它的人工智能。我认为游戏空间(由彩色块、列位置、列颜色组成的网格)比属性列表更适合图形结构。如果是这样,那么这个问题与我的研究问题类似

我正在考虑使用以下高层计划来解决此问题:

  • 我在想,如果AI对手能够根据比移动后棋盘上现有方块数更多的数据为可能的移动指定一个适合度等级,那将是有用的。我在考虑使用分类程序。在移动和所有过去的移动中进行训练,使用游戏其余部分的过程作为成功的衡量标准
  • 我也在考虑开发一个玩家机器人,可以打败标准的AI对手。这在为1生成数据时非常有用
  • 使用玩家机器人的游戏示例来构建一个击败战略玩家的AI。也可以将此数据用于1
  • 写一个有趣的人工智能,在适当的时候,将其委托给1、3和原始人工智能的可能组合,我将通过实验来确定这些组合,以找到启发性的捏造因素
  • 为了构建玩家机器人,我想我可以使用蛮力来计算样本空间。然后使用机器学习技术,比如那些用于构建随机森林的技术,来创建某种决策者

    构建AI对手是我最困惑的地方

    具体问题如下:

    • 评级动作听起来像是人们下棋时做的事情,尽管我承认我的方法可能是无知的,但文学作品中有很多关于这方面的内容,我可以从中学习。问题是,玩家机器人和AI对手是否应该创建数据样本?听起来我对不同的样本集感到困惑,这听起来像是糟糕训练的秘诀。我是不是应该玩一玩这个游戏
    • 对于当前的AI?,玩家应该考虑什么样的算法来训练玩家BOT? 在训练AI对手球员BOT时,我应该考虑什么样的算法?
    额外信息:

    • 我故意不去问这个策略是否适合编程游戏AI。当然,你可以更简单地编写一个伟大的人工智能(毕竟它已经很难玩了)。我想通过做一些有趣的事情来学习机器学习
    • 最初的游戏是用racket和C语言混合编写的。出于各种原因,我将它移植到jruby,可能是扩展或RPC调用到另一种更快的语言。我对现有的特定于语言的解决方案不太感兴趣。我想发展这方面的技能,并不怕为自己实现算法

    你可以找到

    的源代码,我不会在这里使用机器学习。看看玩游戏的人工智能

    你有一个对手游戏(如围棋),有两个不对称玩家:

    • 放置碎片的用户
    • 以及选择棋子的计算机(而不是偶然选择棋子)

    我可能会从Monte Carlo树搜索开始

    这不是一个好问题。太宽了。你能把你的问题分解成更具体的子问题吗?那样的话,就更有可能得到答案。我会的。非常感谢。我正在做更多的工作,并将回到具体的。是的,我已经转移到一个对称的方法来简化样本生成。