人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » AI资讯

人工智能(AI)程序设计(面向对象语言)

2024-05-16 57

智能化是当前计算机、自动化、通信、管理等信息科学技术领域中的新方法、新技术、新产品的重要发展方向与开发策略之一。信息处理的智能化与信息社会对智能的巨大需求是人工智能发展的强大动力。人工智能与专家系统曾取得过许多令人注目的成果,也走过不少弯路,经历过不少挫折。近几年来,随着计算机及网络技术的迅猛发展,特别是因特网的大规模普及,人工智能与专家系统的研究再度活跃起来,并正向更为广阔的领域发展。围绕人工智能与专家系统的研究和应用开发也迎来一个蓬勃发展的新时期。因此,引进与消化国际上已经广泛流行的功能强大和通用的智能程序设计语言、工具与环境,对于中国开发智能化应用系统十分必要。鉴于国内已有许多用户在使用Visual Prolog,而这方面的中文资料比较缺乏,我们编写了本书,系统介绍了基于Visual Prolog的AI程序设计的功能特点、编程方法与技术,相信对于开发智能化软件有启迪作用,也希望对国内在这一领域的教学、研究及智能化应用水平的提高起到良好的促进作用,且有益于国内同行在这一领域与国际主流保持一致。

第1部分 基础知识

第1章 人工智能概述 2

1.1 人工智能的概念 2

1.1.1 人工智能 2

1.1.2 为什么要研究人工智能 3

1.1.3 人类智能的计算机模拟 4

1.2 人工智能的研究目标 7

1.3 人工智能研究的基本内容及特点 9

1.3.1 人工智能研究的基本内容 9

1.3.2 人工智能的研究途径与方法 10

1.3.3 人工智能研究的主要特点 12

1.4 人工智能的研究领域 14

1.4.1 经典的人工智能研究领域 14

1.4.2 基于脑功能模拟的领域划分 24

1.4.3 基于实现技术的领域划分 28

1.4.4 基于应用领域的领域划分 28

1.4.5 基于应用系统的领域划分 33

1.4.6 基于计算机系统结构的领域划分 34

1.4.7 基于实现工具与环境的领域划分 35

1.5 人工智能的基本技术 35

1.5.1 推理技术 35

1.5.2 搜索技术 36

1.5.3 知识表示与知识库技术 37

1.5.4 归纳技术 37

1.5.5 联想技术 37

1.6 人工智能的产生与发展 38

1.6.1 人工智能学科的产生 38

1.6.2 符号主义学派 38

1.6.3 连接主义学派 40

1.6.4 人工智能的发展趋势 41

1.6.5 中国人工智能的研究与发展 42

本章小结 42

习题1 44

第2章 知识表示方法 45

2.1 知识的基本概念 45

2.1.1 知识层次 45

2.1.2 知识的属性 46

2.1.3 知识分类 47

2.1.4 知识表示 48

2.2 一阶谓词逻辑表示法 51

2.2.1 命题与真值 51

2.2.2 论域和谓词 51

2.2.3 谓词公式与量词 52

2.2.4 谓词逻辑表示方法 53

2.2.5 谓词逻辑表示方法的BNF描述 54

2.2.6 谓词逻辑表示方法的特点 54

2.3.1 产生式 55

2.3.3 产生式表示法的特点 61

2.3.4 产生式表示法与其他知识表示方法的比较 61

2.4 语义网络表示法 62

2.4.1 语义网络的基本结构 62

2.4.2 语义网络的知识表示 62

2.4.3 语义网络与Prolog 64

2.4.4 语义网络的求解流程 65

2.4.5 基本的语义关系 65

2.4.6 语义网络表示法的特点 67

2.4.7 语义网络法与其他知识表示方法的比较 67

2.5 框架表示法 68

2.5.1 框架的基本结构 68

2.5.2 框架的BNF描述 70

2.5.3 框架系统中的预定义槽名 71

2.5.4 框架系统的问题求解过程 72

2.5.5 框架系统的程序语言实现 73

2.5.6 框架系统的特点 73

2.6 脚本表示法 73

2.6.1 概念依赖理论 74

2.6.2 脚本的结构 74

2.6.3 脚本的推理 75

2.6.4 脚本表示法的特点 76

2.7 过程表示法 76

2.7.1 表示知识的方法 77

2.7.2 过程表示的问题求解过程 78

2.7.3 过程表示的特点 79

2.7.4 过程性与说明性表示方法的比较 79

2.8 Petri网表示法 79

2.8.1 Petri网的基本概念 80

2.8.2 表示知识的方法 80

2.8.3 Petri网表示法的特点 81

2.9 面向对象表示法 81

