Докажи язык нерегулярным с прокачкой леммы
Я пытаюсь доказать, что следующий язык не является регулярным, используя лемму прокачки
L= { a^i b^j | я ^2 > J}
Любые советы по этому поводу? Я полностью застрял.
Благодарю.
3 ответа
Лемма прокачки гласит: Если язык A регулярный =>, существует число p (длина прокачки), где, если s - любая строка в L такая, что |s| >= p, то s можно разделить на три части: s=xyz, удовлетворяя следующему условию:
- xy i z находится в L для каждого i>=0
- | У |>=0
- р>=| х |
Правильный способ показать, что определенный язык L не является регулярным, состоит в том, чтобы предположить, что L является регулярным, и попытаться достичь противоречия.
Попробуем показать, что L = {0 n 1 n } | n> = 0} не является регулярным. Мы начинаем предполагать, что L регулярно.
Вы можете думать о такой демонстрации как об игре:
Претендент: он выбирает длину прокачки р. Вы не можете делать какие-либо предположения об этом.
Вы: Теперь ваша очередь: выберите "вид" строки, которая представляет неправильность языка.
Допустим, строка имеет вид 0 p 1 p.
Хороший совет на этом этапе - попытаться ограничить противника следующим ходом.
Претендент: он представляет вам строку s в форме 0 p 1 p.
Вы: пришло время прокачать! Если вы правильно выбрали форму строки в предыдущем шаге, вы можете сделать некоторые предположения.
В нашем случае, например, мы знаем, что подстрока y состоит только из 0s (по крайней мере, один 0, потому что |y|>0), потому что |xy|<=p и первые p-элементы равны 0s.
Теперь покажем, что он существует i>=0 таким, что xy i z не принадлежит L. Например, для i=2 строка xyyz имеет больше 0s, чем 1s, и поэтому не является членом L. Этот случай противоречит. => L не является регулярным.
Никогда не забывайте демонстрировать, почему накачанная колонна не может быть членом L.
Если у вас есть какие-либо сомнения, не стесняйтесь спрашивать:)
Приветствия.
Допустим, вы выбрали строку:
а ^ 2b ^ 5
aabbbbb. Который на языке.
Теперь ваш противник может выбрать XYZ.
Их варианты: 1.) X(пусто) Y (некоторые a's) 2.) X(некоторые a's) Y (некоторые a's и некоторые b's) 3.) X(некоторые a's) Y (некоторые a's)
Основываясь на их возможном выборе, вы накачиваете Y, используя Y^i, где i - произвольное число по вашему выбору.
Скажи, что они выбирают 1.)
Х (-) Y (а)Z(abbbbb)
Если вы "накачаете" Y^i, выбрав i = 0. Новая строка становится abbbbb. Которого нет в языке.
Повторите это для каждого возможного выбора оппонента. Если вы можете накачать Y так, чтобы получилась строка, которая не на языке L, то вам удалось доказать, что язык не является регулярным.
На вышеприведенный ответ:"Лемма прокачки гласит: Если язык A регулярный =>, существует число p (длина прокачки), где, если s - любая строка из L такая, что | s |> = p, то s может быть разделить на три части s = xyz, удовлетворяя следующему условию:"
Вы имеете в виду "Если язык L регулярный"
Кроме того, три условия
1. xy^iz находится в L для каждого i> = 0
2. | y |> = 0
3. p> = | xy |
Второе должно быть просто |y| > 0 не> =