Questions tagged «formal-languages»

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

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

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

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

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^+ \} 我可以画一个不确定的有限自动机来证明这一点吗?

2
确定最小堆(或其他奇异)状态机的功能
有关最小堆自动机的定义的一些说明,请参见文章末尾。 可以想象使用各种数据结构来存储供状态机使用的信息。例如,下推式自动机将信息存储在堆栈中,而图灵机使用磁带。已经证明,使用队列的状态机以及使用两个多个堆栈或磁带的状态机在功率上与图灵机相同。 想象一下一个最小堆机器。它的工作原理完全类似于下推式自动机,但以下情况除外: 不必查看添加到堆中的最后一件事,而只需查看堆中当前的最小元素(按机器定义顺序)。 不必删除当前添加到堆中的最后一个东西,而仅删除当前堆中最小的元素之一(按机器定义顺序)。 只能将元素的位置根据堆中的其他元素确定(以在每台计算机上定义的顺序),而不是在堆顶部添加元素。 只需不使用堆,该机器就可以接受所有常规语言。它也可以接受的语言通过加入一个 “S到堆,并除去一个 ”从堆S.当它读取b的。它可以接受多种其他无上下文语言。但是,它不能接受,例如,{ w ^ ∈ { 一,b } * | w ^ = w ^ [R }{anbn∈{a,b}∗∣n≥0}{anbn∈{a,b}∗∣n≥0}\displaystyle \{a^{n}b^{n} \in \{a, b\}^{*} \mid n \ge 0\}aaaaaabbb{w∈{a,b}∗∣w=wR}{w∈{a,b}∗∣w=wR}\displaystyle \{w \in \{a, b\}^{*} \mid w = w^{R}\}(未经证明陈述)。编辑:还是可以?我不认为这可以,但是我以前很惊讶,而且我敢肯定,当我的假设使我变得...很好时,我会一直感到惊讶。 它可以接受任何上下文相关或图灵完备的语言吗? 更一般而言,朝着这个方向进行了哪些研究(如果有的话)?有什么结果(如果有)?我还对其他种类的奇异状态机感兴趣,可能是那些使用其他数据结构进行存储或各种访问限制(例如,如何限制LBA的TM)的机器。参考被赞赏。如果这个问题表明无知,我先向您道歉。 正式定义: 我在这里提供了最小堆自动机的一些更详细的定义,以阐明参考该材料的问题中的进一步讨论。 我们将类型1不确定的最小堆自动机定义为7元组,其中...(Q,q0,A,Σ,Γ,Z0,δ)(Q,q0,A,Σ,Γ,Z0,δ)(Q, q_0, A, \Sigma, \Gamma, Z_0, …



2
是否有天生的模棱两可和确定性的上下文无关语言?
当且仅当确定性下推式自动机可以接受上下文无关的语言时,我们才将其称为确定性语言,否则将其称为不确定性。 当且仅当生成该语言的所有无上下文语法都模棱两可,否则,我们才将上下文无关的语言固有地称为歧义。 确定性,明确语言的示例是以下语言: 一种不确定的,明确的语言的示例是以下语言: { 瓦特∈ { 一个,b } * | w = w R }{ añbñ∈ { a ,b }∗| Ñ≥0}{一种ñbñ∈{一种,b}∗|ñ≥0}\{a^{n}b^{n} \in \{a, b\}^{*} | n \ge 0\}{ 瓦特∈ { 一个,b }∗| w= w[R}{w∈{一种,b}∗|w=w[R}\{w \in \{a, b\}^{*} | w = w^{R}\} 在Wikipedia中,固有的模棱两可的上下文无关语言的一个示例是以下上下文无关语言的联合,它们也必须是上下文无关的: L = { añb米C米dñ∈ { a ,b …

9
上下文相关(类型1)语言的重要性是什么?
看到在乔姆斯基层次结构中,类型3语言可以由没有外部存储器的状态机(即有限自动机)识别,类型2由具有单个堆栈的状态机(即下推自动机)识别,类型0可以通过类型识别。一个具有两个堆栈的状态机(或者等效地,一个磁带,就像图灵机的情况一样),类型1的语言如何适合这张图片?而且,确定一种语言不仅是Type 0还是Type 1会带来什么优势?

2
为什么将常规语言称为“常规”?
我刚刚完成了第一章介绍计算理论由迈克尔·西蓬瑟这也解释了有限自动机的基本知识。 他将常规语言定义为可以由有限自动机描述的任何事物。但是我找不到他解释为什么普通语言称为“普通语言”的地方。在这种情况下,“常规”一词的起源是什么? 注意:我是新手,所以请尝试用简单的术语进行解释!

2
为什么C的void类型不同于Empty / Bottom类型?
维基百科以及我发现的其他来源都将C的void类型列为单位类型,而不是空类型。我觉得这很混乱,因为在我看来,它void更适合于空/底类型的定义。 void据我所知,没有价值观存在。 返回类型为void的函数指定该函数不返回任何内容,因此只能执行某些副作用。 类型的指针void*是所有其他指针类型的子类型。同样,void*在C中进行来回转换是隐式的。 我不确定最后一点是否可以作为void空类型的参数,void*或多或少是与无关的特例void。 另一方面,void它本身不是所有其他类型的子类型,据我所知,这是将类型作为底部类型的要求。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

1
给定长度的常规语言中单词数量的渐近性
对于常规语言,令为长度为中的单词。使用约旦规范形式(应用于的某些DFA的无注释转换矩阵),可以证明对于足够大的, 其中是复数多项式,是复数“特征值”。(对于小,我们可能具有形式的附加项,其中如果且为且Ç Ñ(大号)大号ñ 大号Ñ Ç Ñ(大号)= ķ Σ我= 1个 P 我(Ñ )λ Ñ 我,P 我λ 我 Ñ Ç ķ [ Ñ = ķ ] [ Ñ = ķ ] 1 ñ = ķ 0大号LLCñ(大号)cn(L)c_n(L)大号LLñnn大号LLñnnCñ(L )= ∑我= 1ķP一世(n )λñ一世,cn(L)=∑i=1kPi(n)λin, c_n(L) = \sum_{i=1}^k P_i(n) \lambda_i^n, P一世PiP_iλ一世λi\lambda_iñnnCķ[ n = k ]Ck[n=k]C_k[n=k][ n = …

6
从一组对中生成组合而无需重复元素
我有一对。每对都具有(x,y)的形式,使得x,y属于范围内的整数[0,n)。 因此,如果n为4,那么我有以下几对: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) 我已经有一对了。现在,我必须使用n/2对构建一个组合,这样就不会重复任何整数(换句话说,每个整数在最终组合中至少出现一次)。以下是正确和不正确组合以更好地理解的示例 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] 一旦我有了配对,有人可以建议我一种生成所有可能组合的方法。

3
汉明距离等于或大于2的等长单词对的语言是否与上下文无关?
以下语言上下文是否免费? L={uxvy∣u,v,x,y∈{0,1}+,|u|=|v|,u≠v,|x|=|y|,x≠y}L={uxvy∣u,v,x,y∈{0,1}+,|u|=|v|,u≠v,|x|=|y|,x≠y}L = \{ uxvy \mid u,v,x,y \in \{ 0,1 \}^+, |u| = |v|, u \neq v, |x| = |y|, x \neq y\} 如sdcvvc所指出的,该语言中的单词也可以描述为汉明距离为2或更大的两个相同长度单词的串联。 我认为它不是上下文无关的,但是我很难证明这一点。我尝试将此语言与常规语言(例如)相交, 然后使用抽引引理和\或同态性,但是我总是得到一种过于复杂的语言,难以描述和编写下。 0∗1∗0∗1∗ 0∗1∗0∗1∗ \ 0^*1^*0^*1^*

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.