搜索是人工智能中的一个基本问题
人工智能[第五章状态空间搜索策略]山东大学期末考试知识点复习
第五章状态空间搜索策略搜索是人工智能的一个基本问题,是推理不可分割的一部分。
搜索是求解问题的一种方法,是根据问题的实际情况,按照一定的策略或规则,从知识库中寻找可利用的知识,从而构造出一条使问题获得解决的推理路线的过程。
搜索包含两层含义:一层含义是要找到从初始事实到问题最终答案的一条推理路线;另一层含义是找到的这条路线是时间和空间复杂度最小的求解路线。
搜索可分为盲目搜索和启发式搜索两种。
1.1 盲目搜索策略1.状态空间图的搜索策略为了利用搜索的方法求解问题,首先必须将被求解的问题用某种形式表示出来。
一般情况下,不同的知识表示对应着不同的求解方法。
状态空间表示法是一种用“状态”和“算符”表示问题的方法。
状态空间可由一个三元组表示(S,F,Sg)。
利用搜索方法求解问题的基本思想是:首先将问题的初始状态(即状态空间图中的初始节点)当作当前状态,选择一适当的算符作用于当前状态,生成一组后继状态(或称后继节点),然后检查这组后继状态中有没有目标状态。
如果有,则说明搜索成功,从初始状态到目标状态的一系列算符即是问题的解;若没有,则按照某种控制策略从已生成的状态中再选一个状态作为当前状态,重复上述过程,直到目标状态出现或不再有可供操作的状态及算符时为止。
算法5.1 状态空间图的一般搜索算法①建立一个只含有初始节点S0的搜索图G,把S放入OPEN表中。
②建立CLOSED表,且置为空表。
③判断OPEN表是否为空表,若为空,则问题无解,退出。
④选择OPEN表中的第一个节点,把它从OPEN表移出,并放入CLOSED表中,将此节点记为节点n。
⑤考察节点n是否为目标节点,若是,则问题有解,并成功退出。
问题的解的这条路径得到。
即可从图G中沿着指针从n到S⑥扩展节点n生成一组不是n的祖先的后继节点,并将它们记作集合M,将M中的这些节点作为n的后继节点加入图G中。
⑦对那些未曾在G中出现过的(即未曾在OPEN表上或CLOSED表上出现过的)M中的节点,设置一个指向父节点(即节点n)的指针,并把这些节点加入OPEN 表中;对于已在G中出现过的M中的那些节点,确定是否需要修改指向父节点(n 节点)的指针;对于那些先前已在G中出现并且已在COLSED表中的M中的节点,确定是否需要修改通向它们后继节点的指针。
人工智能-搜索是人工智能中的一个基本问题 精品
这32种状态并非全有意义,除去不合法状态和修道士被野人吃
掉的状态,有意义的状态只有16种:
S0=(3, 3, 1) S1=(3, 2, 1) S2=(3, 1, 1) S3=(2, 2, 1) S4=(1, 1, 1) S5=(0, 3, 1) S6=(0, 2, 1) S7=(0, 1, 1) S8=(3, 2, 0) S9=(3, 1, 0) S10=(3, 0, 0) S11=(2, 2, 0) S12=(1, 1,0) S13=(0, 2, 0) S14=(0, 1, 0) S15=(0, 0, 0) 有了这些状态,还需要考虑可进行的操作。
描述方法; 然后从某个初始状态出发,每次使用一个“操作”,
递增地建立起操作序列,直到达到目标状态为止; 此时,由初始状态到目标状态所使用的算符序列就是
该问题的一个解。
5
4.1.2 状态空间法
3. 状态空间的例子(1/11)
例4.1 二阶梵塔问题。设有三根钢针,它们的编号分别是 1号、2号和3号。在初始情况下,1号钢针上穿有A、B两个 金片,A比B小,A位于B的上面。要求把这两个金片全部移 到另一根钢针上,而且规定每次只能移动一个金片,任何时 刻都不能使大的位于小的上面。
8
(1,1)
A(1,2) (2,1) B(1,3) (2,3) A(2,3)
A(1,3)
(3,1) B(1,2) (3,2) A(3,2)
(3,3)
(1,3)
(1,2)
(2,2)
二阶梵塔的状态空间图
从初始节点(1, 1)到目标节点(2, 2)及(3, 3)的任何一条路径都是问题的一 个解。其中,最短的路径长度是3,它由3个操作组成。例如,从 (1, 1)开始, 通过使用操作A(1, 3)、B(1, 2)及A(3, 2),可到达 (3, 3)。
人工智能及其应用-状态空间的盲目搜索
3
3.2.1 状态空间的盲目搜索
广度优先搜索(2/3)
例3.5 八数码难题。在3×3的方格棋盘上,分别放置了表有数字1、 2、3、4、5、6、7、8的八张牌,初始状态S0,目标状态Sg,如下图 所示。可以使用的操作有
空格左移,空格上移,空格右移,空格下移
即只允许把位于空格左、上、右、下方的牌移入空格。要求应用广度 优先搜索策略寻找从初始状态到目标状态的解路径。
23 4 18 765
27
28 14 3 765
283 14 5 76
283 64
1 75
12 3
12 3
8 7
6
4 5
Sg
78 4 65
283 1 64 75
283 16 754
5
3.2.1 状态空间的盲目搜索
深度优先搜索
深度优先搜索算法和广度优先搜索算法的步骤基本相同,它 们之间的主要差别在于Open表中的节点排序不同。在深度优先 搜索算法中,最后进人Open表的节点总是排在最前面,即后生 成的节点先扩展。
个子节点设置指向父节点的指针。按如下公式: g(ni)=g (n) +c (n , ni) i=1,2,...
计算各子结点的代价,并根据各子结点的代价对Open表中的全部结点按由小到大的 顺序排序。然后转第(2)步。
8
3.2.2 代价树的盲目搜索
代价树的代价及广度优先搜索(2/2)
例3.6 城市交通问题。设有5个城市,它们之间的交通线路如左图所示,图中的数 字表示两个城市之间的交通费用,即代价。用代价树的广度优先搜索,求从A市出 发到E市,费用最小的交通路线。
搜索算法 (1)把初始节点S0放入Open表中; (2)如果Open表为空,则问题无解,失败退出; (3)把Open表的第一个节点取出放入Closed表,并记该节点为n; (4)考察n是否为目标节点。若是,则得到问题的解,成功退出; (5)若节点n不可扩展,则转第(2)步; (6)扩展节点n,将其子节点放入Open表的尾部,并为每一个子节
人工智能第7章搜索策略(12-09)
第七章搜索策略搜索是人工智能中的一个基本问题,是推理不可分割的一部分,它直接矢系到智能系统的性能与运行效率,因而尼尔逊把它列入人工智能研究的四个核心问题之一。
第七章搜索策略•7 • "I基本概念・73与/或图的搜索第略♦7」博弈树a索24第七章搜索策略]• 7.1吐木概念・7.2欢态空{11册搜宓览术• 73 I 刀或图的牠索策略X 7.1. 1什么是搜索根据问题的实际情况不断寻找可利用的知识,从而构造一条代价较少的推理路线,从而使问题匮8 满得到解决的过程称为搜索。
,7」.1什么最搜索 ■ 7 |二状念I 间灰小 > 7J-3 U 咸 THJDidJ.«七章授索彙昭3茎本播念搜索分为盲目搜索利启发式搜索°肓仔如(或称非启发式搜索)是按预定的控制策略进 行搜索,在搜索过程中获得的中间信息不用来改进搜索策 略。
启笈式掇转(或称非盲目搜索)是在搜索中加入了与 问题有矢的启发性信息•用以指导搜索朝着最有希望的方 向前进,加速问题的求解过程井且找到最优解。
-7.1.2状态图表示法K 什么是状态图例题7.1设仆二个钱币,氏初始状态为(反、正、反),欲得的 目标状态为(正、正、正)或(反•反、反)。
目标状态问题是允许每次只能且必须H 转一个钱币,连翻三次, 问能否达到目标状态?初始状态/④止®®®®®®®【解】要求解这个问题■可通过引入一个3维变量将问题表示出来。
设3维变量为:其中:qi=O表示正,qjT表示反(iT,2,3)共有八种组合:Qo=( O3O5O) Q1 ={ 0,0,1)□2= (0,150) □3=(0,1,1)€>4=( 1)0,0)八5= (1 >0,1)Q6 = (lJ5O)Q7={1JJ)每个组合就视为一个芳点。
初始状态为Q5,目表状态为Q济Q?810dJ 图可得解有7个,a ah, aha ,haa , hbh, hcc . ebc , ccb其中:“表示a 的变化.b 表示蚯的变化,C 表示Cb 的变化•-7.1.2状态图表不法把这种描述得到的有向图称为状态(空间)图. 其屮的节点代表一种格局(或称为状态)•而两节点之 间的连线表示两节点之间的联系•它可视为某种操作、规 则、变换等。
状态空间的搜索策略
扩展:用合适算符对一个节点 扩展 : 进行操作,生成一组子节点。 进行操作,生成一组子节点。 存放刚生成的节点。 存放刚生成的节点。 不同搜索策略, 节点在OPEN 不同搜索策略 , 节点在 OPEN 表中的排列顺序不同。 表中的排列顺序不同。
COLSE表 COLSE表 编号 状态节点 父节点 OPEN表 OPEN表 状态节点 父节点
当搜索树不再有末被扩展的端节点时, 表为空, 当搜索树不再有末被扩展的端节点时,即OPEN表为空, 表为空 搜索过程失败,从初始节点达不到目标节点。 搜索过程失败,从初始节点达不到目标节点。一般搜索过程的几点说明
4. 步骤⑥的说明 步骤⑥ 一个节点经一个算符操作通常指生成一个子节点。 一个节点经一个算符操作通常指生成一个子节点。 由于适用于一个节点的算符可能有多个, 由于适用于一个节点的算符可能有多个 , 此时就会 生成一组子节点。 生成一组子节点。 判断子节点是否是当前扩展节点的父节点、 判断子节点是否是当前扩展节点的父节点 、 祖父节 点等,若是,则删除。 点等,若是,则删除。 余下的子节点记做集合M,加入图 中 余下的子节点记做集合 ,加入图G中。 扩展节点时,生成该节点的所有后继节点。 扩展节点时,生成该节点的所有后继节点。
CLOSED: CLOSED:已扩展节点表
存放将扩展或已扩展节点。 存放将扩展或已扩展节点。
一般搜索过程算法流程
建立只含有初始节点S的搜索图G, 放到OPEN表中; 表中; ① 建立只含有初始节点 的搜索图 ,把S放到 放到 表中 建立CLOSED表,其初始值为空表; ② 建立 表 其初始值为空表; 表是空表, ③ 若OPEN表是空表,则失败退出; 表是空表 则失败退出; ④ 选择 选择OPEN表中第一个节点,把它从 表中第一个节点, 表中第一个节点 把它从OPEN表移出并放进 表移出并放进 CLOSED表中,称此节点为节点 ; 表中, 表中 称此节点为节点n; 为目标节点, ⑤ 若n为目标节点,则有解并成功退出,解是追踪图 中沿 为目标节点 则有解并成功退出,解是追踪图G中沿 指针从 到 这条路径得到 指针在第⑦步中设置) 这条路径得到( 指针从n到S这条路径得到(指针在第⑦步中设置); 扩展n,生成不是n的祖先的那些后继节点的集合 的祖先的那些后继节点的集合M, ⑥ 扩展 , 生成不是 的祖先的那些后继节点的集合 , 把 M的这些成员作为 的后继节点添入图 中; 的这些成员作为n的后继节点添入图 的这些成员作为 的后继节点添入图G中
机器人足球名词解释
名词解释1.人工智能:是机器的智能行为,如判断、推理、证明、识别、感知、理解、通信、设计、思考、规划、学习和问题求解等思维活动。
2.机器人:是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如:感知能力(获取环境信息和知识的能力)、执行能力(移动和操作物质对象的能力)、适应能力(完成不同任务的可编程能力)、自主能力(独立或人机协作运行的能力)。
总之:是有一定感知、思考能力,能行动的机器。
3.数据:是信息的载体和表示4.信息:是数据在特定场合下的含义,或数据的语义,是对客观事物的一般性描述5.知识是对信息进行加工所形成的对客观世界规律性的认识。
①是经过精简、塑造、解释、选择和转换的信息②是由特定领域的描述、关系和过程组成。
6.知识表示:是对知识的一种描述,或者说是将知识编码为一组计算机可以接受的数据结构的过程。
衡量标准:可实现性、表示能力、可利用性、可组织性、可维护性、自然性7.事实:可看作是一个断言。
常用三元组表示8.规则:描述事物间的因果关系。
规则的产生式表示形式称为产生式规则,简称规则,或产生式9.产生式系统:把一组产生式放在一起,并让它们相互配合,协同作用以求解问题的系统称为产生式系统。
基本结构包括三个部分:综合数据库(global database)、规则库(set of rules)、控制系统(control system)。
10.综合数据库:也称事实库,存放已知的事实和推导出的中间事实;11.规则库:存放所有规则的集合,这些规则描述了问题领域中的一般性知识。
12.框架理论:人们对现实世界中各种事物的认识都是以一种类似于框架的结构存储在记忆中的。
当遇到一个新事物时,就从记忆中找到一个合适的框架,并根据其细节加以修改、补充,从而形成对这个新事物的认识。
人们不可能把过去的经验全部存放在脑子里,而只是以一种通用的数据形式把它们存储起来,当新情况发生时,只要把新的数据加入到该通用的数据结构中便可以形成一个具体的实体,这样通用的数据结构称为框架。
AI第1-2章--搜索问题
开始 把S0放入OPEN表 OPEN为空表?
否 是
失败
把第一个节点(n)从 OPEN表移至CLOSED表 n为目标节点?
否 是
成功
把n的后继节点放入OPEN表, 提供返回节点n的指针 重排OPEN表 重排OPEN表
4.1 状态图搜索
搜索策略
对于状态图搜索,已经提出了许多策略, 它们大体可分为盲目搜索 启发式搜索 盲目搜索和启发式搜索 盲目搜索 启发式搜索两大类。
启发式搜索算法
3) A算法---一种典型的启发式搜索算法
h(x):节点x 目标节点S h(x):节点x与目标节点Sg接近程度的一种函数 g(x): 初始节点 初始节点S g(x):从初始节点 0到节点x付出的代价; 估价函数f(x) f(x)=g(x)+h(x) 即估价函数f(x)是从初始节点S0到达节点x处付出的代价与节 点x到达目标节点Sg的接近程度估计值之总和。 有时估价函数还可以表示为 f(x)=d(x)+h(x)
23 8 1 3 2 4 7 6 5
2 8 3 7 4 6 1 5
2 8 3 7 1 4 6 5
1 2 3 8 4 7 6 5
1 2 3 3 7 8 4 6 5 5
图1 八数码问题的广度优先搜索
图1 八数码问题的全局择优搜索
启发式搜索算法
2) 局部择优搜索 局部择优搜索与全局择优搜索的区别是,扩展节点 N后仅对N 的子节点按启发函数值大小以升序排序 仅对N 仅对 的子节点按启发函数值大小以升序排序,再 将它们依次放入OPEN表的首部。故算法从略。
4.1 状态图搜索 盲目搜索:
又称穷举式搜索,是一种无信息搜索方式。在搜索过程中,只按预 先规定的搜索控制策略进行搜索,而没有任何中间信息来改变这 些控制策略。带有盲目性.效率不高,只用于解决比较简单的问 题。 主要分为广度优先 深度优先两种搜索方式。这两种方式也是最 广度优先和深度优先 广度优先 深度优先 基本的树式搜索策略,其他搜索策略都是建立在它们之上的。下 面先介绍广度优先搜索。
AI第3章-确定性推理
③ 对那些先前已在G中出现过,并已经扩展了的M成员,确定是否 需要修改其若发生第③种情况,除了需要确定该子节点指向父节点 的指针外,还需要确定其后继节点指向父节点的指针。 其依据也是由原始节点到该节点的路径上的代价。 ⑸ 在搜索图中,除初始节点外,任意一个节点都含有且只 含有一个指向其父节点的指针。因此,由所有节点及其 指向父节点的指针所构成的集合是一棵树,称为搜索树。
① 按是否使用启发式信息可分为:
◇
盲目搜索
◇
启发式搜索
② 按问题的表示方式可分为:
◇
状态空间搜索
◇
与或树搜索
⑵、推理策略 包括推理方向控制、求解、限制、冲突消解等策略。 推理方向控制策略:用于确定推理的控制方向,可分为正向推理、
逆向推理、混合推理。
求解策略:指仅求一个解,还是求所有解或最优解等。 限制策略:指对推理的深度、宽度、时间、空间等进行的限制。 冲突消解策略:当推理过程有多条知识可用时,如何从多条可用
3.1 图搜索策略(GraphSearch)
图搜索控制可看成是一种在图中寻找路径的方法。 初始节点和目标节点分别代表初始数据库和满足终
止条件的目标数据库。
求得将一个数据库变换为另一数据库的规则序列问题, 等价于求得图中的一条路径问题。
1、图搜索的一般过程
⑴ 将初始节点S放入未扩展节点表OPEN表,并建立当前仅包含S的图G;
◇
◇
1、什么是推理
所谓推理,就是按照某种策略,由已知判断,推出另一
个判断的思维过程。 人工智能中,推理是由程序实现的,称之为推理机。 智能系统的推理过程实际上就是一种思维过程。 按照推理过程所用知识的确定与否,推理可分为:
◇ ◇
确定性推理(第3章) 不确定性推理(第4章)
使用Visual Studio C# 2008编程实现八数码游戏
}
else
{
inter = listOpenTemp[j, 0];
listOpenTemp[j, i] = inter;
listOpenTemp[j, 0] = 0;
}
}
if (j == 2)
{
inter = listOpenTemp[j, 8];
图2八数码问题宽度优先搜索过程
图2给出了搜索到节点12时,整个TreeNodes表的节点情况。然后继续搜索节点13,根据算法过程,直到发现目标节点结束。这样的搜索过程,就是宽度优先搜索算法。最坏情况下,该算法将搜索整个状态空间,即搜索9!/2=181440个节点。但从图2可以看出,只要从根节点到目标节点构建一个路径,则该路径一定是最短的一条解路径。
八数码难题一般描述:在3×3的方格棋盘上,分别放置标有数字1、2、3、4、5、6、7、8的八张牌,第九张牌不标数字,记为空格,给定一种初始状态和目标状态,通过移动空格,使得棋盘从初始状态向目标状态转换(其中操作空格可用的操作有:左移、上移、右移、下移,但不能移出棋盘之外),通过搜索策略寻找从初始状态到目标状态的解路径。
Visual Studio 2008中的C#代码编辑器提供了语句结束和快速信息功能,以支持C# 3.0中的下列新语言构造:
隐式类型的局部变量
查询表达式
扩展方法
对象/集合初始值设ห้องสมุดไป่ตู้项
匿名类型
Lambda表达式
分部方法
C#语言简单易学,C#3.0语言和编译器引入了多种新的语言功能,为快速开发实现八数码问题的BFS算法提供了方便。
{
搜索策略搜索是人工智能中的一个基本问题是推理
(1)分解:“与”树
把一个复杂问题分解为若干个较为简单的子问题,然后对每个子问 题分别进行求解,最后把各子问题的解复合起来就得到了原问题的解。 这是“与”的问题。 P1, P2, P3 为子节点,子问题对应子节点。 P为“与”节点,只有当三个子问题都有解时,P才可解。 如图所示,称为“与”树。 P1
A B C
A B C
首先进行问题分析:
(1) 为了把三个金片全部移到3号针上,必须先把金片C移到3号针上。 (2) 为了移金片C,必须先把金片A及B移到2号针上。 (3) 当把金片c移到3号针上后,就可把A,B从2号移到3号针上,这样就可完成问题的求解。 由此分析,得到了原问题的三个子问题: (1)把金片A及B移到2号针的双金片问题。
(2)把金片C移到3号针的单金片问题。
(3)把金片A及B移到3号针的双金片问题。 其中,子问题(1)与子问题(3)又分别可分解为三个子问题。
为了用与/或树把问题的分解过程表示出来,先要定义问题的形式化表示方法。
设仍用状态表示问题在任一时刻的状况; 用三元组 (i,j,k) 表示状态:i代表金片C所在的钢针号; j代表金片B所在的钢针号; k代表金片A所在的钢针号。 用“”表示状态的变换; 这样原始问题就可表示为: (1, 1, 1) (3,3,3) (1,1,1) (3,3,3) 此图共有七个终止节点, 对应于七个本原问题,它 们是通过“分解”得到的。 (3,2,2) (3,3,3)
• 另外,可能存在多条线路都可实现对问题的求解,这就又出现 按哪一条线路进行求解以获得较高的运行效率的问题。
像这样根据问题的实际情况不断寻找可利用的知识,从而构造一条代价较少 的推理路线,使问题得到圆满解决的过程称为搜索。
2. 搜索分类
禁忌搜索算法
禁忌搜索算法2009210042 李同玲运筹学与控制论搜索是人工智能的一个基本问题,一个问题的求解过程就是搜索。
人工智能在各应用领域中,被广泛的使用。
现在,搜索技术渗透在各种人工智能系统中,可以说没有哪一种人工智能的应用不用搜索方法。
禁忌搜索算法(Tabu Search或Taboo Search,简称TS)的思想最早由Glover (美国工程院院士,科罗拉多大学教授)在1977年提出,它是对局部邻域搜索的一种扩展,是一种全局邻域搜索算法,是人工智能的一种体现,是一种全局逐步寻优算法,是对人类智力过程的一种模拟。
TS算法通过引入一个灵活的存储结构和相应的禁忌准则来避免迂回搜索,并通过藐视准则来赦免一些被禁忌的优良状态,进而保证多样化的有效探索以最终实现全局优化。
迄今为止,TS算法在组合优化、生产调度、机器学习、电路设计和神经网络等领域取得了很大的成功,近年来又在函数全局优化方面得到较多的研究,并大有发展的趋势。
1.1引言1.1.1局部邻域搜索局部邻域搜索是基于贪婪思想持续地在当前的邻域中进行搜索,虽然算法通用易实现,且容易理解,但其搜索性能完全依赖于邻域结构和初始解,尤其容易陷入局部极小而无法保证全局优化性。
局部搜索的算法可以描述为:1、 选定一个初始可行解:0x ;记录当前最优解0best x x =,()best T N x =;2、 当\best T x =∅时,或满足其他停止运算准则时,输出计算结果,停止运算;否则,从T 中选一集合S ,得到S 中的最好解now x ;若()()now best f x f x <,则best now x x =,()best T N x =;否则,\T T S =;重复2,继续搜索这种邻域搜索方法容易实现理解,容易实现,而且具有很好的通用性,但是搜索结果完全依赖于初始解和邻域的结构,而且只能搜索到局部最优解。
为了实现全局搜索,禁忌搜索采用允许接受劣解来逃离局部最优解。
人工智能的搜索方式什么是搜索
人工智能的搜索方式什么是搜索搜索是人工智能领域的一个重要问题。
它类似于传统计算机程序中的查找,但远比查找复杂得多。
传统程序一般解决的问题都是结构化的,结构良好的问题算法简单而容易实现。
但人工智能所要解决的问题大部分是非结构化或结构不良的问题,对这样的问题很难找到成熟的求解算法,而只能是一步步地摸索前进。
就像是甲、乙两个不同的网络,甲网络中的某一台计算机A要想找到乙网络中的数据。
乙网络位于广域网中,A的目标就是要找到乙网络(实际上就是找到甲主路由器的IP),但是A不知道目标的具体位置,只能试探着去找。
像这样摸索着前进,不断搜索前进方向的过程称为搜索。
从理论上讲,只要乙不犯规(不会关闭设备),A终究是会找到乙的(当然这必须是在甲、乙本来是可以互通的基础上)。
当然,A找到乙所需的时间是无法预测的。
如果A以前就访问过乙网络上的某台主机,在找的过程中,可以得到路由器中更新的路由表的支持,很快会找对了方向,可能花费的时间就会少些。
相反,也有可能A找遍了所有的地方,最后才找到乙(极端情况)。
搜索,通常可分为盲目搜索和启发式搜索。
盲目搜索是按预定的控制策略进行,在搜索过程中获得的中间信息不用来改进控制策略。
这在复杂网络中的路由选择会经常用到。
广域网中的动态路由协议,为了学习相邻路由器的路由,为了确定最短路径,总是主动地去搜索相邻的路由设备。
由于路由选择总是按预先规定的方式进行,未能考虑到环形结构或不可到达情况,因此效率不高,具有盲目性,往往会因此占去不少的网络带宽。
启发式搜索是在搜索过程中根据问题的特点,加入一些具有启发性的信息,如从上一级路由器中找到相应的路由表来确定下一步搜索的路线,加速问题的求解过程。
显然,启发式搜索的效率比盲目搜索要高,但由于启发式搜索需要与网络本身特性有关的信息,而这对非常复杂的网络是比较困难的,因此盲目搜索在目前的应用中仍然占据着统治地位。
而盲目搜索中最行之有效、应用最广泛的搜索策略就是:宽度优先搜索和深度优先搜索。
人工智能的主要内容和方法.doc
人工智能的主要内容和方法人工智能( Artificial Intelligence,简称 AI )是 50 年代兴起的一门新兴边缘学科,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能),也被认为是二十一世纪三大尖端技术之一(基因工程、纳米科学、人工智能)。
广义的讲,人工智能是关于人造物的智能行为,而智能行为包括知觉、推理、学习、交流和在复杂环境中的行为。
人工智能的一个长期目标是发明出可以像人类一样或能更好地完成以上行为的机器;另一个目标是理解这种智能行为是否存在于机器、人类或其他动物中。
目前能够用来研究人工智能的主要物质手段以及能够实现人工智能技术的机器就是计算机 , 人工智能的发展历史是和计算机科学与技术的发展史联系在一起的。
除了计算机科学以外 , 人工智能还涉及信息论、控制论、自动化、仿生学、生物学、心理学、数理逻辑、语言学、医学和哲学等多门学科。
一、 AI 的主要内容人工智能研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。
知识表示是人工智能的基本问题之一,推理和搜索都与表示方法密切相关。
常用的知识表示方法有:逻辑表示法、产生式表示法、语义网络表示法和框架表示法等。
常识,自然为人们所关注,已提出多种方法,如非单调推理、定性推理就是从不同角度来表达常识和处理常识的。
问题求解中的自动推理是知识的使用过程,由于有多种知识表示方法,相应地有多种推理方法。
推理过程一般可分为演绎推理和非演绎推理。
谓词逻辑是演绎推理的基础。
结构化表示下的继承性能推理是非演绎性的。
由于知识处理的需要,近几年来提出了多种非演绎的推理方法,如连接机制推理、类比推理、基于示例的推理、反绎推理和受限推理等。
搜索是人工智能的一种问题求解方法,搜索策略决定着问题求解的一个推理步骤中知识被使用的优先关系。
可分为无信息导引的盲目搜索和利用经验知识导引的启发式搜索。
智能搜索技术
解。其中,最短的路径长度是3,它由3个操作组成。例如,从 (1, 1)开始,
通过使用操作A13、B12及A32,可到达 (3, 3)。
8
4.1.2 状态空间问题求解方法
3. 状态空间的例子(5/11)
例4.2 修道士(Missionaries)和野人(Cannibals)问题(简称M-C问题)。
设在河的一岸有3个野人、3个修道士和1条船,修道士想用这条船把所有的 人运到河对岸,但受以下条件的约束:
S1=(3, 2, 1) S5=(0, 3, 1) S9=(3, 1, 0) S13=(0, 2, 0)
3. 状态空间的例子(6/11)
初始状态
目标状态
左 岸
(3,3,1)
右 岸
(0,0,0)
10
4.1.2 状态空间问题求解方法
3. 状态空间的例子(7/11)
有效状态
在32种状中,除去不合法和修道士被野人吃掉的状态,有效状态只16种:
S0=(3, 3, 1) S4=(1, 1, 1) S8=(3, 2, 0) S12=(1, 1,0) 过河操作
状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在 状态空间图中,节点表示问题的状态,有向边表示操作。
3
4.1.2 状态空间问题求解方法
2. 状态空间问题求解
状态空间法求解问题的基本过程: 首先,为问题选择适当的“状态”及“操作”的形式化描述方法; 然后,从某个初始状态出发,每次使用一个“操作”,递增地建立起操作
类型 基于随机算法
演化机制 免疫优化 种群寻优 统计模型
遗传算法 免疫算法 蚁群算法 粒群算法
蒙特卡罗算法
其它方法
爬山搜索算法 模拟退火算法
[精华]人工智能-真空吸尘器问题
真空吸尘器问题一实验目的在人工智能领域,有一个重要部分,是研究智能化智能体的。
智能体可以被视为通过传感器感知所处环境并通过执行器对该环境产生作用的东西。
本实验分析真空吸尘器这个简单反射型智能体、环境以及它们之间的关系。
验证该吸尘器是否是理性智能体(行为表现尽可能好的智能体)。
二实验内容1. 智能体的描述智能体可以被视为通过传感器感知所处环境并通过执行器对该环境产生作用的东西。
人类智能体具有眼睛、耳朵和其它器官作为传感器,也具有手、腿和身体的其它部位作为执行器。
机器人智能体则可能用摄像头、红歪测距仪作为传感器,各种马达作为执行器。
简单放射型智能体直接对感知信息做出反应。
图2—1 智能体通过传感器和执行器与环境进行交互2.真空吸尘器的描述真空吸尘器属于简单智能体的一种,真空吸尘器世界只有两个地点:A地点和B地点。
一个吸尘器智能体可以感知它处于哪个方格中,以及该地点是否有灰尘。
它可以选择向左移动,向右移动,吸取灰尘,或者什么也不做。
机器人所处位置有两种选择,要么在A,要么在B。
A、B两地点的状态分别有两种,干净或脏。
A、B两地具体状态及吸尘器的行动如下表:表2—1 A、B两地具体状态及吸尘器的行动3.开发环境所使用的软件:VC++6.0程序说明:在程序中吸尘器所处位置用1、2表示,分别表示A、B两地。
A、B两地的状态用0、1表示,分别表示干净不需要清扫、脏需要清扫。
通过吸尘器对环境的判断得知A、B两地干净与否,再来回移动进行清扫。
4.吸尘器程序流程图图2—2 程序流程图三实验结果分析图3—1 状态一图3—1 状态二图3—1 状态三图3—1 状态四图3—1 状态五图3—1 状态六图3—1 状态七图3—1 状态八四收获与心得本实验通过对简单智能体——真空吸尘器的研究,使我加深了对智能体、环境、性能度量等概念的理解。
通过传感器的感知可以得到环境的感知信息,智能体通过感知到的信息进行判断,再通过执行器行动,然后引起状态的变化,再反馈给环境。
人工智能搜索
人工智能搜索技术初探【摘要】本文简要概述了人工智能搜索技术,分别对盲目搜索和启发式搜索做了阐述,并且用深度优先搜索初步分析了野人和牧师过河问题,用A*算法初步分析了九宫图问题。
【关键词】搜索技术;盲目搜索;启发式搜索;宽度优先搜索;深度优先搜索;野人与牧师;A*算法;九宫图;搜索技术是人工智能的基本技术之一,在人工智能各应用领域中被广泛地使用。
早期的人工智能程序与搜索技术联系更为密切,几乎所有早期的人工智能程序都是以搜索技术为基础的。
例如,A.Newell和H.A.Simon等人编写的LT(Logic Theorist)程序。
现在,搜索技术渗透在各种人工智能系统中,可以说没有哪一种人工智能系统应用不到搜索方法。
在专家系统、自然语言理解、自动程序设计、模式识别、机器人学、信息检索和博弈等领域都广泛使用搜索技术。
人工智能问题,广义地说都可以看作是一个问题求解过程,因此问题求解是人工智能的核心问题,通常是通过在某个可能的解答空间中寻找一个解来进行的。
在问题求解过程中,人们所面临的大多数显示问题往往没有确定性的算法,通常需要用搜索算法来解决。
目标和达到目标的一组方法称为问题,搜索就是探究这些方法能够做什么的过程。
问题求解一般需要考虑两个基本问题:首先是使用合适的状态空间表示问题,其次是测试该状态空间中目标状态是否出现。
一般搜索可以根据是否使用启发式信息分为盲目搜索和启发式搜索。
一:盲目搜索盲目搜索又叫非启发式搜索,是一种无信息搜索,一般只使用求解比较简单的问题。
宽度优先搜索、深度优先搜索、分支有限搜索、迭代加深搜索都是盲目搜索。
1.宽度优先搜索宽度优先搜索算法(又称广度优先搜索算法)是最简单的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。
Dijksta单源最短路径算法和Prim 最小生成树算法都采用了与宽度优先搜索类似的思想。
宽度优先搜索的核心思想是:从初始结点开始,应用算符生成第一层结点,检查目标结点是否在这些后继结点中,若没有,再用产生式规则将所有第一层的结点逐一扩展,得到第二层结点,并逐一检查第二层结点中是否包含目标结点。
[指南]深度优先搜索的基本思想
深度优先搜索的基本思想搜索是人工智能中的一种基本方法,也是信息学竞赛选手所必须熟练掌握的一种方法,它最适合于设计基于一组生成规则集的问题求解任务,每个新的状态的生成均可使问题求解更接近于目标状态,搜索路径将由实际选用的生成规则的序列构成。
我们在建立一个搜索算法的时候.首要的问题不外乎两个:以什么作为状态?这些状态之间又有什么样的关系?我们就简单的说一下深度优先搜索的基本思想吧。
如算法名称那样,深度优先搜索所遵循的搜索策略是尽可能“深”地搜索树。
在深度优先搜索中,对于当前发现的结点,如果它还存在以此结点为起点而未探测到的边,就沿此边继续搜索下去,若当结点的所有边都己被探寻过.将回溯到当前结点的父结点,继续上述的搜索过程直到所有结点都被探寻为止。
深度优先搜索在树的遍历中也称作树的先序遍历。
对于树而言,深度优先搜索的思路可以描述为:(1)将根结点置为出发结点。
(2)访问该出发结点.(3)依次将出发结点的子结点置为新的出发结点.进行深度优先遍历(执行(2))。
(4)退回上一层的出发结点。
深度优先搜索的具体编程可用递归过程或模拟递归来实现。
他们各有各的优缺点。
递归形式的程序符合思维习惯.编写起来较容易.但由于递归过程的调用借助较慢的系统栈空间传递参数和存放局部变量,故降低了执行效率。
模拟递归使用数组存放堆栈数据,在管理指针和每层选择决策上不如递归容易编程.但一旦熟悉了程序框架,调试起来要比递归程序方便,由于数组一般使用静态内存.访问速度较快,执行效率也较高.经典例子、找零钱(money.pas)问题描述:有2n个人排队购一件价为0.5元的商品,其中一半人拿一张1元人民币,另一半人拿一张0.5元的人民币,要使售货员在售货中,不发生找钱困难,问这2n个人应该如何排队?找出所有排队的方案。
(售货员一开始就没有准备零钱)输入:输入文件money.in仅一个数据n输出:输出文件money.out若干行,每行一种排队方案,每种方案前加序号No.i,每种方案0表示持0.5元钞票的人,1表示持1元钞票的人样例:money.in3money.out NO.1:000111 No.2:001011 No.3:001101 No.4:010011 No.5:010101。
围棋与人工智能
文章编号:1002-9826(2005)06-0135-04中国体育科技2005年(第41卷)第6期CHINA S PORT SC IE NCE AND TEC HNOL OGY Vol .41,No .6,135-138,2005.围棋与人工智能Go Game and Artificial Intelligence师 军SHI Jun摘 要:围棋博弈是人类智慧的高度体现,现代人工智能已将它作为重要的研究对象。
介绍了围棋博弈中所涉及的人工智能领域,从启发式博弈搜索、机器学习、知识库系统、推理机制、模糊决策、模式识别和认知科学等多个方面研究了围棋博弈技术与人工智能的关系,并对当前电脑围棋中存在的问题及今后的发展做了有益的探讨。
关键词:围棋;人工智能;知识库;博弈;模糊决策;模式识别Abstract :T he game o f g o highly displayed the wisdo m of human being ,and mo der n art ificial intellig ence reg ar ded it as im po rta nt r esea rch o bject.T his paper made detailed ex planation on r elat ed a reas o f ar tificial intelligence in t he ga me of go such as heurist ic g ame sear ch ,machine learning ,kno wledge bank sy st em,reasoning mechanism,fuzzy decision,patter n reco gnit ion and cog nitive science.Based o n ex isting pr o blems and future development,some beneficial discussio ns w er e made .Key words :go ;ar tif icial intelligence ;knowledge bank ;game sear ch ;f uz z y decision ;p atter n r ecognition中图分类号:G891.3 文献标识码:A收稿日期:2005-04-17; 修订日期:2005-07-15作者简介:师军(1957-),男,河北易县人,副教授,毕业于西北电讯工程学院计算机专业,主要研究方向为人工智能、计算机应用等,T el:(029)85307622,E-mail:sh ijun @sn 。
人工智能的定义
人工智能的定义一、人工智能的定义人工智能(ArtficialIntelligence),英文缩写为AL它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。
人工智能可以对人的意识、思维的信息过程的模拟。
人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。
人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机规觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。
但不同的时代、不同的人对这种“复杂工作”的理解是不同的.2017年12月,人工智能入选“2017年度中国媒体十大流行语”。
二、人工智能的研究内容人工智能的研究是高度技术性和专业的,各分支领域都是深入且各不相通的,因而涉及范围极广。
人工智能学科研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。
1、知识表示是人工智能的基本问题之一,推理和搜索都与表示方法密切相关。
常用的知识表示方法有:逻辑表示法、产生式表示法、语义网络表示法和框架表示法等。
2、常识,自然为人们所关注,已提出多种方法,如非单调推理、定性推理就是从不同角度来表达常识和处理常识的。
3、问题求解中的自创推理是如诞的使用过程,由于有多种和训表示方法,相加地有多种推理法,推理过程一般可分为演驿推理和非演绎推理,由于知识处理的需要,近几年提出了多种非演泽的推理方法,如连接机制推理、类比推理、基于示例的推理、反绎推理和受限推理等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例4.1 二阶梵塔问题。设有三根钢针,它们的编号分别是 1号、2号和3号。在初始情况下,1号钢针上穿有A、B两个 金片,A比B小,A位于B的上面。要求把这两个金片全部移 到另一根钢针上,而且规定每次只能移动一个金片,任何时 刻都不能使大的位于小的上面。 解:设用Sk=(Sk0, Sk1)表示问题的状态,其中,Sk0表示金 片A所在的钢针号,Sk1表示金片B所在的钢针号。全部可能 的问题状态共有以下9种: S0=(1, 1) S1=(1, 2) S2=(1, 3) S3=(2, 1) S4=(2, 2) S5=(2, 3) S6=(3, 1) S7=(3, 2) S8=(3, 3)
6
4.1.2 状态空间法
3. 状态空间的例子(2/11)
问题的初始状态集合为S={S0} 目标状态集合为G={S4, S5} 初始状态S0和目标状态S4、S8如图所示 A B A B
A B
2 3
1
2
3
1
1
2
S8=(3, 3)
3
S0=(1, 1)
S4=(2, 2)
二阶梵塔问题的初始状态和目标状态
7
4.1.2 状态空间法
Grasp (c,c,1,1) 目标状态 猴子摘香蕉问题的状态空间图 解序列为: {Goto(b), Pushbox(c), Climb归约法
1. 问题的分解与等价变换
基本思想 当一问题较复杂时,可通过分解或变换,将其转化为一系列较简 单的子问题,然后通过对这些子问题的求解来实现对原问题的求解。
(3,3)
(1,3)
(1,2)
(2,2)
二阶梵塔的状态空间图
从初始节点(1, 1)到目标节点(2, 2)及(3, 3)的任何一条路径都是问题的一 个解。其中,最短的路径长度是3,它由3个操作组成。例如,从 (1, 1)开始, 通过使用操作A(1, 3)、B(1, 2)及A(3, 2),可到达 (3, 3)。 9
4.1.2 状态空间法
3. 状态空间的例子(5/11)
例4.2 修道士(Missionaries)和野人(Cannibals)问题(简称 M-C问题)。 设在河的一岸有三个野人、三个修道士和一条船,修道士想 用这条船把所有的人运到河对岸,但受以下条件的约束: 一是修道士和野人都会划船,但每次船上至多可载两个人; 二是在河的任一岸,如果野人数目超过修道士数,修道士会 被野人吃掉。 如果野人会服从任何一次过河安排,请规划一个确保修道士 和野人都能过河,且没有修道士被野人吃掉的安全过河计划。
13
4.1.2 状态空间法
3. 状态空间的例子(9/11)
例4.3 猴子摘香蕉问题。在讨论谓词逻辑知识表示时,我们 曾提到过这一问题,现在用状态空间法来解决这一问题。 解:问题的状态可用4元组 (w, x, y, z) 表示。其中: w表示猴子的水平位置; x表示箱子的水平位置; y表示猴子是否在箱子上, 当猴子在箱子上时,y取1, 否则y取0; z表示猴子是否拿到香蕉, 当拿到香蕉时z取1,否则z取 0。
在与/或树中,满足以下三个条件之一的节点为可解节点: ①任何终止节点都是可解节点。 ②对“或”节点,当其子节点中至少有一个为可解节点时,则该或节点 就是可解节点。 ③对“与”节点,只有当其子节点全部为可解节点时,该与节点才是可 解节点。 同样,可用类似的方法定义不可解节点: ①不为终止节点的端节点是不可解节点。 ②对“或”节点,若其全部子节点都为不可解节点,则该或节点是不可 解节点。
4.1.3 问题归约法
2
4.1.1 搜索的含义
适用情况: 不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的 算法可供求解使用。 概念: 依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识, 从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索 搜索的类型 按是否使用启发式信息: 盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得的中间信息并 不改变控制策略。 启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝 着最有希望的方向前进,加速问题的求解过程并找到最优解。 按问题的表示方式: 状态空间搜索:用状态空间法来求解问题所进行的搜索 3 与或树搜索:用问题归约法来求解问题时所进行的搜索
17
4.1.3 问题归约法
2. 问题的与/或树表示
(1)与树 分解
P
P
(2) 或树 等价变换
P1
P2 与树
P3
P1
P2 或树
P3
(3) 与/或树
P P2 P12 P3 P31 P32 P33
18
P1 P12
与/或树
(4) 端节点与终止节点
在与/或树中,没有子节点的节点称为端节点;本原问题所对应的节 点称为终止节点。可见,终止节点一定是端节点,但端节点却不一定是 终止节点。 (5) 可解节点与不可解节点
猴子摘香蕉问题的解
(a,b,0,0) Goto(b) Pushbox(c)
初始状态
Goto(b)
(b,b,0,0)
Climbbox (b ,b,1,0) Pushbox(c)
Pushbox(c)
Climbbox (c,c,1,0)
(c,c,0,0)
Pushbox(a)
(a,a,0,0)
Pushbox(a)
a
c
b
14
所有可能的状态为 S0: (a, b, 0, 0) 初始状态 S1: (b, b, 0, 0) S2: (c, c, 0, 0) S3: (c, c, 1, 0) S4: (c, c, 1, 1) 目标状态 允许的操作为 Goto(u):猴子走到位置u,即 (w, x, 0, 0)→(u, x, 0, 0) Pushbox(v): 猴子推着箱子到水平位置v,即 (x, x, 0, 0)→(v, v, 0, 0) Climbbox: 猴子爬上箱子,即 (x, x, 0, 0)→(x, x, 1, 0) Grasp;猴子拿到香蕉,即 (c, c, 1, 0 )→(c, c, 1, 1) 这个问题的状态空间图如下图所示。不难看出,由初始状 态变为目标状态的操作序列为: {Goto(b), Pushbox(c), Climbbox, Grasp} 15
P
t
t t
解树
20
4.1.3 问题归约法
B(1, 2) B(1, 3) B(2, 1) B(2, 3) B(3, 1) B(3, 2) 根据上述9种可能的状态和12种操作,可构成二阶梵塔问题的 状态空间图,如下图所示。
8
(1,1) A(1,2) (2,1) B(1,3) (2,3) A(2,3) A(1,3) (3,1) B(1,2) (3,2) A(3,2)
③对“与”节点,只要其子节点中有一个为不可解节点,则该与节点是 19 不可解节点。
(6) 解树 由可解节点构成,并且由这些可解 节点可以推出初始节点(它对应着原 始问题)为可解节点的子树为解树。 在解树中一定包含初始节点。 例如,右图给出的与或树中,用红 线表示的子树是一个解树。在该图中, 节点P为原始问题节点,用t标出的节 点是终止节点。根据可解节点的定义, 很容易推出原始问题P为可解节点。 问题归约求解过程就实际上就是生 成解树,即证明原始节点是可解节点 的过程。这一过程涉及到搜索的问题, 对于与/或树的搜索将在后面详细讨 论。
操作的表示: 用符号Pij表示从左岸到右岸的运人操作 用符号Qij表示从右岸到左岸的操作 其中: i表示船上的修道士人数 j表示船上的野人数 操作集 本问题有10种操作可供选择: F={P01, P10, P11, P02, P20,Q01, Q10, Q11, Q02, Q20} 下面以P01和Q01为例来说明这些操作的条件和动作。 操作符号 条件 动作 P01 b=1, m=0或3, c≥1 b=0, c=c-1 Q01 b=0, m=0或3,c≤2 b=1, c=c+1
分解 如果一个问题P可以归约为一组子问题P1,P2,…,Pn,并且只有当所有 子问题Pi都有解时原问题P才有解,任何一个子问题Pi无解都会导致原 问题P无解,则称此种归约为问题的分解。 即分解所得到的子问题的“与”与原问题P等价。 等价变换 如果一个问题P可以归约为一组子问题P1,P2,…,Pn,并且子问题Pi 中只要有一个有解则原问题P就有解,只有当所有子问题Pi都无解时 原问题P才无解,称此种归约为问题的等价变换,简称变换。 即变换所得到的子问题的“或”与原问题P等价。
4.1.2 状态空间法
2. 状态空间问题求解
状态空间法求解问题的基本过程:
首先为问题选择适当的“状态”及“操作”的形式化 描述方法;
然后从某个初始状态出发,每次使用一个“操作”, 递增地建立起操作序列,直到达到目标状态为止; 此时,由初始状态到目标状态所使用的算符序列就是 该问题的一个解。
5
4.1.2 状态空间法
4.1.2 状态空间法
1. 状态空间表示方法 状态(State): 是表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为: Sk={Sk0, Sk1, …} 当对每一个分量都给以确定的值时,就得到了一个具体的状态。 操作(Operator) 也称为算符,它是把问题从一种状态变换为另一种状态的手段。。操作可以 是一个机械步骤,一个运算,一条规则或一个过程。操作可理解为状态集合上的 一个函数,它描述了状态之间的关系。 状态空间(State space) 用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三元 组表示为: (S, F, G) 其中,S为问题的所有初始状态的集合;F为操作的集合;G为目标状态的集合。 状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在状 态空间图中,节点表示问题的状态,有向边表示操作。 4
3. 状态空间的例子(3/11)
操作分别用A(i, j)和B(i, j)表示