在3×3组成的九宫格棋盘上摆有8个将牌,每一个将牌都刻有1~8中的某一个数码。棋盘中留有一个空格,允许其周围的某一个将牌向空格移动。这样,通过移动将牌可以不断改变将牌的布局。
01
九宫格游戏
这种游戏求解的问题是,给定一种初始的将牌布局(称初始状态)和一个目标布局(称目标状态),问如何移动将牌,实现从初始状态到目标状态的转变。
问题的解答其实就是给出一个合法的走步序列。
要用产生式系统求解这个问题,首先必须建立起问题的产生式系统描述,即规定出综合数据库、规则集合及其控制策略。设给定的具体问题如图2-6所示。
图2-6 一个九宫图游戏实例
(1) 综合数据库:这里要选择一种数据结构表示将牌的布局。通常可用来表示综合数据库的数据结构有符号串、向量、集合、数组、树、表格、文件等。对九宫图问题,选用二维数组表示将牌的布局很直观,因此该问题的综合数据库可用如下形式表示。
(Sij),
其中,1≤i、j≤3,Sij∈{0,1,…,8},且Sij互不相等,0表示空格。
这样,每一个具体的矩阵就可表示一个棋局状态。所有可能的状态集合就构成该问题的状态空间。
(2) 规则集合:移动一块将牌就使状态发生转变。改变状态有4种走法:空格左移、空格上移、空格右移、空格下移。这4种走法可用4条产生式规则模拟,应用每条规则都应满足一定的条件。于是规则集可表示如下。
设Sij记矩阵第i行第j列的数码,i0、j0记空格所在的行、列数值,即Si0j0=0,
则if j0-1≥1 then Si0j0 :=Si0(j0-1)
Si0(j0-1):=0;
(Si0j0向左)
if i0-1≥1 then Si0j0 :=S(i0-1)j0
S(i0-1)j0 :=0;
(Si0j0向上)
if j0+1≤3 then Si0j0 :=Si0(j0+1)
Si0(j0+1):=0;
(Si0j0向右)
if i0+1≤3 then Si0j0 :=S(i0+1)j0
S(i0+1)j0 :=0;
(Si0j0向下)
(3) 搜索策略:从规则集中选取规则并作用于状态的一种广义选取函数。确定某一种策略后,以算法的形式给出。在建立产生式系统描述时,还要给出初始状态和目标条件,具体说明所求解的问题。产生式系统中控制策略的作用是从初始状态出发,寻求一个满足一定条件的目标状态。对该问题,初始状态和目标状态可分别表示为
建立了产生式系统描述之后,通过控制策略可求得实现目标的一个走步序列(即规则序列),这就是所谓的问题的解,如走步序列(右、上、上、右、下、下)就是一个解。这个解序列是根据控制系统记住搜索目标过程中用过的所有规则而构造出来的。
一般情况下,问题可能有多个解的序列,但有时会要求得到有某些附加约束条件的解,例如要求步数最少、距离最短等。这个约束条件通常用代价(cost)概括,此问题可叙述为寻找具有最小代价的解。
现在再来看一下人们是如何求解九宫图游戏的。
首先是仔细观察和分析初始的棋局状态,通过思考决定走法之后,就移动某一块将牌,从而改变布局,与此同时还能判定出这个棋局是否达到了目标。如果尚未达到目标状态,则以这个新布局作为当前状态,重复上述过程一直进行下去,直至到达目标状态为止。可以看出,用产生式系统描述和求解这个问题,也是在这个问题空间中去搜索一条从初始状态到达目标状态的路径。这完全可以模拟人们的求解过程,也就是可以把产生式系统作为求解问题思考过程的一种模拟。
关于该问题的讨论,可参见参考文献[10]
02
参考书籍
人工智能(第3版)》
作者:贲可荣、张彦铎
定价:79.90元
ISBN:9787302511984
“十二五”普通高等教育本科国家级规划教材
高等学校计算机教育规划教材
扫码优惠购书
内容简介
人工智能是研究理解和模拟人类智能、智能行为及其规律的一门学科。其主要任务是建立智能信息处理理论,进而设计可以展现某些近似于人类智能行为的计算系统。本书介绍人工智能的理论、方法和技术及其应用,除了讨论那些仍然有用的和有效的基本原理和方法之外,着重阐述一些新的和正在研究的人工智能方法与技术,特别是近期发展起来的方法和技术。此外,用比较多的篇幅论述人工智能的应用,包括互联网智能等新增内容。
本书包括下列内容:
简述人工智能的起源与发展,讨论人工智能的定义、人工智能与计算机的关系以及人工智能的研究和应用领域;
论述知识表示、推理和不确定推理的主要方法,包括谓词逻辑、产生式系统、语义网络、框架、脚本、知识图谱、归结推理、非单调推理、主观Bayes方法、确定性理论、证据理论、模糊逻辑和模糊推理等;
讨论常用搜索原理,如盲目搜索、启发式搜索、min-max搜索、α-β剪枝和约束满足等;并研究一些比较高级的搜索技术,如贪婪局部搜索、局部剪枝搜索、模拟退火算法、遗传算法等;
介绍了分布式人工智能与Agent、计算智能、反向传播神经网络、深度学习、竞争网络、支持向量机等已成为当前研究热点的人工智能技术和方法;
比较详细地分析人工智能的主要应用领域,涉及智能规划、自然语言处理、信息检索、语言翻译、语音识别、计算机视觉、群体智能、机器人等。
本书适用于计算机专业大学高年级和非计算机专业研究生人工智能的教材,也可作为希望深入学习人工智能的科技人员的参考书。
作者简介
贲可荣,海军工程大学教授、博士生导师,中国计算机学会理论计算机科学专委副主任、软件工程专委委员,担任军队人工智能专业组专家。硕士、博士先后师从南京大学莫绍揆先生、国防科技大学陈火旺先生,打下了扎实的理论基础。《计算机科学与探索》执行编委,《海军新军事变革丛书》编委会常务副主任、《人工智能应用丛书》编委会执行副主任。评为教育部骨干教师、首届湖北省优秀研究生导师、海军名师工作室领衔名师、第三届大学教学名师,获军队院校育才奖金奖。
张彦铎,教授,博士生导师,国务院政府特殊津贴获得者。现任武汉工程大学党委常委、副校长,智能机器人湖北省重点实验室主任,国家一流本科专业建设点“智能科学与技术”专业负责人,湖北优秀教学团队“新一代人工智能新工科教学团队”负责人。获全国优秀教育工作者、湖北省师德标兵/优秀共产党员/十大杰出青年等荣誉称号。
本书特色
根据作者近30年人工智能科研与教学经验,边教学边构思;分析国内外知名大学人工智能精品教材及课程教学安排,研究课程体系、教学方法和教材体系建设。
在教学研究的基础上,力求形成“以不变的基本理论与方法为主体,充分反映人工智能技术发展水平,以培养学生具备继续学习能力为目标”的编写思路;在写作上力求做到用作者自己对问题理解的语言进行描述,便于学生的学习和理解;教材定位注意适应国内多数普通高校的实际教学需要。
本书介绍人工智能的理论、方法和技术及其应用,除了讨论那些仍然有用的和有效的基本原理和方法之外,着重阐述一些新的人工智能方法与技术,特别是近期发展起来的方法和技术。此外,用比较多的篇幅论述人工智能的应用,包括知识图谱、深度学习、语音识别、计算机视觉、群体智能等新的应用研究。
注重实践。第2版附录给出的28个人工智能课程大作业,本书以案例及思考题的方式给出。本书附录介绍了人工智能编程语言Python和手写体识别案例。
目录
向上滑动阅览
第1章 绪论
1.1  人工智能的定义与概况  
1.2  人类智能与人工智能
  1.2.1 智能信息处理系统的假设
  1.2.2 人类智能的计算机模拟 
  1.2.3 弱人工智能和强人工智能
1.3  人工智能各学派的认知观
1.4  人工智能的研究与应用领域  
  1.4.1 智能感知   
  1.4.2 智能推理   
  1.4.3 智能学习   
  1.4.4 智能行动   
1.5 人工智能发展展望
  1.5.1 新一轮人工智能发展特征 
  1.5.2 未来40年的人工智能问题
  1.5.3 人工智能鲁棒性和伦理   
  1.5.4 新一代人工智能发展规划 
习题
第2章 知识表示和推理
2.1 概述
  2.1.1 知识和知识表示
  2.1.2 知识-策略-智能
  2.1.3 人工智能对知识表示方法的要求 
  2.1.4 知识的分类   
  2.1.5 知识表示语言问题 
  2.1.6 现代逻辑学的基本研究方法 
2.2 命题逻辑
  2.2.1 语法 
  2.2.2 语义 
  2.2.3 命题演算形式系统PC   
2.3 谓词逻辑
  2.3.1 语法 
  2.3.2 语义 
  2.3.3 谓词逻辑形式系统FC   
  2.3.4 一阶谓词逻辑的应用   
2.4 归结推理
  2.4.1 命题演算中的归结推理 
  2.4.2 谓词演算中的归结推理 
  2.4.3 谓词演算归结反演的合理性和完备性   
  2.4.4 案例:一个基于逻辑的财务顾问
