人工智能例题大纲设计

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

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 (0.6)

r2: IF E2AND E3THEN E4 (0.7)

r3: IF E4THEN H (0.8)

r4: IF E5THEN H (0.9)

且已知CF(E1)=0.5, CF(E3)=0.6, CF(E5)=0.7。求CF(H)=?

解:(1) 先由r1求CF(E2)

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

=0.6 × max{0,0.5}=0.3

(2) 再由r2求CF(E4)

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

=0.7 × max{0, min{0.3, 0.6}}=0.21

(3) 再由r3求CF1(H)

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

=0.8 × max{0, 0.21)}=0.168

(4) 再由r4求CF2(H)

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

=0.9 ×max{0, 0.7)}=0.63

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

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

=0.692

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))

= -0.5*(-1) - 0.5*(-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)) ==0.9183

再由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)) = 0.9183

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

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

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

=0.9183

下面再计算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 (0.9) r 2:IF E 2 THEN H (0.6) r 3:IF E 3 THEN H (-0.5)

r 4:IF E 4 AND ( E 5 OR E 6) THEN E 1 (0.8)

已知:CF(E 2)=0.8,CF(E 3)=0.6,CF(E 4)=0.5,CF(E 5)=0.6, CF(E 6)=0.8 求:CF(H)=? 解:由r 4得到:

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

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

=0.9×max{0, 0.4} = 0.36 由r 2得到:CF 2(H)=CF(H, E 2)×max{0, CF(E 2)} =0.6×max{0, 0.8} = 0.48 由r 3得到:CF 3(H)=CF(H, E 3)×max{0, CF(E 3)} =-0.5×max{0, 0.6} = -0.3

根据结论不精确性的合成算法,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)=0.53

11 设有如下知识:

r1: IF E1(0.6)AND E2(0.4) THEN E5 (0.8)

r2: IF E3(0.5)AND E4(0.3)AND E5(0.2)THEN H (0.9) 已知: CF (E1)=0.9,CF (E2)=0.8,CF (E3)=0.7,CF (E4)=0.6 求: CF (H )=?

解:

CF(E1 AND E2)=0.9*0.6+0.8*0.4=0.86 CF(E5)=0.86*0.8=0.69 CF(E3 AND E4 AND E5)

=0.7*0.5+0.6*0.3+0.69*0.2=0.67

CF(H)=0.67*0.9=0.60

12设有如下规则:

r1: IF E1 AND E2THEN A={a1, a2} CF={0.3, 0.5}

r2: IF E3 THEN H={h1, h2} CF={0.4, 0.2}

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

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

CER(E1)=0.8 CER(E2)=0.6

CER(E3)=0.9

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

求:CER(H)=?

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

(1) 求CER(A)

由r1:

CER(E1AND E2)

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

=min{0.8, 0.6} = 0.6

m({a1}, {a2})={0.6×0.3, 0.6×0.5} = {0.18, 0.3}

Bel(A)=m({a1})+m({a2})=0.18+0.3=0.48

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

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

=0.48+2/10*[1-0.48]

=0.584

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

(2) 求CER(H)

由r2得

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

={0.9×0.4, 0.9×0.2}

={0.36, 0.18}

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

=1-[0.36+0.18]=0.46

由r 3得

m 2({h 1}, {h 2})={CER(A)×0.1, CER(A)×0.5} ={0.58×0.1, 0.58×0.5} ={0.06, 0.29}

m 2(Ω)=1-[m 2({h 1})+m 2({h 2})] =1-[0.06+0.29]=0.65 求正交和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}) =0.46×0.65

+0.36×0.06+0.36×0.65+0.46×0.06 +0.18×0.29+0.18×0.65+0.46×0.29

=0.30+(0.02+0.23+0.03)+(0.05+0.12+0.13) =0.88

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-[0.32+0.34] = 0.34 再根据m 可得

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

73.0)66.01(102

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

=-?Ω

+

=H Bel H Pl H

H Bel H f

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

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

表6.1给出了一个关于选课决策的训练例子集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) =1.2988

按照ID3算法,需要选择一个能使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 则有:

||

(/)()

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

H(S1)= - Ps1(y1)log2 Ps1(y1) - Ps1(y2)log2 Ps1(y2 )- Ps1(y3)log2 Ps1(y3 )

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

再由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) =0.8113

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

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

=(4/8)﹡1.5+(4/8)﹡0.8113 =1.1557

同样道理,可以求得:

H(S/x2)=1.1557

H(S/x3)=0.75

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

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

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

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

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

图6.5 部分决策树

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)的方法如下:

