スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 自己最高記録は更新中 | トップページ | まず、リリースする方向で »

遂に総時間でEdax越え

今は、新しいリバーシプログラムの開発フェーズなのだが、今回は、MasterReversi Ver1.5.0をリリースするだけに留める。ただ、FFO性能が最新版Edaxに少し及ばなかったので、ここの所、色々と改良しているのだが、今日、やっと、FFO60-79の総時間ではEdax4.4を越えた。

Edax4.4の性能は一回しか測定していないのだが、その測定値によると、FFO60-79の総時間は2時間1分9秒という事になっている。

で、今日、MRSolverの性能を見てみた所、119.5min、つまり、1時間59分30秒という結果が出ていたので、FFO40-59に続き、遂に、FFO60-79についても、Edax4.4の処理性能を越えた、という事になる。

もっとも、何度も書いてきた様に、FFO76-78についてはMRSolverは劣勢で、その分をFFO74-75の優勢で埋めている、という構図に変わりはない。

つまり、FFO74-75ではMRSolverが大幅に勝っていて、FFO76-78については負けているのだが、今日の測定結果では、その勝ち幅が大きくなり、負け幅が小さくなった分、総時間が逆転する事になった訳だ。

で、この結果はタマタマ、という訳ではない筈だ。

何故なら、作者的には、MRSolverの性能を上げる努力をして、基本性能が向上した事も確認しているからなのだが、具体的には、何処の性能を上げたのか、というと、確定石チェック処理だ。

その結果、昨日までよりも、確定石チェックを、そのオーバーヘッドを気にせずに、より多くの状況で行える様になった分、処理性能が向上する事になった筈な訳だ。

で、確定石チェックをどの状況で行うのかについての調整は、まだ、アバウトな状況で、上記の結果が出ているので、この辺の調整を行えば、より性能は向上すると思われるので、作者的にも、更なる性能向上が楽しみではある今日この頃だ。

ちなみに、確定石チェックについては、長らく、MasterReversiには導入していなかったのだが、Ver1.4.1のタイミングでFFO60-79のテストを行ってみた所、Edaxに全く歯が立たなかったので、導入した、という経緯がある。

で、その処理内容としては、それを導入した時のEdaxの最新バージョンであったEdax4.3の処理内容と同等にしてあったのだが、今回も、本質的なアルゴリズムについては無変更だ。

つまり、4辺については、予め全ての組み合わせについて計算で求めておき、チェック時の盤面パターンから、その結果を利用する。

それに加えて、縦・横・斜めx2の全方向に石が詰まっていて、ひっくり返される可能性が無い石も確定石として追加する。

更に、確定石の隣の石も、確定石と結ばれる方向については確定扱いとし、その他の方向でも確定石扱いの場合には、確定石に追加する。

で、変更したのは、縦・横・斜めx2の全方向に石が詰まっている箇所の判定ルーチンだ。

これは何故なのか、というと、以前にも書いた事があるのだが、Edaxの処理コードというのは、全般的に美しいのだが、実用的ではないモノも多いからだ。

つまり、MasterReversi的にも、現行版ではEdaxと同様のアルゴリズムを使って全方向が埋まっている石を判定していたのだが、この処理ルーチンのオーバーヘッドは大きかったので、別の方式を使って、同等の処理を行う格好にする事で、このオーバーヘッドを減らした訳だ。

その結果、確定石チェックは、結構、軽くなったので、今までは、確定石チェックで後ろ向き枝刈りできそうな状況でも、もし枝刈りできないとオーバーヘッドが加算されるだけなので、確定石チェックを行えなかった様な状況でも、より積極的にチェックが行える様になった訳だ。

« 自己最高記録は更新中 | トップページ | まず、リリースする方向で »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/66502570

この記事へのトラックバック一覧です: 遂に総時間でEdax越え:

« 自己最高記録は更新中 | トップページ | まず、リリースする方向で »

2018年7月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google