就像标题所说我的问题如下:布尔函数何时是仿射函数?我需要这个来检查一些布尔函数是否弥补了一个充分的设置。
我找到了以下定义:
仿佛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是什么?
提前致谢!
答案 0 :(得分:1)
基本上,除非各自的系数为假,否则输入总结为异或。在您的表示法中,“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”实际上是仿射。 在这个简单的例子中,这可以通过没有真值表的检查直接说出来。