在有限字母Sigma上定义以下“循环”语言类。实际上,该名称已经存在,用来表示看起来似乎与DNA计算领域不同的事物。AFAICT,这是另一种语言。
语言L是所有的话圆形IFF在,我们有:Σ *
k > 0 w k属于L如果且仅当对于所有整数,属于L.
这类语言是否已知?我对常规的循环语言感兴趣,尤其是:
他们的名字,如果他们已经知道
在自动机(尤其是DFA)的情况下,问题的可判定性是否接受的语言是否符合上述定义
在有限字母Sigma上定义以下“循环”语言类。实际上,该名称已经存在,用来表示看起来似乎与DNA计算领域不同的事物。AFAICT,这是另一种语言。
语言L是所有的话圆形IFF在,我们有:Σ *
k > 0 w k属于L如果且仅当对于所有整数,属于L.
这类语言是否已知?我对常规的循环语言感兴趣,尤其是:
他们的名字,如果他们已经知道
在自动机(尤其是DFA)的情况下,问题的可判定性是否接受的语言是否符合上述定义
Answers:
在第一部分中,我们展示了确定圆度的指数算法。在第二部分中,我们表明此问题是coNP难题。在第三部分中,我们显示每种循环语言都是形式为的语言的并集(此处r可以是空的正则表达式);工会不一定是脱节的。在第四部分中,我们展示了一种循环语言,它不能被写成不相交的和∑ r + i。
编辑:结合马克的评论进行了一些更正。特别是,我早些时候声称圆度是coNP完全或NP硬的。
编辑:将范式从修正为∑ r + i。展示了一种“本来就模棱两可”的语言。
继续彼得·泰勒的评论,这是在给定其DFA的情况下,如何(极其低效地)决定一种语言是否为圆形的方法。构造一个状态为旧状态的元组的新DFA 。此新DFA 并行运行n个旧DFA副本。
如果语言不是循环语言,那么会有一个单词,如果我们从初始状态s 0开始反复通过DFA运行它,那么我们将得到状态s 1,… ,s n,使得s 1可以接受,但是一个另一个不接受(如果它们全部都接受,则序列s 0,… ,s n必须循环以便w ∗始终是该语言)。换句话说,我们有一条从s 0,… ,s n的路径到 s 1,…, s n其中 s 1接受,但另一个不接受。相反,如果该语言是圆形的,则不可能发生这种情况。
因此,我们已将问题简化为简单的定向可达性测试(只需检查所有可能的“坏” 元组)。
圆度的问题很难解决。假设我们给出了一个3SAT实例,其中包含变量→ x和m子句C 1,… ,C m。我们可以假设n = m(添加虚拟变量)并且n为质数(否则,使用AKS素数测试找到n和2 n之间的质数,并添加虚拟变量和子句)。
考虑以下语言:“输入的格式不是,其中→ x i是C i的令人满意的赋值”。为此语言构造O (n 2) DFA 很容易。如果该语言不是圆形的,则该语言中会有一个单词w,但该语言中没有包含某些力量。由于仅有的非该语言单词的长度为n 2,因此w必须为长度1或n。如果是长度,改为考虑 w n(它仍然是语言),以便 w使用语言,而 w n不使用语言。w n不在语言中这一事实意味着 w是令人满意的赋值。
相反,任何令人满意的分配都转化为证明该语言非圆度的单词:令人满意的分配属于该语言,但w n不属于该语言。因此,如果3SAT实例不令人满意,则该语言是循环的。
在这一部分中,我们讨论循环语言的常规形式。考虑到一些DFA的圆形语言。序列Ç = Ç 0,...是实如果C ^ 0 = 小号(初始状态),所有其它状态被接受,和Ç 我 = Ç Ĵ意味着Ç 我+ 1 = c ^ Ĵ + 1。因此,每个实序列最终都是周期性的,并且只有有限的多个实序列(因为DFA具有有限的多个状态)。
我们说一个字根据的行为如果单词从国家采取的DFA 州ç 我+ 1,所有我。所有此类单词E (C )的集合都是规则的(自变量与此答案的第一部分相似)。注意,E (C )是L的子集。
给定实数序列,将C k定义为序列C k(t )= C (k t )。序列C k也是实数。由于仅有限地存在许多不同的序列C k,所以作为所有E (C k)的并集的语言D (C )也很规则。
我们声称具有这样的特性,如果X ,ÿ ∈ d (C ^ )然后X Ý ∈ d (Ç )。实际上,假设X ∈ Ç ķ和ÿ ∈ Ç 升。然后X ÿ ∈ Ç ķ + 升。因此D (C )= D (C )+可以写成r用于某些正则表达式 r。
每一个字在语言对应于一些真正的序列Ç,即存在一个真正的序列ç是W¯¯的行为根据。因此,L是所有实序列C上D (C )的并集。因此,每种循环语言都具有∑ r + i形式的表示形式。相反,每种这种语言都是循环的(琐碎的)。
考虑a ,b上所有包含偶数或a或b的偶数(或两者)的单词的循环语言我们证明它不能写成不相交的和∑ r + i;用“脱节”我们的意思是- [R + 我 ∩ [R + Ĵ = ∅。
令是r + i的一些DFA的大小,而N > max N i是一些奇数。考虑x = a N b N !。由于X ∈ 大号,X ∈ [R + 我一些我。通过抽引理,我们可以泵的前缀X最多的长度ñ。因此r + i生成z = a N !。同样, y = a N !b N由一些 r + j生成,而 r + j也生成 z。请注意,我≠ Ĵ因为 X Ÿ ∉ 大号。因此,表示不能不相交。
以下是一些讨论这些语言的论文:
Thierry Cachat,一字母理性语言的力量,DLT 2001,Springer LNCS#2295(2002),145-154。
S.Hovath,P.Leupold和G.Lischke,《常规语言的根源与力量》,DLT 2002,Springer LNCS#2450(2003),220-230。
H. Bordihn,上下文无关语言的功能的上下文无关性尚不确定,TCS 314(2004),445-449。
@Dave Clarke,L = a * | b *将是圆形的,但是L *将是(a | b)*。
在判定性方面,一种语言是圆形的,如果有一个大号',使得大号是下的+闭合大号',或者如果它是圆形的语言的一个有限联合。
(我很想用≥重新定义“ circular”来代替您的。这样可以简化很多事情。然后,我们可以将循环语言的特征描述为存在NDFA,其NDFA的起始状态仅是ε-跃迁到接受状态,并且具有到每个接受状态的epsilon转换)。
编辑:完整的(简化的)PSPACE完整性证明如下所示。
两次更新。首先,我的其他答案中描述的范式已经出现在Calbrix和Nivat的论文中,标题为有理 langauges的前缀和周期语言,但不幸的是无法在线获得。
第二,在DFA为PSPACE完整的情况下,确定一种语言是否为圆形。
PSPACE中的圆度。由于根据Savitch定理的NPSPACE = PSPACE,足以给出用于非圆形度的NPSPACE算法。令为DFA | 问| = n个状态。L (A )的句法半群词的大小最多为n n的事实意味着如果L (A )不是圆形的话,则单词w的长度最多为n n。使得但瓦特ķ ∉ 大号(甲)对于一些ķ ≤ Ñ。该算法猜测瓦特并计算δ 瓦特(q )= δ (q ,瓦特)为所有q ∈ Q,使用ø (Ñ 登录Ñ )空间(用于计数到Ñ Ñ)。然后,它会验证δ w ^(但 δ (ķ )瓦特 ∉ ˚F一些 ķ ≤ Ñ。
圆度是PSPACE很难的。Kozen在1977年的经典论文《自然证明系统的下界》中指出,给定DFA列表,很难确定PSPACE很难接受它们所接受的语言的交集。我们将此问题简化为循环性。给定二进制DFA ,我们找到素数p∈ [ n ,2 n ]并构造一个接受语言 L (A )= ¯ { 2 w 1 2 w 2的三元DFA A (有一些更多的努力,我们可以做出一个二进制为好。)这是不难看出(使用的事实,p为素数),即大号(一)是圆形的,当且仅当路口大号(一1)∩⋯∩大号(甲ñ)是空的。
每长度的p > 0可以写为X ý 我 ž其中X = Ž = ε,ÿ = 瓦特≠ ε。很明显,| x y | ≤ p和| y | = | w | > 0。因此,由于抽运引理,该语言对于非空输入是常规的。
对于,该定义成立,因为接受空字符串的NDFA也将接受任意数量的空字符串。
以上语言的并集是语言L,并且由于常规语言在并集下是封闭的,因此,每种循环语言都是规则的。
根据赖斯定理,是不确定的。证明类似于规律性。