逻辑代数的数学抽象表示
前言
逻辑代数又被称为“开关代数”,是分析和设计逻辑电路的数学基础。
在游戏过程中,想必你也看到了,一个逻辑电路,是由输入、输出和中间的一些导线和门器件构成的。如果我们要将电路抽象成数学语言层面的表述,那么这三者可分别被理解为“逻辑变量”,“逻辑函数”和“函数值”(应变量)。
逻辑自变量
一个输入,就是一个逻辑变量,可以用大写英文字母A表示。不同于数学上一般的变量可以任意取值,逻辑变量的取值只能是0或1。
有一定计算机基础的同学一定知道,0代表“假”(False),而1代表“真”(True),在电子电路中,我们用电压的高低来表示输入信号的值。例如,如果输入信号A是高电平(超过3.5伏特),那么A就表示1;如果A是低电平(低于0.25伏特),那么就表示0。
逻辑变量的具体取值可以用等于号表示,如 A = 1,表示A的值为True。
逻辑函数
逻辑函数可以用 f 表示,和数学中的函数一样,它表示了一种映射和对应法则,对于任意的逻辑变量A,经过逻辑函数 f,会得到一个唯一的值 f(A)。
函数值(应变量)
上一段中的 f(A)就是一个函数值,也被称为一个应变量,因为它的值是根据A的值而定的。我们可以给它一个标记为 Y。
数学表示
这样,一个逻辑图就可以被抽象为如下数学表达式:
Y = f(A)
假如我们有多个输入(假设有N个),那么表达式如下:
Y = f(A1, A2, A3, ..., AN)
实际情况下,一个逻辑电路是一定会有多个输入的,那么输出Y就是关于这些输入的多元函数。
如果有多个输出,那么每个输出分别是关于跟自己有关的输入的多元函数。
真值表
上述描述中我们知道,逻辑电路不过就是用来处理Y和A之间的关系的一种工具。为了更加直观地显示Y和A之间的关系,我们用“真值表”的方式表示:
这张表清楚地反映了Y和变量A,B之间的关系,当A和B取值相同时Y为1,否则为0。变量的取值又被称为变量的真值。
逻辑表达式
真值表可以反映Y和变量的关系,但是要想清楚地知道逻辑电路以什么样的方式连接和设计,就必须写出逻辑函数 f 的具体表达式。根据表达式,逻辑变量进行逻辑运算,得到最终输出结果。
一个简单的逻辑表达式如下:
Y = f(A, B) = A + B
A和B表示输入,它们之间产生了某种运算(加法运算),最终得到了输出结果Y
逻辑运算
在这一章,我只介绍三种运算:加法(+),减法(*),和逆运算(~)
我们规定:
(1)两个逻辑变量A和B相加为0,当且仅当A = B = 0
这意味着:1 + 1 = 1,1 + 0 = 1,0 + 1 = 1,0 + 0 = 0
这和数学上的加法相似,不过1 + 1 ≠ 2,而是1,因为逻辑变量(包括自变量和因变量)的取值只能是0或1。
(2)两个逻辑变量A和B相乘为1,当且仅当A = B = 1
这意味着:1 * 1 = 1,1 * 0 = 0,0 * 1 = 0,0 * 0 = 0
这和数学上的乘法是完全一样的。
(3)逆运算(~)就是将变量的值取反,具体地:
若 A = 1,则~A = 0;若 A = 0,则~A = 1。
逻辑运算实际上逻辑门的一种抽象形式,加法、乘法、逆运算分别对应了或门(OR)、与门(AND)和非门(NOT),具体的,我们将在下一章进行解释。
Source: https://steamcommunity.com/sharedfiles/filedetails/?id=3043475620
More Turing Complete guilds
- All Guilds
- Turing Complete Guide 202
- Turing Complete: Basic Logic-Manual
- Robot Racing
- Turing Complete: Basic Logic-Solution
- Turing Complete: CPU Architecture-Solution
- Turing Complete: Arithmetic and Memory-Solution
- The 6502 Microprocessor
- Turing Complete: All-level walkthrough
- Turing Complete Guide 157
- / Turing Complete