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

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

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

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

х(й). Нетерминая же [ааг] при а Е У может быть, по определению, заменен терминалом а тогда и только тогда, когда в системе команд б конечного автомата М есть команда аа ~ г, т.е. из состояния д по символу а можно перейти в состояние г. При таком определении грамматики 0' она породит непустую терминальную цепочку х тогда и только тогда, когда х порождается грамматикой 6 и читается на некотором пути из на чального состояния в одно из заключительных, — именно тогда (и только тогда) иэ цепочки [дэх(1)в1][з1х(2)вэ]... [вз ~х(й)ду] может быть выведена сама цепочка х = х(1) х(2)... х(я). Образно говоря, грамматика С' каждый символ непустой цепочки х, порождаемой грамматикой С, помещает между двумя „стражами" — состояниями конечного автомата, и символ может избавиться от этих „стражей" тогда и только тогда, когда в конечном автомате М есть переход по нему из первого состояния во второе.

Дадим теперь формальное определение грамматики С'. а' = (р; ж', У, Р ), где Ф' = [[юг]: д, г Е 1з и Х Е 'г' 0 Ф) 0 (У), У Ф 1Г 0 Ф (аксиома грамматики С'), а множество правил вывода Р' строится следующим образом: 1) правило вывода У вЂ” ~ Л принадлежит Р' тогда и только тогда, когда в множестве правил Р грамматики С есть правило Я -+ Л, а для конечного автомата М имеет место ае е Р; В.б. Алгебраические свойства КС-хлынов 669 2) для любого правила А †« у в Р (у ~ Л) в Р' вводится множество всех правил вида [з1Аза+1] -«[в1 у(1)зг][вг у(2)вз]...

[вау()с)за+1] ДЛЯ ПРОИЗВОЛЬНОЙ ПОСЛЕДОВатЕЛЬНОСтИ В1, Вг, ..., В«+1 СОСтОЯНИй из множества Я (Й > 1 — длина цепочки у); 3) для любого заключительного состояния ду Е Р конечного автомата М в Р' вводится правило вывода У -+ [дОЯду], где Я— аксиома грамматики С; 4) правило вывода [дат] -+ а для а Е У принадлежит Р' тогда и только тогда, когда команда да ~ г принадлежит системе команд б конечного автомата М; 5) никаких других правил вывода, кроме указанных в пп. 1- 4, множество Р' не содержит. Непосредственно из построения грамматики С' видно, что пустая цепочка Л порождается грамматикой 0' тогда и только тогда, когда правило вывода Я -«Л содержится в множестве Р, т.е.

Л Е Ь, и конечный автомат М допускает пустую цепочку, т.е. до Е Г. Итак, У)-' Л тогда и только тогда, когда Л Е ЬПВ. Для непустой цепочки х = х(1)х(2)... х(т) можно доказать (подробное доказательство мы опускаем'), что Я «-~ х, т.е. х Е Ь,тогда и только тогда, когда а ) [додд/] ) " [дох(1)з1][з1х(2)вг]... [зю — 1х(т)д/] для любых з1, ...,вю 1 Е Я.

Тогда из цепочки [дох(1)в1ив1х(2)вг]... [вю 1х(т)ду] цепочка х = х(1)х(2)... х(т) может быть выведена в грамматике 0' применением правила, приведенного вьппе в п. 4, в том и только в том случае, когда для конечного автомата М имеет место до — «х11) В1 «х(г) Вг -+ ... — «Зт-1 ~х(в«) дУ *Это доказательство беэ особого труда может быть восстановлено с помощью метода индунпии по длине вывода. 670 8. КОНТЕКСТНО- СВОБОДНЫЕ ЯЗЫКИ для некоторых состояний вм ..., з„, и т.е.

