![]() Главная страница Случайная лекция ![]() Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика ![]() Мы поможем в написании ваших работ! |
Обозначения
Будем обозначать элементы множества N большими буквами латинского алфавита. Элементы множества T – малыми латинскими буквами. Цепочки из V* - греческими буквами. Цепочки из T* - x,y,v,w,z. Пример: N={B,C,S}, T={a,b}. P: 1. S→aCa, 2. C→CBa, 3. C→b, 4. aB→Ba, 5. bB→bb. 1. S→(1)aCa → (3) aba 2. S→(1)aCa→(2)aCBaa→(3)abBaa→(5)abbaa. Грамматики, для которых нет ограничений на правила множества P, называются грамматиками типа 0. Это самые общие грамматики. Языки, определяемые грамматиками этого типа, называются языками класса 0. Можно строго доказать, что множества цепочек, определяемые грамматиками данного типа, являются перечислимыми множествами. Это означает следующее: если задана грамматика G и цепочка x и требуется построить алгоритм, который бы определял справедливость высказывания Алгоритм таков: поскольку множество правил конечно, если Если правила грамматики удовлетворяют следующему соотношению: Проблема распознавания ставится следующим образом: задана грамматика G, цепочка Язык называется легко распознаваемым, если число шагов при решении проблемы распознавания зависит только от длины цепочки. Теорема: Язык, определяемый неукорачивающей грамматикой, легко распознаваем. Для доказательства этой теоремы мы должны построить алгоритм, который решает проблему распознавания, и число шагов зависит только от длины цепочки. Доказательство: Пусть Далее предъявленную цепочку Замечание: описанный алгоритм очень неэффективен и используется только для доказательства.
Дата добавления: 2014-02-26; просмотров: 554; Нарушение авторских прав ![]() Мы поможем в написании ваших работ! |