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

意思決定問題の時間の複雑さ、または時間制限された複雑さのクラス間の関係。(特定のアルゴリズムにかかる時間には[analysis-of-algorithms]タグを使用します。)

10
1つのスタック、2つのキュー
バックグラウンド 数年前、私が学部生だったとき、私たちは償却分析に関する宿題を与えられました。問題の1つを解決できませんでした。comp.theoryで尋ねましたが、満足のいく結果は得られませんでした。コースTAが彼が証明できないことを主張し、証拠を忘れたと言ったのを覚えています。 今日、私は問題を思い出した。私はまだ知りたいと思っていたので、ここにあります... 質問 2つのキューを使用してスタックを実装することは可能ですか?プッシュ とPOPの両方の操作が償却時間O(1)で実行されますか?はいの場合、どのように教えてもらえますか? 注意:私たちは実装したい場合は、状況は非常に簡単であるキューをして2つのスタック(対応する操作とENQUEUE&DEQUEUE)。違いを観察してください。 PS:上記の問題は宿題そのものではありません。宿題は下限を必要としませんでした。実装と実行時間分析だけです。


6
行列の固有分解を見つけることの複雑さ
私の質問は簡単です: コンピューティングのための最もよく知られているアルゴリズムの実行時間最悪の場合は何である固有値分解のマトリックスは?n × nn×nn \times n 固有分解は行列乗算に還元されますか、それとも最悪の場合で最も知られているアルゴリズム(SVD経由)ですか?O (n3)O(n3)O(n^3) 条件番号のような問題に依存する定数を持つ境界ではなく、最悪の場合の分析(のみで)を求めていることに注意してください。nnn 編集:以下の回答のいくつかを考えて、質問を調整させてください:私は -approximationに満足するでしょう。近似は、乗法、加法、エントリ単位、または任意の合理的な定義にすることができます。ようなものよりもへの依存性が高い既知のアルゴリズムがあるかどうかに興味がありますか?nはO (P O LのY(1 / ε )N 3)ϵϵ\epsilonnnnO (p o l y(1 / ϵ )n3)O(poly(1/ϵ)n3)O(\mathrm{poly}(1/\epsilon)n^3) 編集2:対称行列に関するこの関連質問を参照してください。

2
アルゴリズムは、任意の入力プログラムの時間の複雑さをどの程度予測できますか?
停止問題は、ために、別のプログラムを停止するかどうかを決定することができますプログラム書くことは不可能であると述べているすべての可能な入力プログラムを。 ただし、次のようなプログラムの実行時間を計算できるプログラムを作成できます。 for(i=0; i<N; i++) { x = 1; } 時間計算量を実行せずに返します。NNN 他のすべての入力プログラムについては、時間の複雑さを判別できなかったことを示すフラグを返します。 私の質問はこれです: 特定のプログラムの時間的な複雑さをアルゴリズムで決定できるように、どのような条件を保持する必要がありますか? *これに対する標準的な参照またはレビュー記事がある場合、コメントへのリンクをお願いします。

6
複雑さの下限を決定するための高度な手法
皆さんの中には、この質問をフォローしている人もいるかもしれませんが、これは研究レベルではないため閉じられました。それで、私は研究レベルにある質問の一部を抽出しています。 並べ替えやEXPTIME完了問題への還元などの「より単純な」手法以外に、問題の時間の複雑さの下限を証明するためにどの手法が使用されていますか? 特に: 過去10年間に開発された「最先端の」技術とは何ですか? 抽象代数、カテゴリー理論、または通常「純粋な」数学の他の分野の手法を適用できますか?(たとえば、ソートの「代数構造」についての言及をよく耳にしますが、これが何を意味するのかについての本当の説明はありません。) 重要度は低くなりますが、バウンドの複雑さに対するあまり知られていない結果は何ですか?

1
すべての明確な文法を線形時間で解析できますか?
非標準のLR解析をいじくり回すとき、O (n 2)時間の明確な文法を正確に解析できる解析方法(無限サイズのテーブルを使用し、多少実用的ではありません)を考え出しました。 :O (n2)O(n2)O(n^2) すべての明確な文法を線形時間で解析できますか? 私はどこかにこれが事実であることを読んだと確信していますが、インターネットを検索するときにそれは現れません。ここでも同じ質問がされましたが、私の知る限り答えはありませんでした。