如果有两条或多条知识支持同一结论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 )|()|(

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

n

i

i m h h h CER E c CER E c CER E c m CRE E c ==???Ω=-?∑∑==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

人工智能课程设计报告--动物识别系统

计算机科学与技术学院 《人工智能》课程设计报告设计题目:动物识别系统 设计人员:学号: 学号: 学号: 学号: 学号: 学号: 指导教师: 2015年7月

目录 目录 (1) 摘要 (2) Abstract (2) 一、专家系统基本知识 (3) 1.1专家系统实际应用 (3) 1.2专家系统的开发 (3) 二、设计基本思路 (4) 2.1知识库 (4) ....................................................................................................... 错误!未定义书签。 2.1.2 知识库建立 (4) 2.1.3 知识库获取 (5) 2.2 数据库 (6) ....................................................................................................... 错误!未定义书签。 ....................................................................................................... 错误!未定义书签。 三、推理机构 (7) 3.1推理机介绍 (7) 3.1.1 推理机作用原理 (7) ....................................................................................................... 错误!未定义书签。 3.2 正向推理 (7) 3.2.1 正向推理基本思想 (7) 3.2.2 正向推理示意图 (8) 3.2.3 正向推理机所要具有功能 (8) 3.3反向推理 (8) ....................................................................................................... 错误!未定义书签。 3.3.2 反向推理示意图 (8) ....................................................................................................... 错误!未定义书签。 四、实例系统实现 (9)

人工智能课程教学大纲

人工智能课程教学大纲 【课程编码】JSZX0300 【适用专业】计算机科学与技术 【课时】 72(理论)+28(实验) 【学分】 3 【课程性质、目标和要求】 人工智能是计算机科学的重要分支,是计算机科学与技术专业本科生的专业限选课之一。本课程介绍如何用计算机来模拟人类智能,即如何用计算机实现诸如问题求解、规划推理、模式识别、知识工程、自然语言处理、机器学习等只有人类才具备的"智能",使得计算机更好得为人类服务. 作为本科生一个学期的课程,重点掌握人工智能的基础知识和基本技能,以及人工智能的一般应用.完成如下教学目标: (1)了解人工智能的概念和人工智能的发展,了解国际人工智能的主要流派和路线,了解国内人工智能研究的基本情况,熟悉人工智能的研究领域. (2)较详细地论述知识表示的各种主要方法。重点掌握状态空间法、问题归约法和谓词逻辑法,熟悉语义网络法,了解知识表示的其他方法,如框架法、剧本法、过程法等。 (3)掌握盲目搜索和启发式搜索的基本原理和算法,特别是宽度优先搜索、深度优先搜索、等代价搜索、启发式搜索、有序搜索、A*算法等.了解博弈树搜索、遗传算法和模拟退火算法的基本方法. (4) 掌握消解原理、规则演绎系统和产生式系统的技术、了解不确定性推理、非单调推理的概念. (5)概括性地介绍人工智能的主要应用领域,如专家系统、机器学习、规划系统、自然语言理解和智能控制等. (6)简介人工智能程序设计的语言和工具. (7) 掌握Visual Prolog编程环境,会使用Prolog语言编写简单的智能程序。 要求学生已修过《数据结构》、《离散数据》和《编译原理》。 【教学时间安排】 本课程计 3 学分,理论课时72 ,实验课时28。学时分配如下表所示:

人工智能课程设计报告-罗马尼亚度假问题

人工智能课程设计报告-罗马尼亚度假 问题 1

2

3 2020年5月29日 课 程 :人工智能课程设计报告 班 级: 姓 名: 学 号: 指导教师:赵曼 11月

人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,能够设想,未来人工智能带来的科技产品,将会是人类智慧的”容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些一般需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种”复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅 速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐 - 1 - 2020年5月29日

人工智能复习大纲

人工智能复习题提纲 第一章绪论 1.什么是人工智能?人工智能的意义和目标是什么? 人工智能是那些与人的思维决策问题求解和学习等有关活动的自动化。 近期研究目标:建造智能计算机以代替人类的某些智力活动。 远期目标:用自动机模仿人类的思维活动和智力功能。 2.完整的物理符号系统的基本功能? 输入符号,输出符号,存储符号,复制符号 建立符号结构:通过找出各符号间的关系,在符号系统中形成符号结构 条件性迁移:根据已有符号,继续完成活动过程。 3.人工智能有哪些主要学派?他们的认知观分别是什么? 符号主义认为人工智能源于数理逻辑 连接主义认为人工智能源于仿生学,特别是人脑模型的研究。 行为主义认为人工智能源于控制论。

4.人工智能的研究领域包括哪些? 问题求解与博弈,逻辑推理与定理证明,计算智能,自动程序设计,专家系统,机器学习,模式识别,神经网络等。 5.什么是图灵测试? 是指测试者在与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。 6.人工智能的发展历程? 孕育时期 形成时期 暗淡时期 知识应用时期 集成发展时期 第二章知识表示 1.知识的层次及其概念? 噪声,数据,信息,知识,元知识 数据可以定义为:“客观事物的数量、属性、位置及其相互关系等的抽象表示”。

信息:是数据的语义(即数据在特定场合下的具体含义) 知识:在长期的生活及社会实践中、在科学研究及实验中积累起来的对客观世界的认识与经验。 元知识是有关知识的知识,是知识库中的高层知识。包括怎样使用规则、解释规则、校验规则、解释程序结构等知识。2.知识的属性及引起不确定性的因素? 相对正确性,不确定性(随机性,模糊性,经验,不完全性 引起的不确定性) 可表示性与可利用性 3.知识的分类? 按知识的作用范围:常识性知识,专业性知识。 按知识的作用及表示:事实性,过程性,控制性 按知识的结构及表现形式:逻辑性,形象性 按知识的确定性;确定性,不确定性 4.什么是知识表示?

人工智能课程设计

课程名称:人工智能及应用 设计题目:基于智能搜索的进路选排设计院系:计算机与通信工程系 班级:信号一班 姓名: 学号: 指导教师:胡可 西南交通大学峨眉校区 2013 年12 月13 日

课程设计任务书 专业铁道信号姓名代荣龙学号20108065 开题日期:2013 年09 月23 日完成日期:2013 年12 月13 日题目基于智能搜索的进路选排设计 一、设计的目的 通过对课程设计任务的完成,进一步理解智能搜索算法与计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。 二、设计的内容及要求 要求每位同学能够根据对人工智能搜索算法以及计算机联锁的进路选排过程的知识,结合课程设计的内容,独立完成该课程设计。 设计内容: 1)自选信号布置图,建立站场型静态数据库,并绘制其模块链接图; 2)自选智能搜索算法,编写动态进路搜索选排程序; 3)用所编搜索程序对建立的数据库进行进路选排,并举例说明其过程。 三、指导教师评语 四、成绩 指导教师(签章) 年月日

