問題タブ [decomposition]
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.
algorithm - 数のパーティションの生成
正の数の可能なすべてのパーティションを生成するアルゴリズムが必要でした.1つ(回答として投稿)を思いつきましたが、それは指数関数的な時間です。
アルゴリズムは、数値がそれ自体以下の正の数値の合計として表現できるすべての可能な方法を返す必要があります。たとえば、数値5の場合、結果は次のようになります。
- 5
- 4+1
- 3+2
- 3+1+1
- 2+2+1
- 2+1+1+1
- 1+1+1+1+1
だから私の質問は: これのためのより効率的なアルゴリズムはありますか?
編集:これが何と呼ばれているのか本当にわからなかったので、質問のタイトルは「数値の和分解」でした。ShreevatsaR は、それらが「パーティション」と呼ばれていることを指摘したので、それに応じて質問のタイトルを編集しました。
matrix - LAPACK/BLAS または LDL 分解を計算するための Fortran サブルーチンはありますか?
タイトルが示すように、正定行列 A のコレスキー LDL 分解を形成する必要があります (通常のコレスキーと同様ですが、L の対角が 1 つあり、D は対角行列です)。Lapackでそれを行う関数を1つだけ見つけましたが、行列Aは三重対角でなければならないと言っています。lapack のようないくつかの無料のサブルーチン ライブラリでそれを行う何らかの関数はありますか?
partitioning - 問題をより小さな理解可能な部分に分割する方法は?
このトピックについて一般的なアドバイスができるかどうかはわかりませんが、試してみてください。複雑すぎて説明できないので、私のケースを説明するのは難しいです。そして、それがまさに問題です。
プロジェクトの一部を設計しようとする状況に常に出くわすようですが、考慮すべきことが多すぎて把握できません。
システムを一度に細かく分割して見る方法に関する一般的なヒントやアドバイスはありますか? 独自に個別に設計できる小さな部分を見つける方法は?
visual-c++ - ポリゴンの三角形分割
私は板金部品のネスティングに取り組んでおり、ミンコフスキー和を実装してネスティング用の適合しないポリゴンを見つけています。問題は、ミンコフスキー和を計算するコードへの入力として凸集合しか与えられないことです。したがって、凸面セットに穴を開けて、凹面ポリゴンを分割する必要があります。私は三角測量も受け入れていますが、VC++ (6.0) で動作するコードを探しています。コード全体の準備が整い、凸集合の形での入力を待っているだけなので、少し時間が足りません。
以前の経験を持つ誰かがこれで私を助けることができれば、本当に感謝しています. 他の投稿を調べましたが、これに一致するものは見つかりませんでした。私は機械工学の学生ですが、コンピューター言語についてはまったく知識がありません。私が扱えるのは、VC++ でコードをコンパイルし、それを既存のコードに組み込むことだけです。
perl - Perlの複雑さ?
Perlプログラミング言語の複雑さについての一般的な議論は何ですか? たとえば、その複雑さを議論するときに本当に焦点を当てるべきものは何ですか?
file - ファイル構造エクスプローラー (Wireshark に似ていますが、ファイル用)
ファイルを分解・解析できるソフトを探しています。何でも知ってますか?
つまり、ファイルを指定すると、たとえば次のようになります。
- これが PNG であることを示すマジック ナンバーです。ここで色の定義が開始され、ここで圧縮フラグが開始され、次に画像データが続きます...
または次のようなもの:
- これは MP3 ファイルです。これはID3 の定義です。これはジョイント ステレオであることを示すフラグです。
Wireshark (Ethereal) がネットワーク トラフィックで行っていることをファイルで行うソフトウェアを探しています。
ありがとう!
python - グラフの st-ordering または ear-decomposition の実装はありますか?
私は、耳分解アルゴリズム ( http://www.ics.uci.edu/~eppstein/junkyard/euler/ear.html ) の実装を探しています。networkxを調べましたが、見つかりませんでした。アルゴリズムのレイアウトは漠然と頭の中にありますが、リファレンス実装も見てみたいです。
私が正しく理解すれば、線形時間 Eager st-ordering アルゴリズムに関する Ulrik Brandes の出版物を認識しています。これは、副産物として耳の分解をもたらします (実装のベースにしようとしている疑似コードも含まれています)。 .
副次的な問題: 最初のステップは、グラフの st-ordering である可能性があります。あなたが知っている st-ordering アルゴリズムの実装はありますか?
ご意見ありがとうございます。Python で ear-decomposition アルゴリズムを実装することで、たとえば networkx に貢献したいと思っています。
c - 固有ベクトル (スペクトル) 分解
正方行列の固有値 (スペクトル) 分解を計算できるプログラムを C コードで見つけようとしています。私は特に、最高の固有値(したがって、それに関連する固有値)が最初の列にあるコードを見つけようとしています。
出力をこの順序にする必要があるのは、固有ベクトルの中心性を計算しようとしているからです。そのため、実際には最大の固有値に関連付けられた固有ベクトルを計算するだけで済みます。前もって感謝します!
java - Javaでの分解、いつ十分ですか?
私は 1 年生のコンピューター サイエンスの学生です。私たちは現在 Java でプログラミングを行っており、メイン メソッドのロジックが可能な限り疑似コードに近いものを読み取れるように、よく名前の付いたメソッドにプログラムを分解しようとします。
私が見つけた問題は、やり過ぎかもしれないと感じるほど多くの小さなプライベート メソッドを書くことになることがよくあるということです。問題をさらに分解するかどうかを決定する際に考慮すべき経験則やスタイル上の考慮事項はありますか?
java - Javaでifステートメントの大きなブロックをリファクタリングするにはどうすればよいですか?
最近、JVisualVMを使用していくつかのコードのプロファイルを作成しましたが、特定のメソッドの1つが、頻繁に呼び出されることと実行時間が遅いことの両方から、多くの実行時間を費やしていることがわかりました。このメソッドは、次のようにifステートメントの大きなブロックで構成されています:(実際のメソッドには、これらが約30個あります)
これらのifステートメントを書くためのより良い方法はありますか、それとも効率を改善するために他の場所を探す必要がありますか?
編集:プログラムは、進化科学を使用して、特定の結果へのパスを開発します。具体的には、StarcraftIIの注文を作成します。このメソッドは、特定の進化が特定の結果の条件を満たすかどうかを確認します。