問題タブ [mathematical-optimization]
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.
optimization - 球テストまでのポイント距離の最適化
ポイントが球から特定の距離内にあるかどうかをテストしたいと思います。
これらの変数があります...
私はそれをできた...
dist が正の場合は半径の外側にあり、dist が負の場合は半径の内側にあります。
または、len() 関数内の平方根を回避するための最適化として、これを試すことができます...
一見したところ、これはうまくいくように見えますが、実際には間違った結果が得られているようです。
たとえば、与えられた変数は次のように設定されます...
の結果を取る...
これが実際には数学的に間違っていることは明らかです。これは、2 の平方根が 3 の平方根と同じであることを期待することになります。
私がこのテストを実行したい場合、「点 p は球の範囲 r 内にありますか」、平方根を避けながらこれを行う方法はありますか?
optimization - スキャンラインに沿って半径を計算する反復的な方法はありますか?
Y値は同じですが、X値が異なる一連のポイントを処理しています。Xを1つ増やしてポイントを確認します。たとえば、Y = 50で、Xは-30から30までの整数です。私のアルゴリズムの一部には、各ポイントから原点までの距離を見つけて、さらに処理を行うことが含まれます。
プロファイリング後、距離計算でのsqrt呼び出しにかなりの時間がかかっていることがわかりました。距離を計算する反復的な方法はありますか?
言い換えると:
効率的に計算したい: r[n] = sqrt(x[n]*x[n] + y*y))
。前の反復からの情報を保存できます。各反復はxをインクリメントすることによって変化するため、x[n] = x[n-1] + 1
。sqrtまたはtrig関数は、各スキャンラインの先頭を除いて遅すぎるため、使用できません。
十分に良好で(0.1%未満の誤差)、導入された誤差が滑らかである限り(事前に計算された近似の表にビニングすることはできません)、近似を使用できます。
追加情報:xとyは常に-150から150までの整数です
明日、いくつかのアイデアを試して、どれが最も速いかに基づいて最良の答えをマークします。
結果
私はいくつかのタイミングをしました
- 距離式:16ミリ秒/反復
- ピートの相互作用ソリューション:8ミリ秒/反復
- wrang-wrang事前計算ソリューション:8ms/反復
私は両方の答えが好きなので、テストが2つの間で決定することを望んでいました。使用するメモリが少ないので、Pete'sを使用します。
math - 数学的グラフの圧縮
次のようなグラフを描きたい: 代替テキスト http://img25.imageshack.us/img25/9786/problemo.png
a、b、c の 3 つのパスが表示されます。要素 (1,2,3...,9) の位置を変更してパスをできるだけ短くするにはどうすればよいですか? つまり、この行はできるだけ短くする必要があります。
私は質問のあるグラフを描いているので、非常に興味があります。「線をたどって答えを知る」のようなインフォグラフィックです。私はそれがグラフ理論について少し知っています...それが難しすぎる場合、Linuxがこのようなものを圧縮するためのプログラムがあるかどうか知っていますか?
たとえば、プログラムは次のように動作する必要があります。入力では、3 つのパスを取得する必要があります。
出力では、この要素の座標が必要です。
algorithm - アルゴリズムの最適化 - 複数のポイント間の最短ルート
問題: ポイントのコレクションが大量にあります。これらの各ポイントには、他のポイントへの参照を含むリストがあり、それらの間の距離はすでに計算および保存されています。出発地から始まり、特定の数のポイントを通過して任意の目的地に到達する最短ルートを決定する必要があります。
例: 私は休暇中で、特定の都市に滞在しています。私は 4 つの都市のいずれかを見るために片道旅行をしていますが、可能な限り最短距離で移動したいと考えています。同じ都市を複数回訪問することはできません。
現在の解決策: 現在、すべての可能性を手動で反復処理し、最短パスを保存しています。これは機能しますが、非効率的です。また、この問題は最終的に複数の出発地から複数の目的地への検索を含むように拡張されるため、検索スペースが爆発する可能性があると思います.
最短ルートを検索するより良い方法は何ですか?
wolfram-mathematica - Mathematica による最適化: 目的関数で BinCounts を使用する
Mathematica を使用して、次のように定義された関数を最適化する必要がありBinCounts
ます。最大化したい引数は、ビンのカットポイントを定義します。
問題は、Mathematica が数値を与える前に引数に関して目的関数を展開することだと思います。そのためBinCounts
、bin 仕様は「実数値、無限大、および -無限大を含むリスト」ではないと不平を言います。
以下は、私がやろうとしていることと何が起こっているかの最小限の例だと思います。この問題に対処する方法についてアドバイスをいただければ幸いです。
.net - .NET を使用したアリのコロニーの最適化
アリ コロニーの最適化を実装する .NET クラス ライブラリまたは .NET フレームワークを探しています。このトピックに関するリンク、リソースなどを教えてください。
math - 三角形と三角形の交差点を検出する最も効率的な方法は何ですか?
2つの三角形が2Dユークリッド空間で交差するかどうかをどのように判断できますか?(つまり、古典的な2Dジオメトリ)各三角形の各頂点の(X、Y)座標が与えられます。
php - この「数学モデル」をphpに変換するにはどうすればよいですか?
PHP に変換できない、または別の方法で説明できない数学的な問題があります。誰かが私を正しい方向に送ることができますか?
私は順序(シーケンス)である2つの番号を持っています。#1
と#2
。100
どういうわけかこれらの2つの数値を比較し、比較の結果よりも小さい正の数値を取得したいと考えています。値が高いほど、結果は高くなります。ただし、#2
も高い場合、結果はそれに応じて「淡色表示」する必要があります...
これらは「期待される結果」です:
数値 (1
または2
) の範囲は0
~1000
です。結果は単なる推定であり、明らかに異なります。それがどのように関連しているかを示したいだけです。
matlab - MATLAB で画像の極大値を見つけるにはどうすればよいですか?
MATLAB に画像があります。
そして、私はそれにいくつかの処理をしたい:
出力の極大値を見つけます。つまり、その中のすべてのポイントは、すべてのy
隣接ポイントよりも大きくなります。
それをうまく行うためのMATLAB関数が見つからないようです。私が思いつくことができる最高のものは次のとおりです。
そして、3 番目の次元に沿った最大値が 1 番目のレイヤー (つまり: three_d(:,:,1)
)に表示されるかどうかを確認します。
これを行うためのよりエレガントな方法はありますか?これはちょっとしたコツのようです。