一、设计题目 通过对课程设计任务的完成,进一步理解智能搜索算法与计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。 可实现的功能: 能设置道岔、轨道、信号机以及道岔、轨道、信号机的状态; 满足正常情况下的接发列车演练; 站场状态的直观形象显示; 办理列车作业; 取消进路功能; 完备的进路选排、开放保持及解锁功能 仿真分析: 对计算机联锁人机界面的分析可知,人机界面是类似于6502电气集中联锁控制台,所以设计时参考6502的控制台进行设计。 为让操作员很快适应该系统,该系统延续了一些传统的操作方法: 选排进路任采用双按钮形式; 进路排好采用白色表示; 进路占用弹出对话框(线路占用、已办理同方向进路、已办理反方向发车); 进路解锁弹出对话框(进路已解锁); 道岔的状态(定位绿灯显示、反位黄灯显示); 信号机的状态(平时红灯、开放时绿灯); 调车信号机的状态(平时蓝色、开放时白色) 列车按钮绿色(设于线路中间); 调车按钮白色(设于线路一侧); 进路的取消任然用双按钮(始端按钮和终端按钮); 取消进路时点击总取消按钮后对应的上行或者下行总取消按钮表示灯亮红灯; 线路状态(平时为黑色、占用为白色); 当进路排好后改进路上的同方向的调车信号显示白灯; 该系统的进路搜索程序采用类似于进路表的形式,将始端按钮和终端按钮按下后,改程序自动检查敌对信号是否开放(若开放则提示“已建立反方向发车”)、沿途的列车信号机是否有开放(若开放则提示“已办理同方向进路”或“已办理反方向进路”)、复式交分道岔的一组道岔是否已占用(若占用则提示“线路已占用”)、股道是否空闲(若不空闲则提示“线路已占用”),进路建立之后将显示对应信号机的状态和道岔的状态。该操作界面采用Microsoft visual basic 6.0编写,能够很直观的反映调度员所需信息,同时采用人性化理念,用弹出式对话框来提示操作过程中的一些禁止信息来提醒调度员。 设计过程: (一)绘制站场图和站场型数据模块链接图

人工智能考试大纲

《人工智能》考试大纲 第一章绪论 1. 了解:人工智能研究的历史和研究领域的大致情况(不少于六个领域)。 2.理解:什么是智能、人工智能研究的目标(近期目标和长远目标)、人工智能研究的内容、人工智能研究的途径。 3. 掌握:人工智能的定义。 第二章问题求解的基本原理 1.理解:盲目搜索中图搜索的一般过程;启发式搜索中的搜索策略、与或图概念与搜索方法。 2. 掌握:状态图及状态空间;广度优先图搜索技术;深度优先搜索算法;A算法;A*算法;α―β剪枝技术。 第三章知识与知识表示 1. 理解:知识的概念及知识的类型;知识的表示。 2. 掌握:知识表示的谓词逻辑法、状态空间法、问题归约法、框架 表示、语义网络法。

第四章问题求解(一): 演绎推理 1. 理解:一阶谓词逻辑的基本概念和相关理论。 2. 掌握:推理的基本概念和推理的控制策略;归结(消解)演绎推理;置换与合一技术;归结(消解)反演及其控制策略;应用归结(消解)原理求解问题。 第五章问题求解(二): 不确定性推理 1. 理解:不确定性推理的基本问题和总体框架算法;对于知识模糊性的可能性理论的推理方法。 2. 掌握:确定性理论;证据理论;主观贝叶斯(Bayes)方法。 第六章机器学习 1. 了解:机器学习的定义和研究意义;机器学习系统构造原则和步骤。 2. 理解:机器学习的主要策略和机器学习系统的基本结构;机器学习的模式;机器学习的主要问题;基于事例的学习的基本原理;基于概念学习的基本原理。

