人工智能例题大纲

人工智能例题大纲
人工智能例题大纲

1. 用谓词逻辑知识表示方法表示如下知识:

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

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

解:(1)

定义谓词

P(x):x是人

L(x,y):x喜欢y

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

将知识用谓词表示为:

(x)(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花))

解:(2)

定义谓词

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

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

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

将知识用谓词表示为:

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

2. 请用语义网络表示如下知识:

高老师从3月到7月给计算机系的学生讲“计算机网络”课。

解:

3. 判断以下子句集是否为不可满足

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

解:采用归结反演,存在如下归结树,故该子句集为不可满足。

4、证明G是F的逻辑结论

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

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

证:先转化成子句集

对F,进行存在固化,有

P(f(v))∧(Q(f(w)))

得以下两个子句

P(f(v)),Q(f(w))

对﹁G,有

﹁P(f(a))∨﹁P(y) ∨﹁Q(y)

先进行内部合一,设合一{f(a)/y},则有因子

﹁P(f(a)) ∨﹁Q(f(a))

再对上述子句集进行归结演绎推理。其归结树如下图所示,即存在一个到空子句的归结过程。

因此G为真。

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

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

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

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

游戏要达到的目标什是把所有W都移到B的左边。对这个问题,请定义一个启发函数h(n),并给出用这个启发函数产生的搜索树。你能否判别这个启发函数是否满足下界要求在求出的搜索树中,对所有节点是否满足单调限制

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

6 设有如下一组推理规则:

r1: IF E1THEN E2

r2: IF E2AND E3THEN E4

r3: IF E4THEN H

r4: IF E5THEN H

且已知CF(E1)=, CF(E3)=, CF(E5)=。求CF(H)=解:(1) 先由r1求CF(E2)

CF(E2)= × max{0,CF(E1)}

= × max{0,}=

(2) 再由r2求CF(E4)

CF(E4)= × max{0, min{CF(E2 ), CF(E3 )}}

= × max{0, min{, }}=

(3) 再由r3求CF1(H)

CF1(H)= × max{0,CF(E4)}

= × max{0, }=

(4) 再由r4求CF2(H)

CF2(H)= ×max{0,CF(E5)}

= ×max{0, }=

(5) 最后对CF1(H )和CF2(H)进行合成,求出CF(H)

CF(H)= CF1(H)+CF2(H)- CF1(H) ×CF2(H)

=

7 设训练例子集如下表所示:

请用ID3算法完成其学习过程。

解:

设根节点为S,尽管它包含了所有的训练例子,但却没有包含任何分类信息,因此具有最大的信息熵。即:

H(S)= - (P(+)log 2P(+) - P(-)log2 P(-))

式中

P(+)=3/6,P(-)=3/6

即有

H(S)= - ((3/6)*log (3/6) - (3/6)*log (3/6))

= *(-1) - *(-1) = 1

按照ID3算法,需要选择一个能使S的期望熵为最小的一个属性对根节点进行扩展,因此我们需要先计算S关于每个属性的条件熵:

H(S|x i)= ( |S T| / |S|)* H(S T) + ( |S F| / |S|)* H(S F)

其中,T和F为属性x i的属性值,S T和S F分别为x i=T或x i=F时的例子集,|S|、| S T|和|S F|分别为例子集S、S T和S F 的大小。

下面先计算S关于属性x1的条件熵:

在本题中,当x1=T时,有:

S T={1,2,3}

当x1=F时,有:

S F={4,5,6}

其中,S T和S F中的数字均为例子集S中例子的序号,且有|S|=6,| S T |=| S F |=3。

由S T可知:

P(+)=2/3,P(-)=1/3

则有:

H(S T)= - (P(+)log2 P(+) - P(-)log2 P(- ))

= - ((2/3)log2(2/3)- (1/3)log2(1/3)) ==

再由S F可知:

P SF(+)=1/3,P SF(-)=2/3

则有:

H(S F)= - (P SF(+)log2 P ST(+) - P SF(-)log2 P SF(- ))

= - ((2/3)log2(2/3)- (1/3)log2(1/3)) =

将H(S T)和H (S F)代入条件熵公式,有:

H(S|x1)=(|S T|/|S|)H(S T)+ (|S F|/|S|)H(S F)

=(3/6)﹡+ (3/6)﹡

=

下面再计算S关于属性x2的条件熵:

在本题中,当x2=T时,有:

S T={1,2,5,6}

当x2=F时,有:

S F={3,4}

其中,S T和S F中的数字均为例子集S中的各个例子的序号,且有|S|=6,| S T |=4,| S F |=2。

由S T可知:

