计组中的组合数学
一、反演定律
如果将一个式子的与和或互换(注意不改变计算顺序,也就是与转换成或的时候需要加括号),1和0转换,文字相互转换,那么就可以得到这个公式的反,举个例子
F
=
A
ˉ
B
ˉ
+
C
D
{F} = \bar A \bar B + CD
F=AˉBˉ+CD
那么他的反演式,就是
F
ˉ
=
(
A
+
B
)
(
C
ˉ
+
D
ˉ
)
\bar{F} = (A + B)(\bar C + \bar D)
Fˉ=(A+B)(Cˉ+Dˉ)
我们注意到反演直接就给等号左侧取反了,这就是对的,也就是说,原来能够使
F
F
F 得 1 的输入向量,现在能使
F
ˉ
\bar F
Fˉ 得 0 ,,原来能够使
F
F
F 得 0 的输入向量,现在能使
F
ˉ
\bar F
Fˉ 得 1。可以说是一个很神奇的公式了,神奇到我之前都没有发现他的威力。
那么为什么会有这种结果呢?可以粗浅的理解一下,如果把 F F F 展开成一个极小项范式,这个范式按照上面的操作来一遍,就可以得到 F ˉ \bar F Fˉ 的极大项范式,这个可以从真值表中直接得出,反之亦然。对于没有化成标准范式的式子,其实都是可以推广的。
二、对偶定理
这个其实就是不交换原变量和反变量,其他跟反演定律一致,举个例子
F
=
A
ˉ
B
ˉ
+
C
D
{F} = \bar A \bar B + CD
F=AˉBˉ+CD
他的对偶式就是
F
∗
=
(
A
ˉ
+
B
ˉ
)
(
C
+
D
)
F^* = (\bar A +\bar B)( C + D)
F∗=(Aˉ+Bˉ)(C+D)
但是
F
∗
F^*
F∗ 和
F
F
F 之间就没有这么明显的关系了,这是因为这个式子探究的不是函数间的关系,而是恒等式(等号两侧是平等的)之间的关系,正确的用法是
F
=
A
(
B
+
C
)
=
A
B
+
A
C
F= A(B+C)=AB + AC
F=A(B+C)=AB+AC
然后由对偶定理,我们可以得到另一组恒等式,有
F
∗
=
A
+
B
C
=
(
A
+
B
)
(
A
+
C
)
F^* = A + BC = (A + B)(A + C)
F∗=A+BC=(A+B)(A+C)
三、一个重要公式
A B + A ˉ C + B C D E F . . . = A B + A ˉ C AB + \bar AC + BCDEF... = AB + \bar AC AB+AˉC+BCDEF...=AB+AˉC
如果有两项中的因子互为反变量 A , A ˉ A,\bar A A,Aˉ, 而且这两项中的其他因子 B , C B,C B,C 在后面中的某一项中同时出现 $BCDEF… $,那么这一项可以消去。
证明方式如下:
A
B
+
A
ˉ
C
+
B
C
D
E
F
.
.
.
=
A
B
+
A
ˉ
C
+
(
A
+
A
ˉ
)
B
C
D
E
F
.
.
.
=
A
B
+
A
B
C
D
E
F
.
.
.
+
A
ˉ
C
+
A
ˉ
B
C
D
E
F
.
.
.
=
A
B
+
A
ˉ
C
AB + \bar AC + BCDEF... = AB + \bar AC + (A + \bar A)BCDEF... = AB + ABCDEF... + \bar AC + \bar ABCDEF...=AB + \bar AC
AB+AˉC+BCDEF...=AB+AˉC+(A+Aˉ)BCDEF...=AB+ABCDEF...+AˉC+AˉBCDEF...=AB+AˉC
四、公式化简和卡诺图
公式化简的最基本的方法就是合并、补项和联立,其中以补项和联立最为反人类思维方式。但是这两种都可以很好用卡诺图解决。
对于SR寄存器的状态转移公式,有如下式
Q
n
+
1
=
S
ˉ
R
ˉ
Q
n
+
S
R
ˉ
Q
ˉ
n
+
S
R
ˉ
Q
n
Q^{n+1} = \bar S\bar RQ^n + S\bar R\bar Q^n + S \bar R Q^n
Qn+1=SˉRˉQn+SRˉQˉn+SRˉQn
S ⋅ R = 0 S\cdot R = 0 S⋅R=0
可列出卡诺图如下:
00 | 01 | 11 | 10 | |
---|---|---|---|---|
0 | 0 | 0 | x | 1 |
1 | 1 | 0 | x | 1 |
可以看出根据卡诺图很容易就可以写出表达式
Q
n
+
1
=
S
+
R
ˉ
Q
n
Q^{n+1} = S + \bar R Q^n
Qn+1=S+RˉQn
其中x是因为对于S,R均为1的情况,不会出现,所以是x。
那么我们在看一遍正经的化简过程:
Q
n
+
1
=
S
ˉ
R
ˉ
Q
n
+
S
R
ˉ
Q
ˉ
n
+
S
R
ˉ
Q
n
+
S
R
(
Q
n
+
Q
ˉ
n
)
+
S
R
ˉ
Q
n
=
S
+
R
ˉ
Q
n
Q^{n+1} = \bar S\bar RQ^n + S\bar R\bar Q^n + S \bar R Q^n + SR(Q^n + \bar Q^n) + S\bar RQ^n=S +\bar R Q^n
Qn+1=SˉRˉQn+SRˉQˉn+SRˉQn+SR(Qn+Qˉn)+SRˉQn=S+RˉQn
可以看到,增添的三项其中两项对应的是x,另一项是画圆圈的时候重叠的项,所以可以看出,补项和联立被处理的很好。