х читается на пути из до в ду, проходящем через состояния зм ..., з„, и и тем самым х б В, т.е. я Е г П В. Итак, окончательно я е Ь(С') е~ я е Ь П В. ~ Пример 8.21. Построим грамматику, порождающую пересечение языка всех палиндромов в алфавите [а,Ь) с языком а'ЬЬа". Грамматику для языка палиндромов задаем в виде о'-+ аТа]ЬТЬ[аа[ЬЬ]а]Ь[Л, Т-+ аТа] ЬТЬ[аа[ЬЬ[а[Ь, где о' — аксиома. Граф конечного автомата, допускающего язык а*ЬЬа*, приведен на рис. 8.36.

а а Согласно правилам построения грам- Ь Ь матики С', изложенным в доказательстве теоремы 8.11, имеем следующую граммаРис. З.зе тику для пересечения заданных языков: У вЂ” Ф Ыоо'а], [г1$г4] -~ [г1агг][ггТтз][гзат4] [[г1Ьгг][ггТгз][гзЬгз] (8.20) (для любых последовательностей состояний гм гг, гз, тз конеч- ного автомата); [гФгз] -+ [г1агг][г1огг] [[г1Ьгг][ггЬгз] (для любых последовательностей состояний гм гг, гз конечного автомата); [г1 Бгг] -+ [г~ агг] ] [г1 Ьгг] (для любых последовательностей состояний гм гг конечного автомата); [г1Тг4] ~ [г1огг] [ггТгз][гзаг4] ] [г1 Ьгг] [ггТгз] [гзЬг4] 8.о. Ааге61еавчесвне свойства КСвэывов 671 (для любых последовательностей состояний г1, г2, гз, г4 конеч- ного автомата); [г1Тгз] -+ [г1агг][г1агг] ][г1Ьг2][ггЬгз] (8.21) (для любых последовательностей состояний г1, г2, гз конечного автомата); [г1 Тгз] -+ [г1аг2И [г1 Ьго] (для любых последовательностей состояний г1, г2 конечного автомата); Рассмотрим пример порождения какой-нибудь цепочки вз определенного вьппе пересечения двух языков.

Возьмем цепочку аЬЬа. Выведем сначала „двойника" Отой цепочки, в котором каждый символ „окружен" состояниями конечного автомата. В процессе вывода мы стараемся „положить" нашу цепочку на некоторый путь из начальной вершины автомата в заключительную: о с ~чооч2] с ~чо<чОЪчотч2][ч2ач2] с [?опало][чоьд1][ч1ЬЯ2][Я2~н2] На втором шаге написанного вьппе вывода мы применили первое из правил (8.20) при г1 = г2 = оо, гз = г4 = О2, а на третьем шаге — второе правило (8.21) при г1 = 6о, г2 = й гз = Ф. Теперь мы видим, что все „скобки" состояний можно еотряхнуть": последовательно применяя правила (8.22)-(8.25), получаем цепочку аЬЬа.

Рассмотрим теперь „неправильную" цепочку аЬа ф а*ЬЬа". Вывод ее „двойника" может быть таким: У'1 ЫОБЯг] 1 Жоао][6ОТЧЙФа62] ~ [чоас1ОЪ3оЬЯ2][ч2ач2]. [боево] -+ а, [доЬ21] -+ Ь~ [61Ь62] -+ Ь, [42ад2] -~ а. (8.22) (8.23) (8.24) (8.25) 672 в. контнкстно-сноноднын языки При выводе мы старались помещать каждый входной символ конечного автомата между такими состояниями, чтобы он входил в метку дуги иэ первого во второе состояние, но мы видим, что нетерминал ~деЬдэ] не может быть заменен ни одним терминалом, и вывод зашел в тупик. Разбор других вариантов вывода „двойника" цепочки аЬа мы опускаем. В данном случае оказывается, что любой вывод закончится тупиковой цепочкой.;К Заметим, что в рассмотренном примере конструкцию теоремы нельзя применять к грамматике языка палиндромов, если она задана в виде Я ~ аЯа~ЬЯЬ)а~ 6~Л, поскольку в этом случае нельзя обойтись без применения правила Я -~ Л при порождении цепочки четной длины. Так как при построении грамматики С' правила с пустой правой частью (иэ множества правил грамматики С) никак не преобразуются, грамматика 6' в таком случае не породит „двойника" ни одной цепочки четной длины языка палиндромов.

Следовательно, требование, чтобы грамматика КС-языка Ь была задана в приведенной форме и ее единственное разрешенное Л-правило Я-+ Л применялось только при выводе пустой цепочки, является существенным при построении КС-грамматики для пересечения языка Ь с регулярным языком и. Доказанное утверждение о „контекстной свободности" пересечения КС-языка с любым регулярным языком в совокупности с леммой о разрастании для КС-языков полезно при доказательстве утверждений о том, что какой-либо язык не является контекстно-свободным. Пример 8.22.

