ぷよぷよ確率計算シミュレータ - PPSim

このページでは、落ち物パズルゲームぷよぷよシリーズ(主にぷよぷよ通ルール)の練習をサポートするとこぷよツール「ぷよぷよ確率計算シミュレータ - PPSim」を公開しています。開発中のためバグやカスタマイズ項目の不足が目立つかもしれません。既知のバグはページ下部に載せています。新たなバグ報告などはページ下部リンクのブログへコメントして頂けると助かります。更新情報はこのページの他、こちらのTwitterアカウントhttps://twitter.com/puyolabからハッシュタグ#PPSimでも行っています。

更新履歴

  • 2014/11/16: ver1.7b公開(なぞぷよ解探索バグの修正、なぞぷよ解探索高速化)
  • 2014/07/11: ver1.6b公開(鉄ぷよ・壁ぷよの対応、レスポンス改善、バグ修正等)
  • 2014/06/29: ver1.5b公開(なぞぷよ5色対応、ぷよ色変更機能追加、バグ修正等)、バグ修正版ver1.51b公開
  • 2013/03/31: ver1.15b公開(ver1.1bからなぞぷよで同形の解を無視する設定になっているバグを修正、選択肢を追加)
  • 2013/03/23: ver1.1b公開(確率計算の既知のバグと他2つのバグを修正)、確率計算アルゴリズムを公開
  • 2013/03/11: ver1.08b公開(連鎖数・ぷよ消去数指定の一部のなぞぷよで不正な解が別解として追加されてしまうバグを修正)
  • 2013/03/06: ver1.07b公開(1.06bの修正で生じた副作用を修正しました。)
  • 2013/03/06: ver1.06b公開(なぞぷよ探索でn個同時に消すパターンで2連鎖目以降で不正な枝刈りが発生して解を見逃すバグを修正)
  • 2013/03/04: ver1.05b公開(なぞぷよ探索ロジックのバグや描画バグ、描画遅延等の修正をしました)
  • 2013/03/04: 既知のバグに、エディットモードを終了しないで各種ボタンの操作をした場合を追加
  • 2013/03/03: ver1.0b公開、使い方に「なぞぷよモードでのフィールド・ツモエディット」、「なぞぷよモードでの解探索」を追加
  • 2013/02/28: ver0.96b公開(ランダム選択時に最後のツモパターンが選択されないバグやぷよ譜保存バグなどを修正)
  • 2013/02/25: ver0.95b公開(0.9bで生じた描画が重いバグを修正、非常に軽くなりました)
  • 2013/02/23: ver0.9b公開、使い方になぞぷよモードの項目を追加
  • 2013/02/17: ver0.8b公開、使い方のURL入出力の項目を更新
  • 2013/02/12: ver0.7b公開、プログラムの仕様にツモ補正の記述を追加
  • 2013/02/09: ver0.6b公開
  • 2013/02/02: ver0.5b公開
  • 2013/01/16: HP公開

