タグ付けされた質問 「proof-techniques」

複数の定理を証明するための一般的な方法と手法に関する質問。単一のステートメントの証明について尋ねるときは、代わりに証明の内容に関連するタグを使用してください。

1
TAUTがcoNP完全であることの証明(またはその補数がNP完全である場合、問題はcoNP完全であること)
TAUTがcoNP完全であることを証明する必要があります。を減らすことにより、であることを示しました。ただし、coNPのすべての問題を多項式時間でに削減できることを証明する方法を理解できません。そのためには、次の2つのいずれかが必要です。タウト∈ CONPTAUT∈coNP\text{TAUT} \in \text{coNP}土土\text{SAT}ぴんと¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ぴんと¯\overline{\text{TAUT}}ぴんとぴんと\text{TAUT} 削減のための既知のcoNP完全問題または 問題の補集合がNP完全である場合、問題はcoNP完全であることの証明。 どちらも講義では与えられなかったので、自分で証明しないと何も使えません。当たり前だったはずのことを逃しましたか?どこから始めればいいですか?

2
なぜ教会でエンコードされたタイプでは帰納的証明を表現するのに十分ではないのですか?
帰納的型のない構造の計算は、帰納法によって証明を表現するのに十分強力ではないという主張を聞いたことがあります。あれは正しいですか?もしそうなら、なぜそれを教会エンコーディングは十分ではないのですか?

1
述語論理の有効性決定可能性問題へのPCPの削減の証明の要素を解釈する目的は何ですか?
私の質問は、2004年の本、Logic in Computer Science:Modeling and Reasoning Systems(2nd Edition)のテキストの一部に直接関連しているため、次のディスカッションのコンテキストを提供するために、Michael HuthとMark Ryanによる本を逐語的に引用する: 述語論理における妥当性の決定問題は決定不可能です。が与えられた場合、かどうかを決定するプログラムは存在しません。φφ\varphiφφ\varphi 証明:前述のように、述語論理の有効性は決定可能であり、それによって(不溶性の)Post対応問題を解決します。対応問題のインスタンス与えられた場合: 有限の空間と時間内で均一に構築できる必要があるため、すべてのインスタンスに対して、のような述語論理のいくつかの公式上記の対応問題インスタンス解がある場合に限ります。CCCs1s2。。。sks1s2...sks_1 s_2 ... s_k t1t2。。。tkt1t2...tkt_1 t_2 ... t_kφφ\varphiφφ\varphiCCC 関数シンボルとして、定数と2つの関数シンボルおよびを選択します。それぞれに1つの引数が必要です。私たちが考える空の文字列、またはワードとして、そしてとあれば、それぞれ1、象徴0との連結のためのスタンドビットのバイナリ文字列である、我々は長期的なように、そのアップをコーディングでき。このコーディングはその単語のスペルを逆にすることに注意してください。これらの数式を読みやすくするために、ような用語を。eeef0f0f_0f1f1f_1eeef0f0f_0f1f1f_1b1b2。。。blb1b2...blb_1 b_2 ... b_lfbl(fbl−1。。。(fb2(fb1(e)))。。。)fbl(fbl−1...(fb2(fb1(e)))...)f_{b_l}(f_{b_{l−1}}...(f_{b_2}(f_{b_1}(e)))...)fbl(fbl−1。。。(fb2(fb1(t)))。。。)fbl(fbl−1...(fb2(fb1(t)))...)f_{b_l}(f_{b_{l−1}}...(f_{b_2}(f_{b_1}(t)))...)fb1b2。。。bl(t)fb1b2...bl(t)f_{{b_1}{b_2}...{b_l}}(t) また、2つの引数を期待する述語記号も必要です。意図した意味は、が表す用語であるようなインデックスシーケンスがあることですおよびは。したがって、はと同じインデックスのシーケンスを使用して文字列を作成します。だけが使用するのに対し、は使用し。PPPP(s、t)P(s,t)P(s,t)(私1、私2、。。。、私メートル)(i1,i2,...,im)(i_1,i_2,...,i_m)ssss私1s私2。。。s私メートルsi1si2...sims_{i_1} s_{i_2}...s_{i_m}tttt私1t私2。。。t私メートルti1ti2...timt_{i_1} t_{i_2}...t_{i_m}ssstttssss私sis_itttt私tit_i 私たちの文は粗い構造 where where setφφ\varphiφ1∧φ2⟹φ3φ1∧φ2⟹φ3\varphi_1 \wedge \varphi_2 \implies \varphi_3 φ1def=k⋀私=1P(fs私(e)、ft私(e))φ1=def⋀i=1kP(fsi(e),fti(e))\varphi_1 \stackrel{def}{=} \bigwedge\limits_{i=1}^k P\left(f_{s_i}(e),f_{t_i}(e)\right) φ2def=∀v、wP(v、w)→k⋀私=1P(fs私(v)、ft私(w))φ2=de f∀ V 、WP(v 、w )→⋀i = 1kP(fs私(v )、ft私(w ))\varphi_2 \stackrel{def}{=} …

