• 陈林 130702010048


     

    2.9  设有如下语句,请用相应的谓词公式分别把他们表示出来:

    (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。

      解:定义谓词

      P(x):x是人

      Q(x, y):x喜欢y

      其中,y的个体域是{梅花,菊花}。

      将知识用谓词表示为:

      (∃x  )(P(x)→Q(x,梅花)∨Q(x,菊花)∨Q(x,梅花)∧Q(x,菊花))

     

    (2)有人每天下午都去打篮球。

      解:定义谓词

      P(x):x是人

      B(x):x打篮球

      A(y):y是下午

      将知识用谓词表示为:

      (∃x  )(∀y)  (A(y)→B(x)∧P(x))

     

    (3)新型计算机速度又快,存储容量又大。

      解:定义谓词

      NC(x):x是新型计算机

     F(x):x速度快

     B(x):x容量大

    将知识用谓词表示为:

    (∀ x) (NC(x)→F(x)∧B(x))

     

    (4)不是每个计算机系的学生都喜欢在计算机上编程序。

      解:定义谓词

      S(x):x是计算机系学生

      Q(x,  pragramming):x喜欢编程序

      U(x, computer):x使用计算机

      将知识用谓词表示为:

      ¬  (∀ x) (S(x)→Q(x,  pragramming)∧U(x, computer))

     

    (5)凡是喜欢编程序的人都喜欢计算机。

      解:定义谓词

      P(x):x是人

      Q(x,  y):x喜欢y

      将知识用谓词表示为:

      (∀ x) (P(x)∧Q(x, pragramming)→Q(x,   computer))

     

     

     

    2.1 0用谓词表示法求解农夫、狼、山羊、白菜问题。农夫、狼、山羊、白菜全部放在一条河的左岸,现在要把他们全部送到河的右岸去,农夫

    有一条船,过河时,除农夫外船上至多能载狼、山羊、白菜中的一种。狼要吃山羊,山羊要吃白菜,除非农夫在那里。似规划出一个确保全部安

    全过河的计划。请写出所用谓词的定义,并给出每个谓词的功能及变量的个体域。

     

    解:(1) 先定义描述状态的谓词。

    要描述这个问题,需要能够说明农夫、狼、羊、白菜和船在什么位置,为简化问题表示,取消船在河中行驶的状态,只描述左岸和右岸的状态。

    并且,由于左岸和右岸的状态互补,因此可仅对左岸或右岸的状态做直接描述。本题选择对左岸进行直接描述的方法,即定义谓词如下:

      AL(x):x在左岸            

      其中,x的个体域是{农夫,船,狼,羊,白菜}。对应地,¬AL(x)表示x在右岸。

      问题的初始状态:

      AL(农夫)

      AL(船)

      AL(狼)

      AL(羊)

      AL(白菜)

    问题的目标状态:

      ¬AL(农夫)

      ¬AL(船)

      ¬AL(狼)

      ¬AL(羊)

      ¬AL(白菜)

     

    (2) 再定义描述操作的谓词

      本题需要以下 4个描述操作的谓词:

      L-R:农夫自己划船从左岸到右岸

      L-R(x):农夫带着 x划船从左岸到右岸

      R-L:农夫自己划船从右岸到左岸

      R-L(x):农夫带着  x划船从右岸到左岸

    其中,x的个体域是{狼,羊,白菜}。

      对上述每个操作,都包括条件和动作两部分。它们对应的条件和动作如下:

      L-R:农夫划船从左岸到右岸

      条件:AL(船),AL(农夫),¬AL(狼)∨¬AL(羊),¬AL(羊)∨¬AL(白菜)

      动作:删除表:AL(船),AL(农夫)

      添加表:¬AL(船),¬AL(农夫)

     

    L-R(狼):农夫带着狼划船从左岸到右岸

      条件:AL(船),AL(农夫),AL(狼),¬AL(羊)

      动作:删除表:AL(船),AL(农夫),AL(狼)

      添加表:¬AL(船),¬AL(农夫),¬AL(狼)

     

    L-R(羊):农夫带着羊划船从左岸到右岸

      条件:AL(船),AL(农夫),AL(羊), AL(狼),AL(白菜)

      或:AL(船),AL(农夫),AL(羊),¬AL(狼),¬AL(白菜)

      动作:删除表:AL(船),AL(农夫),AL(羊)

      添加表:¬AL(船),¬AL(农夫),¬AL(羊)

     

    L-R(白菜):农夫带着白菜划船从左岸到右岸

      条件:AL(船),AL(农夫),AL(白菜),¬AL(狼)

      动作:删除表:AL(船),AL(农夫),AL(白菜)

      添加表:¬AL(船),¬AL(农夫),¬AL(白菜)

     

    R-L:农夫划船从右岸到左岸

      条件:¬AL(船),¬AL(农夫),AL(狼)∨AL(羊),AL(羊)∨AL(白菜)

      或:¬AL(船),¬AL(农夫),¬AL(狼),¬AL(白菜),AL(羊)

      动作:删除表:¬AL(船),¬AL(农夫)

      添加表:AL(船),AL(农夫)

     

    R-L(羊):农夫带着羊划船从右岸到左岸

      条件:¬AL(船),¬AL(农夫),¬AL(羊),¬AL(狼),¬AL(羊),AL(白菜)

      动作:删除表:¬AL(船),¬AL(农夫),¬AL(羊)

      添加表:AL(船),AL(农夫),AL(羊)

     

    (3) 问题求解过程如下:

     

    AL(农夫)

    L-R(羊)

    AL(狼)

    R-L

    AL(农夫)

    L-R(狼)

    AL(白菜)

    R-L(羊)

    AL(农夫)

    L-R(白菜)

    AL(羊)

    R-L

    AL(农夫)

    L-R(羊)

    ¬AL(农夫)

    AL(船)

    AL(白菜)

    AL(船)

    ¬AL(农夫)

    AL(船)

    ¬AL(农夫)

    AL(船)

    ¬AL(船)

    AL(狼)

    ¬AL(农夫)

    AL(狼)

    ¬AL(船)

    AL(羊)

    ¬AL(船)

    AL(羊)

    ¬AL(羊)

    AL(羊)

    ¬AL(船)

    AL(白菜)

    ¬AL(狼)

    AL(白菜)

    ¬AL(白菜)

    ¬AL(白菜)

    ¬AL(白菜)

    AL(白菜)

    ¬AL(羊)

    ¬AL(羊)

    ¬AL(羊)

    ¬AL(狼)

    ¬AL(狼)

    ¬AL(狼)

    ¬AL(狼)

     2.16 请对下列命题分别写出它们的语义网络:

     2.17 请把下列命题用一个语义网络表示出来

  • 相关阅读:
    maven配置使用
    【插件使用】 vscode, 中以服务形式运行文件的方法 ,Live Sever 插件的使用
    常用位运算操作
    [LeetCode] 743. Network Delay Time( 网络延迟时间)
    STL之--插入迭代器(back_inserter,inserter,front_inserter的区别)
    767. 重构字符串(仿函数调用外部数据)
    C++之ptr_fun、mem_fun和mem_fun_ref
    STL算法之for_each
    C++之not1和not2
    C++之compose1、compose2
  • 原文地址:https://www.cnblogs.com/WalterChen/p/5422322.html
Copyright © 2020-2023  润新知