当前位置: 首页 > 知识库问答 >
问题:

水壶启发式函数

弓胜泫
2023-03-14
    null

从这些状态,它可以生成其他状态,直到结束状态(X,D)或(D,Y)。

那么,我能估计这个问题的启发式函数吗?如何知道哪个州比其他州好?

谢谢大家。

共有1个答案

阎功
2023-03-14

将状态空间中的每个状态表示为(x,y)本身。

启发式函数:对于每一个s=(x,y)=x-D+y-d(假设您希望最小化h(.))

请考虑,这只是一个贪婪的决定,假设如果其中一个水壶含有太近太多的水,这是一个好的状态!显然,这对于目标状态是正确的,但它不能保证达到最优解,因为HC根本没有期望它!

为什么是这个h(.)?因为它是可以接受的,你可以用它(可能是当你的老师要求的时候)来回答*,它会给你最优的答案。

考虑到“爬山”算法的以下问题,不要期望过高:

  • 山脚问题
    局部山峰吸引程序的注意力,而不是试图到达“顶部”
  • 平台问题
    区域平坦,因此很少吸引程序到一个路径上而不是另一个路径上
  • 脊问题
    每一步都下降,但不是在局部最小值
 类似资料:
  • 我不知道如何把它放到一个启发式函数中,而且我对状态的数目有疑问。如果我承认这些动作(从水龙头灌满一个,把一个倒到下水道,从一个倒到另一个,直到接收罐满了或倒罐空了),有15种可能的状态,但如果我考虑关于加仑数量的所有可能性,有24种可能性。那是正确的吗? (0,0) (3,0)(0,5) 但是我也为一个问题找到了这个答案(水壶的启发式函数),现在我很困惑。谁能给我解释一下吗? 最大(estimat

  • 为我的人工智能类编写一段代码,它旨在列出所有可能的状态,给出三个水壶的水壶问题(你可以装满任何一个水壶,或者把一个水壶倒入另一个水壶,或者清空任何一个水壶,你想要多少次就多少次,以任何顺序),从空水壶开始。 出于某种原因,在记录了88个看似不同的状态后,第89个状态与第一个状态相同,我最终用完了空间,因为它在循环。 我想这与我如何检查状态是不同的有关,但我不能弄清楚。任何帮助都将不胜感激。 }

  • 本文向大家介绍如何对水壶进行测试相关面试题,主要包含被问及如何对水壶进行测试时的应答技巧和注意事项,需要的朋友参考一下 参考回答: (同快手对水杯的测试) 功能 (1)水倒水壶容量的一半 (2)水倒规定的安全线 (4)水壶容量刻度与其他水壶一致 (5)盖子拧紧水倒不出来 (6)烫手验证 性能 (1)使用最大次数或时间 (2)掉地上不易损坏 (3)盖子拧到什么程度水倒不出来 (4)保温时间长 (5)

  • 我正在尝试使用 A* 算法找到任何长度的滑动块拼图的最佳解决方案。 滑动积木拼图是一种游戏,白色(W)和黑色(B)的瓷砖排列在一个线性游戏板上,有一个单一的空白空间(-)。给定棋盘的初始状态,游戏的目的是将瓷砖排列成目标模式。 例如,我目前在董事会上的状态是BBW-WWB,我必须达到BBB-WWW状态。瓷砖可以通过以下方式移动:1.滑入相邻的空白空间,成本为1。2. 跳过另一个瓷砖进入空白区域,费

  • 我试图为一个棋盘游戏找到一个更好的启发式函数,我将在代码后指定其规则。我的评估功能是: 初始板持有绿色和红色令牌,如图所示。人工智能先移动,使用与你相反的颜色,攻击你的代币。在黑色单元上,令牌可以正交(左、右、上、下)或对角移动。如果是在白血球上,你只能正交移动。 当您将令牌移动到对手令牌旁边时,您将删除该方向上所有对手的令牌。例如,如果我将绿色令牌从 C4 移动到 C5,我将杀死 C-6 到 C

  • 本文向大家介绍假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升,如果对一个水壶而言,每次加水或倒水都算一次操作步骤,怎样通过最少步数可以获得3升水。相关面试题,主要包含被问及假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升,如果对一个水壶而言,每次加水或倒水都算一次操作步骤,怎样通过最少步数可以获得3升水。时的应答技巧和注意事项,需要的朋友参考一下 8