■幾何学におけるマイ未解決問題(その18)

 いまなところ,不備な箇所は見つかっていないと思ってすっかり安心していたら,不備が見つかった.秀逸なアイデアだと自己満足しても,日を改めてその問題に向き合ってみると,欠陥があることに気づく.ときには修正できることもあるが,まったく修正不能だったりもする.それが数学である.

===================================

 不備な箇所はブドウの房のようにk立方体がぶら下がっているところである.それらは全体としてツリー様の配列をとり,隣接するブドウの房との間に連結がない.

 横方向に連結させた場合,2つの多面体,たとえばw1=(010110)とw2=(101001)の距離を求めることを考える.

[1]それぞれの群内のハミング距離を求める.たとえば

   b1=(010010)とw1のハミング距離は1

   b2=(100001)とw2のハミング距離は1

→深さ方向の差はない.

[2]b1とb2のマンハッタン距離を求める.まず,横方向の差であるが,

  b=(01,・・,0u,1,01,・・,0v,1,01,・・,0w)

  b=(01,・・,0u,1,01,・・,0w)=「1」

または

  b=(01,・・,0u,1,1,01,・・,0w)=「11」

に変換する.

 1つ左にいくと左右のポインタが1つずつ内側に,1つ右にいくと左右のポインタが1つずる外側に移動するから,vが偶数の場合のステップ数はv/2,奇数の場合は(v+1)/2,すなわち,いずれの場合も

  [(v+1)/2]

ステップとなる.

  b1=(010010)→(001100)になるステップ数は1

  b2=(100001)→(001100)になるステップ数は2

その差は1である.

[3]次に,縦方向の差を求める.1の数が同じ場合,たとえば,

  b1=(001100),b2=(110000)→差は4

  b1=(001100),b2=(010000)→差は2

  b1=(001100),b2=(001100)→差は0

  b1=(001100),b2=(000110)→差は2

  b1=(001100),b2=(000011)→差は4

すなわち,1ビットのシフトは2差に相当する.

  b1=(001000),b2=(100000)→差は4

  b1=(001000),b2=(010000)→差は2

  b1=(001000),b2=(001000)→差は0

  b1=(001000),b2=(000100)→差は2

  b1=(001000),b2=(000010)→差は4

  b1=(001000),b2=(000001)→差は6

この場合も1ビットのシフトは2差に相当する.

 1の数が異なる場合,「1」を規準にしてみると,

  b1=(001000),b2=(110000)→差は3

  b1=(001000),b2=(011000)→差は1

  b1=(001000),b2=(001100)→差は1

  b1=(001000),b2=(000110)→差は3

  b1=(001000),b2=(000011)→差は5

「11」を規準にしてみると,

  b1=(001100),b2=(100000)→差は5

  b1=(001100),b2=(010000)→差は3

  b1=(001100),b2=(001000)→差は1

  b1=(001100),b2=(000100)→差は1

  b1=(001100),b2=(000010)→差は3

  b1=(001100),b2=(000001)→差は5

[4]求める間マンハッタン距離は[1]+[2]+[3]

 すなわち,深さ方向の差0+横方向の差1+縦方向の差0

w1=(010110)とw2=(101001)の距離は3と比較されたい.

===================================