首页 > 代码库 > 人工智能复习资料【转】

人工智能复习资料【转】

 

  1. 1.      智能

智能是一种认识客观事物和运用知识解决问题的综合能力。

  1. 2.      什么叫知识?

知识是人们在改造客观世界的实践中积累起来的认识和经验

  1. 3.      确定性推理

指推理所使用的知识和推出的结论都是可以精确表示的,其真值要么为真、要么为假。

  1. 4.      推理

推理是指按照某种策略从已知事实出发利用知识推出所需结论的过程。

  1. 5.      不确定性推理

指推理所使用的知识和推出的结论可以是不确定的。所谓不确定性是对非精确性、模糊型和非完备性的统称。

  1. 6.      人工智能

人工智能就是用人工的方法在机器(计算机)上实现的智能,或称机器智能

  1. 7.      搜索

是指为了达到某一目标,不断寻找推理线路,以引导和控制推理,使问题得以解决的过程。

  1. 8.      规划

是指从某个特定问题状态出发,寻找并建立一个操作序列,直到求得目标状态为止的一个行动过程的描述。

  1. 9.      机器感知

就是要让计算机具有类似于人的感知能力,如视觉、听觉、触觉、嗅觉、味觉

  1. 10.  模式识别

是指让计算机能够对给定的事务进行鉴别,并把它归入与其相同或相似的模式中。

  1. 11.  机器行为

就是让计算机能够具有像人那样地行动和表达能力,如走、跑、拿、说、唱、写画等。

  1. 12.  知识表示

是对知识的描述,即用一组符号把知识编码成计算机可以接受的某种结构。

  1. 13.  事实

是断言一个语言变量的值或断言多个语言变量之间关系的陈述句

  1. 14.  综合数据库

存放求解问题的各种当前信息

  1. 15.  规则库

用于存放与求解问题有关的所有规则的集合

 

  1. 16.  人工智能有哪些应用?
  2. 17.  人工智能的研究目标

远期目标

揭示人类智能的根本机理,用智能机器去模拟、延伸和扩展人类的智能

涉及到脑科学、认知科学、计算机科学、系统科学、控制论等多种学科,并依赖于它们的共同发展

近期目标

研究如何使现有的计算机更聪明,即使它能够运用知识去处理问题,能够模拟人类的智能行为。

 

  1. 18.  智能包含哪些能力?

(1) 感知能力

(2) 记忆和思维能力

(3) 学习和自适应能力

(4) 行为能力

  1. 19.  知识有哪几种表示方法?

(1)       一阶谓词逻辑表示法

(2)       产生式表示法

(3)       语义网络表示法

(4)       框架表示法

(5)       过程表示法

  1. 20.  演绎推理与归纳推理的区别

演绎推理是在已知领域内的一般性知识的前提下,通过演绎求解一个具体问题或者证明一个结论的正确性。它所得出的结论实际上早已蕴含在一般性知识的前提中,演绎推理只不过是将已有事实揭露出来,因此它不能增殖新知识。

    归纳推理所推出的结论是没有包含在前提内容中的。这种由个别事物或现象推出一般性知识的过程,是增殖新知识的过程。

  1. 21.  子句集的化简的步骤

(1)       消去连接词“→”和“↔”

(2)       减少否定符号的辖域

(3)       对变元标准化

(4)       化为前束范式

(5)       消去存在量词

(6)       化为Skolem标准形

(7)       消去全称量词

(8)       消去合取词

(9)       更换变量名称

  1. 22.          鲁滨逊归结原理基本思想

首先把欲证明问题的结论否定,并加入子句集,得到一个扩充的子句集S‘。然后设法检验子句集S‘是否含有空子句,若含有空子句,则表明S‘是不可满足的;若不含有空子句,则继续使用归结法,在子句集中选择合适的子句进行归结,直至导出空子句或不能继续归结为止。

  1. 23.  全局择优搜索A算法描述:

   (1)把初始节点S0放入Open表中,f(S0)=g(S0)+h(S0);

   (2)如果Open表为空,则问题无解 ,失败退出;

   (3)把Open表的第一个节点取出放入Closed表,并记该节点为n;

   (4)考察节点n是否为目标节点。若是,则找到了问题的解,成功退出;

   (5)若节点n不可扩展,则转第(2)步;

   (6)扩展节点n,生成其子节点ni(i=1, 2, …),计算每一个子节点的估价值f(ni)(i=1, 2, …),并为每一个子节点设置指向父节点的指针,然后将这些子节点放入Open表中;

   (7)根据各节点的估价函数值,对Open表中的全部节点按从小到大的顺序重新进行排序;

   (8)转第(2)步。

 

  1. 24.  命题逻辑的归结法与谓词逻辑的归结法的不同之处是什么?

答:谓词逻辑比命题逻辑更复杂,由于谓词逻辑中的变量受到量词的约束,在归结之前需要对变量进行重命名即变量标准化,而在命题逻辑中的归结则不需要。

  1. 25.  产生式系统的推理过程

(1) 初始化综合数据库,即把欲解决问题的已知事实送入综合数据库中;

(2) 检查规则库中是否有未使用过的规则,若无转 (7);

(3) 检查规则库的未使用规则中是否有其前提可与综合数据库中已知事实相匹配的规则,若有,形成当前可用规则集;否则转(6);

