Главная » Просмотр файлов » Кузнецов О.П., Адельсон-Вельский Г.М. - Дискретная математика для инженеров

Кузнецов О.П., Адельсон-Вельский Г.М. - Дискретная математика для инженеров (1048837), страница 58

Файл №1048837 Кузнецов О.П., Адельсон-Вельский Г.М. - Дискретная математика для инженеров (Кузнецов О.П., Адельсон-Вельский Г.М. - Дискретная математика для инженеров) 58 страницаКузнецов О.П., Адельсон-Вельский Г.М. - Дискретная математика для инженеров (1048837) страница 582017-12-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 58)

Применение описанного алгоритма к грамматике из примера 7.1, г дает грамматику 1-» 1 + Т ! 1 — Т ) Т ° М ( Т1М ( (1) ! а ( Ь | с; Т-«- Т «М ( ТIМ ~ (1)1а1Ь | с; М -» (1) / а ! Ь ! с. Сравнение этих двух грамматик показывает, что наличие цепных правил имеет как достоинства, так и недостатки. Главным недостатком является громоздкость вывода: построив дерево вывода в последней грамматике для выражения а Ь+ с, можно убедиться, что оно компактнее дерева для того же выражения в грамматике примера 7.1; г (см. рис. 7.1) за счет отсутствия ребер Т- М, М-~-Е и 1-«.Т. С другой стороны, грамматика примера 7.5 содержит 18 правил, тогда как в примере 7.1, г — 11 правил.

Цепные правила дают возможность своеобразного «вынесения за скобки» (и, наоборот, описанный выше алгоритм их устранения «раскрывает скобки», размножая правые части правил),чтоупрощает описание грамматики в целом. Поэтому такие правила используются при задании языков программирования, хотя они и усложняют вывод. Докажем теперь, что алгоритм устранения цепных правил в грамматике 6 дает эквивалентную грамматику 6'. Пусть Л» — — 1, аь ..., а — левосторонний вывод в 6 цепочки а, и ໠— самая левая цепочка, к которой применяется цепное правило.

Тогда в Л, имеются цепочки вида а»= =)1«А8м я«=11«СК аы«=8«уК причем на отрезке я»,...,я« применены цепные правила, а аьы получено из а~ правилом С-«-у. Рассмотрим теперь последовательность Л« — — 1, аь...,я», а««ь ..., а . В ней переход от я» к аьы осуществляется применением правила С-«у, которое по описанному алгоритму принадлежит Й'; кроме того, Л, содержит по крайней мере на одно цепное правило меньше, чем Л,. Повторяя эту процедуру, в конечном счете получаем последовательность 278 Ь 7, ..., а, которая не содержит цепных правил; в ней все переходы к следующей цепочке осуществляются либо неценными правилами 6, либо новыми правилами вида С-~-у, которые включены в 77' на втором этапе описанного алгоритма. Так как цепочка а при этом преобразовании сохранилась, то Л„является выводом а в 6', следовательно, 7 ('6)ы7,(6'). Обратное включение Ь(6')с:-1.('6) также доказывается преобразованием вывода.

Одним из явных достоинств грамматик без цепных правил является отсутствие циклов в выводах, т. е. выводимостей вида А=~"'А. Для неукорачивающих КС-грамматик это равносильно тому, что все выводы в них — бесповторные, ни одна цепочка в выводе не повторяется. В свою очередь, бесповторность вывода позволяет установить фундаментальное для КС-грамматик обстоятельство — линейную зависимость между длиной вывода и длиной выводимой цепочки. Теорема 7.3. Если 6= ( г', )г', Я, 7 ) — приведенная КС-грамматика без циклов, то существуют такие константы с, и см зависящие от 6, что для любого вывода Ь(а) цепочки иена.('6) сг)а) ~( ~Ь(а) ~~(с,(а(, где Ь(а) ! — длина вывода Л(а). усть Йс=(яг(,й, — максимальная длина правой части в правилах 6.

Так как 6 не содержит циклов и укорачивающих правил, то для любого вывода (З~ьо 7 17!) (р( и, следовательно, для вывода 7=ьь '"' 7(у()(а(. Поэтому (Л(а) ((йо!а(. С другой стороны, (а)(й,)Л(а) (. Отсюда (а(/Й1~ ((Л(а) (. Алгоритмические проблемы для грамматик. Поскольку класс множеств, порождаемых грамматиками, совпадает с классом перечислимых множеств (теорема 7.1), то для языков типа О справедлив аналог теоремы Райса: никакое нетривиальное свойство языков типа О ие является алгоритмически разрешимым; точнее, ни для какого нетривиального свойства языков типа О не существует алгоритма, который по произвольной грамматике 6 выяснял бы, обладает ли этим свойством язык Ь(6). Для языков типа 1 уже существуют разрешимые проблемы.

Например, для любой цепочки а и любого языка Ь типа ! разрешима проблема принадлежности а языку Ь (теорема 7.2). Однако проблемы пустоты н бесконечности языка, порождаемого данной грамматикой типа 1, неразрешимы. Для языков типа 2 эти 279 две проблемы разрешимы.

Разрешимость проблемы пустоты непосредственно следует из наличия алгоритмов приведения КС-грамматик, а именно: язык Ь(6) непуст, если и только если начальный символ 6 — производящий. Разрешимость проблемы бесконечности следует из более сильного утверждения о характере бесконечности КС-языков, называемого иногда клеммой о разрастании». Теорема 7А. Для любой КС-грамматики 6= (У, Л, 7 ) существуют такие числа р и д, что каждая цепочка яен7.('6) длины, большей р, представима в виде а буыбе, где у непусто либо б непусто, ~увб~(д, причем все цепочки вида 117"вб"е также принадлежат Л('6).

Построим приведенную грамматику 6', эквивалентную 6 и не содержащую цепных правил. Пусть й — число нетерминальных символов в 6'. Существует лишь конечное число цепочек в Ь(6'), высота вывода которых не превышает й. Обозначим через р максимум длин таких цепочек. Если ~а) ) р, то дерево вывода и имеет высоту )Й, т. е. содержит путь от корня к концевой вершине длины )й. Рассмотрим конец этого пути длиной й+1. Последовательности его вершин соответствует последовательность из Й+1 нетерминальных символов А;„...,А; ч,, в которой хотя бы один символ должен повториться: А;, =Ад — — В, г(за-й+ +1.

Поддереву с вершиной А;,=В соответствует вывод в 6' вида В=»-*рВп=~.'увб, где умбенУ*, причем у непусто либо б непусто; это следует из того, что 6' — приведенная и не содержит цепных правил. Кроме того, цепочка умб является подцепочкой а (поскольку она является кроной поддерева вывода а), и, следовательно, а представима в виде а=рувбе. При этом поскольку высота поддерева с вершиной А не превосходит й, то существует такое д (зависящее только от 6'), что длина кроны умб этого поддерева не превосходит д.

Выводы В=>-»бВп, р=~-*у, п=>-»б могут быть повторены в 6' любое число раз. Поэтому в 6' для любого а=1, 2... могут быть получены выводы 1=»*рВе=~-*1)у"ыб"е и, следовательно, бу"<об"вена. (6') =У.('6). П Из доказательства теоремы 7.4 легко извлечь следующий конструктивный критерий бесконечности: язык Ь(6) бесконечен, если и только если приведенная грамматика 6', эквивалентная 6, содержит такой нетерминальиый символ А, что А=»-*рАп, где либо р непусто, либо и непусто. Действительно, если такой символ существует, то в 6' воз- ззо можны выводы р"Аа" для любого п и соответственно существуют сколь угодно длинные терминальные цепочки, выводимые в 6'.

Если же таких символов в 6' нет, то на одном пути в дереве вывода нетерминальные символы не могут повториться. Поэтому в 6' возможны только деревья высоты, не превосходящей числа нетермииальных символов 6', и, следовательно, язык Е(6)=Ь(6') конечен, Однако содержание теоремы 7А гораздо глубже названного следствия. Она указывает иа периодический характер бесконечности в КС-языках: наряду с любым достаточно длинным словом (1увбе КС-язык обязательно содержит и все слова вида ру"мб"е. Это свойство является необходимым условием бесконтекстности языка; для того чтобы доказать, что язык не является бесконтекстным, достаточно показать, что он не обладает этим свойством. Его можно сформулировать и в терминах длин цепочек: множество длин цепочек КС-языка либо конечно, либо содержит арифметическую прогрессию.

Отсюда сразу следует, что, яапример, язык (а"') не является КС-языком. Рассмотрим теперь некоторые неразрешимые проблемы для КС-грамматик. Основным методом доказательства неразрешимостей в теории формальных языков является сведение к комбииаторной проблеме Поста, которая неразрешима (теорема 6.20). Здесь будет удобно пользоваться слегка измененной формулировкой проблемы Поста (не для пз пар, как в теореме 6.20, а для двух списков длины ш): для списков Х=(аь...,а ) и У=фи...,Р ) цепочек в алфавите 6 решить, существует ли последовательность индексов (о..., (а, такая, что сс;,...

ви, =Ц...Р;, . Пусть алфавит (7 и число т зафиксированы. Введем алфавит (7,=(Ь„..., Ь ), не пересекающийся с (7, и обозначим (7~ =(7()(7м Для списка Х= (яь..., сс ) тп цепочек в алфавите (7 обозначим через Я(Х) множество всех цепочек вида Ь,„.,Ь;рц ...я~„для любых последовательностей индексов 1, ..., 1а, )У)1. Для языков Я(Х) справедливы следующие два утверждения. 1. Если Х=(ио...,и ) и У=((1ь...,р ) — списки цепочек в алфавите (7, то комбииаторная проблема для этих списков имеет решение, если и только если множество Я(Х)()Я(У) непусто.

Действительно, если уенО(Х) и уенЯ~У), то у=Ь;л,... ...Ь;,а,, ..а; .=Ь,ч...Ьй...р;п„р; и, следовательно, я,, и; =В "Фл. 281 2. Для любого списка Х цепочек в алфавите У 11(Х) является КС-языком в алфавите Уь КС-грамматика, порождающая язык Я~Х) для списка Х=(и„...,и ), задается системой 2т правил 7-+Ь||аь 1- -+Ь;и;(1=1,...,т1. Нетрудно видеть, что эта грамматика однозначна. Из этих двух утверждений непосредственно следуют две важные теоремы о неразрешимости. Теорема 7.5. Не существует алгоритма, который по двум произвольным КС-грамматикам 6~ и 6э определял бы, пусто ли пересечение 7 (6~) Д7.

(6,). Если бы такой алгоритм существовал, то можно было бы определить, пусто ли пересечение КС-языков 1;1(Х) и Я(У) для любых списков Х, У, состоящих из и цепочек, откуда следовала бы разрешимость комбинаторной проблемы Поста для данного т, что невозможно. П Теорема 7.6. Не существует алгоритма, который для произвольной КС-грамматикн позволял бы узнать, является ли она однозначной или нет. Язык 1,1(Х), где Х=(ао...,и ), порождается однозначной грамматикой с системой правил Р: )-«-А; А-+ Ь;аб А — ~-Ь;Ааь Язык Я('у), где У= фь..., (3 ), порождается однозначной грамматикой Я».

7-эВ; В-эЬфб В-~-Ь;Врь Язык 1«(Х)()1«(у) порождается грамматикой с системой правил 17«(117». Эта грамматика неоднозначна в том и только в том случае, когда 11(Х)Щ(У) непусто, а это свойство неразрешимо. Из теоремы 7.5 следует, что пересечение КС-языков не обязательно является КС-языком, поскольку для КС-языков проблема пустоты разрешима. Напротив, объединение КС-языков — всегда КС-язык; КС-грамматика для него получается просто объединением правил исходных грамматик. Так как пересечение языков, как и любых множеств, выражается через объединение и дополнение соотношением де Моргана (3.14) в виде 7.Д7»=ГДХ, (см.

«Булева алгебра и теория множеств» в 3 3.2; для языка 7. в алфавите *»' 7.='»"*' Е)1, то отсюда следует, что дополнение КС-языка — не всегда КС-язык. Более того, проблемы распознавания типа языка для пересечения и дополнения неразрешимы. Теорема 7.7. Следующие проблемы для КС-языков неразрешимы: 1) является ли КС-языком пересечение КС-языков; 282 2) является ли КС-языком дополнение к КС-языку; 3) проблема тривиальности КС-языка (7.= У*) нли, что то же самое, пустоты дополнения; 4) проблема эквивалентности двух КС-грамматик.

Характеристики

Тип файла
DJVU-файл
Размер
5,07 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее