当前位置:首页 > 我对野人过河的问题思考
论文题目
野人过河问题的探索
课程(论文)题目:野人过河问题的探索 本文通过对野人过河问题的探索,运用人工智能知识的表示方法对这个问题进行描述、表示和推理,并且期望找到较为优化的算法。以下共分三个部分对此问题进行探索。 一 问题描述 在河的左岸有3个传教士、1条船和3个野人,传教士们想用这条船将所有的成员运过河去,但是受到以下条件的约束限制:(1)传教士和野人都会划船,但船一次最多只能装运两个;(2)在任何岸边野人数目都不得超过传教士数目,否则传教士就会遭遇危险,被野人攻击甚至被吃掉;(3)此外,假定野人会服从任何一种过河安排,请规划出一个确保全部成员安全过河的计划。 此问题严格的约束是船只能载两人和岸上野人不多于传教士。 二 野人过河问题的知识表示及规则定义 知识表示是对知识的描述,即用一组符号把知识编码成计算机可以接受的某种结构。野人过河问题是一种过程性知识,有多种方法可以表示这个问题,此外野人过河问题推理所用知识和推出的结论都是可以精确表示的,因此它是属于确定性推理范畴的。 下面我用了两种方法对问题进行表示和推理: 1. 谓词逻辑表示 1) 定义谓词及个体域 谓词:AT(nM,mY,L):n个传教士和m个野人在左岸; AT(nM,mY,R):n个传教士和m个野人在右岸; Boat(x,y,LR):将x个传教士和y个野人从左岸运到右岸; Boat(x,y,LR):将x个传教士和y个野人从右岸运到左岸; 个体域:0≤n≤3,0≤m≤3,0≤x≤2,0≤y≤2,x+y≤2; 初始状态:AT(3M,3Y,L); 目标状态:AT(3M,3Y,R); 2) 操作条件和动作: LR(1) 条件:AT(nM,mY,L),n=m n=m=3 动作:添加表:Boat(1,1,LR),Boat(0,2,LR); n=m=1 动作:添加表:Boat(1,1,LR); (2) 条件:AT(nM,mY,L),n>m n=3,m=1 动作:添加表:Boat(2,0,LR); (3) 条件:AT(nM,mY,L),n
共分享92篇相关文档