Questions tagged «formal-languages»

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

1
以下转换是否保留上下文无关性?
我遇到了涉及操纵上下文无关语言的问题。令为上下文无关的语言。限定大号# = { X :X 我 ∈ 大号每我= 0 ,1 ,2 ,。。。}。是大号#总是上下文? 我的猜测是它将保留上下文无关性。谁能提供这个的基本证明?大号LL大号#= { x :x一世∈ 大号L#={x:xi∈LL^{\#} = \{ x : x^i \in L我= 0 ,1 ,2 ,。。。}i=0,1,2,...}i=0,1,2,...\}大号#L#L^{\#}

3
是正常吗?
几周前,我参加了计算机考试理论考试,这是一个问题: 假设语言L = { (añb米)[R| Ñ ,米,- [R ≥ 0 }大号={(一个ñb米)[R∣ñ,米,[R≥0}L=\{(a^nb^m)^r \mid n,m,r\ge 0\} L是正规的吗?如果是,请为其提供正则表达式或自动机。 在考试后我简短地问了他答案之后,看来它确实是正规的(我相信他说的表达很简单)。但是我似乎无法理解为什么。我看到它的方式,它串联 [R倍,像这样:(一个∗b∗)∗(一个∗b∗)∗(a^*b^*)^*一个ñb米一个ñb米a^nb^m 一个ñb米一个ñb米一个ñb米。。。一个ñb米一个ñb米一个ñb米一个ñb米一个ñb米。。。一个ñb米一个ñb米a^nb^ma^nb^ma^nb^m...a^nb^ma^nb^m, 这是不规则的,因为自动机无法每次都调用n和m。我在哪里错? 编辑:我再次与教授交谈,他承认这是一个错误。该语言的确不正常。

1
算术表达式语法转换
在Theodore Norvell(1999)的文章“ 递归下降解析表达式”中,作者从算术表达式的以下语法入手: E --> E "+" E | E "-" E | "-" E | E "*" E | E "/" E | E "^" E | "(" E ")" | v 这很糟糕,因为它是模棱两可的并且是左递归的。因此,他从移除左递归开始,其结果如下: E --> P {B P} P --> v | "(" E ")" | U P B …


1
证明不能(共同)递归枚举
我想在以下问题上使用您的帮助: L={⟨M⟩∣L(M) is context-free}L={⟨M⟩∣L(M) is context-free}L=\{⟨M⟩ ∣ L(M) \mbox{ is context-free} \}。证明。L∉RE∪CoREL∉RE∪CoREL \notin RE \cup CoRE 我知道证明足以找到一种语言使得并显示从到的缩减量。L∉REL∉REL\notin REL′L′L'L′∉REL′∉REL'\notin REL′L′L'LLL (L′≤ML)(L′≤ML)(L'\leq _M L) 我开始考虑那些我已经知道它们不在,并且我知道。我想到了从减少到:。对于每:如果暂停对每个输入 否则会使,但这是不正确的,是不是?如何检查每个输入的暂停?并且-这是做到这一点的方法吗?REREREHalt∗={⟨M⟩∣M halts for every input}∉REHalt∗={⟨M⟩∣M halts for every input}∉REHalt^* =\{⟨M⟩ ∣ M\mbox{ halts for every input} \} \notin REHalt∗Halt∗Halt^*LLLf(⟨M⟩)=(M′)f(⟨M⟩)=(M′)f(⟨M⟩)=(M')⟨M⟩⟨M⟩⟨M⟩MMML(M′)=0n1nL(M′)=0n1nL(M')=0^n1^non1n0non1n0no^n1^n0^nMMM

3
如果是上下文无关的并且是规则的,那么是上下文无关的吗?
我无法解决下一个练习: 认为如果LLL是上下文无关的并且RRR是规则的,则L/R={w∣∃x∈Rs.twx∈L}L/R={w∣∃x∈Rs.twx∈L}L / R = \{ w \mid \exists x \in R \;\text{s.t}\; wx \in L\} (即右商)与上下文无关。 我知道应该存在一个接受L的PDA LLL和接受R的DFA RRR。我现在正在尝试将这些自动机结合到接受正确商数的PDA上。如果可以证明我证明了L/RL/RL/R是无上下文关系的。但是我一直在建造这款PDA。 这是我取得的成就: 在组合的PDA中,状态是单独的自动机状态的笛卡尔积。边缘是DFA的边缘,但是只有将来可以达到L原始PDA最终状态的边缘。但是不知道如何正式写下来。

4
左右联想乘积相同的词
我已经开始使用Hopcroft和Ullman的书研究非确定性自动机。我陷入了一个非常有趣的问题: 给出一个不确定的有限自动机,该自动机接受根据下表乘以从左到右从右到左从左到右求值的所有具有相同值的字符串: ×abcaacbbaacccba×abcaaacbcabcbca\qquad \displaystyle\begin{array}{c|ccc} \times & a & b & c \\ \hline a & a & a & c \\ b & c & a & b \\ c & b & c &a \end{array} 因此,如果我们有字符串, 则从左至右的乘积为(a × b )× c = a × c = c, 而从右至左的乘积为a × …
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.