3. 掌握:基于神经网络的学习中神经网络的构成,基于BP神经网络的结构和方向传播公式以及基于BP神经网络的学习算法,Hopfield神经网络的构成和学习算法,

人工智能课程设计报告-n皇后问题解读

人工智能课程设计报告 课班姓学程:人工智能课程设计报告级 : 名: 号: 指导教师:赵曼 2015年11月

人工智能课程设计报告 人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。

人工智能课程设计

滑块问题求解系统 一、设计任务 用智能搜索算法中的盲目搜索和启发式搜索这两类基本方法设计八数码问题的求解系统。所谓八数码问题是指这样一种游戏:将分别标有数字1,2,3,…,8 的八块正方形数码牌任意地放在一块3×3 的数码盘上.放牌时要求不能重叠.于是,在3×3 的数码盘上出现了一个空格. 现在要求按照每次只能将与空格相邻的数码牌与空格交换的原则,将任意摆放的数码盘逐步摆成某种特殊的排列.如下图表示了一个具体的八数码问题求解. 二、设计环境及使用说明 设计环境主要采用VC++开发环境。 三、系统已实现的功能 用广度优先搜索算法和两种A*搜索算法实现八数码问题的求解系统。 四、算法思想及分析 1、广度优先搜索算法 算法思想: 这是一种盲目搜索算法。算法主要思想是从初始结点开始依次沿其上下左右四个方向扩展结点,并逐一检查这些后继结点是否为目标结点,若不等于目标结点则把该后继结点插入到数组末尾。然后取数组中未扩展的第一个结点重复以上操作,直到得到目标结点为止或在限定步数以内未得到解。 数据结构: 算法当中的结点用结构体实现, typedef struct{ int num[9]; //八个数码用一个一维数组来存储。 char expension; //记录是否可以扩展,Y代表可以扩展,N代表不可以。 char bandirect; //表示不可以执行的操作,'L'代表不能左移,'R'代表不能右 移,'U'代表不能上移,'D'代表不能下移,'C'代表可以任 意移动。 int father; //记录父节点的下标。 }Node; 扩展的结点存储在数组里: Node node[MAXSIZE]; //将搜索过的状态存储于该数组中。 算法当中遇到的问题和解决方法: 1)如何去表达八个数码的位置和每个结点状态的表示 用一维或二维数组去表示八个数码的位置关系,每个结点包含了一个一维数组 (用来表示八个数码的位置关系),可扩展标记(用来标识一个结点是否被扩 展过,避免重复扩展),限制移动方向的标记(避免一个结点在一个方向的重 复扩展),记录父节点的指针(父节点下标)。 2)如何以最简洁的方式表达一个结点在其四个方向的扩展 设定一个数组用以存储该结点在每个方位是否可扩展。操作一个结点时先根据

《人工智能》详细教学大纲.doc

《人工智能》教学大纲 课程名称:人工智能 英语名称:Artificial Intelligence 课程代码:130234 课程性质:专业必修 学分学时数: 5/80 适用专业:计算机应用技术 修(制)订人: 修(制)订日期:2009年2月 审核人: 审核日期: 审定人: 审定日期: 一、课程的性质和目的 (一)课程性质 人工智能是计算机科学理论基础研究的重要组成部分,人工智能课程是计算机科学技术专业的专业拓展选修课。通过本课程的学习使学生了解人工智能的提出、几种智能观、重要研究领域,掌握人工智能求解方法的特点。掌握人工智能的基本概念、基本方法,会用知识表示方法、推理方法和机器学习等方法求解简单问题等。 (二)课程目的 1、基本理论要求: 课程介绍人工智能的主要思想和基本技术、方法以及有关问题的入门知识。要求学生了解人工智能的主要思想和方法。 2、基本技能要求: 学生在较坚实打好的人工智能数学基础(数理逻辑、概率论、模糊理论、数值分析)上,能够利用这些数学手段对确定性和不确定性的知识完成推理;在理解Herbrand 域概念和Horn 子句的基础上,应用Robinson 归结原理进行定理证明;应掌握问题求解(GPS )的状态空间法,能应用几种主要的盲目搜索和启发式搜索算法(宽度优先、深度优先、有代价的搜索、A 算法、A*算法、博弈数的极大—极小法、α―β剪枝技术)完成问题求解;并能熟悉几种重要的不确定推理方法,如确定因子法、主观Bayes 方法、D —S 证据理论等,利用数值分析中常用方法进行正确计算。 3、职业素质要求:结合实战,初步理解和掌握人工智能的相关技术。 二、教学内容、重(难)点、教学要求及学时分配 第一章:人工智能概述(2学时) …… ………………………………………………………………装……订……线…………………………………………………………………………………………………………… …………………………

人工智能课程设计(五子棋)解读

《人工智能导论》课程报告 课题名称:五子棋 姓名: X X 学号:114304xxxx 课题负责人名(学号): X X114304xxxx 同组成员名单(学号、角色): x x1143041325 XXX1143041036 指导教师:张建州 评阅成绩: 评阅意见: 提交报告时间:2014年 1 月 9 日

五子棋 计算机科学与技术专业 学生XXX 指导老师张建州 [摘要]人类之所以不断在进步,是因为我们人类一直不断的在思考,五子棋游戏程序的开发符合人类进步也是促进人类进步的一大动力之一。五子棋游戏程序让人们方便快捷的可以下五子棋,让人们在何时都能通过下棋来提高逻辑思维能力,同时也培养儿童的兴趣以及爱好,让孩子更加聪明。 同时,五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广,让世界各地的人们知道五子棋,玩上五子棋,这已经不是局限。五子棋游戏程序使得越来越多的人喜欢上了五子棋,热爱下五子棋,它是具有很好的带动性的。 关键词:五子棋进步思考

目录 《人工智能导论》课程报告 0 1 引言 (3) 1.1五子棋简介 (3) 1.2 五子棋游戏的发展与现状 (3) 2 研究问题描述 (4) 2.1 问题定义 (4) 2.2 可行性研究 (4) 2.3 需求分析 (5) 2.4 总体设计 (5) 2.5 详细设计 (6) 2.6编码和单元测试 (6) 3 人工智能技术 (6) 4 算法设计 (7) 4.1α-β剪枝算法 (7) 4.2极大极小树 (7) 4.3深度优先搜索(DFS) (8) 4.4静态估值函数 (9) 5 软件设计和实现 (9) 5.1 数据结构定义 (9) 5.2 程序流程图 (17) 6 性能测试 (18) 6.1 程序执行结果 (18) 7 总结 (21) 参考文献 (21)

人工智能例题大纲

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),并给出用这个启发函数产生的搜索树。你能否判别这个启发函数是否满足下界要求?在求出的搜索树中,对所有节点是否满足单调限制?

