問題タブ [minimization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
numerical - GNU Scientific の「multimin」を使用してすべての極小値を見つける
GNU Scientific ライブラリには、多次元関数最小化フレームワークがあります。ただし、その警告には、いくつかの異なる極小値を持つ関数で使用すると、1 つの任意の解が返されるだけであることが明示されています。すべての極小値のリストを返すように(いくつかのしきい値基準に従って)それを適応させる方法を知っている人はいますか?
minimization - ニュートン法を使用して非線形多変量関数の最小値を見つける方法(線形代数ではなくコード)
私はいくつかのパラメーター推定を行おうとしていますが、約30変数にわたって予測方程式の二乗誤差を最小化するパラメーター推定を選択したいと思います。方程式が線形の場合、30個の偏導関数を計算し、それらをすべてゼロに設定して、線形方程式ソルバーを使用します。しかし残念ながら、方程式は非線形であり、その導関数も非線形です。
方程式が単一の変数を超えている場合は、ニュートン法(ニュートンラプソンとも呼ばれます)を使用します。Webには、単一変数の関数に対してニュートン法を実装するための例とコードが豊富にあります。
約30個の変数があるとすると、ニュートン法を使用してこの問題の数値解をプログラムするにはどうすればよいですか?私は閉じた形の方程式を持っており、一次および二次導関数を計算できますが、そこからどのように進めるかはよくわかりません。私はウェブ上で多数の処理を見つけましたが、それらはすぐに重い行列表記になります。ウィキペディアで適度に役立つものを見つけましたが、それをコードに変換するのに問題があります。
分解が心配なのは、行列代数と行列反転です。一次方程式ソルバーを使用して行列を反転することはできますが、正しい行と列を取得したり、転置エラーを回避したりすることなどが心配です。
具体的には:
変数をそれらの値にマッピングするテーブルを操作したいと思います。そのようなテーブルを引数として与えられた場合に二乗誤差を返すようなテーブルの関数を書くことができます。また、任意の変数に関する偏導関数を返す関数を作成することもできます。
表の値について妥当な開始見積もりがあるので、収束について心配する必要はありません。
推定値(各変数の値のテーブル)、関数、および偏微分関数のテーブルを使用して新しい推定値を生成するループを作成する方法がわかりません。
最後は私が助けて欲しいものです。直接の助けや良い情報源へのポインタは大歓迎です。
編集:私は閉じた形で一次および二次導関数を持っているので、それらを利用して、シンプレックス検索のようなよりゆっくりと収束する方法を避けたいと思います。
python - ニューラル ネットワークを使用して関数の最小値 (a) を見つけることはできますか?
私はニューラル ネットワークに少し興味があり、時間領域でさまざまな最小化手法を比較する軽いプロジェクト (最速) に Python でニューラル ネットワークを使用することを考えていました。
その後、NN が最小化に適しているかどうかさえわからないことに気付きました。どう思いますか?
forms - Compact-Framework: 最小化と復元が機能しない
Program.cs に次のようなアプリケーションを作成しました。
私はすべてのフォームで全画面表示を使用しているため、X ボタンはありませんが、Form.Close() を使用すると同じ機能が実行されると思いましたか?
メイン メニュー (メイン) からアプリケーションを最小化し、ユーザーがアプリケーションを再実行するとすぐに再び表示されるようにしたいと考えています。現時点では、アプリケーションを再実行するたびに、ロード画面が実行されます。
私は何を間違っていますか?
前もって感謝します。
編集:アプリケーションが実行されていることを検出し、メインメニューが常にメモリにロードされないように、メインメニューを復元できるようにする必要があります。
c# - f(x,y) の最小化 (x と y は整数)
関数 f(x,y) (x と y は整数) を最小化するための提案があるかどうか疑問に思っていました。私は、BFGS やその他の GSL の手法、数値レシピの手法など、多くの最小化および最適化手法を研究してきました。これまでのところ、いくつかの異なるスキームを実装しようとしました。最初の作業は、最大の降下 f(x+1,y),f(x-1,y),f(x,y+1),f(x,y-1) の方向を選択し、その方向に従います。行の最小化で。また、ダウンヒル シンプレックス (Nelder-Mead) メソッドを使用してみました。どちらの方法も、最小値から遠く離れて行き詰まります。どちらも、放物面の最小値を見つけるなど、より単純な関数で機能するように見えますが、両方、特に前者は、x と y が実数値 (double) である関数用に設計されていると思います。もう 1 つの問題は、f(x,y) をできるだけ少ない回数呼び出す必要があることです。外部ハードウェアと通信し、呼び出しごとに数秒かかります。これについてのアイデアは大歓迎です。
エラー関数の例を次に示します。申し訳ありませんが、私は前にこれを投稿しませんでした. この関数の評価には数秒かかります。また、デバイスからクエリした情報は、目的の値を下回っている場合はエラーに追加されず、上にある場合にのみ追加されます
html - HTML コードを 1 行のコードにして最小化するにはどうすればよいですか?
ということで、HTML、インラインCSS、JSでWebページを作ってみました。このページはJS関数で作成するので
新しい行ごとに同じ関数を繰り返すのではなく、すべての Web ページ コードを前述の関数の 1 つに取り込める 1 行に入れたいと思います。ページに含まれるコード行が多すぎるため、これを手動で行うことはできません。
これを行うための高速でクリーンな方法はありますか?
注意:私はSOME PROGRAMを使用して、すべての " を \" にワンクリックで置き換えました。
推敲
ユーザーがボタンをクリックすると、新しいページを生成し、前述の関数を使用してそれを書き込むJS関数を呼び出すときに、ページ全体を生成したいと考えています。
chess - チェス盤の騎士の最短経路
私は次のプログラミングコンテストのために練習してきましたが、私は完全に当惑している質問に出くわしました。しかし、それは決して思い浮かばないということで、指を交差させるのではなく、今学ぶべき概念だと感じています。
基本的には、チェス盤の騎士の駒を扱います。開始位置と終了位置の2つの入力が与えられます。次に、目標の場所に到達するために騎士がたどることができる最短経路を計算して印刷することが目標です。
私は最短経路のようなものを扱ったことがなく、どこから始めればよいのかさえわかりません。これに取り組むために私はどのような論理を採用していますか?
PS関連性がある場合は、騎士の通常の動きを補うために、騎士が行うことができる(潜在的に)8つの動きによって形成される正方形の四隅に移動できるようにする必要があります。騎士の場所。
ruby - Rubyの元帥に代わるより高速で効率的な方法はありますか?
RubyのMarshal機能のドロップイン代替品を探しています。これは、Marshalに比べて次の1つ以上の利点があることを願っています。
- より高速なシリアル化/逆シリアル化
- より簡潔な(または単に小さい)オブジェクトグラフ
ありがとう!!
algorithm - 異なる整数形状の四角形を囲む四角形のスペースを最小化しようとすると、バックトラックを回避できますか?
私の問題の抽象化は、デカルト平面にはたくさんの長方形があるということです。これらの長方形は既知の整数サイズを持ち、横座標 (水平座標) が既知で固定されている整数座標を持っている必要があります。縦座標 (垂直座標) のみが異なる場合があります。
問題は、指定されたすべての長方形を含む最小の長方形が最小である縦座標を見つけることです。これは、小さな長方形の横座標が固定されているため、幅が固定されているため、最小の高さを持つ必要があることを意味します。
バックトラッキングを使用する必要があるかどうか、またはより高速な方法があるかどうかはわかりません.50個の長方形では、正しい解を計算するのにかなりの時間がかかり、貪欲なアルゴリズムはうまくいきません。
編集:申し訳ありませんが、私は十分に明確ではなかったことに気づきました。最初にこの質問をしたとき、私はカレンダー アプリケーションを作成していました。マネージャーは、チームのイベントを次のように入力します。
- イベントAは午後2時から。午後4時に終了します。
- イベントBは17時から。午後6時に終了します。
- イベントCは16時から。午後6時に終了します。
- イベントDは午後2時から。午後3時に終了します。
- イベントEは午後3時から。午後5時に終了します。
これらのイベントをタイムラインに表示したいのですが、オーバーラップせずに画面の占有面積をできるだけ小さくしたいと考えています (マネージャーは各イベントをその四角形で表示し、その四角形で説明を表示したいため)。
上記の例の最適な配置は次のとおりです。
A と C は直線上にあり、D、E、B は別の直線上にあります。貪欲なアプローチでは、A と B を同じ行に配置し、C と D を別の行に配置し、E を 3 行目に配置します。
html - HTML、疑問、質問を最小限に抑える
HTMLの最小化は、Googleのページ速度でまだ改善の余地がある唯一のセクションです。
私のサイトはすべて動的であり、HTMLはすでに動的であるDeflated
ため、サーバーにこれ以上プレッシャーをかける理由はありません(送信する前にリアルタイムでページを最小化したくありません)。
私にできることは、テンプレートファイルを最小化することでした。私のテンプレートファイルは混在しPHP
てHTML
いるので、かなり安全だと思うが、コミュニティで改訂したいコードをいくつか思いついた。
これにより、テンプレートファイルが単一の非常に長いファイルとして、DBコンテンツが挿入されるいくつかの場所と交互になります。グーグルのホームページのソースは私が得たものと多かれ少なかれ似ているので、彼らは同様のアプローチに従っているのだろうか。
質問1:潜在的な問題を予測していますか?
質問2:とにかくより良い(これを行うためにより効率的な)ものはありますか?
また、テンプレートは有効なHTMLではないため(ヘッダーとフッターが含まれているなど)、HTMLを検証しようとしていないことを忘れないでください。
編集:テンプレートファイルが展開時に最小化されることを考慮に入れてください。CSSおよびJavascriptファイルはYUICompressureand Closureを使用して最小化および圧縮されるため、テンプレートファイルはデプロイ時に同様に最小化されます。クライアントの要求ではありません。
ありがとうございました。