『今週の問題』第159回 解答


◆千葉県 なのはな子 さんからの解答

2進法にしてみたら何かわかるかと思いましたが、何もわかりませんでした。
おもしろい数の並び方にはなりましたが、難しいです。

 


◆広島県 清川 育男 さんからの解答

【おまけ6】

ID Number: A046932

Sequence:
3,7,15,21,63,127,63,73,889,1533,3255,7905,11811,32767,255,
273,253921,413385,761763,5461,4194303,2088705,2097151,
10961685,298935,125829105,17895697,402653181,10845877,
2097151,1023,1057,255652815,3681400539

Name:
Set S_0 = 11...1 (n times); S_{i+1} is formed by applying D to last n bits of S_i and appending result to S_i; sequence gives period of resulting infinite string.

Comments:
D is the derivative mod 2: e.g. a,b,c,d,e -> a+b,b+c,c+d,d+e.a(n) equals the multiplicative order of x modulo the binary polynomial 1 + xn-1 + xn.

References
L. Bartholdi, Lamps, factorizations and finite fields, Amer. Math. Monthly, 107 (No. 5, May 2000), 429-436 for an interpretation in terms of a circle of light bulbs.

Example:
n=4 produces 111100010011010, so a(4) = 15.

See also: Cf. A010760, A055061.

Keywords: nonn,easy,nice

Offset: 2

Author(s): Russell Walsmith (russw@mailcity.com, russw@lycos.com)
Extension: More terms from Dean Hickerson (dean@math.ucdavis.edu)

REM 今週の問題−第159回の解答プログラム
 REM ON...1 OFF...-1
 DIM A(36)
 FOR M=2 TO 36
    PRINT USING "###":M;
    FOR I=1 TO M
       LET  A(I)=1
    NEXT I
    LET  Z=0
    FOR N=1 TO 9999999999
       FOR J=1 TO M
          LET  Z=Z+1
          IF J=1 THEN
             LET  J1=M
          ELSE
             LET  J1=J-1
          END IF
          IF A(J1)=1 THEN 
             LET  A(J)=A(J)*(-1)
          END IF         
          REM チェック
          FOR K=1 TO M
             IF A(K)<>1 THEN
                GOTO 10 
             END IF
          NEXT K
          PRINT Z
          GOTO 20
 10       NEXT J
       NEXT N
 20 NEXT M
    END

  2 3 
  3 7 
  4 15 
  5 21 
  6 63 
  7 127 
  8 63 
  9 73 
 10 889 
 11 1533 
 12 3255 
 13 7905 
 14 11811 
 15 32767 
 16 255 
 17 273 
 18 253921 
 19 413385 
 20 761763 
 21 5461 
 22 4194303 
 23 2088705 
 24 2097151 
 25 10961685 
 26 298935 
 27 125829105 
 28 17895697 
 29 402653181 
 30 10845877 
 31 2097151 
 32 1023 
 33 1057 
 34 255652815 
 35 3681400539 
 36 22839252821 

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

手順の回数を問題としているので、操作する位置を回転させないで、操作後ランプの方を回転(シフト)しても同じである。
このとき手順は以下である。

(1)もし、(N−1)番目のランプがついていれば、0番目のランプのON、OFFを切り替える。
もし、(N−1)番目のランプがついていないれば、0番目のランプの状態は変わらない。

(2)(N−1)番目を(N−2)番目に、(N−2)番目を(N−3)番目に。。。。1番を0番に、0番を(N−1)番目に回転する。

を繰り返す。

電球点灯を1、消灯を0で表すと、その手順は上図のようなシフト+排他論理和のデジタル回路であらわされる。
一般にこれはLFSR(線形フィードバックシフトレジスタ)として詳細に研究されている。

参考書:
誤り訂正符号とその応用、映像メディア研究会編、江藤良純、金子敏信監修
その他LFSRで検索すると多数サイトあり。

【問題1】  15回

【問題2】  63回

【おまけ1】 n−1

【おまけ2】

問題のLFSRは逆元(手順)があり、次のLFSRで実現される。

