失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 人工智能实验:猴子摘香蕉问题(Python代码实现)

人工智能实验:猴子摘香蕉问题(Python代码实现)

时间:2020-02-14 00:17:30

相关推荐

人工智能实验:猴子摘香蕉问题(Python代码实现)

问题描述

房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。实现猴子摘香蕉问题的求解过程。

Python代码

(MonkeyPos,BananaPos,BoxPos)=input("请分别输入猴子、香蕉和箱子的位置坐标a、b、c(中间用英文逗号分隔):").split(",")step=1 # 用于记录当前是第几步# 第一步:猴子走到箱子处,需要判断是向左走还是向右走。但是出于鲁棒性考虑,如果猴子本身和箱子在同一个位置,那么就不需要进行这一步。gap1=eval(BoxPos)-eval(MonkeyPos)if(gap1>0):print("第"+str(step)+"步:猴子向右走"+str(gap1)+"米到达箱子处。")step=step+1elif(gap1<0):print("第" + str(step) + "步:猴子向左走" + str(-gap1) + "米到达箱子处。")step=step+1# 第二步:猴子把箱子推到香蕉的正下方,同样需要判断是向左走还是向右走。但是出于鲁棒性考虑,可能香蕉刚好位于箱子的正上方,那么就不需要这一步gap2=eval(BananaPos)-eval(BoxPos)if(gap2>0):print("第" + str(step) + "步:猴子向右推着箱子走" + str(gap2) + "米到达香蕉的正下方。")step=step+1elif(gap2<0):print("第" + str(step) + "步:猴子向左推着箱子走" + str(-gap2) + "米到达香蕉的正下方。")step = step + 1# 第三步:这一步不可省略,即猴子爬上箱子后摘取香蕉print("第" + str(step) + "步:猴子爬上箱子并跳起来摘到香蕉。")

如果觉得《人工智能实验:猴子摘香蕉问题(Python代码实现)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。