見出し画像

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

パゴダ関数のお話がまだ続いています。
ラジくまるが理解したパゴダ関数の使い方は下の図の通りです。

数字はそれぞれの状態のパゴダ関数の値

たとえば、一番左の図の状態(初期配置)から開始して、なんとなくぴょんぴょんとペグをジャンプさせて、左から2番目の図のような形になったとします。
その状態から、すぐ右隣りの形状にできるかな?できないかな?と考察してみます。
左から2番目のパゴダ数総和(つまりパゴダ関数)は26です。その右隣りのパゴダ関数の値は27です。
パゴダ関数の値はジャンプ後に絶対に増加しません。ですから左から2番目の状態から3番目の状態へと変化することは「ない」と断言できます。

この性質は、こんな風に利用できます。たとえば、この形式のパゴダ数の組み合わせにおいて・・・・

パゴダ数値付けの1例

下図のような「ステップ」を作ってみます。
あるステップから次のステップへ進むと仮定した時、ちゃんとパゴダ関数の値が減少するかどうか調べればいいのです。
この作業工程によって、ペグパズル問題の解析速度を速めることができそうです。

それぞれの状況でのパゴダ関数の値

左から右へと進むと仮定した時、上の図の場合はパゴダ関数は単調に減少しています。
本当にできるか出来ないかは、あとで実際にジャンプしてみて確かめないといけないとはいえ、でも、少なくともこういう手順によってパズルが解けそうだ。という事前準備ができるのです。
これはこれで、すごい事ですよ。

なぜって、ペグ数の初期値が1000本みたいな巨大なパズルを想像してみてください。
1000本のパズルでも、このように何段階かのステップに分解することによって、少なくとも「絶対に解がない。行き止まり。」みたいな、無駄な解き方の「コース(方針)」を、事前に「除外」できるんです。
それは、パズルを解き始めるにあたっては、すごい有用な情報と言えます。

さて、ここまでは「パゴダ関数」単独についてだけ説明しました。
でも、実際の応用場面では、「途中経過:ステップ」の案を作る際に、同時に「3色パリティ」についても矛盾がないことを確認しながら「ステップ」を作りこめば、さらに信頼度が高まります。
さらに重ねて、パゴダ関数も、かなり性質が異なるタイプを3種類くらい作っておけば、それら「3のパゴダ関数」全てが矛盾しない「ステップ(途中の形状)」は?と考慮しながらステップ(途中のペグ配置形状)を絞り込めます。その作業を最初にやっておくことで、もうスラスラとパズルが解けちゃいそうな、そんな予感がしてきます。

このように、パゴダ関数と3色パリティとの両方を組み合わせ使用して、互いに矛盾しないように「ステップ(途中の形状)」を細かく作り込んでいくと、正解への道筋が「ぼんやりと光って見えてきちゃう」ような気がしませんか?

ラジくまるは、この2つの理論の組み合わせは強力だな、という印象を持ちました。
そしてそれと同時に、だからー!適切なパゴダ数って、どうやったら創出(生成)できるのさ!っていうことで、結局のところ、やっぱりよくわからないという感想を持ったのです。

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

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

この記事が参加している募集