L = {wxw ^ R | w,x属于{a,b} ^ +}是常规语言

时间:2016-04-28 05:43:03

标签: regular-language finite-automata automata

L = {WXW ^ R | w,x属于{a,b} ^ +}是常规语言。在书中,他们通过将其转换为正则表达式 a(a + b)^ + a + b(a + b)^ + b 来使其成为常规,这显然是一个以相同的开头和结尾的表达式现在通过这样做的符号 w = ab x = a wr = ba 将被接受,并且wxwr将生成的每个字符串都将被接受但是不在wxwr中的字符串也将被接受,如w = abb x = ab wr = bbaaaaaa也将被接受。当我们无法构建有限自动机时,世界如何成为常规语言?非常困惑

1 个答案:

答案 0 :(得分:1)

  

但也不接受wxwr中的字符串,如w = abb x = ab wr = bbaaaaaa也将被接受。

正则表达式a(a+b)^+a + b(a+b)^+b接受字符串wxw^r = (abb)(ab)(bbaaaaaa),因为它可以解释为字符串wxw^r = (a)(bbabbbaaaaa)(a)。该语言未指定如何在wxw^r之间拆分符号以强制ww^r被撤销。对于你提出的解析,我们不满足这个条件,但我的确如此。正则表达式起作用的原因是,只要单词以相同的符号开头和结尾,我们总是可以将w作为第一个符号,w^r作为最后一个符号x成为其他一切。该选项对我们开放,我们每次都可以自由选择。

我们绝对可以为正则表达式制作DFA。 NFA特别容易制作。

相关问题