見出し画像

イギリス盤ペグソリティアを数学的に解析 : 3色パリティとパゴダ関数(2) 

先週の記事からお話が続いております。

解析の第2段階:Pagoda Function(パゴダ関数)
パゴダ数とは、たとえば下図のように、全ての「ABCの3マス直線並び(つまりA→C、またはC→Aへとペグジャンプが可能な直線)」において、以下の不等式が必ず成立するように、うまいことマス目に「重み」をつけた数字です。

A+B≧C & A≦B+C

これらの図はJaap’sのホームページから引用

読者のみなさんが容易に予想可能な通り、「この条件を満たすような数字集団」の組み合わせは、無数にあります。

*今回のこの記事では、上の図に示すようなパゴダ数の組み合わせを3種類ほど作れば実用上はOKという風に、かなり雑に説明します。(なぜ3つくらいで十分なのかの理由は、来週の記事によっておぼろげに説明できると考えております)

パゴダ数の使い方はこうです。
パズルの初期配置状態(あるいは途中のペグ配置状態)において、そのマスにペグがある場合はパゴダ数「あり」、そのマスにペグがない場合はパゴダ数「なし」として、現時点でのパズルの配置におけるパゴダ数総和を計算します。この総和のことをパゴダ関数と呼びます。
ジャンプ処理を続けると、パゴダ関数の値は必ず「変化なし」か、あるいは「減少」します。増加はありえません。

この性質を利用して、パズルを解くための重大なヒントが、パゴダ関数値から得られるのです!
・・・・・・・・

いやいやいや!!!待て待て待て!
それって、当然だよね!何も参考になりそうにないよね!

だって、そもそも最初に 
A+B≧C & A≦B+C
って定義したじゃん?

その定義によると、1つのジャンプ毎に、必ずパゴダ関数が「変化なし」か、あるいは「減少」するよ?ジャンプによってパゴダ関数は絶対に増加しない。
あえて意図的に、不自然&おかしなジャンプを選んだとしても、パゴダ関数は減少方向にしか変化しない。
こんなことでは、パズルを解くうえでパゴダ関数は何も参考にならないよ。
意味ないじゃん!パゴダ関数!
と、ラジくまるは感想を持ちました。

でも、Jaapさん、あるいは、日本の数学者さん達の説明を読み進めてみると、数学的観点から上手に選ばれたパゴダ関数を利用する時は、ペグ・ジャンプの動く範囲を狭めることができて、パズルの解析速度が劇的に高速化できるように見うけられます。

裏返して言うと、こういう意味になります。

まず第一に数学的センスがないと、適切なパゴダ数の組み合わせを与えることができないし、その場合(数学センスがない場合)は、ペグパズルをうまいこと解析できないように思えました。

といいうわけで、下に示すのがJaapさんが作った「良いパゴダ数の与え方」の4例らしいです。何が良いのか全然わからんのですが・・・・・

数字はそれぞれのパターンのパゴダ数

ラジくまるが理解したパゴダ関数の使い方について、来週の記事として投稿予定です。

いいなと思ったら応援しよう!

ラジくまる
ゲームシステムのデザイナーって、何なの?どういう意味? そんな疑問は、私の記事群によってご理解いただけるものと期待してます。 ラジくまるのアタマの中にある知識を活用していただけるお方、サポート通知などお待ちしています。