科学网

 找回密码
  注册

tag 标签: 布尔代数

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

数学为什么这么抽象?
热度 1 mayaoji 2018-3-2 12:17
从算术说起 在幼儿园是这样学数学的。桌上有一个苹果,再放一个苹果,是两个苹果,所以 1+1=2 。有 5 个苹果,拿走 3 个,还剩 5-3=2 个。苹果分成 3 排,每排 5 个,共有 3x5=15 个。总之,加减乘除都是很容易的,理解起来毫不费力,但为什么越学下去会发现数学越抽象呢? 算术虽然简单,可是用途非常广泛。不但能用于算苹果算绵羊,还能算一些看起来完全不同的东西。 比如甲在奔跑,速度是 10 ,而甲前面有一辆车,车相对于甲的速度也是 10 ,则可算出车的速度是 10+10=20 。速度和苹果非常不同的东西,但也同样能用加法解决。又如,有个足球重量为 10 ,我们一脚踢过去,足球飞出去那瞬间的加速度是 5 ,我们可以算出那瞬间足球受到的力是 10x5=50 。 为什么截然不同的现象都要用到算术?因为数学本质上是抽象的。是的,即使幼儿园的数学简单,它本质上也是抽象的。这句话如何理解? 有这样的脑袋急转弯题目。什么时候 1 加 1 不等于 2 ?其中一种回答是一滴水加一滴水还是一滴水。又有这样的题目,树上有 10 只鸟,一枪打下一个,还剩几个?答案是没有了,因为全吓跑了。 上面这些题目能说明算术错了吗? 1 加 1 不等于 2 ? 10 减 1 不等于 9 ?不能。它只能说明,加法不能用于水滴相加这种情况(或者 1 不能解释为 1 滴水),减法不能用于打鸟这种情况。 算术本质上是一些数进行运算,我们规定了它的运算规律。它是抽象的,不管现实世界如何,它都是那样子,永远都是 1+1=2 , 1+2=3 。我们可以对数和运算给予解释,将它和现实世界联系起来。在有的解释下,算术成了很有用的工具,比如数苹果。这些数对应着苹果的数量,加法就是将苹果放在一起,苹果的数量规律和算术规律完全相同(注释 1 )。又如算术可用于计算速度计算受力,因为这些日常现象的规律和算术规律相同。但在有的解释下,这工具不能用,比如水滴,比如打鸟。 正因为数学是抽象的,它可以有不同的解释,所以才会有广泛的应用。它是抽象的,所以不用做实验检验一个数学定理是否正确,所以它不会错,除非出现自相矛盾。它是抽象的,所以可能有些数学会完全没有用,因为找不到适合它的解释。 人们花了很长的时间才认识到了数学的抽象性。 3 减 5 等于几?我们现在都知道等于— 2 。但负数究竟存不存在,人们争论了很久,因为那时人们还不理解数学的本质。— 2 个苹果存在吗,这是什么意思?后来发现— 2 可以理解为欠了两个苹果。能将负数开方吗? 是 5 ,但 存在吗?它是多少?后来将这类数称为虚数,规定了它们的运算规律,将它们纳入数学中。再后来,发现可以在坐标系中表示虚数,还发现它们在物理上有很多应用。 数学本质上是抽象的,就算负数和虚数没有找到解释,在现实中没有任何应用,只要它们不出现矛盾,就可以将它们加到数学中去。 我们之所以觉得小学数学简单,是因为这些数学运算是从熟悉的日常经验中总结出来的,尽管它们本质上不依赖于这些经验存在,可以有其他的解释。深入学下去,会觉得数学越来越抽象,那是因为我们学一些更深层更普遍的结构,它们不是直接来源于生活经验。 数学是抽象的,它的元素和运算都可以人为规定。因此我们可以构造不同的算术,比如布尔代数。下面通过布尔代数来体会一下数学的抽象性。 布尔代数:最简单的抽象数学 二元布尔代数是具有广泛应用的抽象数学里最简单的,起码我知道的是这样。数学都是抽象的,这里特别指出抽象数学,是指这类数学先有抽象的运算,并不知道这运算在现实世界中意味着什么,后来才找到应用,或者是根本没有应用。 ( 注释 2 ) 小学算术从日常经验中总结出来,按这里的理解不是抽象数学。 实际上,相对来说布尔代数不算抽象,因为很容易将布尔代数和日常生活结合起来。很多数学远离日常生活经验,比它抽象得多复杂得多。这 里只谈二元布尔代数,所以这篇文章说的布尔代数都是指二元布尔代数。 布尔代数的定义: 它只包含 0 和 1 两个元素,有三种运算,乘法运算、加法运算和负运算。 1 、乘法运算: 0x0=0 ; 0x1=1 ; 1x0=0 ; 1x1=1 2 、加法运算: 0+0=0 ; 0+1=1 ; 1+0=1 ; 1+1=1 3 、负运算: 0’=1 , 1’=0 在布尔代数里 1+1=1 ,和通常的算术不同。 1+1=2 在这里肯定是不成立的,因为这里根本没有 2 这个元素。那有没有矛盾呢? 1 加 1 究竟等于 1 还是等于 2 ?没有矛盾,这里是另一个体系。 0 、 1 、 + 、 x 这些符号只是碰巧和以前的算术相同,我们完全可以用别的符号代替。比如用 m 代替 0 ,用 n 代替 1 。就如同苹果这个词,既可以指某种水果,也可以是手机品牌,它们只是碰巧名字相同。 我们规定运算的优先顺序是负运算、乘法运算、加法运算。所以, a+(bxc) 和 a+bxc 是同一个式子,而 (a+b)xc 和 a+bxc 不是同一个式子。 理论上还可以定义其他的运算,但上面这三种运算已经够了,其他的运算都可以用它们构造出来。 举个例子,我们定义一种 Å 运算: 1 Å 1=0 , 1 Å 0=1 , 0 Å 1=1 , 1 Å 1=0 。 可以证明: a Å b = axb’ + a’ xb Å 运算又称异或运算。 在这种简单的代数里,我们也有各种各样的定理。比如,任何运算都可以用加法乘法负运算构造出来,而且有一种固定的方法来找到这种构造。 布尔代数还有其他更常见的定义,见注释 3 。 布尔代数的应用 这种古怪的布尔代数有什么用呢?用处很多,对元素和运算的解释不同,有不同的应用。 在逻辑学的应用 把 1 理解为真, 0 理解为假, + 理解为或者, x 理解为并且, ’ 理解为并非。 例子 1 : 太阳是三角形的。因为这句话是假的,所以它的真值是 0 。并非太阳是三角形的,这句话的真值是 0’ ,即 1 ,也就是真的。也就是说,一个命题的真值是 a ,则它的否定是 a’ 。 例子 2 : 张三是男的,并且李四是女的。这句话包含两部分,两部分都是真的它才真,有一部分是假的,它就是假的。比如李四如果不是女的,这句话就假了。 这句话的真值可用 axb 表示,因为 a 和 b 都是 1 , axb 才是 1 ,如果有一个 0 则 axb 的值就是 0 。 在电路设计的应用 布尔代数在电路中有极重要的应用,我们天天用的手机和电脑的电路设计都离不开布尔代数。下面举例说明如何用布尔代数来帮助设计实现加法的电路。 在数字电路里,有两种电压,分别是低电压和高电压,又叫低电平和高电平,对应着 0 伏和 5 伏(有时候是其他的数值)。我们把布尔代数里的 0 理解成低电平, 1 理解成高电平。注意,这里 0 和 1 对应的是不同的电压状态,它和具体的电压数值没有关系,如刚才说的高电平是 5 伏,但这里用 1 而不是 5 表示。 数字电路里有门电路,将电压在不同的状态间进行转换。三种布尔运算对应的是下面三种电路。 负运算对应的是非门。非门总是把电平从一种状态转换成另一种状态,输入低电平输出高电平,输入高电平则输出低电平。 加法运算对应的是或门, A 和 B 有一个高电平,则 Y 高电平,两个都低电平则 Y 低电平。 乘法运算对应的是与门。在与门里,输入 A 和 B 里有一个是低电平,则 Y 输出的是低电平, A 和 B 都是高电平,则 Y 是高电平。 现在想用这些门电路实现一位数的加法运算,该怎么办?因为只有低电平和高电平两种状态,所以只能有 0 和 1 两个数字,所以只能采用二进制。即 0 + 0=0 , 0 + 1=1 , 1 + 0=1 , 1 + 1=10 。注意这里的 + 是通常的算术加号,而不是布尔代数的加法运算符号,所以这里用斜体表示。因为是二进制,这里的 10 相当于通常的 2 。 即要设计一种电路,有输入 A 和 B ,输出 C 和 S 。 A 是输入的第一个加数, B 是输入的第二个加数, S 对应是结果的个位数, C 对应的是结果的第二个数。它们的关系如下表。 表格里 A 、 B 、 C 这三个数的关系对应着与运算: AxB=C ,所以用与门实现。 A 、 B 、 S 这三个数的关系对应着另一种运算,刚好是上面说的 Å 运算,即 C=A Å B = AxB’ + A’ xB ,也可用相应的门实现。 这样实现的电路称为半加器,具体电路图如下: 注释: 1 、可以想象出不符合算术规律的苹果,比如两个苹果放在一起突然消失了,但这时候算术仍然是正确的,只是在这里它不能用了。 2 、按这里的理解,严格来说布尔代数也不是抽象数学,因为布尔发明这种代数的时候希望用它来表示逻辑推理。 3 、二元布尔代数的另一种定义 这是数学上更常用的定义方法。下面的 a 、 b 都是变量,即代入 0 或 1 式子都成立。 a 和 b 的运算符合下面的规则。 (1) 交换律 a+b=b+a ; axb=bxa (2) 分配律 ax (b+c)=axb+axc ; a+(bxc)=(a+b) x (a+c) (3) 零元运算 a+0=a (4) 单位元运算 ax1=a (5) 负运算 a+a’=1 ; axa’=0 可以证明,两种不同的定义实际上是等价的,即元素间的运算,在两种定义下的结果相同。 比如在这种定义里有 0+1=1 。证明如下:由交换律有 a+0=0+a ,由零元运算有 a+0=a ,所以有 0+a=a ,用 1 代入 a 得, 0+1=1 。 又比如可以证明 0’=1 。从负运算得 0+0’=1 ,从零元运算得 0+0=0 ,又因为刚才证明了 0+1=1 ,所以 0’=1 。
个人分类: 哲学|9221 次阅读|2 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 18:47

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部