2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Помогите построить грамматику
Сообщение31.03.2014, 19:03 
Аватара пользователя


17/10/13
790
Деревня
Нужно построить контекстную грамматику, задающую следующий язык: ${a^nb^nc^n}$
В учебнике приведено решение:
$I \rightarrow aBa;(1)

B \rightarrow aBCa;(2)

B \rightarrow  b;(3)

bC \rightarrow  BB;(4)

aC \rightarrow  Ca;(5)$

После применения $(1)$ получаем: $aBa$, после применяем $(3)$ получаем $aba$. Я привел последовательность действий, которая приводит к неверному слову, значит в учебнике ошибка или я сам где-то просмотрел? И если это так, то как построить верно?

 Профиль  
                  
 
 Re: Помогите построить грамматику
Сообщение31.03.2014, 21:27 
Заслуженный участник


08/04/08
8562
MestnyBomzh в сообщении #843759 писал(а):
После применения $(1)$ получаем: $aBa$, после применяем $(3)$ получаем $aba$. Я привел последовательность действий, которая приводит к неверному слову, значит в учебнике ошибка?
Ш. Холмс писал(а):
Элементарно, Ватсон
:D

MestnyBomzh в сообщении #843759 писал(а):
И если это так, то как построить верно?
Можно попытаться исправить 1-ю продукцию. Если не получится - подумать поглубже самостоятельно :-) Приведите попытки решения, короче.

 Профиль  
                  
 
 Re: Помогите построить грамматику
Сообщение01.04.2014, 09:43 
Заслуженный участник
Аватара пользователя


06/04/10
3152
Не стал разбираться, как исправить решение из учебника.

Вижу "алгоритм", который сначала (случайно) порождает кучу троек, а потом детерминировано упорядочивает буквы.
Вот первая часть -
1/ Ини => Лев+Род+Прав
2/ Род => Род+abc
3/ Род => Упор
Только эти два правила используют "оракула", остальные применяются однозначно.

Этот нетерминал Упор двигается направо.
Если встречает Прав, то уничтожает его и превращается в Кон - с целью добежать до Лев и закончить зачистку (правил не пишу - достаточно ясно).
4/ Упор+Прав=>Кон
5/ Упор+х+Прав=>Кон+х

Если встречает двубуквенный непорядок, то переставляет буквы и превращается в Влев, чтобы добежать до Лев и возродится. Т.е. 2 группы правил
Упор+ху => х+Упор+у (х<=у) и
Упор+ху => Влев+ух (х>у).

 Профиль  
                  
 
 Re: Помогите построить грамматику
Сообщение01.04.2014, 11:17 
Супермодератор
Аватара пользователя


20/11/12
5728
 !  nikvic, замечание за неоформление формул $\TeX$ом

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group