• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数学?統計?最適解を求めるアルゴリズムについて)

数学?統計?最適解を求めるアルゴリズムについて

このQ&Aのポイント
  • 複数のパラメータによって結果が求められる関数があるとします。
  • 各パラメータの値の範囲は決まってるとします。
  • それぞれのパラメータを総当たりでシミュレーションして結果を求めればもちろん算出できるのですが、総パターン数が多くなると総当たり方式では時間がかかって使い物になりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.1

こういうことをするためにAIという手法があるのです。 それぞれのパラメータを設定したときに得られるresultが一つに決まっているのであれば、ごくごく初歩的なAI手法でこれはどうにかなります。 遺伝アルゴリズムというものです。

muuming2001
質問者

お礼

ありがとうございます。 resultは一つですが、それに対する評価にはばらつきがあります。 遺伝アルゴリズムが使えるか調べてみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • f272
  • ベストアンサー率46% (8045/17188)
回答No.3

#2です。 結局,詳しいことは教えてくれないのですね。20万通りで1か月=260万秒ということは1回の計算に13秒くらいかかるということでしょう。 もし,その関数が単峰性で微分可能あれば,まあ普通に考えても5分以内に答えは出せると思いますよ。ヘッセ行列を作ってCG法でも使ってください。微分可能でなければ微分可能なプロキシ関数を作ってから計算すれば,かなり早く解の近傍に近づけるでしょう。 多峰性の関数ならもう少し難しくて2時間も計算機をぶん回せばなんとかなるでしょう。ラテン超方格サンプリングをしながらプロキシ関数を作って,それで計算してください。

muuming2001
質問者

お礼

ご回答ありがとうございます。 専門用語が多く出てきてちょっと内容を把握するまでに数年掛かりそうですが、がんばってみます。

全文を見る
すると、全ての回答が全文表示されます。
  • f272
  • ベストアンサー率46% (8045/17188)
回答No.2

最も良い手段は,その関数とパラメータの状況によります。 その関数を,あるパラメータで1回計算するのにかかる時間はどの程度か? パラメータは連続した値か,それとも離散値か? 各パラメータの取りうる範囲内で,可能な値は何種類くらいあるのか?連続値を取りうるのなら,得られる値の精度はどの程度か? パラメータの種類は6種類固定ですか?

muuming2001
質問者

お礼

調べてみたいポイントで20万通り程度でした。 総当たりのシミュレーションプログラムを組んでみましたが、全実行するのに1ヶ月近くかかりそうなので別の手法をさがしています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 探索アルゴリズムの名称について

    以下の探索もしくは組み合わせのアルゴリズムに名称があるのかを教えていただければ幸いです. ある変数a1,a2,a3・・・,b1,b2,b3・・・があり(それぞれ小さい順にソートされている), このaとbにより影響する評価関数が最小となる最適な組を探索するアルゴリズムです. (1)まずa1・b1のペアを用いた時の値を算出する. (2)次にa2・b1のペアとa1・b2のペアでの値をそれぞれ算出し,小さい方を見つける. (今回はa1・b2のペアの方が小さかったとします.) (3)次にa2・b2のペアとa1・b3のペアでの値をそれぞれ算出し,小さい方を見つける. (2),(3)の様な処理を繰り返し行い,最小となるa・bの組を探索する. 以上の様なアルゴリズムなのですが,名称があるのかをお聞きしたいと思います. 言葉で書くとイメージしづらいですが,小学・中学ぐらいで勉強した最短経路問題のように 格子状の図を書くと分かりやすいと思います. 二方向のみをみて探索していきます. 個人的には,二分木探索に近いと思うのですがどうでしょうか? ただ,進み方によっては,同じ組み合わせを探索する事も出来るので, 完全な二分木探索ではないような気がします. 皆様のお力をお貸しいただければありがたいです. お願いいたします.

  • グループから一番の組み合わせを選択するアルゴリズム

    お世話になります。 標題のプログラムを組みたいと思ってます。 一定の条件でグループ化された2次元配列を持っています。 Group()()このうち、2次元目のグループの要素数はまちまちです。 それぞれのグループ毎に2個以上の全ての加算組み合わせを算出し、ある閾値の中に収まり、一番上限の閾値に近い値を算出したいと思ってます。 例えば、グループの要素数が4個の場合。 要素をA、B、C、Dとする 2個以上を加算する全てのパターンを計算する A+B+C+D、A+B+C、A+B+D、A+C+D、B+C+D、A+B、A+C、A+D、B+C、B+D、C+D 上記の計算結果のうち、2つの閾値50と100だとしたら、100以下で一番100に近い値を算出する。その値の要素も参照できるようにしたいです。 言語はVisualBasicとしていますが、他の言語でもアルゴリズムがわかれば大丈夫です。 すみませんが、ご教授お願いいたします。

  • 3次元混合正規分布のパラメータ推定

    3次元混合正規分布のパラメータ推定 標本(X,Y,Z,値)が大量にあり、これを3次元の混合正規分布で近似しようとしています。 現在、平均や分散などのパラメータの算出をEMアルゴリズムを用いて行おうと考えています。 いろいろ調べて勉強してみましたが、標本をどのように使えばいいか理解することができません。 この標本はどのような形で式につかえばよいでしょうか? そもそもEMアルゴリズムを用いてこの問題を解くことができるのでしょうか? また、この標本をもとにパラメータを決定する代替方法があれば、教えていただけると助かります。 説明不足な点があるかもしれませんが、よろしくお願いします。

  • ゲイン曲線とステップ応答の関係について(制御工学)

    ゲイン曲線から読み取ることができる 定常ゲイン(ω=0での値)・ピーク値(ゲインの最大値)・バンド幅(ゲインが最大値/√2となるときの各周波数) から、単位ステップ応答へどのような影響が出るかがよくわかりません。 今のところ自分で考えたことは、 ・定常ゲイン 定常ゲインが∞で無い場合は、定常偏差が残るということが、最終値の定理からわかる ・ピーク値 減衰特性に影響すると書いてありましたが、ピーク値が小さいと、閉ループ伝達関数を求めて実際に求めた値が小さくなるので減衰が早いってことなのかな・・・? ・バンド幅 速応性に影響すると書いてありましたが、ここはまったくわかりません。 バンド幅が大きいほど、高周波数の信号でも追従できるということはわかりますが。。。 このような状態です。ご教授いただければ幸いですペコリ(o_ _)o)) 図が入るところなので、説明が難しいようでしたら、参考になるようなURLでも構いません。

  • 複数フィールドの 総当たりの、組み合わせを、得たい

    お世話になります。 データベースソフト上の、話し ですが、 複数ある、フィールドの 各データに、ついて 総当たりの、組み合わせを 元に 演算に、より 最終的な、データを 生成し データベースと、して 扱いたい と、思います。 ですが 総当たり、させる 方法が、解りません。 検索では SQLを、扱う 必要が、ある とか SQL等 言語を、使用せず 出来る、方法は あるで、しょうか? もし、無いなら やり方の、解説を 賜りたく、思います。 どうぞ、ご指南 お願い、致します。 具体的には 例えばの、話 楕円立体の、体積を 得て ACCESS、librabase、等の データベースソフトで、 任意体積に、なる 組み合わせを、精査する と、します。 此の、時 やはり 値群、各々 X、Y、Z、 に、ついて 各々に、フィールドを 生成した と、します。 此の、際 結果は、クエリで 4/3*X*Y*Z と、 した、上で 条件絞り込みで = N        ※(N|Nは、任意値) と、でも すれば、良い で、しょうが が、此の フィールドを、総当たりさせる 方法が、解らない の、です。 宜しく お願い、致します

  • このアルゴリズムの解がわかりません。

    入れ子になった正方形を描くアルゴリズムについて勉強しています。 添付の画像のように、「*」を用いて、入れ子構造になった正方形 を描く為のアルゴリズムを疑似言語で作る問題があります。 一番外側の枠を書く条件はわかるのですが、それ以外が考えても考えてもわかりません。 問題には以下のアルゴリズムの穴埋めを行いますが、埋まる内容とその理由を 教えていただけませんでしょうか? ここから --------------------------------------------------------------------------- procedure main: begin     I ← 1;     while I <= L do begin         J ← 1;         while J <= L do begin             if I が奇数である then                 if ***** 穴埋め「ア」 ***** then                     write "*"                 else if ***** 穴埋め「イ」***** then                     write "*"                 else if ***** 穴埋め「ウ」***** then                     write "*"                 else                     write " "             else                 if ***** 穴埋め「エ」***** then                     write " "                 else if ***** 穴埋め「イ」***** then                     write " "                 else if ***** 穴埋め「ウ」***** then                     write " "                 else                     write "*"             J ← J + 1         end;                  改行する;         I ← I + 1     end end --------------------------------------------------------------------------- ここまで 補足ですが、正方形の1辺の文字数は、変数Lに設定されており、その文字数は、この方法で正方形が描ける(7が最少で11、15...のように4つずつ増える)であるものとするみたいです。 どうかヒントだけでも構いませんので、 ご教授よろしくお願いいたします。

  • 多変数関数の最小値を求めるプログラム

    複雑な関数の最小値を求めるためのプログラムを製作しています。 4つの独立な変数からなる関数を最小にする変数を探し出したいのですが、 効率の良いプログラムがなかなか作れません。 これまで試してみたのは、まずある適当な変数の組み合わせを任意に決め、 それを基準にそこから変数を少しだけずらしたとき、 関数の値が元よりも小さくなったら、ずらした変数を新たな基準として より小さな関数値になる変数を探していく…… というものですが、どうも関数が複雑な曲線を描いているらしく、 極値を数多く持っているようで、この手法ではすぐ極値につかまってしまい、 最小値にたどりつけません。 結局、変数の取りうる組み合わせを全てしらみつぶしに調べる方法にしたのですが、 充分な精度をもたせるためには膨大な計算量が必要となってしまいまったく実用的でありません。 このような多変数関数の最小値を求めるために有効なアルゴリズムはありませんでしょうか?

  • エクセル キャッシュメモリーの解放

    エクセルで シュミレーションをしています。 パラメータは 10個 パラメーター変化数 5 5*5*---10乗 の計算 秒で 20個ほど パラメーターは進む? で まあ 1週間も有れば・・・・ 所が、1日めで ハングでもない、とにかく 止まるというか パラメータ全く動かず。 VBの実行の 中断、実行でも 動かず。 保存して タスクマネージャーの メモリーを見ると ハング状態          :リセットした状態のメモリー 合計     4002       : 4002 キャッシュ 2200(曖昧)   : 416  利用可能 2000(曖昧)    : 2435 空メモリー 200(正確)    : 2461   空メモリーが 200 と 少ない。 これが原因だろうと 思うのですが。 キャッシュを開放する方法って 有るのでしょうか ループの中で DIM set など 一切 ありません。 セルに値を代入。クリヤーせずに 全て上書き 自動計算 ON 相関係数算出などは 有りますが キャッシュが 原因か それなら解放は? それ以外の原因は? 何かご教示願えれば幸いです。   

  • MT4 のRSI

    お世話になります。 MT4でFXチャートを見ております。それほど難しいことは求めておりません。 RSIの値を計算しようと思いまして調べてみたところ RSI=100-(100/(1+RS)) RS=上昇幅のn日平均/下落幅のn日平均 とありましたので AUD/JPY の週足をパラメータ11にしてエクセルで計算しました。  83.47 しかし、MT4のインジケータを利用したところ   62.22 外為ドットコムのFX-VISIONの数値を計算式にあてはめましたが 計算結果はFX-VISIONと同じものでした。 私の計算式と同じ結果になるMT4のインジケータか MT4が採用している計算式をご提供いただきますればとても助かります。よろしくお願いします。

  • どのくらい変化しなくなったら収束したと見なせるのか

    こんにちは。 値の収束について質問が御座います。 現在ある物質を透過する電子の透過率をシミュレーションソフトを用いて計算しています。 量子計算モデリングには、適切なパラメータ設定が必要です。 なぜならば、精度を欠いた計算では、信頼できる結果は得られませんし、計算精度を高く しすぎれば計算時間が長くなってしまい効率的に結果を得ることができないためです。 そこで横軸に計算パラメータ(k点)を、縦軸に透過率をとった図を出し、透過率が変化しなくなる 最小のパラメータを探しています。 しかし、どのくらいのオーダーで変化がなくなったら収束したとみなしてよいのかわかりません。 どなたか教えて頂けたら幸いでございます。 ちなみに、各パラメータ値と透過率の関係は パラメータ  透過率(%) 101   1.25E-06 201   9.57E-07 301   1.14E-06 401   1.21E-06 501   1.11E-06 601   1.15E-06 701   1.17E-06 801   1.17E-06 901   1.11E-06 1001   1.19E-06 1101   1.27E-06 1201   1.14E-06 1301   1.18E-06 1401   1.22E-06 1601   1.16E-06 以上です。どうぞ宜しくお願い致します。