符号学习简介

非经典逻辑与近似推理

(Press ? for help, n and p for next and previous slide)


戴望州

南京大学人工智能学院
2022年-春季

https://daiwz.net

路径图

符号学习简介・非经典逻辑与近似推理

  1. 近似推理
  2. 多值逻辑
  3. 模糊逻辑

近似推理

Łukasiewicz: “明年 12 月 21 日中午我将在华沙”

近似推理

“以后我会成为学者”

近似推理

“如果我会成为学者,大家一定会高兴的”

近似推理

“如果我会成为比较厉害的学者,
大家一定会比较高兴的”

近似推理

“如果扬声器有比较严重的交流声,
则滤波电容多半失效了”

近似推理

“如果扬声器有不太严重的交流声,
则滤波电容可能容量不足了”

近似推理

真值指派的结果不再只是 \(\{True, False\}\) 之中二选一。

近似推理

在数学上应该如何刻画?

泛代数

设 \(A\) 为非空集,则:

  1. \(A\) 上的 \(0\) 元运算是 \(A\) 中的一个元素
  2. \(A\) 上的 \(n\) 元运算(\(n\geq 1\))是 \(A\) 中的一个 \(n\) 元函数 \(f:A^n \mapsto A\);

设 \(\Omega\) 是非空集,\(N\) 是非负整数集,\(ar:T\mapsto N\) 是映射,则称 \((\Omega,ar)\) 为(type, or signature)。有时把它简记为 \(\Omega\)。

设 \(\Omega\) 为型,\(A\) 为非空集。如果对每个 \(t\in\Omega\) 有一个 \(ar(t)\) 元函数 \(t_A:A^{ar(t)}\mapsto A\),则称 \(A\) 为 \(\Omega\) 型泛代数。当 \(t\in \Omega_n\) 时,\(t_A\) 是 \(\Omega\) 泛代数 \(A\) 上的 \(n\) 元函数,其中 \(0\) 元运算即为 \(A\) 中的元素。

设 \(\Omega=\{\top, \bot, \vee, \wedge\}\),\(\Omega_0=\{\top,\bot\}\),\(\Omega_2=\{\vee,\wedge\}\),则任一有界格(Lattice) \(L\) 都是一个 \(\Omega\) 型泛代数, \(\top_L\) 和 \(\bot_L\) 分别是 \(L\) 上的最大、最小元,\(\vee_L\) 和 \(\wedge_L\) 分别是 \(L\) 中的上、下确界运算。

布尔代数

布尔代数具有以下性质:

  1. 是一个完备格:
    • 有偏序、最大元、最小元;
    • 函数为上确界运算、下确界运算;
    • 任意子集均存在上下确界;
  2. 有补运算 \(\neg\);
  3. 是分配格(即满足 de Morgan 律);

泛代数同态

设 \(A\) 和 \(B\) 都是具有同一型 \(\Omega\) 的泛代数,\(\varphi:A\mapsto B\) 是映射,若

  1. 对每个 \(0\) 元函数 \(t\in \Omega_0\),对任意 \(t_A\) 存在 \(t_B\) 令 \(\varphi(t_A)=t_B\)
  2. 对每个 \(n\) 元函数 \(t\in \Omega_n, n\geq 1\),对任意 \(A\) 中 n 个元素 \(a_1, \ldots, a_n\) 有 \(\varphi(t_A(a_1, a_2, \ldots, a_n))=t_B(\varphi(a_1), \varphi(a_2), \ldots,\varphi(a_n))\)

则称 \(\varphi\) 为从 \(A\) 到 \(B\) 的一个 \(\Omega\) 型同态。如果 \(\varphi\) 即单又满,则称其为 \(\Omega\) 型同构

真值指派

  1. 逻辑语言是由 \(S=\{p_1, p_2, \ldots\}\) 生成的 \(\Omega=\{\neg,\rightarrow\}\) 型自由代数
  2. 真值指派 \(v\) 是将以上自由代数映射至布尔代数的 \(\Omega\) 型同态。

近似推理 vs 经典逻辑

否定排中律: \(v(p\vee\neg p)\neq \top\)

近似推理 vs 经典逻辑

真值指派所使用的格(赋值格)是布尔代数的扩张

  • 即布尔代数应当是近似推理方法赋值格的一个子代数

用于近似推理的非经典逻辑

  • 模态逻辑(Modal Logic):通过模态词来限定真值
  • 多值逻辑(Many-valued Logic):\(L=\{0, I_1, I_2, \ldots, 1\}\)(赋值格为有限或可数个真值)
  • 模糊逻辑(Fuzzy Logic):\(L=[0,1]\)(赋值格为连续值)
  • 概率逻辑(Probabilistic Logic):使用概率论作为语义基础
  • ……

符号学习简介・非经典逻辑与近似推理

  1. 近似推理
  2. 多值逻辑
  3. 模糊逻辑

多值逻辑

  • \(7\) 是素数
  • \(9\) 是素数
  • \(11\) 是水仙花

  • \(\top\):真、true、T、\(1\)
  • \(\bot\):假、false、F、\(0\)
  • \(I\):不确定、indeterminate、I、\(1/2\)

Łukasiewicz 的三值系统 \(L_3\)

\(p\) \(\neg p\)
T F
I I
F T

Łukasiewicz 的三值系统 \(L_3\)

第一列为 \(p\) 的真值,第一行为 \(q\) 的真值:

\(p\vee q\) T I F
T T T T
I T I I
F T I F

Łukasiewicz 的三值系统 \(L_3\)

第一列为 \(p\) 的真值,第一行为 \(q\) 的真值:

\(p\wedge q\) T I F
T T I F
I I I F
F F F F

Łukasiewicz 的三值系统 \(L_3\)

第一列为 \(p\) 的真值,第一行为 \(q\) 的真值:

\(p\rightarrow q\) T I F
T T I F
I T T I
F T T T

Łukasiewicz 的三值系统 \(L_3\)

  1. 是二值布尔逻辑的直接扩充
  2. MP 规则成立、de Morgan 律成立
  3. 连接词的语义:

    • \(p\vee q=(p\rightarrow q)\rightarrow q\)
    • 实质蕴涵
    \begin{equation*} p\rightarrow q=\begin{cases} \neg p\vee q, & (p,q)\neq(I,I)\\ T,&(p,q)=(I,I) \end{cases} \end{equation*}

\(L_3\) 中的模态词

  • 必然 \(\Box\):

    \(p\) \(\Box p\)
    T T
    I F
    F F
  • 或然 \(\Diamond\):

    \(p\) \(\Diamond p\)
    T T
    I T
    F F

\(L_3\) 中的定理

  • \(p\rightarrow(q\rightarrow p)\)
  • \(p\vee \neg p\)
  • \(\neg(p\rightarrow\neg p)\vee\neg (\neg p\rightarrow p)\)

多值逻辑中的定理

二值逻辑中许多定理(重言式)不再是多值逻辑里的重言式。于是我们称:

  • 真值恒为 \(T\) 的成为重言式
  • 真值恒大于 \(F\) 的成为准重言式

Kleene 的三值系统 \(K_3\)

仅蕴涵算子与 \(L_3\) 不同:

\(p\rightarrow q\) T I F
T T I F
I T I I
F T T T

\(K_3\) 中的准重言式

\(K_3\) 中有 \(p\vee q=\neg p\rightarrow q\) 以及 \(p\rightarrow q=\neg p\vee q\),因此 \(K_3\) 可看作仅含有连接词 \(\neg\) 与 \(\rightarrow\)。

定理:\(K_3\) 中的准重言式与二值逻辑中的的重言式一致。

Łukasiewicz 的 \(n\) 值系统 \(L_n\)

