タグ付けされた質問 「efficiency」

問題を解決しながら、できるだけ少ないリソース(時間、スペースなど)を使用します。質問が具体的にリソースの使用に関するものであり、実行時間についてたまたま発生する一般的なアルゴリズムの質問ではない場合は、このタグを使用します。

1
最も効率的な道を旅する
私の友人が実際に私に非常に興味深いコンピューターサイエンス関連の質問をしてきました。 問題は、旅行する必要があることです。 100010001000キロ。唯一のガソリンスタンドは出発点にあります。燃料タンクの最大容量は kmの走行に十分であり、途中で燃料を「埋め」、後で使用するために保存することができます。505050 たとえば、最初に km 走行し、そこに km相当の燃料を埋め込んでから、給油に戻ると、次に、残った kmの燃料を取り出して、それを使ってさらに到達することができます。202020101010101010 あなたは目的地に到達するための最も効率的な方法を見つける必要があります。 私が考えたのは動的プログラミングの使用ですが、給油を行う前に移動する距離はキロメートル単位の整数であると想定する必要があります。そうでなければ、DPでそれを行うのは難しいので、まだ線形プログラミングを試していません、それは可能だと思います。 それを行う方法について何か考えがありますか?または何かヒントはありますか? 最も重要なのは、どのタイプのcs問題ですか?NPは難しいですか?機械で解けるのか、それとも数学的な問題なのか? さらにいくつかの考え: それは継続的なパスなので、NPかどうかを尋ねるのは少しばかげているかもしれませんが、私はまだ非常に興味があります。 100010001000複雑な計算を回避するために、とが意図的に選択される場合があります。505050 貪欲な解決策はありますか?まだ考えられません。 私の友人はそれがcs問題であると主張しているのですが、今は数学的なパターンを見つける問題のほうが多いと思うので、この投稿を続けることにします。 そして、これに関連する科学記事や教科書があれば教えてください、そもそもどこから始めればよいのかわかりません。

3
最低限の効率を証明できますか?
問題が与えられた場合、この問題を解決するためのアルゴリズムの最良の最悪の場合の効率を証明することは可能ですか? たとえば、配列のソートの問題を考えてみましょう。 より単純なソートアルゴリズムの多くは、最悪の場合の効率が O (ん2)O(ん2)O(n^2)クイックソートやバブルソートなど。ただし、TimsortやSmoothsortなどの他のアルゴリズムには、O (n ログn )O(んログ⁡ん)O(n \log n)より効率的です。 他のアルゴリズム(私の知る限り)は、配列よりも効率的に配列をソートできませんでした Θ (n ログn )Θ(んログ⁡ん)\Theta(n\log n)。より効率的な他のアルゴリズムが存在しないことを証明することは可能ですか? より効率的なアルゴリズムが存在する場合に、ソートアルゴリズムを証明する方法がある場合、これは他の問題にも適用されますか?

1
緩和されたビンパッキング問題
私が抱えている問題はこのビンのパッキング問題のようなものですが、代わりにビンと離散した質量を持つアイテムのコレクションがあります。各ビンに少なくとも kgものを入れる必要があります。nnnmmm これを行う効率的な方法はありますか?各ビンにほぼ同じ量があることを保証する方法はありますか?質量の確率分布を推測することは役に立ちますか? より明確に: 私はオブジェクトを、各サイズ持つ。qqq{o1...oq}{o1...oq}\{o_1...o_q\}w(oi)∈Nw(oi)∈Nw(o_i) \in \mathbb{N} 次のようなオブジェクトを含むばらばらのビンコレクションを見つける必要がありますnnnB={b1...bn}B={b1...bn}B = \{b_1...b_n\} ∀bi∈B:∑o∈biw(o)>m∀bi∈B:∑o∈biw(o)>m\forall b_i \in B: \sum_{o \in b_i}w(o) > m いくつかのために。それが可能な場合です。mmm

4
最初にDFAに変換する代わりにNFAを直接使用する実際のレクサーはありますか?
私はコンパイラでCourseraクラスを受講していますが、レクサーに関するレッスンでは、非決定性有限オートマトン(NFA)を使用して正規表現を解析する間に、決定論的有限オートマトン(DFA)との間に時空間トレードオフがあることを示唆しています。私が正しく理解している場合、トレードオフはNFAが小さいことですが、すべての可能な状態を同時に考慮する必要があるため、ほとんどの場合DFAに変換されるため、トラバースに時間がかかります。「実際の」生活でDFAの代わりにNFAを使用するレクサー、つまり、単なる概念実証ではなく、本番環境で使用されるコンパイラーはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.