德摩根规则解释

2024-02-18

你能解释一下吗德摩根规则 https://en.wikipedia.org/wiki/De_Morgan%27s_laws尽可能简单(例如对于只有中学数学背景的人)?


布尔代数概述

我们有两个价值观:T and F.

我们可以通过三种方式组合这些值:NOT, AND, and OR.

NOT

NOT最简单的是:

  • NOT T = F
  • NOT F = T

我们可以将其写为真值表:

when given.. | results in...
============================
           T | F
           F | T

为了简洁

x | NOT x
=========
T | F
F | T

考虑到NOT as the 补充,也就是说,它将一个值转换为另一个值。

AND

AND适用于两个值:

x y | x AND y
=============
T T | T
T F | F
F T | F
F F | F

AND is T仅当两者都论点(值x and y在真值表中)是T — and F否则。

OR

OR is T当它的至少一个参数是T:

x y | x OR y
=============
T T | T
T F | T
F T | T
F F | F

组合

我们可以定义更复杂的组合。例如,我们可以写一个真值表x AND (y OR z),第一行在下面。

x y z | x AND (y OR z)
======================
T T T | ?

一旦我们知道如何评估x AND (y OR z),我们可以填写表格的其余部分。

To evaluate组合,评估各个部分并从那里开始工作。括号显示首先评估哪些部分。你从普通算术中学到的知识将帮助你解决这个问题。说你有10 - (3 + 5)。首先评估括号中的部分以获得

10 - 8

并像往常一样评估以获得答案,2.

评估这些表达式工作原理类似。我们知道如何OR从上面开始工作,所以我们可以稍微扩展我们的表:

x y z | y OR z | x AND (y OR z)
===============================
T T T | T      | ?

现在我们几乎就像回到了x AND y桌子。我们只需将值替换为y OR z并评估。在第一行,我们有

T AND (T OR T)

这与以下相同

T AND T

这就是简单的T.

我们对所有 8 个可能的值重复相同的过程x, y, and z(2 个可能的值x乘以 2 的可能值y乘以 2 的可能值z) to get

x y z | y OR z | x AND (y OR z)
===============================
T T T | T      | T
T T F | T      | T
T F T | T      | T
T F F | F      | F
F T T | T      | F
F T F | T      | F
F F T | T      | F
F F F | F      | F

有些表达式可能比需要的更复杂。例如,

x | NOT (NOT x)
===============
T | T
F | F

换句话说,NOT (NOT x) is 相等的只是x.

德摩根规则

DeMorgan 的规则是方便的技巧,让我们可以在适合某些模式的等效表达式之间进行转换:

  • NOT (x AND y) = (NOT x) OR (NOT y)
  • NOT (x OR y) = (NOT x) AND (NOT y)

(你可能会认为这是如何NOT通过简单的分布AND and OR表达式。)

你的常识可能已经明白这些规则了!例如,想一想“你不能同时出现在两个地方”这样的民间智慧。我们可以使它符合第一条规则的第一部分:

NOT (here AND there)

应用该规则,这就是“你不在这里或你不在那里”的另一种说法。

锻炼:你如何用简单的英语表达第二条规则?

对于第一条规则,让我们看一下等号左侧表达式的真值表。

x y | x AND y | NOT (x AND y)
=============================
T T | T       | F
T F | F       | T
F T | F       | T
F F | F       | T

现在是右侧:

x y | NOT X | NOT Y | (NOT x) or (NOT y)
========================================
T T | F     | F     | F
T F | F     | T     | T
F T | T     | F     | T
F F | T     | T     | T

两个表中的最终值相同。这证明了表达式是等价的。

锻炼:证明表达式NOT (x OR y) and (NOT x) AND (NOT y)是等价的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

