人工智能课程实验·过河问题/实验一 知识表示方法

人工智能课程实验·过河问题/实验一 知识表示方法

注:在校计算机学生一名,菜鸟一枚,这是人工智能这门课的课程实验,以此做记录

问题描述

实验一 知识表示方法
1.实验目的
  (1)了解知识表示相关技术;
  (2)掌握状态空间法的分析方法。
2.实验内容
  状态空间法实验。从前有一条河,河的左岸有m(=3)个传教士、m(=3)个野人和一艘最多可乘n(=2)人的小船。约定左岸,右岸和船上或者没有传教士,或者野人数量不超过传教士,否则野人会把传教士吃掉。搜索一条可使所有的野人和传教士安全渡到右岸的方案。
  (1)简述实验原理及方法,并请给出程序设计流程图。
  本次试验选择传教士过河问题,以状态空间法实现。

解答步骤如下:
1) 设置状态变量并确定值域
  M为传教士人数,C 为野人人数,B为船数,要求M>=C且M,C <= 3,L表示左岸,R表示右岸。
状态图

2) 确定状态组,分别列出初始状态集和目标状态集
用三元组来表示 :(ML , CL , BL)(均为左岸状态)其中0<=ML<=3 ,0<=CL<=0 ,BL ∈{ 0 , 1}
        S0 :(3 , 3 , 1) —–> Sg: (0 , 0 , 0)
初始状态表示全部成员在河的的左岸;
目标状态表示全部成员从河的左岸全部渡河完毕。

3) 定义并确定规则集合
   仍然以河的左岸为基点来考虑,把船从左岸划向右岸定义为Pij操作。其中,第一下标i表示船载的传教士数,第二下标j表示船载的食人者数;同理,从右岸将船划回左岸称之为Qij操作,下标的定义同前。则共有10种操作,操作集为
F={P01,P10,P11,P02,P20,Q01,Q10,Q11,Q02,Q20}
P10 if ( ML ,CL , BL=1 ) then ( ML–1 , CL , BL –1 )
P01 if ( ML ,CL , BL=1 ) then ( ML , CL–1 , BL –1 )
P11 if ( ML ,CL , BL=1 ) then ( ML–1 , CL–1 , BL –1 )
P20 if ( ML ,CL , BL=1 ) then ( ML–2 , CL , BL –1 )
P02 if ( ML ,CL , BL=1 ) then ( ML , CL–2 , BL –1 )
Q10 if ( ML ,CL , BL=0 ) then ( ML+1 , CL , BL+1 )
Q01 if ( ML ,CL , BL=0 ) then

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值