(4) 按照冲突消解策略,从当前可用规则集中选择一个规则执行,并对该规则作上标记。把执行该规则后所得到的结论作为新的事实放入综合数据库;如果该规则的结论是一些操作,则执行这些操作;

(5) 检查综合数据库中是否包含了该问题的解,若已包含,说明解已求出,问题求解过程结束;否则,转(2);

(6) 当规则库中还有未使用规则,但均不能与综合数据库中的已有事实相匹配时,要求用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,执行下一步;

(7) 若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。

 

26. 列出下图中树的节点访问序列以满足下面的2个搜索策略 ( 在所有情况中都选择最左分枝优先访问 )

  1) 深度优先搜索;

  2) 广度优先搜索。

 

答:

  (1)深度优先:1,2,5,6,10,11,3,7,12,13,4,8,9

  (2)广度优先:

   1 , 2 ,3 ,4 , 5 ,6 ,7 , 8 ,9 ,10 , 11 ,12 ,13

  1. 27.  八数码问题。问题的初态和目标状态如下图所示,要求用A*算法解决该问题

 

 

            初始状态       目标状态

 

  1. 28.  4-325个城市的交通图,城市之间的连线旁边的数字是城市之间路程的费用。要求从A城出发,经过其它各城市一次且仅一次,最后回到A城,请找出一条最优线路。

 

解:这个问题又称为旅行商问题(travelling salesman problem, TSP)或货郎担问题,是一个较有普遍性的实际应用问题。根据数学理论,对n个城市的旅行商问题,其封闭路径的排列总数为:

     (n!)/n=(n-1)!

其计算量相当大。例如,当n=20时,要穷举其所有路径,即使用一个每秒一亿次的计算机来算也需要350年的时间。因此,对这类问题只能用搜索的方法来解决。

下图是对图4-32按最小代价搜索所得到的搜索树,树中的节点为城市名称,节点边上的数字为该节点的代价g。其计算公式为

    g(ni+1)=g(ni)+c(ni, ni+1)

其中,c(ni,ni+1)为节点ni到ni+1节点的边代价。

    
  

0

 
 

A

 
 

 

                       
   
 
  
 
   
   
     
       
     
 
 
 
 
   
 
 
   
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

可以看出,其最短路经是

    A-C-D-E-B-A

    A-B-E-D-C-A

其实,它们是同一条路经。

  1. 29. 设有如图4-34的与/或/树,请分别按和代价法及最大代价法求解树的代价。

 

解:若按和代价法,则该解树的代价为:

     h(A)=2+3+2+5+2+1+6=21

若按最大代价法,则该解树的代价为:

     h(A)=max{h(B)+5, h(C)+6} = max{(h(E)+2)+5,h(C)+6}

          = max{(max(2, 3)+2)+5, max(2, 1)+6}

=max((5+5,2+6)=10

 

  1. 30. 判断下列公式是否为可合一,若可合一,则求出其最一般合一。

(1)  P(a, b), P(x,y)

(2)  P(f(x), b),P(y, z)

(3)  P(f(x), y),P(y, f(b))

(4)  P(f(y), y, x),P(x, f(a), f(b))

    (5)  P(x, y), P(y, x)

(1)  可合一,其最一般和一为:σ={a/x, b/y}。

(2)  可合一,其最一般和一为:σ={y/f(x), b/z}。

(3)  可合一,其最一般和一为:σ={ f(b)/y, b/x}。

(4)  不可合一。

(5)  可合一,其最一般和一为:σ={ y/x}。

5.  判断下列子句集中哪些是不可满足的:

(1)      {¬P∨Q, ¬Q,  P, ¬P}

(2)      {P∨Q, ¬P∨Q,  P∨¬Q,¬P∨¬Q}

(3)     { P(y)∨Q(y) , ¬P(f(x))∨R(a)}

(4)      {¬P(x)∨Q(x) , ¬P(y)∨R(y), P(a), S(a), ¬S(z)∨¬R(z)}

(5)     {¬P(x)∨Q(f(x),a) , ¬P(h(y))∨Q(f(h(y)), a)∨¬P(z)}

(6)     {P(x)∨Q(x)∨R(x) , ¬P(y)∨R(y), ¬Q(a), ¬R(b)}

    解:(1) 不可满足,其归结过程为:

 
  

 

 

 

 

 

 

 

 

(2)不可满足,其归结过程为:

 

 

 

 

 

 

 

 

(3)不是不可满足的,原因是不能由它导出空子句。

(4)不可满足,其归结过程略

 

(5)不是不可满足的,原因是不能由它导出空子句。

(6)不可满足,其归结过程略

 

 

  1. 31. 设已知:

(1)   如果x是y的父亲,y是z的父亲,则x是z的祖父;

(2)   每个人都有一个父亲。

使用归结演绎推理证明:对于某人u,一定存在一个人v,v是u的祖父。

    解:先定义谓词

    F(x,y):x是y的父亲

    GF(x,z):x是z的祖父

    P(x):x是一个人

    再用谓词把问题描述出来:

    已知F1:(x) (y) (z)( F(x,y)∧F(y,z))→GF(x,z))

         F2:(y)(P(x)→F(x,y))

    求证结论G:(u) (v)( P(u)→GF(v,u))

    然后再将F1,F2和¬G化成子句集:

        ① ¬F(x,y)∨¬F(y,z)∨GF(x,z)