将赋值格由 \(\{T,I,F\}\) 推广为含有 \(n\) 个元素的线性序集: \[L=\{0,\alpha_1, \alpha_2, \ldots,\alpha_{n-2},1\},\] 其中 \(0\) 表示假,\(1\) 表示真,且 \[\alpha_o=0<\alpha_1<\ldots<\alpha{}_{n-2}<\alpha_{n-1}=1\] 一般定义它们为 \([0,1]\) 区间的 \(n\) 等分点,这时有:

  • \(\neg\alpha=1-\alpha\)
  • \(\alpha\wedge\beta=\min\{\alpha, \beta\}\)
  • \(\alpha \vee \beta=\max\{\alpha, \beta\}\)
  • \(\alpha \rightarrow\beta=\min{\neg\alpha+\beta,1}\)

\(L_n\) 的子代数

\(L_n\) 是 \((\neg, \vee,\rightarrow)\) 型代数,设 \(M\) 是 \(L_n\) 的非空子集,如果 \(M\) 关于运算 \((\neg, \vee,\rightarrow)\) 封闭,则称 \(M\) 是 \(L_n\) 的子代数。

\(L_n\) 是 \(L_{2n-1}\) 的子代数。二值逻辑代数 \(C_2\) 是 \(L_k, k>2\) 的最小子代数。

定理:设 \(L_n\) 是 \(L_m\) 的子代数, \(T(L_n)\) 代表 \(L_n\) 中所有的重言式,那么有: \[T(L_m)\in T(L_n)\]

\(L_n\) 的子代数

如果 \(L_n\) 不是 \(L_m\) 的子代数,则重言式之间没有已上关系。比如令 \(m=4,n=3\):

  • \(A=((p\rightarrow\neg p)\wedge(\neg p\rightarrow p))\rightarrow (\neg p\vee p)\),
  • \(B=\neg p\vee((p\rightarrow \neg p)\rightarrow(\neg p\rightarrow p))\)

多值逻辑上的重言式

定义:设 \(A\) 是 \(S\) 生成的自由代数中 \(F(S)\) 的公式,\(L\) 是某种线性序的 \(n\) 值系统, \(\alpha\in L\)。如果对每个赋值 \(v:F(S)\mapsto L\) 恒有 \(v(A)\geq\alpha\),则称 \(A\) 为 \(\alpha\) 重言式。

其它赋值格上的算子

一般而言,\(\alpha,\beta\in[0,1]\) 时:

  • \(\neg\alpha=1-\alpha\)
  • \(\alpha\vee \beta=\max\{\alpha,\beta\}\)
  • \(\alpha\wedge\beta=\min\{\alpha,\beta\}\)
  • 但是在多值逻辑赋值格上对蕴涵 \(\alpha\rightarrow\beta\) 的定义则多种多样

赋值格上的蕴涵算子

多值逻辑系统赋值格上各家对 \(\alpha\rightarrow\beta\) 的定义:

算子 定义
Zadeh 算子 \(\neg \alpha\vee(\alpha\wedge \beta)\)
Łukasiewicz 算子 \((\neg \alpha+\beta)\wedge 1\)
Mamdani 算子 \(\alpha\wedge\beta\)
Gaines-Rescher 算子 \(1\) if \(\alpha\leq \beta\); \(0\) if \(\alpha>\beta\)
Reichenbach 算子 \(\neg \alpha+\alpha\cdot \beta\)
Gödel 算子 \(1\) if \(\alpha\leq \beta\), \(\beta\) if \(\alpha>\beta\)
Goguen 算子 \(1\) if \(\alpha=0\), \(\frac{\beta}{\alpha}\wedge 1\) if \(\alpha>0\)
Yager 算子 \(\beta^\alpha\)
Kleene-Dienes 算子 \(\neg\alpha\vee \beta\)

Dubois-Prade 条件

