2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Проверить регулярность языка
Сообщение07.09.2011, 22:55 
Помогите пожалуйста с задачей, нужно проверить регулярность языка $L$ в алфавите $\{0,1\}$ состоящего из всех слов длины больше 6 таких что последний символ совпадает с символом на 7-й от конца слова позиции.

Если регулярный, то нужно построить конечный автомат, принимающий язык, иначе доказать что такого автомата нет. Ни на какие другие теоремы опираться больше нельзя. Подскажите пожалуйста, не знаю с чего начать

 
 
 
 Re: Проверить регулярность языка
Сообщение07.09.2011, 23:17 
Ну и стройте, в чем загвоздка? Пропустить первые шесть букв, потом пропускать все, пока не встретится буква, бывшая на седьмом месте, на которой слово обрывается.

 
 
 
 Re: Проверить регулярность языка
Сообщение07.09.2011, 23:28 
Аватара пользователя
Тарасов Задание 1 № 5(i)?!

 
 
 
 Re: Проверить регулярность языка
Сообщение07.09.2011, 23:59 
Тарасов, Тарасов)

Цитата:
Ну и стройте, в чем загвоздка? Пропустить первые шесть букв, потом пропускать все, пока не встретится буква, бывшая на седьмом месте, на которой слово обрывается.


так слово то с другого конца поступает, и как вообще реализовать "пропустить все буквы" нам же неизвестно заведомо сколько их и какие они

 
 
 
 Re: Проверить регулярность языка
Сообщение08.09.2011, 09:44 
Так. Ну-ка стойте. Надеюсь, вы согласны, что грамматика
$$(0(0|1)^*0)|(1(0|1)^*1)$$ регулярна? Что существует НКА, ей соответствующий?

 
 
 
 Re: Проверить регулярность языка
Сообщение08.09.2011, 21:36 
я не знаю что такое грамматика

 
 
 
 Re: Проверить регулярность языка
Сообщение08.09.2011, 21:50 
Опа. Оригинальный у Тарасова подход. Ладно. Тогда постройте для начала три автомата:

1. Распознающий слова длины ровно шесть.
2. Распознающий слова, начинающиеся и заканчивающиеся нулем.
3. Распознающий слова, начинающиеся и заканчивающиеся единицей.

P.S. Грамматика — это средство задания языка. Для регулярных языков в качестве грамматик использует регулярные выражения, которые по природе своей довольно прозрачно переводятся в конечные автоматы.

 
 
 
 Re: Проверить регулярность языка
Сообщение08.09.2011, 23:33 
все, я думал автомат должен быть детерменированным...

такой пойдет?

Изображение

зеленый кружок - начальное состояние, красные - конечные состояния

стрелки без букв - переход при любой поступившей букве

где многоточия - пропускаем еще 4 символа

 
 
 
 Re: Проверить регулярность языка
Сообщение09.09.2011, 13:21 
Вот автомат, распознающий слова длины ровно четыре (забыл, что надо было 6):

Изображение

NiGHTeR, какой ужас!

-- Пт сен 09, 2011 16:22:32 --

Начальное состояние самое левое, пометить забыл.

 
 
 
 Re: Проверить регулярность языка
Сообщение09.09.2011, 14:30 
arseniiv
почему ужас-то?

 
 
 
 Re: Проверить регулярность языка
Сообщение09.09.2011, 15:35 
Не потому, что рисунок страшный, а потому, что автомат какой-то слишком многосостоянный (если правильно понял, что там находится вместо многоточий). Зачем так много состояний?

 
 
 
 Re: Проверить регулярность языка
Сообщение09.09.2011, 18:01 
А так нельзя? Чисто гипотетически, заведем $2^7$ состояний, каждое из которых соответствует возможной комбинациии последних семи прочитанных на данный момент автоматом букв. Тогда распознать - это значит, встретив терминатор строки, перейти в нужное состояние распознавания в зависимости от того, в каком из состояний с "последними $7$ прочитанными буквами" находились.

 
 
 
 Re: Проверить регулярность языка
Сообщение10.09.2011, 17:45 
arseniiv в сообщении #481828 писал(а):
Не потому, что рисунок страшный, а потому, что автомат какой-то слишком многосостоянный (если правильно понял, что там находится вместо многоточий). Зачем так много состояний?


не знаю, просто так сразу придумалось, а оптимизировать не стал, мне ж всего регулярность проверить...

_hum_
а автомат тогда еще и полный получается?

 
 
 
 Re: Проверить регулярность языка
Сообщение10.09.2011, 18:53 
Цитата:
_hum_
а автомат тогда еще и полный получается?

Я лишь поверхностно знаком с теорией конечных автоматов и не в курсе, что означает "полнота автомата".

 
 
 [ Сообщений: 14 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group