人工智能深度优先算法课程设计报告

人工智能课程报告 题目: 深 度 优 先 算 法 班级:XXXXXXXXXXX 学号:XXXXXXXXXXX 姓名:XXXXXXXXXXX

【摘要】结合生活中解决搜索问题所常用的思考方法与解题方法,从深度优先探讨了提高程序效率的适用技巧。 【关键词】1搜索顺序;2搜索对象;3搜索优化; 一、深度优先搜索的优化技巧 我们在做事情的时候,经常遇到这类问题——给出约束条件,求一种满足约束条件的方案,这类问题我们叫它“约束满足”问题。对于约束满足问题,我们通常可以从搜索的顺序和搜索的对象入手,进而提高程序的效率。 二、搜索的顺序及对象: 在解决约束满足问题的时候,问题给出的约束条件越强,对于搜索就越有利。之所以深度优先搜索的效率在很大程度上优于穷举,就是因为它在搜索过程中很好的利用了题目中的约束条件进行优化,达到提高程序效率的目的。 显然,在同样的一棵搜索树中,越在接近根接点的位置利用约束条件优化效果就越好。如何在搜索中最大化的利用题目的约束条件为我们提供剪枝的依据,是提高深度优先搜索效率的一个很重要的地方。而不同的搜索顺序和搜索对象就直接影响到我们对于题目约束条件的运用。 三、搜索特点 1.由于深度搜索过程中有保留已扩展节点,则不致于重复构造不必要的子树系统。 2.深度优先搜索并不是以最快的方式搜索到解,因为若目标节点在第i层的某处,必须等到该节点左边所有子树系统搜索完毕之后,才会访问到该节点,因此,搜索效率还取决于目标节点在解答树中的位置。

3.由于要存储所有已被扩展节点,所以需要的内存空间往往比较大。 4.深度优先搜索所求得的是仅仅是目前第一条从起点至目标节点的树枝路径,而不是所有通向目标节点的树枝节点的路径中最短的路径。 5.适用范围:适用于求解一条从初始节点至目标节点的可能路径的试题。若要存储所有解答路径,可以再建立其它空间,用来存储每个已求得的解。若要求得最优解,必须记下达到目前目标的路径和相应的路程值,并与前面已记录的值进行比较,保留其中最优解,等全部搜索完成后,把保留的最优解输出。 四、算法数据结构描述 深度优先搜索时,最关键的是结点扩展(OPEN)表的生成,它是一个栈,用于存放目前搜索到待扩展的结点,当结点到达深度界限或结点不能再扩展时,栈顶结点出栈,放入CLOSE表(存放已扩展节点),继续生成新的结点入栈OPEN 表,直到搜索到目标结点或OPEN栈空为止。 具体算法如下: ①把起始结点S放到非扩展结点OPEN表中(后进先出的堆栈),如果此结点为一目标结点,则得到一个解。 ②如果OPEN为一空表,则搜索失败退出。 ③取OPEN表最前面(栈顶)的结点,并把它放入CLOSED的扩展结点表中,并冠以顺序编号n。 ④如果结点n的深度等于最大深度,则转向2。 ⑤否则,扩展结点n,产生其全部子结点,把它们放入OPEN表的前头(入栈),并配上指向n的返回指针;如果没有后裔,则转向2。 ⑥如果后继结点中有任一个为目标结点,则求得一个解,成功退出;否则,转向2。

