Questions tagged «formal-languages»

与形式语言,语法和自动机理论有关的问题

3
为什么在复杂性理论中使用语言
我刚刚开始涉足计算理论,该理论研究可计算的内容,速度,使用多少内存以及使用哪种计算模型。 我有一个非常基本的问题,但我确实希望你们中的一些人可以帮助我理解其背后的概念: 为什么一切都围绕语言的概念和定义(即常规语言和上下文无关语言)进行?以及它们如何关联和描述算法的复杂性以及解决这些问题的可能的计算模型? 我阅读了以下相关问题: /cstheory/14811/what-is-the-enlightenment-im-supposed-to-attain-after-studying-有限自动机 /cstheory/8539/how-practical-is-automata-theory 但是我仍然无法回答我的疑问,因为它们为它们为什么重要(我确实理解)提供了实际的辩护,但并不能帮助我理解为什么复杂性理论基于它们。



4
有限词是否存在不确定的有限语言?
是否有必要为是无限是不可判定?L⊆Σ∗L⊆Σ∗L\subseteq \Sigma^* 我的意思是,如果我们选择一种语言作为有限有限版本,即,(),而。是否有可能为是一个不可判定的语言? 大号⊆ Σ * | L ' | ≤ Ñ Ñ ∈ Ñ 大号' ⊂ 大号大号'L′L′L' L⊆Σ∗L⊆Σ∗L\subseteq \Sigma^*|L′|≤N|L′|≤N|L'|\leq NN∈NN∈NN \in \mathbb{N}L′⊂LL′⊂LL' \subset LL′L′L' 我看到有一个问题,“如何选择词 L””为此,我们必须建立一个规则选择这将是第一ñ元素L' ,是一种‘有限的’克林星操作。目的是在不需要无限集的情况下找到不确定性语言,但我看不到它。NNN∈∈\in L′"L′"L' "L 'NNNL′L′L' 编辑注意: 尽管我选择了一个答案,但许多答案和所有评论都很重要。

5
仿射函数值的语言
写为的十进制扩展(不带前导)。令和为整数,其中。考虑的倍数的扩张小数的语言加上一个常数:n¯n¯\bar nnnn0aaabbba>0a>0a > 0aaa M={ax+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈N}M={ax+b¯∣x∈N}M = \{ \overline{a\,x+b} \mid x\in\mathbb{N} \} 是正常吗?上下文无关?MMM (与仿射函数图的语言对比) 我认为这将是一个不错的家庭作业问题,因此从一两个提示开始的答案不仅说明了如何解决问题,而且还解释了如何决定使用哪种技术。

5
给定一组有限的有限字符串,是否存在已知的构造语法的方法?
从我的阅读看来,大多数语法都与生成无限数量的字符串有关。如果您采用其他方法怎么办? 如果给定n个长度为m的字符串,那么应该有可能生成一个将生成这些字符串以及仅这些字符串的语法。 有已知的方法吗?理想情况下,我可以研究一种技术名称。或者,我将如何进行文献搜索以找到这种方法?

3
正则表达式可以是无限的吗?
我知道可以使用正则表达式定义的语言和DFA / NFA(有限自动机)可以识别的语言是等效的。同样,语言也不存在DFA 。但是仍然可以使用正则表达式(就此而言,任何非正则语言都可以)来编写。但是我们知道,每一种具有正则表达式的语言都具有可以识别该正则表达式的DFA(与我之前的声明相矛盾)。我知道这是一件微不足道的事情,但是正则表达式的定义是否包含它应该是有限的条件?{ ε } ∪ { 01 } ∪ { 0011 } 。。。。。。{ 0ñ1个ñ| Ñ≥0}{0n1n|n≥0}\{0^n1^n|n \ge 0\}{ ε } ∪ { 01 } ∪ { 0011 } 。。。。。。{ϵ}∪{01}∪{0011}.....。\{ \epsilon \} \cup \{01\} \cup \{0011\}......


1
ws如何与| w | = | s | 和w≠s是上下文无关的,而w#s不是?
为什么(如果这样),分隔符##\#会在两种语言之间产生差异? 说: L = { w s :| w | = | s |瓦特,š ∈ { 0 ,1 }∗,w ≠ s }L={ws:|w|=|s|w,s∈{0,1}∗,w≠s}L=\{ws : |w|=|s|\, w,s\in \{0,1\}^{*}, w \neq s \} 大号#= { w #s :| w | = | s |瓦特,š ∈ { 0 ,1 }∗,w ≠ s }L#={w#s:|w|=|s|w,s∈{0,1}∗,w≠s}L_{\#}=\{w\#s : …

1
允许无限数量的规则的CFG有多强大?
我最近想知道如果我们允许无上下文语法具有无限数量的规则会发生什么。显然,如果我们允许任意这样的无限规则集,则某个字母每种语言都可以用CFG其中。但是,如果我们将限制为可以由上下文无关文法创建的规则集呢?LLLΣΣ\SigmaG=({S},Σ,R,S)G=({S},Σ,R,S)G = (\{S\},\Sigma,R,S)R={S→w∣w∈L}R={S→w∣w∈L}R = \{S \rightarrow w \mid w \in L \}RRR 为此,给定一组非终结符和终结符,让我们将规则不视为元素,而是视为字母字符串。现在我的问题是,如果我们将无限规则CFG定义为元组,其中NNNΣΣ\SigmaN×(N∪Σ)∗N×(N∪Σ)∗N \times (N\cup \Sigma )^*R(N,Σ)=N∪Σ∪{→}R(N,Σ)=N∪Σ∪{→}R_{(N,\Sigma)} = N \cup \Sigma \cup \{\rightarrow\}G=(N,Σ,R,S)G=(N,Σ,R,S)G = (N, \Sigma, R, S) NNN是非终结点的有限集 ΣΣ\Sigma是一个有限字母 RRR是格式为一组规则,其中,,使得在上存在一些CFGA→wA→wA \rightarrow wA∈NA∈NA \in Nw∈(N∪Σ)∗w∈(N∪Σ)∗w \in (N \cup \Sigma)^*G′G′G'R(N,Σ)R(N,Σ)R_{(N,\Sigma)}R=L(G′)R=L(G′)R = L(G') S∈NS∈NS \in N是初始非终结点 我们为这种无限规则CFG 定义了,就像对CFG所做的那样,无限规则CFG生成的语言类别(让我们称之为),上下文无关语言的类别之间是什么关系?和类?L(G)L(G)L(G)irCFirCFirCFCFCFCFRERERE 显然,我们有,但是等效于这些类之一(或其他一些类)?CF⊆irCF⊆RECF⊆irCF⊆RECF \subseteq irCF \subseteq …

3
为什么状态在while循环的小步操作语义中保持不变?
通常,我看到在while循环的结构化操作语义表示中,程序状态没有改变: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) 对我来说,这不直观,如果状态没有改变(即内存状态保持不变),则将继续保持为真,并且程序将永远不会终止。B乙B 谁能解释为什么州在这条规则上没有改变?

