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

入力サイズで表された問題を解決するために必要な時間リソース(アトミック操作またはマシンステップの数)。アルゴリズム分析に関する質問の場合は、代わりに[runtime-analysis]タグを使用してください。計算が*常に*終了するかどうかに関する質問の場合は、代わりに[computability]タグを使用してください。時間の複雑性は、おそらく複雑性理論の最も重要なサブトピックです。

3
数値アルゴリズムで数値の単項表現を使用しないのはなぜですか?
擬似多項式時間アルゴリズムは、入力値(大きさ)で多項式の実行時間を持ち、入力サイズ(ビット数)で指数関数の実行時間を持つアルゴリズムです。 たとえば、数値が素数であるかどうかをテストするには、2からまでの数値をループし、 modがゼロかどうかを確認する必要があります。modがO(1)時間かかる場合、全体的な時間の複雑さはO(n)になります。n − 1 nnnnn − 1n−1n-1nnn 私私i ただし、を入力の書き込みに必要なビット数とすると、(バイナリ)であるため、あり、問題の実行時間は指数関数的なO()になります。x = log n n = 2 x 2 xバツバツxx = ログnバツ=ログ⁡nx = \log nn = 2バツn=2バツn = 2^x2バツ2バツ2^x 私の質問は、入力単項表現を考慮する場合、常にあり、擬似多項式時間は多項式時間の複雑さに等しくなります。では、なぜこれを行わないのでしょうか?x = nnnnx = nバツ=nx=n さらに、ナップザックには擬似多項式時間アルゴリズムがあるため、をとることにより、ナップザックは結果として多項式になりますP = NPx = nバツ=nx=n


2
式の等価性のための効率的なアルゴリズムはありますか?
例:?xy+x+y=x+y(x+1)xy+x+y=x+y(x+1)xy+x+y=x+y(x+1) 式は普通の高校の代数からのものですが、逆数、減算、除算のない算術加算と乗算(例)に制限されています。文字は変数です。2+2=4;2.3=62+2=4;2.3=62+2=4; 2.3=6 役立つ場合は、以外の数値で表現可能な式を禁止できます。すなわち、でもでもでもない:111x2x2x^23x3x3x444 multilinear、以外の累乗:はOKですが、ではなく、aのように表現できるものではありません積和への完全展開。 111x+xy≡x1+x1y1x+xy≡x1+x1y1x+xy \equiv x^1+x^1y^1x2+x3y4x2+x3y4x^2+x^3y^4x(x+y)≡x2+yx(x+y)≡x2+yx(x+y) \equiv x^2+y all one、以外の係数はありません:はOKですが、ではなく、そのように表現できるものはありません -of-製品例 ; そして X + X Y ≡ 1 、X + 1 、X 、Y 2 、X + 3 、X 、Y 、A (X + Y )+ X (+のB )≡ 2 A X + Y + B X111x+xy≡1.x+1.xyx+xy≡1.x+1.xyx+xy \equiv 1.x+1.xy2x+3xy2x+3xy2x+3xya(x+y)+x(a+b)≡2ax+ay+bxa(x+y)+x(a+b)≡2ax+ay+bxa(x+y)+x(a+b) …

6
間隔内の2つの数値の最大XORを見つける:二次式よりも良いことはできますか?
lllrrr L ≤ I 、最大(I ⊕ J )最大(私⊕j)\max{(i\oplus j)}L ≤ I 、J ≤ Rl≤私、j≤rl\le i,\,j\le r ナイーブアルゴリズムは、考えられるすべてのペアを単純にチェックします。たとえば、ルビーでは次のようになります。 def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 私感私たちはより良い次より行うことができます。この問題のためのより良いアルゴリズムはありますか?

1
実行時の境界は、取るに足らないものに対して決定可能ですか?
問題入力長に関してランタイムがわかっている チューリングマシンが与えられた、のランタイムは?MMMO(g(n ))O(g(n)){O}(g(n))M ∈ O(F (N ))nnnM∈ O(F(n ))M∈O(f(n))M \in {O}(f(n)) 上記の問題はといくつかの非自明なペアに対して決定可能ですか?場合、解は自明です。F G (N )∈ O (F (N ))gggfffg(N )∈ O(F(n ))g(n)∈O(f(n))g(n) \in O(f(n)) これは、Pの実行時境界が決定可能かという問題に関連しています。(答え:いいえ)。一つは、から派生することができヴィオラの答えであればということと、問題は決定不能です。F (N )∉ O (G (N ))f(N )∉ O (N )f(n)∉o(n)f(n)\not \in o(n)f(N )∉ O ( G(n ))f(n)∉O(g(n))f(n)\not \in O(g(n)) という要件は、Violaの証明のが入力サイズを見つけるのに時間を必要とするためです。したがって、場合、Violaの証明は機能しません。M ' O (N )F (N …

