Questions tagged «reference-question»

保留-不应用于大多数新问题。有关通用方法和概念的范围广泛的问题,例如证明方法,算法分析工具或计算机体系结构基础。这不是要求参考的问题,即书籍或文章。


3
算法分析的魔力背后是否有一个系统?
关于如何分析算法的运行时间存在很多问题(例如,参见运行时分析和算法分析)。许多都是类似的,例如那些要求对嵌套循环或分而治之算法进行成本分析的方法,但是大多数答案似乎都是量身定制的。 另一方面,另一个通用问题的答案通过一些示例解释了更大的图景(尤其是关于渐近分析),但没有说明如何弄脏您的手。 有没有一种结构化的,通用的方法来分析算法的成本?成本可能是运行时间(时间复杂度),也可能是某种其他成本度量,例如执行的比较次数,空间复杂度或其他。 这应该成为一个参考问题,可以用来指导初学者。因此其范围比平常大。请小心给出一般的,有说服力的答案,至少由一个示例说明了这一点,但仍然涵盖了许多情况。谢谢!

4
如何将有限自动机转换为正则表达式?
使用标准算法(例如汤普森算法),可以很容易地将正则表达式转换为接受相同语言的(最小)NFA 。但是,另一个方向似乎更乏味,有时结果表达式是混乱的。 有什么算法可以将NFA转换为等效的正则表达式?时间复杂度或结果大小是否有优势? 这应该是一个参考问题。请包括您的方法的一般说明以及不重要​​的示例。

5
如何不解决P = NP?
有很多尝试证明或,并且自然地,许多人考虑这个问题,并提出了证明这两个方向的想法。P ≠ N PP = N PP=NP\mathsf{P} = \mathsf{NP} P ≠ N PP≠NP\mathsf{P} \neq \mathsf{NP} 我知道,有些方法已被证明行不通,而且可能还有更多失败的历史。似乎也存在许多无法克服的证明障碍。 我们要避免调查死胡同,那是什么?


11
求解或近似数字序列的递归关系
在计算机科学中,我们经常必须解决递归关系,即为递归定义的数字序列找到闭合形式。在考虑运行时时,我们通常主要对序列的渐近增长感兴趣。 例子是 尾递归函数的运行时间从向下逐步降为,的身体花费时间:000nnnf(n)f(n)f(n) T(0)T(n+1)=0=T(n)+f(n)T(0)=0T(n+1)=T(n)+f(n)\qquad \begin{align} T(0) &= 0 \\ T(n+1) &= T(n) + f(n) \end{align} 的斐波那契序列: F0F1Fn+2=0=1=Fn+Fn+1F0=0F1=1Fn+2=Fn+Fn+1\qquad \begin{align} F_0 &= 0 \\ F_1 &= 1 \\ F_{n+2} &= F_n + F_{n+1} \end{align} 具有括号对的Dyck单词数:nnn C0Cn+1=1=∑i=0nCiCn−iC0=1Cn+1=∑i=0nCiCn−i\qquad\begin{align} C_0 &= 1 \\ C_{n+1}&=\sum_{i=0}^{n}C_i\,C_{n-i} \end{align} mergesort运行时重复出现在长度为列表上:nnn T(1)T(n)=T(0)=0=T(⌊n/2⌋)+T(⌈n/2⌉)+n−1T(1)=T(0)=0T(n)=T(⌊n/2⌋)+T(⌈n/2⌉)+n−1\qquad \begin{align} T(1) &= T(0) = 0 \\ T(n) …

5
如何证明一种语言不是上下文无关的?
我们了解了无上下文语言Ç ˚F 大号CFL\mathrm{CFL}。它具有无上下文语法和下推自动机的特征,因此很容易显示给定语言是无上下文的。 但是,如何显示相反的内容?我的助教坚称要这样做,我们必须为所有语法(或自动机)证明它们无法描述手头的语言。这似乎是一项艰巨的任务! 我读过一些抽奖式引理,但看起来确实很复杂。

10
如何证明一种语言不是正常语言?
我们了解了常规语言。它的特征在于正则表达式,有限自动机和左线性语法中的任何一种,因此很容易证明给定语言是正则的。ř Ë ģREG\mathrm{REG} 但是,如何显示相反的内容?我的助教坚持要做到这一点,我们必须为所有正则表达式(或所有有限自动机,或所有左线性语法)表明它们无法描述当前的语言。这似乎是一项艰巨的任务! 我读过一些抽奖式引理,但看起来确实很复杂。 这旨在成为收集常规证明方法和应用示例的参考问题。有关上下文无关语言的相同问题,请参见此处。