② ¬P(r)∨F(s,r)

        ③P(u)

④ ¬GF(v,u))

    对上述扩充的子句集,其归结推理过程如下:

 

                                           {x/v,z/u}

 

             

 

                                                        {x/s,y/r}

 

 

 

                                                               {y/s,z/r}

 

{y/u}

 

                                                               {y/z}

 

                                                                 

                                 

    由于导出了空子句,故结论得证。

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

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

解:定义谓词

P(x):x是人

L(x,y):x喜欢y

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

将知识用谓词表示为:

(x )(P(x)→L(x,梅花)∨L(x,菊花)∨L(x,梅花)∧L(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是计算机系学生

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

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

将知识用谓词表示为:

¬ (x) (S(x)→L(x,pragramming)∧U(x,computer))

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

解:定义谓词

P(x):x是人

L(x,y):x喜欢y

将知识用谓词表示为:

(x) (P(x)∧L(x,pragramming)→L(x, computer))

 

  1. 33. 机器人移盒子问题

设在房间,c处有一个机器人,a和b处有一张桌子,分别称为a桌和b桌,a桌上有一盒子,如下图所示,要求机器人从c处出发把盒子从a桌上拿到b桌上,然后再回到c处。请用谓词逻辑来描述机器人的行动过程。

 

分别定义描述状态和动作的谓词

描述状态的谓词:

      TABLE(x):x是桌子

      EMPTY(y):y手中是空的

      AT(y, z):y在z处

      HOLDS(y, w):y拿着w

      ON(w, x):w在x桌面上

     变元的个体域:

         x的个体域是{a, b}

         y的个体域是{robot}

         z的个体域是{a, b,c}

         w的个体域是{box}

问题的初始状态:

     AT(robot,c)   

    EMPTY(robot)

     ON(box,a)

     TABLE(a)

     TABLE(b)

问题的目标状态:

     AT(robot,c)

    EMPTY(robot)

     ON(box,b)

     TABLE(a)

     TABLE(b)

机器人行动的目标把问题的初始状态转换为目标状态,而要实现问题状态的转换需要完成一系列的操作

需要定义的操作:

          Goto(x, y):从x处走到y处。

          Pickup(x):在x处拿起盒子。

          Setdown(x):在x处放下盒子

各操作的条件和动作:

    Goto(x,y)

         条件:AT(robot,x)

         动作:删除表:AT(robot,x)

                   添加表:AT(robot,y)

    Pickup(x)

         条件:ON(box,x),TABLE(x),AT(robot,x),EMPTY(robot)

         动作:删除表:EMPTY(robot),ON(box,x)

                   添加表:HOLDS(robot,box)

    Setdown(x)

         条件:AT(robot,x),TABLE(x),HOLDS(robot,box)

         动作:删除表:HOLDS(robot,box)

                   添加表:EMPTY(robot),ON(box,x)

这个机器人行动规划问题的求解过程如下:

                    状态1(初始状态)  

                           AT(robot, c)       

        开始            EMPTY(robot)   

  =========>   ON(box, a)        

                          TABLE(a)        

                           TABLE(b) 

                    状态2

                           AT(robot, a)     

   Goto(c,a)       EMPTY(robot)

 ==========> ON(box, a)

                          TABLE(a)

                          TABLE(b)

                  状态3   

                          AT(robot, a) 

  Pickup(a)      HOLDS(robot,box)  

 =========>    TABLE(a)         

                          TABLE(b)

状态4

                            AT(robot, b)     

   Goto(a,b)        HOLDS(robot,box)

 ==========>   TABLE(a)

                           TABLE(b)

                     状态5       

                           AT(robot, b)      

 Setdown(b)     EMPTY(robot)  

 ==========> ON(box, b)       

                          TABLE(a)      

                          TABLE(b)

                    状态6(目标状态)

                          AT(robot, c)     

  Goto(b,c)       EMPTY(robot)

 =========>  ON(box, b)

                         TABLE(a)

                         TABLE(b)

 

  1. 34. 用谓词表示法求解机器人摞积木问题。设机器人有一只机械手,要处理的世界有一张桌子,桌上可堆放若干相同的方积木块。机械手有4个操作积木的典型动作:从桌上拣起一块积木;将手中的积木放到桌之上;在积木上再摞上一块积木;从积木上面拣起一块积木。积木世界的布局如下图所示。

 

 

 

 

 

 


图  机器人摞积木问题

 

 

 

 

 

 

 

 

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

    CLEAR(x):积木x上面是空的。  

    ON(x, y):积木x在积木y的上面。

    ONTABLE(x):积木x在桌子上。

    HOLDING(x):机械手抓住x。

HANDEMPTY:机械手是空的。

其中,x和y的个体域都是{A,B, C}。

问题的初始状态是:

ONTABLE(A)

ONTABLE(B)

ON(C,A)

    CLEAR(B)

    CLEAR(C)

    HANDEMPTY

    问题的目标状态是:

    ONTABLE(C)

    ON(B, C)

    ON(A,B)

CLEAR(A)

HANDEMPTY

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

在本问题中,机械手的操作需要定义以下4个谓词:

Pickup(x):从桌面上拣起一块积木x。

Putdown(x):将手中的积木放到桌面上。

Stack(x,y):在积木x上面再摞上一块积木y。

Upstack(x,y):从积木x上面拣起一块积木y。

 

其中,每一个操作都可分为条件和动作两部分,具体描述如下:

Pickup(x)

     条件:ONTABLE(x),HANDEMPTY,CLEAR(x)

     动作:删除表:ONTABLE(x),HANDEMPTY

           添加表:HOLDING(x)

Putdown(x)

     条件:HOLDING(x)

     动作:删除表:HOLDING(x)

           添加表:ONTABLE(x),CLEAR(x),HANDEMPTY

Stack(x,y)

     条件:CLEAR(y) ,HOLDING(y)

     动作:删除表:HOLDING(y),CLEAR(y)

           添加表:HANDEMPTY,ON(x,y) ,CLEAR(x)

Upstack(x,y)

     条件:HANDEMPTY,CLEAR(y),ON(y,x)

     动作:删除表:HANDEMPTY,ON(y,x)

           添加表:HOLDING(y),CLEAR(x)

    (3) 问题求解过程

利用上述谓词和操作,其求解过程为:

 
  

 

 

 

 

 

 

 

 

 

 

 

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

(1) 每个学生都有一台计算机。

解:

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

(1) 每个学生都有一台计算机。

 

 

 

 

 (2)高老师从3月到7月给计算机系学生讲《计算机网络》课。

   解:

 
  

 

 

 

 

 

 

 

 

 

 

 (5) 红队与蓝队进行足球比赛,最后以3:2的比分结束。

   解:

 
  

 

 

 

 

 

 

 

 

 

 

  1. 36. 请把下列命题用一个语义网络表示出来:

(1)树和草都是植物;

植物

 

解:

 
  

 

 

 

 

 

 (2) 树和草都有叶和根;

 

 

 

 

    解:

 

 

 

 

 

 

 

 

(3) 水草是草,且生长在水中;

   解:

 
  

 

 

 

 

(4) 果树是树,且会结果;

   解:

 
  

 

 

 

 

(5) 梨树是果树中的一种,它会结梨。

   解:

 
  

 

 

 

 

  1. 37. 用语义网络表示:

         动物能运动、会吃。

         鸟是一种动物,鸟有翅膀、会飞。

         鱼是一种动物,鱼生活在水中、会游泳。

 

  1. 38. 假设有以下一段天气预报:“北京地区今天白天晴,偏北风3级,最高气温12º,最低气温-2º,降水概率15%。”请用框架表示这一知识。

解:

Frame<天气预报>

    地域:北京

    时段:今天白天

    天气:晴

    风向:偏北

    风力:3级

    气温:最高:12度

          最低:-2度

    降水概率:15%

 

  1. 39. 按“师生框架”、“教师框架”、“学生框架”的形式写出一个框架系统的描述。

解:师生框架

Frame<Teachers-Students>

    Name:Unit(Last-name,First-name)

    Sex:Area(male,female)

         Default:male

    Age:Unit(Years)

Telephone:Home  Unit(Number)

Mobile  Unit(Number)

  

教师框架

Frame<Teachers >

    AKO<Teachers-Students >

    Major:Unit(Major-Name)

    Lectures:Unit(Course-Name)

    Field:Unit(Field-Name)

    Project :Area(National,Provincial,Other)

            Default:Provincial

    Paper:Area(SCI,EI,Core,General)

           Default:Core

   

学生框架

Frame<Students>

    AKO< Teachers-Students >

    Major:Unit(Major-Name)

    Classes:Unit(Classes-Name)

    Degree:Area(doctor,mastor,bachelor)

           Default:bachelor

   

 

  1. 40. 设有如下一段知识:

“张、王和李都属于高山协会。该协会的每个成员不是滑雪运动员,就是登山运动员,其中不喜欢雨的运动员是登山运动员,不喜欢雪的运动员不是滑雪运动员。王不喜欢张所喜欢的一切东西,而喜欢张所不喜欢的一切东西。张喜欢雨和雪。”

试用谓词公式集合表示这段知识,这些谓词公式要适合一个逆向的基于规则的演绎系统。试说明这样一个系统怎样才能回答问题:

“高山俱乐部中有没有一个成员,他是一个登山运动员,但不是一个滑雪运动员?”

解:(1)先定义谓词

A(x)表示x是高山协会会员

S(x)表示x是滑雪运动员

C(x)表示x是登山运动员

L(x,y)表示x喜欢y

(2)将问题用谓词表示出来

“张、王和李都属于高山协会

A(Zhang)∧A(Wang)∧A(Li)

高山协会的每个成员不是滑雪运动员,就是登山运动员

(x)(A(x)∧¬S(x)→C(x))

高山协会中不喜欢雨的运动员是登山运动员

(x)(¬L(x,Rain)→C(x))

高山协会中不喜欢雪的运动员不是滑雪运动员

(x)(¬L(x,Snow)→¬ S(x))

王不喜欢张所喜欢的一切东西

(y)( L(Zhang, y)→¬ L(Wang ,y))

    王喜欢张所不喜欢的一切东西

(y)(¬ L(Zhang, y)→L(Wang, y))

张喜欢雨和雪

L(Zhang , Rain)∧L(Zhang , Snow)

(3) 将问题要求的答案用谓词表示出来

高山俱乐部中有没有一个成员,他是一个登山运动员,但不是一个滑雪运动员?

        (x)( A(x)→C(x)∧¬ S(x))

   (4) 为了进行推理,把问题划分为已知事实和规则两大部分。假设,划分如下:

已知事实:

A(Zhang)∧A(Wang)∧A(Li)

L(Zhang, Rain)∧L(Zhang , Snow)

规则:

(x)(A(x)∧¬S(x)→C(x))

(x)(¬L(x,Rain)→C(x))

(x)(¬L(x,Snow)→¬ S(x))

(y)( L(Zhang, y)→¬ L(Wang ,y))

(y)(¬ L(Zhang, y)→L(Wang, y))

    (5) 把已知事实、规则和目标化成推理所需要的形式

事实已经是文字的合取形式:

f1:A(Zhang)∧A(Wang)∧A(Li)

f2:L (Zhang , Rain)∧L(Zhang , Snow)

将规则转化为后件为单文字的形式:

r1: A(x)∧¬S(x)→C(x))

r2:¬L(x, Rain)→C(x)

r3: ¬L(x,Snow)→¬ S(x)

r4: L(Zhang, y)→¬ L(Wang ,y)

r5: ¬ L(Zhang, y)→L(Wang , y)

    将目标公式转换为与/或形式

¬ A(x)∨(C(x)∧¬ S(x))

    (6) 进行逆向推理

逆向推理的关键是要能够推出L(Zhang , Rain)∧L(Zhang , Snow),其逆向演绎过程如下图所示。

    
  

¬ A(x)∨(C(x)∧¬ S(x))

 
 
  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. 41.  判断下列子句集中哪些是不可满足的:

(1)      {¬P∨Q, ¬Q,  P, ¬P}

(2)      {P∨Q, ¬P∨Q,  P∨¬Q,¬P∨¬Q}

(3)      {P(y)∨Q(y), ¬P(f(x))∨R(a)}

(4)      {¬P(x)∨Q(x) , ¬P(y)∨R(y), P(a), S(a), ¬S(z)∨¬R(z)}

(5)     {¬P(x)∨Q(f(x),a) , ¬P(h(y))∨Q(f(h(y)), a)∨¬P(z)}

(6)     {P(x)∨Q(x)∨R(x) , ¬P(y)∨R(y), ¬Q(a), ¬R(b)}

    解:(1) 不可满足,其归结过程为:

 

 

 

 

(2)不可满足,其归结过程为:

 
  

 

 

 

 

 

 

 

 

 

(3)不是不可满足的,原因是不能由它导出空子句。

(4)不可满足,其归结过程略    

 

(5)不是不可满足的,原因是不能由它导出空子句。

(6)不可满足,其归结过程略

 

42.假设张被盗,公安局派出5个人去调查。案情分析时,贞察员A说:“赵与钱中至少有一个人作案”,贞察员B说:“钱与孙中至少有一个人作案”,贞察员C说:“孙与李中至少有一个人作案”,贞察员D说:“赵与孙中至少有一个人与此案无关”,贞察员E说:“钱与李中至少有一个人与此案无关”。如果这5个侦察员的话都是可信的,使用归结演绎推理求出谁是盗窃犯。

解:(1)先定义谓词和常量

设C(x)表示x作案,Z表示赵,Q表示钱,S表示孙,L表示李

(2)将已知事实用谓词公式表示出来

赵与钱中至少有一个人作案:C(Z)∨C(Q)

钱与孙中至少有一个人作案:C(Q)∨C(S)

孙与李中至少有一个人作案:C(S)∨C(L)

赵与孙中至少有一个人与此案无关:¬ (C(Z)∧C(S)),即 ¬C(Z) ∨¬C(S)

钱与李中至少有一个人与此案无关:¬ (C(Q)∧C(L)),即 ¬C(Q) ∨¬C(L)

(3)将所要求的问题用谓词公式表示出来,并与其否定取析取。

设作案者为u,则要求的结论是C(u)。将其与其否)取析取,得:

¬ C(u)∨C(u)

(4)对上述扩充的子句集,按归结原理进行归结,其修改的证明树如下:

 

 

 

 

 

 

 

 

 

                                                                  {Q/u}

                         

 

 

    因此,钱是盗窃犯。实际上,本案的盗窃犯不止一人。根据归结原理还可以得出:

 
  

 

 

 

 

 

 

 

 

 

            

                            {S/u}

C(S)

 

 

 

 

    因此,孙也是盗窃犯。

 

43. 给出对教师教学质量评估的二级模糊综合评判

(所有的因素级、权重级和隶属度均由自己来指定)

 

确定性推理复习题

1 判断下列公式是否为可合一,若可合一,则求出其最一般合一。

(1)  P(a, b), P(x, y)

(2)  P(f(x), b), P(y, z)

(3)  P(f(x), y), P(y, f(b))

(4)  P(f(y), y, x), P(x, f(a),f(b))

    (5) P(x, y), P(y, x)

解:(1)  可合一,其最一般和一为:σ={a/x, b/y}。

(2)  可合一,其最一般和一为:σ={y/f(x), b/z}。

(3)  可合一,其最一般和一为:σ={ f(b)/y, b/x}。

(4)  不可合一。

(5)  可合一,其最一般和一为:σ={ y/x}。

 

2 把下列谓词公式化成子句集:

(1)     (x)(y)(P(x, y)∧Q(x, y))

(2)      (x)(y)(P(x, y)→Q(x, y))

(3)      (x)(y)(P(x, y)∨(Q(x, y)→R(x, y)))

(4)      (x) (y) (z)(P(x, y)→Q(x, y)∨R(x, z))

   解:(1) 由于(x)(y)(P(x, y)∧Q(x, y))已经是Skolem标准型,且P(x, y)∧Q(x, y)已经是合取范式,所以可直接消去全称量词、合取词,得

        { P(x, y), Q(x, y)}

    再进行变元换名得子句集:

        S={ P(x, y), Q(u, v)}

    (2) 对谓词公式(x)(y)(P(x, y)→Q(x, y)),先消去连接词“→”得:

(x)(y)(¬P(x, y)∨Q(x, y))

此公式已为Skolem标准型。

    再消去全称量词得子句集:

        S={¬P(x, y)∨Q(x, y)}

    (3) 对谓词公式(x)(y)(P(x, y)∨(Q(x, y)→R(x, y))),先消去连接词“→”得:

(x)(y)(P(x, y)∨(¬Q(x, y)∨R(x, y)))

此公式已为前束范式。

再消去存在量词,即用Skolem函数f(x)替换y得:

(x)(P(x, f(x))∨¬Q(x, f(x))∨R(x, f(x)))

此公式已为Skolem标准型。

    最后消去全称量词得子句集:

        S={P(x, f(x))∨¬Q(x, f(x))∨R(x, f(x))}

    (4) 对谓词(x) (y) (z)(P(x, y)→Q(x, y)∨R(x, z)),先消去连接词“→”得:

(x) (y) (z)(¬P(x, y)∨Q(x, y)∨R(x, z))

再消去存在量词,即用Skolem函数f(x)替换y得:

(x) (y) (¬P(x, y)∨Q(x, y)∨R(x, f(x,y)))

此公式已为Skolem标准型。

    最后消去全称量词得子句集:

S={¬P(x, y)∨Q(x, y)∨R(x, f(x,y))}

 

3 判断下列子句集中哪些是不可满足的:

(7)      {¬P∨Q, ¬Q,  P, ¬P}

(8)      { P∨Q , ¬P∨Q,  P∨¬Q, ¬P∨¬Q }

(9)      { P(y)∨Q(y) , ¬P(f(x))∨R(a)}

(10)  {¬P(x)∨Q(x) , ¬P(y)∨R(y), P(a), S(a), ¬S(z)∨¬R(z)}

(11)  {¬P(x)∨Q(f(x),a) , ¬P(h(y))∨Q(f(h(y)), a)∨¬P(z)}

(12)  {P(x)∨Q(x)∨R(x) , ¬P(y)∨R(y), ¬Q(a), ¬R(b)}

    解:(1) 不可满足,其归结过程为:

 
  

 

 

 

 

 

 

 

 

(2) 不可满足,其归结过程为:

 
  

 

 

 

 

 

 

 

 

 

(3) 不是不可满足的,原因是不能由它导出空子句。

(4) 不可满足,其归结过程略

(5) 不是不可满足的,原因是不能由它导出空子句。

(6) 不可满足,其归结过程略

 

    4  对下列各题分别证明G是否为F1,F2,…,Fn的逻辑结论:

