コンピュータサイエンス

コンピュータサイエンスの学生、研究者、実務家のためのQ&A

1
SATを使用して、量指定子除去の正確性を検証する
ましょうx=(x1,…,xn)x=(x1,…,xn)x=(x_1,\dots,x_n)とあることのブール変数の-vectors。私はブール述語をに持っています。友達にプリシラを渡します。それに応答して、彼女は私に与え、上のブール述語、と彼女は主張しますy=(y1,…,yn)y=(y1,…,yn)y=(y_1,\dots,y_n)nnnQ(x,y)Q(x,y)Q(x,y)x,yx,yx,yQ(x,y)Q(x,y)Q(x,y)P(x)P(x)P(x)xxx P(x)≡∃y.Q(x,y),P(x)≡∃y.Q(x,y),P(x) \equiv \exists y . Q(x,y), 言い換えれば、 ∀x.[P(x)⇔∃y.Q(x,y)].∀x.[P(x)⇔∃y.Q(x,y)].\forall x . [P(x) \Leftrightarrow \exists y . Q(x,y)]. なんとか彼女の主張を検証したい。プリシラはこの主張を確認するのにどのように役立ちますか? と両方がCNF式として表され、それらが大きすぎない(多項式サイズなど)と想定できます。PPPQQQ 理想的な世界では、この主張をSATに検証する問題を軽減できればすばらしいでしょう。SATソルバーがあり、SATソルバーを使用してこの主張を検証できればすばらしいと思います。ただし、この主張をSATインスタンスとして直接検証するという問題を定式化することは不可能だと確信しています。2QBF式の有効性をテストすることは、 SATよりもほぼ確実に困難です。(方向はSATインスタンスとして簡単に定式化できますが、方向は2つの交互の量指定子が本質的に含まれるため困難です。)⇐⇐\Leftarrow⇒⇒\Rightarrow しかし、プリシラが彼女の主張を裏付けるいくつかの追加の証拠を私に与えることができると仮定します。プリシラが私に与えることができる追加の証拠または証人はありますか?それにより、彼女の主張を簡単に確認できますか?特に、彼女が私に与えることができる追加の証拠または証人はありますか?これにより、彼女の主張をSATのインスタンスとして検証する問題を簡単に定式化できます(次に、SATソルバーを適用できます)? 私の設定の珍しい側面の1つは、SATのオラクルがあると(ヒューリスティックに)想定していることです。複雑さの理論が好きなら、このように考えることができます。私は、(つまり、)で計算できるマシンの役割を担っており、プリシラのアルゴリズムを使用して要求します。このような考え方について、mdxに感謝します。PNPPNPP^{NP}ΔP2Δ2P\Delta^P_2PNPPNPP^{NP} 私の動機/アプリケーション:システムの正式な検証(たとえば、シンボリックモデルのチェック)を行うつもりであり、推論の重要なステップには、数量詞の削除(つまり、から開始して取得する)が含まれます。量指定子の削除が正しく行われたことを確認するためのクリーンな方法を期待しています。QQQPPP 考えられるすべてので機能する解決策がない場合は、「健全だが完全ではない」解決策を提案してください。つまり、多くの、主張された同等性を検証できます。(主張を満たす主張の検証に失敗した場合でも、誤った主張を検証したと不適切に主張しない限り、ヒューリスティックとしてこれを試すことができます。特定の、機能する場合と機能しない場合があります。機能しない場合でも、始めたときより悪くはありません)。P 、Q P 、QP,QP,QP,QP,QP,QP,QP,QP,QP,QP,QP,QP,Q


1
グラフのエッジを格納するためのデータ構造
私は現在修士論文に取り組んでおり、それはグラフのクラスタリングについてです。私は問題を解決するためにアリを使用するアイデアで働いています。私は現在実装に取り​​組んでおり、グラフのエッジをどの程度正確に表すのか正確に疑問に思っています。 各エッジには、フェロモン値やアリがそのエッジを訪れた回数などの特定の情報が追加されます。私は無向グラフを操作しますが、これはかなり巨大になる可能性があり(100万頂点を超える)、エッジを格納してルックアップするための最も効率的な方法は何かと思っていましたか?私は規則に固執し、頂点IDが低く、頂点ID が高いものに従ってエンドポイントを格納することを考えてい(とはデータ構造のエッジのエンドポイントです)。しかし、私はこの場合ルックアップをどのように実行するのでしょうか?v1v1v_1v2v2v_2v1v1v_1v2v2v_2 私が隣接行列からエッジ配列に思いついたマッピングがありますが、それは基礎となるグラフが完全なグラフである場合にのみ機能します。だから、私はルックアップを効率的にする必要があると同時に、グラフが巨大になるのでエッジのストレージスペースを爆破したくないので、どうすればよいかについていくつかの提案を得るためにここに来ました。

