纯训练有素的国际象棋AI


46

据我了解,在移动之前,似乎所有强大的国际象棋软件

  1. 检查成千上万或可能的未来职位;
  2. 根据某种启发式方法(称为评估函数)评估每个未来头寸
  3. 分别评估每个将来的职位是否处于静止状态,以决定是否从该职位中探索延续性;
  4. 从可用动作中选择极小值;
  5. 使用一本开幕书。

到现在为止还挺好。但是,国际象棋程序的强度似乎主要取决于其评估和静态启发式方法的质量,也取决于其开局书,从计算机的角度来看,这是另一种启发式方法。显然,这种象棋程序对游戏的理解程度与对启发式算法的理解程度一样。该程序似乎没有自己的见解。

有没有人写过具有自己见识的象棋程序?那是自己学习游戏吗?那训练自己吗?当然,这样的程序将提供游戏规则,并且可能还会进一步提供原始的minimax和静态基础结构,并且如果发现一个强迫伴侣,它将能够识别并起诉该伴侣。但是,不会提供启发式方法。例如,不会被告知将游戏开向中锋,也不会被要求比骑士更喜欢新手,也不会被告知西西里人的防守是什么。它必须自行推断出这些原理(或者可以想象发现更好的原理)。

以其纯粹的形式,永远不会为此类程序提供大师级的游戏来学习,而只能提供自己的游戏来对抗自己。只有经过全面的自我训练,它才能在人类竞争中发挥作用。

是否存在这种纯粹的国际象棋AI?机械象棋的自动编码曾经出现过吗?确实,老土耳其人能自学吗?

这似乎是纯粹的国际象棋AI失败的简短通知。

与切线相关的问题早先出现在此站点上,关于国际象棋开局的计算机化研究。)

更新

在撰写本文时,@ WesFreeman,@ GregE提出了三个不同的,有启发性的答案。和@Landei。强烈建议您同时使用这三个方法,根据网站政策,我正式接受其中一个而排除其他方法时会感到内。让我在这里感谢并表达对这三个方面的赞赏。

问题要简洁。但是,对答案的响应可能会运行更长的时间。因此,有兴趣的读者可以直接从此处跳到答案,然后,如果仍然有兴趣,可以返回以阅读随后的较长更新。

当我问这个问题时,我想到的是以下内容。

假设在香格里拉郊区一个假设的村庄,人们从未听说过象棋。在您短暂访问期间,您会教村长老游戏规则,但从不指导他们任何游戏原理。两名长者在其余长者观看时玩游戏,而您(不希望通过嘲笑打乱游戏)将您的评论局限于规则问题。当您留在香格里拉时,不会进行事后验尸,也不会再下棋或进行讨论。但是,当您离开而永不返回时,您将国际象棋摆在后面。

在您缺席的情况下,长者向人们传授游戏。有些人后来在闲暇时间玩一些游戏,有些人则热情洋溢,他们自己制作国际象棋。

对于这样的村民来说,似乎不是马上就比骑士更好,但是人们可能仍会逐渐在许多游戏中找出棋手的相对优势。同样,对于他们来说,可能并不立即意识到1. a4开局不佳:他们只能尝试并考虑结果。

村民对游戏的理解最终会在多大程度上与外界的理解相融合?缺少开幕书,他们会开发自己的新颖作品吗?当然,最初人们不会期望村民的空缺表现很好,但据我所知,在经历了几个世纪的孤立之后,村民们可能会发展出一个受人尊敬的开放曲目。

200年后,当下一位旅行者注意到这些开放空间时,它们的任何一个独立开发的开放空间是否会对外界证明是有趣的?香格里拉会给世界带来新颖,新颖的香格里拉防御吗?

如果是这样的话,那么,关于我最初对国际象棋AI的疑问,我所想到的或多或少是:国际象棋AI或多或少地会复制Shanrgi-La郊区村民的国际象棋进步吗?

考虑到下面@Landei的回答中的Sussman的故事,毫无疑问,我的村民会给游戏带来某些先入之见。例如,他们会带来一个理解,即拥有更多有用的东西总比拥有更少的有用,因此,捕获对手的西洋棋棋子通常比遭受己方的棋子更可取。对于文学来说,香格里拉虚构人物的地域性是一个问题,但人们可以假设,他们会认识到指挥更多空间的位置要好于指挥较少空间的位置。任何聪明的新手,一旦展示了一套国际象棋,并按照游戏规则进行了指导,就可以推断出女王可能比棋子更好,因为女王可以进行多达27步动作,

