求剧情
算法的乐趣 · 第六十六节

《算法的乐趣》第六十六节

本节讨论俄罗斯方块AI评估局面的参数与常用算法。评估一个板块的摆放位置,需考虑接触的小方块数量(越紧密越好)、板块最高点高度(越低越好)、能消除的行数(越多越好)……

本节讨论俄罗斯方块AI评估局面的参数与常用算法。评估一个板块的摆放位置,需考虑接触的小方块数量(越紧密越好)、板块最高点高度(越低越好)、能消除的行数(越多越好),以及已填充区域的空格数和“空洞”数(越少越好)。这些参数需综合权衡,若过分看重消除行数,反而可能造成“空洞”等不利局面。

如何确定各参数的权重系数并无定法,简单线性关系可反复调试,复杂情况多用神经网络训练。早期研究转向追求高分,涌现出多种算法。其中,同时考虑当前和下一块板块的two-piece算法(如ColinFahey算法)效果好,但只考虑当前板块的one-piece算法(如PierreDellacherie算法)表现同样出色甚至更强。

PierreDellacherie算法将上述抽象参数转化为6个具体属性:板块落点高度(landingHeight)、消除效果(erodedPieceCellsMetric,即消除行数与该板块被消格数之乘积)、行/列变换次数(boardRowTransitions/ColTransitions,衡量紧密度)、“空洞”数(boardBuriedHoles)和“井”深之和(boardWells)。最终评估值由这6项线性组合得出:value=-landingHeight+erodedPieceCellsMetric-boardRowTransitions-boardColTransitions-(4*boardBuriedHoles)-boardWells。

‹ 上一章目录下一章 ›

全部 76 章