Math 如何解决xor';线性方程组?
Math 如何解决xor';线性方程组?,math,matrix,binary-data,Math,Matrix,Binary Data,我有这个方程组 a⊕0⊕C⊕0⊕0⊕0=2 0⊕B⊕0⊕D⊕0⊕0=3 a⊕0⊕0⊕0⊕x⊕0=4 0⊕B⊕0⊕0⊕0⊕y=8 0⊕0⊕C⊕0⊕x⊕0=6 0⊕0⊕0⊕D⊕0⊕y=11 ⊕ 是XOR 当我用高斯解这个方程时,遵循Denley Bihari的方法 它告诉我: 10100=2 011010=3 01 01 01 0=6 01=11 0=0 0=0 这就是DNE,尽管答案是a=5 b=10 c=7 d=9 x=1 y=2 (我先得到了常数值,然后形成了方程) 那么正确的方法是什么呢?我
我有这个方程组
a⊕0⊕C⊕0⊕0⊕0=2
0⊕B⊕0⊕D⊕0⊕0=3
a⊕0⊕0⊕0⊕x⊕0=4
0⊕B⊕0⊕0⊕0⊕y=8
0⊕0⊕C⊕0⊕x⊕0=6
0⊕0⊕0⊕D⊕0⊕y=11
⊕ 是XOR
当我用高斯解这个方程时,遵循Denley Bihari的方法 它告诉我:
10100=2
011010=3
01 01 01 0=6
01=11
0=0
0=0
这就是DNE,尽管答案是a=5
b=10
c=7
d=9
x=1
y=2
(我先得到了常数值,然后形成了方程)
那么正确的方法是什么呢?我在网上到处搜索
非常感谢您的帮助您在解决什么问题?看起来你有六个常数和六个常数方程
一般来说,求解只涉及异或的方程非常容易。你在解什么?看起来你有六个常数和六个常数方程
通常,只涉及xor的方程的求解非常简单。您的方程是相关的(正如高斯消去法导致所有
0
行所示),因此实际上您的约束比变量少,因此有多个解
在这种特殊情况下,有两组方程,一组涉及a,c,x
,另一组涉及b,d,y
。移除0
s,我们得到
a ⊕ c = 2
a ⊕ x = 4
c ⊕ x = 6
b ⊕ d = 3
b ⊕ y = 8
d ⊕ y = 11
显然,这三个中的最后一个是通过对两组中的前两个进行XORing得到的(或者,三个中的任何一个是通过对组中的其他两个进行XORing得到的)
因此,您可以选择x
和y
作为参数,为它们指定任意值并查找
a = 4 ⊕ x
c = 6 ⊕ x
b = 8 ⊕ y
d = 11 ⊕ y
你可以使用高斯消去法,它要么产生一个给出唯一解的简化形式(如果独立方程的数量等于所涉及变量的数量),要么产生一个包含all-0行的简化形式,允许对所有解的空间进行参数化,要么产生一个包含(t至少)一行,所有系数为0,但右侧非零,在这种情况下,没有解
所有其他求解方法都会产生相同的结果。您的方程是相关的(高斯消去法导致所有
0
行也表明了这一点),因此实际上您的约束比变量少,因此有多个解
在这种特殊情况下,有两组方程,一组涉及a,c,x
,另一组涉及b,d,y
。移除0
s,我们得到
a ⊕ c = 2
a ⊕ x = 4
c ⊕ x = 6
b ⊕ d = 3
b ⊕ y = 8
d ⊕ y = 11
显然,这三个中的最后一个是通过对两组中的前两个进行XORing得到的(或者,三个中的任何一个是通过对组中的其他两个进行XORing得到的)
因此,您可以选择x
和y
作为参数,为它们指定任意值并查找
a = 4 ⊕ x
c = 6 ⊕ x
b = 8 ⊕ y
d = 11 ⊕ y
你可以使用高斯消去法,它要么产生一个给出唯一解的简化形式(如果独立方程的数量等于所涉及变量的数量),要么产生一个包含all-0行的简化形式,允许对所有解的空间进行参数化,要么产生一个包含(t至少)一行,所有系数为0,但右侧非零,在这种情况下,没有解
所有其他的解决方法都会产生相同的结果。你可能更愿意问这个问题,你可能更愿意问这个问题,是的,确实如此,但我无法解决它。我编辑了这个问题来展示我的尝试。@SalmaNafady:你为什么要解决这个问题?它看起来对我来说已经解决了。不是的,我只是给出常数的值来表明它确实有一个解决方案,用二进制写数字,并计算每个位置的1数。如果是奇数,则写1,否则写0。这应该等于右手边。是的,正是这样,但我不能解决它。我编辑了这个问题来展示我的尝试。@SalmaNafady:你为什么要解决这个问题?它看起来对我来说已经解决了。不是的,我只是给出常数的值来表明它确实有一个解决方案,用二进制写数字,并计算每个位置的1数。如果是奇数,则写1,否则写0。这应该等于右手边。