因此,我的问题不必解释为暗示绝对的,萨斯曼式的禁令,禁止将任何种类的知识带到棋盘上。而是暗示对先入为主的国际象棋特定知识的一般禁令。毕竟(过去不考虑游戏规则的演变问题),在过去的某个时候,玩过第一盘国际象棋。也许第一个玩家确实开了1. a4; 但最终他学得更好,并向门徒传授了所学到的知识。他反过来又一代又一代地学了更多东西,教了更多东西,给了我们Kasparov。

AI只能在几周内而不是几个世纪内做不到这样的事情吗?

我想,柏拉图会持怀疑态度。休ume会更乐观,但问题不再仅靠哲学来解决。我们现在拥有用于测试该提议的电子计算机,我想知道AI技术的现状是什么。当前最好的国际象棋AI似乎是完全不智能的专家系统,在直觉上一无所获。我想知道在某种意义上实际上考虑过国际象棋的更广泛的AI在自学游戏方面是否取得了相当大的成功。

我认为答案是否定的,可能不是。


4
确实,这是该站点上更好的问题之一。
prusswan 2014年

5
似乎答案是肯定的,因为DeepMind刚刚发布了有关他们从头开始训练的最新国际象棋AI的研究(仅自玩游戏,没有参考游戏)。arxiv.org/pdf/1712.01815.pdf
Lalaland

1
加上@Lalaland的评论,经过10个小时的培训,我认为它完全压碎了fish鱼(不确定哪个版本),就像stock鱼是初学者一样。引擎对引擎游戏中闻所未闻。似乎alphago零喜欢按塔尔(Tal)的风格玩
阿丽亚娜(Ariana)

2
“人工智能可以在几周内而不是几个世纪内完成这样的事情吗?也许不会。” 好吧,您在某种程度上是对的……只花了几个小时。
user230452

1
像卡帕布兰卡(Capablanca)这样的少数玩家应该看过游戏就知道了游戏。并记住,零零号别无他思。
菲利普·罗

Answers:


26

您有一些非常有趣的观点。我在AI研究方面有一些经验(我的硕士是该领域的),所以我想可以提供一些见解。

在该地区进行研究

首先,这一领域的研究肯定正在发生-搜索“进化方法国际象棋”是从2001年开始的,方法几乎完全按照您的建议进行,保留了最小/最大方法,仅修改了评估函数。有可能挖掘更多的东西,而且我知道总体上在该领域工作的一些人。

理论上的可能性

我认为,创建“纯”国际象棋AI的唯一真正限制因素是计算时间。从理论上讲,绝对没有理由不能使用当前方法创建这样的AI。

实用性

使用进化或遗传方法发展国际象棋启发式功能存在两个主要问题,第一个问题是,即使在最基本的情况下,国际象棋的启发式功能也非常复杂。我们正在谈论数百条规则,计件估价(可能会因仓位等而异),位置分析等。您需要一种灵活的计算机语言来描述这些规则,然后可以随机生成这些规则,变异,彼此繁殖等。当然可能,但是我猜您最终将获得由数千个实体组成的规则集。这是动态发展的非常大的规则集。

第二个问题是,要真正评估您新修改的规则,您必须下棋,看看谁最终获胜。如果您想“正确”地进行操作,则需要给两个玩家足够的时间思考,这与典型的游戏时长相似。但是,仅打一个单独的对手是不够的,您需要多次打出许多不同的对手,甚至可能打相同的对手,然后才能真正确信自己已经提高了游戏强度。这可能意味着在您的人口中每个人玩几百场游戏,这给了您一代算法。

通常,使用这些类型的方法,您至少要寻找几百代,或者具有象棋启发式这样的复杂功能,需要数十万(甚至数百万)代。一些快速的数学运算可以使您相信,一代人需要数千小时的CPU时间,即使将其扩展到一个相当大的服务器场,也可能需要数年(可能是数百年)的时间才能真正发展,您在更新中提及。

到那时,您将拥有一个有趣的算法,该算法可能会对游戏产生大量见解,而这些见解从未真正被发现过。很难说它们对人类是否有用或什至可以理解。为什么存在规则?因为几千场比赛,它似乎奏效了。

未来

毫无疑问,随着计算能力的提高,这些方法将越来越受欢迎。当前,如果机器的智能是手工精心制作的,那么我们正处于一台机器具有足够的计算时间来击败(几乎所有)人类的时刻。在20年的时间里,处理器很有可能会移动得如此之多,以至于再多进行一两次深度移动就无法再给“硬编码”机器带来足够的好处,而是经常被那些进化而又奇怪的直观机器击败他们身后数百万小​​时的进化。

更新2018年5月

正如罗伯特·考彻(Robert Kaucher)在下面的评论中提到的那样,最近的新闻在这里值得一提。具体来说,谷歌的AlphaGo项目似乎是针对此类游戏的第一种真正可行的基于AI的方法,并且在2017年底声称在针对任务进行了重新设计后,已经与StockFish 2取得了胜利。


谢谢。我注意到,您链接的论文首先针对非熟练的人类对手训练AI,然后针对现存的国际象棋软件进行训练,这并不是您我所想的。像我这样的柏拉图主义者得知您和我正在讨论的AI的类型实际上是不可能的,我们不会感到惊讶(我们知道这不是理论上的不可能,因为国际象棋可以通过minimax理论上解决)。但是答案是否让我感到惊讶并不重要。关键是要问一个AI是否已经实现了提议的壮举。答案似乎没有。
2012年

2
@thb我认为已经有很多尝试使用这种类型的AI,尽管您可以认为它们“不成功”。我怀疑今天(今天)取得巨大成功的尝试可能是在非常弱的业余水平上进行的。一项伟大的成就,只是在公众眼中没有。另外,我认为针对现有程序和人员进行培训本身并没有作弊-只是很大的优化,尽管这可能会改变正在发展的AI的游戏风格的方向。
Daniel B

1
如果您有兴趣阅读更多有关“纯”方法的内容,那么寻找“竞争性协同进化”方法可能会更有帮助。当没有好的方法可以提供外部性能指标时(即我们无法与其他国际象棋引擎对抗),因此使用此短语,因此AI训练必须通过玩各种形式的自身来发展。它确实可以工作,但是需要更长的时间,这可能就是为什么它不那么受欢迎的原因。
Daniel B

1
@DanielB AlphaZero是这样的AI吗?
哈里·韦斯莱

1
您可能希望更新您的答案。Chess.com/news/view/…–
罗伯特·考

17

我怀疑您要问的是归类为某种遗传算法进化算法方法。我怀疑没有这样的算法来设计这种算法,而没有在本质上本质上在一定程度上嵌入一定程度的人为偏差,因为程序员仍然必须定义位置的静态特征(材料数量,典当结构,颜色复杂性等)。 AI会据此对不同游戏的排名进行分类和比较。如果您在国际象棋的语境下对上述算法术语进行Google搜索,您会发现很多结果,但对于真正用于构建成功的,具有竞争力的AI的认真研究而言,可能会收效甚微。

事实是,由于摩尔定律,计算机现在是如此强大的计算机,以至于极其复杂的AI方法不仅是不必要的(就玩游戏而言,其水平要高于人类最佳对手),而且甚至可以适得其反。象棋是一种游戏,在这种游戏中-主要是由于其在给定位置的合理动作的搜索空间相对较小,并且存在强制性的战术组合(包括支票序列,棋子捕获,威胁物资或灾难性损失,等)-带有保守搜索树修剪功能的蛮力方法同时也是算法上最简单和最有效的方法。如果考虑到残局表和开张书籍的可用性,这种方法的逻辑只会增加。我知道那里 在您正在谈论的新型AI方面,它仍然具有很大的理论兴趣和潜在价值,但是我怀疑国际象棋是开发它的错误舞台。另一方面,像Go这样的游戏从本质上讲战术性不强,并且包含了很大的搜索空间,使得暴力破解方法变得不切实际,它可能是尖端AI研究的更好候选者。


我已经根据您的回答更新了AI问题。更新时间不短,因此您可以选择在有空的时候根据自己的兴趣对其进行审核。
2012年

2
不需要这种人为偏见。只需生成1000种能够下合法棋的随机算法,在锦标赛中将它们相互对抗,然后获得前20%的排名,并应用变异和交叉来构建下一代。在许多世代中重复许多代,最后您应该得到一些体面的东西。唯一需要的健身功能是胜利/失败。
超级灯具

15

参见Wikipedia的“ 常规游戏”页面。这是一个活跃的研究领域。有一年一度的GGP锦标赛,其中给程序赋予新游戏的规则,让其思考一会儿,然后彼此对抗。

如果将象棋规则提供给GGP程序,我想您会发现它的作用比人类初学者要强得多,而比专门编写的象棋程序要弱得多。


13

鉴于最近AlphaZero对抗Stockfish 8取得了惊人的成功,值得重新审视这个问题。在DeepMind的AlphaGo和AlphaGo Zero程序的进一步发展中,AlphaZero以+28 = 72 -0的惊人得分结束了地球上最强大的“传统”国际象棋引擎之一的比赛。

AlphaZero通过增强学习自学,通过一系列针对自己的游戏来训练其神经网络架构。根据随附文件

  1. 描述位置的输入要素和描述移动的输出要素被构造为一组平面。即神经网络架构与电路板的网格结构相匹配。
  2. AlphaZero具有游戏规则的完善知识。这些在MCTS期间用于模拟一系列移动产生的位置,确定游戏终止以及对达到最终状态的所有模拟进行评分。
  3. 有关规则的知识也可用于编码输入平面(即滚动,重复,无进展)和输出平面(棋子如何移动,提升和下降)编码。
  4. 合法移动的典型次数用于缩放探索噪声(请参见下文)。
  5. 超过最大步数(由典型的游戏时长决定)的国际象棋和将棋游戏被终止并分配抽签结果;围棋比赛被终止,并按照Tromp-Taylor规则得分,与之前的工作类似(29)。

除了上面列出的要点之外,AlphaZero没有使用任何形式的领域知识。

我敢肯定,我们可以提高人们对物像不同硬件的问题正在使用- “ AlphaZero ......使用一台机器具有4 的TPU鳕鱼干 ......使用64个线程使用了在[其]最强的技能水平和散列大小1GB。” -但无论如何,AlphaZero的结果是了不起的,而且在OP中也是如此。

除了在国际象棋上击败Stockfish之外,AlphaZero甚至还展示了对少有领域知识的支持,除了在国际象棋上击败了Stockfish外,还在shogi进行了培训,以击败冠军计划Elmo,当然也超过了其前身AlphaGo Zero in Go 。

这是一场针对Stockfish的比赛,这是在柏林,物质失衡最终是AlphaZero,主教对则是对抗骑士,之后是对Stockfish的4个棋子31.Qxc7。在这个位置上,所有AlphaZero的作品都处于后排位置,主教则回到其原始广场上。最终,在皇后离开后,黑色碎片会慢慢动作以拾取白色棋子,这就是窗帘。

干鱼-AlphaZero,2017-12-04,0-1
1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. OO Nd7 7. Nbd2 O-O 8. Qe1 f6 9. Nc4 Rf7 10. a4 Bf8 11. Kh1 Nc5 12. a5 Ne6 13。 Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22.Be3 Rb6 23. Nc4 Rb4 24. b3 a5 25. Rxa5 Rxa5 26. Nxa5 BA6 27. Bxd4 RXD4 28. NC4 RD8 29. G3 H6 30. QA5 BC8 31. Qxc7 BH3 32.皂苷Rg1 RD7 33. QE5 Qxe5 34. Nxe5 RA7 35. NC4 G5 36.器Rc1 BG7 37。 NE5 Ra8显 38. NF3 Bb2即 39.皂苷Rb1 BC3 40.馆1 BD7 41. Ne2的 这个Bd2 42.器Rd1 BE3 43. KG2 BG4 44.部Re1 这个Bd2 45.器Rf1 Ra2的 46. H3 Bxe2 47. RF2 Bxf4 48. Rxe2 Be5 49. Rf2 Kg7 50. g4 Bd4 51. Re2 Kf6 52. e5 + Bxe5 53. Kf3 Ra1 54. Rf2 Re1 55. Kg2 + Bf4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Ke5 61 。hxg5 hxg5 62. Re2 + Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6 + Ke7 66. Ra5 Ke6 67. Ra6 + Bd6 0-1

11

我认为很难产生这样的AI的主要原因是由于存储有效的“训练”所需的空间。

另外(作为对您的自我训练评论的回应),自我训练在尝试改进这种AI时可能是有害的-我已经用井字游戏进行了一些研究(诚然要简单得多),发现各种各样赢得可怕的方法(并训练那些可怕的方法),因为双方都表现得很糟糕。与在井字游戏中针对良好的前瞻性AI进行训练相比,通过自我训练获得合理的性能所花的时间要长得多。

