1

我有问题想请教各位。

我是人工智能的新手。我想使用 A* 搜索解决水壶问题(3 个水壶 - 3 升、5 升、9 升 - 试图获得 7 升)。

我需要一个启发式函数来实现解决方案,但我找不到一个好的启发式 f(n) 以便算法找到解决方案的最少步骤。

4

1 回答 1

1

因此,给定您的参数,解决此问题的非启发式方法是:

0) Fill the 9 liter jug  
1) Pour the 9 liter jug into the 5 liter jug, this leaves 4 liters in the 9 liter  
2) Fill the 3 liter jug  
3) Pour the 3 liter jug into the 9 liter jug and the problem is solved

所以看这个你会得到一个图,它的节点可以处于以下两种状态之一: PourFill。然后,您为每个节点分配一个权重,该权重代表您将从该节点获得的液体量1,2,3,etc。不应该涉及到划分,你只需要让它“昂贵”以使用特定的操作。

于 2012-10-12T14:41:24.333 回答