$$
\pmb { X } ^ { = } \pmb { M } \times \left( \pmb { W } + \pmb { T } \right)
$$
$$
\pmb { Y } { = } \pmb { F } \times ( \pmb { I } - \pmb { W } )
$$
现在,描述你想要的小猫的表达式可以写为:
$$
( N \times X ) + ( N \times Y ) + B
$$
化简后,我们可以将X和Y表达式代回去。
注意,变量N在表达式中出现了两次。利用分配率,表达式可以写为只有一个N的形式:
$$
( \pmb { N } \times ( \pmb { X } + \pmb { Y } ) ) + \pmb { B }
$$
现在将X和Y的表达式带入:
$$
( N \times ( ( M \times ( W + T ) ) + ( F \times ( 1 - W ) ) ) ) + B
$$
由于括号太多,这个表达式看起来并不简单。但是这个表达式中少了一个变量,也就意味着在网络中少了一个开关。以下就是简化后的电路图。
确实,证明修改前后的两个电路功能等价要比去证明两个表达式功能相同简单许多。
事实上,网络中仍然有三个开关是多余的。理论上讲,你只需要四个开关来定义你心目中的猫咪即可。这是为什么呢?每个开关都是一个二进制数。你可以设定一个开关代表猫的性别(开关断开表示是公的,而闭合表示是母的),另一个开关闭合表示猫是否有生育能力(开关断开表示未绝育,而闭合则表示已绝育)。另两个开关用来表示猫的颜色。这里有四种可能出现的颜色(白色、黑色、褐色和其他颜色),而我们知道,四种选择可以用两个二进制位来定义,于是你需要的就是两个颜色开关。例如,两个开关同时断开表示白色,一个闭合表示黑色,另一个闭合表示褐色,同时闭合表示其他颜色。
编码—隐匿在计算机软硬件背后的语言
110