1
大学数学基礎解説
文献あり

正方形のライツアウトパズルについて,常に可解かどうかの考察(自作問題の解説)

410
0

  先日投稿した問題 の解説をしとうございます.

問題文


 正整数 n,k について,n×n の盤面を考えます.各マスは白もしくは黒で着色されています.
1i,jn である正整数 i,j について,上から i 行目,左から j 列目のマスを ai,j とします.また,盤面のマスに対する操作を次で定めます:
- ai,j のマスの白黒を反転させる.
- ai+1,j,ai,j+1,ai1,j,ai,j1 がそれぞれ盤面内にあるならば,それらのマスの白黒を反転させる.

 各マスが白もしくは黒で塗られている初期状態から,この操作を有限回施して,全てのマスを白色にすることができるような初期状態を良い配置とします.

1. n=6k1 のとき,良い配置でないものは存在しますか.
2. n=2k1 のとき,良い配置でないものは存在しますか.
3. n=5×2k1 のとき,良い配置でないものは存在しますか.

下にスクロールすると解説が始まります.




























解説

以下解説ですが,超絶ざっくばらんに書いてあって文章が読みづらい上に,理論に穴があるかもしれません.ご理解の上どうか温かい目で見てください.


 まず問題の設定を確認しましょう.
ひとまずn=3で考えてみます.
!FORMULA[13][36584004][0]のときの初期状態の例 n=3のときの初期状態の例
n=3のときの盤面を1つ持ってきました.a2,3に操作を行ってみます.a2,4は存在しない(盤面の外)ので,a2,3,a1,3,a2,2,a3,3の白黒を反転させます.
!FORMULA[18][-1407511449][0]への操作 a2,3への操作
こんな具合で複数のマス目に操作を行ってすべてのマスを白色にしていきます.

このようなパズルは,「 ライツアウト 」という名前がついているそうです.タメになったね~

ちなみに,この初期配置だと,a1,3,a2,1,a2,2,a3,2,a3,3の5つのマスに操作を行うことで,盤面のすべてのマスを白色にすることができます.よって,この初期配置は良い配置です.
操作を行う順番は関係なく,同じマスに対して2回操作を行うことは,そのマスに対して操作を行っていないことと同値です.

 唐突ではありますがn×nの盤面が与えられたとき,黒で塗られたマスを1,白で塗られたマスを0とすれば,盤面1つ1つに対して,F2上のn2次元ベクトルを一意に定めることができます.
例えば,図1の配置は,(101011010)
とすることができます.
さらに,盤面の各マスに対する操作は,色を反転させるマスに対応する成分を1としてそれ以外を0にしたn2次ベクトルを足すF2上の演算と定められます.
例えば,図2の操作は,
(101011010)+(001011001)=(100000011)
となり,確かに対応することが分かります.
盤面の初期配置に対応するベクトルをa,盤面の各マスa1,1,a1,2,,a1,n,a2,1,,an,n1,an,nに対する操作を表すベクトルをそれぞれa1,1,a1,2,,a1,n,a2,1,,an,n1,an,nとすると,
与えられた盤面に対して,どのマスに対して操作を行えば良いかは,bi,j(0i,jn,bi,j{0,1})として,有限体F2上での方程式
a+0i,jnbi,jai,j=0
bi,jについて解く問題に帰着できます.(多分)

この連立方程式の解が一意に定まることは,操作に対応するベクトルを並べたLMn2(F2)である行列
A=(a1,1a1,2a1,na2,1an,n1an,n)
が正則であることと同値です.

Aが正則であるかを調べるために,行列式を求めてみます.(|A|F2であることに注意.)
あるマスに対する操作を表すベクトルを考えると,隣り合うマスを表す成分が1となり,Aを構成するベクトルは,左上のマスから順番に並べているため,Aは対称行列となりますね.
例えば,n=3のとき,
A=(110100000111010000011001000100110100010111010001011001000100110000010111000001011)
であるため,確かに対称行列となっています.
定義から行列式を計算することを考えます.
n次対照群をSnA(i,j)成分をA(i,j),置換をσで表すと,
|A|=σSn2i=1n2A(i,σ(i))です.
|A|F2であるため,置換の符号については考える必要はありません.
よって,Aの成分から,行と列が重複しないように1を選ぶ方法の個数を調べることで行列式を求められます.
また,対称行列であることから,対角成分に対して非対称な成分の選び方が偶数通り存在するため,対称な成分の選び方の個数の偶奇を調べるだけでOKです.
この選び方を定めるSnの置換全体の集合をTnとします.

 ここで,少し天下り的ではありますが次の問題を考えます.

 正の整数nについて,n×nの正方形のマス目に,1×2のタイルをいくつか置く方法の個数の偶奇を考える.
タイルは90°回転させることができ,タイルを置かないマスがあっても良いものとする.
ただし,タイルを1つも置かないものもカウントし,回転や反転によって同じ敷き詰め方にできるものも区別する

上からi行目,左からj行目のマスをbi,jとします.
また,あるタイルに対して,タイルが配置されている2つのマスの組を(bi,j,bi±1,j±1)と表します.
例えば,n=3のとき,タイルの置き方の例を下に示します.
タイルの置き方の一例 タイルの置き方の一例
この置き方は(b2,2,b2,3),(b2,1,b3,1)と書くことができます.
置き方(b2,2,b2,3),(b2,1,b3,1)に対して,σS32=S9を,
(123456789123765489)と定めると,これはAの対角成分に対して対称な成分の選び方です.
一般に,(bi,j,bu,v)にタイルを置いたとき,n(i1)+jn(u1)+vを入れ替えるようなσを定めると
実はこのタイルの敷き詰め方一つ一つに対して,対応する置換σTn2が一意に定まります!
よって,|A|はこのようなタイルの置き方の方法の個数の偶奇を調べることで求めることができますね.

nが奇数のときを考えます.n+12列目に対して非対称な置き方に対して,左右反転させた置き方が存在するため,非対称な置き方全体の個数は偶数個です.
以下では左右対称な置き方の個数を考えます,
(bi,n+12,bi,n+12±1)のような置き方は左右非対称であるため,n+12列目をまたぐような置き方は考えません.
よって,n+12列目上のタイルの置き方と,それ以外の部分でのタイルの置き方に分けて数えればOKですね.
n+12列目上のタイルの置き方についてですが,これは1×nの盤面にタイルを置くことと同じです.この置き方の個数をFnとし,Fn1Fn2を考えることで,
{F1=1F2=2Fn+2=Fn+1+Fn
という漸化式が成り立ちますね.(この辺は有名問題なのでざっくりいきます)
見るからにこれはフィボナッチ数列です.(F0=1,F1=1とした場合のもの)
フィボナッチ数の有名事実として,次が成り立ちます.
2|Fnn2(mod3)
nが奇数であることとあわせて,n=6k1のときは,n+12列目上のタイルの置き方を考えた時点で,タイルの置き方の個数が偶数通りであることが確定します.よって,|A|=0であり,Aは正則ではありません.そのため,n=6k1のときのライツアウトについて,良い配置ではないものが存在します.
例えば,n=5のとき,下のライツアウトは,どのように操作を行ったとしても,解くことができません.
!FORMULA[99][36584066][0]のときの可解でない盤面の例 n=5のときの可解でない盤面の例

次に,n+12列目のタイルの置き方の個数が奇数個であるようなnについて考えます.
まず,n=1の場合ですが,あきらかに置き方の個数は1通りです.
n=3の場合を考えます.このとき,盤面は真ん中の十字部分と4つの1×1の盤面に分けることができます.1×1の盤面についてはタイルの置き方が奇数通り,1×3の部分についてはn2(mod3)であるため,置き方は奇数通りです.よって,n=3の盤面も置き方は奇数通りです.
!FORMULA[111][36584004][0]のとき,4つの正方形と十字の盤面に分けて考えられる. n=3のとき,4つの正方形と十字の盤面に分けて考えられる.

このような要領で,n=1からスタートして,
n×nの盤面4つと,1×nの盤面2つと,1×(2n+1)の盤面を用いて(2n+1)×(2n+1)の盤面を帰納的に作ったとき,一辺の長さは2k1で表されます.2k12(mod3)なので,全てのkに対してn=2k1の盤面のタイルの配置の方法は奇数通りです.
そのため,Aは正則であり,n=2k1のときのライツアウトは,つねに良い配置となります.
!FORMULA[125][1000552010][0]の盤面は,!FORMULA[126][-359564854][0]の盤面!FORMULA[127][36244][0]つと!FORMULA[128][2131400666][0]の盤面!FORMULA[129][36182][0]つと,!FORMULA[130][-1039623100][0]の盤面を用いて分解できる. 7×7の盤面は,3×3の盤面4つと1×3の盤面2つと,1×7の盤面を用いて分解できる.
今の議論は,nを奇数として盤面の分解を考えました.そのため,1辺の長さが偶数マスのときは,上記の分解は行えません.
構成する最小の盤面を1×1として考えましたが,例えば4×4のときはどうなるでしょうか.つまり,1辺の長さは
{c1=4cn+1=2cn+1
で表される数列(cn=5×2n1です)に含まれています.

n=ckのとき,先ほどの分解を進めると,4×4の盤面が現れるため,n=4のタイルの置き方を考えます.例によって,左右対称かつ回転対称な置き方しか考えないため,考えられる配置は以下の2通りだけです!
すべての対称なタイルの置き方(これ以外の置き方は反転や回転によって一致する偶数個の組みができます) すべての対称なタイルの置き方(これ以外の置き方は反転や回転によって一致する偶数個の組みができます)
よって,n=4の場合は,タイルの置き方は偶数個であって,Aは正則ではありません.そのためn=4のライツアウトについて,良い配置ではないものが存在します!

n=ckのときは,盤面の分解を繰り返すと4×4の盤面が表れて,この置き方が偶数通りであるため,n=ck=5×2k1すべてについて,Aは正則ではありません.そのため,この場合ライツアウトに良い配置でないものが存在します.


解説おわり

いかがでしたか?(書くのつかれた...)(読むのも疲れたと思います)

読みづらい文章であったと思いますが,ここまで読んでくださりありがとうございました.
シンプルなパズルから線形代数につながって,タイルの置き方の組み合わせの議論にまで話が広がるのが面白かったです.
なお,上の文章を読むと分かりますが,nが偶数であるときはまだ結論を出せていません.この方法だと上手くいかないのかもしれない...ごにょごにょ...

以下余談になります.
私はこれについて半年近く考えて上の結論を出したのですが,
ここまでウッキウキで書き終わってから,この記事とほぼ同じ内容の動画が見つかりました(既出だった)
そちらの方が100億倍分かりやすかったので,そちらの視聴をお勧めします.(参考文献に載せました)(先駆者様ごめんなさい.)

ライツアウト部分を取っ払うと,線形代数が不要になり,単純にタイルの敷き詰め方の個数の偶奇を求める問題になります.
この部分をうまいこと改変してOMC用の問題が作れるんじゃないかという安直な考えのもと作問をして,没にした問題を最後に掲載して終わりたいと思います.

次のように数列 {an}n1,{bn}n1,{cn}n1 を定めます.
{a1=2a2=4an+2=an+1+2an+2bn={4,2,6,6a1,2,4,6,6,6,6a2,4,2,6,6,,6a3,2,4,6,6,,6a4,4,2,6,6,}{c1=11cn+1=cn+bn
 1ck105 を満たすような正整数 k に対して,
ck×ck の正方形のマスを,1×2,2×1 の長方形と 1×1 の正方形で敷き詰めることを考えます.
 このとき,敷き詰め方が偶数通りであるような ck の総和を求めてください.
ただし,反転や回転によって同じ配置になるものも区別します.

気持ち悪いですね~

じゃあね~

参考文献

投稿日:20231113
更新日:20231129
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

RusK
RusK
9
1163
さくさく

コメント

他の人のコメント

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