Характеристика

16

В курсах автоматов стандартным доказательством является то, что для L=Σ и |Σ|2 что не является контекстно-свободным языком.S(L)={ww:wL}

Это также верно , что для любого конечного , S ( L ) конечна (и , следовательно, КЛЛ). Я предполагаю, что L, являющийся бесконечным и регулярным, не "достаточен" для того, чтобы S ( L ) не было КЛЛ. Редактировать : как насчет не CFL L ?LS(L)LS(L)L

Есть ли характеристика того, что у есть SL не являющийся КЛЛ?S(L)

Райан
источник
Если я правильно понимаю, вопрос состоит в том, чтобы решить, учитывая обычный язык , является ли S ( L ) контекстно-свободным или нет. LS(L)
Ж.-Е.
2
1. Можете ли вы рассказать нам больше о том, какую характеристику вы ищете? Вы ищете алгоритм, который, учитывая , решает, является ли S ( L ) контекстно-свободным? Вы ищете некоторые условия на L , достаточные для того, чтобы S ( L ) не зависело от контекста? Какую форму вы хотели бы принять характеристику? 2. Если вы не получили никаких ответов через несколько дней и предпочли бы видеть это на CSTheory.SE, не стесняйтесь пометить его для внимания модератора и попросить перенести его. LS(L)LS(L)
DW
@DW 1. Либо было бы хорошо, но я бы предпочел достаточные условия. 2. Спасибо за совет!
Райан
1
@ Райан просто достаточные условия? Ну, вот пара: (а) L является регулярным и для любого в L , ш = ш R (б) L является CF и для всех п , L П Е п либо пусто или равно Е н . Это определенно не обязательно, хотя. Если вы не получили здесь ответов, пожалуйста, перенесите вопрос в cstheory. Мне действительно интересно узнать о необходимых и достаточных условиях! wLw=wRnLΣnΣn
aelguindy
Бесконечный и регулярный действительно недостаточен для S ( L ), а не CF. Если Σ = { a , b , c } , L = a ∗, то S ( L ) = ( a a ) ∗, что регулярно, поэтому CF. LS(L)Σ={a,b,c},L=aS(L)=(aa)
Чи

Ответы:

2

More of an extended comment with a conjecture, but here is a condition that seems to capture the problem, in the context of regular L for S(L) to be context-free.

Condition In the minimal DFA A for L, any accepting path contains at most one loop.

Exception: two loops are allowed if their labels and the label of the prefix before the first loop all commute, and the suffix after the second loop is empty. For instance aab(aa) is ok.

Recall that two words u and v commute if they are powers of a same word t. We can assume the suffix empty, because it cannot be non-empty and commute with the label of the second loop in a DFA.

Sufficient Assume the condition, you build a PDA for L by treating each accepting pattern xuy of A where u labels a simple loop. We want to accept words of the form xunyxuny. We read x, push a symbol for every occurence of u, read yx, then pop a symbol for every occurence of u, and finally read y.

About the exception, if we are in this case, a basic accepting path is of the form xuyv where u,v are the labels of the loops. We accept words of the form xunyvmxunyvm, but by assumption (x,u,v commute) it is the same as unxyunvmxyvm, which can be done by a PDA: push n times (for occurences of u), read xy, pop n times, push m times (for v), read xy, pop m times.

The final PDA is the union of the PDAs for each pattern.

Necessary (handwaving) If there is a path with two loops, even in the simplest case where you must take one then the other (for instance ab), you must remember how many times each one is taken, but the stack structure prevents you to repeat them in the same order. Notice that the fact that the DFA is minimal is important in the characterization, to avoid using two loops when one could suffice.

For now the necessary part is only a conjecture, and more exceptions could be needed to get the exact condition, I would be interested in counter-examples.

Denis
источник
"and then reading w again, popping a symbol for every loop taken in the second occurence of the word" - but there are infinitely many such w! Unless I'm reading your argument incorrectly.
Ryan
@Ryan the number of "patterns" xuy where u labels a loop is finite, so we can guess which one we are reading.
Denis
I edited to clarified this part.
Denis
The condition looks similar to me to another one I had in mind: S(L) is context free iff there do not exist words u,v,w1,w2, such that w1 and w2 are not prefix of each others and u(w1+w2)vL.
holf
@holf yours does not seem to work for ab
Denis