アルゴリズムの流れとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > アルゴリズムの流れの意味・解説 

アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/18 03:28 UTC 版)

進化戦略」の記事における「アルゴリズムの流れ」の解説

まとめると(1+1)-ESアルゴリズムは以下のような流れ行われる。 x とσの初期値ランダム決める。 突然変異操作よりx の近傍 x' を求める(求め方上述概要参照f(x) < f(x') であるなら、x = x' とする。 1/5 ルール従いσを更新する適当な終了条件満たされるまで2. 以下の操作繰り返す

※この「アルゴリズムの流れ」の解説は、「進化戦略」の解説の一部です。
「アルゴリズムの流れ」を含む「進化戦略」の記事については、「進化戦略」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/18 03:28 UTC 版)

進化戦略」の記事における「アルゴリズムの流れ」の解説

アルゴリズムの流れをまとめると(μ,λ)-ES系のアルゴリズムは以下のようになる。 μ個の個体ランダムに生成してそれぞれの個体目的関数評価するいくつかの個体に対して組み換え操作を行う。 各個体を適当に選択し、その個体突然変異操作行った個体新たにλ個生成するそれぞれの個体目的関数評価する生き残る個体決定する(μ,λ)-ES場合新たに生成したλ個の個体(λ>μ)の内上位μ個を選び残り削除する。 (μ+λ)-ES場合新たに生成したλ個の個体生成元のμ個の個体混ぜ合わせ上位μ個の個体選び残り削除する終了条件を満たすまで2. 以下の操作繰り返し最終的に最も成績良い個体探索ベクトルを解として出力する

※この「アルゴリズムの流れ」の解説は、「進化戦略」の解説の一部です。
「アルゴリズムの流れ」を含む「進化戦略」の記事については、「進化戦略」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/04/13 06:46 UTC 版)

進化的プログラミング」の記事における「アルゴリズムの流れ」の解説

上記記述通り進化的プログラミングは現在決まった構造持たない。そこで、ここでは D.B.Fogel が提案した実数関数探索アルゴリズム流れ述べる。 N 個の個体(この場合関数の引数)を用意して、これにランダム初期値設定する個体それぞれのコピーをつくる。 2. で作ったコピー正規乱数乱数列参照)を加える。 3. の操作作られ新しい N 個の個体と、元の個体混ぜた 2N 個の各個に対して評価値求める、評価値求め方以下の通り評価値求め個体以外の個体ランダムで q 個選択する選んだ q 個の個体のうち、対象個体より成績が悪い個体最大値求め場合は、対象個体より関数の値小さ個体)の数をその個体評価値とする。 評価値順に個体ソートする下位 N 個の個体削除する終了条件を満たすまで2. 以下の操作繰り返す残った中で最も成績良い個体を「解」として出力する上記アルゴリズム場合コピーした個体正規乱数加え操作突然変異の操作にあたる。 特徴としては、評価値与え方がある。この評価値集団中で最も優れた個体評価値は q になり、最も劣っている個体評価値は 0 になるがそれ以外個体評価値一定ではなく比較優秀な個体評価値の方が高くなる確率が高い確率的関数であるといえるこのような評価値与えることを進化的プログラミング特徴挙げることもある。ただし、この評価値与え方および個体残し方は全くの拡張変更行わずに他の進化的アルゴリズム遺伝的アルゴリズム進化的戦略)に適用可能である。

※この「アルゴリズムの流れ」の解説は、「進化的プログラミング」の解説の一部です。
「アルゴリズムの流れ」を含む「進化的プログラミング」の記事については、「進化的プログラミング」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/04 07:13 UTC 版)

線型探索」の記事における「アルゴリズムの流れ」の解説

のような7個のデータを持つリストがある。このときに今要素1がどこにあるか、検索したい。 10 7 12 6 1 4 3 線形探索では、 最初要素である10を見る。 10は1ではないので、次の要素7を見る。 7は1ではないので、次の要素12を見る。 12は1ではないので、次の要素6を見る。 6は1ではないので、次の要素1を見る。1を見つけることができた。 最悪ケースは、このリスト場合要素3を見つけるときで、7個のデータ全て見ないと、見つけることができない

※この「アルゴリズムの流れ」の解説は、「線型探索」の解説の一部です。
「アルゴリズムの流れ」を含む「線型探索」の記事については、「線型探索」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/01 02:02 UTC 版)

A*」の記事における「アルゴリズムの流れ」の解説

A*アルゴリズムの実装を以下に示す。このOPENリスト実装は後に述べるように遅いことを記しておく。 スタートノード( S {\displaystyle S} )を作成する。また計算中のノード格納しておくための優先度付きキュー OPENリストと、計算済みノード格納しておくCLOSEリスト用意する。(名前は「リスト」だが、これらの実際のデータ構造は必ずしも連結リストである必要はない。) ゴールは必ずしも1つである必要はないので、ゴール条件を満たすノード集合を G {\displaystyle G} と呼ぶことにする。 スタートノードをOpenリスト追加する、このとき g ( S ) {\displaystyle g(S)} = 0 {\displaystyle 0} であり f ( S ) {\displaystyle f(S)} = h ( S ) {\displaystyle h(S)} となる。また Closeリストは空にする。 Openリストが空なら探索失敗とする(スタートからゴールにたどり着くような経路存在しなかったことになる)。 Openリスト格納されているノードの内、最小の f ( n ) {\displaystyle f(n)} を持つノード n {\displaystyle n} を1つ取り出す。同じ f ( n ) {\displaystyle f(n)} を持つノード複数ある場合タイブレーク手法によりどれかのノード選択する。 n ∈ G {\displaystyle n\in G} であるなら探索終了するそれ以外場合は n {\displaystyle n} を Close リストに移す。 n {\displaystyle n} に隣接している全てのノード(ここでは隣接ノードを m {\displaystyle m} とおく)に対して以下の操作を行う f ′ ( m ) = g ( n ) + C O S T ( n , m ) + h ( m ) {\displaystyle f'(m)=g(n)+COST(n,m)+h(m)} を計算する、ここで C O S T ( n , m ) {\displaystyle COST(n,m)} はノード n から m へ移動するときのコストである。また g(n) は g ( n ) = f ( n ) − h ( n ) {\displaystyle g(n)=f(n)-h(n)} で求めることができる。 m の状態に応じて以下の操作を行うm が Openリストにも Closeリストにも含まれていない場合 f ( m ) ← f ′ ( m ) {\displaystyle f(m)\leftarrow f'(m)} とし m を Openリスト追加する。このとき m の親を n として記録する。 m が Openリストにある場合、 f ′ ( m ) < f ( m ) {\displaystyle f'(m)<f(m)} であるなら、m をOpenから削除し、 f ( m ) ← f ′ ( m ) {\displaystyle f(m)\leftarrow f'(m)} に置き換え、再びOpen挿入する(Open正しくソートされていることを保証するため)。また、記録してある m の親を n に置き換える。 m が Closeリストにある場合、 f ′ ( m ) < f ( m ) {\displaystyle f'(m)<f(m)} であるなら f ( m ) ← f ′ ( m ) {\displaystyle f(m)\leftarrow f'(m)} として m を Openリスト移動する。また記録してある m の親を n に置き換える。 3 以降繰り返す探索終了後発見されゴール n G {\displaystyle n_{G}} から親を順次たどっていくと S から ゴール n G {\displaystyle n_{G}} までの最短経路得られる。 以上の流れ見ればアルゴリズム手続き的で、並列化が非常に難しいことがわかる。しかし、近年では HDA*, PBFS などの並列手法開発され、特にHDA*は768コア上の大規模並列計算環境にもスケールすることが実証されている。

※この「アルゴリズムの流れ」の解説は、「A*」の解説の一部です。
「アルゴリズムの流れ」を含む「A*」の記事については、「A*」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/10 03:36 UTC 版)

タブーサーチ」の記事における「アルゴリズムの流れ」の解説

