Главная » Просмотр файлов » Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений

Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271), страница 62

Файл №1082271 Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений) 62 страницаХопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271) страница 622018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Можно доказать, что если символ не добавляется к множеству достижимых символов путем максимально возможного об- наружения, то он не является достижимым. Базис. Очевидно, что В действительно достижим. Индукция. Пусть обнаружено, что некоторая переменная А достижима. Тогда для всех продукций с головой А все символы тел этих продукций также достижимы. Пример 7.5. Снова начнем с грамматики из примера 7.1. Согласно базису В достижим. Поскольку В имеет тела продукций АВ и а, символы А, В и а также достижимы.

У В продукций нет, но А имеет А — э Ь. Делаем вывод, что Ь достижим, К множеству достижимых символов 1о, А, В, а, Ь1 добавить больше нечего. П ГЛАВА 7. СВОЙСТВА КОНТЕКСТНО-СВОБОДНЫХ ЯЗЫКОВ Теорема 7.6. Вышеприведенный алгоритм находит все достижимые символы грамматики б, и только их. Доказательство. Это доказательство представляет собой еще одну пару простых индукцнй в духе теоремы 7А и оставляется в качестве упражнения.

7,1.3. Удаление В-продукций Покажем теперь, что к-продукции, хотя и удобны в задачах построения грамматик, не являются существенными. Конечно же, без продукции с телом в невозможно породить пустую цепочку как элемент языка. Таким образом, в действительности доказывается, что если Е задается КС-грамматикой, то  — (в) имеет КС-грамматику без г-продукций. Начнем с обнаружения "в-порождающих" переменных. Переменная А называется елорождающей, если А =» н Если А — в-порождающая, то где бы в продукциях она ни встречалась, например в  — э САП, из нее можно ~но не обязательно) вывести ж Пролукдвя с такой переменной имеет еше одну версию без этой переменной в теле ( — > С»»). Эта версия соответствует тому, что г-порождающая переменная использована для вывода д Используя версию В -э СА»», мы не разрешаем из А выводить ц Это не создает проблем, так как далее мы просто удалим все продукции с телом г, предохраняя каждую переменную от порождения н Пусть 6 = (Г, Т, Р, 5) — КС-грамматика.

Все в-порождающие символы 6 можно найтя с помощью следующего алгоритма. Далее будет показано, что других г-порождающих свнволов, кроме найденных алгоритмом, нет. Базис. Если А э в — продукция в Сч то А — в-порождающая. Индукции. Если в С есть продукция  — » С»Сл ..Си где каждый символ С, является внорождающим, то  — в-порождающая. Отметим, что для того, чтобы С, бьш в-порождающим, он должен быть переменной, поэтому нам нужно рассматривать продукция, тела которых содержат только переменные.

Теорема 7.7. В любой грамматике в-порождающими являются только переменные, лайденнь»е вышеприведенным алгоритмом. Доказательство. Переформулируем утверждение в виде "А является в-порождающей тогда и только тогда, когда алгоритм идентифицирует А как в-порождающую".

Для достаточности нетрудно показать индукцией по порядку, в котором обнаруживаются в- порождающие символы, что каждый такой символ действительно порождает ц Для не- обходнмости используем индукцию по длине кратчайшего порождения А =» ц Базис. Один шаг. Тогда А — э в должно быть продукцией, и А обнаруживается согласно базису алгоритма., Индукция. Пусть А =» в за и шагов, где и > Е Первый шаг должен иметь вид А=» С~Сл..С» =» в, где каждый символ С, порождает в за число шагов, которое 7.1.

НОРМАЛЬНЫЕ ФОРМЫ КОНТЕКСТНО-СВОБОДНЫХ ГРАММАТИК 273 меньше л. По предположению индукции каждый символ С, обнаруживается как е-порождающий. Тогда с помощью индуктивного шага А также обнаруживается как е-порождающая на основе продукции А -+ С~Сп..бь П Пример 7.8. Рассмотрим следующую грамматику.

 — +АВ А — эаАА ~ е В -+ ЬВВ(е Сначала найдем е-порождающие символы. А и В непосредственно е-порождающие, так как имеют продукции с к в качестве тела. Тогда и В г-порождающий, поскольку тело продукции  — > АВ состоит только из в-порождающих символов. Таким образом, все три переменные являются к-порождающими. Построим теперь продукции грамматики б,. Сначала рассмотрим 5 — э АВ. Все символы тела являются г-порождающими, поэтому есть 4 способа выбрать присутствие или отсутствие А и В.

Однако нам нельзя удалять все символы одновременно, поэтому получаем следующие три продукции. В-эАВ~А~В Далее рассмотрим продукцию А — э аАА. Вторую и третью позиции занимают в-порождающие символы, поэтому снова есть 4 варианта их присутствия или отсутствия. Все они допустимы, поскольку в любом из них остается терминал а.

Два из них совпадают, поэтому в грамматике б, будут следующие три продукции. А — э аАА ~ аА ~ а Аналогично, пролукция для В приводит к следующим продукциям в бп В -э ЬВВ(ЬВ(Ь Обе к-продукции из б не вносят в б, ничего. Таким образом, следующие пролукции образуют ба В-+АВ~А~В А — > аАА ! аА ( а В-+ ЬВВ)ЬВ(Ь П Завершим наше изучение удаления е-продукций доказательством, что описанная конструкция не изменяет язык, за исключением того, что цепочки л в нем больше нет, если она была в языке грамматики б.

Поскольку конструкция, очевидно, удаляет кьпродукции, мы будем иметь полное доказательство утверждения о том, что для любой КС-грамматики б найдется такая КС-грамматика б, без е-продукций, для которой Цб~) = Цб) — 1к). Теорема 7.9. Если грамматика б, построена по грамматике б с помощью описанной выше конструкции удаления в-продукций, то Цб,) = Цб) — (е). 274 ГЛАВА 7. СВОЙСТВА КОНТЕКСТНО-СВОБОДНЫХ ЯЗЫКОВ Доказательство. Нужна доказать, что если»к И ц то и Н с»О») тогда и только тогда, когда и и )Аб). Как часто случается, проще доказать более общее утверждение, В данном случае будем говорить о терминальных цепочках, порождаемых каждой переменной, несмотря на то, чта нас интересуют лишь порождаемые стартовым символом 5.

Такни образом, докажем следующее утверждение. ° А =ь и тогда и только тогда, когда А =ь и и и и ц с, с В обе стороны доказательство проводится индукцией по длине порождения. (Необходимость) Пусть А ~ »и. Несомненно, »пи и, поскольку б» не имеет по, продукций. Докажем индукцией по длине порождения, что А =ь и. с Базис. Один шаг. В этом случае в О» есть продукция А — ь»г.

Согласно конструкции 6» в б есть продукция А -» а, причем а — это»о, символы которой, возможно, переме- каются с-порождающими переменными. Тогда в О есть порождение А =ь а =ь»г, где на о с шагах после первого, если они есть, из всех переменных в цепочке а выводится н Индукции. Пусть в порождении и шагов, и > 1. Тогда оно имеет вид А =» ХХь..Х» ~ и. Первая использованная продукция должна быть построена по прас, " с, лукини А — > У»Уь..1'„„где цепочка У»Уь,,у совладаете цепочкой Х,Хь,.Хь символы которой, возможно, перемежаются дополнительными и-порождающими переменными.

Це- почку»к можно разбить на»о»»гь..иь где Л; ~ и, для» = 1, 2, ..., 7». Если Л; есть терми- нщ то и, =Х, а если переменная, то порождение Х, ~ и; содержит менее и шагов. По с, предположению индукции Х, =ь в,, ' с Теперь построим соответствующее порождение в 6. А =ь У»Уз...у =ь ХХь..Х» ~ и»и»ь..и»= и с о с На первом шаге применяется продукция А — » У»Уь .. У„„которая, как мы знаем, есть в б. Следующая группа шагов представляет порождение и из тех Уо которые не являются ни одним из Х,. Последняя группа шагов представляет порождения и, из Х, которые суще- ствуют по предположению индукции. Достаточность) Пусть А ь ж и и и ш Докажем индукцией по длине и порождения, с чтпА =о ж.

с, 7.1. НОРМАЛЬНЫЕ ФОРМЫ КОНТЕКСТНО-СВОБОДНЫХ ГРАММАТИК 275 Базис. Один шаг. А -+ ж является продукцией в О. Поскольку н л д эта же продукция есть и в Сь поэтому А =» и. с, Индукции. Пусть в порождении и шагов, и > 1. Тогда оно имеет вид А =7 ?;У»... У =» гв Цепочку и можно разбить на и»»ил..и» так, что У, =» и, для 1= 1, 2, с с с ..., л». ПУсть Хп Хл ..., Х» бУдУт теми из У» (в поРЯдке записи), дла котоРых и, и Е lг> 1, поскольку н ~ н Таким образом, А — > Х»Хл ..Х» является продукцией в С». Утверждаем, что Х»Х»...Х» ~ н, поскольку только 1Ь которых нет среди Х», Хл ..., Хь использованы для порождения л и не вносят ничего в порождение и.

Так как каждое из по- рождений 1; .=» и, содержит менее и шагов, к ним можно применить предположение инс дукции и заключить, что если и, м К то 1; ~ нг Таким образом, А ~ Х»Л> ..Х» ~ и, с, Завершим доказательство. Нам известно, что и е ь1й») тогда и только тогда, когда 5 =»»г. Полагая, что А = В в описанных выше рассуждениях, получаем, что»г е ЦО») тос, гда и только тогда, когда 5 ~ »г и ж и е Таким образом, и е Ь!6») тогда и только тогда, с когда»ге !АЙ») ив я е С) ТЛ.4. Удаление цепных продукций Цепная лрсдукнил — это продукция вида А — + В, где и А, и В являются переменными.

Эти продукции могут быть полезными; в примере 5.27 мы видели, как использование цепных продукций Š— » Т и Т вЂ” » Е позволило построить следуюшую однозначную грамматику лля простых арифметических выражений. ! -+ а ( Ь!!а ! 1Ь (!О ( П Е вЂ” » 7( (Е) Т -+ Е)ТŠŠ— » Т~Е+ Т Вместе с тем, цепные продукции могут усложнять некоторые доказательства и создавать излишние шаги в порождениях, которые по техническим соображениям там совсем не нужны. Например, в продукции Š— » Т переменную Т можно расширить обоими возможными способами, заменив эту продукцию двумя: Š— » Е~ Т» Е Это изменение все еще не избавляет от цепных продукций из-за появления Š— » Е. Дальнейшая замена Е дает Š— » ! ~ (Е) ~ 7' " Е, однако при этом остается Е » 1. Но если в этой продукции заменить ! всеми шестью возможными способами, то получим следуюшие продукции.

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

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

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