2.5 产生式系统 
  2.5.1 产生式系统的表示 
  2.5.2 案例:九宫图游戏 
  2.5.3 案例:传教士和野人问题   
  2.5.4 产生式系统的控制策略 
2.6 语义网络
  2.6.1 基本命题的语义网络表示
  2.6.2 连接词在语义网络中的表示 
  2.6.3 语义网络的推理
  2.6.4 语义网络表示的特点
2.7 框架
  2.7.1 框架的构成
  2.7.2 框架系统的推理
  2.7.3 框架表示的特点
2.8 脚本 52
  2.8.1 脚本概念 
  2.8.2 案例:饭店脚本
2.9 知识图谱
  2.9.1 知识图谱及其表示 
  2.9.2 百度知识图谱技术方案 
  2.9.3 案例:知识图谱在互联网金融行业中的应用 
2.10 基于知识的系统 
  2.10.1 知识获取
  2.10.2 知识组织
  2.10.3 知识应用
  2.10.4 常识知识和大规模知识处理
  2.10.5 常识推理
  2.10.6 案例:知识图谱应用  
2.11 小结 
习题
第3章  搜索技术
3.1 概述
3.2 盲目搜索方法
3.3 启发式搜索 
  3.3.1 启发性信息和评估函数 
  3.3.2 最好优先搜索算法 
  3.3.3 贪婪最好优先搜索算法 
  3.3.4 A算法和A*算法   
  3.3.5 迭代加深A*算法   
3.4 问题归约和AND-OR图启发式搜索   
  3.4.1 问题归约的描述   
  3.4.2 问题的AND-OR图表示  
  3.4.3 AO*算法  
3.5 博弈
  3.5.1 极大极小过程 
  3.5.2 α-β过程
  3.5.3 效用值估计方法   
3.6 案例分析
  3.6.1 八皇后问题   
  3.6.2 洞穴探宝 
  3.6.3 五子棋   
习题
第4章 高级搜索
4.1 爬山法搜索 
4.2 模拟退火搜索
  4.2.1 模拟退火搜索的基本思想   
  4.2.2 模拟退火算法 
  4.2.3 模拟退火算法关键参数和操作的设计   
4.3 遗传算法
  4.3.1 遗传算法的基本思想   
  4.3.2 遗传算法的基本操作   
4.4 案例分析
  4.4.1 爬山算法求解旅行商问题
  4.4.2 模拟退火算法求解旅行商问题
  4.4.3 遗传算法求解旅行商问题
习题
第5章 不确定知识表示和推理
5.1 概述
  5.1.1 什么是不确定推理
  5.1.2 不确定推理要解决的基本问题
  5.1.3 不确定性推理方法分类
5.2 非单调逻辑
  5.2.1 非单调逻辑的产生  
  5.2.2 缺省推理逻辑  
  5.2.3 非单调逻辑系统
  5.2.4 非单调规则
  5.2.5 案例:有经纪人的交易  