アルゴリズムの流れを以下に示す。 初期状態 S0決定する通常ランダム)。 最良状態 Sb と現在状態 S を作成しとりあえS0両方記録しておく。 S の近傍複数(M 個)選びその中で最も成績良い近傍を S' とおく(この比較にS は入らないことに注意状態遷移判定(以下のどちらか)もしS' がSb より良い値ならSb =S =S' とする。このときタブーリストにS →S' になる操作記載されている場合、その部分をタブーリストの一番新しい記載移動する。 もしS' がSb より悪い値なら、S →S' になる操作がタブーリストに記載されているかどうか確認する記載されていないならタブーリストにS →S' となる操作記載して S =S' とする。このときタブーリストのサイズ上限越えているなら、一番古い記載削除する終了条件満たされるまで 3. 以下の操作繰り返し最終的にSb を解として出力するこの方法は他のメタヒューリスティック違い最良解は必ず保存することがアルゴリズム内に組み込まれている。この理由タブーサーチにおける状態は常に遷移続けている(タブーリストの記載方法しだいでは停滞することもあるが、それはやってならない操作とされる)ため最終状態最良状態である可能性極めて低いからである。

※この「アルゴリズムの流れ」の解説は、「タブーサーチ」の解説の一部です。
「アルゴリズムの流れ」を含む「タブーサーチ」の記事については、「タブーサーチ」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/10 08:04 UTC 版)

蟻コロニー最適化」の記事における「アルゴリズムの流れ」の解説

ACO基本的なアルゴリズム以下の通りである。 エージェントアリ)とフェロモン初期化 終了条件を満たすまで以下の処理を繰り返す。各エージェントに対してフェロモンヒューリスティック情報基づいて確率的な解の選択を行う。 各エージェント分泌するフェロモン計算するフェロモン情報更新 最も良い成績エージェントの解を出力する。 解の選択様々なものが考えられるMarco Dorigo が巡回セールスマン問題適用した論文では以下のような方法がとられている。 今、繰り返し回数 t 時点でのエージェント k が巡回路を作成することを考える。まずスタート地点となる都市適当に選択する次にエージェント k はいくつかの都市訪問し現在、都市 i にいるとする。このとき k がまだ訪問していない都市集合を Ω で表し、Ωに属す都市 j と i に対して以下のような評価値計算するa i j k ( t ) = [ τ i j ( t ) ] α [ η i j ] β ∑ l ∈ Ω [ τ i l ( t ) ] α [ η i l ] β {\displaystyle a_{ij}^{k}(t)={\frac {[\tau _{ij}(t)]^{\alpha }[\eta _{ij}]^{\beta }}{\sum _{l\in \Omega }[\tau _{il}(t)]^{\alpha }[\eta _{il}]^{\beta }}}} ここで、τij(t)時点 t での都市 i から j への経路蓄積されフェロモンである。ηij都市 i から j へヒューリスティック情報であり、 Dorigo は距離の逆数使用している。α、β はフェロモンヒューリスティック情報のどちらを優先させるかという定数である。Ωの全ての都市に対して上記評価値計算し都市一つ選択する例え都市 m が選択される確率は以下のようになるp i m k ( t ) = a i m k ( t ) ∑ n ∈ Ω a i n ( t ) {\displaystyle p_{im}^{k}(t)={\frac {a_{im}^{k}(t)}{\sum _{n\in \Omega }a_{in}(t)}}} この選択をΩが空集合になるまで繰り返す。各エージェントに対して上の操作行い時点 t における各巡回路を作成する。 各巡回路が作成されたら、次にフェロモン計算が行われる。これはエージェント k が作成した巡回路を Tk(t) としその長さLk(t) としたとき、エージェント k は各経路に対して以下のように分泌するフェロモン決定する。 Δ τ i j k ( t ) = { Q / L k ( t ) , if  ( i , j ) ∈ T k ( t ) 0 , e l s e {\displaystyle \Delta \tau _{ij}^{k}(t)={\begin{cases}Q/L_{k}(t),&{\mbox{if }}(i,j)\in T_{k}(t)\\0,&else\end{cases}}} ここで Q は正の定数である。この値により時点 t+1フェロモン情報は以下の式で更新される。 τ i j ( t + 1 ) = ρ τ i j ( t ) + ∑ k = 1 m Δ τ i j k ( t ) {\displaystyle \tau _{ij}(t+1)=\rho \tau _{ij}(t)+\sum _{k=1}^{m}\Delta \tau _{ij}^{k}(t)} ここで ρ は 0 以上 1 以下定数であり、フェロモン蒸発率を表している。また m はエージェント最大数である。以上の式を定められ時点まで繰り返すことによって解を得ることができる。

※この「アルゴリズムの流れ」の解説は、「蟻コロニー最適化」の解説の一部です。
「アルゴリズムの流れ」を含む「蟻コロニー最適化」の記事については、「蟻コロニー最適化」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/07 09:25 UTC 版)

グローバーのアルゴリズム」の記事における「アルゴリズムの流れ」の解説

| s ⟩ {\displaystyle |s\rangle } を、全ての状態の一様な重ね合わせ | s ⟩ = 1 N ∑ x = 0 N − 1 | x ⟩ {\displaystyle |s\rangle ={\frac {1}{\sqrt {N}}}\sum _{x=0}^{N-1}|x\rangle } とし、演算子 U s {\displaystyle U_{s}} を U s = 2 | s ⟩ ⟨ s | − I {\displaystyle U_{s}=2\left|s\right\rangle \left\langle s\right|-I} とする。この演算子は、グローバー拡散演算子呼ばれている。 グローバーのアルゴリズム流れ以下の通りである。 初期状態を以下の様に用意する: | s ⟩ = 1 N ∑ x = 1 N | x ⟩ {\displaystyle |s\rangle ={\frac {1}{\sqrt {N}}}\sum _{x=1}^{N}|x\rangle } 次にしめす"Grover iteration"を r ( N ) {\displaystyle r(N)} 回繰返す関数 r ( N ) {\displaystyle r(N)} は漸近的に O ( N ) {\displaystyle O({\sqrt {N}})} である関数であり、詳細後述する。演算子 U ω {\displaystyle U_{\omega }} を適用する演算子 U s {\displaystyle U_{s}} を適用する。 状態Ωを観測する観測結果は、Nが十分に大きければ、1に近い確率でλωとなり、 ω {\displaystyle \omega } を得ることができる。

※この「アルゴリズムの流れ」の解説は、「グローバーのアルゴリズム」の解説の一部です。
「アルゴリズムの流れ」を含む「グローバーのアルゴリズム」の記事については、「グローバーのアルゴリズム」の概要を参照ください。


アルゴリズムの流れ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/07 23:46 UTC 版)

遺伝的アルゴリズム」の記事における「アルゴリズムの流れ」の解説

遺伝的アルゴリズム一般に以下の流れ実装される。なお、下記では個体数を N, 最大世代数を G と置く。 あらかじめ N 個の個体が入る集合二つ用意する。以下、この二つ集合を「現世代」、「次世代」と呼ぶことにする。 現世代に N 個の個体ランダムに生成する評価関数により、現世代各個体の適応度それぞれ計算する。 ある確率次の3つの動作のどれかを行いその結果次世代保存する個体二つ選択選択方法後述)して交叉後述)を行う。 個体一つ選択して突然変異後述)を行う。 個体一つ選択してそのままコピーする次世代個体数が N 個になるまで上記動作繰り返す次世代個体数が N 個になった次世代内容全て現世代に移す。 3. 以降動作最大世代数 G 回まで繰り返し最終的に現世代」の中で最も適応度の高い個体を「解」として出力する

※この「アルゴリズムの流れ」の解説は、「遺伝的アルゴリズム」の解説の一部です。
「アルゴリズムの流れ」を含む「遺伝的アルゴリズム」の記事については、「遺伝的アルゴリズム」の概要を参照ください。

ウィキペディア小見出し辞書の「アルゴリズムの流れ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「アルゴリズムの流れ」の関連用語

アルゴリズムの流れのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



アルゴリズムの流れのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの進化戦略 (改訂履歴)、進化的プログラミング (改訂履歴)、線型探索 (改訂履歴)、A* (改訂履歴)、タブーサーチ (改訂履歴)、蟻コロニー最適化 (改訂履歴)、グローバーのアルゴリズム (改訂履歴)、遺伝的アルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS