理論計算機科学

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



4
毎日の問題におけるカテゴリー理論の限界と限界の用途は何ですか?
日常生活の問題のモデリングで制限と制限の概念をどのように使用できるかを知りたいのですが?(ソフトウェア)エンジニアリングの例を誰か提供してもらえますか?または、これらの概念を使用できるモデリング問題の種類について、一般的に直感的に説明しますか?ありがとうございました。

2
終了が証明できないチューリングマシン?
私は素朴な質問があります:終了は真であるが、自然で一貫した有限公理化可能な理論では証明できないチューリング機械はありますか?具体例ではなく、単なる存在証明をお願いします。 これは序数分析と関係があるかもしれません。実際、チューリングマシン場合、は、その終了(またはこれらの序数の極小値)を証明する一貫した理論の最小序数として定義できます。したがって、ようなが存在するかどうかを尋ねることは同等だと思いますか?MMMM O (M )≥ ω C K 1O (M)O(M)O(M)MMMO (M)≥ ωCK1O(M)≥ω1CKO(M) \geq \omega_1^{CK}

1
ペアワイズの互いに素なセットの最大数を見つける複雑さ
私が持っていると仮定しから取られた要素を持つ集合の可能なものを。各セットのサイズは()であり、セットはオーバーラップできます。次の2つの問題がNP完全であるかどうかを確認したいと思います。PPPrrrnnnn&lt;rn&lt;rn<r 問題のA.あります()の異なる内のセットセットが(すなわち、そのペアワイズ交差が空ですか)?MMM1≤M≤P1≤M≤P1 \le M \le PPPP 問題B.今すぐ()の要素は、各セットから選択することができます。ある()異なるサイズのセットは、以内それぞれセット?各セットから取得できる要素のセットは1つだけであることに注意してください。kkkk&lt;nk&lt;nk<nLLL1≤L≤P1≤L≤P1 \le L \le PkkkPPPkkknnn要素の。 備考:私は主にケースに興味が固定されている(N ≥ 2 、K ≥ 2)。k,nk,nk,nn≥2,k≥2n≥2,k≥2n \ge 2, k \ge 2 問題Aはユニフォームr -partiteハイパーグラフマッチング問題と考えることができます。つまり、頂点としてrの要素があり、各ハイパーエッジにはグラフのn個の頂点のサブセットが含まれています。nnnrrrrrrnnn で -uniform R NP完全-partiteハイパーグラフマッチング問題?nnnrrr 問題Bは、カーディナリティnのハイパーエッジから取得されたカーディナリティの個別のハイパーエッジの数を見つけることと同等であると思います。この制限付きバージョン(各kカーディナリティーセットは、r要素から任意に取得されるのではなく、事前に選択されたn要素のセットから取得されるという意味で)は問題A NP完全ですか?kkknnnkkknnnrrr 例():n=3,r=5,P=3n=3,r=5,P=3n=3,r=5, P=3 、 B = { 2 、3 、4 }、 C = { 3 、4 、5 }A={1,2,3}A={1,2,3}A=\{1,2,3\}B={2,3,4}B={2,3,4}B=\{2,3,4\}C={3,4,5}C={3,4,5}C=\{3,4,5\} 場合、唯一存在するM = 1である1つの異なるセット、A又はB又はCの対のそれぞれから、(A …

2
線形計画では解決できない半確定計画で何が解決できるか?
線形目的関数と線形制約の問題を解決できるという点で、線形プログラムに精通しています。しかし、半定値プログラミングでは、線形計画ではできないことを何が解決できるのでしょうか。半定値プログラムは線形プログラムの一般化であることはすでに知っています。 また、半確定プログラミングを使用して解決できる問題をどのように認識しますか?線形計画法では解決できない半定値プログラミングが使用される典型的な問題は何ですか? ご返信ありがとうございます。


1
ハイパードクトリンとモナディック2次論理
この質問は、本質的に私がMathoverflowで質問したものです。 モナディック2次(MSO)ロジックは、単項述語を数量化した2次ロジックです。つまり、セットに対する定量化です。コンピュータサイエンスで研究されている構造の基礎となるいくつかのMSOロジックがあります。 質問1.モナディック2次論理のカテゴリセマンティクスはありますか? 質問2.カテゴリカルロジックの扱いは、「高次の直観的ロジック」についてよく語られます。2次の述語を定量化するのではなく、より高次の関数を参照していると思いますか? 質問3.(2013年11月8日、ニールの回答の後に追加)1次数量化(以下で説明するピッツの表現に関して)の私の理解は、射影射の引き戻しに関して定義されていることです。。具体的には、普遍的数量化は右側の随伴として解釈され、実存的数量化は左側の随伴として解釈されます。これらの随伴者は、いくつかの条件を満たさなければなりません。これは、ベックチェヴァリー条件やフロベニウス相反条件と呼ばれることもあります。π∗π∗\pi^*ππ\piπ∗π∗\pi^*π∗π∗\pi^* 述語を定量化したい場合、私がデカルトの閉じたカテゴリーにいると想定すると、図はほぼ同じですが、以下のは以前とは構造が異なります。XXX ∃I,X,∀I,X:PC(I×X)→PC(I)∃I,X,∀I,X:PC(I×X)→PC(I) \exists_{I,X}, \forall_{I,X}: P_C(I\times X) \to P_C(I) そうですか? 私の精神的障害は、以前は一次ハイパードクトリンを扱っていたため、カテゴリをデカルト閉にする必要がなく、後でそれを考慮しなかったためだと思います。 背景とコンテキスト。 私は、Andy Pittsによるコンピュータサイエンスの論理のハンドブックでカテゴリカルロジックのプレゼンテーションを扱っていますが、博士論文でのトリポス理論の扱い、およびAwodeyとBauerのメモにも精通しています。私はタイプの Croleのカテゴリと Lambek とScottの本の勉強を始めましたが、最後の2つのテキストを調べてから久しぶりです。 動機として、以下の定理に現れるMSOロジックの種類に興味があります。私はこれらのうちの1つと表現的に同等であるロジックを処理したくありません。つまり、モナディック述語をより高次の関数でエンコードしてから別のロジックを処理したくないのですが、そのようなエンコードを含む意味論を内部で研究できてうれしいです。 (ブエチとエルゴットの定理)構造のユニバースが有限のアルファベット上の有限の単語である場合、言語はMSOで定義可能であれば正確に規則的であり、連続した位置を表すための解釈された述語があります。 (ブッチ(Buechi)の定理)構造の宇宙がある場合は有限アルファベット上-words、言語がある -regularそれが適切な解釈述語でMSOで定義可能である正確ます。ωω\omegaωω\omega (サッチャーとライトの定理)一連の有限ツリーは、MSOで解釈可能な述語を使用して定義できる場合、ボトムアップ有限ツリーオートマトンによって正確に認識できます。 WS1Sは、1つの後継者の弱いモナド2次理論です。式は自然数のセットを定義し、2次変数は有限セットとしてのみ解釈できます。WS1Sは、自然数のタプルを有限の単語としてエンコードすることにより、有限オートマトンによって決定できます。 (ラビンの定理)S2Sは、2つの後継者の2次理論です。S2Sは、Rabin automataによって決定できます。

3
プリミティブ再帰汎関数のクラスは、胎児が終了することを証明した関数のクラスと同等ですか?
Foetusは、まだ聞いたことがない場合は、こちらで読むことができます。これは、関数の再帰呼び出しのすべての「再帰動作」を見つけるために、「呼び出し行列」と「呼び出しグラフ」のシステムを使用します。関数が終了することを示すには、関数に対して行われた再帰呼び出しのすべての再帰動作が特定の「辞書式順序」に従うことを示します。終了チェッカーは、すべてのプリミティブな再帰関数とアッカーマン関数などの関数を許可します。基本的に、これは複数引数のプリミティブ再帰を可能にします。これは基本的にAgdaの終了チェッカーでもあります。Coqにも同様の機能がいくつかあると思います。 DAターナーの論文「Total Functional Programming」を読んだところから。ゴデルが研究したシステムTに見られるように、彼の提案する言語はすべての「原始再帰関数」を表現できると彼は説明する。彼はさらに、このシステムは「全体が一次論理で証明できるすべての再帰関数を含むことが知られている」と述べています。 線量胎児はすべての基本的な再帰的機能を許可しますか?もしそうなら、それはプリミティブな再帰的関数ではない関数を許可しますか?これに対する回答を引用できますか?(私はただ興味があるので、これは実際には必要ではありません。それは、問題についてのいくつかの読書夫婦がいいだろうということだけです) おまけの質問:プリミティブ再帰汎関数は、コンビネーターに関して非常に簡潔な定義を持っています。型付きのSおよびK(固定小数点コンビネーターを表現できない)、ゼロ、後続関数、および反復関数。それでおしまい。そのような簡潔な定義を持ち、すべての表現が終了する他のより一般的なそのような言語はありますか?

1
ブラインドソートの複雑さ?
比較ベースのソートアルゴリズムの最小の複雑さはΩ (n ログn )Ω(nlog⁡n)\Omega(n \log n)比較であることは誰もが知っています。私はブラインドソートを実行しようとしています。つまり、番のんnn出力に、んnn項目のリストをソートする回路(ブール演算、算術演算、および「比較」ゲート)を指定しています。 すべての比較を事前計算してから、結果のビットに対して算術を実行すると、アルゴリズムが得られますが、いくつかのクレイジーな "ポインター算術"によって、を得ることができると思いますバージョン。( n2)(n2){n \choose 2}Θ (n3)Θ(n3)\Theta(n^3)Θ (n2)Θ(n2)\Theta(n^2) 比較ベースのソートアルゴリズムの 1 と同様のラインに沿った比較ベースのソート回路の既知の下限はありますか?時間でブラインドソートすることも可能でしょうか?n ログんnlog⁡nn \log nn ログんnlog⁡nn \log n

2
問題の正確な複雑さ
ましょうのためのという約束と、(合計が超えている場合)。次に、かどうかを判断する複雑さは何ですか?I ∈ { 1 、... 、N } 、X = Σ N iが= 1、X I ∈ { 0 、1 } Z、X = 1xi∈{−1,0,+1}xi∈{−1,0,+1}x_i \in \{-1,0,+1\}i∈{1,…,n}i∈{1,…,n}i \in \{1,\ldots,n\}x=∑ni=1xi∈{0,1}x=∑i=1nxi∈{0,1}x = \sum_{i=1}^n{x_i} \in \{0,1\}ZZ\mathbb{Z}x=1x=1x = 1 iff x = 1であるため、問題はことにご注意ください。質問です:問題は \ mathsf {AC} ^ 0にありますか?もしそうなら、これを目撃している回路は何ですか?そうでない場合、どのようにこれを証明しますか?∩m≥2AC0[m]∩m≥2AC0[m]\cap_{m \geq 2}{\mathsf{AC}^0[m]}x≡1modmx≡1modmx \equiv 1\bmod{m}A C 0x=1x=1x = 1AC0AC0\mathsf{AC}^0


2
準線形クエリ時間を使用して、合計が
これが最近傍問題です。 実数(非常に大きいn!)にターゲットの実数pを加え、SUMがpに最も近いa iとa jを見つけます。当社は、合理的な前処理/インデックス許可1、... 、nは(最大Oを(N ログN ))が、(特定のクエリ時にP例えば、()、結果は非常に速く返されるべきO (ログn個)時間)。a1,…,ana1,…,ana_1, \ldots, a_nnnnpppaiaia_iajaja_jpppa1,…,ana1,…,ana_1, \ldots, a_nO(nlogn)O(nlog⁡n)O(n \log n)pppO(logn)O(log⁡n)O(\log n) (より単純な例:pに最も近いSINGLE だけが必要な場合は、1、… 、a nオフライン、O (n log n )をソートしてから、クエリ時にバイナリ検索を実行しますO (log n ))。aiaia_ipppa1,…,ana1,…,ana_1, \ldots, a_nO(nlogn)O(nlog⁡n)O(n \log n)O(logn)O(log⁡n)O(\log n) 機能しないソリューション: 1)1、… 、a nをオフラインでソート、次にクエリ時に両端から開始して2つのポインターを内側に移動します(http://bit.ly/1eKHHDy)。O (n )クエリ時間のため、良くありません。a1,…,ana1,…,ana_1, \ldots, a_nO(n)O(n)O(n) 2)1、… 、a nをオフラインでソートしクエリ時に、各a iを取得して、 pに近いものに合計するのに役立つ「バディ」をバイナリ検索します。O (n log n )クエリ時間のため、良くありません。a1,…,ana1,…,ana_1, \ldots, a_naiaia_ipppO(nlogn)O(nlog⁡n)O(n …

2
非負のデータを持つ0-1プログラムのための正確な指数時間アルゴリズム
単純なアルゴリズムに勝る次の問題の既知のアルゴリズムはありますか? 入力:行列とベクトルb 、c。ここで、A 、b 、cのすべてのエントリは非負の整数です。AAAb,cb,cb,cA,b,cA,b,cA,b,c 出力:最適なソリューションに最大{ C T X :A X ≤ B 、X ∈ { 0 、1 } N }。x∗x∗x^*max{cTx:Ax≤b,x∈{0,1}n}max{cTx:Ax≤b,x∈{0,1}n}\max \{ c^T x : Ax \le b, x \in \{ 0,1\}^n \} この質問は、以前の質問0-1プログラミングのための正確な指数時間アルゴリズムの改良版です。

2
プログラミング言語の抽象解釈の背後にある目標は何ですか?
私は現在、プログラミング言語の「抽象解釈」が何であるかをよりよく理解しようとしています。最小の固定要素でドメインを拡張するアイデア、連続関数の固定小数点を生成する4つの公理などを説明する良い本の章を見つけました。私はこれらの技術的な詳細を理解しています(この全体のスキームで「抽象的な解釈」が正確に何を指しているのかはよくわかりません)。 抽象解釈を使用する動機は何ですか?計算可能な関数の固定点を特定しているだけですか?主な動機は、ほとんどのプログラミング言語で再帰を使用することに由来していますか? また、コンピュータサイエンスの学位を持っている人にとっては技術的に十分に理解できる高レベルの概要が得られれば嬉しいでしょう。私はウィキペディアのページをかなり不安に思っています。

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