3
テーブルルックアップを使用しない有限のホールティング問題スタイルセットの決定可能性の建設的な証明
次の言語が再帰的であることを証明しようとしました:場合、は正の整数: whereΣ = { 0 、1 }Σ={0,1}\Sigma=\{0,1\}kkkLk=HT M、ε∩ΣkLk=HTM,ε∩Σk L_k= H_{\mathrm{TM},\varepsilon}\cap \Sigma^k HT M、ε= { ⟨ M⟩ | M 空の入力で停止するTMです}HTM,ε={⟨M⟩∣M is a TM that halts on an empty input}H_{\mathrm{TM},\varepsilon}=\{\langle M\rangle\mid M \text{ is a TM that halts on an empty input}\} は有限であるため証明するのは簡単ですが、私はこれに気づかず、そのための決定者TMを見つけることによって証明しようとしました。TMのエンコードは長さため、超える状態は存在できず、ステップの間イプシロンで実行することにより、それまでに停止した場合は受け入れ、そうでない場合は拒否します。私はそれが間違っていると言われました-それは間違った解決策ですか?この方法を使用してこれをどのように証明できますか(が有限であることについて述べた方法ではありません)?LkLkL_kkkk2k2k2^k2k2k2^kLkLkL_k

3
最低限の効率を証明できますか?
問題が与えられた場合、この問題を解決するためのアルゴリズムの最良の最悪の場合の効率を証明することは可能ですか? たとえば、配列のソートの問題を考えてみましょう。 より単純なソートアルゴリズムの多くは、最悪の場合の効率が O (ん2)O(ん2)O(n^2)クイックソートやバブルソートなど。ただし、TimsortやSmoothsortなどの他のアルゴリズムには、O (n ログn )O(んログ⁡ん)O(n \log n)より効率的です。 他のアルゴリズム(私の知る限り)は、配列よりも効率的に配列をソートできませんでした Θ (n ログn )Θ(んログ⁡ん)\Theta(n\log n)。より効率的な他のアルゴリズムが存在しないことを証明することは可能ですか? より効率的なアルゴリズムが存在する場合に、ソートアルゴリズムを証明する方法がある場合、これは他の問題にも適用されますか?

1
非相対化証明が相対化証明よりも好ましいのはなぜですか?
申し訳ありませんが、他の2つの投稿の後でも、こことここで、 Oracle TMと相対化を理解するのに苦労しています。この質問は別の角度から問題に来ています: 非相対化の証明は、相対化された結果に基づく議論よりも有効であると考えられるのはなぜですか? たとえば、IP = PSPACEの相対論的でない証明がありますが、それらを分離するオラクルが存在するという事実によって、反対の議論をすることはできません(以前の質問への回答から私は理解しています)このオラクルは2つの複雑性クラスの構造的な違いのために存在するように求められましたが、クラスが重要な点で異なり、等しくない可能性があることを示すさらなる証拠として)。 反対に、オラクルが存在するという事実からなぜ結論を下すのか AAA そして BBB そのような PA=NPAPA=NPAP^A = NP^A そして PB≠NPBPB≠NPBP^B \neq NP^B P = NPとP ≠≠\neqNP?ここでも、以前の投稿から、通常のTMでは解決できない問題を解決できるさまざまな計算モデルとしてOracle TMを見ることができることに気づきましたが、これは、Principia Mathematicaで使用されている「タクティクス理論理解すると、Godel(不完全性の定理による)は、公理系の完全性と一貫性の問題を解決するには不十分であることが判明しました。