5.3 主观 Bayes方法
  5.3.1 全概率公式和 Bayes公式
  5.3.2 主观 Bayes方法
5.4 确定性理论
  5.4.1 建造医学专家系统时的问题
  5.4.2 C-F模型
  5.4.3 案例:帆船分类专家系统  
5.5 证据理论
  5.5.1 假设的不确定性
  5.5.2 证据的不确定性和组合函数
  5.5.3 规则的不确定性
  5.5.4 不确定性的传递与组合
  5.5.5 证据理论案例
5.6 模糊逻辑和模糊推理
  5.6.1 模糊集合及其运算
  5.6.2 模糊关系
  5.6.3 语言变量
  5.6.4 模糊逻辑和模糊推理 
  5.6.5 案例:抵押申请评估决策支持系统  
5.7 小结
习题
第6章 Agent
6.1 概述
6.2 Agent及其结构  
  6.2.1 Agent定义
  6.2.2 Agent要素及特性 
  6.2.3 Agent的结构特点 
  6.2.4 Agent的结构分类 
6.3 Agent应用案例  
6.4 Agent通信  
  6.4.1 通信方式 
  6.4.2 Agent通信语言ACL
6.5 协调与协作 
  6.5.1 引言 
  6.5.2 合同网
  6.5.3 协作规划 
6.6 移动Agent 
  6.6.1 移动Agent产生的背景 
  6.6.2 定义和系统组成   
  6.6.3 实现技术 
  6.6.4 移动Agent系统
  6.6.5 移动Agent技术的应用场景 
6.7 多agent系统开发框架JADE   
  6.7.1 程序模型 
  6.7.2 可重用开发包 
  6.7.3 开发和运行的支持工具 
6.8 案例:火星探矿机器人
  6.8.1 需求分析 
  6.8.2 设计与实现   
6.9小结
习题
第7章  机器学习
7.1 机器学习概述 
  7.1.1 学习中的元素  
  7.1.2 目标函数的表示 
  7.1.3 学习任务的类型 
  7.1.4 机器学习的定义和发展史
  7.1.5 机器学习的主要策略 
  7.1.6 机器学习系统的基本结构
7.2 基于符号的机器学习
  7.2.1 归纳学习  
  7.2.2 决策树学习 
  7.2.3 基于范例的学习 
  7.2.4 解释学习  
  7.2.5 案例:通过EBG学习概念cup
  7.2.6 强化学习  
7.3 基于神经网络的机器学习
  7.3.1 神经网络概述  
  7.3.2 基于反向传播网络的学习
  7.3.3 案例:基于反向传播网络拟合曲线
  7.3.5 深度学习  
  7.3.6 案例:深度学习在计算机视觉中的应用   
  7.3.7 竞争网络   
  7.3.8 案例:学习向量量化解决分类问题 
7.4 基于统计的机器学习 
  7.4.1 支持向量机 
  7.4.2 案例:XOR问题 
  7.4.3 统计关系学习  
7.5小结
习题
第8章 自然语言处理技术
8.1 自然语言理解的一般问题
  8.1.1 自然语言理解的概念及意义
  8.1.2 自然语言理解研究的发展
  8.1.3 自然语言理解的层次
8.2 词法分析
8.2.1 案例:单词音节划分
8.3 句法分析
  8.3.1 短语结构文法和 Chomsky文法体系
  8.3.2 句法分析树
  8.3.3 转移网络  
8.4 语义分析
  8.4.1 语义文法  
  8.4.2 格文法
8.5 大规模真实文本的处理
  8.5.1 语料库语言学及其特点   
  8.5.2 统计学方法的应用及所面临的问题
  8.5.3 汉语语料库加工的基本方法   
  8.5.4 语义资源建设  
8.6 信息搜索
  8.6.1 信息搜索概述   
  8.6.2 搜索引擎  
  8.6.3 智能搜索引擎   
  8.6.4 搜索引擎的发展趋势