2.9.1 面向对象的基本概念 81

2.9.2 面向对象的基本特征 83

2.9.3 面向对象的知识表示 83

2.9.4 面向对象表示方法的特点 84

2.10 状态空间表示法 85

2.11 问题归约表示法 85

本章小结 86

习题2 86

第3章 AI编程基础 88

3.1 命题逻辑 88

3.1.1 命题 88

3.1.2 命题定律 90

3.1.3 范式 92

3.1.4 命题逻辑的推论规则 94

3.1.5 命题逻辑的局限性 94

3.2 一阶谓词逻辑 95

3.2.1 谓词 95

3.2.2 量词 96

3.2.3 谓词逻辑的合式公式 97

3.2.4 自由变元与约束变元 97

3.2.5 谓词公式的解释 98

3.2.6 含有量词的等价式和蕴含式 99

3.2.7 谓词逻辑中的推论规则 101

3.2.8 谓词公式的范式与斯柯林标准形 102

3.3 产生式系统 104

3.3.1 产生式系统的基本组成 104

3.3.2 产生式系统的基本过程 106

3.3.3 基于产生式系统的具体问题建模 107

3.3.4 产生式系统的类型 108

3.3.5 产生式系统的搜索策略 109

3.3.6 两种典型的产生式系统 112

3.4 专家系统 117

3.4.1 专家系统的概念与组成 117

3.4.2 专家系统的类型 120

3.4.3 专家系统的特点 122

3.4.4 专家系统的开发工具 123

3.4.5 新一代专家系统研究 124

本章小结 126

习题3 127

第2部分 编程指南

第4章 Visual Prolog概述 130

4.1 Visual Prolog 6概述 130

4.2 Visual Prolog 6基本特性 131

4.2.1 语言特性 131

4.2.2 图形化开发环境 132

4.2.3 编译器 132

4.2.4 链接器 132

4.2.5 调试器 132

4.3 创建项目 133

4.4 建立项目 134

4.5 浏览项目 135

4.6 开发项目 137

4.7 调试项目 140

本章小结 142

习题4 142

第5章 Prolog基础 143

5.1 Horn子句逻辑 143

5.2 Prolog推理机 145

5.3 扩展家庭定理 146

5.4 Prolog是一种编程语言 147

5.5 程序控制 148

5.5.1 失败 149

5.5.2 回溯 149

5.5.3 改进家庭定理 151

5.5.4 递归 152

5.5.5 副效应 153

5.5.6 小结 154

5.6 Prolog算符 154

5.6.1 算符 155

5.6.2 深入理解算符 156

5.6.3 算符与谓词 158

5.6.4 算符作为参数 158

5.6.5 算符递归 160

5.6.6 算符使用策略 161

5.6.7 小结 161

本章小结 161

习题5 162

第6章 类与对象 164

6.1 对象模型 164

6.2 类实体 165

6.3 模块 166

6.4 创建和访问对象 166

6.5 接口对象类型 167

6.6 多重实现 167

6.7 包容多态性 168

6.8 support类型扩展 168

6.9 object超类型 169

6.10 继承 169

6.11 对象体系的其他特点 171

6.12 Visual Prolog 5与Visual Prolog 6的差异 171

6.12.1 句点 171

6.12.2 谓词 171

6.12.3 谓词论域 172

6.12.4 引用论域 172

6.12.5 函数子句 172

6.12.6 常量 173

6.12.7 事实 173

6.12.8 事实变量 173

6.12.9 嵌套表达式与函数 174

6.12.10 编译器命令 174

6.12.11 条件编译 174

6.12.12 输入输出及特殊论域 175

6.12.13 省略与匿名参数类型 175

6.12.14 对象与类 176

6.12.15 库支持 176

本章小结 180

习题6 180

第7章 Visual Prolog编程 182

7.1 Visual Prolog基础 182

7.1.1 程序结构 182

7.1.2 目标 184

7.1.3 文件考虑 185

7.1.4 作用域访问 185

7.1.5 面向对象 186

7.1.6 一个完整的例子:family1.prj6 186

7.1.7 程序的取舍 192

7.1.8 小结 193

7.2 Visual Prolog的GUI编程 193

7.2.1 GUI概述 194

7.2.2 GUI对事件的响应 195

7.2.3 开始一个GUI项目 195

7.2.4 创建模态对话框 196

7.2.5 修改菜单 200

7.2.6 修改工具栏 202

7.2.7 在程序中添加主代码 204

7.2.8 压缩相关代码 206

7.2.9 分析所做的工作 209

7.2.10 运行程序 211

7.2.11 小结 212

7.3 Visual Prolog的逻辑层 212

7.3.1 初始准备阶段 212

