计算机科学丛书 概率逻辑程序设计:语言、语义、学习与推理
作者: (意)法布里奇奥 里古齐(FabrizioRiguzzi) 著 谢刚,杨波,赵远英 译
出版时间: 2020年版
内容简介
概率逻辑程序是在逻辑程序的基础上增加对不确定性信息的表示。概率逻辑程序是以下两个用途广泛的领域交叉形成的:逻辑和概率的统一、概率程序。逻辑用于表示实体之间的复杂关系,而概率论对构建属性和关系的不确定性模型有帮助。统一两个理论是一个非常活跃的研究领域。概率逻辑程序与带知识表示能力的逻辑语言和带计算能力的图灵复杂语言类似,因此,它是两种语言的*佳组合。由于概率逻辑程序的出现,越来越多的研究着开始关注它,并已产生了许多语言、推理和学习算法。本书主要对该领域提供一个概要,同时介绍分布语义下的具体语言。本书主要介绍语义、推理、学习和他们之间的关系。
目录
出版者的话
译者序
序言
前言
关于作译者
第1章 预备知识1
1.1 序、格和序数1
1.2 映射和不动点2
1.3 逻辑程序3
1.4 正规逻辑程序的语义8
1.4.1 程序完备化8
1.4.2 良基语义10
1.4.3 稳定模型语义13
1.5 概率论14
1.6 概率图模型21
第2章 概率逻辑程序语言27
2.1 基于分布语义的语言27
2.1.1 带标注析取的逻辑程序27
2.1.2 ProbLog28
2.1.3 概率Horn溯因28
2.1.4 PRISM29
2.2 不带函数符号的程序的分布语义30
2.3 示例程序33
2.4 表达能力的等价性36
2.5 将LPAD转换成贝叶斯网络38
2.6 分布语义的通用性41
2.7 分布语义的扩展42
2.8 CP-Logic43
2.9 不可靠程序的语义47
2.10 KBMC概率逻辑程序设计语言49
2.10.1 贝叶斯逻辑程序50
2.10.2 CLP(BN)50
2.10.3 Prolog因子语言51
2.11 概率逻辑程序的其他语义52
2.11.1 随机逻辑程序53
2.11.2 ProPPR54
2.12 其他概率逻辑语义54
2.12.1 Nilsson概率逻辑55
2.12.2 马尔可夫逻辑网络55
2.12.3 带标注的概率逻辑程序58
第3章 带函数符号的语义59
3.1 带函数符号程序的分布语义60
3.2 解释的无穷覆盖集63
3.3 与Sato和Kameya的定义的比较71
第4章 混合程序的语义74
4.1 混合ProbLog74
4.2 分布子句76
4.3 扩展的PRISM79
4.4 Cplint混合程序80
4.5 概率约束逻辑程序83
第5章 精确推理92
5.1 PRISM93
5.2 知识编译95
5.3 ProbLog196
5.4 cplint98
5.5 SLGAD99
5.6 PITA100
5.7 ProbLog2103
5.8 TP编译111
5.9 PITA中的建模假设113
5.9.1 PITA(OPT)115
5.9.2 用PITA实现的MPE117
5.10 有无限个解释的查询的推理118
5.11 混合程序的推理118
第6章 提升推理123
6.1 提升推理预备知识123
6.1.1 变量消除124
6.1.2 GC-FOVE126
6.2 LP2127
6.3 使用聚合parfactor的提升推理129
6.4 加权一阶模型计数130
6.5 带环逻辑程序132
6.6 各种方法的比较132
第7章 近似推理133
7.1 ProbLog1133
7.1.1 迭代深化133
7.1.2 k-best134
7.1.3 蒙特卡罗方法134
7.2 MCINTYRE136
7.3 带无穷多个解释的查询的近似推理138
7.4 条件近似推理138
7.5 通过采样对混合程序进行近似推理140
7.6 混合程序的带有界误差的近似推理141
7.7 k-优化142
7.8 基于解释的近似加权模型计数144
7.9 带TP编译的近似推理146
7.10 DISTR和EXP任务146
第8章 非标准推理149
8.1 可能性逻辑程序设计149
8.2 决策-理论ProbLog150
8.3 代数ProbLog155
第9章 参数学习161
9.1 PRISM参数学习161
9.2 LLPAD和ALLPAD参数学习166
9.3 LeProbLog166
9.4 EMBLEM169
9.5 ProbLog2参数学习176
9.6 混合程序的参数学习177
第10章 结构学习178
10.1 归纳逻辑程序178
10.2 LLPAD和ALLPAD结构学习181
10.3 ProbLog理论压缩182
10.4 ProbFOIL和ProbFOIL 182
10.5 SLIPCOVER186
10.5.1 语言偏好186
10.5.2 算法描述187
10.5.3 运行实例191
10.6 数据集实例192
第11章 cplint实例194
11.1 cplint命令194
11.2 自然语言处理197
11.2.1 概率上下文无关文法197
11.2.2 概率左角文法197
11.2.3 隐马尔可夫模型198
11.3 绘制二元决策图199
11.4 高斯过程200
11.5 Dirichlet过程203
11.5.1 Stick-Breaking过程203
11.5.2 中餐馆过程206
11.5.3 混合模型207
11.6 贝叶斯估计208
11.7 Kalman滤波器209
11.8 随机逻辑程序211
11.9 方块地图生成213
11.10 马尔可夫逻辑网络214
11.11 Truel215
11.12 优惠券收集者问题217
11.13 一维随机游走220
11.14 隐含Dirichlet分配220
11.15 印度人GPA问题223
11.16 Bongard问题224
第12章 总结227
附录 缩略语及符号对照表228
参考文献231