ペントミノパズル 2339個の解 を求めて

    プラパズルNo.5

  • このページは、ペントミノパズル2339個の解 についてご紹介します。

  • 子供のころに、「2339個の解が存在する」という言葉に惹かれて、プラパズルNo.5 を買って遊びました。数時間、試行錯誤したでしょうか、やっと1個の解が見つかりましたが、この調子では2339個全部を見つけるのは容易ではなく、「いつか全部解いてやるぞ」と夢を抱きました。
    月刊ASCII 1979年4月号 月刊ASCII 1979年4月号
  • そして月日が経ち、高校入学祝い(今思うと、破格のお祝いでした)として、マイコン(SHARP MZ-80K)を親に買ってもらいました。当然のごとくマイコン雑誌も買い、バックナンバーの紹介ページを見ると「ペントミノ」の記事を見つけ、早速 ASCII出版社 から 月刊アスキー 1979年4月号 を取り寄せました。
    SHARP MZ-80K
  • 上記の記事は、コモドール社のPET用BASICで書かれていましたので、これをMZ-80K用に書き直し(といっても、罫線用のグラフィック文字を置き換えただけですが)実行しました。
  • 1個目の解が出てくるまでに、1分半ぐらいかかりました。上記の記事でも「15分に1個くらいのペースで出てくる」 「No.6で約1時間半経過」と書かれていましたので、とてもマイコンで2339個のすべての解を見つけるのは厳しいようでした。簡単には子供のころの夢は叶わなかったわけです。
    Fujitsu FM-7
  • そして大学生となり、今度はバイトして「富士通 FM−7」を手に入れました。FM-7ではデータをフロッピーディスク(5インチ)に書き出すことが出来るので、プログラムを書き換え、「十字形」駒の置き場所が7箇所であることを利用して、7分割して実行させました。しかし、どこかでデータの保存かマージに失敗したのか、2339個の解にはなりませんでした。
    FACOM M780
  • EDPS部(今で云うところのパソコン部でしょうか)に入部して、大学の汎用コンピュータが使える立場となりました。マイコンではBASIC言語で記述されていましたので、今度はFortran言語に書き換えました。コンパイルして、デバッグして、いよいよ実行です……やっと、2339個の解が手に入ると思いきや、「CPU時間超過」でジョブが異常終了です。さすがに教育用システムでは、長時間実行は出来ませんでした。
  • そこで、EDPS部の顧問にお願いして、通常のバッチシステムで実行させていただきました。今度は正常終了です。CPU時間は6分程度でした。これで、私の子供のころの夢をひとつ叶えることが出来ました。

    謝辞) バッチシステムでのジョブ実行にあたり、大同工業大学 EDPS部 顧問 山内様 に厚くお礼申し上げます。

 サンプル解(27個)

 プログラムとデータ

  • 2339個の解の中から、27個を罫線の
    グラフィック文字で表現しました。
  • 十字形(※)の位置が、7ヶ所しか存在
    しないことが分かります (各先頭の解:
    No.1, 443, 832, 1094, 1436, 1712, 2003)
    ※ 「ペントミノパズルの解」において、
      「A」で表現される駒)

  • ペントミノパズルのプログラム
     (Fortranプログラムです)

  • ペントミノパズルの解(2339個)
     (176K Bytes あります)

  • 「ペントミノパズルの解(2339個)」の読み方

    1. 1行を切り出し、空白文字を含めて
      先頭10文字を削除します。
       No.   1  CCCFFFHHHH CACEE…
      <========><========> <====…
       先頭10文字を削除   1行目      2行目 …
      
    2. 空白文字を区切りにして10文字ごとに分割し、
      積み重ねます
      1行目:CCCFFFHHHH
      2行目:CACEEFHKKK
      3行目:AAAELFGKKI
      4行目:DAEELLGGII
      5行目:DDDLLJJGGI
      6行目:DBBBBBJJJI
      
    3. 縦横の同じ文字(A〜L)を同じチップとし、
      外枠と異なる文字の境目に線を引きます
      ┏━━━━━┯━━━━━┯━━━━━━━┓ 
      ┃C C C│F F F│H H H H┃ 
      ┃ ┌─┐ ├───┐ │ ┌─────┨ 
      ┃C│A│C│E E│F│H│K K K┃ 
      ┠─┘ └─┤ ┌─┤ ├─┤   ┌─┨ 
      ┃A A A│E│L│F│G│K K│I┃ 
      ┠─┐ ┌─┘ │ └─┤ └─┬─┘ ┃ 
      ┃D│A│E E│L L│G G│I I┃ 
      ┃ └─┴─┬─┘ ┌─┴─┐ └─┐ ┃ 
      ┃D D D│L L│J J│G G│I┃ 
      ┃ ┌───┴───┴─┐ └───┤ ┃ 
      ┃D│B B B B B│J J J│I┃ 
      ┗━┷━━━━━━━━━┷━━━━━┷━┛ 
      

 リンク