3
因数分解で表される整数の追加は、因数分解と同じくらい難しいですか?参照リクエスト
次の結果の参照先を探しています。 因数分解表現で2つの整数を追加することは、通常のバイナリ表現で2つの整数を因数分解するのと同じくらい困難です。 (これはある時点で私が不思議に思っていたものであり、印刷物でようやく見たときに興奮していたので、そこにあると確信しています。) 「因数分解表現に2つの整数を追加する」ことが問題です。2つの数値xバツxと素因数分解が与えられると、x + yのyyy素因数分解を出力します。この問題の単純なアルゴリズムは、サブルーチンとして標準バイナリ表現の因数分解を使用することに注意してください。x+yバツ+yx+y 更新:KavehとSadeqの証拠に感謝します。明らかに、より多くの証明が陽気になりますが、参照を見つけるためのより多くの助けを奨励したいと思います。私はそれを他の興味深い、そしてあまり議論されていないアイデアと共に論文で読んだことを思い出しますが、それらの他のアイデアが何であったか、またはその論文が一般的に何であったかを思い出しません。

1
バイナリ乗算とパリティ畳み込み
この質問は、2進数の通常の乗算​​と多項式乗算mod 2の関係に関するものです。質問を具体的にするために、Knuth vol。2、第3版、本で与えられているものより420ページ。 「係数がコンピューターワードにパックされている場合、バイナリコンピューターで通常の算術演算を使用することにより、2を法とする多項式の乗算を容易にすることができます。」 Knuthは、最悪の場合に入力のビット数を対数乗数因子で拡張する合理的な単純な削減を提供します。このログ係数を減らすことはできますか?

2
3-SUMの乗算バージョン
3-MULと呼ばれる次の問題の時間の複雑さについて何が知られていますか? 集合所与のnは整数、そこ要素は、B 、C ∈ Sように、B = C?SSSnnna,b,c∈Sa,b,c∈Sa,b,c\in Sab=cab=cab=c この問題は、3つの要素があるかどうかを尋ねる3和問題と類似している、B 、Cは∈ Sよう+ B + C = 0(または同等に+ B = C)。3-SUMは、nの約2次時間を必要とすると推測されます。3-MULについて同様の推測がありますか?具体的には、3-MULは3-SUMとして知られていますか?a,b,c∈Sa,b,c∈Sa,b,c\in Sa+b+c=0a+b+c=0a+b+c=0a+b=ca+b=ca+b=cnnn 時間の複雑さは、「合理的な」計算モデルに適用されることに注意してください。例えば、我々はセットに3-SUMから減少させることができるセットに3-MULにS '、ここで、 S ' = { 2 X | X ∈ S }。次いで、3-MULの溶液、2 ⋅ 2 、B = 2 、Cは、場合にのみ存在+ B = C。ただし、この指数の爆発的な拡大は、たとえばRAMモデルなどのさまざまなモデルで非常に悪くなります。SSSS′S′S'S′={2x∣x∈S}S′={2x∣x∈S}S'=\{2^x\mid x\in S\}2a⋅2b=2c2a⋅2b=2c2^a\cdot 2^b=2^ca+b=ca+b=ca+b=c



3
対数空間でパリンドロームを認識する時間はどれくらいですか?
パリンドロームはテープチューリングマシンでは線形時間で認識できますが、シングルテープチューリングマシンでは認識できないことはよく知られています(この場合、必要な時間は2次です)。線形時間アルゴリズムは入力のコピーを使用するため、線形空間も使用します。222 対数空間のみを使用して、マルチテープチューリングマシンの線形時間でパリンドロームを認識できますか?より一般的には、パリンドロームではどのような時空トレードオフが知られていますか?

