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

利用可能な選択肢のセットから最適な要素を選択することに関する一般的な質問。

1
最適化問題のNP硬度
アルゴリズムゲーム理論の問題を研究しているときに、次の最適化問題の複雑さに興味を持ちました。 問題 与えられた: グラウンドセットによって与えられ、U=[n]={1,…,n}U=[n]={1,…,n}U = [n] = \{1,\ldots,n\}nnn mmmランキングは、合計注文として与えられます where()、⟨Si,σi⟩⟨Si,σi⟩\langle S_i, \sigma_i \rangleSi⊆USi⊆US_i \subseteq U1≤i≤m1≤i≤m1 \leq i \leq m によって与えられる重みベクトル。UUUw∈Rnw∈Rnw \in \mathbb{R}^n 目標:次の合計を最大化するサブセット見つけます: whereは、よると 、で最高ランクのアイテム。L⊆UL⊆UL \subseteq Ur(L)=∑i∈[m], Si∩L≠∅w(ti(L))r(L)=∑i∈[m], Si∩L≠∅w(ti(L))r(L) = \sum_{i \in [m],\ S_i \cap L \neq \emptyset} w(t_i(L))ti(L)ti(L)t_i(L)L∩SiL∩SiL\cap S_iσiσi\sigma_i 問題は -hardだと思います。実際、すべてのがサイズあっても、問題は難しいようです。しかし、私はこれを証明することができませんでした。NPNP\mathsf{NP}SiSiS_i222 私が知っていること 次の制限により問題が簡単になることが簡単にわかります。 すべての重みは均一です。すべての要素を選択することが明らかに最適です。 すべてのランキングは全体の完全なランキングです。最大の重みを持つ要素を取得することにより、最良のソリューションが得られます。UUU 重みはバイナリ()だけなので、重み付け要素をすべて選択するのが最適です。w∈{0,1}nw∈{0,1}nw \in \{0,1\}^n111 しかし、一般的なケース(LPを使用するなど)の多項式時間アルゴリズムを見つけることができませんでした。一方、問題が …

1
サイズの制約が異なる2つのセットの部分モジュラー関数を最大化する
2つの完全に異なるドメイン(リンゴとオレンジ)があり、最初のドメインからオブジェクトのセットを取得し、2番目のドメインからオブジェクトのセットを取得して実数を返す関数fffがあります。 f(S、T)f(S、T)f(S,T)は、以下の興味深いプロパティがあります。 固定すると、それはに対して負ではなく、サブモジュラーで単調になります。STTTSSS 固定すると、それは負ではなく、サブモジュラーでTに関する単調になります。TSSSTTT 2つのカーディナリティー制約を使用してf(S、T)を最大化したい| S | = sおよび| T | = t。f(S、T)f(S、T)f(S,T)| S| =s|S|=s|S| = s| T| =t|T|=t|T| = t どうやってやるの?製品空間を考えると、関数は単調で部分モジュラーです。したがって、標準の貪欲アルゴリズムを適用できます。2つの異なるサイズの制約を処理しても問題にならない場合があります。(a 、x )(a、バツ)(a, x)と(a 、y)(a、y)(a, y)を順番に追加すると、| T |を増やすことができます。| S || T||T||T|を増やすことなく 。| S||S||S| 問題は、1 − 1 / e1−1/e1-1/e近似がまだ成り立つかどうかです。

2
NCで最も難しい最適化問題
最適化問題を学習するとき、通常、線形計画法(またはより一般的には、凸最適化)を最も単純な例として検討します。それは多項式時間で解けるし、アルゴリズムを理解するのは比較的簡単です。ただし、LPの決定バージョンは完全です。これは、多項式時間で解決できる最も難しい問題の1つであることを示唆しています。PP\mathsf{P} という仮定の下で。\ mathsf {NC}の決定問題での「最も難しい」自然な最適化問題は何ですか?N CN C ≠ PNC≠P\mathsf{NC} \neq \mathsf{P}N CNC\mathsf{NC} これが曖昧すぎる場合は、制限に制限できます。制限されたプログラムに関連する決定問題をで解決できるようにするために、線形計画(またはより一般的には、凸計画)に必要がある制限の最小セットは何ですか?N CNC\mathsf{NC} 動機 多くの場合、これは怠惰な好奇心です。ただし、それはCosma Shaliziの「ソビエト連邦では、最適化問題が解決する」によってもたらされました。特に、LPが一元化された経済を得るために解決するのが難しすぎる場合(つまり、最適化が要求する量が多すぎる場合)、分散システムは何らかの並列処理よりも何らかの並列処理を実行する必要があります(私にとって) :)。N CPP\mathsf{P}N CNC\mathsf{NC}

1
コードとコンパイラの最適化のための機械学習?
より効率的なコード(つまり、コンパイル時と実行時のヒューリスティック)を生成するためにMLを調査しています。私はphd(コンパイラ、hpc)を持っていますが、MLの経験はほとんどありません。 既存の作品への参照をいただければ幸いです。 さらに重要なのは、どの機械学習技術を探求するべきか? 各データサンプルは、コード+テスト実行+パフォーマンスデータです 正しいラベル付けされた多数のデータサンプル 変更する多数のパラメーター 任意のサンプルを任意のパラメーターで再実行できます(および正しいラベルを取得します) サンプルを実行および再実行するための大量のCPU そして、私の非常に疑わしい仮定のいくつか... コードの多くはすでにローカルに最適化されています(基本的なコンパイラー最適化) 一部のパラメータは「高レベルの概念」です。たとえば、配列をリンクリストに置き換えます。(したがって、小さなパラメーターの変更はさまざまな効果をもたらします) 望ましい改善には限界がある(xKの改善は「十分に良い」であり、Kはよく知られている) パラメータはまばらで、つまりほとんどゼロです(ほとんどのコードは基本的に良好であり、有益な変更は比較的少ないと思われます)。 私に私の道を設定するための任意のポインタはいただければ幸いです

1
リソースが制約された最短パス(RCSP)のNPハードなグラフのクラスはどれですか。
私が取り組んでいる問題を、既知のNPハード問題にリンクしようとしています。リソースに制約のある最短経路問題として問題をモデル化できると思います。ただし、グラフの構造は完全に恣意的ではありません。したがって、RCSPが困難になる時期を知ることは有用です。DAG、平面DAG、または次数に制限のあるDAGは難しいですか?どんな助けでも大歓迎です!

1
オンライン最適化と段階的最適化の違いは何ですか?
最近、インクリメンタル最適化問題についていくつか読んだことがありますが、それらとオンライン最適化問題の違いが何であるかわかりません。私の印象は、すべてのオンライン問題をインクリメンタルな対応として定義できるということです(逆は明らかに真実です)。 ここで(あまり正式ではない)定義に進みます。漸増問題では、最適化問題のインスタンスのシーケンスが与えられます。(i + 1)番目のインスタンスは、i番目のインスタンスの「拡張」です。(i + 1)番目のソリューションは、「将来の」インスタンスの知識なしで計算する必要があり、i番目のソリューションで行われた決定を維持する必要があります。古典的な例はk-median問題です。k個のファシリティを開いた後、k '> k個のファシリティが必要になりますが、古いファシリティは破壊されません。 オンラインの問題では(通常の定義では)、一連の「リクエスト」が与えられます。ここでは、将来の要求を知らなくても要求に答える必要があります。全体としてシーケンスに答えるコスト/ゲインを最適化したいと考えています。 オンラインの問題については、増分定義に適合する「オフライン」の最適化問題を定義できると思います(通常、私が目にするのはその逆です)。定義が同等である場合、同じ概念に別の名前を使用する意味は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.