2016-02-27 7 views
1

Если я позволяю строка w быть a^mb^m то мы знаем, что y будет состоять только из a-х из-за правилами |xy| <= m.Показать, что L = {WW^R: W ∈ Σ *} не является регулярным использованием Насосной Лемма

И если я установил i=0, то ww^R будет иметь меньше a с левой стороны, чем с правой стороны. Таким образом, это доказывает, что этот язык не является регулярным.

Однако мой текст книги (Введение формальных языков и автоматных стр. 118 по Linz) говорит, что если бы мне пришлось выбирать w = a^2m и пусть y = aa, то я бы неудачу.

Но как это сделать?

На мой взгляд, независимо от того, что x, y, z, тем первый a^2m будет меньше a «с или больше, в зависимости от того, что i является чем второй a^2m.

+0

Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит к math.stackexchange.com или http://cs.stackexchange.com/ – timgeb

+0

@timgeb, он, безусловно, не принадлежит к математическому обмену. Вы можете спорить о CS, но не математике IMHO. Речь идет о формальных языках. – ChiefTwoPencils

+0

@ChiefTwoPencils И что? Это все еще математическое доказательство, о котором мы говорим здесь. Линия между теоретической вычислительной техникой и математикой очень размыта. Вы действительно хотите поместить его на http://linguistics.stackexchange.com/? – timgeb

ответ

0

Причина, по которой у вас есть ровный скаляр на m. Так как строки в L - это просто обратная строка, добавленная к себе, четное число a 's всегда будет находиться в L.

Для любого м> = 1 у вас есть аа аа [...]. Итак, когда ваш оппонент выбирает y = aa, они заставляют вас вводить строку, которая находится в L в w (i). Независимо от того, сколько раз, если вообще, это закачивается вы в конечном итоге с: (аа)^к: к = насосы, который является строкой в ​​L

Я думаю, что это плохой выбор для использования только a. Наличие двух символов алфавита обычно облегчает победу. Поскольку книга продолжает говорить, вы не можете предположить, что ее легко опередить; любые попытки автоматически недействительны.

+0

Пусть k = 0 и m = 3. Тогда это aaaaaa aaaaaa. Я устанавливаю x = a, y = aa в первые 6 a, а z - остальные. Если я закачу y 0 раз. Строка становится aaaa aaaaaa. Который не равен ww^R. Первый w имеет 2 меньше. Я делаю что-то неправильно? –

+0

@ M.Kim, я думаю, ваша проблема может быть, кто выбирает что. См. (3) в примере 4.7 на 117. Оппонент выбирает * m * и разложение * xyz *. Вы выбираете * w *, прежде чем я выберу decomp. Кроме того, да, у нас было и тотальное количество, и у них было четное число.У нас все еще есть четное число. Мы не говорим о «сторонах»; нас интересует строка, находящаяся в * L * или нет. – ChiefTwoPencils

+0

@ M.Kim, поэтому использование (a^m) (b^m) настолько просто. (a^m) (b^m) (b^m) (a^m) * можно рассматривать как «стороны», так как мы разрешаем им иметь дело с a с одной стороны (стороны разделены по б). Итак, если я добавлю или удалю любое a, это не даст предположения, потому что я не могу компенсировать это на другом конце (я бы (a^(mk)) (b^2m) (a^m): (m - k) ChiefTwoPencils