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。这应该等于右手边。