文档详情

様々な技法.ppt

发布:2017-03-01约7.31千字共40页下载文档
文本预览下载声明
ゲーム木 碁や将棋を計算機にさせることを考える 一般的な 2 人でのゲーム木は以下の図のように表せる 枝分かれは選択である ここでは完全情報 ゲームを想定 確率の要素が 入らないゲーム 2009/12/11 先手番 後手番 後手番 先手番 先手番 解の探索空間 (解候補をすべて表現したもの) ミニマックス法 mini-max method お互いが最善を尽くす仮定で探索を行う 評価関数を設定 先手の勝ち +1,引き分け 0,後手の勝ち -1 先手は最大の子の値を持つ枝を辿る 後手は最小の子の値を持つ枝を辿る 手数が大きい場合は実用上ある深さで打ち切る 途中局面での評価で判断 局面の評価関数を作るのが難しい プログラムはバックトラック法で動作 2009/12/11 先手番 後手番 後手番 先手番 先手番 +1 +1 +1 -1 -1 -1 +0.8 +0.5 NP とは? やさしい問題とむずかしい問題 効率の良いアルゴリズムがある(多項式時間で解ける)のがやさしい問題, ないのがむずかしい問題 決定性アルゴリズムで多項式時間で解けるのがクラス P に属する問題 決定性アルゴリズム: 入力の値や内部の状態によって次の状態が一意に決まるアルゴリズム 非決定性アルゴリズムで多項式時間で解けるのがクラス NP に属する問題 非決定性アルゴリズム: 同じ入力でも次の状態が複数あるアルゴリズム,どちらを選んでも良いが,どちらが正しい選択かは分からない 神が選択していけば多項式時間で答えが求まる 2009/12/11 クラス NP に属す問題の例(1) ナップサック問題 重さあたりの価値の異なる複数の物をできるだけ合計価値が高くなるようにナップサックに詰める問題 ナップサックには容量がある 物は分割できない 隙間ができてしまうなら,小さくて高価な物を詰めるより,単価が安くてもぴったり入る物を詰めた方がナップサック内の合計価値は上がるかもしれない 神が選べば O(n) で最適な選択ができる ちなみに,物体が分割できるならクラス P になる 単価の高いのから順に詰めるだけ 最後の物はぴったりになるように削る 2009/12/11 クラス NP に属す問題の例(2) 巡回セールスマン問題 TSP(Traveling Salesman Problem) あるセールスマンが複数の都市を回って営業するとき,どの順に回れば最短経路で全ての都市を巡回できるか,最後に元の都市に戻ってくる n 都市あるとして次の都市の候補は n-1 全部で n! 通りの組合せがある とりあえず近い順に次の都市を選ぶと最初の都市に戻ってくるときに遠くなる 神が選べば O(n) で最適な巡回路が得られる 2009/12/11 分枝限定法 branch and bound 最適化問題をバックトラック法で解く手法 途中で楽観的な見積もりを出し,いままでの最大値よりも小さければ枝狩り 絶対実際の値よりも大きな 見積もりでないといけない 悲観的ではいけない 削減できる計算量は見 積もりの精度に依存 これがむずかしい 2009/12/11 先手番 後手番 後手番 先手番 先手番 とりあえず 1 つ解を 調べる(解の値 x) ここ以下の解の見積もりが x (今まで調べた解の最大値)以下なら調べない(枝狩り) × 動的計画法 dynamic programming 部分的な解の状態を表の形で保存 k 個の要素を取ったときの最適解が表で与えられているときに,k+1 個の要素を取ったときの最適解がどうなるかを表を元に計算,これを n まで続ける 例: 長さ k の経路を求める問題の場合,長さ k+1 の経路を求める問題は,前の問題の結果を表にして残しておけば効率的に解ける 2009/12/11 貪欲戦略 greedy algorithm 現時点で最適な次の一手を選択 一手先までしか先読みしない 複雑な問題の場合,局所的に最適な解が大局的にも最適とは保証ができない ダイクストラ法やプリム法がこれにあたる この 2 つの方法はこれでうまくいく 多くの問題はあまり複雑ではないのでこの方法で良い解が得られることが多い 2009/12/11 発見的方法 Heuristics 良い方法であるとは必ずしも証明されていないが,多くの場合でうまく行くことが知られているような手法 理論よりも経験から得られた知識に頼った方法である 与えられたデータの傾向が既知であればそれを利用する例も多い 問題が難しくなると理論で片付けるのがむずかしくなるので良く用いられる GA(遺伝的アルゴリズム)がこれに当たる 評価値の良い解を組合せて次の解を作ることを繰り返す 2009/12/11 確率アルゴリズム pro
显示全部
相似文档