(1)      F: (x)(y)(P(x, y)

G: (y)(x)(P(x, y)

(2)      F: (x)(P(x)∧(Q(a)∨Q(b)))

G: (x) (P(x)∧Q(x))

(3)      F: (x)(y)(P(f(x))∧(Q(f(y)))

G: P(f(a))∧P(y)∧Q(y)

(4)      F1: (x)(P(x)→(y)(Q(y)→L(x.y)))

F2: (x) (P(x)∧(y)(R(y)→L(x.y)))

G: (x)(R(x)→Q(x))

(5)      F1: (x)(P(x)→(Q(x)∧R(x)))

F2: (x) (P(x)∧S(x))

G: (x) (S(x)∧R(x))

    解:(1) 先将F和¬G化成子句集:

        S={P(a,b), ¬P(x,b)}

    再对S进行归结:

    
    
 

 

 

 

NIL

 

             {a/x}

 

 

    所以,G是F的逻辑结论

(2) 先将F和¬G化成子句集

由F得:S1={P(x),(Q(a)∨Q(b))}

由于¬G为:¬ (x) (P(x)∧Q(x)),即

 (x) (¬ P(x)∨¬ Q(x)),

可得: S2={¬ P(x)∨¬ Q(x)}

因此,扩充的子句集为:

S={ P(x),(Q(a)∨Q(b)),¬ P(x)∨¬ Q(x)}

    再对S进行归结:

 
  

 

 

 

        {a/b}

    
   
  

 

 

 

{a/x}

    
    

 

 

 

                 {a/x}

NIL

 

 

 

 

    所以,G是F的逻辑结论

    同理可求得(3)、(4)和(5),其求解过程略。

 

设已知:

(3)   如果x是y的父亲,y是z的父亲,则x是z的祖父;

(4)   每个人都有一个父亲。

使用归结演绎推理证明:对于某人u,一定存在一个人v,v是u的祖父。

    解:先定义谓词

    F(x,y):x是y的父亲

    GF(x,z):x是z的祖父

    P(x):x是一个人

    再用谓词把问题描述出来:

    已知F1:(x) (y) (z)( F(x,y)∧F(y,z))→GF(x,z))

         F2:(y)(P(x)→F(x,y))

    求证结论G:(u) (v)( P(u)→GF(v,u))

    然后再将F1,F2和¬G化成子句集:

        ① ¬F(x,y)∨¬F(y,z)∨GF(x,z)

② ¬P(r)∨F(s,r)

        ③ P(u)

④ ¬GF(v,u))

    对上述扩充的子句集,其归结推理过程如下:    {x/v,z/u}

 

 

                                                  {x/s,y/r}

                                       

 

                                {y/s,z/r}

 

 

 

                                                                  {y/z}

 

                            

 

                                                                      {y/u}

                                 

 

    由于导出了空子句,故结论得证。

 

6  假设张被盗,公安局派出5个人去调查。案情分析时,贞察员A说:“赵与钱中至少有一个人作案”,贞察员B说:“钱与孙中至少有一个人作案”,贞察员C说:“孙与李中至少有一个人作案”,贞察员D说:“赵与孙中至少有一个人与此案无关”,贞察员E说:“钱与李中至少有一个人与此案无关”。如果这5个侦察员的话都是可信的,使用归结演绎推理求出谁是盗窃犯。

解:(1) 先定义谓词和常量

设C(x)表示x作案,Z表示赵,Q表示钱,S表示孙,L表示李

(2) 将已知事实用谓词公式表示出来

赵与钱中至少有一个人作案:C(Z)∨C(Q)

钱与孙中至少有一个人作案:C(Q)∨C(S)

孙与李中至少有一个人作案:C(S)∨C(L)

赵与孙中至少有一个人与此案无关:¬ (C (Z)∧C(S)),即 ¬C (Z) ∨¬C(S)

钱与李中至少有一个人与此案无关:¬ (C (Q)∧C(L)),即 ¬C (Q) ∨¬C(L)

(3) 将所要求的问题用谓词公式表示出来,并与其否定取析取。

设作案者为u,则要求的结论是C(u)。将其与其否)取析取,得:

¬ C(u) ∨C(u)

(4) 对上述扩充的子句集,按归结原理进行归结,其修改的证明树如下:

 

 

 

 

 

 

 

 

 

                                                              {Q/u}

                          

 

 

    因此,钱是盗窃犯。实际上,本案的盗窃犯不止一人。根据归结原理还可以得出:

 
  

 

 

 

 

 

 

 

 

 

            

                            {S/u}

C(S)

 

 

 

 

    因此,孙也是盗窃犯。

 

设有子句集:

    {P(x)∨Q(a, b), P(a)∨Q(a, b), Q(a, f(a)), P(x)∨Q(x, b)}

分别用各种归结策略求出其归结式。

解:支持集策略不可用,原因是没有指明哪个子句是由目标公式的否定化简来的。

删除策略不可用,原因是子句集中没有没有重言式和具有包孕关系的子句。

单文字子句策略的归结过程如下:

    
   
  

 

 

 

   {b/f(a)}

    
    

 

 

 

Q(a, f(a))

 

 

Q(a, b)

 

                      {a/x}

 

                       {b/f(a)}

 
 

Q(a, b)

 

 

 

 

 

用线性输入策略(同时满足祖先过滤策略)的归结过程如下:

 
  

 

 

 

 

P(x)∨Q(x, b)

 

 

P(a)

 

            {a/x}

 

    
    

 

 

{a/x}

    
   
  

 

 

 

                        {b/f(a)}

NIL

 

                         

 

设已知:

(1)   能阅读的人是识字的;

(2)   海豚不识字;

(3)   有些海豚是很聪明的。

请用归结演绎推理证明:有些很聪明的人并不识字。

解:第一步,先定义谓词,

设R(x)表示x是能阅读的;

K(y)表示y是识字的;

W(z) 表示z是很聪明的;

第二步,将已知事实和目标用谓词公式表示出来

能阅读的人是识字的:(x)(R(x))→K(x))

海豚不识字:(y)(¬K(y))

有些海豚是很聪明的:(z) W(z)

有些很聪明的人并不识字:(x)( W(z)∧¬K(x))

    第三步,将上述已知事实和目标的否定化成子句集:

       ¬R(x))∨K(x)

¬K (y)

W(z)

¬W(z)∨K(x))

   第四步,用归结演绎推理进行证明

 
  

 

 

 

 

 

 

 

 

 

9 对子句集:

        {P∨Q, Q∨R, R∨W, R∨P, W∨Q, Q∨R } 

用线性输入策略是否可证明该子句集的不可满足性?

    解:用线性输入策略不能证明子句集

{P∨Q, Q∨R, R∨W, R∨P, W∨Q, Q∨R }

的不可满足性。原因是按线性输入策略,不存在从该子句集到空子句地归结过程。

 

10  设有如下一段知识:

“张、王和李都属于高山协会。该协会的每个成员不是滑雪运动员,就是登山运动员,其中不喜欢雨的运动员是登山运动员,不喜欢雪的运动员不是滑雪运动员。王不喜欢张所喜欢的一切东西,而喜欢张所不喜欢的一切东西。张喜欢雨和雪。”

