标题: 【寻路算法】原版曹操传《袁术讨伐战》吕布按兵不动之谜
性别:女-离线 贝莉卡

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 129
编号 447142
注册 2011-10-15


发表于 2026-4-9 20:34 资料 短消息 只看该作者
【寻路算法】原版曹操传《袁术讨伐战》吕布按兵不动之谜

打袁术讨伐战时,大家应该都有一个深刻印象,就是吕布一开始总是站在原地不动,到了后半程才终于开始动。而且有时候即使动了,走的路线也很诡异。
最开始以为吕布的AI方针就是被动出击,甚至以为这是为了表现吕布蛇鼠两端。但是看过剧本就知道,吕布的AI方针就是主动出击,那么他究竟为什么不动呢?

核心原因是,吕布会斜向攻击。

这就要说到主动出击型AI的大致算法:
首先检索有没有移动一次之后直接就能攻击的目标/使用策略的目标。
如果有,那么计算各种行动方式的价值,选择其中最大的一个去行动。
如果没有,再检索最近目标,所谓最近目标,是指消耗最少移动力即可攻击到的目标(不考虑策略)。
锁定目标后,向着目标移动。

在这里,吕布显然是无法移动一次后直接打到人的,所以进入下一步,检索最近目标。
那么问题来了,吕布的最近目标是谁?按照直观理解,他的最近目标显然是序号③的步兵。但并不是这样的,刚才说过,最近目标的定义是消耗最少移动力即可攻击到的目标。吕布会斜向攻击,在这个算法里,②③④离他是一样近的。然后,在这三个目标中,他会锁定哪一个呢?答案是序号④的弓兵,因为弓兵是软柿子。
下一步,吕布要向着弓兵去移动了,这时候出问题了。因为是“向着目标移动”,而不是“向着能攻击到目标的位置移动”,吕布和弓兵之间是没有路线的,于是就不动了。

吕布会斜向攻击,结果不动,他带的两个贼兵也都会斜向攻击,所以也不动。
其他友军,刘关张三兄弟、孙坚和两个骑兵,都是不会斜向攻击的,所以都会动。

那么吕布什么时候会开始动呢?
第一种情况是,我军杀到西门附近,西门敌军的阵型开始发生变化,吕布重新锁定目标,开始出击,表现比较正常。
第二种情况是,孙坚把南门杀开一个缺口,吕布发现他和弓兵之间有路线了,这个路线就是从南门绕行,于是吕布开始往南门方向走,虽然也是动了,但是表现上仍然很诡异。


图片附件: 无标题.png (2026-4-9 20:34, 222.09 K)



顶部
性别:未知-离线 住持方丈

Rank: 8Rank: 8
组别 校尉
级别 平西将军
功绩 23
帖子 2252
编号 472893
注册 2012-11-29


发表于 2026-4-10 21:59 资料 文集 短消息 只看该作者
好厉害,原来如此. . .


顶部

正在浏览此帖的会员 - 1 人在线 - 0 位会员(0 隐身), 1 位游客




当前时区 GMT+8, 现在时间是 2026-4-11 04:22
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.008558 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP