理論計算機科学

理論計算機科学者および関連分野の研究者のためのQ&A

2
System F(または別の正規化された型付きλ計算)内で等価を決定することは可能ですか?
型付けされていないラムダ計算の等価性を決定することは不可能であることを知っています。HPの引用Barendregt、HP The Lambda Calculus:its Syntax and Semantics。北オランダ、アムステルダム(1984)。:ββ\beta AとBが互いに等しくない、等式の下で閉じられている空でないラムダ項のセットである場合、AとBは再帰的に分離できません。Aが等式で閉じられたラムダ項の自明でないセットである場合、Aは再帰的ではありません。したがって、問題「M = x?」を決定することはできません。特定のMについても同様です。また、Lambdaには再帰モデルがありません。 System Fなどの正規化システムがある場合、与えられた2つの用語を減らし、それらの正規形が同じであるかどうかを比較することにより、「外部から」等価を決定できます。ただし、「内部から」実行できますか?システム-Fコンビネータがあり 2つのコンビネータのためにこのようなことをと我々が持っている場合はと同じ標準形を持っている、とそうでありませんか?または、少なくともいくつかのに対してこれを行うことができますか?場合、が真になるようにコンビを構築するにはE M N E M N = 真の M N E M N = falseを M E M E M N N ≡ β Mββ\betaEEEMMMNNNEMN= trueEMN=trueE M N = \mbox{true}MMMNNNEMN= falseEMN=falseE M N = \mbox{false}MMMEMEME_MEMNEMNE_M NN≡βMN≡βMN\equiv_\beta M?そうでない場合、なぜですか?

2
完全性の理論でカープ簡約を使用する動機
多項式時間削減(クック削減)の概念は、非常に直感的な概念の抽象化です。異なる問題のアルゴリズムを使用して問題を効率的に解決します。 しかしながら、理論的には -completenessの概念N Pの -hardnessマッピング削減(カープ削減)を介して捕捉されます。「制限された」削減というこの概念は、(少なくとも私にとっては)直感的ではありません。それは少し不自然なように思えますが、それは硬さのやや直感的ではない概念を作成します。それによって、私はN Pがc o − N Pを自明に含まないという事実に言及しています。複雑性理論では、我々は非常にのような問題を解決することができるということをコンセプトに使用されているが、S A Tは、我々が解決することができることを意味するものではありません¯ S A TをNPNP\mathcal{NP}NPNP\mathcal{NP}NPNP\mathcal{NP}c o − NPco−NPco-\mathcal{NP}S A TSAT\mathsf{SAT}S A T¯¯¯¯¯¯¯¯¯¯SAT¯\overline{\mathsf{SAT}}、(クック削減により捕捉される)天然の設定において、我々は解決するためのアルゴリズムを持っていると仮定、我々は解決することができる¯ S A Tをちょうどするためのアルゴリズムを実行することにより、S A Tと反対を返します。S A TSAT\mathsf{SAT}S A T¯¯¯¯¯¯¯¯¯¯SAT¯\overline{\mathsf{SAT}}S A TSAT\mathsf{SAT} 私の質問は、なぜ完全性の理論にカープ簡約を使用する必要があるかということです。それはどのような直感的な概念を捉えていますか?現実の世界で「計算の難しさ」を理解する方法とどのように関係していますか?NPNP\mathcal{NP}


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

3
ランダム性はP内で何かを購入しますか?
ましょうの時間で実行されているアルゴリズムを無作為有界両面エラーを有する決定問題のクラスである。O (f (n ))B P T I M E(f(n ))BPTIME(f(n))\mathsf{BPTIME}(f(n))O(f(n))O(f(n))O(f(n)) がなどの問題を知っていますか?存在しないことが証明されていますか? Q ∈ B P T I M E(N 、K)Q ∉ D T I M E(N 、K)Q∈PQ∈PQ \in \mathsf{P}Q∈BPTIME(nk)Q∈BPTIME(nk)Q \in \mathsf{BPTIME}(n^k)Q∉DTIME(nk)Q∉DTIME(nk)Q \not \in \mathsf{DTIME}(n^k) この質問はcs.SEでここに尋ねられましたが、満足のいく答えは得られませんでした。

2
カテゴリ理論/抽象代数と計算の複雑さを組み合わせた理論はありますか?
カテゴリ理論と抽象代数は、関数を他の関数と組み合わせる方法を扱います。複雑性理論は、関数の計算がいかに難しいかを扱います。これらの研究分野が自然なペアのように見えるので、これらの研究分野を組み合わせた人を見たことがありません。誰もこれをやったことがありますか? やる気を起こさせる例として、モノイドを見てみましょう。操作がモノイドの場合、操作を並列化できることはよく知られています。 たとえば、Haskellでは、加算が次のような整数のモノイドであると簡単に定義できます。 instance Monoid Int where mempty = 0 mappend = (+) ここで、0〜999の合計を計算する場合、次のように順番に実行できます。 foldl1' (+) [0..999] または、並行して行うことができます mconcat [0..999] -- for simplicity of the code, I'm ignoring that this doesn't *actually* run in parallel しかし、このモノイドの並列化は、mappendが一定の時間で実行されるためにのみ意味があります。これが当てはまらない場合はどうなりますか?たとえば、リストは、mappendが一定の時間(またはスペース)で実行されないモノイドです。これが、Haskellにデフォルトの並列mconcat関数がない理由です。最適な実装は、モノイドの複雑さに依存します。 これらの2つのモノイドの違いを説明する便利な方法があるはずです。その後、これらの違いでコードに注釈を付け、モノイドの複雑さに応じて、使用する最適なアルゴリズムをプログラムが自動的に選択できるようにする必要があります。

