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

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

2
CNF-SAT用の非決定論的な線形時間アルゴリズムはありますか?
決定問題CNF-SATは次のように説明できます。 入力:連言標準形のブール式。ϕϕ\phi 質問:\ phiを満たす変数の割り当てはありϕϕ\phiますか? 非決定性の2テープチューリングマシンで CNF-SATを解くためのいくつかの異なるアプローチを検討しています。 N ⋅ ポリ(ログ(n ))n⋅poly(log⁡(n))n \cdot \texttt{poly}(\log(n))ステップでCNF-SATを解決するNTMがあると思います。 質問:O (n )O(n)O(n)ステップでCNF-SATを解決するNTMはありますか? 関連する参考文献は、ほぼ線形時間の非決定論的アプローチのみを提供している場合でも評価されます。

5
多項式で決定可能な包含を持つ注目すべきオートマトンモデルは何ですか?
特定の問題を解決しようとしていますが、オートマトン理論を使用してそれを解決できるかもしれないと考えました。私は、オートマトンのどのモデルが多項式時間で決定可能な包含を持っているのだろうか?つまり、マシンがある場合、効率的にテストできるかどうかを確認できます。 L (M 1)⊆ L (M 2)M1、M2M1,M2M_1, M_2L (M1)⊆ L (M2)L(M1)⊆L(M2)L(M_1) \subseteq L(M_2) 思い浮かぶのは、DFAと、カウンターの数が固定されている反転限界カウンターマシンです(このペーパーを参照)。 このリストに追加できる他の注目すべきクラスは何ですか? オートマトンが強力であればあるほど、優れています。たとえば、DFAは私の問題を解決するのに十分ではなく、カウンターマシンは固定数のカウンターではそれを行うことができません。(当然、強力になりすぎると、収容はNFAのように難治性になるか、CFGのように決定不能になります)。

11
最もよく知られているアルゴリズムが実行時間問題はありますか
ログを分母に持つアルゴリズムを見たことはありませんが、この形式で実際に有用なアルゴリズムがあるかどうか疑問に思っていますか? 実行時にログファクターが増加する原因となる可能性のあるもの(ソートやツリーベースのアルゴリズムなど)を理解していますが、ログファクターで割り切れる原因は何ですか?

5
計算可能な数が有理数か整数かをテストすることはできますか?
計算可能な数が有理数か整数かをアルゴリズムでテストすることはできますか?言い換えれば、それは道具計算数字は機能を提供するために、そのライブラリは可能でしょうisIntegerかisRational? 私はそれが不可能であると推測し、これは何らかの形で2つの数値が等しいかどうかをテストすることができないという事実に関連していると推測していますが、それを証明する方法はわかりません。 編集:計算数はxxxの関数で与えられるfx(ϵ)fx(ϵ)f_x(\epsilon)の合理的な近似値を返すことができxxx高精度でϵϵ\epsilon:|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonいずれについても、ϵ>0ϵ>0\epsilon > 0。このような関数を考えると、それがあれば、テストすることが可能であるx∈Qx∈Qx \in \mathrm{Q}またはx∈Zx∈Zx \in \mathrm{Z}?
18 computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 

2
離散フーリエ変換の計算の複雑さ?
n個の整数のベクトルの標準離散フーリエ変換を計算する複雑さ(標準整数RAM上)は?nnn CooleyとTukey に不適切に起因する[1] 高速フーリエ変換の古典的なアルゴリズムは、通常O (n log n )時間で実行されると説明されています。ただし、このアルゴリズムで実行される算術演算のほとんどは、(ほとんどの場合n)非合理的な単位の複雑なn番目のルートから始まるため、一定時間での正確な評価は合理的ではありません。ナイーブO (n 2)-時間アルゴリズム(団結の複雑な根のヴァンダーモンド行列を掛ける)でも同じ問題が発生します。O (n ログn )O(nlog⁡n)O(n \log n)nnnnnnO (n2)O(n2)O(n^2) DFTの出力を(有用な形式で)正確に表現する方法すら明確ではありません。つまり、DFTの計算が実際に可能かどうかは明らかではありません。 したがって、各出力値に必要な精度はビットのみであるとします。 nとbの関数としての離散フーリエ変換の計算の複雑さは何ですか? (具体的には、nが2の累乗であると仮定してください。)bbbnnnbbbnnn222 または、文献の「FFT」のすべてのインスタンスは、実際には「高速数論変換」を意味しますか?[2] ガウス消去法とユークリッド最短経路の複雑さに関する私の関連する質問を参照してください。 [1]ガウス・ルンゲ・ケーニヒ・イェイツ・スタンプ・ダニエルソン・ランチョス・クーリー・テューキーのアルゴリズムと呼ばれるべきです。 [2]もしそうなら、ほとんどの教科書が複素数アルゴリズムのみを説明しているのはなぜですか?