6
我们如何假设对数字的基本运算需要固定的时间?
通常,在算法中,我们不关心数字的比较,加法或减法-我们假设它们在时间。例如,当我们说基于比较的排序是时,我们就假设了这一点,但是当数字太大而无法放入寄存器时,我们通常将它们表示为数组,因此基本操作需要为每个元素进行额外的计算。O (n log n )O (1 )O(1)O(1)Ø (ñ 日志n )O(nlog⁡n)O(n\log n) 是否有证据表明可以在完成两个数字(或其他原始算术函数)的比较?如果不是,为什么我们说基于比较的排序是?O (n log n )O (1 )O(1)O(1)Ø (ñ 日志n )O(nlog⁡n)O(n\log n) 我遇到这个问题时,我回答了一个SO问题,我意识到,我的算法是不,因为我迟早要处理大INT,也是它不是伪多项式算法,它是。PO (n )O(n)O(n)PPP

1
LL和LR语法的语言理论比较
人们经常说LR(k)解析器比LL(k)解析器更强大。这些陈述在大多数时候都含糊不清。特别是,我们应该比较固定的类还是所有的并集?那么情况如何呢?我尤其对LL(*)如何适合感兴趣。kkkkkk 据我所知,语法分析器LL和LR接受的各个语法集合是正交的,因此让我们来谈谈由各个语法集合产生的语言。令表示由解析器可以解析的语法生成的语言的类别,其他类别也类似。LR(k)LR(k)LR(k)LR(k)LR(k)LR(k) 我对以下关系感兴趣: LL(k)⊆?LR(k)LL(k)⊆?LR(k)LL(k) \overset{?}{\subseteq} LR(k) ⋃∞i=1LL(k)⊆?⋃∞i=1LR(k)⋃i=1∞LL(k)⊆?⋃i=1∞LR(k)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{\subseteq} \bigcup_{i=1}^{\infty} LR(k) ⋃∞i=1LL(k)=?LL(∗)⋃i=1∞LL(k)=?LL(∗)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{=} LL(*) LL(∗)∘?⋃∞i=1LR(k)LL(∗)∘?⋃i=1∞LR(k)LL(*) \overset{?}{\circ} \bigcup_{i=1}^{\infty} LR(k) 其中一些可能很容易。我的目标是收集一个“完整”的比较。参考被赞赏。

8
如何证明语言是正规的?
有很多方法可以证明某种语言不是正规语言,但是我需要做些什么来证明某种语言是正规语言呢? 例如,如果给我是规则的,那么我怎么能证明后面的L ′也是规则的呢?L大号LL′大号′L' L′:={w∈L:uv=w for u∈Σ∗∖L and v∈Σ+}大号′:={w∈大号:üv=w 对于 ü∈Σ∗∖大号 和 v∈Σ+}\qquad \displaystyle L' := \{w \in L: uv = w \text{ for } u \in \Sigma^* \setminus L \text{ and } v \in \Sigma^+ \} 我可以画一个不确定的有限自动机来证明这一点吗?




4
有什么常用技术可以减少彼此的问题?
在可计算性和复杂性理论(可能还有其他领域)中,减少是无处不在的。有很多种类,但是原理保持不变:通过将实例映射到L_1中与解决方案等效的实例,可以证明一个问题至少与其他问题一样困难。本质上,我们表明,如果允许L_1的任何求解器使用归约函数作为预处理器,它也可以求解L_2。L 2 L 2大号1个L1L_1大号2L2L_2大号2L2L_2L 1 L 2大号1个L1L_1大号1个L1L_1大号2L2L_2 这些年来,我已经完成了减少的份额,有些事情困扰着我。尽管每个新的减少都需要(或多或少)创造性的构造,但任务可能会让人感到重复。是否有规范的方法库? 人们可以定期采用哪些技术,模式和技巧来构造归约函数? 这应该成为参考问题。因此,请谨慎给出一般的,有说服力的答案,至少由一个例子说明了这一点,但仍然涵盖了许多情况。谢谢!

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.