Questions tagged «proof-techniques»

有关证明多个定理的一般方法和技术的问题。当询问单个陈述的证据时,请使用与该证据有关的标签。

4
如何证明语法是明确的?
我的问题是如何证明语法是明确的?我有以下语法: 小号→ 小号吨一吨ë 米Ë Ñ 吨| 如果 Ë X p - [R ë 小号小号我ø Ñ 然后 小号∣if expression then S else SS→statement∣if expression then S∣if expression then S else SS → statement ∣ \mbox{if } expression \mbox{ then } S ∣ \mbox{if } expression \mbox{ then } S \mbox{ else …

3
真的有可能证明下界吗?
给定任何计算问题,为这种计算找到下界的任务确实可行吗?我想它可以归结为如何定义单个计算步骤以及我们用于证明的模型,但是鉴于此,我们是否真的能证明通常的下界?我的意思是,我们能否证明“问题不能比时间更快地解决”而不是“问题可以在时间内或更快地解决”?XXXt(X)Ť(X)t(X)XXXt(X)Ť(X)t(X) 我试图找到有关下限及其证明的信息,但是我真的找不到任何有趣的东西,关于该主题的书籍/论文/网站有什么建议吗?

1
如何证明随机播放算法的正确性?
我有两种方法可以按随机顺序生成项目列表,并想确定它们是否同样公平(公正)。 我使用的第一种方法是构造元素的整个列表,然后对其进行随机播放(例如Fisher-Yates随机播放)。第二种方法更多是一种迭代方法,该方法使列表在每次插入时都保持乱序。在伪代码中,插入函数为: insert( list, item ) list.append( item ) swap( list.random_item, list.last_item ) 我对展示这种特殊混洗的公平性感兴趣。使用此算法的优点是足够的,即使稍微不公平也可以。要决定,我需要一种评估其公平性的方法。 我的第一个想法是,我需要以这种方式计算可能的总排列与一组最终长度可能的总排列。但是,我对如何计算该算法产生的排列有些困惑。我也不能确定这是最好的还是最简单的方法。

4
建构主义逻辑中是否存在不确定的语言?
建构主义逻辑是一个排除公理的排除中间定律和双重否定的系统。它在Wikipedia的此处和此处进行了描述。特别是,该系统不允许矛盾证明。 我想知道,是否有人熟悉这如何影响有关Turing Machines和形式语言的结果?我注意到,几乎所有关于语言不确定性的证明都依赖于矛盾证明。对角化论证和归约概念都以这种方式工作。会否存在一种不确定语言存在的“建设性”证据?如果是,那它将是什么样? 编辑:很清楚,我对建构主义逻辑中的矛盾证明的理解是错误的,答案已经澄清了这一点。

1
如何显示L = L(G)?
通过提供正式的语法来指定正式的语言是一项常见的任务:我们不仅需要语法来描述语言,而且还要解析它们,甚至需要进行适当的科学学习。在所有情况下,重要的是手头的语法正确无误,即能准确生成所需的单词。 我们经常可以在较高层次上争论为什么语法可以充分表达所需语言,而没有形式化证明。但是如果我们出于某种原因有疑问或需要正式证明怎么办?我们可以应用哪些技术? 这应该成为参考问题。因此,请谨慎给出一般的,有说服力的答案,至少由一个例子说明了这一点,但仍然涵盖了许多情况。谢谢!

3
尽管我们不知道它是什么,但是是否存在可证明存在的算法?
在数学中,有许多非构造性的存在证明,因此我们知道某个对象存在,尽管我们不知道如何找到它。 我正在计算机科学领域寻找类似的结果。特别是:是否存在一个问题,我们可以证明它是可判定的而无需显示算法?也就是说,我们知道可以通过算法解决,但是我们不知道算法是什么样的?

3
如何显示两个计算模型是等效的?
我正在寻求有关如何证明两种计算模型等效的解释。我一直在阅读有关该主题的书籍,只是省略了等效证明。我对两个计算模型等效是什么有一个基本的想法(自动机视图:如果它们接受相同的语言)。还有其他考虑等效性的方法吗?如果您可以帮助我了解如何证明图灵机模型等效于lambda微积分,那就足够了。

1
如何在输入字符串的长度上使用归纳法编写证明?
在我的计算机理论课程中,我们遇到的许多问题都涉及对输入字符串的长度进行归纳,以证明有关有限自动机的陈述。我了解数学归纳法,但是当琴弦开始演奏时,我会被绊倒。如果有人会逐步进行这样的证明,我将非常感激。 这是一个示例问题(Hopcroft和Ullman第3版的练习2.2.10): 考虑具有以下过渡表的DFA: 0 1 ________ -> A | AB * B | BA 非正式地描述此DFA接受的语言,并通过对输入字符串的长度进行归纳来证明您的描述正确。 这是本书中已回答的问题,所以我不是在找人做作业。我只需要有人直接向我解释。 图书的答案:( 从此处获取) 自动机告诉看​​到的1的数目是偶数(状态A)还是奇数(状态B),在后一种情况下可以接受。这是对| w |的简单归纳。当且仅当w具有偶数1时才显示dh(A,w)=A。基础:| w | =0。然后,w,空字符串肯定具有偶数1,即零1,并且δ-hat(A,w)=A。 归纳法:假设语句小于w。然后w = za,其中a为0或1。 情况1: a =0。如果w的偶数为1,则z也是如此。根据归纳假设,δ-hat(A,z)=A。DFA的跃迁告诉我们δ-hat(A,w)=A。如果w具有1的奇数,则z也是如此。根据归纳假设,δ-hat(A,z)= B,而DFA的跃迁告诉我们δ-hat(A,w)=B。因此,在这种情况下,δ-hat(A,w)=如果且仅当w的偶数为1时为a。 情况2: a =1。如果w的偶数为1,则z的奇数为1。根据归纳假设,δ-hat(A,z)=B。DFA的跃迁告诉我们δ-hat(A,w)=A。如果w的奇数为1,则z的偶数为。 1。根据归纳假设,δ-hat(A,z)= A,而DFA的跃迁告诉我们δ-hat(A,w)=B。因此,在这种情况下,δ-hat(A,w )=当且仅当w的偶数为1时=A。 我知道如何证明使用归纳法。我对构建字符串的工作方式感到困惑。我对加粗的部分感到困惑。我不明白他们是如何提出的/它实际上如何证明接受的内容/它是如何归纳的。∑ni=0i=n(n+1)2∑i=0ni=n(n+1)2\sum_{i=0}^{n}i = \frac{n(n+1)}{2} 顺便说一下,δ-hat是扩展的转移函数。

1
使用主定理时对假设
Master定理是解决某些递归问题的漂亮工具。但是,在应用时,我们经常会掩盖一个不可或缺的部分。例如,在对Mergesort进行分析时,我们很高兴地从 T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)\qquad T(n) = T\left(\left\lfloor \frac{n}{2} \right\rfloor\right) + T\left(\left\lceil \frac{n}{2} \right\rceil\right) + f(n) 至 T′(n)=2T′(n2)+f(n)T′(n)=2T′(n2)+f(n)\qquad T'(n) = 2 T'\left(\frac{n}{2}\right) + f(n) 仅考虑n=2kn=2kn=2^k。我们保证ourselved,这一步是有效的-那就是T∈Θ(T′)T∈Θ(T′)T \in \Theta(T') -因为TTT表现“很好”。通常,我们假设n=bkn=bkn=b^k对于bbb是公分母。 通过使用恶性,很容易构造不允许这种简化的重复fff。例如,以上针对T的重复TTT\,/T′T′\,T'与 f(n)={1n,n=2k,elsef(n)={1,n=2kn,else\qquad f(n) = \begin{cases} 1 &, n=2^k \\ n &, \text{else} \end{cases} 可以通过通常的方法使用Master定理得出Θ(n)Θ(n)\Theta(n),但是显然有一个子序列会像一样增长Θ(nlogn)Θ(nlog⁡n)\Theta(n \log n)。参见此处,了解另一个更人为的示例。 我们怎样才能做到“严谨”呢?我很确定单调性就足够了,但是即使简单的Mergesort递归也不是单调的。有一个周期分量(渐近地占主导)。研究是否足够fff,并且在fff有什么必要和充分条件来确保Master定理有效?

1
如果分割比率取决于则求解分治法
有没有一般的方法可以解决表格的重复性: T(n)=T(n−nc)+T(nc)+f(n)T(n)=T(n−nc)+T(nc)+f(n)T(n) = T(n-n^c) + T(n^c) + f(n) 对于或更普遍c&lt;1c&lt;1c < 1 T(n)=T(n−g(n))+T(r(n))+f(n)T(n)=T(n−g(n))+T(r(n))+f(n)T(n) = T(n-g(n)) + T(r(n)) + f(n) 其中是一些子线性函数。g(n),r(n)g(n),r(n)g(n),r(n)nnn 更新:我浏览了下面提供的链接,并筛选了Jeff Erickson笔记中的所有重复关系。这种复发形式在任何地方都没有讨论。Akkra-Bazi方法仅在分割为分数时适用。任何令人发指的参考文献将不胜感激。

2
如何描述算法,证明和分析算法?
在阅读计算机编程艺术(TAOCP)之前,我没有深入考虑这些问题。我将使用伪代码来描述算法,理解算法并仅估计增长顺序的运行时间。该TAOCP彻底改变了我的脑海里。 TAOCP使用英语加上步骤和goto来描述算法,并使用流程图更轻松地描绘算法。似乎是低级的,但是我发现有一些优点,尤其是流程图,我已经忽略了很多。我们可以在计算遍历该箭头时用关于当前事务状态的断言标记每个箭头,并为该算法提供归纳证明。作者说: 作者的争论是我们真正理解为什么只有当我们达到了我们的思想隐含地填充所有断言的程度时算法才是有效的方法,如图4所示。 我还没有经历过这样的东西。另一个优点是,我们可以计算每个步骤执行的次数。用基尔霍夫的第一定律很容易检查。我没有精确地分析运行时间,因此在估算运行时间时可能会省略一些。±1±1\pm1 分析增长顺序有时是无用的。例如,由于它们都是,因此我们无法区分quicksort和heapsort ,其中是期望的随机变量,因此我们应该分析常数,例如,和,因此我们可以比较和更好。而且,有时我们应该比较其他数量,例如方差。仅对运行时间的增长顺序进行粗略分析是不够的。作为TAOCPE(T(n))=Θ(nlogn)E(T(n))=Θ(nlog⁡n)E(T(n))=\Theta(n\log n)EXEXEXXXXE(T1(n))=A1nlgn+B1n+O(logn)E(T1(n))=A1nlg⁡n+B1n+O(log⁡n)E(T_1(n))=A_1n\lg n+B_1n+O(\log n)E(T2(n))=A2lgn+B2n+O(logn)E(T2(n))=A2lg⁡n+B2n+O(log⁡n)E(T_2(n))=A_2\lg n+B_2n+O(\log n)T1T1T_1T2T2T_2 将算法翻译成汇编语言并计算运行时间,这对我来说太难了,所以我想知道一些技术来更粗略地分析运行时间,这对于C,C ++等高级语言也很有用或伪代码。 我想知道研究工作中主要使用哪种描述风格,以及如何处理这些问题。

1
满足激进式引理但不规则的语言?
给定一个正规语言,那么很容易证明,有一个恒定的ñ,从而为σ &Element; 大号,用| σ | ≥ Ñ存在串α,β和γ,使得| α β | ≤ ñ和| β | ≠ ε,并为所有ķ它是α β ķ γ &Element; 大号LLLNNNσ∈Lσ∈L\sigma \in L|σ|≥N|σ|≥N\lvert \sigma \rvert \ge Nαα\alphaββ\betaγγ\gamma|αβ|≤N|αβ|≤N\lvert \alpha \beta \rvert \le N|β|≠ϵ|β|≠ϵ\lvert \beta \rvert \ne \epsilonkkkαβkγ∈Lαβkγ∈L\alpha \beta^k \gamma \in L。人们普遍说相反的说法是不正确的,但是我还没有看到任何明确的例子。有什么建议么?显然,证明冒犯性语言不规则的证据必须使用比典型的“不满足抽提引理”更强的方法。我会对简单的示例感兴趣,以介绍入门形式语言类。

4
显示X中的问题不是X完全的
实在的存在理论在PSPACE中,但我不知道它是否是 PSPACE-Complete。如果我认为并非如此,那我怎么证明呢? 更一般而言,给定某个复杂性类X中的问题,我如何证明它不是 X-Complete?例如,X可以是NP,PSPACE,EXPTIME。

5
如何证明问题不是NP完成的?
有什么通用的技术可以证明问题不是NP完全的吗? 我在考试中遇到这个问题,要求我证明是否有一些问题(参见下文)是NP-Complete。我想不出任何真正的解决方案,只是证明它在P中。显然,这不是一个真正的答案。 NP-Complete被定义为NP中的一组问题,所有NP问题都可以简化为它。因此,任何证据都应至少与这两个条件之一相矛盾。这个特定的问题确实存在于P中(因此也存在于NP中)。因此,我坚持证明NP中存在一些无法解决的问题。在地球上如何证明这一点? 这是我在考试中遇到的具体问题: 设为析取范式的弦集。令D N F S A T是来自D N F的字符串的语言,可以通过某些变量分配来满足该语言。显示是否D N F S A TDNFDNFDNFDNFSATDNFSATDNFSATDNFDNFDNFDNFSATDNFSATDNFSAT是否在NP-Complete中。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.