P ST (+) = 2/4

P ST (-) = 2/4

则有:

H(S T)= - (P ST (+)log2 P ST (+) - P ST (-)log2 P ST (- ))

= - ((2/4)log2(2/4) - (2/4)log2(2/4))

=1

再由S F可知:

P SF (+)=1/2

P SF (-)=1/2

则有:

H(S F)= - (P(+)log2 P(+) - P(-)log2 P(- ))

= - ((1/2)log2(1/2)- (1/2)log2(1/2))

=1

将H(S T)和H (S F)代入条件熵公式,有:

H(S|x2)=(|S T|/|S|)H(S T)+ (|S F|/|S|)H(S F)

=(4/6)﹡1 + (2/6)﹡1

=1

可见,应该选择属性x1对根节点进行扩展。用x1对S扩展后所得到的部分决策树如下图所示。

8八数码难题

f(n)=d(n)+P(n)

d(n) 深度

P(n)与目标距离

显然满足

P(n)≤ h*(n)

即f*=g*+h*

9 修道士和野人问题

解:用m表示左岸的修道士人数,c表示左岸的野人数,b表示左岸的船数,用三元组(m, c, b)表示问题的状态。

对A*算法,首先需要确定估价函数。设g(n)=d(n),h(n)=m+c-2b,则有

f(n)=g(n)+h(n)=d(n)+m+c-2b

其中,d(n)为节点的深度。通过分析可知h(n)≤h*(n),满足A*算法的限制条件。

M-C问题的搜索过程如下图所示。

10 设有如下一组知识: r 1:IF E 1 THEN H r 2:IF E 2 THEN H r 3:IF E 3 THEN H

r 4:IF E 4 AND ( E 5 OR E 6) THEN E 1 已知:CF(E 2)=,CF(E 3)=,CF(E 4)=,CF(E 5)=, CF(E 6)= 求:CF(H)= 解:由r 4得到:

CF(E 1)=×max{0, CF(E 4 AND (E 5 OR E 6))} = ×max{0, min{CF(E 4), CF(E 5 OR E 6)}} =×max{0, min{CF(E 4), max{CF(E 5), CF(E 6)}}} =×max{0, min{CF(E 4), max{, }}} =×max{0, min{, }} =×max{0, } =

由r 1得到:CF 1(H)=CF(H, E 1)×max{0, CF(E 1)} =×max{0, } = 由r 2得到:CF 2(H)=CF(H, E 2)×max{0, CF(E 2)} =×max{0, } =

由r 3得到:CF 3(H)=CF(H, E 3)×max{0, CF(E 3)} =×max{0, } =

根据结论不精确性的合成算法,CF 1(H)和CF 2(H)同号,有:

67

.017.084.048.036.048.036.0)

()()()()(21212,1=-=?-+=?-+=H CF H CF H CF H CF H CF

CF 12(H)和CF 3(H)异号,有:

{}

{}53

.07

.037

.03.0,67.0min 13.067.0)

(,)(min 1)()()(32,132,13,2,1==

--=

-+=

H CF H CF H CF H CF H CF

即综合可信度为CF(H)=

11 设有如下知识:

r1: IF E1()AND E2() THEN E5 () r2: IF E3()AND E4()AND E5()THEN H () 已知: CF (E1)=,CF (E2)=,CF (E3)=,CF (E4)= 求: CF (H )= 解:

CF(E1 AND E2)=*+*= CF(E5)=*=

CF(E3 AND E4 AND E5) =*+*+*=

CF(H)=*=

12设有如下规则:

r1: IF E1 AND E2THEN A={a1, a2} CF={, } r2: IF E3 THEN H={h1, h2} CF={, }

r3: IF A THEN H={h1, h2} CF={, }

已知用户对初始证据给出的确定性为:

CER(E1)= CER(E2)=

CER(E3)=

并假Ω定中的元素个数∣Ω∣=10

求:CER(H)=

解:由给定知识形成的推理网络如下图所示:

(1) 求CER(A)

由r1:

CER(E1AND E2)

=min{CER(E1), CER(E2)}

=min{, } =

m({a1}, {a2})={×, ×} = {, }

Bel(A)=m({a1})+m({a2})=+=

Pl(A)=1-Bel(﹁A)=1-0=1

f(A)=Bel(A)+|A|/|Ω|[Pl(A)-Bel(A)]

=+2/10*[]

=

CER(A)=MD(A/E')×f(A)=

(2) 求CER(H)

由r2得

m1({h1}, {h2})={CER(E3)×, CER(E3)×}

={×, ×}

={, }

m1(Ω)=1-[m1({h1})+m1({h2})]

=1-[+]=

由r3得

m 2({h 1}, {h 2})={CER(A)×, CER(A)×} ={×, ×} ={, }

m 2(Ω)=1-[m 2({h 1})+m 2({h 2})] =1-[+]=

求正交和m=m 1⊕m 2 K=m 1(Ω)×m 2(Ω)

+m 1({h 1})×m 2({h 1})+m 1({h 1})×m 2(Ω)+m 1(Ω)×m 2({h 1}) +m 1({h 2})×m 2({h 2})+m 1({h 2})×m 2(Ω)+m 1(Ω)×m 2({h 2}) =×

+×+×+× +×+×+× =++++++ =

32

.0]06.046.065.036.006.036.0[88.01

})]