A-算法人工智能课程设计

人工智能(A*算法) 一、 A*算法概述 A*算法是到目前为止最快的一种计算最短路径的算法,但它一种‘较优’算法,即它一般只能找到较优解,而非最优解,但由于其高效性,使其在实时系统、人工智能等方面应用极其广泛。 A*算法结合了启发式方法(这种方法通过充分利用图给出的信息来动态地作出决定而使搜索次数大大降低)和形式化方法(这种方法不利用图给出的信息,而仅通过数学的形式分析,如Dijkstra算法)。它通过一个估价函数(Heuristic Function)f(h)来估计图中的当前点p到终点的距离(带权值),并由此决定它的搜索方向,当这条路径失败时,它会尝试其它路径。 因而我们可以发现,A*算法成功与否的关键在于估价函数的正确选择,从理论上说,一个完全正确的估价函数是可以非常迅速地得到问题的正确解答,但一般完全正确的估价函数是得不到的,因而A*算法不能保证它每次都得到正确解答。一个不理想的估价函数可能会使它工作得很慢,甚至会给出错误的解答。 为了提高解答的正确性,我们可以适当地降低估价函数的值,从而使之进行更多的搜索,但这是以降低它的速度为代价的,因而我们可以根据实际对解答的速度和正确性的要求而设计出不同的方案,使之更具弹性。 二、 A*算法分析 众所周知,对图的表示可以采用数组或链表,而且这些表示法也各也优缺点,数组可以方便地实现对其中某个元素的存取,但插入和删除操作却很困难,而链表则利于插入和删除,但对某个特定元素的定位却需借助于搜索。而A*算法则需要快速插入和删除所求得的最优值以及可以对当前结点以下结点的操作,因而数组或链表都显得太通用了,用来实现A*算法会使速度有所降低。要实现这些,可以通过二分树、跳转表等数据结构来实现,我采用的是简单而高效的带优先权的堆栈,经实验表明,一个1000个结点的图,插入而且移动一个排序的链表平均需500次比较和2次移动;未排序的链表平均需1000次比较和2次移动;而堆仅需10次比较和10次移动。需要指出的是,当结点数n大于10,000时,堆将不再是正确的选择,但这足已满足我们一般的要求。

人工智能教学大纲

《人工智能》教学大纲 一、课程概述 1. 课程研究对象和研究内容 人工智能是计算机与自动化学科的一门分支学科。它研究如何用机器来模仿人脑所从事的推理、证明、识别、理解、学习、规划、诊断等智能活动。人工智能是当前科学技术中正在迅速发展,新思想、新观点、新技术不断涌现的一个学科,也是一门涉及数学、计算机科学、控制论、信息论、心理学、哲学等学科的交叉和边缘学科。 《人工智能》(双语)课程的主要目标是为大学本科高年级学生提供有关人工智能理论以及应用所必需的知识和技能;掌握人工智能的基本原理;掌握设计开发智能系统的基本方法。 2. 课程在整个课程体系中的地位 人工智能原理是计算机科学技术类专业的应用学科。前修课程包括:离散数学、数据结构、算法分析与设计等,后续课程:专家系统,知识工程,该课程可以在大学三、四年级开设。 二、课程目标 1.熟练掌握图搜索策略,熟练掌握回溯策略、图搜索策略的过程以及算法(BACKTRACK 以及A*算法),掌握一些典型问题的启发式函数。 2.掌握用命题逻辑、一阶逻辑表示知识的方法,并在此基础上进行推理,熟练掌握归结方法以及归结反驳过程,熟练掌握利用归结反驳方法进行推理。 3.掌握基于贝叶斯规则的不确定性推理,掌握条件概率、独立、条件独立及贝叶斯公式;掌握利用贝叶斯定理检测垃圾邮件的基本方法。 三、课程内容和要求 这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下: 知道———是指对这门学科和教学现象的认知。 理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。 掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。

人工智能课程报告封面

物理与电子工程学院 《人工智能》 课程设计报告 课题名称 专业 班级 学生姓名 学号 指导教师崔明月 成绩 2014年6月18日

