8

連鎖時計パズルの可換性

705
0

連鎖時計パズルとは

108Hassiumさんのブログ記事で紹介されている「連鎖時計パズル」について考えてみたところ、疑問6(可換性)が解けたので、それについて解説する。元記事も非常に面白いので必読である。
元記事: https://note.com/108hassium/n/nbf8412349447

連鎖時計とは次のような装置である。

  • 平面上のいくつかの格子点に時計が置かれている。
  • 時計の針は1本で、上下左右の4方向を指すことができ、時計回りに動作する。
  • 時計を叩くとその時計の針がひとつ進む。
  • 時計xの針が進んだあと、xの針の指す方向に隣接する時計yがあれば、yの針もひとつ進む。

例えば時計が以下のように2×2の正方形状に置かれているとしよう。
()
このとき、左上の時計を叩くと時計は以下のように連鎖的に動作する。
()()()()()()()

この記事で考えたいのは次の問題である。

(元記事の疑問6)

連鎖時計において、「時計xを叩いた後に時計yを叩く」操作と「時計yを叩いた後に時計xを叩く」操作は常に同じ結果をもたらすか?

なお、元記事の疑問2についてはPratonさんにより反例の存在が指摘されている。
https://x.com/rettouw/status/1916469288858480962

数学的定式化

証明を書きやすくするために、問題設定を数学的な言葉で書き直すとともに、状況を抽象化する。

連鎖時計においては、時計の針が何周したかという情報は時計から読み取ることができない。そこで「時計の状態は整数値で管理されており、その値を4で割った余りに応じて針の向きが決まっている」と考えることにしよう。この時計の内部状態を表す整数を内部カウンターと呼ぶ。内部カウンターが0のときは針は上を指し、5のときは右を指すという具合である。

連鎖時計の挙動は「時計の内部カウンターがnのときに針がどの時計を指しているか」という隣接関係の情報だけから決まる。そこで次のように定義する。

抽象連鎖時計とは有限集合Sと写像f:S×ZS{}の組のことである。

通常の連鎖時計に対して、Sを時計の集合とし、f(x,n)を「時計xの内部カウンターがnのときに針が指す時計」(存在しないときは)とすることで抽象連鎖時計が得られる。つまり、通常の連鎖時計は抽象連鎖時計の特別な場合とみなせる。

抽象連鎖時計(S,f)の状態とは、集合V:=Map(S,Z)の元のことである。V上の半順序
vvxS, v(x)v(x)
により定める。またvVに対して
|v|=xSv(x)
と定める。

通常の連鎖時計の場合には、状態vVは「時計xの内部カウンターがv(x)である状態」と解釈できる。

(S,f)を抽象連鎖時計とする。状態v,vVおよびzS{}に対し、三項関係vzvを以下のように帰納的に定義する。

  1. |vv|<0のときはvzv.
  2. |vv|=0のときはvzvv=v, z=.
  3. |vv|>0のときはvzvv+δxf(z,v(z)+1)v.

ただしδxδx(y)=δx,yで定まるVの元である。

通常の連鎖時計の場合には、vzvは「状態vにおいて時計zを叩くことで状態vに到達する」ということを表している。

操作の復元

以下、(S,f)を抽象連鎖時計とする。vzvのとき、zvvのみから求めることはできるだろうか?この疑問に答えるために以下のような関数を定義しよう。

状態v,vVvvを満たすとき、gv,vV
gv,v(x)=yS#{v(y)<nv(y)f(y,n)=x}
により定める。

通常の連鎖時計の場合には、gv,v(x)は「状態がvからvに変化する過程で時計xが隣接する時計から指された回数」を表している。定義から明らかに以下が成り立つ。

状態v,v,vVvvvを満たすとき
gv,v+gv,v=gv,v
が成り立つ。

この関数gv,vを使うと、vzvのときにv,vからzを求めることができる。

vzvならば
vv,vv=gv,v+δz
が成り立つ。特にzv,vから一意的に定まる。

|vv|に関する帰納法で示す。vxvなので|vv|0である。|vv|=0ならばv=v, z=なので主張は明らかに成り立つ。|vv|>0とすると、定義から
v+δzf(z,v(z)+1)v
である。帰納法の仮定より
vv+δz,vvδz=gv+δz,v+δf(z,v(z)+1)
である。ここでgv,vの定義より
gv+δz,v=gv,vδf(z,v(z)+1)
が成り立つので、上の式に代入することで所望の式が得られる。

操作後の状態の特徴づけ

引き続き(S,f)を抽象連鎖時計とする。以下の定理が本記事における鍵である。

vzvとする。このときv
(1)wv,wvgv,w+δz
が成り立つようなwV全体における最小元である。すなわち、式(1)を満たす任意のwVに対してvwが成り立つ。

|vv|に関する帰納法で示す。vxvなので|vv|0である。|vv|=0ならばv=vなので主張は明らかに成り立つ。|vv|>0とすると、定義から
v+δzf(z,v(z)+1)v
である。式(1)を満たすwVを任意に取ると
w(z)v(z)gv,w(z)+11
なのでwv+δzが成り立つ。またgv,vの定義より
gv+δz,w=gv,wδf(z,v(z)+1)
が成り立つので、式(1)に代入することで
wvδzgv+δz,w+δf(z,v(z)+1)
が得られる。よって帰納法の仮定をv+δzf(z,v(z)+1)vに適用することでvwが得られる。

定理3は複数回の操作に対しても一般化できる。

抽象連鎖時計(S,f)において
vz1v1z2v2z3znvnのとき、vn
(2)wv,wvgv,w+i=1nδzi
が成り立つようなwV全体における最小元である。

nに関する帰納法で示す。n=1のときは定理3そのものである。n2とし、式(2)を満たすwVを任意に取る。すると特に
wv,wvgv,w+δz1
が成り立つので、定理3よりv1wとなる。さらにv1v=gv,v1+δz1より
wv1=wvgv,v1δz1gv,w+i=1nδzigv,v1δz1=gv1,w+i=2nδzi
が成り立つので、帰納法の仮定よりvnwとなる。

可換性

定理4は問題1への肯定的な回答を与える。実際、式(2)z1,,znを並べ替えても変化しないので、これらの時計をどの順に叩いても最終的な状態は同じであることがわかる。

最後に

定理4は元記事における疑問3(同型不変性)にも使える気がするが、与えられた状態がいつ実現できるか(元記事の疑問1)が非自明なので直ちにはわからない。逆に状態の実現可能性について解明されれば疑問3〜5は解けると思う。

投稿日:28日前
更新日:28日前
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

J_Koizumi
147
14641

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中