({)()(})({})({})({[1

)(12121112111=?+?+??=

?Ω+Ω?+??=

h m m m h m h m h m K

h m

同理可得:

34.0]29.046.065.018.029.018.0[88

.01

})]

({)()(})({})({})({[1

)(22122122212=?+?+??=

?Ω+Ω?+??=

h m m m h m h m h m K

h m

故有:m(Ω)=1-[m({h 1})+m({h 2})] =1-[+] = 再根据m 可得

Bel(H)=m({h 1})+m({h 2}) = + = Pl(H)=m(Ω)+Bel(H)=+=1

73.0)66.01(102

66.0)]()([)()(=-?+

=-?Ω

+

=H Bel H Pl H

H Bel H f

CER(H)=MD(H/E')×f(H)=

13用ID3算法完成下述学生选课的例子 假设将决策y 分为以下3类: y 1:必修AI y 2:选修AI y 3:不修AI

做出这些决策的依据有以下3个属性:

x 1:学历层次 x 1=1 研究生,x 1=2 本科 x 2:专业类别 x 2=1 电信类,x 2=2 机电类

x 3:学习基础 x 3=1 修过AI ,x 3=2 未修AI 表给出了一个关于选课决策的训练例子集S 。

该训练例子集S 的大小为8。ID3算法就是依据这些训练例子,以S 为根节点,按照信息熵下降最大的原则来构造决策树的。

解: 首先对根节点,其信息熵为:

)

(log )()(23

1

i i i y P y P S H ∑=-=

其中,3为可选的决策方案数,且有 P(y 1)=1/8,P(y 2)=2/8,P(y 3)=5/8 即有:

H(S)= -(1/8)log 2(1/8)- (2/8)log 2(2/8)- (5/8)log 2(5/8) =

按照ID3算法,需要选择一个能使S 的期望熵为最小的一个属性对根节点进行扩展,因此我们需要先计算S 关于每个属性的条件熵:

||

(/)()

||t i t t S H S x H S S =∑

其中,t 为属性x i 的属性值,S t 为x i =t 时的例子集,|S|和|S t |分别是例子集S 和S t 的大

小。

下面先计算S 关于属性x 1的条件熵:

在表6-1中,x 1的属性值可以为1或2。当x 1=1时,t=1时,有: S 1={1,2,3,4} 当x 1=2时,t=2时,有: S 2={5,6,7,8}

其中,S 1和S 2中的数字均为例子集S 中的各个例子的序号,且有|S|=8,|S 1|=|S 2|=4。 由S 1可知:

Ps 1(y 1)=1/4, Ps 1(y 2)=1/4, Ps 1(y 3)=2/4 则有:

H(S 1)= - Ps 1(y 1)log 2 Ps 1(y 1) - Ps 1(y 2)log 2 Ps 1(y 2 )- Ps 1(y 3)log 2 Ps 1(y 3 ) = -(1/4)log 2(1/4)- (1/4)log 2(1/4)- (2/4)log 2(2/4) =

再由S2可知:

Ps2(y1)=0/4, Ps2(y2)=1/4, Ps2(y3)=3/4

则有:

H(S2)=– Ps2(y2)log2 Ps2(y2 )- Ps2(y3)log2 Ps2(y3 )

=- (1/4)log2(1/4)- (3/4)log2(3/4) =

将H(S1)和H(S2)代入条件熵公式,有:

H(S/x1)=(|S1|/|S|)H(S1)+ (|S2|/|S|)H(S2)

=(4/8)﹡+(4/8)﹡=

同样道理,可以求得:

H(S/x2)=

H(S/x3)=

可见,应该选择属性x3对根节点进行扩展。用x3对S扩展后所得到的得到部分决策树如图所示。

在该树中,节点“x3=1, y3”为决策方案y3。由于y3已是具体的决策方案,故该节点的信息熵为0,已经为叶节点。

节点“x3=2, x1, x2”的含义是需要进一步考虑学历和专业这两个属性,它是一个中间节点,还需要继续扩展。至于其扩展方法与上面的过程类似。

通过计算可知,该节点对属性x1和x2,其条件熵均为1。由于它对属性x1和x2的条件熵相同,因此可以先选择x1,也可以先选择x2。

依此进行下去,若先选择x1可得到如图所示的最终的决策树;若先选择x2可得到如图所示的最终的决策树。

S

x 3=1, y

3

x

3

=2, x

1

, x

2图部分决策树

x

3

=1x3=2

14 (归结反演)

已知:“张和李是同班同学,如果x和y是同班同学,则x的教室也是y的教室,现在张在302教室上课。”

问:“现在李在哪个教室上课”

解:首先定义谓词:

C(x, y) x和y是同班同学;

At(x, u) x在u教室上课。

把已知前提用谓词公式表示如下:

C(zhang, li)

(x) (y) (u) (C(x, y)∧At(x, u)→At(y,u))

At(zhang, 302)

把目标的否定用谓词公式表示如下:

﹁(v)At(li, v)

把上述公式化为子句集:

C(zhang, li)

﹁C(x, y)∨﹁At(x, u)∨At(y, u)

At(zhang, 302)

把目标的否定化成子句式,并用重言式

﹁At(li,v) ∨At(li,v)

代替之。

把此重言式加入前提子句集中,得到一个新的子句集,对这个新的子句集,应用归结原理求出其证明树。

其求解过程如下图所示。

该证明树的根子句就是所求的答案,即“李明在302教室”。

公式:

A估价函数

用来估计节点重要性,定义为从初始节点S0出发,约束经过节点n到达目标节点S g的所有路径中最小路径代价的估计值。一般形式:

f(n)=g(n)+h(n)

其中,g(n)是从初始节点S0到节点n的实际代价;h(n)是从节点n到目标节点S g的最优路径的估计代价。

B A*算法是对A算法的估价函数f(n)=g(n)+h(n)加上某些限制后得到的一种启发式搜索算法

假设f*(n)是从初始节点S0出发,约束经过节点n到达目标节点S g的最小代价,估价函数f(n)是对f*(n)的估计值。记

f*(n)=g*(n)+h*(n)

其中,g*(n)是从S0出发到达n的最小代价,h*(n)是n 到S g的最小代价

如果对A算法(全局择优)中的g(n)和h(n)分别提出如下限制:

第一,g(n)是对最小代价g*(n)的估计,且g(n)>0;

第二,h(n)是最小代价h*(n)的下界,即对任意节点n均有h(n)≤h*(n)。

则称满足上述两条限制的A算法为A*算法。

C 不确定性知识的表示形式:

在C-F模型中,知识是用产生式规则表示的,其一般形式为:

IF E THEN H (CF(H, E))

其中,E是知识的前提条件;H是知识的结论;CF(H, E)是知识的可信度。

D 组合证据

合取:E=E1 AND E2 AND … En时,若已知CF(E1),CF(E2),…,则

CF(E)=min{CF(E1), CF(E2), … ,CF(En)}

析取:E=E1 OR E2 OR … En时,若已知CF(E1),CF(E2),…,则

CF(E)=max{CF(E1), CF(E2), … ,CF(En)}

E 不确定性的更新公式

CF(H)=CF(H, E)×max{0, CF(E)}

若CF(E)<0,则

CF(H)=0

即该模型没考虑E为假对H的影响。

若CF(E)=1,则

CF(H)=CF(H,E)

F 设有知识:IF E1THEN H (CF(H, E1))

IF E2THEN H (CF(H, E2))

则结论H 的综合可信度可分以下两步计算:

(1) 分别对每条知识求出其CF(H)。即

CF 1(H)=CF(H, E 1) ×max{0, CF(E 1)} CF 2(H)=CF(H, E 2) ×max{0, CF(E 2)}

(2) 用如下公式求E 1与E 2对H 的综合可信度

{}

异号)(与

)(若0)(且0)(若0

)(且0)(若)

(,)(min 1)()()

()()()()()()()()(212121212121212121H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF H CF <<≥≥??

?

?

??

??

?-+?++?-+=

G 带加权因子的可信度推理 在这种不确定性推理中,证据的不确定性仍然用可信度因子表示,组合证据的可信度可通过计算得到。对于前提条件

E=E1(ω1) AND E2(ω2) AND …… AND En(ωn) 所对应的组合证据,其可信度由下式计算:

CF(E)= CF(E1)*ω1 +CF(E2)*ω2+……+CF(En)*ωn 如果不满足归一条件,则可信度由下式计算:

CF(E)= (CF(E1)*ω1 +CF(E2)*ω2+……+CF(En)*ωn)/(ω1+ ω2+… ωn)

H 证据理论

设函数m :2Ω→[0,1],且满足

∑Ω

?==ΦA A m m 1

)(0)(

则称m 是2Ω上的概率分配函数,m(A)称为A 的基本概率数。

I 概率分配函数的合成

设m 1和m 2是2Ω上的基本概率分配函数,它们的正交和 21m m m ⊕= 定义为

)]()()()()()([})({2121211i i i i i s m m m s m s m s m K s m ?Ω+Ω?+??=-

其中

)]()()()()()([)()(2

1

1

2

1

2

1

21i n

i

i i i s m m m s m s m s m m m K ?Ω+Ω?+?+

Ω?Ω=∑=

J 信任函数(下限函数)

对任何命题A ?Ω,其信任函数为

1)(})({)()(})({)(1

=Ω+==

Ω=∑∑∑=Ω

?∈

m s m B m Bel s m A Bel n

i

i B A

s i i

K 似然函数(上限函数)

对任何命题A ?Ω,其似然函数为 1

)(1)(1)()

()()]

()(1[1]})({})({[1})({1)(1)(1=Φ-=Ω?-=Ω+Ω=-Ω--=--=-

=?-=∑∑∑=∈

?

∈Bel Bel Pl A Bel m A Bel m s m s m s m A Bel A Pl n

i A

s i i A s i i i

似然函数也称为上限函数,表示对A 的非假信任度。可以看出,对任何命题A ?Ω、 A ?Ω都有

Pl(A)-Bel(A) = Pl(B)-Bel(B) = m(Ω)

L 类概率函数

设Ω为有限域,对任何命题A ?Ω,命题A 的类概率函数为

[]

)()()()(A Bel A Pl A

A Bel A f -?Ω

+

=

M 证据的匹配度表示

设A 是规则条件部分的命题,E '是外部输入的证据和已证实的命题,在证据E '的条件下,命题A 与证据E '的匹配程度为

N 证据的确定性表示

条件部分命题A 的确定性为

CER(A)=MD(A/E ')×f(A) 其中f(A)为类概率函数。

由于f(A) ∈[0, 1],因此CER(A) ∈[0, 1]

O 组合证据的不确定性表示 当组合证据是多个证据的合取时

E=E 1 AND E 2 AND … AND E n 则

CER(E)=min{CER(E 1), CER(E 2), … ,CER(E n )} 当组合证据是多个证据的析取时

E=E 1 OR E 2 OR … OR E n 则

CER(E)=max{CER(E 1), CER(E 2), … . CER(E n )

P 结论的确定性

设有知识 IF E THEN H={h 1, h 2, … , h n } CF={c 1, c 2, … , c n } 则求结论H 的确定性CER(H)的方法如下:

12121({},{},...,{})((),(),,()()1()n n n

i

i m h h h CER E c CER E c CER E c m CRE E c ==???Ω=-?∑L

如果有两条或多条知识支持同一结论H ,例:

IF E 1 THEN H={h 1, h 2, … , h n } CF={c 11, c 12, … , c 1n } IF E 2 THEN H={h 1, h 2, … , h n } CF={c 21, c 22, … , c 2n } 则按正交和求CER(H),即先求出: m 1=m 1({h 1},{h 2},…,{h n }) m 2=m 2({h 1},{h 2},…,{h n })

然后再用公式21m m m ⊕=求m 1和m 2的正交和,最后求得H 的m 。

按公式CER(H)=MD(H/E ') ×f(H)计算结论H 确定性。

Q 信息熵

信息熵是对信息源整体不确定性的度量。假设X 为信源,x i 为X 所发出的单个信息,P(x i )为X 发出x i 的概率,则信息熵可定义为:

)

(log )()

(log )()(log )()(log )()(12211i k

i i r r x P x P x P x P x P x P x P x P X H ∑=-=----=Λ

R 条件熵

条件熵是收信者在收到信息后对信息源不确定性的度量。若假设信源为X ,收信者收到的信息为Y , P(x i /y j )为当Y 为y j 时X 为x i 的条件概率,则条件熵可定义为:

∑∑==-=k i k

j j i j i y x P y x p Y X H 11

)

|(log )|()|(

∑==n i i

h m H Bel 1})

({)()

(1)(H Bel H Pl ?-=)

()()]()([)()(Ω?Ω

+

=-?Ω

+=m H H Bel H Bel H Pl H H Bel H f

相关主题
相关文档
最新文档