8.7 机器翻译
  8.7.1 机器翻译系统概述  
  8.7.2 机器翻译的基本模式和方法  
  8.7.3 统计机器翻译  
  8.7.4 利用深度学习改进统计机器翻译   
  8.7.5 端到端神经机器翻译 
  8.7.6 未来展望   
8.8 语音识别
  8.8.1 智能语音技术概述
  8.8.2 组成单词读音的基本单元
  8.8.3 信号处理  
  8.8.4 单个单词的识别 
  8.8.5 隐马尔可夫模型 
  8.8.6 深度学习在语音识别中的应用
8.9 机器阅读理解
  8.9.1 机器阅读理解评测数据集 
  8.9.2 机器阅读理解的一般方法 
  8.9.3 机器阅读理解研究展望   
8.10 机器写作   
  8.10.1 机器原创稿件  
  8.10.2 机器二次创作  
  8.10.3 机器写作展望  
8.11 聊天机器人 
  8.11.1 聊天机器人应用场景
  8.11.2 聊天机器人系统的组成结构及关键技术 
  8.11.3 聊天机器人研究存在的挑战  
8.12 小结
习题
第9章  智能规划
9.1 规划问题   
9.2 状态空间搜索规划   
9.3 偏序规划   
9.4 命题逻辑规划   
9.5 分层任务网络规划   
9.6 非确定性规划   
9.7 时态规划   
9.8 多Agent规划
9.9 案例分析   
  9.9.1 规划问题的建模与规划系统的求解过程 
  9.9.2 Shakey世界  
9.10小结
习题   
第10章  机器人学
10.1 概述  
  10.1.1 机器人的分类
  10.1.2 机器人的特性
  10.1.3 机器人学的研究领域  
10.2 机器人系统
  10.2.1 机器人系统的组成
  10.2.2 机器人的工作空间
  10.2.3 机器人的性能指标
10.3 机器人的编程模式与语言
10.4 机器人的应用与展望
  10.4.1 机器人应用  
  10.4.2 机器人发展展望  
10.5 案例分析:仿真机器人运动控制算法  
  10.5.1 仿真平台使用介绍
  10.5.2 仿真平台与策略程序的关系
  10.5.3 策略程序的结构  
  10.5.4 动作函数及说明  
  10.5.5 策略
  10.5.6 各种定位球状态的判断方法
  10.5.7 比赛规则
10.6小结
习题
第11章 互联网智能 
11.1 概述  
11.2 语义网与本体   
  11.2.1 语义网的层次模型 
  11.2.2 本体的基本概念
  11.2.3 本体描述语言OWL  
  11.2.4 本体知识管理框架 
  11.2.5 本体知识管理系统Protégé  
  11.2.6 本体知识管理系统KAON 
11.3 Web技术的演化 
  11.3.1 Web1.0  
  11.3.2 Web2.0  
  11.3.3 Web3.0  
  11.3.4 互联的社会  
11.4 Web挖掘   
  11.4.1 Web内容挖掘  
  11.4.2 Web结构挖掘  
  11.4.3 Web使用挖掘  
  11.4.4 互联网信息可信度问题 
  11.4.5 案例:反恐作战数据挖掘
  11.4.6 案例:微博博主特征行为数据挖掘
11.5 集体智能  
  11.5.1 社群智能  
  11.5.2 集体智能系统  
  11.5.3 全球脑
  11.5.4 互联网大脑(云脑)
  11.5.5 智联网
  11.5.6 案例:智能网联汽车
  11.5.7 案例:城市计算
11.6 小结 
习题
附录A 人工智能编程语言Python
  A.1 人工智能编程语言概述
  A.2 Python语言优势 
  A.3 Python人工智能相关库   
  A.4 Python语法简介 
附录B 手写体识别案例 
  B.1 MNIST数据集
  B.2 Softmax回归模型
  B.3 Softmax回归的程序实现  
  B.4 模型的训练  
  B.5 模型的评价  
  B.6 完整代码及运行结果  
申请样书
■  如果您是高校教师(普通高校/职业院校教师)可关注微信公众号 “书圈” (ID:itshuquan),根据提示申请本书。
03
精彩推荐
继续阅读
阅读原文