7.3.2 创建业务逻辑层 212

7.3.3 在业务逻辑层上工作 213

7.3.4 创建业务逻辑类 214

7.3.5 理解业务逻辑类 217

7.3.6 连接业务逻辑层到GUI 217

7.3.7 理解事件处理程序 220

7.3.8 运行代码 221

7.3.9 细节考虑 221

7.3.10 小结 221

7.4 Visual Prolog的数据层 222

7.4.1 基本概念 222

7.4.2 程序 222

7.4.4 FamilyData包 226

7.4.5 接口 226

7.4.6 FamilyDL包 227

7.4.7 FamilyDL包的代码 228

7.4.8 FamilyBLL包的代码 229

7.4.9 数据层的特征 230

7.4.10 小结 231

本章小结 231

习题7 231

第8章 编写CGI程序 232

8.1 概述 232

8.2 编写CGI程序基础 232

8.2.2 CGI程序 235

8.2.3 测试CGI程序 238

8.2.4 用Visual Prolog 6创建CGI程序 239

8.2.5 测试example1 241

8.2.6 应用程序功能分析 242

8.2.7 输入流分析 242

8.3 编写实用的CGI应用程序 242

8.3.2 解释信息流的高级CGI应用程序 244

8.3.3 信息从网络服务器到浏览器的传输 246

8.3.4 CGI应用程序简评 247

8.3.5 取代CGI程序的候选方案 247

8.3.6 加速CGI应用程序 247

8.3.7 CGI程序的客户端 247

8.3.8 使用Javascript对象的高级CGI应用程序 249

8.3.9 安全性问题 251

8.3.10 防止CGI程序被盗链 252

8.3.11 小结 253

8.4 CGI应用程序测试实例 253

8.4.1 安装TinyWeb网络服务器 253

8.4.2 TinyWeb的根目录 254

8.4.3 TinyWeb的端口 254

8.4.4 调试例子程序 254

8.4.5 用其他网络服务器运行例子程序 254

本章小结 254

习题8 255

第9章 编码风格 256

9.1 基本元素 256

9.1.1 关键字 256

9.1.2 半关键字 256

9.1.3 文字 257

9.1.4 标识符 257

9.1.5 常量 257

9.1.6 变量 257

9.1.7 谓词 257

9.1.8 论域 258

9.1.9 类和接口 258

9.2 推荐格式 258

9.2.1 折行 258

9.2.2 缩排 259

9.2.3 对齐 259

9.2.4 空格字符 259

9.3 程序结构 259

9.3.1 段 259

9.3.2 类、接口及实现 260

9.3.3 谓词声明 260

9.3.4 论域 260

9.3.5 子句 261

9.3.6 不确定性循环 261

9.3.7 Word格式化代码 261

9.4 程序设计语用学 262

9.4.1 常规技巧 262

9.4.2 布尔值 263

9.4.3 截断 263

9.4.4 红色截断和绿色截断 264

9.4.5 指派输入格式 265

9.4.6 异常和错误处理 266

9.4.7 内部错误和其他错误 266

9.5 存储管理 267

9.5.1 存储器 267

9.5.2 运行堆栈 267

9.5.3 尾部调用优化 268

9.5.4 运行栈耗尽 268

9.5.5 全局栈 268

9.5.6 G-堆栈耗尽 268

9.5.7 堆和垃圾回收 269

9.5.8 垃圾回收 269

9.5.9 Finalizers 270

9.5.10 数据在什么地方分配 270

9.5.11 堆中数据 270

9.5.12 多线程和存储 271

9.6 异常处理 271

9.6.1 如何捕获异常 271

9.6.2 如何构造自己的异常 273

9.6.3 如何继续另一个异常 274

本章小结 276

习题9 276

第3部分 语言参考

第10章 Visual Prolog语言元素 280

10.1 类型 280

10.2 对象系统 281

10.2.1 外部视图 281

10.2.2 内部视图 282

10.3 作用域和可视性 283

10.3.1 名字分类 283

10.3.2 可视性、隐蔽性及限定性 285

10.4 词法结构 286

10.4.1 程序单元 286

10.4.2 标记 287

10.4.3 文字 289

本章小结 291

习题10 291

第11章 Visual Prolog数据元素 292

11.1 论域段 292

11.1.1 类型名 292

11.1.2 复合论域 293

11.1.3 列表论域 295

11.1.4 引用论域 296

11.1.5 谓词论域 296

11.1.6 整型论域 301

11.1.7 实型论域 302

11.2 通用类型和根类型 303

11.2.1 通用类型 303

11.2.2 根类型 304

本章小结 304

习题11 304

第12章 Visual Prolog程序元素 305

12.1 项 305