2
Groverのアルゴリズムのランタイム
Groverのアルゴリズムの時間の複雑さ(クエリの複雑さではありません)とは何ですか?あるように私には明確なようだがあるので反復は、各反復が順番に時間がかかる反射操作を使用する必要がありますユニバーサルゲートの標準セットを使用した。Ω (log(N)N−−√)Ω(ログ⁡(N)N)\Omega(\log(N) \sqrt{N})Ω (N−−√)Ω(N)\Omega(\sqrt{N})Ω (log(N))Ω(ログ⁡(N))\Omega(\log(N)) 問題は、Groverのアルゴリズムの時間の複雑さがあると言う単一の参照すら見つからないことです。ウィキペディア、および他のいくつかのWebページは、時間の複雑さを言います。Groverの論文は、「ステップ」を主張しています。Ω (log(N)N−−√)Ω(ログ⁡(N)N)\Omega(\log(N) \sqrt{N})O (N−−√)O(N)O(\sqrt{N})O (N−−√)O(N)O(\sqrt{N}) 何か不足していますか?おそらく、人はリフレクション操作を定義して単位時間を取るようにします。しかし、それは私には意味がありません。なぜなら、任意のユニタリに単位時間を取ることを許可するゲームをプレイできれば、クエリの複雑さと時間の複雑さに違いはないからです。

5
回答検索の理論的な指数関数的な複雑さ(クエリのサイズ)を考えると、なぜリレーショナルデータベースがまったく機能しないのですか?
リレーショナルデータベースでクエリ回答を見つけるには、時間が必要であり、指数を取り除くことができないことがわかっているようです。D | D | | Q | | Q |QQQDDD| D || Q ||D||Q||D|^{|Q|}| Q ||Q||Q| 非常に大きくなる可能性があるデータベースは、実際にすべてで働いなぜ、我々は疑問に思います。DDD 実際のアプリケーションでは、通常のクエリがまったく大きくないというだけの問題ですか?(その後、リレーショナルデータベースシステムに提示されるクエリの通常のサイズと、実際にDBシステムが効果的に回答できると予想されるクエリの「最大」サイズが何であるかを知ることは興味深いです。) 指数に関する注意事項「取り外し可能」ではない| Q ||Q||Q| 指数は削除可能ではありません。データベースによって指定されたグラフにサイズnのクリークが存在するかどうかを問い合わせるクエリを使用できます。グラフにnクリークがあるかどうかを確認することは、NP完全問題です。さらに、パラメータnを使用した固定パラメータは扱いやすくありません。詳細については、たとえば、 Libkin、L .: Elements of Finite Model Theoryに記載されています。Springer(2004) または Papadimitriou、CH、Yannakakis、M .:データベースクエリの複雑さについて。J.計算 システム。科学 58(3)、407–427(1999)| Q ||Q||Q|nnnnnnnnn

4
上限と下限の「正しい」定義とは何ですか?
してみましょうf(n)f(n)f(n)サイズの入力に問題の時間を実行している最悪のケースであるnnn。私たちは固定してビット奇妙な問題を作ろうf(n)=n2f(n)=n2f(n) = n^2のためn=2kn=2kn=2kが、f(n)=nf(n)=nf(n) = nのためn=2k+1n=2k+1n=2k+1。 それでは、問題の下限は何ですか?私が理解した方法は、下限にすぎませんf(n)f(n)f(n)。しかし、は、すべてのn > n 0、f (n )> k n 2 に対してf(n)=Ω(n2)f(n)=Ω(n2)f(n) = \Omega(n^2)定数kkk、が存在することを意味し、これは真実ではないことを知っています。したがって、f (n )= Ω (n )としか言えないようですn0n0n_0n>n0n>n0n > n_0f(n)>kn2f(n)>kn2f(n) > kn^2f(n)=Ω(n)f(n)=Ω(n)f(n) = \Omega(n)。しかし、通常、問題の下限はΩ(n2)Ω(n2)\Omega(n^2)であると呼びますか? と仮定すると、すべてのn > n 0、g (n )> k n 2 に対してg(n)=Ω(n2)g(n)=Ω(n2)g(n) = \Omega(n^2)定数kkk、が存在することを意味します。また、問題に実行時間g (n )があると仮定しましょう。すべての素数nについてこの問題を別の問題(同じ入力サイズ)に減らすことができる場合、他の問題の実行時間の下限はΩ (nn0n0n_0n>n0n>n0n > n_0g(n)>kn2g(n)>kn2g(n) > kn^2g(n)g(n)g(n)nnnΩ(n2)Ω(n2)\Omega(n^2)?

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