三者奇校验:从真值表到布尔表达式

三者奇校验 的真值表,以及它定义的公式:标准 DNF、标准 CNF 和最简形式。

真值表
pqr输出
1
2
3
4
5
6
7
8

这些形式是如何从表中读出的

  • 8 行中有 4 行输出为 ⊤:2, 3, 5, 8。每一行为 DNF 贡献一个最小项。
  • 8 行中有 4 行输出为 ⊥:1, 4, 6, 7。每一行为 CNF 贡献一个最大项。
析取范式(积之和)
(p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ r) ∨ (p ∧ q ∧ r)
合取范式(和之积)
(p ∨ q ∨ r) ∧ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ q ∨ ¬r) ∧ (p ∨ ¬q ∨ ¬r)

常见问题

关于逻辑计算器使用方式的常见问题解答

“从真值表到表达式”这个工具是做什么的?

它让计算器反过来运行。你逐行点击来设定真值表的输出列,它就生成一个真值表恰好如此的公式,形式可以是析取范式(若干合取式的析取)或合取范式(若干析取式的合取)。

析取范式和合取范式有什么区别?

析取范式是积之和:输出为真的每一行对应一个合取式,全部用“或”连接。合取范式是和之积:输出为假的每一行对应一个析取式,全部用“与”连接。两者描述同一个函数,所以哪个对你的表格更短就用哪个——输出大多为假时析取范式较短,大多为真时合取范式较短。

合成工具最多支持几个变量?

最多五个,也就是 32 行的表格。每加一个变量行数就翻倍,超过五个之后,这张表就不再是能靠手工设定的东西了。

为什么生成的表达式这么长?

范式是一行一行搭起来的:每需要覆盖一行,就有一个包含全部变量的项。所以它的长度跟着真值表走,而不是跟着公式背后的想法走。它按构造保证正确,但不保证简洁。想缩短的话,把它放到计算器里打开,那里会列出等价形式,包括一个最小化的析取范式。

能得到一个公式的简化版本吗?

可以。把它输入计算器,看真值表下方的等价形式。其中既有依代数定律改写得到的形式,也有从真值表读出的析取范式和合取范式,以及一个最小化的析取范式。

查看全部问题