従って、Nビットの有限個のパターンは枝分かれのない単一のループを形成し、必ず元に戻る。
即ち何れ全部点灯する。
(注:全部0は全部0のまま、もループとする)

【おまけ3】

LFSRの0番位置のビット変化を(n+1)×(n-1)の行列に横書きの順でうめると、下図のような帰納的な関係が見える。

なお、図中の黒矢印は操作に対応しており、行列をAK (i,j)で表すとき
AK (i,j) = AK (i,j-1) + AK(i-1,j-1) mod 2 を実施する。
但し、端まで行ったら、赤矢印で示すように一列目一行下に入れる。

元に戻り、帰納的な関係とはn=2KにおけるAKには上図に示すように、
AK-1が2個とAK-1の最下行が無いものが1個図のような3隅の位置に存在し、
その他はAK (1, n
2
)とAK ( n
2
n
2
)を除き0である。

一般にAKがその様な構造をもっているとき、
下図のようにして作った行列BはAK+1になっている。

ここでその様な構造とは、

(1)その内部において AK (i,j) = AK (i,j-1) + AK(i-1,j-1) mod 2が成立している。
(2)一行目は全部1であり、最下行(n+1行目)は全部0である。
(3)一列目は1〜2行目が1でその他は0である。
(4)最終列(n−1列目)は最下行を除き1である。

○ Bが(2)〜(4)を満たすことは容易にわかる。詳細略

○ 最終行の次の行(緑)を(1)の式で計算すると、図に示すように最初が1になり、最終行が0であるから全部1である。
これは1行目の状態と矛盾していない。

○ 最終列から第一列目の3行目以下を(1)の式で計算すると全部0である。
また2行目の1も図中の青矢印に示されるように矛盾していない。

○ 図中赤丸の部分の関係も矛盾がないことは容易にわかる。証明略。

○ 最後に図中青2重丸の部分の関係について述べる。
AKの最下行は本来全部0である。
これはその先頭列が0であることにより決まっている。
従って、もし1なら全部1である。
AKの1行目は全部0である。
よって、図中青2重丸の部分も矛盾が無い。

 以上より帰納的な関係が証明された。
LFSRは線形な関係である。
従って、以上のようにして得られたB=AK+1(i,j)は唯一の解であり、
n=2Kの場合は最長n2−1の周期をもつことが証明された。

 一方1がn個連続する部分は1行目から2行目の先頭にかけてのみである。
なぜなら、n−1行は全部0で、それ以外のところでも1列目の0により少なくともn−1連続するなかに0が1個あるからである。
よって、周期はn2−1より小さくならず、おまけ1の解答が証明された。

【おまけ4】

LFSRの0番位置のビット変化を(n)×(n-1)の行列に横書きの順でうめると、下図のような帰納的な関係が見える。
但し最初余分の1ビット(値1)は無視している。

ここで、帰納的な関係とはn=2K+1におけるAKには上図に示すように、
AK-1が2個とAK-1の最下行が無いものが1個図のような3隅の位置に存在し、その他は0である。

一般にAKがその様な構造をもっているとき、
下図のようにして作った行列BはAK+1になっている。

ここでその様な構造とは、

(1)その内部において AK (i,j) = AK(i,j-1) + AK (i-1,j-1) mod 2が成立している。
(2)一行目は全部1であり、最下行(n+1行目)は全部0である。
(3)一列目は1行目が1でその他は0である。
(4)最終列(n−1列目)は最下行を除き1である。

○Bが(2)〜(4)を満たすことは容易にわかる。詳細略

○ 最終列から第一列目の2行目以下を(1)の式で計算すると全部0であり、この間で矛盾していない。

○ おまけ3と同様、図中赤丸、青2重丸の部分の関係も矛盾がないことは容易にわかる。証明略。

○問題は1行目と最終行の関係であるが、上図に示されるように、行列の0行目と最終+1行を追加し、順序とおり埋めると矛盾してないことがわかる。
よって、BはAK+1である。
このBの周期はおまけと3と同様にして、(n-1)nであるといえる。
よって余分の1個を戻すと、周期はn2−n+1である。

【おまけ5】

周期3255(PC解です。) 


◆東京都 明 さんからの解答