2
一字长的一元语言的规则性为两个或两个。三个正方形
我考虑一元语言,其中是所有单词的集合,其长度是平方的总和。形式上: 很容易证明是不规则的(例如,使用Pumping-Lemma)。 此外,我们知道每个自然数都是四个平方的和,这意味着对于所有语言都是规则的,因为。大号ķ ķ 大号ķ = { 一个Ñ | Ñ = ķ Σ我= 1 Ñ 我 2,LkLkL_kLkLkL_kkkk大号1 = { 一个Ñ 2 | Ñ ∈ Ñ 0 } ķ ≥ 4 大号ķ 大号ķ = 大号(一*)Lk={an∣n=∑i=1kni2,ni∈N0(1≤i≤k)}Lk={an∣n=∑i=1kni2,ni∈N0(1≤i≤k)}L_k=\{a^n\mid n=\sum_{i=1}^k {n_i}^2,\;\;n_i\in\mathbb{N_0}\;(1\le i\le k)\} L1={an2∣n∈N0}L1={an2∣n∈N0}L_1=\{a^{n^2}\mid n\in\mathbb{N_0}\}k≥4k≥4k\ge 4LkLkL_kLk=L(a∗)Lk=L(a∗)L_k=L(a^*) 现在,我对和的情况感兴趣:k = 3k=2k=2k=2k=3k=3k=3 L2={an12+n22∣n1,n2∈N0}L2={an12+n22∣n1,n2∈N0}L_2=\{a^{{n_1}^2+{n_2}^2}\mid n_1,n_2\in\mathbb{N_0}\},。L3={an12+n22+n32∣n1,n2,n3∈N0}L3={an12+n22+n32∣n1,n2,n3∈N0}L_3=\{a^{{n_1}^2+{n_2}^2+{n_3}^2}\mid n_1,n_2,n_3\in\mathbb{N_0}\} 不幸的是,我无法显示这种语言是否正常(即使借助勒让德的三平方定理或费马定理的两个平方之和)。 我很确定至少不是规则的,但不幸的是这并不是证明。有什么帮助吗?L2L2L_2

1
形式语言之间适当的同构是什么?
一个正式的语言 过字母表的一个子集,即,一组在该字母的单词。如果对应的集合作为子集在扩展上相等,则两种形式语言和相等。可以在复杂性理论中使用语言来形式化“问题”的概念。有人可能会抱怨说,“一般”的延伸平等是无法决定的,但我认为这会被误导。Σ Σ *大号大号'大号∪ 大号“大号LLΣΣ\SigmaΣ∗Σ∗\Sigma^*大号LLL′L′L'L∪L′L∪L′L\cup L' 自一段时间以来,我一直在思考以下问题:两种语言和对于字母和(其中,,和大号' Σ = { 一个,b } Σ ' = { Ç ,d } 一个b ç d 甲⊥LLLL′L′L'Σ={a,b}Σ={a,b}\Sigma=\{a,b\}Σ′={c,d}Σ′={c,d}\Sigma'=\{c,d\}aaabbbcccddd是不同的字母),即使它们“完全”描述相同的“问题”,也永远不可能相等。但是,如果它们确实“完全”描述相同的“问题”,则它们应该是同构的。我想知道适合同构理论的同构可能概念。我最初以为像有限状态机这样的计算能力较弱的“转换器”可以用来定义允许的同构,但是对于等效逻辑公式之间的琐碎句法翻译,这似乎已经崩溃了。(例如,请参阅此表,其中包含线性逻辑中对偶 的语法定义A⊥A⊥A^\bot。) 今天,我有以下想法:与某个“决策问题”相对应的语言定义通常包含两个部分:(1)将允许的问题实例编码为有限的符号字符串,以及(2)对“属于该语言的“已接受”问题实例。如果检查给定的有限符号串是否是允许的问题实例的编码,则在计算上要比有限状态机强,那么该强机也应用于定义允许的同构。 问题:这种推理方式是否有可能“解决”我的问题?我的问题是否已经解决,所以我只需要阅读正确的参考资料?我的问题本身是否有意义,还是像抱怨扩展性的不确定性一样被误导了? 编辑(尚未给出答案)我注意到“(1)将允许的问题实例编码为有限的符号字符串”已经包含了标准化输入的(隐藏)假设。如果没有这种假设,则两个不同的有限字符串可能对应于同一问题实例。代替检查给定的有限字符串是否有效,该检查可能会产生规范化的输入(并将无效的字符串映射到特殊的字符串)。 该设置的优点在于,进行检查/归一化的机器已经配备了将有限字符串转换为其他有限字符串的装置。用于此任务的允许的机器(复杂度等级)可以是问题定义的一部分,(同构)同态将使用同一台机器(复杂度等级)。(根据拉斐尔的评论提出的“多时多一减法”的建议,的确是出现问题的一种可能性。)PP\mathsf{P} 缺点是这种规范方式可能仅适用于确定性机器。非确定性机器可能需要更灵活的方式来指定/确定两个输入字符串是否对应于同一问题实例。


1
具有不同初始状态/接受状态的两个DFA接受的语言之间的差异?
最近,我问了一个关于Math SE 的问题。暂无回应。该问题与该问题有关,但涉及计算机科学的更多技术细节。 给定两个DFA和,其中状态集,输入字母以及和是相同的,初始状态和最终(接受)状态可以不同。令和分别为和接受的语言。B = (Q ,Σ ,δ ,q 2,F 2)A B L 1 L 2 A BA=(Q,Σ,δ,q1,F1)A=(Q,Σ,δ,q1,F1)A = (Q, \Sigma, \delta, q_1, F_1)B=(Q,Σ,δ,q2,F2)B=(Q,Σ,δ,q2,F2)B = (Q, \Sigma, \delta, q_2, F_2)AAABBBL1L1L_1L2L2L_2AAABBB 有四种情况: q1=q2q1=q2q_1 = q_2和。F1=F2F1=F2F_1 = F_2 q1≠q2q1≠q2q_1 \neq q_2和。F1=F2F1=F2F_1 = F_2 q1=q2q1=q2q_1 = q_2和。F1≠F2F1≠F2F_1 \neq F_2 q1≠q2q1≠q2q_1 \neq q_2和。F1≠F2F1≠F2F_1 \neq …

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.