特徴

  • 毎手自動確率計算により隙の有無をチェック可能
  • サブウィンドウに最大確率手の一覧が表示され、最善手考察に役立ちます
  • 開始3手のツモパターンを自由に複数選択可能、開始5手までの全ツモパターンを順番に出せます
  • ツモ生成法を、ランダム・AC風・クラ風から選択可能
  • その他とことんぷよぷよに必要な巻き戻しなど基本的な機能、エディット機能が揃っています
  • IPS形式のURLのなぞぷよを読み込んで解ける他、なぞぷよ作成と別解探索が可能です
  • 回し操作はぷよぷよ通準拠。その他仕様についてはプログラムの仕様をご覧ください
  • より詳しい機能は使い方をご覧ください
  • 使い方

  • ダウンロードして解凍し、「PPSim.exe」をダブルクリックで起動できます。(インストール作業不要)
  • 起動後の使い方
  • ダウンロード

    ※64bit OSをお使いの方は動作速度の観点から64bit版を推奨。32bit OSでは32bit版しか動きません

    最新バージョン

    前回バージョンの設定を引き継ぎたい場合は、DLしたプログラムに前バージョンのconfig.iniとpuyolistフォルダ、confフォルダをそれぞれ上書きしてください。

  • 64bit版: ppsim_x64_1.7b.zip
  • ※32bit版は私のWindows XP 32bit環境で動作しないため動作無保証です(余裕があれば今後原因を調査します)
  • ※v1.7bの32bit版が動かない方は、下段掲載のv1.15bをご利用ください
  • 32bit版: ppsim_x86_1.7b.zip
  • 前回バージョンからの変更点

  • ver1.7b
  • なぞぷよ解探索において、途中発火がある特定の場合(発火できる列で一番左の列で発火した後に何手か積んで解が見つかる場合)に最低1つの解を見逃すバグを修正
  • 枝刈りを強化することで一部の問題の探索を高速化しました

    • 以下過去の更新履歴
    • ver1.6b
    • 壁ぷよ・鉄ぷよへの対応(ただし壁ぷよは底上げ用途のみ)
    • 特定色の全消し条件で、画面外のぷよは存在しないと判定するように変更
    • なぞぷよの特定の条件で解探索開始時にフリーズするバグの修正
    • なぞぷよ解探索結果で、同じ解が2つずつ表示されることがあるバグの修正
    • なぞぷよ解探索開始時の処理を軽くして、解探索のレスポンスを早めました
    • ver1.51b
    • ver1.5bにあったバグ(特定の色のみ全消し指定のなぞぷよの一部の問題の解探索がおかしくなるバグ)を即日修正
    • ver1.5b
    • なぞぷよ作成・解探索機能が5色に対応しました
    • ぷよの色を任意の色に変更可能になりました。(confフォルダ内のcolor.iniファイルでカラーコード指定)
    • プログラム終了時に不正なウィンドウサイズが保存され、次回起動時にウィンドウが表示されなくなるバグを修正
    • なぞぷよクリア時の「クリア!」文字をリセット時(デフォルトRキー押下)にも消えるようにしました
    • なぞぷよの解探索にあった微小なバグを修正(実際に解探索に影響するかは不明)
    • ver1.15b
    • ver1.1bからこちらの設定ミスで、なぞぷよの解の探索時に同じ形(で手順の異なる)の解を無視するバグがありましたが、これを修正
    • 代わりになぞぷよの「解の探索」ボタンの下に「形の違う解のみ探索」チェックボックスを追加し、同じ形(で手順の異なる)の解を無視する設定ができるようにしました
    • サブウィンドウの「形の違う解のみ表示」にチェックを入れても同じ結果が得られますが、探索時に無視する設定にした方が探索速度が上がります
    • また、同じ形の別解が大量(万~億単位)に存在する問題では形の違う解のみを探索する設定にしないとフリーズすることがあります
    • ver1.1b
    • 既知のバグとして以前から掲載していた13段目縦置きが影響する場合の確率が正しくないバグを修正しました
    • 制御文のコードミスに起因してゾロツモが絡む一部の確率の数値が正しくないバグを修正しました
    • 確率計算の発火例に一部不正な例が表示されるバグを修正しました
    • 最初のバグを解消するのに伴って、メモリ消費量が1.6倍になりました
    • メモリ消費量の目安は確率計算の条件1つにつき130MB(2つで260MB)です(以前のバージョンでは80MB程度)
    • 以前から認識していた確率計算のバグを修正できたので、1.09bを飛ばして1.1bとしました
    • ver1.08b
    • 連鎖数・ぷよ消去数指定の一部のなぞぷよで不正な解が別解として追加されてしまうバグを修正しました
    • ver1.07b
    • ver1.06bの修正に致命的な副作用があったため修正を重ねました。
    • ver1.06b
    • なぞぷよの解の探索で、n個/n個以上同時に消すという問題設定にした時に2連鎖目以降で不正な枝刈りが発生して解を見逃すバグを修正しました。
    • ver1.05b
    • ゾロツモを含むなぞぷよで別解が重複して数えられるバグを修正(探索部分のコーディングミスによるものです)
    • 一部環境で、画面の下部分の描画が更新されないバグを修正
    • 自動確率計算中に操作ツモの描画がかくかくするのが改善されました
    • エディットモード中になぞぷよモードボタンと問題出力・解の探索ボタンを押した時に自動的にエディットモードが終了するようにしました
    • エディットモード中に「同じツモ列でリトライ」キー(Rキー)を押すとフィールドをリセットする(空にする)ようにしました。
    • 2つのウィンドウ位置とサブウィンドウのサイズを自動保存するようにしました
    • default_stateというファイルを追加しました。ウィンドウ位置がおかしいまま終了してしまった場合、stateファイルを削除して、default_stateファイルをコピーし、stateという名前にリネームしてプログラムを起動してください(ただしこのやり方は設定がリセットされます。default_stateとstateファイルをメモ帳などのテキストファイルで開いてdefault_stateの[WindowsSettings]の内容のみをstateの方にコピーして置き換えると、設定を消さないでウィンドウ位置をリセットできます)
    • ver1.0b
    • なぞぷよ作成機能を追加
    • なぞぷよモード中にフィールド下のパネルからぷよを選択、フィールドとツモをエディットできます
    • なぞぷよモード中はツモの追加と消去ができるようになりました
    • コンボボックスから問題を設定、問題出力ボタンを押すとなぞぷよの問題がIPS形式のURLで出力されます
    • 「解の探索」ボタンを押すと、URLから読み込んだ問題や作成した問題の全ての解を途中解を含めて探索、サブウィンドウに結果を表示します
    • 詳しい使い方はuse.htmlのなぞぷよモード項目を参照して下さい
    • ver0.96b
    • ランダムボタン選択時に、選択されたツモパターンの最後が出てこないバグを修正
    • ぷよ譜開始点を設定した後、連鎖を起こした場合にぷよ譜が正常に出力されないバグを修正
    • 全ツモパターンが選択された状態で順番を選んだ時に2ツモのボタンの緑ラインが表示されないバグの修正
    • なぞぷよモードでネクスト表示パネルの描画が時々おかしくなるのを修正
    • ver0.95b
    • ver0.9bでなぞぷよの問題表示欄を設けたのですが、その描画を毎フレーム行うミスをしたことが原因で描画が5倍ほど重くなっていたバグを解消しました
    • ver0.95bではそのバグを解消し、逆に0.8bの数倍軽くなっています
    • ver0.9b
    • URL読込をした後に1手置き、続いて1手戻すと読み込んだフィールドも空になってしまうバグを修正
    • なぞぷよモードを追加しました(問題作成機能と5色対応はまだありません。前者は次の更新で対応予定)
    • IPS形式のなぞぷよ問題を読み込めるようになりました
    • なぞぷよモードでは最大35ツモまで同時に画面表示することが可能です(読込自体に制限はありません)
    • 発火ツモを設置した時に問題の答えとなる場合、なぞぷよモードボタンの右に「クリア!」と表示されます
    • ただし、全手通しての合計個数・色数を条件とする問題の答えの判定は未対応です(この問題は見かけたことが無いので、このまま需要が無ければ対応しないつもりです)
    • ボタンの設計をちゃんとすることで、ボタンのマウスオーバー描画が正確になり、描画が軽くなりました
    • ver0.8b
    • IPS形式のぷよ譜入出力機能を実装しました
    • URLにツモ情報があればツモ列も含めて読み込み、設置情報がある場合は1手進む(Fキー)で設置されます
    • ぷよ譜出力ボタンを押すと、開始点の盤面とツモ列、設置情報がIPS形式のURLで出力されます
    • ぷよ譜開始点は連鎖数表示の下にあるボタンで設定できます
    • 5色は未対応ですが、4色で紫がある場合は紫を他の使われていない色に変換して読み込めるようになりました

    • ver0.7b
    • 確率計算の設定で、連鎖範囲と連鎖時間ペナルティの設定項目を追加
    • 連鎖範囲は2連鎖の副砲のみを探したい場合などに、連鎖時間ペナルティは初代ぷよ用などに使えます
    • 分離した同色の同時消しを含む連鎖で確率計算内部の得点計算が正しくなくなるバグを修正

    • ver0.6b
    • 確率計算実行中にEscapeキーでキャンセルする機能の追加
    • サブウィンドウで発火例をクリックすると発火までの手順を表示する機能を追加
    • 確率計算速度を若干改善
    • config.iniを再読み込みすると外部ぷよファイルが読み込めなくなるバグを修正
    • config.iniを再読み込みしても確率計算の条件が更新されないバグを修正
    • キー入力での確率計算実行時に自動でconfig.iniを再読み込みするようにしました
    • F5キーでもconfig.iniを再読み込みできるようにしました

    前回のバージョン

  • 64bit版: ppsim_x64_1.6b.zip
  • 32bit版: ppsim_x86_1.6b.zip
  • 32bit版 (WindowsXP動作確認版): ppsim_x86_1.15b.zip


  • 動作環境

    Windows 7 64/32bit, Windows XP 32bitで動作を確認しています。(Vistaもおそらく可。8での動作情報も頂いています。Windows以外のOSでは使えません。)32bit版はPentium4以降(SSE2が必要なため)のCPUのみ対応。64bit環境は必ずSSE2に対応しているので大丈夫です。

    確率計算機能は下記の通りハイスペックなデスクトップPC推奨ですが、通常のとこぷよであればわりと古いノートPCでも動作します。Core Duo 1.6GHz、Windows XP 32bitのノートPCでも60fpsでの動作を確認しました。GDI+で描画を行っているのでビデオカードの性能は必要ありません。

    確率計算を快適に行うには2コア以上のCore i3以上のCPU、64bit OSが推奨されます。確率計算は64bit環境に最適化されているため、64bit版プログラムの方が(1.5~2倍程度)計算が速くなります。また、2コア以上を推奨するのは、確率計算が唯一のコアを食いつぶすと描画が追いつかないためで、確率計算を2種類同時に行う場合は3コア(もしくはHTによる2コア4スレッド)以上が推奨となります。現時点で確率計算自体はシングルスレッドです。将来的にはマルチスレッド対応する予定です。
    確率計算では1つの条件あたりメモリを130MB~150MB程度消費します。2条件同時の場合はその倍。なぞぷよの解探索は6手で150MB、8手で250MBが目安です。

    確率計算のアルゴリズム

    PPSimで使用する確率計算アルゴリズムについてはp_algorithm.htmlを参照してください。

    既知のバグ

  • 118手目でフリーズするという情報を頂いています
  • 次回の主な更新予定

  • 探索高速化とバグ修正、他未定です
  • 今後の更新予定(順不同)

  • ツモパターンの順番機能の選択ツモパターン(緑のカーソル)を自由に動かす機能の追加
  • プログラム終了時の緑のカーソル位置の自動保存
  • 確率計算で指定する条件の多様化
  • 確率計算・なぞぷよ探索の速度改善(継続的にやっています)
  • マルチスレッド対応によるハイエンドCPUでの高速化
  • お気に入りツモパターンの保存機能
  • 画面中央下予告ぷよのパネルをクリックで自陣への予告ぷよを発生させる機能
  • ぷよ画像の差し替え機能、設置・連鎖アニメーションの追加(優先度低)

  • リンク

  • とある東大生ぷよらーの日記
  • ぷよぷよ研究メモ