Докажем, что язык Ь = (пил: ю Е (а,6~')— так называемый язык двойных слов в алфавите (а, 6) — не является контекстно-свободным. д.а1. О методах еиитаатичееиого аиализа КС-лзыиоа 673 Применить к решению этой задачи сразу лемму о разрастании довольно трудно. Поступим так. Рассмотрим пересечение языка Ь с регулярным языком а*Ь"а'Ь'. Легко понять, что это пересечение состоит из всех цепочек вида а"'ЬиаитЬ" (т, п > 0). Предполагая, что язык Ь контекстно-свободный, получим в силу теоремы 8.11, что контекстно-свободным является и язык 1атпЬ"атаЬ": т,п > О). Однако этот язык не есть КС-язык (см. пример 8.12).

Следовательно, не является КС-языком и исходный язык й. Дополнение 8.1. О методах синтаксического анализа КС-языков Проблема синтпаксического анализа для КС-языков состоит в построении алгоритма, который по любой КС-грамматике С = (т, Ф, Я, Р) и цепочке х в ее терминальном алфавите У распознает, принадлежит ли х языку Ь(С), порождаемому грамматикот1 С. В случае положительного ответа на вопрос алгоритм должен строить дерево вывода х в грамматике С. Существование такого алгоритма следует из факта разрешимости проблемы принадлезхности для КС-языков. Мы рассмотрим некоторые алгоритмы синтаксического анализа для определенных классов КС-язьпсов.

Прототипом синтаксического анализатора является МП-автомат, который строится по данной КС-грамматике (см. 8.4), но такой МП-автомат, как мы видели, являетсл в общем случае недетерминированным и может даже для допустимот1 цепочки построить вывод, который заканчивается тупиковой конфигурациеб. Чтобы на основе такого распознаватпеля построить алгоритм синтаксического анализа (и тем самым превратить распознаватель в анализатпор), нужно разработать определенный механизм управления выводом на множестве конфигураций МП-автоматпа. Этот механизм должен обеспечить эффективный поиск допускатотцеб последовательностпи конфи- 674 г. кОнтекстнО-сВОБОдные языки гураиий для допустимых цепочек.

В частности, может быть поставлена задача разработки алгоритма бесгпупикового, или однопроходного, анализа. Беступиковый анализ имеет место, если получение тупиковой конфигурации в процессе анализа означает „неправильность" анализируемой цепочки, т.е. тот факт, что она не принадлежит языку, порождаемому заданной грамматикой.

Беступиковый анализ, как можно показать, невозможен в случае произвольного КС-языка, но для некоторых (достаточно широких) классов КС-языков он может быть реализован. Некоторые алгоритмы беступикового синтаксического анализа мы очень коротко рассмотрим в этом дополнении. Существуют две основные стратегии синтаксического анализа: 1) нисходяиаий анализ (называемый также англизом „сверху вниз", или анализом „развергпкой") и 2) восходящий анализ (анализ „снизу вверх", „свергпкой").

В нисходящем анализе дерево вывода цепочки строится от корня к яисшьям, т.е. дерево вывода „реконструируется" в прямом порядке, и аксиома граммашики „развертывается" в цепочку. В восходящем анализе дерево вывода строится от листьев к корню и анализируемая цепочка „свертывается" в аксиому. Рассмотрим две стратегии анализа по очереди. Нисходящий анализ. ЬЬ(к)-грамматики. Мы видели, что МП-автомат, который при доказательстве теоремы 8.8 мы строили по данной КС-грамматике, „воспроизводит" левый вывод в грамматике.

Основнгл „задача" данного автомата как распознавателя состоит в том, чтобы на каждом шаге „угадать" очередное применяемое правило вывода и „правильно выбрать" соответствующую команду при построении допускающей последовательности конфигураций. Механизм управления выводом, которым мы должны снабдить классический МП- автомат, должен обеспечить выбор команды (единственной в случае беступикового анализа) по определенной информации о состоянии процесса поиска дерева вывода (или, что равно- Д.8.Ь О иетодак сявтаксятескосо аяакаэа КСкаикоа 675 сильно, левого вывода) входной цепочки. Обычно механизм управления выводом реализуется в виде специальных таблиц, которые называют управллюи4ими шаблицами и которые можно рассматривать как дополнительное устройство памяти в МП-автомате. Существует класс грамматик, называемых Ы(ус)-грамматиками, в которых применяемая команда однозначно определяется: 1) нрочитпанной часшью ~о входной цепочки; эту цепочку 1о называют левым контпекстпом; 2) находящимся в данный момент в верхней лчеаке магазина нешерминальным символом А; 3) началом (пре$иксом) о непрочитанной часпьи цепочки, состоящим не более чем из к букв (к > 1); этот префикс называют авакцепочкоб (рис.

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

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

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

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