德摩根规则解释 的相关文章

  • 多维数组(如 C/C++ 中的数组)是不规则数组的特殊情况吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我和一个哥们讨论了C 和C多维数组是否是不规则数组的特例 一种观点是 多维数组不是参差不齐的数组 因为多维数组的每个元素具有相同的大小 在参差不齐的数
  • 什么是样板代码、热点代码和热点?

    我知道这些术语是在性能实现 优化的背景下使用的 最近一直在研究这个问题 并尝试过搜索 但没有得到任何例子 清楚地阐述 描述这些概念以及在现实世界开发场景中实现这些问题 概念 有人可以彻底解释这些术语 示例场景以及可能使用这些概念和术语的地方
  • 如何检查一个盒子是否适合另一个盒子(允许任何旋转)

    假设我有两个盒子 每个盒子都是一个长方体 http en wikipedia org wiki Rectangular cuboid aka长方体 我需要编写一个函数来决定盒子是否具有尺寸 一 二 三 可以装入具有尺寸的盒子中 甲 乙 丙
  • Python 2.7 布尔运算符逻辑

    我目前正在学习Python 2 7 并且遇到了相等和布尔运算符 我的问题是 Why False and 1 is False but True and 1 is 1 同样地 False or 1 is 1 but True or 1 is
  • 在数字集合中查找最接近的匹配[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 哪些不同的术语表示相同的事物(或不同的术语,但人们认为它们表示相同的意思)? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 与随机数生成算法相关的种子是什么?为什么经常使用计算机时间来创建该种子?

    我读到了seeds用于初始化随机数生成器 但似乎种子的随机性对于从生成器获得良好的随机性并不重要 所以我想了解什么是seed实际上 为什么这么称呼呢 最后为什么time在计算机系统中是用来生成这样的种子的 伪随机数生成器生成数字序列 它不是
  • 从关系数据库中“区分”对象

    我们的 win32 应用程序根据 MySQL 关系数据库中多个表中的数据组装对象 对于这样的对象 多个修订版本存储在数据库中 当存储某些内容的多个修订版本时 迟早您会问自己这样的问题 您是否可以想象两个修订版本之间的差异 所以我的问题是 比
  • 有向无环图的人类可读文本表示

    一棵树有一堆人类和机器可读的文本表示 例如嵌套列表 以各种表示形式 例如 JSON 和 YAML 和 XML 与缩进相结合 它们使我们很容易想象得到的结构 但我没有看到任何具有相同水平可读性的东西有向无环图 https en wikiped
  • 有人真正有效地实现了斐波那契堆吗?

    你们中有人曾经实施过斐波那契堆 http en wikipedia org wiki Fibonacci heap 几年前我就这样做了 但它比使用基于数组的 BinHeaps 慢了几个数量级 当时 我认为这是一个宝贵的教训 告诉我们研究并不
  • 二维空间中的重叠线段

    我需要找出两条线是否相互重叠 如果两条线平行 我有返回 0 的交集代码 但接下来我需要知道这两条平行线是否重叠 Edit A C B D 1号线 A B 2号线 C D 我需要确定第 1 行是否与第 2 行重叠 但两条线的斜率都可以 gt
  • 什么是 NOR 逻辑运算符?

    Is nor a 或 b a 或 b a 和 b 还有什么吗 a 或 b see http en wikipedia org wiki Logical NOR http en wikipedia org wiki Logical NOR了解
  • 识别鼠标移动的算法

    我想知道是否有任何研究 算法可以指定鼠标在识别 等字符时的偏差量使用鼠标绘制 某种光学字符识别 但可能是一个更简单的版本 是否有某种算法可以让我说用户绘制的问号确实是一个问号 而不是其他具有一定准确性的东西 就像 Windows 平板电脑软
  • 当平方和为N时,如何找到四个变量的所有可能值?

    A 2 B 2 C 2 D 2 N给定一个整数N 打印出整数值的所有可能组合ABCD求解方程 我猜我们可以比暴力做得更好 天真的暴力会是这样的 n 3200724 lim sqrt n 1 for a 0 a lt lim a for b
  • 评估 CRC-32 实现中的差异

    我见过相同基本 CRC 32 算法的许多不同实现 如下所示 int remain int sbox SIZESBOX int dividend int bit for dividend 0 dividend lt SIZESBOX divi
  • 获取N个随机数,其总和为M

    我想得到N个随机数 其总和是一个值 例如 假设我想要 5 个总和为 1 的随机数 那么 一个有效的可能性是 0 2 0 2 0 2 0 2 0 2 另一种可能性是 0 8 0 1 0 03 0 03 0 04 等等 我需要这个来创建模糊 C
  • 语义差异实用程序[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试找到一些语义差异 合并实用程序的好例子 比较源代码文件的传统范例是通过比较行和字符来工作的
  • 领域驱动设计与模型驱动架构

    我很好奇 领域驱动设计和模型驱动架构有什么区别 我的印象是他们有某些相似之处 你能启发我吗 Thanks 不要不同意上面的大部分内容 尽管它可能值得稍微扩展一下 DDD 中最重要的一个概念是关注问题域 将对技术的痴迷放在一边 主要集中于对您
  • 人们今天使用的可扩展语言是什么?

    维基百科说 可扩展编程是计算机科学中使用的一个术语 描述一种计算机编程风格 重点关注扩展编程语言 编译器和运行时环境的机制 例如 Tcl 允许您编写自己的控制结构 看here http wiki tcl tk 685 我有兴趣编制在实际代码

随机推荐