直觉上,多值逻辑中蕴涵算子应当满足的 10 个条件:

  1. \(\alpha\leq\gamma\) 时, \(\alpha\rightarrow\beta\geq \gamma\rightarrow\beta\)
  2. \(\beta\leq\gamma\) 时, \(\alpha\rightarrow\beta\leq \alpha\rightarrow\gamma\)
  3. \(0\rightarrow \beta=1\)
  4. \(1\rightarrow\beta=\beta\)
  5. \(\alpha\rightarrow\beta\geq\beta\)
  6. \(\alpha\rightarrow\alpha=1\)
  7. \(\alpha\rightarrow(\beta\rightarrow\gamma)=\beta\rightarrow(\alpha\rightarrow\gamma)\)
  8. \(\alpha\rightarrow\beta=1\) 当且仅当 \(\alpha\leq \beta\)
  9. \(\alpha\rightarrow\beta=\neg\beta\rightarrow\neg\alpha\)
  10. \(\alpha\rightarrow\beta\) 关于 \(\alpha,\beta\) 连续

符号学习简介・非经典逻辑与近似推理

  1. 近似推理
  2. 多值逻辑
  3. 模糊逻辑

模糊逻辑(Fuzzy Logic)

  1. 将命题的真值指派扩充为 \([0,1]\) 区间的连续值;
  2. 利用模糊算子(Fuzzy operators)对公式进行推理。

模糊推理的基本思想

经典逻辑中我们有肯定前件(MP)和演绎定理:

\begin{align} A\rightarrow B&\\ A\\ \hline B& \end{align}

模糊推理的基本思想

如果出现这样的情况:

\begin{align} A\rightarrow B&\\ A'\\ \hline B'& \end{align}

它还成立吗?

模糊推理的基本思想

模糊逻辑中,确实会出现这样的情况:

\begin{align} R(A, B)&\\ A'\\ \hline B'& \end{align}

其中 \(A'\) 和 \(B'\) 分别是对 \(A\) 与 \(B\) 在某种“程度”上的描述。

模糊集(Fuzzy Set)

定义:给定一个论域 \(U\),那么从 \(U\) 到单位区间 \([0,1]\) 的一个映射 \(\mu_{A}:U\mapsto [0,1]\) 称为 \(U\) 上的一个模糊集,或 \(U\) 的一个模糊子集。

  • 模糊集可以记为 \(A\)
  • 映射(函数)\(\mu _{A}(\cdot)\) 或简记为 \(A(\cdot )\) 叫做模糊集 \(A\) 隶属函数
  • 对于每个 \(x\in U\), \(\mu_{A}(x)\) 叫做元素 \(x\) 对模糊集 \(A\) 的隶属度。

模糊化

\begin{align} X\text{ 离 }Y\text{ 很近}&\\ X\text{ 离 }3\text{ 很近}\\ \hline Y\text{ 离 }3\text{ 很近}& \end{align}

模糊推理的 CRI 方法

\begin{align} A\rightarrow B&\\ A'\\ \hline B'& \end{align}