但是,我认为看到一个同时使用深度搜索和“训练”的混合体会很有趣,这种混合体是用于中间游戏(而不是仅仅残局和开局)的某种存储位置数据库。这将需要大量空间。

也许您正在考虑一种更“真实”的AI方法,该方法将学习位置概念,而不是位置赢/输/平局,但我认为这不会非常有效(与强大的引擎相比)。


答案是赞赏。我认为我想到的是(a)具备极小能力但(b)缺乏预定的评估功能的AI。这样的AI必然会通过纯粹的minimax解决像井字游戏这样的小游戏。在国际象棋中,从理论上讲,只有极小值极易受到影响的游戏,AI不会评估棋盘上的当前位置,而会评估将来的位置,然后极小值会选择移动。可以宽泛地说Nimzowitsch通过摒弃已知的评估启发法对国际象棋进行了革新。如果是这样,那么机器也可以这样做吗?
2012年

1
那么您是说它将发展自己的评估功能?
伊芙·弗里曼

2
@thb,作为一名程序员,我认为与您的想法有关的问题是,据我所知,没有任何合理的国际象棋AI能够以完全空白的评估功能开始。可以编写一种AI,分析游戏中的模式并使用统计/概率方法(例如贝叶斯推理)来微调其估值和决策,但是程序员必须识别出哪些图案,位置因素,移动序列构成了所述模式并根据什么标准对其进行评估。换句话说,评估功能的基本核心仍然需要人为设计。
Greg E.

1
例如,如果您要基于胜利/失败/平局以相同的物料值开始所有零件,并让物料值发生变异,那么看看遗传最小极大引擎会带来什么可能会很有趣。我敢肯定,引擎创建者已经尝试过调整它们,例如制作2.9骑士和主教3.1典当。
伊芙·弗里曼

1
@thb,我不是专家,但我认为确实如此。甚至您链接到的AI也受程序员偏见的约束。如果您阅读原始研究论文,则会注意到训练评估功能的“特征向量”包含“手工精心设计”的电路板特征。也就是说,程序员仍然必须指定AI决策依据的一组静态位置因子。我认为,对于该特定项目,神经网络的主要优势在于训练可以并行化,从而可以高效地异步处理大量游戏。
Greg E.

10

我只想在这里扩展Greg和Wes的答案。此应用程序所要求的复杂程度根本不存在这种提议的AI。即使他们做到了,我也怀疑他们会失败。好像他们想要一个强大的通用AI,可以教游戏的基本规则然后将其发送出去。但是,如果您查看正在开发的通用AI,那么它们都是在1-2岁的水平上被教授的,例如对象识别和语音识别。任何通用AI都首先需要具有复杂性,才能了解游戏甚至是游戏,然后才能了解如何玩游戏。您不能设计通用AI,并且不能期望它像狭窄的AI或专用AI一样执行。通用人工智能需要像一个人一样学习国际象棋,您不能期望将两个对国际象棋历史一无所知的新手玩家放在一起,并自发地重新设计空缺和战略主题。AI相互之间需要数百个实例进行交互,每个实例都可以在数十万次迭代中访问其所有游戏的历史数据。每个AI都需要具有在不同级别上加权的某些独特特征。

人类花了将近500年的时间从Rodrigo(Ruy)Lópezde SeguraPedroDamiãoPaul Morphy,然后考虑了SteinitzAlekhine的戏剧之间发生的进一步变化。所有这些变化都是通过成千上万具有不同气质和其他影响特征的玩家(例如,随机偏爱骑士而不是主教,或者偏爱骑士的主教)的活力来实现的,更不用说演奏风格和方式了。所有这些因素促成了几百年来影响国际象棋的变革。弱的AI-甚至弱的通用AI-都无法复制这种发电机,因为它缺乏欲望。只有欲望才能驱使某件东西在许多天中坐上几个小时,以分析某个开口,目的是在竞争对手“破坏”它之后将其破坏或加以改善。确实,这种分析和准备的动力在多个世纪以来改善了比赛的表现,而不是同样弱小的球员之间数百万场比赛的盲目比赛。

这就像把一群不说英语,从未读过他们母语的文学大师的人放到一间装有英语作为第二语言书籍的房间里,并期望他们想出莎士比亚的作品一样。这永远不会发生。

编辑:我应该比提出这个主张更了解,因为它已经发生了

Chess.com解释说:“ AlphaZero并不是传统意义上的“教学”游戏。“这意味着没有开场书,没有残局表,而且显然没有复杂的算法可以剖析中间典当和侧面典当之间的微小差异。这类似于让机器人访问数千个金属零件和零件,但不了解内燃机,然后以各种可能的组合尝试无数次,直到制造出法拉利。…该节目有四个小时可以播放很多次,从而成为自己的老师。”

我继续,显然是毫无根据的蠢事:

我们理所当然地拥有关于世界的所有隐性知识。为了能够理解,如果我必须用木头和钉子,那么锤子比起子对我更有用。我必须首先了解某些类别的东西在某些情况下比其他东西有用。我还必须了解,事物具有可以应用于目标的用途。这些是启发式的。如果不能告诉AI某些部件比其他部件具有更大的价值,它怎么能理解伴侣是什么?如果不能使用特定的启发式方法进行编程,则它必须能够推断出诸如“价值”和“效用”形式的经验之类的想法。那不是狭窄的AI的领域。这是通用的领域,强大的AI。


1
极好的答案。我认为您的第一段确实体现了我试图传达的想法,但是却更加清楚。
Greg E.

谢谢,格雷格。我只想补充一点,我说的是一个弱小的通用AI。我相信,真正的强大AI可以在高度压缩的时间范围内通过多次迭代的许多实例来执行类似的操作。但是我们还没有强大的AI。en.wikipedia.org/wiki/Strong_AI
罗伯特·考彻

我同意你所说的一切,但关于欲望的部分除外。AI可以坐几个小时,做设计师想要做的一切-足够的计算机功能可以解决国际象棋,只是我们还没有足够的功能。
伊芙·弗里曼

韦斯,的确如此,但随后我们将“程序员”的偏见注入了AI。这是问题作者不想要的事情之一。
罗伯特·考彻

@EveFreeman,我认为您误会了我的意思。我并不是说计算机不会“解决国际象棋”,而是说OP 的特定情况会使其无法正常工作。如果系统没有启发式方法,那么如何将价值放在碎片上?
罗伯特·考彻

9

请沉思以下AI Koan:

在Sussman还是新手的那一天,Minsky曾经来找他,当时他正坐在PDP-6上进行黑客攻击。“你在做什么?”明斯基问。萨斯曼回答说:“我正在训练一个随机连线的神经网络来玩井字游戏。” 明斯基问:“为什么网络是随机连接的?” 萨斯曼说:“我不希望它对打法有任何先入之见。” 明斯基然后闭上了眼睛。“你为什么闭上眼睛?”萨斯曼问他的老师。“这样房间就空了。”那一刻,萨斯曼被开悟了。

无论您是否闭上眼睛,我们的应用程序始终具有先入之见。


您的轶事很有说服力。在您感兴趣的范围内,您的轶事促使我通过更新来扩展问题,您可以在有空的时候在上方看到。
2012年

8

有没有人写过具有自己见识的象棋程序?那是自己学习游戏吗?那训练自己吗?

是。查看Matthew Lai编写的长颈鹿国际象棋引擎。他在计算机科学硕士学位的人工智能研究中编写了象棋引擎。

去年在TalkChess国际象棋编程论坛上进行了很多讨论。我知道,因为我是国际象棋引擎的作者,其引擎的强度与长颈鹿差不多。但是,我使用传统技术实现了引擎,而长颈鹿的作者则通过“使用深度神经网络的时差增强学习”来训练引擎。Matthew仍然必须实施传统的alpha / beta搜索来动态评估位置,换句话说,就是要向前迈进许多步。他的创新在于训练引擎以评估静态位置。相比之下,我将特定知识写入了引擎的静态评估例程。

我编写了使用粒子群算法调整评估参数的代码(有关技术讨论的链接,请参阅我博客上的“ 谢谢”页面)确实产生了积极的结果-引擎更强大。但是,这并不是让引擎“学习”太多的任务,而不仅仅是在极大的评估参数空间(10 ^ 150个离散参数组合的数量级)中最大程度地减少错误。

马修在TalkChess论坛上讨论他的论文。如果我没记错的话,他现在在DeepMind上为Google工作。

另外,请查看Thomas Petzke的博客。他编写了非常强大的国际象棋引擎iCE,并使用遗传算法改善了该引擎的静态评估。请参阅他在2013年及之前发布的帖子,例如“ 基于人口的增量学习”


欢迎来到论坛!加一。
SmallChess


