是的。这是可行的。
问题概述
该系统的设计目标似乎是通过将一个或多个人工网络与纸牌游戏引擎结合使用来获得制胜战略优势。
这个问题显示了对摩根斯坦和冯诺依曼的博弈论中所概述的博弈基础知识的普遍认识。
- 在游戏过程中的特定时间点,玩家可能需要执行一个动作。
- 根据游戏规则,有一组有限的移动选项。
- 一些选择走法的策略比其他策略在多次游戏中产生更高的获胜记录。
- 可以使用人工网络来产生比随机移动选择更频繁地获胜的游戏策略。
游戏玩法的其他特征可能不那么明显。
- 在每个移动点都有一个游戏状态,任何参与提高游戏成功率的组件都需要该状态。
- 除了不知道对手何时会虚张声势之外,在纸牌游戏中,洗牌的秘密顺序可以引入相当于虚拟玩家的动作,其动作近似随机。
- 在三人或三人以上的游戏中,合作伙伴或潜在合作伙伴的信号可以在任何时候为确定获胜游戏策略增加复杂性。根据编辑,这款游戏似乎没有这么复杂。
- 诸如恐吓之类的心理因素也可以在赢得比赛中发挥作用。引擎是否向对手展示面孔是未知的,所以这个答案将跳过。
常用方法提示
有一种映射输入和输出的通用方法,但是在 Stack Exchange 答案中有太多解释。这些只是一些基本原则。
- 所有可以显式完成的建模都应该完成。例如,虽然人工网络理论上可以学习如何计算牌(跟踪每张牌的可能位置),但简单的计数算法可以做到这一点,因此使用已知算法并将这些结果输入人工网络输入。
- 将与最佳输出相关的任何信息用作输入,但不要将任何不可能与最佳输出相关的信息用作输入。
- 在训练期间和自动游戏期间,对数据进行编码以减少输入向量中的冗余。抽象和泛化是实现这一目标的两种常用方法。特征提取可以用作抽象或概括的工具。这可以在输入和输出上完成。一个例子是,如果在这个游戏中,J > 10 的方式与 A > K、K > Q、Q > J 和 10 > 9 相同,那么将卡片编码为从 2 到 14 或从 0 到 12 的整数减一。将花色编码为 0 到 3 而不是四个文本字符串。
图像识别工作只是远程相关,与直接使用的纸牌游戏不同,除非您需要从视觉图像中识别纸牌,在这种情况下,可能需要 LSTM 来查看其他玩家选择的动作。学习制胜策略很可能会受益于 MLP 或 RNN 设计,或者它们的衍生人工网络设计之一。
人工网络会做什么和训练示例
这些类型的人工网络的主要作用是从示例数据中学习一个函数。如果您拥有真实游戏的移动序列,那么这对您的项目来说是一笔巨大的财富。其中很大一部分对培训非常有帮助。
您如何安排示例以及是否以及如何标记它们值得考虑,但是如果没有纸牌游戏规则,则很难给出任何可靠的方向。是否有合作伙伴,是否基于得分,是否取得胜利的步数以及其他十几个因素提供了做出这些决定所需的场景参数。
向上学习
我可以给出的主要建议是阅读,不要阅读网络上的一般文章,而是阅读一些您可以理解的有关上述主题的书籍和一些论文。然后找到一些您可以下载的代码,并在您充分理解术语以知道要下载什么后尝试。
这意味着书籍搜索和学术搜索比一般的网络搜索更有可能引导您朝着正确的方向前进。一般网络空间有成千上万的装腔作势者,用大量错误解释人工智能原理。书籍和学术文章出版商对作者的尽职调查要求更高。