逻辑门含义布尔表达式输出为 1 的条件真值表 (x₁,x₂→输出)
AND与门:两者都为真$(x_1x_2)$仅当 x₁=1 且 x₂=100→0
01→0
10→0
11→1
OR或门:至少一个为真$(x_1 + x_2)$任意一个为 100→0
01→1
10→1
11→1
NAND与非门:AND 取反$(x_1x_2)'$除了 11 都为真00→1
01→1
10→1
11→0
NOR或非门:OR 取反$(x_1 + x_2)'$仅当 00 为真00→1
01→0
10→0
11→0
XOR异或:不同为真$(x_1'x_2 + x_1x_2')$01 或 1000→0
01→1
10→1
11→0
XNOR同或:相同为真$(x_1x_2 + x_1'x_2')$00 或 1100→1
01→0
10→0
11→1
NOT (单输入)非门:取反$(x_1')$当 x₁=0 时输出10→1
1→0
BUF (单输入)缓冲器:原样输出$(x_1)$当 x₁=1 时输出10→0
1→1
逻辑门布尔表达式感知机形式 (f(x)=w_1x_1+w_2x_2+b)参数示例可线性分吗?
AND$(x_1x_2) $$ (f(x)=x_1+x_2-1.5) $$(w_1=1,\ w_2=1,\ b=-1.5) $
OR$(x_1+x_2) $$(f(x)=x_1+x_2-0.5) $$ (w_1=1,\ w_2=1,\ b=-0.5) $
NAND$(x_1x_2)' $$(f(x)=-x_1-x_2+1.5) $$ (w_1=-1,\ w_2=-1,\ b=1.5)$
NOR$(x_1+x_2)'$$(f(x)=-x_1-x_2+0.5) $$ (w_1=-1,\ w_2=-1,\ b=0.5)$
XOR$(x_1'x_2+x_1x_2')$❌ 单层不可分
(需两层感知机组合)
XNOR$(x_1x_2+x_1'x_2') $❌ 单层不可分
(XOR 的反)
NOT (单输入)$(x_1') $$(f(x)=-x_1+0.5) $$(w_1=-1,\ b=0.5) $
BUF (单输入)$(x_1) $$(f(x)=x_1-0.5) $$(w_1=1,\ b=-0.5)$

$$ \begin{aligned} & \text{XNOR 是 XOR 的反函数。} \\ & \text{XOR 定义为:} \quad & x_1 \oplus x_2 &= x_1'x_2 + x_1x_2' \\ & \text{XNOR 就是它的反:} \quad & (x_1 \oplus x_2)' &= (x_1'x_2 + x_1x_2')' \\ & \text{对这个式子应用德摩根律:} \quad & (x_1'x_2 + x_1x_2')' &= (x_1'x_2)'(x_1x_2')' \\ & \text{再用德摩根律展开每个括号:} \quad & &= (x_1'' + x_2')(x_1' + x_2'') \\ & \text{化简双否定:} \quad & &= (x_1 + x_2')(x_1' + x_2) \\ & \text{再展开:} \quad & &= x_1x_1' + x_1x_2 + x_1'x_2' + x_2x_2' \\ & \text{根据互补律 } (x_1x_1' = 0,\ x_2x_2' = 0),\text{去掉它们:} & &= x_1x_2 + x_1'x_2' & \end{aligned} $$

0️⃣ 约定与激活函数🔗

  • 输入取 {0,1}:False = 0,True = 1。
  • 感知机(或输出单元)使用阶跃函数 $$ H(z) = \mathbf{1}[z \ge 0] $$
  • 输出形式为 $$ y = H(\mathbf{w}^\top \mathbf{x} + b) $$

1️⃣ 单个感知机实现 OR(m 输入)🔗

✅ 无取反(纯 OR)🔗

$$ y = H\Big(\sum_{i=1}^m x_i - 0.5\Big) $$

等价于权重与偏置: $$ w_i = 1, \quad b = -0.5 $$ 只要有一个 $x_i = 1$,就有 $\sum x_i \ge 1 \Rightarrow y = 1$。


✅ 含取反的 OR(有 k 个输入被取反)🔗

设某个子句为:

$$ (\underbrace{x_{i_1} \vee \dots \vee x_{i_s}}_{\text{正文字 } s \text{ 个}} \vee \underbrace{\neg x_{j_1} \vee \dots \vee \neg x_{j_k}}_{\text{负文字 } k \text{ 个}}) $$

则权重定义为:

$$ \begin{aligned} w_i = \begin{cases} +1, & x_i \text{ 以正文字出现} \\ -1, & x_i \text{ 以负文字出现(即 } \neg x_i) \\ 0, & x_i \text{ 不在该子句中} \\ \end{cases} \qquad b = k - 0.5 \end{aligned} $$

于是感知机为: $$ y = H!\Big(\sum_{\text{正}} x_i - \sum_{\text{负}} x_i + (k - 0.5)\Big) $$

解释:负文字“$\neg x$”满足时 $x=0$,通过“$-x$ + 常数偏置”实现逻辑。


2️⃣ 单个感知机实现 AND(n 输入)🔗

要所有输入都为 1 才输出 1: $$ y = H\Big(\sum_{i=1}^n x_i - (n - 0.5)\Big) $$

等价于: $$ w_i = 1, \quad b = -(n - 0.5) $$


✅ 小结🔗

功能感知机表达式权重设置偏置
OR(纯)$H(\sum x_i - 0.5)$$w_i=1$$b=-0.5$
OR(含取反)$H(\sum_{\text{正}} x_i - \sum_{\text{负}} x_i + k - 0.5)$正=+1,负=-1$b=k-0.5$
AND$H(\sum x_i - (n-0.5))$$w_i=1$$b=-(n-0.5)$

💡 提示:

  • “−0.5” 的阈值是为了防止模糊临界点。
  • 若激活函数定义为严格大于(>),阈值可改为 0 或 1。
  • 这些权重方案是可直接用于实现 CNF 网络的基础模块。

参考原文