『排他的論理和0の存在証明』

『排他的論理和0の存在証明』解答


◆大阪府 らぶりぃナナちゃん さんからの解答。

7数のうち同じ数字があればその2数の排他的論理和を取れば0に出来る。
以下7数を全て異なると仮定する。

またf(a,b,c,d,e,f,g)を

a:1 一つ目の数字を含む a:0 含まない
b:1 二つ目の数字を含む b:0 含まない
g:1 7つ目の数字を含む g:0 含まない

様な組み合わせと定義する。

g(a,b,c,d,e,f,g)をf(a,b,c,d,e,f,g)のそれぞれの排他的論理和とする。

7つの数字から2つ以上を取る組み合わせは、
27-1-7=120通り。

さらに排他的論理和を取っていることより、それらは0〜63までの64通りの値を取る。

よって、部屋割り論法より、ある組み合わせと別の組み合わせで同じ値を取るものが存在する。

その組み合わせをf(a1,b1,c1,d1,e1,f1,g1),f(a2,b2,c2,d2,e2,f2,g2)とする。

xorを排他的論理和の演算として、

g(a1,b1,c1,d1,e1,f1,g1) xor g(a2,b2,c2,d2,e2,f2,g2)
=g(a1 xor a2,b1 xor b2,...,g1 xor g2)
=0

a1 xor a2,...,g1 xor g2の7つを考えると、異なる組み合わせであったことから少なくとも一つは1でないものが存在する。
さらに、7つの数字が自然数であったことから少なくとも2つは1でない事が言える。

よって、f(a1 xor a2,b1 xor b2,...,g1 xor g2)が求める様な組み合わせである。


◆東京都 かえる さんからの解答。

一般形は下記のとおりです。

n−1以下の自然数なら、どのようなn+1数であっても、それらをすべて2進数で表すと、n+1数の内 のあるいくつか(≧2)において、排他的論理和が全ビットとも0となるものが必ず存在します。

(注)ここでは数論の慣例に従い、自然数に0を含まないとします。
0を含むとn=6のとき、7つの数、0,1,2,4,8,16,32の反例がでます。

証明

選んだn+1数をA0,A1,・・・,An(≠0)とし、それぞれ2進表示(nビット)とします。

0,a1,・・・,anを0または1とし、
一次結合N=a0・A0+a1・A1+・・・+an・Anを考えます。

ここで"+"は2進表示のビット毎の排他的論理和を意味します。

0,a1,・・・,anの0,1のすべての組み合わせは2n+1個あり、一方Nの数は2n個あります。

したがって2つの異なる組み合わせ
α0,α1,・・・,αnとβ01,・・・,βnに対して

α0・A0+α1・A1+・・・+αn・An=β0・A0+β1・A1+・・・+βn・Anとなるものがあります。

よって、このような組み合わせにおいて、

0+β0)・A0+(α1+β1)・A1+・・・+(αn+βn)・An=0となります。

ただしここでもαk+βkも排他的論理和を意味します。

α0,α1,・・・,αnとβ01,・・・,βnが異なる組み合わせであることから
少なくとも1つのαk+βkは1です。

しかしながら、1つのαk+βkが1の場合Ak≠0から、
少なくとも2つ以上の異なるAj,Ak
j+・・+Ak=0となります。

以上により、n+1数の内のあるいくつか(≧2)において、排他的論理和が全ビットとも0となるものが存在することが証明されました。


本問に関しては、2進空間でのベクトルのような、もっと深い概念があるのでしょうね。


◆愛知県 Y.M.Ojisan さんからの解答。

【一般化命題】

pを素数、nを自然数とする。
0でないn桁のp進数(整数)をn+1個集めた集合から、適当な2個以上の数の整数係数線形結合を作ると0にできる。

ただし、ここでの演算×と+はmod p で各桁ごとに実施し、繰り上がりはない。

∵一つの数に対応して、各桁の値(0〜p−1)を要素とするn次元のベクトルを考える。
上記の演算×と+は繰り上がりが無いので、ベクトルのスカラー積およびベクトル和と同じ作用である。

n次元のベクトル空間において、n+1個のベクトルは必ず線形従属である。
(線形代数の基礎であり証明しない)

よって、線形結合を作ると0になる適当な2個以上のベクトルがある。
また、その係数は有理数であり、適当に分母を払うことにより既約の整数係数とできる。
また、係数が既約であるので、全ての係数がpの倍数であることはない。
また、係数が1個を除き0である場合はその対応ベクトルは0でなければならないので矛盾し、2個以上の係数がmod p でも0ではない。

因みに例題はp=2 n=6の場合であり、排他論理和は mod 2での加算と等しく、また係数はmod 2で 0か1なので、使う/使わないに対応する。


 『排他的論理和0の存在証明』へ

 数学の部屋へもどる