3
アルゴリズムを開発して2和問題を解決するには?
整数の並べ替えられた配列があるとすると、合計がペアの数を見つけたいと思います。例えば、所与の{ - 3 、- 2 、0 、2 、3 、4 }、ゼロに対合計の数である2。000{ - 3 、- 2 、0 、2 、3 、4 }{−3,−2,0,2,3,4}\{-3,-2,0,2,3,4\}222 ましょ入力配列の要素の数です。バイナリ検索を使用して配列の要素の追加の逆を見つける場合、順序はO (log N )です。セット内のすべての要素をトラバースする場合、順序はO (N log N )です。NNNO (ログN)O(log⁡N)O(\log N)O (NログN)O(Nlog⁡N)O(N\log N) 次数アルゴリズムを見つける方法は?O (N)O(N)O(N)

2
MST:Primのアルゴリズムの複雑さ、なぜ
CLRSによると、プリムのアルゴリズムは以下のように実装されています- MST-PRIM(G,w,r)MST-PRIM(G,w,r)\mathtt{\text{MST-PRIM}}(G,w,r) 毎u∈V[G]u∈V[G]u \in V[G]を行います key[u]←∞key[u]←∞\mathtt{\text{key}}[u] \leftarrow \infty π[u]←NILπ[u]←NIL\pi[u] \leftarrow \mathtt{\text{NIL}} key[r]←0key[r]←0\mathtt{\text{key}}[r] \leftarrow 0 Q←V[G]Q←V[G]Q \leftarrow V[G] 一方、 // ... O (Q≠∅Q≠∅Q \ne \emptysetO(V)O(V)O(V) ← EXTRACT-MIN(u ) // ... O (lguuu ←←\leftarrow EXTRACT-MIN(u)EXTRACT-MIN(u)\mathtt{\text{EXTRACT-MIN}}(u)O(lgV)O(lg⁡V)O(\lg V) それぞれの //ん... O (E )v∈adj[u]v∈adj[u]v \in \mathtt{\text{adj}}[u]O(E)O(E)O(E) もしとW (U 、V )> キー [ V ]v∈Qv∈Qv \in …

3
順序付けで他の2つの要素の「間に」要素を挿入できる効率的な順序付けを維持していますか?
次のような要素の束に注文があると想像してください: 矢印は意味します。また、推移的です:。X←YX←YX \leftarrow YX&lt;YX&lt;YX < Y(X&lt;Y)∧(Y&lt;Z)⟹(X&lt;Z)(X&lt;Y)∧(Y&lt;Z)⟹(X&lt;Z)\left(X < Y\right) \wedge \left(Y < Z\right) \implies \left(X < Z\right) ようなクエリに効率的に応答するには、何らかのラベル付けまたはデータ構造が必要です。たとえば、左から右へのノードに番号を付けることができ、従って、単にクエリに答えるために比較整数行うことができます:{}?A \ stackrel {&lt;} D \ 1 &lt;4を意味\ Tを暗示。次のようになります。A&lt;?DA&lt;?DA \stackrel {?}{<} DA&lt;?D⟹1&lt;4⟹TA&lt;?D⟹1&lt;4⟹TA \stackrel {?}{<} D \implies 1 < 4 \implies T 番号は順序であり、文字は単なる名前です。 しかし、次のように、順序付けで他の2つの要素の「間に」要素を挿入する必要がある場合はどうでしょう。 どのようにしてそのような順序を維持できますか?単純な番号付けでは、使用する整数の間に「2,3」がないという問題に遭遇2,32,32,3します。