1
ペアワイズ和のFFTなしの
仮定し、私たちは、与えられたの異なる整数はように、いくつかの定数の、およびすべてのための。1、2、... 、nは 0 ≤ I ≤ K N K > 0 Innna1,a2,…,ana1,a2,…,ana_1, a_2, \dots, a_n0≤ai≤kn0≤ai≤kn0 \le a_i \le knk>0k>0k \gt 0iii 可能なすべてのペアワイズ和のカウントを見つけることに興味があります。(が許可されます)。 i = jSij=ai+ajSij=ai+ajS_{ij} = a_i + a_ji=ji=ji = j 1つのアルゴリズムは、次数の多項式をし、フーリエ変換法を使用してその平方を計算し、結果の多項式の係数。これは、時間アルゴリズムです。 ≤ K N O (N ログN )P(x)=∑nj=1xajP(x)=∑j=1nxajP(x) = \sum_{j=1}^{n} x^{a_j}≤kn≤kn\le knO(nlogn)O(nlog⁡n)O(n \log n) 2つの質問があります。 そこで FFTを使用していないアルゴリズムは?O(nlogn)O(nlog⁡n)O(n \log n) …

2
類似度の設定-二次複雑性なしでJaccardインデックスを計算
n個のセットのグループがあり、それらに対して「一意性」または「類似性」の値を計算する必要があります。適切な指標としてJaccardインデックスに決めました。残念ながら、Jaccardインデックスは一度に2つのセットでのみ動作します。すべてのセット間の類似性を計算するには、 Jaccard計算の順序で必要になります。nnnn2n2n^2 (それが役立つ場合、は通常10と10000の間であり、各セットには平均500個の要素が含まれます。また、最終的に、2つの特定のセットがどれだけ似ているかは気にしません-むしろ、内部の類似性だけを気にしますセットのグループ全体の(つまり、グループ内のすべてのJaccardインデックスの平均(または少なくとも平均の十分に正確な近似))nnn 2つの質問: 複雑さなしでJaccardインデックスを使用する方法はありますか?n2n2n^2 上記で提案した方法よりも、セットのグループ全体でセットの類似性/一意性を計算するより良い方法はありますか?

2
欠落要素の問題に対する時間と空間のトレードオフ
これはよく知られた問題です。 正の整数の配列が与えられた場合、配列にない最小の正の整数を出力します。A[1…n]A[1…n]A[1\dots n] この問題は、空間と時間で解決できます。配列を読み取り、発生したかどうかを空間で追跡し、最小要素をスキャンします。O(n)O(n)O(n)O(n)O(n)O(n)1,2,…,n+11,2,…,n+11,2,\dots,n+1 スペースを時間と交換できることに気付きました。あなたが持っている場合はのみメモリを、あなたはそれを行うことができますラウンドと時間を得る。特別な場合には、明らかに一定空間の二次時間アルゴリズムがあります。O(nk)O(nk)O(\frac{n}{k})kkkO(kn)O(kn)O(k n) 私の質問は: これは最適なトレードオフですか、つまりですか?一般に、そのようなタイプの境界をどのように証明しますか?time⋅space=Ω(n2)time⋅space=Ω(n2)\operatorname{time} \cdot \operatorname{space} = \Omega(n^2) O(1)の配列への境界演算とランダムアクセスを備えたRAMモデルを想定します。 この問題のインスピレーション:ワンテープモデルのパリンドロームの時間と空間のトレードオフ(たとえば、こちらを参照)。

1
多項式時間で5先の尖った星を見つける
これが現在受講しているコースの宿題の一部であることを証明したいと思います。回答ではなく、進行中の支援を探しています。 これは問題の質問です。 無向グラフの5つ星の星は5クリークです。5-POINTED-STAR。ここで、5-POINTED-STAR =は、サブグラフとしての5先の尖った星ます。∈ P∈P\in P{ < G >{<G>\{ :G:G: G}}\} クリークがCLIQUE =は、クリーク持つ無向グラフです。{ (G 、k ):G{(G、k):G\{(G, k) : GGGGkkk}}\} 私の問題は、これがCLIQUE問題を解決しているように見えることであり、CLIQUEが5点の星を形成することを決定する必要があるという追加の制約を持つグラフにクリークが含まれるかどうかを決定します。これは、5先の尖った星の知識に基づいた幾何学的計算を含むようです。しかし、マイケル・シプサーの計算理論 268 ページには、CLIQUEがことを示す証拠があり、270ページには、NPNPNP HAMPATHやCLIQUEなど、NPのメンバーであるがにあることが知られていないPPP言語の例を紹介しました 。[強調を追加] CLIQUEがにない場合、なぜ5つの尖った星がですか?表示されていないものはありますか? これは宿題の問題であり、直接の回答は認められないことを忘れないでください。 ありがとう!PPPPPP

2
行列パワーの計算の複雑さ
私は計算に興味「が乗行列。時間で実行される行列乗算のアルゴリズムがあるとします。そして、1は簡単計算することができるにおける時間。より短い時間の複雑さでこの問題を解決することは可能ですか?n × n A O(M (n ))A n O(M (n )log (n ))nnnn × nn×nn\times nAAAO(M(n ))O(M(n))\mathcal{O}(M(n))AnAnA^nO(M(n )ログ(n ))O(M(n)ログ⁡(n))\mathcal{O}(M(n)\log(n)) 一般に、マトリックスエントリはセミリングから作成できますが、役立つ場合は追加の構造を想定できます。 注:一般に、時間でを計算、べき乗のアルゴリズムが得られることを理解してい。しかし、多くの興味深い問題が、m =である行列のべき乗の特殊なケースに帰着し、この単純な問題について同じことを証明できませんでした。 o (M (n )log (m ))o (log m )O(n )AmAmA^mo (M(n )ログ(m ))o(M(n)ログ⁡(m))o(M(n)\log(m))o (ログm )o(ログ⁡m)o(\log m)O(n)O(n)\mathcal O(n)

4
グラフ同型問題は解決されましたか?
ウィキペディアのグラフ同型問題ページは、いや、解決されていないことを示しているようです。しかし、私の友人は、グラフ同型の多項式時間アルゴリズムを指摘しました。私は論文の論法を十分に理解していません。 私は、証明のようなものなしに多項式時間アルゴリズムで非常に大まかな試みを行っていますが、続行する前にこの問題にうまく対処できたかどうかを知りたいです。 では、グラフ同型問題は解決されましたか?

2
アルゴリズム時間分析「入力サイズ」対「入力要素」
アルゴリズムの無症候性の上限を分析および説明するために使用するとき、「入力長」および「入力サイズ」という用語とまだ混同されています アルゴリズムの入力長は、多くの種類のデータとあなたが話しているアルゴリズムに依存しているようです。 一部の著者は、入力の長さを入力の表現に必要な文字のサイズに言及しているため、アルゴリズムの入力セットとして使用する場合の「abcde」は6文字の「入力長」になります。 文字の代わりに数字(たとえば整数)がある場合、文字の代わりにバイナリ表現が使用される場合があるため、「入力長」は(入力セットの最大数Lである)として計算されます。 。N∗log(L)N∗log(L)N*log(L) 数字であっても、入力設定されている場合、それらは「決定変数」として「入力長さ」を記述することを他の課題は、範囲内の数値を有する長さNの入力セットに対してので、ある(入力の長さがちょうどNでありますたとえば、サブセットの合計)、または問題を述べるために必要なバイナリの場所の値の数をさらに複雑にします(N ∗ l o g (L )とまったく同じだと思います)0−2320−2320-2^{32}N∗log(L)N∗log(L)N*log(L) そう: アルゴリズムに依存しますか? 各入力長「バージョン」を使用する意味とタイミング 使用するルールを決定するために使用できるルールはありますか?

1
P≠NPを想定したNP完全問題のアルゴリズムの実行時境界
と仮定します。P≠ NPP≠NPP\neq NP すべてのNP完全問題の実行時の境界については何が言えますか? すなわち、最も完全な関数とは、 NP完全問題の最適なアルゴリズムが少なくともおよび長さ入力で最大?L 、U:N → NL,U:N→NL,U:\mathbb{N}\to\mathbb{N}ω (L (n ))ω(L(n))\omega(L(n))o (U(n ))o(U(n))o(U(n))nnn 明らかに、。また、。∀ C :L (N )= Ω (nはc)∀c:L(n)=Ω(nc)\forall c:L(n)=\Omega(n^c)うん(n )= O (2nω (1 ))U(n)=O(2nω(1))U(n) = O(2^{n^{\omega(1)}}) 仮定しなければ、、またはによって暗示されていないその他の仮定、我々は上の任意のより良い境界を与えることができる?Q P≠ NPQP≠NPQP\neq NPETHETHETHP≠ NPP≠NPP\neq NPL 、UL,UL,U 編集: 少なくとも一方にそのノート遠い私はここに与えた境界からでなければならない、NPCの問題であるので、これらの問題は、いくつかのNPCの問題は、時間の最適なアルゴリズムがある場合つまり、互いの間のポリ時間短縮を有する、すべての問題には実行時アルゴリズム(最適かどうか)があります。f (n )O (f (n O (1 )))L 、UL,UL,Uf(n )f(n)f(n)O (f(nO (1 )))O(f(nO(1)))O(f(n^{O(1)}))

4
再帰的フィボナッチアルゴリズムの複雑さ
次の再帰フィボナッチアルゴリズムを使用します。 def fib(n): if n==0: return 0 elif n==1 return 1 return (fib(n-1)+fib(n-2)) fib(5)を見つけるために数値5を入力した場合、これが5を出力することがわかりますが、このアルゴリズムの複雑さをどのように調べることができますか?関連するステップを計算するにはどうすればよいですか?

2
トリプルネストループの時間の複雑さ
次のトリプルネストループを検討してください。 for (int i = 1; i <= n; ++i) for (int j = i; j <= n; ++j) for (int k = j; k <= n; ++k) // statement ここでのステ​​ートメントは、正確にn (n + 1 )(n + 2 )実行されます回。誰かがこの式がどのように得られたか説明してもらえますか?ありがとうございました。n(n+1)(n+2)6n(n+1)(n+2)6n(n+1)(n+2)\over6

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.