倶楽部入口倶楽部活動検索累計訪問者数
一年目 約9万3千 |
コンピューター将棋の構造 - 検索エンジン 「浅読みくん」 ③前回紹介した「ミニマックス法」は「○手先をしらみつぶしに検索して一番良さそうな手を推奨」するのでど~しても将棋のように選択肢が多いゲームでは効率が良くありません。(と言うより無理です) 選択肢が多すぎるとき人間は「絞込み」 ①有望な選択肢に集中 ...を行い、必ずしも最高・最善ではない(確認する時間がないので)けど十分満足できる回答を模索します。これを業界では「ヒューリスティクス」と呼び、将棋ソフトを構築する過程で必ず実装することになります。 ヒューリスティクス(Heuristic) ...これに対する「しらみつぶし検索」は確定的(Deterministic)アルゴリズムと呼ばれます。 wasabi様が提唱して下さった 「3手読みくらいまでで有力な手をいくつか抽出してそれ以外は切り捨てて、有力手だけを10手くらい先まで読んでその中から最良のものを選ぶというのはできないのでしょうか?」 ...は正にヒューリスティクスを用いた解決法となります。 まず考慮しなければならないのは如何にして「有力な手をいくつか抽出」するか?...ですが、この際「できた!」と仮定しましょう。 現在浅読みくんの演算速度(秒)は 3手読み 0.141000 なので「3手読みくらいまでで有力な手をいくつか抽出してそれ以外は切り捨て」は0.141000秒掛かります。次は「有力手だけを10手くらい先まで読んでその中から最良のものを選ぶ」です。「有力手」と言うくらいですから5手位に絞り込むのが妥当かと思われます。 そしてこの5有力手からスタートして10手先を読むわけですが...チョットマテ~~~...これって9手読みを5回行うのと同じですね。上記の表から推定して 1200時間 x 5 = 6000時間 = 250日掛かります。ボツです。 「しらみつぶし検索」は最初をいくら絞っても(仮に有力手を1手だけにしても)時間が掛かり過ぎます。仮に有力手を1手に絞れる位なら最初から検索する必要すらありませんね... 浅読みくんに「3手読みくらいまでで有力な手をいくつか抽出して...有力手だけを6手」を試してみた結果を以下に記します。 TIME: 37.486000 ...と予想通りに通常5手読みの~5倍強となります。これは通常6手読みよりは遥かに速い事は確かです。 この考え方を一歩進めて以下の様に変更します。 ① 局面から起きる候補手(30~200程度)を生成する際、「有力な手」のみを生成します。 ...この方法で「10手読み」を行う場合、5の10乗ですので、 5^10 = 9、765、625 とお手軽サイズに収縮します。「15手読み」すら射程距離に入ります。 残る課題はどうやって「有力な手をいくつか抽出」するかなのですが...残念ながら方法は(今のところ)存在しません。よって「絵に描いた餅」となります。残念。
(続)
投稿者: 紫外線 投稿日時: 木, 07/16/2009 - 12:00 categories [ ]
|
ID取得(無料)してログインすると広告は不表示掲示板更新状況
ID取得(無料)してログインすると広告は不表示 |
最近のコメント
7時間 58分前
10時間 1分前
10時間 45分前
13時間 5分前
13時間 47分前
15時間 33分前
15時間 54分前
17時間 20分前
18時間 28分前
1日 13時間前
1日 19時間前
1日 20時間前
1日 20時間前
1日 21時間前
1日 22時間前
1日 22時間前
2日 6時間前
2日 6時間前
2日 6時間前
2日 10時間前