У меня возникли проблемы при решении/доказательстве этой проблемы. Любые идеи, пожалуйста?Is L = {a^n b^m | n> m} регулярный или нерегулярный язык?
ответ
L = {а п б м | n> m} есть нет правильный язык.
Да, проблемы сложно в первые несколько попытках и заслуживает голоса вверх.
Pumping Lemma Необходимое свойство регулярного языка - инструмент для формального доказательства того, что язык не является правильным языком.
Формальное определение: Pumping lemma for regular languages
Пусть L быть регулярным языком. Тогда существует целое число р ≥ 1, в зависимости только от L таким образом, что каждая строкаш в л длиной, по меньшей мере р (р называется «длиной накачки») может быть написанные в ш = хуг (т.е. ш может быть разделена на три суб-строк), удовлетворяющих следующим условиям:
- | y | ≥ 1
- | xy | ≤ р
- для все я ≥ 0, ху я г ∈ л
Предположим, если вы выбираете строку W = а п b m, где (n + m) ≥ p
и n > m + 1
. Выбор W действителен, но этот выбор Вы не можете показать, что язык не правильный язык. Потому что с этим W
вы всегда по-крайней мере один выбор y=a
прокачивать новые строки на языке, повторяя a
для всех значений i
(при г = 0 и я> 1) ,
Прежде чем написать свое решение для доказательства, язык не является регулярным.Пожалуйста, обратите внимание на следующие пункты и уведомление: я сделал смелые every string w
и all i
в формальном определении леммы о перекачке выше.
- Хотя с некоторыми Sufficiently large W в языке, который вы способны генерировать новую строку в языке, но не для всех! Есть много возможных вариантов для W (ниже в моем доказательстве) с тем, что вы не можете найти любого выбора из у для создания новой строки в языке для всех я> = 0. Так что каждый Sufficiently large W не способен генерировать новую строку в языке, поэтому язык NOT regular.
считывание: what pumping lemma formal definition says
Доказательства использования насосной леммы
Шаг (1): наличие строки Вт = а н б м котором (n + m) ≥ p
и n = m + 1
.
Is this choice of
W
is valid according to pumping lemma?
Да, такое Вт в языке потому, что количество a
= п > количество b
= м. W находится на языке и достаточно большой> = p
.
Step (2): Теперь выбрал y
для создания новой строки для всеi >= 0
.
И нет выбор возможен для y
на этот раз! Зачем?
Первый, это эссе, чтобы понять, что мы не можем иметь b
символ в у, потому что он будет либо генерировать новые строки выхода из шаблона или в результате строки общего числа b
будет более чем общее число a
символов.
Второй, мы не можем выбрать у = некоторые «s, потому что с i=0
вы получите новую строку, в которой число a
с будет менее номером b
s, что не представляется возможным в языке. (запомнить количество a
в W был только еще один, то b
поэтому удаление любого средства в результирующей строке N (а) = N (б), что не является приемлемым, так как п> т)
Таким образом, мы могли бы найти некоторые W, которые достаточно велики, но с использованием этого мы не можем генерировать новую строку на языке, которая противоречит свойству леммы перекачки регулярного языка, следовательно, тогда язык {a n b m | n> m} не действительно правильный язык.
@NavneetSwaminath [считает, что есть ошибка] (http://stackoverflow.com/a/28617879/2778484) в вашем сообщении. – chappjc
Важно отметить, что если даже одна строка длины ≥ p имеет одно значение i ≥ 0 такое, что x (y^i) z ∉ L, то язык не является регулярным. Потребовал мне минуту, чтобы понять это. – koziez
@Grijesh Chauhan, почему мы не можем выбрать y = ab inbetween? Теперь, если мы накачаем y, тогда мы получим равное количество a и b's – Zephyr
- 1. Каждый регулярный язык конечен | Правда или ложь?
- 2. Является ли какой-либо регулярный язык L бесконечными словами?
- 3. View is an animate
- 4. Регулярный язык всегда бесконечен
- 5. Каждый регулярный язык разрешимый
- 6. onclick In An Image Is Never Executed
- 7. «Союз детерминированных контекстов» - бесплатный язык и регулярный язык?
- 8. Имеет ли каждый регулярный язык правильный регулярный надмножество? или надлежащее подмножество?
- 9. Mysql an или запрос
- 10. проверки, если регулярный язык приведена CF грамматика
- 11. Найти представляет ли список <Point> регулярный или нерегулярный многоугольник
- 12. Насколько медленны C, F, L, l и M PatternLayout (log4j)?
- 13. Для чего нужен язык M?
- 14. Если язык L не является регулярным, L * регулярным?
- 15. Что такое M и L в GeometryDrawing?
- 16. Is An SSL Обязательный сертификат для шифрования Secure
- 17. Как называется это соглашение об именах? «this-is-an-identifier»
- 18. Как построить грамматику, которая генерирует язык L?
- 19. Отображать R-T-L Язык (иврит) Обратный
- 20. Как использовать шрифт bm?
- 21. класс M: или класс M() :?
- 22. Комментарии в Power Query Formula (M) Язык
- 23. Power Query M язык и функции Excel
- 24. Traverse нерегулярный список список
- 25. цикл нерегулярный дополнительных предела
- 26. Нерегулярный макет ItemsControl
- 27. php M или F (мужской или женский)
- 28. {<M> | М ТМ, которые принимают 3 слова} (| L (M) | = 3)
- 29. AWK Как разбирать нерегулярный файл
- 30. Как работает Ян Виллем Клоп (L L L ...) «Комбинатор Y?
Вопрос немного типичный, но вы не показали, что вы работаете! .. Я ответил ниже. надеюсь, что вы найдете полезным. –
Ознакомьтесь с [Pumping Lemma] (http://en.wikipedia.org/wiki/Pumping_lemma), описание даст вам огромный намек на ответ, Удачи вам в домашнем задании. –
Этот вопрос кажется не по теме, потому что речь идет об информатике, а не о программировании. – Gilles