3
時間とクエリの複雑さのトレードオフ
時間の複雑さや回路の下限を直接操作するのは怖いです。したがって、クエリの複雑さ(または決定木の複雑さ)などのツールを開発して、下限を処理します。各クエリには少なくとも1ステップが必要であり、クエリ間の計算は無料としてカウントされるため、時間の複雑さは少なくともクエリの複雑さと同じくらい高くなります。しかし、分離について何か言うことができますか? 私は古典文学や量子文学の研究に興味がありますが、私はよく知っているのでQCの例を提供します。 Groverの検索やShorの期間発見などの有名なアルゴリズムでは、時間の複雑さはクエリの複雑さの多対数要因の範囲内にあります。Hidden Subgroup Problemなど、その他の場合、多項式クエリの複雑さがありますが、多項式時間アルゴリズムは不明です。 時間とクエリの複雑度の間にギャップが存在する可能性があるため、最適な時間の複雑度アルゴリズムが最適なクエリの複雑度アルゴリズムと同じクエリの複雑度を持たなければならないことは明らかではありません。 時間とクエリの複雑さのトレードオフの例はありますか? 最もよく知られている時間複雑度アルゴリズムが最もよく知られているクエリ複雑度アルゴリズムとは異なるクエリ複雑度を持つ問題はありますか?言い換えれば、クエリ間操作を簡単にするためにより多くのクエリを実行できますか? または、漸近的に最適な時間複雑性を持つ実装を持つ漸近的に最適なクエリアルゴリズムのバージョンが常に存在することを示す引数はありますか?

