Звичайна мова, яку DFA не приймає, має щонайбільше три штати


10

Опишіть звичайну мову, яку не може прийняти жодна DFA, яка має лише три штати.

Я не дуже впевнений, з чого почати, і мені було цікаво, чи хтось може дати мені якісь поради чи поради. Я розумію, що накачана лема може бути використана для доказування мови не є регулярною, але в цьому випадку вона повинна бути звичайною мовою. Якщо хтось має якісь думки, це буде вдячно.

Відповіді:


17

Лемму накачування можна вказати, щоб врахувати кількість станів у DFA. Кожна мова прийнята DFA з станами, відповідає наступній накачаній лемі:рLp

Кожне слово довжиною принаймні може бути розбито як , де і , такий, що для всіх .p w = x y z | х у | p | у | 1 x y i z L i 0wpw=xyz|xy|p|y|1xyizLi0

Ви можете використовувати цю характеристику, щоб довести, що мова вимагає стану .p + 1{0p}p+1

Інший метод полягає у використанні теореми Міхілла - Нерода. Два слова є нееквівалентний (щодо деякого мови ) , якщо для деякого слова , або і або навпаки. Теорема Міхілла - Нерода стверджує, що якщо є парно нееквівалентних слів, то кожен DFA для має щонайменше станів. Для прикладу ви можете знайти попарно нееквівалентних слів, а саме .L z x z L y z L p L p L = { 0 p } p + 1 ϵ , 0 , , 0 px,yLzxzLyzLpLpL={0p}p+1ϵ,0,,0p


так, zможе бути ^порожнім, але я думаю, що у вашій цитаті є помилка друку. xy^i ∈ L має бутиxy^i z ∈ L
Гріеш Чаухан

12

Відповідь Юваля чудова. Більш просте формулювання того, що він описав, - це те, що кінцеві автомати не можуть вважати довільно високими, а кількість, на яку вони можуть розраховувати, обмежена числом станів в автоматах. Точніше, для автоматичного підрахунку до йому потрібно p + 1 станів (одного стану було б 0 ).pp+10

Це, по суті, вся ідея, що стоїть за накачувальною лемою: якщо струна дійсно довга, кінцеві автомати повинні "забути", як високий її підрахунок, і почати все заново, що дозволяє повторювати розділ знову і знову, не дбаючи про нього. .

Отже, будь-яка звичайна мова, яка вимагає від лічильника до 3, щоб перевірити слово в ній, не може бути описана обмеженими автоматами розміром 3.

Ви можете придумати таку мову? (Ваш професор, можливо, також очікує, що ви доведете цей підрахунок аргументу, хоча в моєму навчальному плані таке розуміння накачаної леми було сприйнято як належне)


Гарна відповідь: це багато пояснює, не віддаючи рішення того, що схоже на вправу домашнього завдання. Ласкаво просимо до інформатики !
Девід Річербі

1

Існує алгоритм мінімізації DFA. Просто виберіть мову, яка має мінімальний DFA з 4 (або більше) станів. Буде робити все, що має мінімальну довжину 3 символи, тобто мова регулярного виразу , або (навіть простіше) a 3 . Щоб зрозуміти, чому, погляньте на доказ накачаної леми для звичайних мов.a3aa3


-2

ще одна ідея, діагоналізація ! перерахуйте всі ДФА 3 або менше штатів, укладіть об'єднання всіх, а потім візьміть доповнення. це DFA шляхом регулярного закриття мовних операцій. це можна побудувати за допомогою алгоритму, але питання задає лише опис .



n

nn+1

@Yuval справа. думаю, що ця ідея може спрацювати, але, можливо, у вас немає деталей точно, деталі складні, я б здогадувався, що це може бути десь у літературі, але не бачив її
vzn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.