Главная » Просмотр файлов » XIX Белоусов А.И., Ткачев СБ. Дискретная математика

XIX Белоусов А.И., Ткачев СБ. Дискретная математика (1081422), страница 106

Файл №1081422 XIX Белоусов А.И., Ткачев СБ. Дискретная математика (Зарубин В.С., Крищенко А.П. - Комплекс учебников из 21 выпуска) 106 страницаXIX Белоусов А.И., Ткачев СБ. Дискретная математика (1081422) страница 1062018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

8.37). Эта информация, по которой беступиковый анализатор выбирает нужную команду на каждом шаге работы с входной цепочкой, организована в виде упра- Входная лента вляющей таблицы (конкретные формы таких таблиц будут рассмотрены ниже). При этом левый вывод цепочки х = твои, если х Е Ь(С), может Головка Матаакк быть представлен следующим образом: из аксиомы вывоДитсЯ Цепочка Вяок шАа, затем нетерминал А заменяет- укравкеккя ся в соответствии с правилом А -+ у и из цепочки уст выводится терми- Рис. 8.87 нальная цепочка ои, где ( ~о~ ( к и Я ~-' шАа ~- исусе ~-" юии (символ 1- означает левую выводимость). Описанное вьппе представление левого вывода цепочки или предполагает, что мы произвольно в этом выводе фиксировали некий шаг, состоящий в замене нетерминала А посредством 676 8.

КОНТЕКСТНО-СВОБОДНЫЕ ЯЗЫКИ применения правила вывода А -+ у. Так как в левом выводе на каждом шаге производится замена самого левого вхождения нетерминального символа, то слева от А в цепочке юАа, полученной перед рассматриваемым шагом, должны быть только терминальные символы. Следовательно, определенный вьппе левый контекст ю есть не что иное, как левое крыло вхохсдеиил нетерминала А в цепочку юАа. Моделируя этот левый вывод, т.е. читая записанную на входной ленте цепочку х = юои, МП-автомат читает левый контекст ю, а затем с помощью управляющей таблицы, „видя" в магазине символ А, учитывая левый контекст и и зная аванцепочку о, принимает единственно правильное решение, применяя команду, соответствующую правилу А-+7. Так на интуитивном уровне можно определить ключевое свойство ЩЙ)-грамматики.

Переходим теперь к построению формального определения ЩЙ)-грамматики. Пусть дана КС-грамматика С. Для цепочки а в обьедииеиком алфавише грамматики С и положительного натурального Й определим множество Рь (а), состоящее из всех терминальных цепочек, которые либо выводятся из цепочки а (если их длина строго меньше Й), либо являются Й-буквенными префиксами терминальных цепочек, выводимых из а (обратим внимание на то, что везде речь идет о левом выводе). Таким образом, Рь(а) = (о: (а ~* о)ЙЩ ( Й) Ч (Зх Е У")(а ~-' ох)ЙЩ = Й) ). Нетрудно видеть, что для всякой терминальной цепочки х получим Рл(х) = (х), если /х~ < Й, и Рь(х) = 1х(1)х(2)...х(Й)), если !х~ > Й.

Множества Рь(а) (для разных цепочек а) иногда будем называть Рь-миожесгпвами. Пример 8.23. Зададим грамматику 6 с терминальным алфавитом (а, 6, с, д) и нетерминальным алфавитом, состоящим Д.Вд. О методах скктакскческото акааава КС-юыков 677 из одной аксиомы Я, следующим множеством правил вывода: Я -+ аЯЬЯс ~ аЯЬ | ЬЯс ~ И. Вычислим множество Рз(аЯЬЯс). Первая буква всех терминальных цепочек, выводимых нз заданной, уже фиксирована— это буква а. Нетерминал Я может быть заменен буквой И, после чего возникнет трехбуквенный префикс адЬ. Но символ Я можно заменить и цепочками аЯЬЯс, аЯЬ, ЬЯс. В силу этого первые две буквы цепочки, выводимой из исходной, могут быть либо аа, либо аЬ.

Продолжение вывода, как нетрудно понять, может дать третью букву — либо а, либо 6, либо Ы. Окончательно получаем Рз(аЯЬЯс) = (аЫЬ, ааа, ааЬ, аай, аЬа, аЬЬ, аЫ). Определение 8.11. КС-грамматику С = (т", У, Я, Р) называют ЬЬ(й)-граммптвиееоб (для произвольно фиксированного й ) 1), если дла любых ел Е 'т", А Е Ф, сх Е (У 0 Ф)', таких, что существуют левые выводы Я ~-' шАсх ~ ю13сх 1-' еу Я 1- * юАа 1- итуа ~- ' ия, из Ра(у) = Рь(х) следует 13 = 7. Таким образом, из этого определения следует, что для с.Ь(к)-грамматики левый контекст ю нетерминала А в цепочке шАсх и не более чем Й символов, с которых начинается терминальная цепочка у, выводимая из Аа, однозначно определяют то правило, которое нужно применить к цепочке шАа (заменяя в ней выделенное, т.е.

первое, вхождение нетерминала А), чтобы сделать очередной шаг в левом выводе цепочки шу (и именно этой цепочки!) из аксиомы грамматики С. При совпадении множеств Ра(у) и Ра(я), как следует из сформулированного определения, указанные два вывода „сливаются" в один, т.е. тогда р= ю 678 8. КОНТЕКСТНО-СВОБОДНЫЕ ЯЗЫКИ (8.26) Определение ЩЙ)-грамматики является само по себе труднопроверяемым. Нужно какое-то условие, проверка которого позволила бы дать ответ на вопрос, является ли заданная КС-грамматика ЩЙ)-грамматикой. Доказывается, что дать ответ на этот вопрос можно, только фиксирован число Й. Построить же алгоритм, отвечающий на вопрос, является ли данная КС-грамматика ЩЙ)-грамматикой для некоторого Й (не задавая его заранее), невозможно.

Следующая теорема (формулируемая без доказательства) дает соответствующий критерий (необходимое и достаточное условие) при фиксированном Й. Теорема 8.12. КС-грамматика С является И(Й)-грамматикой (для фиксированного Й > 1) тогда и только тогда, когда для любой цепочки ш Е 1"' выполняется следующее условие: для любых А Е Ф, а Е (У 0 Ф)', таких, что В 1-' юАа, и любых двух различных правил А -+ ~3 и А -+ у грамматики С имеет место ЫРо) ~РЙЬа) = О У Условие теоремы называют часто ЬЬ(Й)-условием. Его следует проверять, фиксируя по очереди левые контексты (т.е. различные цепочки ш) для всех нетерминалов грамматики.

Рассмотрим пример, в котором, используя теорему 8.12, мы убедимся в том, что заданная КС-грамматика является ЬЬ(Й)-грамматикой (для фиксированного Й). Пример 8.24. Грамматика С задается системой правил В -+ аЬА ~ Л, (1) 1(2) А -+ Яаа~Ь. (3) ~(4). Докажем, что данная грамматика является ЬЦ2)-грамматикой. Чтобы проверить условие теоремы 8.12, достаточно для каждого нетерминала В Е 1о, А1 нашей грамматики проделать следующее: 1) вычислить все такие цепочки ю Е (а,Ь1' и а Е Н (а, Ь, Я, А), что имеет место левая выводимость Ь' 1-* юВа; д.8.ь О методах синтаксического эюииээ кС-хэыиоэ 679 2) фиксирован „левый контекст" ю, для каждой пары различных правил вывода В -+ 7 и В -~ Я вычислить множества Рз(фа) и Рз( усе) для всех таких сх, что при фиксированном ю выполняется (8.26), и убедиться в том, что их пересечение пусто. Если выполнение п. 2 для всех возможных левых контекстов ю и всех нетерминаяов В подтвердит истинность условия теоремы 8.12, то тем самым и будет доказано, что перед нами Щ2)-грамматика.

Следует заметить, что в общем случае вычисление пар цепочек (ео, а), удовлетворяющих условию (8.26) (для всех нетерминалов В КС-грамматики), требует применения специального алгоритма. Но для конкретной грамматики нашего примера эти пары цепочек достаточно просто вычисляются из анализа выводов грамматики. По очереди проанализуем оба нетерминала, т.е. Я и А, грамматики С.

Нетермннал Я. В этом случае имеем, во-первых, тривиальную выводимость Я с-О Я за нуль шагов, т.е. в этом случае цепочки то и сх обе являются пустыми: ю = сх = Л. Нетерминал Я может быть заменен согласно правилу (1) с правой частью аЬА или согласно правилу (2) с пустой правой частью. Вычислим тогда множества Рз(аЬА) и Рз(Л). Ясно, что Рз(аЬА) = (аЬ), а Рг(Л) = (Л1 и эти множества не пересекаются. Проанализируем теперь, каким образом в заданной грамматике может быть выведена из аксиомы Я за число шагов, большее нуля, цепочка вида асс для некоторых терминальной цепочки ш и цепочки в объединенном алфавите сх.

Так как вхождение Я может возникнуть только после применения правила (3), а чтобы применить его, нужно сначала применить правило (1), то, чередуя применение этих правил и > 1 раз, получим вывод: Я 1- аЬА ~- аЬЯаа ~- аЬаЬАаа ~ >- аЬаЬЯаааа ~... ~ (аЬ)" Я(аа)". (8.27) 680 в.

контнкстно-сноноднын языки Это значит, что все возможные пары (ю, а), такие, что Я 1-' вЯо (с учетом уже ранее рассмотренного случая, когда обе цепочки пусты), есть ти = (аЬ)" и а = (аа)", и > О. Вычисляем множества Рэ(аЬА(аа)") и Рэ(Л(аа)") для различных и ) )О. Первое множество, как нетрудно видеть, для всех п будет равно (аЦ, а второе при и = 0 будет состоять иэ одной пустой цепочки, а при и > 0 — из цепочки аа, т.е.

можно утверждать, что для всех и > 0 пересечение Рэ(аЬА(аа)") П Рэ(Л(аа)") = и. Итак, для нетерминала Я (аксиомы грамматики С) условие теоремы 8.12 выполнено. Нетерминал А. Рассматривая вывод (8.27), легко убедиться в том, что все пары (щ, а), для которых имеет место ! левая выводимость Я~-" шАо, есть и = (аЬ)", а = (аа)" 1 для всех и > 1. Нетерминал А является левой частью двух правил вывода (3) и (4) с правыми частями Яаа и Ь соответственно. Вычисляем соответствующие Рэ-множества: Рэ(Яаа(аа)" 1) = 1аЬ, аа1, а Рэ(Ь(аа)" 1) = (Ь), если и = 1, и Рэ(Ь(аа)" 1) = (Ьа)> если и > 1.

Как видно, при всех и пересечение укаэанных множеств пусто. Тем самым доказано, что и для нетерминала А критерий теоремы 8.12 выполнен и заданная грамматика является ЬЬ(2)-грамматикой. Полученный результат показывает также, что эта грамматика является Щ2)-грамматикой, не являясь Щ1)-грамматикой. Действительно, для нетерминала Я получим Р1(аЬА(аа)") = (а) при всех а > О, а Р1 (Л(аа)") = (а) при всех и > 1.

Следовательно, при всех п > 1 указанные множества совпадут, что означает д.В.ь О методах сиитаксического эиэлиээ кС-языков 681 невыполнение ЬЬ(1)-условия. Заметим, что для нетерминала А 1 Ц1)-условие выполняется. Результаты анализа представлены в табл. 8.1. Таблица 8.1 Внутри таблицы указаны номера применяемых правил. Прочерк означает, что данная пара (нетерминал, аванцепочка) не определяет никакого правила, и возникновение такой пары в процессе анализа сигнализирует о синтаксической ошибке. Мы видим, что в данном случае номер применяемого на каждом шаге правила вывода однозначно определяется только двумя факторами: нетерминалом в верхней ячейке магазина и аванцепочкой.

11(й)-грамматики, в которых выполняется такое условие, называют сильнымп л л (й)-гральматппмама. Таблица подобного вида для сильной ЬЬ(Й)-грамматики и является примером управляющей таблицы. Именно она обеспечивает в данном случае тот механизм управления выводом, который позволяет МП-автомату, построенному по заданной сильной Щи)-грамматике, на каждом шаге однозначно выбирать правило вывода и для „правильной" цепочки строить ее левый вывод, а для „неправильной" — сигнализировать об ошибке.

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

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

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

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