2
線形時間で整数を「ほぼソート」する
私は、線形時間で正の整数値配列をソートすることに興味があります(均一なコスト尺度を持つRAMモデル、つまり、整数は対数サイズまで持つことができますが、それらの算術演算は単位時間)。もちろん、これは比較ベースのソートアルゴリズムでは不可能であるため、「近似」ソートの計算、つまり、順列計算に興味がありますは本当に一般的にソートされていないが、のソートバージョンの「良い近似」。続編の記述が少し楽になるので、整数を降順でソートしていると仮定しますが、もちろん問題を逆に表現することもできます。L=v1,…,vnL=v1,…,vnL = v_1, \ldots, v_nvσ(1),…,vσ(n)vσ(1),…,vσ(n)v_{\sigma(1)}, \ldots, v_{\sigma(n)}LLLLLL 近似ソートの1つの可能な基準は次のとおりです(*):をとし、ごとに、(つまり、 「準ソート済み」リストは、上から減少関数によって制限されます。実際のソートがこれを満たしていることは簡単にわかりますは以下でなければならないため、最大ではであり、一般には以下でなければなりませんであるNNN∑ivi∑ivi\sum_i v_i1≤i≤n1≤i≤n1 \leq i \leq nvσ(i)≤N/ivσ(i)≤N/iv_{\sigma(i)} \leq N/ii↦N/ii↦N/ii \mapsto N/ivσ(2)vσ(2)v_{\sigma(2)}vσ(1)vσ(1)v_{\sigma(1)}(vσ(1)+vσ(2))/2(vσ(1)+vσ(2))/2(v_{\sigma(1)} + v_{\sigma(2)})/2≤N/2≤N/2\leq N/2vσ(i)vσ(i)v_{\sigma(i)}(∑j≤ivσ(i))/i(∑j≤ivσ(i))/i(\sum_{j \leq i} v_{\sigma(i)})/i≤N/i≤N/i\leq N/i。 たとえば、要件(*)は、以下のアルゴリズムによって実現できます(@Louisが推奨)。私の質問は次のとおりです。実際のソートが満たす(*)などの要件を課すことにより、線形時間で整数を「ほぼソート」するこのタスクに関する既存の作業はありますか?以下のアルゴリズム、またはそのバリアントには、確立された名前がありますか? 編集:アルゴリズムを修正し、説明を追加しました アルゴリズム: INPUT: V an array of size n containing positive integers OUTPUT: T N = Σ_{i<n} V[i] Create n buckets indexed by 1..n …

2
同様の行列
2つの行列および与えられた場合、B = P ^ {-1} APとなるような置換行列Pが存在するかどうかを決定する問題は(グラフ同型)と同等です。しかし、Pを緩和して単なる可逆行列にした場合、その複雑さはどうなりますか?この問題や他の困難な問題に関連する順列以外に、可逆行列Pに他の制限はありますか?n × nn×nn \times nAAABBBPPPB = P− 1A PB=P−1APB = P^{-1}APGIPPPPPPGI

1
PTIMEに否定を含まない単調なブール式の等価性を決定できますか?
PTIMEまたはcoNP-hardに次の問題がありますか? 変数 2つのブール式およびを否定なしで指定します(つまり、式はおよび介して完全に構築されます)。、つまり、変数へのすべての割り当てに対して同じ値を持つかどうかを決定します。e1e1e_1e2e2e_2バツ1、… 、xnバツ1、…、バツnx_1,\dots,x_n∧∧\wedge∨∨\veee1≡ E2e1≡e2e_1 \equiv e_2 両方の式がDNFで与えられる場合、問題はPTIMEにあります。なぜなら、最初に連言句を辞書順に並べて比較できるからです。しかし、任意の式をDNFに持ち込むと、指数関数的に爆発する可能性があります。同様の議論は、バイナリ決定図にも当てはまるようです。 明らかに、問題はcoNPにあります。 私はかなりの量をグーグルで探していましたが、答えが見つかりませんでした。 基本的な質問についておforび申し上げます。

1
答えはノーだと思うが、実際に反例を構築することはできなかった。違いは、では、アルゴリズムを均一に選択できない可能性があることです。で。∩ε>0DTIME(O(n2+ε))∩ε>0DTIME(O(n2+ε))∩_{ε>0} \mathrm{DTIME}(O(n^{2+ε}))O(n2+ε)O(n2+ε)O(n^{2+ε})εεε dovetailing引数によって(例えば、この参照質問を)、チューリングマシンのCEのセットがある場合言語判定よう、次いであるがで\ mathrm {DTIME}(N ^ {2 + O(1)})。 L ∀ ε > 0 ∃ M I ∈ O (N 2 + ε)L D T I M E(N 2 + O (1 ))MiMiM_iLLL∀ε>0∃Mi∈O(n2+ε)∀ε>0∃Mi∈O(n2+ε)∀ε>0 ∃M_i ∈ O(n^{2+ε})LLLDTIME(n2+o(1))DTIME(n2+o(1))\mathrm{DTIME}(n^{2+o(1)}) チューリングマシンが与えられた場合、マシンが時間内に実行されるかどうかは、はΠ^ 0_3 -completeです。言語(それを認識するマシンにコードを与えた)が\ mathrm {DTIME}(n ^ {2 + o(1)})にあるかどうかは、Σ^ 0_4(およびΠ^ 0_3 -hard)です。言語が∩_{ε> 0}にあるかどうか\ mathrm …

3
線形時間インプレースリフルシャッフルアルゴリズム
線形時間インプレースリフルシャッフルアルゴリズムはありますか?これは、いくつかの特に器用な手が実行できるアルゴリズムです。偶数サイズの入力配列を均等に分割してから、2つの半分の要素をインターリーブします。 Mathworldには、リフルシャッフルに関する簡単なページがあります。特に、入力配列1 2 3 4 5 6を1 4 2 5 3 6に変換するout-shuffleに興味があります。定義では、入力長はことに注意してください2n2n2n。 サイズnnn以上の便利な2番目の配列がある場合、線形時間でこれを実行するのは簡単です。最初に最後のnnn要素を配列にコピーします。次いで、0ベースのインデックスを仮定すると、最初のコピーnnnインデックスから要素を[0,1,2,...,n−1][0,1,2,...,n−1][0,1,2,...,n-1]に[0,2,4,...,2n−2][0,2,4,...,2n−2][0, 2, 4,...,2n-2]。次に、nをコピーしますnnn入力配列、マッピングインデックスに二番目の配列の後ろからの要素[0,1,2,...,n−1][0,1,2,...,n−1][0,1,2,...,n-1]に[1,3,5,...,2n−1][1,3,5,...,2n−1][1,3,5,...,2n-1]。(入力の最初と最後の要素が移動しないため、それよりもわずかに少ない作業を行うことができます。) これをインプレースで実行しようとする1つの方法は、順列をばらばらのサイクルに分解し、各サイクルに従って要素を再配置することです。繰り返しますが、0ベースのインデックス付けを想定すると、6要素の場合に含まれる順列は σ=(001224314355)=(0)(5)(1243).σ=(012345024135)=(0)(5)(1243). \sigma=\begin{pmatrix} 0 & 1 & 2 & 3 & 4 & 5 \\ 0 & 2 & 4 & 1 & 3 & 5\end{pmatrix}=\begin{pmatrix}0 \end{pmatrix} \begin{pmatrix}5 \end{pmatrix} \begin{pmatrix}1 & 2 & 4 &3 …

3
一定の時間で解決できる自明でない問題?
一定時間は、絶対的なローエンドの時間の複雑さです。不思議に思うかもしれません:一定時間で計算できる非自明なものはありますか?チューリングマシンモデルに固執すると、入力の一定の長さの初期セグメントにしか依存できないため、入力のそれ以上の部分は一定時間で到達することさえできないため、あまり多くのことはできません。 一方、ビット数の基本操作が単一ステップとしてカウントされる、より強力な(より現実的な)ユニットコストRAMモデルを採用すると、解決できる可能性があります一定の時間であっても、重要なタスク。以下に例を示します。O(logn)O(ログ⁡n)O(\log n) インスタンス:整数。それぞれビットでバイナリ形式で指定されます。n,k,l,dn、k、l、dn, k, l, dO(logn)O(ログ⁡n)O(\log n) 質問:頂点接続性が、エッジ接続性が、最小次数がような頂点グラフが存在しますか?k l dnnnkkklllddd 定義から、問題がNPにあることさえ明らかではないことに注意してください。その理由は、入力がビットのみで与えられるのに対し、自然な目撃者(グラフ)にはビットの長い説明が必要な場合があるためです。一方、次の定理(B. Bollobasによる極値グラフ理論を参照)が助けになります。O (log n )Ω(n2)Ω(n2)\Omega(n^2)O(logn)O(ログ⁡n)O(\log n) 定理:みましょう整数です。次の条件のいずれかが満たされている場合にのみ、頂点接続性、エッジ接続性、および最小次数 頂点グラフが存在します。n k l dn,k,l,dn、k、l、dn, k, l, dnnnkkklllddd 0≤k≤l≤d&lt;⌊n/2⌋0≤k≤l≤d&lt;⌊n/2⌋0\leq k\leq l \leq d <\lfloor n/2 \rfloor、 1 ≤ 2 D+ 2 - N ≤ K ≤ L = D&lt; n − 11≤2d+2−n≤k≤l=d&lt;n−11\leq 2d+2-n\leq …

1
行列乗算の計算の複雑さ
長方形行列の行列乗算の計算の複雑さに関する情報を探しています。ウィキペディアは、との乗算の複雑さはO (m n p )(教科書の乗算)であると述べています。 B ∈ R N × PA∈Rm×nA∈Rm×nA \in \mathbb{R}^{m \times n}B∈Rn×pB∈Rn×pB \in \mathbb{R}^{n \times p}O(mnp)O(mnp)O(mnp) 私はケース持ってとnがよりはるかに小さいPを、と私は、リニアよりも良い複雑さを得るために期待していたPへの依存することを犠牲に、M及びnは、線形よりも悪いし。mmmnnnppppppmmmnnn 何か案は? ありがとう。 注:私がそれを可能にしたい理由は、m = n = pの場合(行列がすべて正方形の場合)立方依存性が少ないというよく知られた結果のためです。pppm=n=pm=n=pm=n=p

1
長方形行列のランクを計算する最速のアルゴリズムは何ですか?
行列(仮定与えられた場合、列のランクと基底を計算する最速のアルゴリズムは何ですか?m×nm×nm \times nm≥nm≥nm \ge n 時間決定論的アルゴリズムと時間ランダム化アルゴリズムを意味する線形マトロイド交差によって解決できることを知っています。そこにあるより直接的にマトリックス乗算に問題(またはガウスの消去法)を低減することを時間決定性アルゴリズムは?O(mn1.62)O(mn1.62)O(mn^{1.62})O(mnω−1)O(mnω−1)O(mn^{\omega-1})O(mnω−1)O(mnω−1)O(mn^{\omega-1})

3
データ構造の下限
「あまりにも良い」データ構造の存在を除外する結果が知られていますか? たとえば、注文メンテナンスデータ構造におよび機能を追加し(DietzおよびSleator STOC '87を参照)、時間操作を取得できますか?Sp l i tSpl私tSplitJO I NJo私nJoinO(1)O(1)\mathcal{O}(1) または:整数キーと時間操作を使用して順序付きセットを実装できますか?もちろん、これは少なくとも整数をソートするための線形時間アルゴリズムを発見するのと同じくらい難しいです。O(1)O(1)\mathcal{O}(1) これらの質問のどちらに対しても答えはノーであることが証明されていますか?自然なデータ構造の下限の結果はわかっていますか?

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