一类特殊的语言:“循环”语言。知道吗


20

在有限字母Sigma上定义以下“循环”语言类。实际上,该名称已经存在,用来表示看起来似乎与DNA计算领域不同的事物。AFAICT,这是另一种语言。

语言L是所有的话圆形IFF在,我们有:Σ *wΣ∗

k > 0 w kw属于L如果且仅当对于所有整数,属于L.k>0wk

这类语言是否已知?我对常规的循环语言感兴趣,尤其是:

  • 他们的名字,如果他们已经知道

  • 在自动机(尤其是DFA)的情况下,问题的可判定性是否接受的语言是否符合上述定义


1
这是一个非常有趣的问题。两个相关的问题:1)如果我们有常规语言L和相关的DFA,是否可以使其成为圆形?2)给定任何语言L,circ(L)是正规的还是具有一些不错的属性?
— Suresh Venkat

ps也许这很明显,但是为什么您认为循环语言是常规语言的子类呢?
— Suresh Venkat

3
@Suresh,我认为他正在将一种语言定义为循环语言,前提是a)常规;b)中满足一个封闭性∀w∈L,n∈N:wn∈L。
— 彼得·泰勒


1
也许不应该发表感激之情,但这是我的第一个问题,我非常感谢评论,回答和讨论的质量。谢谢。
— vincenzoml

Answers:


19

在第一部分中,我们展示了确定圆度的指数算法。在第二部分中,我们表明此问题是coNP难题。在第三部分中,我们显示每种循环语言都是形式为的语言的并集(此处r可以是空的正则表达式);工会不一定是脱节的。在第四部分中,我们展示了一种循环语言,它不能被写成不相交的和∑ r + i。r+r∑ri+

编辑:结合马克的评论进行了一些更正。特别是,我早些时候声称圆度是coNP完全或NP硬的。

编辑:将范式从修正为∑ r + i。展示了一种“本来就模棱两可”的语言。∑ri∗∑ri+


继续彼得·泰勒的评论,这是在给定其DFA的情况下,如何(极其低效地)决定一种语言是否为圆形的方法。构造一个状态为旧状态的元组的新DFA 。此新DFA 并行运行n个旧DFA副本。nn

如果语言不是循环语言,那么会有一个单词,如果我们从初始状态s 0开始反复通过DFA运行它,那么我们将得到状态s 1,… ,s n,使得s 1可以接受,但是一个另一个不接受(如果它们全部都接受,则序列s 0,… ,s n必须循环以便w ∗始终是该语言)。换句话说,我们有一条从s 0,… ,s n的路径ws0s1,…,sns1s0,…,snw∗到 s 1,…, s n其中 s 1接受,但另一个不接受。相反,如果该语言是圆形的,则不可能发生这种情况。s0,…,sn−1s1,…,sns1

因此,我们已将问题简化为简单的定向可达性测试(只需检查所有可能的“坏” 元组)。n


圆度的问题很难解决。假设我们给出了一个3SAT实例,其中包含变量→ x和m子句C 1,… ,C m。我们可以假设n = m(添加虚拟变量)并且n为质数(否则,使用AKS素数测试找到n和2 n之间的质数,并添加虚拟变量和子句)。nx→mC1,…,Cmn=mnn2n

考虑以下语言:“输入的格式不是,其中→ x i是C i的令人满意的赋值”。为此语言构造O (n 2) DFA 很容易。如果该语言不是圆形的,则该语言中会有一个单词w,但该语言中没有包含某些力量。由于仅有的非该语言单词的长度为n 2,因此w必须为长度1或n。如果是长度x→1⋯x→nx→iCiO(n2)wn2w1n,改为考虑 w n(它仍然是语言),以便 w使用语言,而 w n不使用语言。w n不在语言中这一事实意味着 w是令人满意的赋值。1wnwwnwnw

相反,任何令人满意的分配都转化为证明该语言非圆度的单词:令人满意的分配属于该语言,但w n不属于该语言。因此,如果3SAT实例不令人满意,则该语言是循环的。wwn


在这一部分中,我们讨论循环语言的常规形式。考虑到一些DFA的圆形语言。序列Ç = Ç 0,...是实如果C ^ 0 = 小号(初始状态),所有其它状态被接受,和Ç 我 = Ç Ĵ意味着Ç 我+ 1 = c ^ Ĵ + 1。因此,每个实序列最终都是周期性的,并且只有有限的多个实序列(因为DFA具有有限的多个状态)。LC=C0,…C0=sCi=CjCi+1=Cj+1

我们说一个字根据的行为C如果单词从国家采取的DFA 州ç 我+ 1,所有我。所有此类单词E (C )的集合都是规则的(自变量与此答案的第一部分相似)。注意,E (C )是L的子集。cici+1iE(C)E(C)L

给定实数序列,将C k定义为序列C k(t )= C (k t )。序列C k也是实数。由于仅有限地存在许多不同的序列C k,所以作为所有E (C k)的并集的语言D (C )也很规则。CCkCk(t)=C(kt)CkCkD(C)E(Ck)

我们声称具有这样的特性,如果X ,ÿ ∈ d (C ^ )然后X Ý ∈ d (Ç )。实际上,假设X ∈ Ç ķ和ÿ ∈ Ç 升。然后X ÿ ∈ Ç ķ + 升。因此D (C )= D (C )+可以写成rD(C)x,y∈D(C)xy∈D(C)x∈Cky∈Clxy∈Ck+lD(C)=D(C)+用于某些正则表达式 r。r+r

每一个字在语言对应于一些真正的序列Ç,即存在一个真正的序列ç是W¯¯的行为根据。因此,L是所有实序列C上D (C )的并集。因此,每种循环语言都具有∑ r + i形式的表示形式。相反,每种这种语言都是循环的(琐碎的)。wCCwLD(C)C∑ri+


考虑a ,b上所有包含偶数或a或b的偶数(或两者)的单词的循环语言我们证明它不能写成不相交的和∑ r + i;用“脱节”我们的意思是- [R + 我 ∩ [R + Ĵ = ∅。La,bab∑ri+ri+∩rj+=∅

令是r + i的一些DFA的大小,而N > max N i是一些奇数。考虑x = a N b N !。由于X ∈ 大号,X ∈ [R + 我一些我。通过抽引理,我们可以泵的前缀X最多的长度ñ。因此r + i生成z = a N !Niri+N>maxNix=aNbN!x∈Lx∈ri+ixNri+。同样, y = a N !b N由一些 r + j生成,而 r + j也生成 z。请注意,我≠ Ĵ因为 X Ÿ ∉ 大号。因此,表示不能不相交。z=aN!bN!y=aN!bNrj+zi≠jxy∉L


这里似乎存在许多错误。您正在减少UNSAT,而不是SAT,因此说明它对coNP很难。您的(非)会员身份的多项式时间见证是什么?
— Mark Reitblatt 2011年

“因为只有非该语言的单词的长度为 ”,那不是n m吗?n2nm
— 2011年

我不认为它在coNP中“平凡”。至少,对我来说这并不明显。“显而易见的”证书将是该语言中的字符串和一个幂k,以使l k不在该语言中。但是对于我来说,为什么这个单词必须是多项式大小的,这并不是立即显而易见的。也许是我忽略了自动机理论的一个简单事实。lklk
— Mark Reitblatt 2011年

甚至更严重的明显缺陷是,您从可单独满足的每个子句跳到了可满足整个公式。当然,除非我看错了。
— Mark Reitblatt 2011年

我同意不清楚coNP中是否存在圆形性。另一方面,在其余的参数中,我没有发现任何问题(现在,我已经把放进去了)。如果每个子句都由同一分配满足,则3SAT实例将由该分配满足。n=m
— Yuval Filmus

17

以下是一些讨论这些语言的论文:

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。


6

@Dave Clarke,L = a * | b *将是圆形的,但是L *将是(a | b)*。

在判定性方面,一种语言是圆形的,如果有一个大号',使得大号是下的+闭合大号',或者如果它是圆形的语言的一个有限联合。LL′LL′

(我很想用≥重新定义“ circular”来代替您的。这样可以简化很多事情。然后,我们可以将循环语言的特征描述为存在NDFA,其NDFA的起始状态仅是ε-跃迁到接受状态,并且具有到每个接受状态的epsilon转换)。>≥


你是对的。我删除了我不正确的帖子。
— Dave Clarke

关于使用适应性:我认为最小的DFA应该始终具有一个完全正确的接受状态,即开始状态。可能会出现更多的接受状态,但是随后它们需要从ε过渡到起始状态。≥ε
— 拉斐尔

1
@Raphael,再次考虑L = a * | b *。起始状态为唯一接受状态且接受a和b的DFA必须接受(a | b)*。
— 彼得·泰勒

关于可判定性问题,再次:假设您有一个DFA ,其中n 个正在接受个状态。假设它接受一个字瓦特,并且还接受瓦特2,瓦特3,...,瓦特Ñ 一个 + 1。然后对于x > 0接受w x。(证明是信鸽原理的直接应用)。如果有可能显示最小(最小化| w |)反例(w,xnnaww2w3wna+1wxx>0|w|wx)到DFA接受的语言的圆度具有以为函数限制的长度,则可以进行暴力测试。我怀疑| w | < = n + 1,但我尚未证明。n|w|<=n+1
— 彼得·泰勒

继续@Raphael的想法。对于此问题,启动状态=仅接受状态的想法是错误的,但它确实捕获了一些有趣的属性。当M是minDFA时,且仅当L(M)是无前缀语言的Kleene星号时,开始状态才是唯一接受状态。这是我最喜欢的DFA琐事花絮之一,因此我很乐意分享!;)
— mikero 2011年

5

编辑:完整的(简化的)PSPACE完整性证明如下所示。

两次更新。首先,我的其他答案中描述的范式已经出现在Calbrix和Nivat的论文中,标题为有理 langauges的前缀和周期语言ω,但不幸的是无法在线获得。

第二,在DFA为PSPACE完整的情况下,确定一种语言是否为圆形。

PSPACE中的圆度。由于根据Savitch定理的NPSPACE = PSPACE,足以给出用于非圆形度的NPSPACE算法。令为DFA | 问| = n个状态。L (A )的句法半群词的大小最多为n n的事实意味着如果L (A )不是圆形的话,则单词w的长度最多为n n。A=(Q,Σ,δ,q0,F)|Q|=nL(A)nnL(A)wnn使得但瓦特ķ ∉ 大号(甲)对于一些ķ ≤ Ñ。该算法猜测瓦特并计算δ 瓦特(q )= δ (q ,瓦特)为所有q ∈ Q,使用ø (Ñ 登录Ñ )空间(用于计数到Ñ Ñ)。然后,它会验证δ w ^(w∈L(A)wk∉L(A)k≤nwδw(q)=δ(q,w)q∈QO(nlog⁡n)nn但 δ (ķ )瓦特 ∉ ˚F一些 ķ ≤ Ñ。δw(q0)∈Fδw(k)∉Fk≤n

圆度是PSPACE很难的。Kozen在1977年的经典论文《自然证明系统的下界》中指出,给定DFA列表,很难确定PSPACE很难接受它们所接受的语言的交集。我们将此问题简化为循环性。给定二进制DFA ,我们找到素数p∈ [ n ,2 n ]并构造一个接受语言 L (A )= ¯ { 2 w 1 2 w 2的三元DFA AA1,…,Anp∈[n,2n]A (有一些更多的努力,我们可以做出一个二进制为好。)这是不难看出(使用的事实,p为素数),即大号(一)是圆形的,当且仅当路口大号(一1)∩⋯∩大号(甲ñ)是空的。

L(A)={2w12w2⋯2wp:wi∈L(A1+(imodn))}¯.
ApL(A)L(A1)∩⋯∩L(An)

0

每长度的p > 0可以写为X ý 我 ž其中X = Ž = ε,ÿ = 瓦特≠ ε。很明显,| x y | ≤ p和| y | = | w | > 0。因此,由于抽运引理,该语言对于非空输入是常规的。s∈Lp>0xyizx=z=ϵy=w≠ϵ|xy|≤p|y|=|w|>0

对于,该定义成立,因为接受空字符串的NDFA也将接受任意数量的空字符串。w=ϵ

以上语言的并集是语言L,并且由于常规语言在并集下是封闭的,因此,每种循环语言都是规则的。

根据赖斯定理,是不确定的。证明类似于规律性。CIRCULARITY/TM


1
抽奖引理是规则性的必要但不充分的条件。特别地,存在满足泵送条件的非常规语言。此外,赖斯的定理要说的是是不确定的。这并不意味着{ ⟨ d ⟩ | L (D ) 是圆形}不可确定(其中D是DFA,M是TM)!例如,可以确定DFA的空度测试,而不能测试TM的空度测试。{⟨M⟩|L(M) is circular}{⟨D⟩|L(D) is circular}DM
— alpoge

1
这是一种不可计算的循环语言。让,其中[R是一些非可计算语言(例如停止TM的代码)。那么D ∗是圆形的,但显然是不可计算的(可以使用D ∗的预言来确定R)。D={0x1:x∈R}RD∗D∗R
— Yuval Filmus

2
@Peter,你读过这个答案吗?它试图证明任何循环语言(没有规则性的条件)都是规则的。
— Yuval Filmus

1
@Yuval,我的错。@chazisop,抽水引理对于证明语言的非规律性很有用,但对于证明规律性却无济于事。(此外,您的第一句的断言降低到“每长度的p > 0可以写为ÿ 我其中ý ≠ ε ”,这显然是错误的)。s∈Lp>0yiy≠ϵ
— 彼得·泰勒

1
是的,我使用CIRCULARITY / TM来指代此。圆度/ DFA可能是可决定的。
— chazisop 2011年
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.