タグ付けされた質問 「complexity-theory」

問題の(計算)複雑さに関する質問

4
この関数の時間の複雑さはどれくらいですか?
これは私の講義ノートの例です。この関数は時間の複雑さを伴いますかO (n ログn )O(nlog⁡n)O(n \log n)?。最悪のケースは機能がelse分岐に入るので、時間の複雑性が2つの入れ子になったループログんlog⁡n\log n そして んnn、そうです O (n ログn )O(nlog⁡n)O(n \log n)。私は正しいですか? int j = 3; int k = j * n / 345; if(k > 100){ System.out.println("k: " + k); }else{ for(int i=1; i<n; i*=2){ for(int j=0; j<i; j++){ k++; } } }


2
2部グラフの最小頂点カバーを最大フローに削減
二部グラフの最小頂点カバーが最大フロー問題に削減できることを示すことは可能ですか?または、最小カットの問題(次に、max-flow min-cutの定理に従うと、主張は成立します)。 直感的に:各フローについて、1つのエンドポイントを選択すると、2部グラフの最小頂点カバーになります。しかし、それを厳密に示すことはできますか?

1
NPの証明は、指数DTIMEの和集合のサブセットです
がすべてのに対しての和集合のサブセットであることを証明する必要があります。NPNP\mathsf{NP}DTIME(2nc)DTIME(2nc)\mathsf{DTIME}(2^{n^c})c>1c>1c > 1 してみましょうで言語/意思決定問題で。次に、チューリングマシンして、多項式時間で多項式サイズの証明書を指定してを決定できます。したがって、多項式サイズのすべての可能な証明書を列挙します。長さ証明書には可能な証明書があります。までの長さの証明書、ある多くの証明書。各証明書は多項式時間で決定できるため、各問題はで実行できることがわかります。何が悪いのですか?LLLNPNP\mathsf{NP}LLLMMM2l2l2^llllncncn^c∑ncl=02l=2nc+1−1∑l=0nc2l=2nc+1−1\sum_{l=0}^{n^c} 2^l = 2^{n^c + 1} - 1NPNP\mathsf{NP}DTIME(2ncnc)DTIME(2ncnc)\mathsf{DTIME}(2^{n^c}n^c)

1
SATがNP完全であることをどのように証明しますか?
それでは、SATがNP完全であることをどのように証明しますか? 私はそれがNPコンプリートによって何を意味するかを知っているので、それについての説明は必要ありません。 私が知りたいのは、SATなどの1つの問題が、ハミルトニアン問題などのその他の問題への還元に頼らずにNP完全であることをどのように知っているかです。

2
行列乗算プログラムの入れ子ループの不変式
Hoareロジックを使用して2つの行列を乗算するためのプログラムの正確性を証明することについて、卒業論文を作成しています。これを行うには、このプログラムの入れ子ループの不変式を生成する必要があります。 for i = 1:n for j = 1:n for k = 1:n C(i,j) = A(i,k)*B(k,j) + C(i,j); end end end 私は最初に内部ループの不変式を見つけようとしましたが、今までは本当のものを見つけることができません。上記のプログラムの不変式を見つけるのを手伝ってくれる人はいますか?
7 algorithms  loop-invariants  correctness-proof  formal-languages  regular-languages  pumping-lemma  logic  logic  programming-languages  lambda-calculus  term-rewriting  operational-semantics  complexity-theory  time-complexity  computability  proof-techniques  reductions  digital-preservation  distributed-systems  storage  algorithms  dynamic-programming  check-my-algorithm  reference-request  cryptography  quantum-computing  formal-languages  regular-languages  context-free  formal-grammars  algorithms  graphs  network-flow  algorithms  data-structures  randomized-algorithms  lists  computability  proof-techniques  undecidability  terminology  distributed-systems  parallel-computing  artificial-intelligence  heuristics  search-problem  algorithms  computational-geometry  algorithm-analysis  asymptotics  recurrence-relation  mathematical-analysis  master-theorem  algorithms  algorithm-analysis  runtime-analysis  computability  reductions  turing-machines  formal-languages  context-free 

2
キャスタビリティとコンベクシティの関係
凸型ポリゴンとキャスタブルオブジェクトの間に何か関係があるのでしょうか。オブジェクトが凸多角形であることがわかっている場合、またはその逆であることがわかっている場合、オブジェクトのキャスト可能性についてどのように言えますか。 知っておくべき基本的なことをいくつか集めましょう。 型から取り外し可能な場合、オブジェクトはキャスタブルです。 多面体Pは、方向に平行移動することでモールドから削除できます d⃗ d→\vec{d} もしそうなら d⃗ d→\vec{d} 少なくとも角度を作る 90∘90∘90^{\circ} Pのすべての通常のファセットの外向きの法線。 任意のオブジェクトの場合、キャスタビリティーのテストには時間がかかります O(n2)O(n2)O(n^2)。私の意見では、凸状ポリゴンの場合、線形時間に改善できる場合、すべての新しいトップファセットについて、ベクトルがd⃗ d→\vec{d} 少なくとも角度を作る 90∘90∘90^{\circ} すべての外向き法線ではなく、Pの2つの隣接する通常のファセットのみ これが本当なら、少なくとも凸多角形の場合のキャスタビリティのテストで改善があります。 他に、キャスタビリティと凸性について述べることができます。キャスタビリティが凸性について何かを教えてくれるなら、特に興味深いことです。

1
線形方程式に正の解があるかどうかをチェックする複雑さ
線形方程式システムを考えます。ここで、は有理数のエントリを持つ行列です。のランクがであると仮定します。それが解決したかどうかを確認するためにcomplexiy何である、すべてのエントリが、そのようなことを(すなわち、0よりも大きいstricly正のベクトルである)は?もちろん、ガウスの消去法を使用できますが、これは最適ではないようです。Ax=0Ax=0Ax=0AAAn×nn×nn\times nAAA&lt;n&lt;n<nxxxxxxxxx

2
特殊なケースの問題の複雑さ
計算の複雑さに関するテキストを読んでいるとき、私はしばしばこのような文章を見ます: "この特殊な "またはTSPTSP\text{TSP} 「これは特殊なケースです」またはSATSAT\text{SAT} 「 -、以下の特別な場合である」またはkkkPARTITIONPARTITION\text{PARTITION}BIN PACKINGBIN PACKING\text{BIN PACKING} 「は」の特別なケースです。SUBSET SUMSUBSET SUM\text{SUBSET SUM}KNAPSACKKNAPSACK\text{KNAPSACK} 私が見落としているのは、ある問題が別の問題の特別なケースであると主張するための基準です。 ある問題を別の問題の特殊なケースとして分類する必要性は何ですか?特別なケースは常に複雑さのクラスを「特別でない」ケースとして扱いますか? 多くの場合、これは単純に述べられており、これらの問題間の関係の証拠はありません。 問題が別の特別なケースになるためには、どのような要件を満たす必要がありますか? 問題の新しい言語が既存の問題の特殊なケースであることをどのように証明できますか?

3
サブセット合計要件
次の問題を考えてください。 セットを考える SSS 整数の、関数 f:Z → Zf:Z→Zf : \mathbb{Z} \to \mathbb{Z} そして k∈Zk∈Zk \in \mathbb{Z}、あるかどうかを決定 X⊆SX⊆SX \subseteq S そのような f(∑x∈Xx)=kf(∑x∈Xx)=kf\left(\sum_{x\in X}x\right)=k。 これはまだサブセット合計問題と見なされますか? たとえば、 S={−7,−3,−2,5,8}S={−7,−3,−2,5,8}\qquad \displaystyle S=\{ −7, −3, −2, 5, 8\} そして k=0k=0k=0、サブセットを見つける XXX そのような f(∑x∈Xx)=0f(∑x∈Xx)=0f\left(\sum_{x\in X}x\right)=0 ために f(y)=−3+yf(y)=−3+yf(y)=-3+y。この場合、解決策はX={−3,−2,8}X={−3,−2,8}X=\{ -3,-2,8 \}。

2
もし
誰かが私に言った ログログ\log計算を簡単にするために関数が導入されました。計算する必要がある場合x yバツyxy、代わりに計算できます ログx + ログyログ⁡バツ+ログ⁡y\log x+\log y 以来 ログx y= ログx + ログyログ⁡バツy=ログ⁡バツ+ログ⁡y\log xy=\log x+\log y。これはどのように計算を簡単にすることができますか?数学者の視点からかもしれませんが、コンピューター科学者の視点はどうでしょうか? それが計算をより簡単にするならば、なぜ人々はそれを使って乗算アルゴリズムの複雑さを単純化しないのですか? 私の考えでは、この変換は計算をより困難にします。どのように計算できますかログバツログ⁡バツ\log x そして expバツexp⁡バツ\exp x コンピュータで機能する? 私は正しいですか?何か提案してください?お時間をいただきありがとうございます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.