shotgunプログラムについてshotgun しょっとがん:散弾銃の意味...

10
shotgunプログラムについて 芝世弐 2017927

Upload: others

Post on 28-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

shotgunプログラムについて

芝世弐

2017年9月27日

Page 2: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

shotgun

しょっとがん:散弾銃の意味

ドラマ西部警察では大門刑事の武器として有名

本来は試行錯誤段階のプロジェクトコードでした

アメリカンフットボールのショットガンフォーメーションをイメージして,多モジュールの合議プログラムのようなものを作成していた

クラスタシステムのような複数のモジュールの集合体として構成

Page 3: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

開発動機

今年に入ってから深層学習を学習しているが,その自主課題として設定

春のコンピュータ将棋選手権で様々な実装を参考にして自分なりのものを作ってみた

面白い!

心の声(参加したら特等席で観戦できるやん!!!)

Page 4: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

開発現状

様々な検討をした結果,ライブラリ依存率がどんどん高くなるジレンマを抱えており,オリジナリティと強さの狭間で悩んでいる

捨てたもの

– 半端な自作学習プログラム

– 遅い自作探索プログラム

残ったもの

– 複数のライブラリを繋ぐことによる悍ましいキメラプログラム

– 独自の半自動化学習プログラム

Page 5: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

本件のいちおし

思春期の優柔不断な主人公に代わり,操縦系を乗っ取ることにより即断即決,冷静沈着かつ無慈悲な攻撃を繰り出す機構。

Page 6: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

利点

持ち時間を消費する割に実際指している手が同じというケースは多いため,消費時間の短縮になる

つまり,省電力である

終盤に時間を残すことは勝率アップに繋がる可能性

勝った時に多くの持ち時間を残していると圧倒感が得られるという自己満足

Page 7: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

欠点

探索時間を使わないためにポカをやる可能性がある

序中盤でのポカがそのまま敗勢になる可能性

負けた時に考えてない感が丸出しになる屈辱

Page 8: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

代わりに得たもの

対戦後の感想戦のようなものを行う時間的余裕

ネット対戦のfloodgateにて次の対戦までの間,前局の肝になる局面を自動検討する

対戦する度に少しずつ強くなる(かも)

Page 9: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

感想戦の効果

感想戦の記録や複数の棋譜を集めた定跡など串刺し検索を行うことにより複数の指し手が得られるが,これを条件ごとに優先度をつけて採用する。

ツボにハマると格上の相手でも中盤をほぼノータイム指しで圧倒する(こともある)

Page 10: shotgunプログラムについてshotgun しょっとがん:散弾銃の意味 ドラマ西部警察では大門刑事の武器として有名 本来は試行錯誤段階のプロジェクトコードでした

大会までに出来ればいいな

GPU利用

– GPUスペックが不明だが,それなりに使えそうなアイデアはある

– 大会までに実装するかどうかモチベーション含め微妙

終盤用エンジン

– 詰み探索ではなく,宣言勝ち専用ルーチンの構想

– 大会までに実装できるかどうかコーディング能力的に微妙

マルチスレッドの負荷最適化

– 現在適当に分散させているが調整すると強くなるかも?