1
が確定的コンテキストフリーではないことを証明する論文
これらのレクチャースライドは、 が確定的プッシュダウンで受け入れられないことの証明を示していますオートマトン。残念ながら、スライドは証明がどこから来たかについては言及していません。L = { aんbん| N ≥ 0 } ∪ { Aんb2 n| N ≥ 0 }L={anbn∣n≥0}∪{anb2n∣n≥0}L=\{ a^n b^n \mid n \geq 0 \} \cup \{ a^n b^{2n} \mid n \geq 0 \} 完全な証明を与える学術論文や教科書を知っている人はいますか?引用したいのですが、見つけられませんでした。


1
最小の最大コンポーネントを取得するためにグラフから削除する頂点を見つける
グラフ与えられた場合、k個の頂点{ v ∗ 1、… 、v ∗ k }をG=(V,E)G=(V,E)G = (V, E)見つけます。これを削除すると、最小の最大成分を持つグラフになります。 kkk{v∗1,…,v∗k}{v1∗,…,vk∗}\{v^*_1,\dots,v^*_k\} 大きなn=|V|n=|V|n = |V|そして大きいkkk問題は、(NP困難)ことは困難であるが、私は小さな値に興味がkkk(k∈{1,2,3,4}k∈{1,2,3,4}k \in \{1, 2, 3, 4\})。 以下のためにk=1k=1k = 1、私は最良の頂点を見つけることが可能だと思う{v∗1}{v1∗}\{v^*_1\}(すなわち、関節点をチェックする)グラフの単一深さ優先検索を実行することによって除去することを。 以下のためにk=2k=2k = 2、最高の頂点を見つけることも可能である{v∗1,v∗2}{v1∗,v2∗}\{v^*_1, v^*_2\}行うことにより、nnn深さ優先検索を(グラフのためにそれらのそれぞれのGi=G/{vi}Gi=G/{vi}G_i = G / \{v_i\})。同様のアプローチは、場合にも適用できますk&gt;2k&gt;2k > 2。 それ以上の解決策はないのでしょうか。 (関連:必ずしも列挙せずに頂点の最小数を数える)

1
制限されたアルファベットサイズの1カウンターオートマトンのユニバース問題は決定不可能ですか?
次の宇宙の問題を考えてください。 宇宙問題。言語のクラスの有限集合と、言語Lを受け入れるオートマトンが与えられた場合、L = Σ ∗かどうかを決定します。ΣΣ\SigmaLLLL = Σ∗L=Σ∗L=\Sigma^* [1]では、ユニバースの問題が特定のクラスの1カウンターオートマトンでは決定不可能であることを述べ、証明しています。次に、この結果は、すべての非決定論的な1カウンターオートマトンのクラスに続きます。オートマトンの入力アルファベットのサイズを制限するとき、この問題がまだ決定不可能であるかどうか知られているのだろうかと思います。 アルファベットサイズ1で問題が決定的になると思いますが、サイズ2はどうですか?そして、そのターンアウト場合は、最小値が何であるかを決定可能であることをの問題は決定不能であるように。n∈Nn∈Nn \in \mathbb{N} この質問に対する答えはわかっていると思いますが、答えを見つけるのに苦労しています。それがすでに知られているなら、参考文献をいただければ幸いです。 [1] オハイオ州イバラ(1979)。決定不可能なユニバースの問題がある制限された1カウンターマシン。数学システム理論、13(1)、181-186

2
CFLのMyhill-Nerodeスタイルの特性評価?
定義Nerodeさん等価の言語にわたってとして IFFすべてのための。L⊆Σ∗L⊆Σ∗L \subseteq \Sigma^{*}u∼Lvu∼Lvu \sim_L vuw∈L⇔vw∈Luw∈L⇔vw∈Luw \in L \Leftrightarrow vw \in Lw∈Σ∗w∈Σ∗w \in \Sigma^{*} Nerode等価は、が有限状態オートマトンによって認識される場合、正確に有限数の等価クラスを持ちます。これは、マイヒル-ネロードの定理です。∼L∼L{\sim}_LLLL 文脈自由言語の同様の特徴付けはありますか? 動機: Nerode等価クラスはそれぞれ、を認識するオートマトンの個別の状態に対応します。各CFLはNPDAによって認識できます。NPDAには有限の状態数がありますが、無制限にアルファベットシンボルのスタックも含まれます。スタックは、文字列を解析できる1つの可能な方法を追跡します。スタックは無制限の数のシンボルを格納できるため、等価クラスの数は無限になる可能性があります。LLL 私は尋ねています:各クランプがPDAの1つの状態を表し、クランプ内の各クラスがそのPDA状態のスタックの同等の状態を表すように、等価クラスをまとめる方法は常にありますか? 例えば、適切にネストされた括弧の言語のみを処理するために状態を必要popとpushスタックが現在のネストの深さを追跡しますと、。このようなクランプが常に実行できる場合、クランプの数が有限であるかどうかによって、言語にコンテキストフリーかどうかが決まります。 コメントで@sdcvvcによって指摘されているように、この質問の形式は/math/118362として尋ねられましたが、それでもなお、非コンテキストの自由言語の例で関連する質問に対するYuval Filmusの回答ポンピングできますか?より関連性があります。

