【发布时间】:2021-10-27 10:26:09
【问题描述】:
我有两个整数 A 和 B,我想得到,WLOG 说,从 A 到 B 与以下操作的最少数量:
- 加或减1
- 乘以或除以 2
- 平方数
目前我正在使用 A* 搜索来解决这个问题,其中操作权重都是 1,启发式为 0(我猜基本上是 Dijkstra 算法)。但我想要一个更好的启发式来探索更少。 到目前为止,我所有的尝试都失败了。例如,如果两者都是正数且不相等,我尝试通过平方和加倍来进行估计。我也尝试用位串来思考,但 111 + 1 = 1000 让我觉得这不是一个好的启发式方法。我想要一些想法(如果不是解决方案)来提出一个好的启发式方法。
【问题讨论】:
标签: integer dijkstra a-star heuristics integer-arithmetic