1
ラムジーの定理の証明:グラフ内のクリークまたは反クリークの数
ラムジーの定理は、 nnn ノードには、少なくともクリークまたは独立したセットが含まれています 12log2n12log2⁡n\frac{1}{2}\log_2 n ノード。 いくつかの場所(Sipserを含む)で調べようとしましたが、証明から多くの意味を理解することができませんでした。誰かがこれについて証拠(または明確な直感)を提供してくれれば幸いです。

4
償却分析に関する質問
アルゴリズムと複雑さに関する試験の準備として、私は現在、古い演習を解いています。初めて遭遇したときにすでに苦労してきた概念の1つは、償却分析の概念です。償却分析とは何ですか?私たちの講義ノートには、「償却分析は特定の操作に必要な「平均時間」の限界を与え、最悪の場合の限界を与えることもある」と述べられています。それは本当に便利に聞こえますが、例について言えば、私が何をしなければならないのかわからず、サンプルソリューションを読んだ後でも、彼らが何をしているのかわかりません。 基数2に1を加算してみましょう。つまり、0、1、10、11、100、101、110、111、1000、...償却分析を使用して、各ステップで変更する必要があるのは常に多くのビットだけを償却することを示します。 (元々はドイツ語での演習なので、完全に正確ではないかもしれない私の翻訳をお詫びします) ここで、標準解は最初に、いくつかの定数に対してを定義し。これは、潜在的な関数と呼ばれるもので、過剰な時間の単位に何らかの形で対応しているものだと思います(ただし、この特定の定義を思い付く理由はわかりません)。番目のステップでビットを変更する必要があると仮定します。そのようなステップは常に次の形式ですφ (I ):= C ⋅ #{ バイナリ表現における1ビット}ϕ(i):=c⋅#{1-bits in the binary representation}\phi(i) := c \cdot \# \{\text{1-bits in the binary representation}\}c > 0c>0c > 0メートルmm私ii …01…1m→…10…0m.…01…1⏟m→…10…0⏟m.\dots \underbrace{0 1 \dots 1}_m \to \dots \underbrace{1 0 \dots 0}_m. この発言は私には理解できますが、やはりその背後にある動機はわかりません。次に、どこからともなく、彼らは彼らが「見積もり」と呼ぶものを思いつきます a(i)=m+c(ϕ(i)−ϕ(i−1))=m+c(−m+2)a(i)=m+c(ϕ(i)−ϕ(i−1))=m+c(−m+2)a(i) = m + c(\phi(i) - \phi(i-1)) = m + c(-m …


1
再発関係の解決
反復関係解く。 この例の本は、を推測してから、であると誤って主張しています。 T(n)=2T(⌊n/2⌋)+nT(n)=2T(⌊n/2⌋)+nT(n) = 2T(\lfloor n/2 \rfloor) + nT(n)=O(n)T(n)=O(n)T(n) = O(n)T(n)≤cnT(n)≤cnT(n) \leq cn T(n)≤2(c⌊n/2⌋)+n≤cn+n=O(n)⟵ wrong!!T(n)≤2(c⌊n/2⌋)+n≤cn+n=O(n)⟵ wrong!!\qquad \begin{align*} T(n) & \leq 2(c \lfloor n/2 \rfloor ) + n \\ &\leq cn +n \\ &=O(n) \quad \quad \quad \longleftarrow \text{ wrong!!} \end{align*} 以来、 constant.Theエラーである私たちが証明していないことである正確な誘導仮説の形を。ccc 上記では、本の内容を正確に引用しています。ここで私の質問は、なぜにを書けないのか、そしてあり、したがってでしょうか?cn+n=dncn+n=dncn+n=dnd=c+1d=c+1d=c+1T(n)≤dnT(n)≤dnT(n) \leq dnT(n)=O(n)T(n)=O(n)T(n) = O(n) 注意: 正解はT(n)=O(nlogn).T(n)=O(nlog⁡n).T(n) =O(n …

2
スパースグラフの低次ノード
LETグラフを有することn個の頂点のいずれも単離されていない、及びN-1エッジ、N \ GEQ 2。Gに1次の頂点が少なくとも2つ含まれていることを示します。G=(V,E)G=(V,E)G = (V,E)nnnn−1n−1n−1n≥2n≥2n \geq 2GGG プロパティ\ sum_ {v \ in V} \ operatorname {deg}(v)= 2 | E |を使用してこの問題を解決しようとしました ∑v∈Vdeg(v)=2|E|∑v∈Vdeg⁡(v)=2|E|\sum_{v \in V} \operatorname{deg}(v) = 2|E|。この問題は、鳩の巣の原理を使用して解決できますか?

2
行列乗算プログラムの入れ子ループの不変式
Hoareロジックを使用して2つの行列を乗算するためのプログラムの正確性を証明することについて、卒業論文を作成しています。これを行うには、このプログラムの入れ子ループの不変式を生成する必要があります。 for i = 1:n for j = 1:n for k = 1:n C(i,j) = A(i,k)*B(k,j) + C(i,j); end end end 私は最初に内部ループの不変式を見つけようとしましたが、今までは本当のものを見つけることができません。上記のプログラムの不変式を見つけるのを手伝ってくれる人はいますか?
7 algorithms  loop-invariants  correctness-proof  formal-languages  regular-languages  pumping-lemma  logic  logic  programming-languages  lambda-calculus  term-rewriting  operational-semantics  complexity-theory  time-complexity  computability  proof-techniques  reductions  digital-preservation  distributed-systems  storage  algorithms  dynamic-programming  check-my-algorithm  reference-request  cryptography  quantum-computing  formal-languages  regular-languages  context-free  formal-grammars  algorithms  graphs  network-flow  algorithms  data-structures  randomized-algorithms  lists  computability  proof-techniques  undecidability  terminology  distributed-systems  parallel-computing  artificial-intelligence  heuristics  search-problem  algorithms  computational-geometry  algorithm-analysis  asymptotics  recurrence-relation  mathematical-analysis  master-theorem  algorithms  algorithm-analysis  runtime-analysis  computability  reductions  turing-machines  formal-languages  context-free 

2
Aの補数への削減のマッピング
マッピングの削減について一般的な質問があります。私は関数をいくつかの例に見ましたATMATMA_{TM} どこ ATM={⟨M,w⟩: For M is a turing machine which accepts string w}ATM={⟨M,w⟩: For M is a turing machine which accepts string w}A_{TM} = \{\langle M, w \rangle : \text{ For } M \text{ is a turing machine which accepts string } w\} これは決定不能性を証明するのに最適です。しかし、代わりに認識できないことを証明したいと言います。つまり、与えられた結果を使用したいA≤mBA≤mBA \le_{m} B、 AAA 認識できません BBB 認識できません。 …

4
アルゴリズムのループ不変式
ペアの合計の問題の次の疑似コードを開発しました。 与えられた配列 AAA 整数と整数の bbb、位置があり、場合はYESを返し、それ以外の場合はNOを返します。i,ji,ji,jAAAA[i]+A[j]=bA[i]+A[j]=bA[i] + A[j] = b 次に、私のアルゴリズムが正しいことを示すループ不変条件を記述します。誰かが有効なループ不変のヒントを教えてくれますか? PAIRSUM(A,b): YES := true; NO := false; n := length(A); if n<2 then return NO; SORT(A); i := 1; j := n; while i < j do // Here I should state my invariant currentSum := A[i] + A[j]; if …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.