1
言語が規則的または規則的でないことを証明する
してみましょう正規言語であること。証明してください:LLL L+ − −= { w :∃あなた| u | =2 | w | ∧WU∈L}L+−−={w:∃u|u|=2|w|∧wu∈L}L_{+--}=\left\{w: \exists_u |u|=2|w| \wedge wu\in L\right\} L+ + −= { w :∃あなた2 | u | = | w | ∧ W U ∈ L }L++−={w:∃u2|u|=|w|∧wu∈L}L_{++-}=\left\{w: \exists_u 2|u|=|w| \wedge wu\in L \right\} L− + −= { w :∃u …

1
最大の3クリークのない誘導サブグラフを見つける
この問題を考えてみましょう: 無向グラフを前提として、次のようなG ′ = (V ′、E ′)を求めます。G = (V、E)G=(V,E)G = (V, E)G′=(V′,E′)G′=(V′,E′)G' = (V', E') の誘発部分グラフである GG′G′G'GGG は3クリークがありませんG′G′G' 最大です|V′||V′||V'| そのため、3クリークが除去されるように、最小数の頂点をから除去する必要があります。GGG 同等の問題は、 2色を見つけて、(v 1、v 2、GGG及び((V 1、V 2)、(V 2、V 3)、(V 3、V 1))∈ V、(v1,v2,v3)∈V(v1,v2,v3)∈V(v_1, v_2, v_3) \in V((v1,v2),(v2,v3),(v3,v1))∈V((v1,v2),(v2,v3),(v3,v1))∈V((v_1, v_2), (v_2, v_3), (v_3, v_1)) \in V (v1.color==v2.color∧v2.color==v3.color∧v3.color==v1.color)=False(v1.color==v2.color∧v2.color==v3.color∧v3.color==v1.color)=False(v_1.color == v_2.color \wedge v_2.color == v_3.color \wedge …

1
NEXP =Σ
含意が成り立つかどうかはわかっていますか?N E X P = Σ2⟹N E X P = M ANEバツP=Σ2⟹NEバツP=Mあ\mathsf{NEXP} = \Sigma_2 \implies \mathsf{NEXP} = \mathsf{MA} (この質問は、よく知られているからヒントを得ています。)N E X P ⊆ P / P O LのY ⇔ N E X P = M ANEバツP⊆P/poly⇔NEバツP=Mあ\mathsf{NEXP} \subseteq \mathsf{P/poly} \Leftrightarrow \mathsf{NEXP} = \mathsf{MA}

2
「決定可能性」と「検証可能性」について説明してください
私は(直感的に)「決定可能性」と「検証可能性」という2つの用語を理解しようとしています。 私はかなりの量の検索を行い、手に入れることができるさまざまなテキストを調べました。しかし、彼らの直感的な理解は、特に2番目のものについては、私から逃れているようです。 見つかった多くの定義の中で、このページにある次の定義は、決定性を明確に説明してくれました。 特定の単語がその言語に属しているかどうかを判別するメソッドが存在する場合、その言語は決定可能と呼ばれます。 ただし、検証可能性についての並列定義は見つかりません。 でSipserによって計算書の理論、私たちは、見つけます P =メンバーシップを すばやく決定できる言語のクラス。 NP =メンバーシップをすばやく確認できる言語のクラス 。 以上を踏まえ、検証可能性を理解したい。 できるだけ多くの例を挙げてください。ある意味、意味を理解しようとしますが、次の例ではまた混乱します。

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