试用谓词公式集合表示这段知识,这些谓词公式要适合一个逆向的基于规则的演绎系统。试说明这样一个系统怎样才能回答问题:

“高山俱乐部中有没有一个成员,他是一个登山运动员,但不是一个滑雪运动员?”

解:(1) 先定义谓词

A(x) 表示x是高山协会会员

S(x) 表示x是滑雪运动员

C(x) 表示x是登山运动员

L(x,y) 表示x 喜欢y

(2) 将问题用谓词表示出来

“张、王和李都属于高山协会

A(Zhang)∧A(Wang)∧A(Li)

高山协会的每个成员不是滑雪运动员,就是登山运动员

(x)(A(x)∧¬S(x)→C(x))

高山协会中不喜欢雨的运动员是登山运动员

(x)(¬L(x, Rain)→C(x))

高山协会中不喜欢雪的运动员不是滑雪运动员

(x)(¬L(x, Snow)→¬ S(x))

王不喜欢张所喜欢的一切东西

(y)( L(Zhang, y)→¬ L(Wang ,y))

    王喜欢张所不喜欢的一切东西

(y)(¬ L(Zhang, y)→L(Wang, y))

张喜欢雨和雪

L(Zhang , Rain)∧L(Zhang , Snow)

(3) 将问题要求的答案用谓词表示出来

高山俱乐部中有没有一个成员,他是一个登山运动员,但不是一个滑雪运动员?

        (x)( A(x)→C(x)∧¬ S(x))

    (4) 为了进行推理,把问题划分为已知事实和规则两大部分。假设,划分如下:

已知事实:

A(Zhang)∧A(Wang)∧A(Li)

L(Zhang , Rain)∧L(Zhang , Snow)

规则:

(x)(A(x)∧¬S(x)→C(x))

(x)(¬L(x, Rain)→C(x))

(x)(¬L(x, Snow)→¬ S(x))

(y)( L(Zhang, y)→¬ L(Wang ,y))

(y)(¬ L(Zhang, y)→L(Wang, y))

   (5) 把已知事实、规则和目标化成推理所需要的形式

事实已经是文字的合取形式:

f1: A(Zhang)∧A(Wang)∧A(Li)

f2: L (Zhang , Rain)∧L(Zhang , Snow)

将规则转化为后件为单文字的形式:

r1: A(x)∧¬S(x)→C(x))

r2: ¬L(x, Rain)→C(x)

r3: ¬L(x, Snow)→¬ S(x)

r4: L(Zhang, y)→¬ L(Wang ,y)

r5: ¬ L(Zhang, y)→L(Wang , y)

    将目标公式转换为与/或形式

¬ A(x)∨(C(x)∧¬ S(x))

   (6) 进行逆向推理

逆向推理的关键是要能够推出L(Zhang, Rain)∧L(Zhang , Snow),其逆向演绎过程如下图所示。

 

 
  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7、设有如下结构的移动将牌游戏:

 B

B

W

W

E

其中,B表示黑色将牌,W表是白色将牌,E表示空格。游戏的规定走法是:

(1) 任意一个将牌可移入相邻的空格,规定其代价为1;

(2) 任何一个将牌可相隔1个其它的将牌跳入空格,其代价为跳过将牌的数目加1。

游戏要达到的目标是把所有W都移到B的左边。对这个问题,请定义一个启发函数h(n),并给出用这个启发函数产生的搜索树。

   设h(x)=每个W左边的B的个数,f(x)=d(x)+3*h(x),其搜索树如下:

     

B

B

W

W

E

f(x)=0+12=12

 

 

    
   
 

f(x)=1+12=13

 
 

 

 

 

 

B

B

W

E

W

 

B

B

E

W

W

 

      
     
 

f(x)=2+12=14

 
 
 

 

 

 

 

B

B

E

W

W

 

B

E

W

B

W

 

 

    
  
  

f(x)=3+9=12

 
 

 

 

 

E

B

W

B

W

 

    
  

f(x)=4+6=10

 
  
 

 

 

 

W

B

E

B

W

 

    
  

f(x)=5+3=8

 
  
 

 

 

 

W

B

W

B

E

 

 
  

 

 

 

W

B

W

E

B

 

    
  

f(x)=7+0=7

 
  
 

 

 

 

W

B

W

E

B

 

 

                                                           

8、用代价优先算法求解下图的旅行推销员问题,请找一条从北京出发能遍历各城市的最佳路径(旅行费最少),每条弧上的数字表示城市间的旅行费用。并用Closed表记录遍历过的结点,Open表记录待遍历的结点。画出Closed和Open表的变化过程,然后根据Closed表找出最佳路径。

 

               Open表                                               Closed表

扩展节点

父节点

A(0)

NULL

B(31)

A

C(28)

A

D(43)

B

C(54)

B

E(38)

D

C(59)

D

C(27)

E

A(51)

E

 

扩展节点

父节点

A(0)

NULL

C(28)

A

E(29)

C

D(38)

E

B(43)

D

A(31)

B

                                                              

             

 

                                                          

因此,便利各城市的最佳路径是:A—C—E—D—B—A                 

人工智能复习资料【转】