1
SC内で最初の2つのレベルではなく、素敵な問題を探している
複雑さの動物園はについてはあまり持っていないS CSC\mathsf{SC}。私は素晴らしい探してい†すなわち、階層のより高いレベルにある問題、問題点D T iは、mはE S PをA 、C 、E(nはO (1 )、LG O (1 )、N )であることが知られなくin D T i m e S p a c e(n O (1 )††^\daggerD T i m e S p a c e( nO (1 )、lgO (1 )n )DTimeSpace(nO(1),lgO(1)⁡n)\mathsf{DTimeSpace}(n^{O(1)},\lg^{O(1)} n)。DTimeSpace(nO(1),lg2n)DTimeSpace(nO(1),lg2⁡n)\mathsf{DTimeSpace}(n^{O(1)},\lg^2n) 副次的な質問として、より高いレベルの階層(、N C、S C、P Hなど)で素晴らしい問題の例を見つけることが最初のレベルよりも難しい理由はありますか?ACAC\mathsf{AC}NCNC\mathsf{NC}SCSC\mathsf{SC}PHPH\mathsf{PH} が素敵で、私たちは直感的にそれが何を意味するかを理解すると思う数学的な用語ではない、例えば非関税措置のための問題を受け入れることは、人々は、それがために完全であることから脇に興味がないという人工的な問題である N Pグラフ彩色問題は前に面白かった一方で、 …

3
Piタイプのfunsplitと極性
Agdaメーリングリストの最近のスレッドで、法則の問題が浮かび上がり、そこでPeter Hancockが示唆に富む発言をしました。ηη\eta 私の理解では、法則には負のタイプがあります。導入規則が可逆的である接続詞。関数のを無効にするために、ハンクは、通常のアプリケーションルールの代わりに、カスタムメイドのエリミネーターfunsplitを使用することをお勧めします。極性の観点からハンクの発言を理解したいと思います。ηη\etaηη\eta たとえば、 -typesという2つのプレゼンテーションがあります。ポジティブなスタイルの伝統的なMartin-Löf スプリットエリミネーターがあります。ΣΣ\Sigma Γ⊢f:(a:A)(b:Ba)→C(a,b)Γ⊢p:Σa:A.BΓ⊢splitfp:CpΓ⊢f:(a:A)(b:Ba)→C(a,b)Γ⊢p:Σa:A.BΓ⊢splitfp:Cp \begin{array}{l} \Gamma \vdash f : (a : A)(b : B\: a) \to C (a , b) \\ \Gamma \vdash p : \Sigma a : A. B \\ \hline \\ \Gamma \vdash \mathrm{split}\: f\: p : C\: p \end{array} そして、ネガティブバージョンがあります: Γ⊢p:Σa:A.BΓ⊢π0p:AΓ⊢p:Σa:A.BΓ⊢π1p:B[π0p/a]Γ⊢p:Σa:A.BΓ⊢π0p:AΓ⊢p:Σa:A.BΓ⊢π1p:B[π0p/a] \begin{array}{l} \Gamma \vdash …

1
ランダム2-SATのカウントの複雑さは何ですか?
#2-SATのランダムインスタンスの複雑さが句の密度によってどのように変化するかについて、何か作業が行われましたか?つまり、節の密度が変わると、2-SATのランダムに生成されたインスタンスに対する満足のいく解を数えることの難しさはどのように変わりますか?特に、重大なしきい値に関連する厳密な結果はありますか? もちろん、ため 2-SAT ∈ P、典型的な計数の複雑さは、インスタンスが充足している確率に部分的に依存します。句密度がSAT / UNSATの臨界しきい値を超えるインスタンスは、通常、制限n答えがほぼ確実に「ゼロ」であるため、カウントの複雑さが簡単になります。ただし、有限のnの臨界しきい値に近い、またはそのすぐ上の密度を持つ2-SATのインスタンスの場合、カウントの複雑さは依然として簡単です。満足できるインスタンスには、少数の解しかなく、制約の厳しさのために列挙する。 → ∞→∞\to \infty 以下のためのK -SATとK ≥3は、インスタンスが充足又は充足不能であるかどうかを決定することの難しさが 存在するかどうかを決定するための1つの試みとして、部分的には、UNSAT相からSAT相を分離臨界しきい値の近くに最高であると思われる少なくとも一つで満足できるソリューション。ため#2-SAT、困難ができない少なくとも一つの解決策が存在するかどうかを決定するにあります。したがって、重要ではあるが大きくはない充足可能な式の解の数を決定することは困難であると予想されるはずです。 制約の数—つまり、変数間に重要な依存関係を引き起こすのに十分な制約がありますが、可能な割り当てを過剰に決定するほど多くはありません。

2
マフィアの難易度は?
マフィアはパーティーで人気のロールプレイングゲームです。詳細な説明はウィキペディアhttp://en.wikipedia.org/wiki/Mafia_%28game%29で入手できます。 基本的に、次のように機能します。 最初は、人のプレイヤーのそれぞれに、マフィアまたは町に合わせて密かに役割が割り当てられます。各役割には特別な能力があります。それについては後で。NNN 2つのゲームフェーズがあります:昼と夜。夜に、マフィアは互いに密かに通信できます。そして、彼らはその夜に殺害する1人のターゲットプレーヤーに同意するかもしれません。Dayでは、すべての(生きている)プレイヤーがオープンフォーラムで通信します。プレーヤーは、1人のプレーヤーをリンチすることに同意する場合があり、すべてのプレーヤーの絶対過半数が必要です。 マフィアだけが残っている場合、または町だけが残っている場合、ゲームは終了します。生き残ったパーティーが勝ちます。 Citizen、Investigator、Mafiosoの3つの役割があると仮定しましょう。市民には力がありません。Mafiosiには、夜間に互いに通信し、毎晩1人の殺人被害者に投票する以外の能力もありません。調査員は、毎晩他の1人のプレーヤーを調査して、正確な役割を調べることができます。 ゲームは日から始まり、プレイヤーの役割は死亡時に明らかになると仮定します 勝利戦略 i Investigators、c Citizen、およびm Mafiosiのセットアップを考えると、タウンプレーヤーに戦略があれば、セットアップはタウンに勝っていると言います。マフィアが演じます。(i 、c 、m )(私、c、m)(i,c,m)私私icccmmm 我々が考慮したいので、私たちは、マフィアが完全な情報を担っていると仮定できることに注意してくださいすべての彼らが作ることができます決定。 例:セットアップ(4 、1 、1 )(4、1、1)(4,1,1)町のために勝利します。 1日目:すべてのタウンプレイヤーは、オープンチャットでの役割を正直に報告します。マフィアのプレイヤーは捜査官か市民のどちらかであると主張しなければなりません。 彼が市民を主張する場合、マフィアは2人の疑いのある市民の1人です。各調査員はどちらかを調査でき、真の調査員を見つけます。せいぜい1人の捜査官が夜に死ぬことができます、そして、他の2人は単にマフィアを掛けます。 したがって、マフィアは捜査官を主張しなければなりません。5人の疑いのあるInvesigatorsがいます。公開チャットでは、調査員は互いを確認するための順列に同意します。 夜1:捜査官はターゲットを確認し、マフィアはターゲットを殺します。 2日目: 3人の調査員が残っています。疑惑のある捜査官全員が調査結果を報告します。誰が殺されたとしても、そのうちの少なくとも1人は別の生きている調査員によって確認されます。マフィアは捜査官を主張したので、彼は彼の割り当てられた標的がマフィアであったかどうかも言う必要があります。彼が誰かをフレームに入れると、タウンは、彼またはフレームに入れられたものがマフィアであることを、他の確認された3タウンに対して知っています。彼が誰もフレームに入れない場合、3つの確認された町もあります。いずれにせよ、誰にもぶら下げずに、残っている容疑者2人だけを調査することでTownが勝ちます。 ご質問 与えられたセットアップがTownの勝利戦略を受け入れるかどうかを判断するのはどれくらい難しいですか?直感的には、これはPSPA CEPSPACEPSPACE完全な問題のます。誰かが削減を考え出すことができますか? 最小限の勝利セットアップを見つけることができますか?比率または(i + c ):mを最小化できますか?i :m私:mi:m(i + c ):m(私+c):m(i+c):m

3
変更保護者としてのフレームルール?
フレームルールは、下記のいずれかのように、プログラム与えられた、という考えキャプチャc前提でp、それを実行する前に保持し、事後条件q、その後保持している、いくつかの互いに素条件はr前と後の両方を保持する必要がありますc実行を。(コネクティブは*引数が互いに素であることが必要です。)多くの場合、事前条件と事後条件はヒープの状態でありc、何らかの方法でヒープを変更する効果的なプログラムです。 {p} c {q} ----------------- (where no free variable in r is modified by c) {p * r} c {q * r} 私が見たフレームルールの議論は、ヒープのばらばらの部分がどのようにr保存されるかに常に焦点を当てているようです。これにより、「ローカルな推論」が可能になります。効果について推論する場合、ヒープcのr部分を無視し、実際に変化する部分のみに関心を持つことができます。しかし、別の見方をすれば、現在そこに座っているにもかかわらず、からpへqの変更が保存されるというrことです。言い換えれば、それは我々が事後条件で終わることが重要だ{q * r}のではなく、{q' * r}他のいくつかのためにq'。 だから、私の質問は、議論したり作るが保存-の変更-from-の使用という枠ルールのいずれかの治療がありますかどうかであるp-to- q事。

2
セパレータークエリからツリーを再構築する
仮定その構造、我々が知らない一定程度の木です。問題は、「ノードはノードからノードへのパス上にありますか?」という形式のクエリを実行して、ツリーを出力ことです。オラクルは一定の時間で各クエリに回答できると仮定します。ツリーのノード数であるの値を知っています。目的は、に関してツリーを出力するのにかかる時間を最小限にすることです。T x a b n nTTTTTTxxxaaabbbnnnnnn そこに存在して上記の問題のためのアルゴリズムを?o(n2)o(n2)o(n^2) ノードの次数は最大3 と仮定します。TTT 私が知っていること 有界直径の場合は簡単です。ツリーの直径が場合、分割統治アルゴリズムを取得できます。DDD バイナリツリーには、ツリーを1 / 3n以上のサイズのコンポーネントに分割する適切なセパレータがあります。 頂点xをピックします。それが良いセパレーターラベルである場合、それは再帰的です。 xの3つの近傍すべてを見つけます。 ノードの数が最も多い隣の方向に移動します。ネイバーでステップ2を繰り返します。 セパレータを見つけるには最大でステップかかるため、アルゴリズムを取得します。O (n D log n )DDDO (n D ログn)O(nDlog⁡n)O(nD\log n) アルゴリズムをランダム化しO (nログ2n)O(nlog2⁡n)O(n\;\log^2 n)。(以下のコメントから移動) 2つの頂点xとyをランダムに選択します。1/9の確率で、セパレーターの反対側にあります。からまでのパスの中間ノードを選択します。バイナリ検索を行わない場合、区切り文字かどうかを確認します。yバツxxyyy それは取ります、セパレータを見つけるために時間を予想しました。したがって、ランダム化アルゴリズムを取得します。O (nO (nログn)O(nlog⁡n)O(n\;\log n)O (nログ2n)O(nlog2⁡n)O(n\;\log^2 n) バックグラウンド。この問題について、確率的グラフィカルモデルで働く友人から学びました。上記の問題は、3つのランダム変数X、Y、Zが与えられ、Zの値が与えられるとXとYの間の相互情報の値を伝えることができるオラクルを使用して、ジャンクションツリーの構造を学習することにほぼ対応します。値が近い場合ゼロまで、ZがXからYへのパス上にあると仮定できます。

3
時間の複雑さのためにシングルテープチューリングマシンを使用するのはなぜですか?
ご存知のように時間がある場合、単一のテープチューリングマシンの多くかの異常があるマルチテープTMシミュレーションだけを有するより大きなテープアルファベットのシミュレーション:{ 0 、1 、B }、時間施工、非気密性が時間階層定理の...o (n2)o(n2)o(n^2){ 0 、1、B }{0,1,b}\{0,1,b\} また、、および単純な問題の非常にモデル固有のO (n 2)時間下限(2つのテープTMの超線形下限に変換されない)のような結果もあります。D T i m e(o(nlgn )= R e gDTime(o(nlg⁡n)=Reg\mathsf{DTime}(o(n\lg n)=\mathsf{Reg}O (n2)O(n2)O(n^2) スペースの複雑さのために、より自然で堅牢な読み取り専用の入力テープを別に用意したモデルを使用します。 複数のテープ(または少なくとも2本の作業テープ)を備えたTMモデルは、はるかに堅牢であり、上記のような異常を引き起こすことはありません。私はかつて、複雑性理論の初期のシミュレーション結果を証明した著名な複雑性理論家に、これらの古い結果のいずれかの改善を知っているかどうかを尋ねましたが、答えは「1つのテープモデルに関する質問は重要"。 時間の複雑さの標準モデルを2つのテープTMに変更しても、複雑性理論の合理的な結果は変わらず、特定のモデルに起因するこれらの異常を回避します。だから私の質問は: 時間の複雑さがまだ単一テープTMの観点から定義されている理由はありますか?(歴史的理由以外)

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 

1
IP = PSPACEが相対化しないという「本当の」理由は何ですか?
IP = PSPACEは、非相対化結果の標準的な例として列挙されており、このための証拠は、Oracleが存在することであるようにC 、O 、N P O ⊈ I P O、一方、C 、O 、N P O ⊆ P S P C E Oのためのすべての神託O。OOOcoNPO⊈IPOcoNPO⊈IPO{\sf coNP}^O \not\subseteq {\sf IP}^OcoNPO⊆PSPACEOcoNPO⊆PSPACEO{\sf coNP}^O \subseteq {\sf PSPACE}^OOOO しかし、私は唯一の少数の人々がなぜのための「直接」の説明与える見てきた結果は相対化しない、といつもの答えは「arithmetization」です。IP = PSPACEの証明を検査すると、その答えは誤りではありませんIP=PSPACEIP=PSPACE{\sf IP} = {\sf PSPACE}、しかしそれは私にとって満足のいくものではありません。「本当の」理由は、問題TQBF(真の定量化されたブール式)がPSPACEで完全であるという証拠にまでさかのぼるようです。それを証明するには、PSPACEマシンの構成を多項式サイズの形式でエンコードできることを示す必要があります(これは非相対化部分のようです)構成間の「正しい」遷移を多項式サイズでエンコードできますブール式-これは、クックレビンスタイルのステップを使用します。 私が開発した直観は、非相対化の結果はチューリングマシンの核心を突くものであり、TSPACEのTQBFが完全であることが示されているステップは、この突発が起こる場所であり、算術ステップは算術化するための明示的なブール式があるためにのみ発生しました。 これは、IP = PSPACEが相対化しないという根本的な理由のように思えます。そして、算術テクニックが相対化しないという民話のマントラは、その副産物のようです:そもそもTMについて何かをエンコードするブール式を持っている場合、何かを算術する唯一の方法です! 私が見逃しているものはありますか?サブ質問として-これは、何らかの方法でTQBFを使用するすべての結果が相対化しないことを意味しますか?

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