什么时候考虑布尔函数 "affine"
When is a boolean function considered "affine"
正如标题所说,我的问题如下:布尔函数什么时候是仿射的?我需要这个来检查是否有一些布尔函数弥补了一个足够的集合。
我找到了以下定义:
affine if f(x1,...,xn) = c0 ⊕ c1x1 ⊕···⊕ cnxn for some c0,...,cn ∈{0,1}
但我不太明白。有没有一些简单的方法,例如从事实中读取它 table 一个小函数?
考虑 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 分别是什么?
提前致谢!
基本上,输入是用异或求和的,除非相应的系数是假的。在您的表示法中,"c0" 将反转函数值。
要检查输入很少的函数,可以使用函数 table。在你的例子中:
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" 实际上是 仿射 。
在这个简单的例子中,这可以通过检查直接说出来而不用 truth-table.
正如标题所说,我的问题如下:布尔函数什么时候是仿射的?我需要这个来检查是否有一些布尔函数弥补了一个足够的集合。
我找到了以下定义:
affine if f(x1,...,xn) = c0 ⊕ c1x1 ⊕···⊕ cnxn for some c0,...,cn ∈{0,1}
但我不太明白。有没有一些简单的方法,例如从事实中读取它 table 一个小函数?
考虑 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 分别是什么?
提前致谢!
基本上,输入是用异或求和的,除非相应的系数是假的。在您的表示法中,"c0" 将反转函数值。
要检查输入很少的函数,可以使用函数 table。在你的例子中:
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" 实际上是 仿射 。 在这个简单的例子中,这可以通过检查直接说出来而不用 truth-table.