什么时候布尔函数被认为是“仿射”

时间:2017-01-25 11:06:05

标签: boolean-logic

就像标题所说我的问题如下:布尔函数何时是仿射函数?我需要这个来检查一些布尔函数是否弥补了一个充分的设置。

我找到了以下定义:

  

仿佛f(x1,...,xn)= c0⊕c1x1⊕···⊕cnxn对于某些c0,...,cn∈{0,1}

但我真的不明白。是否有一些简单的方法,例如从真值表中读出一个小函数?

考虑f(x,y)=x⊕y

+------------+
|x  y  |  f  |
|1  1  |  0  |
|1  0  |  1  |
|0  1  |  1  |
|0  0  |  0  |
+------------+

f(x1 ... xn)在此内容中的含义是什么?

分别是c0 ... cn是什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

common definition是: enter image description here

基本上,除非各自的系数为假,否则输入总结为异或。在您的表示法中,“c0”将反转函数值。

要检查输入很少的功能,可以使用功能表。在您的示例中:

x1 x2
x  y  f
1  1  0  =  c2 ⊕ c1 ⊕ c0
1  0  1  =       c1 ⊕ c0
0  1  1  =  c2      ⊕ c0
0  0  0  =            c0

从最后一行开始,c0必须为0。

在第2行和第3行插入“c0 = 0”,我们得到“c1 = 1”和“c2 = 1”。

第一行证明是正确的。因此,“x⊕y”实际上是仿射。 在这个简单的例子中,这可以通过没有真值表的检查直接说出来。