12.1.1 项的基本概念 305

12.1.2 运算符 306

12.1.3 类成员访问 307

12.1.4 对象成员访问 308

12.1.5 全局实体的访问 308

12.1.6 论域、算符和常量访问 308

12.2 常量 308

12.2.1 常量段 308

12.2.2 常量定义 309

12.3 谓词 309

12.3.1 谓词段 309

12.3.2 构造段 310

12.3.3 接口谓词 311

12.3.4 变元 313

12.4 子句 313

12.4.1 子句段 313

12.4.2 目标段 314

12.5 事实 315

12.5.1 事实段 315

12.5.2 事实声明 315

12.5.3 事实变量 316

12.5.4 事实 316

12.6 评估 317

12.6.1 回溯 317

12.6.2 谓词调用 317

12.6.3 合一 318

12.6.4 引用论域 319

12.6.5 匹配 319

12.6.6 嵌套的函数调用 320

12.6.7 变量与常量 320

12.6.9 事实断言与撤销 322

12.6.10 失败谓词和成功谓词 322

12.6.11 逻辑与 322

12.6.12 逻辑或 322

12.6.13 逻辑非 323

12.6.14 截断 323

12.6.15 谓词finally/2 324

12.7 程序段 325

本章小结 325

习题12 326

第13章 编译单元 327

13.1 接口 327

13.1.1 接口的基本概念 327

13.1.2 接口与对象 328

13.1.3 开放限定 328

13.1.4 支持限定 329

13.2 类声明 330

13.3 类实现 332

13.3.1 类实现的基本概念 332

13.3.2 继承限定 334

13.3.3 归结限定 334

13.3.4 委托限定 337

13.3.5 This修饰 339

13.3.6 构造器 341

13.3.7 终结 344

13.4 类型转换 345

13.4.1 隐式转换 345

13.4.2 显式转换 346

13.5 条件编译 349

13.6 异常处理 349

13.7 预处理程序指令 350

13.7.1 条件编译指令 350

13.7.2 源文件包含 351

13.7.3 编译时间信息 351

本章小结 353

习题13 354

第14章 内部论域、谓词和常量 355

14.1 概述 355

14.2 内部常量详解 357

14.3 内部论域详解 358

14.4 内部谓词详解 363

本章小结 380

习题14 380

第15章 与其他编程语言接口 381

15.1 外部代码 381

15.2 关键问题 381

15.3 调用约定和链接名 382

15.4 数据表示 383

15.4.1 举例 383

15.4.2 外部链接库 384

15.5 存储管理 385

15.5.1 典型解决方案 385

15.5.2 垃圾收集和全局堆栈 386

本章小结 388

习题15 388

附录 术语表 389

A 389

B 390

C 391

D 394

E 396

F 397

G 398

H 399

I 399

K 401

L 401

M 402

N 403

O 404

P 405

R 407

S 408

T 411

U 412

V 413

参考文献 414

XVIII

目 录

XIX

目 录

[1]

新一代开发智能化应用的强有力工具,它还支持基于网络的开发、数据库、多媒体、与C语言集成等。Visual Prolog在美国、加拿大、西欧、澳大利亚、新西兰、日本、韩国、新加坡等发达国家和地区十分流行,是国际上研究和开发智能化应用的主流工具之一,拥有较多的群体,对这种工具软件的需求已经逐渐显现出来。国内已有不少Visual Prolog用户,一个Visual Prolog群体正在逐渐形成。预计不久的将来,在国际上已经十分流行的最新版本的可视化逻辑程序设计语言Visual Prolog将会在国内广泛流行,并将迅速成为中国研究和开发智能化应用的主流工具。

Visual Prolog具有模式匹配、递归、回溯、对象机制、事实数据库和谓词库等强大功能。它包含构建大型应用程序所需要的一切特性:图形开发环境、编译器、连接器和调试器、支持模块化和面向对象程序设计、支持系统级编程、文件操作、字符串处理、位级运算、算术与逻辑运算,以及与其他编程语言的接口。

Visual Prolog包含一个大型库,捆绑了大量的API函数,包括Windows GUI函数族、ODBC/OCI数据库函数族和因特网函数族(socket,FTP,HTTP,CGI等)。这个开发环境全部使用Visual Prolog语言写成,而且包含对话框、菜单、工具栏等若干编码专家和图形编辑器。Visual Prolog支持Windows 9x/Me/NT/2000/XP,OS/2,Linux和SCOUNIX等操作系统。

流保持一致。

原文链接:https://baike.baidu.com/item/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%28AI%29%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%EF%BC%88%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E8%AF%AD%E8%A8%80%EF%BC%89/15206285?fr=aladdin

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部