题目 摘要: 关键词: 1.引言 正文 结论 参考文献:(文献10篇以上,参考下面的文献列写格式) [1]徐国华,谭民.移动机器人的发展现状及其趋势[J]. 机器人技术与应用, 2001(3):7~14. [2]H.F Durrant Whyte. Where am I? A tutorial on mobile vehicle localization. Industrial Robot, 1994, 21(2):11~16. [3]彭文刚,彭宝林,柳胜.移动机器人导航系统的研究现状与发展趋势[J]. 机电信 息, 2009(36):69~70. [4]高峰, 黄玉美, 林义忠等.自主移动机器人的模糊导航[J]. 西安理工大学 报,2005,21(4):337~341. 一、报告内容: 就下面的一方面或几方面的内容写一篇报告综述,包括目的、意义,基本概念、定义,主要的控制方法以及结果分析等,最后给出小节及自己的学习心得,要有图表,严禁抄袭,如若发现本课程按零分计! 1.模糊控制系统设计 2.神经网络控制系统 3.遗传算法在系统辨识、控制中的应用 4.模糊控制综述 5.神经网络控制综述 注:题目自拟,也可以自选题目。

二、格式与字体要求: 正文开头的每段开头空2个字符,正文小四号字,22磅行距。大小标题加黑,标题后空一行,一级标题三号字,二级标题四号字,三级标题小四号字(不按格式要求做扣分处理)。 封面见前面示例,单面打印。

人工智能课程设计报告-n皇后问题解读

课程:人工智能课程设计报告 班级: 姓名: 学号: 指导教师:赵曼 2015年11月

人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。

人工智能详细教学大纲

《人工智能》详细教学大纲 《人工智能》教学大纲 课程代码:130234 课程性质:专业必修 学分学时数:5/80 适用专业:计算机应用技术 、课程的性质和目的 (一)课程性质 人工智能是计算机科学理论基础研究的重要组成部分,人工智能课程是计算机科学技术专业的 专业拓展选修课。通过本课程的学习使学生了解人工智能的提出、几种智能观、重要研究领域,掌 握人工智能求解方法的特点。掌握人工智能的基本概念、基本方法,会用知识表示方法、推理方法 和机器学习等方法求解简单问题等。 (二)课程目的 1、基本理论要求: 课程介绍人工智能的主要思想和基本技术、方法以及有关问题的入门知识。要求学生了解人工 智能的主要思想和方法。 2、基本技能要求: 学生在较坚实打好的人工智能数学基础(数理逻辑、概率论、模糊理论、数值分析)上,能够 利用这些数学手段对确定性和不确定性的知识完成推理;在理解 础上,应用 Robinson 归结原理进行定理证明;应掌握问题求解( GPS 的状态空间法,能应用几种 a 主要的盲目搜索和启发式搜索算法(宽度优先、深度优先、有代价的搜索、 数的极大一极小法、 — B 剪枝技术)完成问题求解;并能熟悉几种重要的不确定推理方法,如确 定因子法、主观 Bayes 方法、D — S 证据理论等,利用数值分析中常用方法进行正确计算。 3、职业素质要求: 结合实战,初步理解和掌握人工智能的相关技术。 、教学内容、重(难)点、教学要求及学时分配 第一章:人工智能概述(2学时) 1、讲授内容: (1) 人工智能的概念 (2) 人工智能的研究途径和方法 3) 人工智能的分之领域 4) 人工智能的基本技术 5) 人工智能的发展概况 2、教学要求: 了解:研究途径和方法、人工智能的分之领域、基本技术和发展概况。 Herbrand 域概念和Horn 子句的基 A 算法、A*算法、博弈

人工智能课程设计报告

疾病诊断小型专家系统 ——人工智能课程设计报告 智能1001班 傅宝林 0909101217 2013.6.18

1内容提要 此系统采用专家系统的规则库-推理机技术原理,以医学诊断为背景,旨在作出一个简单的辅助诊断专家系统。 系统的框架及界面采用的是Java语言,调用XML里保存的知识库和规则库。 此小型的专家系统以肺结核、哮喘、食管癌、骨折等疾病的诊断为例,展示了一个小型专家系统是如何构建的。

目录 1内容提要 (2) 2目的和意义 (4) 3系统的主要内容和功能 (5) 4设计流程及描述 (6) 5课程设计体会 (21) 6参考文献 (22)

2目的和意义 (1)加深理解专家系统的结构及开发过程。 (2)初步掌握知识获取的基本方法。 (3)掌握产生式规则知识表示方法及其编程实现方法。(4)初步掌握知识库的组建方法。

3系统的主要内容和功能 系统主要以问答的形势询问病情症状,操作者只需要回答YES或NO。当一趟询问完成后,系统会基于以上询问得出的事实推理出最终的诊断结果。 功能见以下截图1、2. 图1 问询界面 图2 诊断结果界面

