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


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)中满足一个封闭性wL,nN:wnL
彼得·泰勒


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

Answers:


19

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

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

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


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

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

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


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

考虑以下语言:“输入的格式不是,其中x iC i的令人满意的赋值”。为此语言构造O n 2 DFA 很容易。如果该语言不是圆形的,则该语言中会有一个单词w,但该语言中没有包含某些力量。由于仅有的非该语言单词的长度为n 2,因此w必须为长度1n。如果是长度x1xnxiCiO(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 kt = 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,yD(C)xyD(C)xCkyClxyCk+lD(C)=D(C)+用于某些正则表达式 rr+r

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


考虑a b上所有包含偶数或ab的偶数(或两者)的单词的循环语言我们证明它不能写成不相交的和r + i;用“脱节”我们的意思是- [R + [R + Ĵ = La,babri+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!xLxri+ixNri+。同样, y = a N b N由一些 r + j生成,而 r + j也生成 z。请注意,Ĵ因为 X Ÿ 大号。因此,表示不能不相交。z=aN!bN!y=aN!bNrj+zijxyL


这里似乎存在许多错误。您正在减少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)*。

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

(我很想用重新定义“ 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 |)反例(wxnnaww2w3wna+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 ^wL(A)wkL(A)knwδw(q)=δ(q,w)qQO(nlogn)nn δ ķ 瓦特˚F一些 ķ Ñδw(q0)Fδw(k)Fkn

圆度是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)={2w12w22wp:wiL(A1+(imodn))}¯.
ApL(A)L(A1)L(An)

0

长度的p > 0可以写为X ý ž其中X = Ž = εÿ = 瓦特ε。很明显,| x y | p| y | = | w | > 0。因此,由于抽运引理,该语言对于非空输入是常规的。sLp>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:xR}RDDR
Yuval Filmus

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

1
@Yuval,我的错。@chazisop,抽水引理对于证明语言的非规律性很有用,但对于证明规律性却无济于事。(此外,您的第一句的断言降低到“每长度的p > 0可以写为ÿ 其中ý ε ”,这显然是错误的)。sLp>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.