Конспект лекций москва 2004 удк 519. 713(075)+519. 76(075) ббк 22. 18я7
Вид материала | Конспект |
Содержание10.2. Неразрешимые свойства КС-грамматик 11. Синтаксический анализ для КС-языков |
- Учебное пособие тверь 2008 удк 519. 876 (075. 8 + 338 (075. 8) Ббк 3817я731-1 + 450., 2962.9kb.
- Тексты лекций Москва 2008 удк 339. 9(075. 8) Ббк 65. 5я73-2, 1528.45kb.
- Программно-технический комплекс Учебное пособие Новочеркасск юргту (нпи) 2010. Удк, 3911.73kb.
- Удк 152. 27 (075. 8) + 157 (075. 8) + 152. 3 (075, 60.12kb.
- Краткий конспект лекций Кемерово 2002 удк: 744 (075), 1231.26kb.
- Методические указания по курсу Новосибирск 2004 ббк ю 937. 4 Удк 152. 26 (075), 802.63kb.
- Москва 2011 ббк 63. 3 (2)я 7 к 90 удк 947 (075) История России, 110.08kb.
- Курс лекций Гродно 2005 удк 631. 1 (075., 1193.16kb.
- Удк 070(075. 8) Ббк 76. 01я73, 5789.66kb.
- Удк 339. 9(470)(075. 8) Ббк, 7329.81kb.
10.2. Неразрешимые свойства КС-грамматик
Поскольку класс множеств (слов), порождаемых грамматиками, совпадает с классом перечислимых множеств, то для языков класса «0» справедлив аналог теоремы Райса «никакое нетривиальное свойство языков класса 0 не является алгоритмически разрешимым» (т.е. для нетривиального свойства не существует алгоритма, который бы по произвольной грамматике G выяснял, обладает ли данным свойством язык L(G)).
Для КЗ-грамматик проблемы пустоты и бесконечности неразрешимы. Для КС-грамматик эти проблемы разрешимы.
Неразрешимые проблемы для КС-грамматик следуют из неразрешимости проблемы Поста.
Формулировка этой проблемы в виде, удобном для наших целей, следующая: для двух списков цепочек X=(1, 2,…, m) и Y=(1, 2,…, m) в алфавите U определить, существует ли последовательность индексов i1, i2,…, in, такая, что выполняется .
Пусть U и m фиксированы. Введём алфавит дополнительных символов U0={b1,b2,…bm}, U0 U=,
U1= U0 U. Пусть X=(1, 2,…, m) – цепочки в U. Тогда Q(X) – множество цепочек вида , n1.
Тогда для Q(X) справедливы утверждения:
1. Если X=(1, 2,…, m) и Y=(1, 2,…, m) – списки цепочек в U, то комбинаторная проблема Поста разрешима тогда и только тогда, когда разрешимо свойство Q(X) Q(Y) =. Пусть существует Q(X) и Q(Y). Тогда , а значит, .
2. Для любого списка X=(1, 2,…, m) цепочек в U, Q(X) – КС-язык в U1. Соответствующая КС-грамматика G=< VN, VT,S, R> для языка Q(X) – G=< {I} , U1, I, R>; R = { Ibi I i, Ibi i }. Грамматика является однозначной.
Из введенных утверждений следует теорема:
Теорема 18. Не существует алгоритма, который по двум КС-грамматикам G1 и G2 определял бы L(G1) L(G2)=?
Доказательство.
Если бы такой алгоритм существовал, то проблема Поста была бы разрешима.
Теорема 19. Не существует алгоритма, который по любой КС-грамматике позволял бы определить, является ли эта грамматика однозначной.
Доказательство.
Рассмотрим множества Q(X) для X=(1, 2,…, m) и Q(Y) для Y=(1, 2,…, m). Правила грамматики для порождения Q(X): RX={Abi A i, Abi i } правила грамматики для построения множества Q(Y): RY={ Bbi B i, Bbi i }.
Грамматика для порождения Q(X)Q(Y) G=<{A,B},U, I, R>, где R=RXRY {IAB}. Эта грамматика однозначна, если Q(X)Q(Y)=, а это свойство неразрешимо.
Другие неразрешимые проблемы для КС-языков:
- Является ли КС-языком пересечение КС-языка?
- Является ли КС-языком дополнение КС-языков?
- Проблема тривиальности КС-языка L=V*(= проблеме пустоты дополнения)?
- Проблема эквивалентности КС-грамматик.
11. Синтаксический анализ для КС-языков
Синтаксический анализ может рассматриваться в широком или же узком смысле. Синтаксический анализ в узком смысле – по цепочке определить её структуру (или же построить синтаксическое дерево), то есть задача сводится к построению вывода данной цепочки в данной грамматике.
Синтаксический анализ в широком смысле – определение, можно ли данную цепочку построить с использованием данной грамматики. Это в общем случае гораздо более сложная задача.
Существующие алгоритмы синтаксического анализа классифицируются по способу:
- построения вывода (нисходящие, восходящие, смешанные);
- выбора альтернативы (детерминированные и недетерминированные). В первом случае на каждом шаге выбирается правильная альтернатива, во втором – альтернатива выбирается наугад;
- возврата (для недетерминированного выбора альтернативы) – разбор с быстрым или медленным возвратом, а так же
- степени доступности цепочки: или цепочка доступна вся сразу, или же читается слева направо посимвольно (при этом доступно для анализа определенное число символов).
Обычно рассматривается нисходящий или восходящий разбор при чтении цепочки слева направо.