5

谷歌搜索像这样可以把像结果这样

最特别的是,我相信您会希望阅读这篇论文的。他们的确为引擎提供了一些初始数据,例如计件值,因此它并不是您所要的,但它的性能很好。


+1是因为我感谢有趣的IEEE引文。我碰巧已经对NeuroChess页面很熟悉。但是,这些似乎都不符合我的想法。
2012年

3

机器学习是可能的。

象棋引擎的开本使用机器学习。引擎通过播放它们来测试书中的开头行,如果与其他行相比得分更高,则会在开头树中提升该行。随着时间的流逝,引擎会学习到更好的台词。

在打开阶段结束之后,引擎停止使用本书,并开始使用评估功能。


如何使用机器学习实现自我学习引擎?

想象一下使用没有评估功能的的引擎。最初这本书是空的。因此引擎不了解国际象棋。

Engine开始使用这本空书,直到游戏结束才关闭书。我们可以认为它就像一个普通的引擎,在游戏结束之前会使用一本开始的书。

随着时间的流逝,引擎会从统计学上找到最佳的延续,因为糟糕的成绩会随着时间的推移变得更糟。但是,当然,要获得一本好书,应该玩很多游戏。我不知道有多少,但我们可以说不切实际。

2017年12月更新:嗯,我想阿尔法零证明我错了通过培训本身强烈足以击败最强的引擎之一,鳕鱼干,用实际的游戏数量。


2

无论您在这方面尝试什么,都请务必先阅读Turry的故事:http://waitbutwhy.com/2015/01/artificial-intelligence-revolution-2.html

TL; DR; 每个请求的扰流板版本

在Turry的故事中,Turry的自我训练型AI必须编写漂亮的手写笔记,并且最终摆脱人类,因为不需要它们来实现写漂亮的手写笔记的无害目标。打个比方,具有AI的自训练国际象棋引擎很可能也将摆脱人类,因为不需要他们来提高表面上无害的提高国际象棋技能的目标。


您的答案很有趣,尽管可能没有说服力。我已经阅读了有关您的建议的链接文章(两部分)。作家通过攻击一些稻草人来削弱他的案子,但是他是一个有思想的人。我认为我没有想到与这篇文章的Turry非常相似的东西。从根本上讲,从根本上说,一个8 x 8的棋盘可让两个玩家进行40个左右的离散回合。我发现AI甚至不能以一般的方式考虑国际象棋,这非常了不起。与之相反的观点,分配给阅读:费瑟,爱德华。最后的迷信。不过,+ 1表示兴趣。
2015年


0

在处理计算系统时使用拟人化术语是专业不成熟的征兆

我们如何分辨出可能有害的真理?Edsger W.Dijkstra撰写的文章几乎总结了您的问题背后的错误假设。人工智能可能是人工的,但不是人类意义上的智能。

1984年BBC的瑞斯讲座上,美国哲学家约翰·塞尔(John Searle)确切地解释了硬AI到底有什么问题。他的论点“太长,没有听”的摘要是“语法不是语义”,但我还是鼓励您至少听一下第2讲“啤酒罐和肉类机械 ”。

一旦您掌握了30年前Dijkstra和Searle所说的话,您就会意识到您的问题出了什么问题:

有没有人写过具有自己见识的象棋程序?那是自己学习游戏吗?

人类具有“见识”并且可以学习。电脑不能。几个世纪以来,您的原始人类村庄可以复制国际象棋开放理论,但不能复制计算机。


您是否认为计算机将无法达到人类的智能水平,或者甚至仅是为人类保留了“思考”和“理解”能力?
BlindKungFuMaster 2015年

@BlindKungFuMaster如果您不厌其烦地听上面链接中的“啤酒罐和肉类机械”,您将很清楚约翰·塞尔(John Searle)的想法。他说服了我,我也同意他的观点。
布赖恩塔

毕竟,直到1984年,Searle对AI计算机程序的简单理解才是可以原谅的。但是,现代AI体系结构只模仿人类思维的体系结构,因此仅以语法方式描述该体系结构,而不是最终的“思考”。通过“学习”,从摄取大量数据中获得“相当于人脑的力量(尚未)。” 仅在此步骤中,语义内容才被捕获。
BlindKungFuMaster

因此,通过假设您可以仅使用大型规则手册(实际上是相对荒谬的)来模拟理解,以及通过假设可以通过适当的体系结构从大量数据中捕获语义内容的可能性,来确定中文室的论点是有缺陷的。实际上,这就是这些天自然语言处理的全部内容:cs224d.stanford.edu/syllabus.html
BlindKungFuMaster

@BlindKungFuMaster在您所说的话中,有一个关键词对您来说似乎是您听不懂的。它是“模拟”一词。我担任计算机软件工程师已有35年,在那段时间里,我有很多模拟器,并且自己编写了一些模拟器。仿真器通常是项目的重要组成部分,但在实时项目中,它们永远不会完全取代目标设备。毫无疑问,计算机在模拟智力和语义理解方面非常出色,但它们永远无法实现意识,意愿和理解。
Brian Towers

0

这个问题是由原始问题的提问者在问题四年后给出的。它不能替代或取代较早给出的答案,因为大多数较早的答案都比该答案更有趣。但是,此答案可能会添加一些其他上下文。

据我所知,大多数AI研究似乎暗含了这样一个前提,即思想和理性仅仅是物质现象,或者至少与思想和理性没有区别的结果必须只能通过物质过程来实现。我对此前提没有异议(就此而言,在此也不要推广)。我只是观察到这似乎一个前提。

毕竟,在AI研究中,这应该不是前提吗?人工智能研究人员必须通过物质过程进行工作,无论他们愿意还是不愿意。

回溯到邓斯·斯科特斯,圣托马斯,亚里斯多德和柏拉图的现实主义哲学学派,在心智理论方面有很多话要说。像康德这样的代表主义者有不同的话要说。人工智能的研究可能更接近康德,但这并没有使学生们犯错。

诚然,在目前的对话中,通常会出现“反对神”的反对意见,但专业的哲学家会告诉您,“反对神”的反对意见攻击的是稻草人,该反对意见往往只对那些没有学过哲学因而不知道他们在说什么的人有用。根据亚里士多德的说法,这是形式上的最终的因果关系,可能与自我训练的国际象棋AI问题有关。然而,以亚里士多德的话来说,人工智能研究人员纯粹是在材料上,尤其是在有效因果关系上工作。(除非是倾斜的,否则人类培训师会亲自将正式和最终的要素带入系统中)。如果理由是正式的,如果思想是决定性的,如果塞尔(Searle)的中文室被证明是不可能的(可能的话),那么也许从理论上讲,即使是纯粹的自我训练的国际象棋AI也无法实现。

我怀疑确实可以实现纯粹的自我训练的国际象棋AI,而且将以亚里士多德的话说,仅出于有效的因果关系,这个问题就足够脆弱了。我通常对强大的AI持怀疑态度,但是这些需要在经验中证明,不是吗?还没有人真正知道。

因果关系思维的哲学是微妙的,很少有人(甚至在AI研究人员中,甚至更实际的人)也很难把握。如果您想学习这样的哲学,那是值得学习的。但是请注意,在互联网上,甚至经常是印刷版中,基于无节制的误解,很容易找到引起误解的解释。用我的钱,今天关于这个主题的最好的入门老师是爱德华·费瑟(Edward Feser),他的书以合理的价格印刷着。您可以从他那里学到更多。

但是,有人怀疑,即使费瑟博士也会对目前的问题提出权威的答案!答案仍有待在AI实验室中加以证明。


-3

我希望他们发布代码,然后我们可以谈谈。解决国际象棋并不是那么容易,阿尔法甚至在半个世纪之内都不会解决。有趣的是,它仍然播放1.d4。为什么?由于它已经过人类游戏训练,因此人类理论给出了1.d4的最高性能。可怜的东西不知道1 ... c5恰好在8局中取得平局。现在他们希望我相信Alpha并未使用模拟的开幕书……他们说Alpha发挥了出色的开幕式。好,是的,除了一些例外。1.d4当然不能很好地说明程序所达到的智能水平。幸运的是,在开放阶段,SF甚至更弱。:)


3
您大胆地宣称:1. ... c5实现了8局平局,并且在开始阶段Stockfish表现不佳。您能否提供这些声明的参考?
巴勃罗·奥卡

1
1.d4当然不能很好地说明程序所达到的智能水平。作为一名1.d4选手,我想知道我是否应该认为自己的智力在这里受到侮辱。
Evargalo

尽管他们还没有发布代码,甚至还没有发表论文,但已经启动了一个再现其结果的项目:lczero.org您甚至可以在play.lczero.org上玩转
Xu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.