对于上面的问题,模糊逻辑中采用合成推理(compositional rule of inference, CRI)方法:

  1. 将命题用模糊集表示(模糊化),例如 \(A,A'\in \mathfrak{F}(X)\),\(B,B'\in\mathfrak{F}(Y)\)
  2. 把蕴涵式 \(A\rightarrow B\) 转化为一个 \(X\times Y\) 上的模糊关系 \(R:X\times Y\mapsto[0,1]\),例如 Zadeh 蕴涵算子 \[R(x,y)=A'(x)\vee (A(x)\wedge B(y))\]
  3. 把给定的 \(A'(x)\)(即输入)与上一步中的模糊集做合成即得到输出 \(B'=A'\circ R\) 。Zadeh 的合成算法是:

    \begin{eqnarray*} B&=&\sup_{x\in X,y\in Y}[A'(x)\wedge R(x,y))]\\ &=&\sup_{x\in X,y\in Y}\{A'(x)\wedge[A'(x)\vee(A(x)\wedge B(y))]\} \end{eqnarray*}

模糊推理的 CRI 方法

\begin{align} A\rightarrow B&\\ A'\\ \hline B'& \end{align}

例子:若 \(X=Y=[0,1]\),\(A(x)=1-x\),\(B(y)=0\),\(A'(x)=x\),按 Zadeh 的 CRI 方法求 \(B'\)

t-norm

在模糊推理中除了蕴涵以外,还有许多对合取(\(\wedge\))的定义方式。它们统称为“三角范数”(triangular-norm, t-norm),是一种 \([0,1]\times[0,1]\mapsto[0,1]\) 的映射,需要满足如下条件:

  1. 有界:\(T(0,0)=0, T(a,1)=T(1,a)=a\)
  2. 单调:\((a\leq c \wedge b\leq d) \rightarrow T(a,b)\leq T(c,d)\)
  3. 对称:\(T(a,b)=T(b,a)\)
  4. 结合律:\(T(a,T(b,c))=T(T(a,b),c)\)

例如:

  • Łukasiewicz T范数:\(T(x,y)=\min\{x,y\}\)
  • 概率 T范数:\(T(x,y)=xy\)
    • 若定义 \(\neg x=1-x\),则 \(x\vee y\) 就是 noisy-or
  • 有界 T范数:\(T(x,y)=\max\{0,x+y-1\}\)

到底什么是模糊推理?

模糊推理的数学本质只是
在模糊集上任意定义的映射

模糊“逻辑”的问题

若 \(S\) 为无限集,\(F(S)\) 为由它生成的 \((\neg,\vee,\rightarrow)\) 型自由代数,\([0,1]\) 上的运算 \(\rightarrow\) 由某个模糊蕴涵算子确定,\(\Sigma\) 是若干赋值 \(v:F(S)\mapsto[0,1]\) 的集合, \(A,B\in F(S)\),\(\alpha\in (o,1]\),定义:

  • 称对每个真值指派 \(v\),\(v(A)\geq\alpha,v(A\rightarrow B)\geq\alpha\) 推得 \(v(B)\geq\alpha\) 的规则为\(\Sigma\) 中的 \(\alpha\)-MP 规则(严格大于则称为 \(\alpha^+\))。
  • 称对每个真值指派 \(v\),\(v(A\rightarrow B)\geq\alpha,v(B\rightarrow C)\geq\alpha\) 推得 \(v(A\rightarrow C)\geq\alpha\) 的规则为\(\Sigma\) 中的 \(\alpha\)-HS 规则(严格大于则称为 \(\alpha^+\))。

模糊“逻辑”的问题

定理:设 \(R(x,y)\) 关于 \(y\) 不减,\(v(A\rightarrow B)\) 由 \(R(v(A),v(B))\) 定义。如果有 \(A,B\in F(S)\) 以及 \(v\in\Sigma\) 使 \(v(A)=\frac{1}{2},v(B)=0\) ,则以下两个条件不能同时成立:

  1. \(\frac{1}{2}^+\)-MP 规则与 \(\frac{1}{2}^+\)-HS 规则成立
  2. 以下三条经典逻辑公理均为 \(\frac{1}{2}^+\) 重言式:
    • (L1)\(A\rightarrow(B\rightarrow A)\)
    • (L2)\((A\rightarrow(B\rightarrow C))\rightarrow((A\rightarrow B)\rightarrow(A\rightarrow C))\)
    • (L3)\((\neg B\rightarrow\neg A)\rightarrow(A\rightarrow B)\)

小结

非经典逻辑部分小结

  1. 逻辑和赋值可看作泛代数之间的同态映射
  2. 非经典逻辑是对布尔代数的延拓
    • 基本无法做到无损扩充
  3. 模糊算子的局限