【問題1】 15回

【問題2】 63回

【おまけ1】

2K−1

【おまけ2】

最初のランプの状態をS0とし、以下のランプの状態を順次S1、S2と呼ぶ。
(ランプの状態とは点滅の状態と共に、操作されているランプがどれかの状態を含む)

任意の状態をSk(k≧1)としたとき、1つ前の状態Sk-1は一意に定まる。


具体的にはSkの状態でk番目のランプがCk(ON=1またはOFF=0)となったとし、
この時k-1番目のランプがCk-1(ON=1またはOFF=0)とすれば
k-1ではk番目のランプは Ck+Ck-1(mod2)と決定される。

以下順にSk-2のk−1番目のランプ、Sk-3のk−2番目のランプが一意に決定される。


0、S1、・・で初めて以前と同じ状態が発生した状態をSjとすると
j≠Sk(k=1〜j-1)
(もしSj=SkとするとSkの1つ前の状態は異なるSk-1とSj-1の2つあることになる。)

したがってSj=S0

状態は有限であるので必ず有限回後に最初の状態S0に戻る。

(注)この状態とはランプの点滅の状態と、そのとき、どのランプが操作されているかの状態を含む。
単にランプの点滅の状態のみであればもっと早く同じ状態に到達する可能性がある。
(実際に問題1、問題2ではそのとおり)

いずれにせよ、有限回で始めと同じ状態に戻ることが証明された。

【おまけ3】

証明の概略を示します。

この問題は

n+Xn-1+1=0(mod2),n=2k の条件で
p=1(mod2)の最小の正整数pを求めることに等しい。

または、ランプの点滅状態を逆にたどれば(以下mod2を省略)

n+X+1=0,n=2k の条件での
p=1 の最小の正整数pを求めることに等しい。

後者の考え方をとれば

10000000・・・ を100・・・0011(2k+1桁)で割って、剰余が 1 になるところまでの桁数を求めることになる。

計算すると
先頭の1の次の桁から
剰余の最下位までの桁数
剰余
2k11
2×2k101
3×2k1111
4×2k10001
5×2k110011
6×2k1010101
7×2k11111111
8×2k100000001
2k×2k100・・・00001
(2k +1 桁)

最後の剰余の桁100・・・00001 (2k +1 桁)を、
割る数100・・・0011(2k+1桁)で割ると
剰余は000・・・00010 

剰余の1までの桁数は
2k×2k-1=(2k)2-1=22k-1

【おまけ4】

【おまけ3】と同様に
10000000・・・ を100・・・0011(2k+2桁)で割って剰余が 1 になるところまでの桁数を求める。

先頭の1の次の桁から
剰余の最下位までの桁数
剰余
2k×(2k+1)100・・・00001
(2k +1 桁)

最後の剰余の桁100・・・00001 (2k +1 桁)を、
割る数100・・・0011(2k+2桁)で割ると
剰余は000・・・000001

剰余の1までの桁数は
2k×(2k+1)+1=(n-1)n+1=n2-n+1

【おまけ5】

実験をやっていると大変そうなので計算機でやらせて見ました。

個数  :   2             回数 : 3 
個数  :   3             回数 : 7 
個数  :   4             回数 : 15 
個数  :   5             回数 : 21 
個数  :   6             回数 : 63 
個数  :   7             回数 : 127 
個数  :   8             回数 : 63 
個数  :   9             回数 : 73 
個数  :   10            回数 : 889 
個数  :   11            回数 : 1533 
個数  :   12            回数 : 3255 
個数  :   13            回数 : 7905 
個数  :   14            回数 : 11811 
個数  :   15            回数 : 32767 
個数  :   16            回数 : 255 
個数  :   17            回数 : 273 
個数  :   18            回数 : 253921 
個数  :   19            回数 : 413385 
個数  :   20            回数 : 761763 
個数  :   21            回数 : 5461 
個数  :   22            回数 : 4194303 
個数  :   23            回数 : 2088705 
個数  :   24            回数 : 2097151
【おまけ6】  降参です。


 ◆ 問題へもどる

 ◆ 今週の問題

数学の部屋へもどる