4设计流程及描述 1)需求分析 本设计需要用高级语言编写框架及调用外部的规则库与知识库。方便起见,用java语言编写框架,用XML文件保存。 2)知识获取与知识表示 知识获取通过医学临床专业的同学及医学诊断专业书籍,确保专家系统的专家性。 知识的表示采用的是xml语言,把事实与规则一条条保存。3)知识库的组建 知识库分事实库和规则库组建。疾病诊断因为有的病有交叉的症状,所以逻辑上,从症状到诊断的过程是对一颗二叉树的搜索,当问题回答的是YES时,就进行深度优先搜索,当回答NO时,就转到兄弟节点。对于无关的疾病,则回到根节点重新对下一颗子树进行搜索。得到一种疾病的确诊就是result,得到这个叶子节点前遍历过的节点组成了reasons. 4)推理机制选择/编制 采用的是问题引导式推理。在规则库里写的其实不是真正的规则。真正的规则蕴含在问题及前提里。为了不让“专家”问无用的问题,每个问题都是以某个问题的答案为前提的。这样组成了内部的因果关系,所以真正的推理规则只与某一趟提问的最后一个问题的答案得出的事实有关。

《人工智能》课程教学大纲

人工智能》课程教学大纲 、课程基本信息 二、课程教学目标 《人工智能》是计算机科学与技术专业的一门专业拓展课,通过本课程的学习使本科生对人工智能的基本内容、基本原理和基本方法有一个比较初步的认识,掌握人工智能的基本概念、基本原理、知识的表示、推理机制和智能问题求解技术。启发学生开发软件的思路,培养学生对相关的智能问题的分析能力,提高学生开发应用软件的能力和水平。 三、教学学时分配

四、教学内容和教学要求 第一章人工智能概述(3 学时) (一)教学要求 1.掌握人工智能的基本概念; 2.理解人工智能的发展状况。 3.理解人工智能的基本技术; 4.了解人工智能的研究途径与方法; 5.了解人工智能的分支领域; (二)教学重点与难点教学重点:人工智能的基本技术。教学难点:三大学派的研究途径与方法。 (三)教学内容 第一节人工智能的基本概念 1.什么是人工智能 2.强人工智能与弱人工智能 3.脑智能和群智能 4.符号智能和计算智能 第二节人工智能发展概况 1.人工智能学科的产生

2.人工智能学科的发展 3.人工智能三大学派 第三节人工智能研究途径与方法 1.人工智能的研究目标 2.人工智能的研究方法 3.人工智能的研究内容 第四节人工智能基本技术 1.推理技术 2.搜索技术 3.知识库技术 4.归纳技术 5.联想技术第五节人工智能的应用 1.难题求解 2.机器定理证明 3.自动程序设计 4.模式识别 5.机器翻译 6.智能管控 7.智能决策 8.智能人机接口 第六节人工智能的影响 1.人工智能对人类的影响 2.人工智能对社会的影响 本章习题要点:对基本概念、技术、方法的理解。 第二章智能程序设计语言(5 学时)(一)教学要求 1.了解常见的几种人工智能程序设计语言;

人工智能实习报告(--)

人工智能 课 程 设 计 报 告 姓名: 班级:191092 学号:2009100 指导老师: 2011年10月

序言 经过近一周的奋战,我终于初步实现了我的“四子棋”游戏。起初,我选择这个游戏是因为它很独特、少有人做,而且我想当然的认为四子比五子少一子,实现起来应该相对简单,但是面对一个个头疼的错误,遭受一次又一次失败的打击,我才发现自己想错了,四子棋人机对战比五子棋更让人纠结。 暑期我和班上两名同学xxx,xx一起完成过五子棋和黑白棋的编程。当时,五子棋我们是参照别人的模板完成的,黑白棋是在透彻研究过五子棋的基础上不断讨论、优化算法最终完成的。现在,他们一个继续做五子棋一个做黑白棋,将其完善作为人工智能的课程设计课题。我只得另陌新路,关注起了四子棋。 界面的搭建以及二人对战的实现只用了我两个晚上的时间,当然我的界面构建的相对简单。二人对战实现关键一步就是输赢判断函数judge()的编写。人机对战整整折腾了自己四五天的时间,我本来对于博弈过程中alpha—beta剪枝算法很理解的,但是具体要自己编程实现时我觉得自己只了解到其皮毛。所以,我不断看五子棋程序、单步跟踪、寻问同学,终于算是把其递归和剪枝过程搞得明明白白。 花了两天完成了alpha—beta剪枝算法我本以为核心都解决了,却不知更让人头疼的是评估函数的确定还有统计当前棋局状况的函数Calculate()的编写。难题终究是可以被客服的,我花了整整一天写完了我的Calculate()函数。 直至10月27日上午我依然没有让机器足够智能,或者说它目前很呆板。我一直在找原因,自己的模块设计算法思路都是对的,请教过同学她也觉得设计思路没有错。现在,我整体的想了一下,觉得应该是我的静态评估函数设计的不够合理,或者说目前的设计方法对于五子棋很合理但是对于规则不同的四子棋就可能存在缺陷。既然目前时间不允许没能实现足够智能,那就只能把这粗略的程序提交。我一定会继续完善、改进算法,重新设计评估函数,争取让机器达到理想的“智能”。

相关文档
最新文档