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

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

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

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

Аналогично можно потребовать, чтобы на каждом шаге заменялась крайняя справа переменная на одно из тел. В таком случае порождение называется ллааым (г(я!»гшоз!), и для его обозначения используются символы =» и =». Имя используемой грамматики также при необходимости записывается внизу. Пример 5.6. Порождение из примера 5.5 в действительности было левым, и его можно представить следующим образом. Е =» Е» Е =» ! * Е =» а» Е ~ 5.1. КОНТЕКСТНО-СВОБОДНЫЕ ГРАММАТИКИ 191 а * (Е) =~ а " (Е+ Е) ~ а * (! + Е) ~ а * (а е Е) ~ ! ! ! ! а * (а ь У) =~ а * (а + !О) =~ а * (а + 100) =~ а * (а е ЪОО) ! ! ! Обозначения для порождений, заданных КС-грамматиками Существует немало соглашений, напоминающих о роли тех или иных символов, ис- пользуемых в КС-грамматиках.

Будем использовать следующие соглашения. П Строчные буквы из начала алфавита (а, Ь и т.д.) являются терминальными символами. Будем предполагать, что цифры и другие символы типа знака+ или круглых скобок — также терминалы. 2.

Прописные начальные буквы (А, В и т.д.) являются переменными. 3. Строчные буквы из конца алфавита, такие как !г или а, обозначают цепочки терминалов. Зто соглашение напоминает, что терминалы аналогичны входным снм- волам конечного автомата. 4. Прописные буквы из конца алфавита, вроде Хили У, могут обозначать как терми- палы, так и переменные.

5. Строчные греческие буквы (а, )5 и т.д.) обозначают цепочки, состоящие из терминалов и)или переменных. Для цепочек, состоящих только из переменных, специального обозначения нет, поскольку это понятие не имеет большого значения.

Вместе с тем, цепочка, обозначенная а или другой греческой буквой, возможно, состоит только из переменных. Можно резюмировать левое порождение в виде Е =ь а * (а+ ЬОО) или записать несколь! ко его шагов в виде выражений типа Е * Е =~ и ' (Е). ! Следующее правое порождение использует те же самые замены для каждой переменной, хотя и в другом порядке. Е =~ Е'Е =~ Е*(Е) =~Е*(Е+Е) =~ Е к (Е е !) => Е * (Е ~- Ю) =о Е " (Е ь )00) ~ Е * (Е + ЬОО) =~ ! П! Е *(!и ЬОО) =~ Е " (а+ ЬОО) =~ ! «(а+ ЬОО) =» а*(а+ ЬОО) Данное порождение также позволяет заключить, что Е =~ а * (а+ ЬОО).

Любое порождение имеет эквивалентные левое и правое порождения. Зто означает, что если н — терминальная цепочка, а А — переменная, то А ~ и тогда и только тогда когда А =~ зг, а также А =~ !г тогда и только тогда, когда А ~ и. Зги утверждения дока- в зываются также в разделе 5.2. ГЛАВА б. КОНТЕКСТНО-СВОБОДНЫЕ ГРАММАТИКИ И ЯЗЫКИ 192 $.1,5, Язык, задаваемый грамматикой Если б=(1', Т, Р,б) — КС-грамматика, то язык, задаваемый грамматикой 6„или язык грамматики б, обозначается 1(б) и представляет собой множество терминальных цепочек, порождаемых из стартового символа.

Таким образом, Цб) = (и~ н 7 ) Я =» и~) . с Если язык Е задается некоторой КС-грамматикой, то он называется коптекстносеобсдпыи, или КС-языка,и. Например, мы утверждали, что грамматика, представленная на ряс. 5.1, определяет множество палиндромов в алфавите (О, 1). Таким образом, множество палиндромов является КС-языком. Можем доказать это утверждение слелуюшим образом. Теорема 5.7. Язык ЦСеы), где Оеы — грамматика из примера 5.1, является множеством палиндромов над (О, 1) . Доказательство. Докажем, что цепочка и в (О, 1) принадлежит Цап») тогда и только тогда, когда она является палиндромом, т.е. и = ге .

Достаточпасп1») Пусть и — палиндром. Докажем индукцией по (и (, что и е Цб м). Базис. Если Ое( = О илн )и ! = 1, то и представляет собой е, О или 1. Поскольку в грам- матике есть продукции Р— » е, Р— » О, Р » 1, то во всех случаях Р е и. Индукции. Пусть !и ~ > 2. Так как и = и, она должна начинаться и заканчиваться ода вим и тем же символом, т.е.

ге = Охб или зе = 1х1. Кроме того, х является палиндромом, т.е. х = хк. Заметим, что нам необходим факт ~и ~ > 2, чтобы обеспечить наличие двух различных нулей или единиц на обоих концах и . Если и = Охб, то по предположению индукции Р =-» х. Тогда существует порождение и из Р: Р =» ОРО ~ Охб = и. Если и = 1х1, то рассуждения аналогичны, но с использовавием продукции Р » 1Р! на первом шаге. В обоих случаях заключаем, что»г н ЦО„,~), тем самым завершая доказательство. (Оеобходимоспгь) Предположим, что и е Цб„„), т.е, Р =» и.

Докажем, что и — паливдром. Проведем доказательство индукцией по числу шагов в порождении и из Р. Базис. Если порождение имеет один шаг, то он использует одну из трех продукций, ве имеюших Р в теле, т.е. порождение представляет собой Р ~ е, Р ~ О или Р ~ 1. Так квк е, О и 1 — палиндромы, то базис доказан. Индукция. Предположим, что порождение состоит из и"; 1 шагов, где и > 1, и что утверждение индукции верно для всех порождений из п шагов. Таким образом, если Р =ь х за и шагов, то х является палиндромом. Рассмотрим (и + 1)-шаговое порождение, которое должно иметь вид Р =»ОРО =» Охб = ж 5.1, КОНТЕКСТНО-СВОБОДНЫЕ ГРАММАТИКИ 193 или Р ~ !Р! =» !х1 = н, поскольку и + 1 шаг — это как минимум два шага, н только использование продукций Р— > ОРО нли Р— » !Р! делает возможными дополнительные ша- ги порождения.

Заметим, что в обоих случаях Р ~ х за н шагов. По предположению индукции х является палиндромом, т.е. х = ха. Но тогда и Охб, и 1х1 — палиндромы. Например, (ОхО) = Ох О = ОхО, Делаем вывод, что н — палиндром и завершаем доказательство. П 5.1.б. Выводимые цепочки Порождения из стартового символа грамматики приводят к цепочкам, имеющим особое значение. Они называются "выводимыми цепочками*' ("зепгепг!а! Топи'*). Итак, если С = (1', Т, Р, 5) — КС-грамматика, то любая цепочка а из (Щ Т), для которой Е =» а, называется выводимой цепочкой.

Если Я ~ а, то а является левовыводимой цепочкой, а и если Е ~ а, то — нравовыводимой. Заметим, что язык 1(О) образуют выводимые цепочки из Т, состоящие исключительно нз терминалов. Пример 5.8. Рассмотрим грамматику выражений (см. рис. 5.2). Например, Е " (1+ Е) является выводимой цепочкой, поскольку существует следующее порождение. Е =» Е * Е » Е * (Е) =» Е * (Е + Е) ~ Е» (1 + Е) Однако это порождение не является ни левым, ни правым, так как на последнем шаге заменяется среднее Е.

Примером левовыводимой цепочки может служить а * Е со следующим левым порождением. Е ~ Е" Е=» 1»Е=» а»Е и /т и Аналогично, порождение Е =» Е * Е =» Е* (Е) =» Е* (Е"; Е) показывает, что Е * (Е+ Е) является правовыводимой цепочкой. П Способ доказательства теорем о грамматиках Теорема 5.7 типична для доказательств, показывающих, что та нли иная грамматика задает некоторый неформально определенный язык. Сначала строится предположение индукции, говорящее о свойствах цепочек, порождаемых из каждой переменной. В данном примере была только одна переменная Р, поэтому нам было достаточно доказать, что ее цепочки были палиндромами. ГЛАВА б. КОНТЕКСТНО-СВОВОДНЫЕ ГРАММАТИКИ И ЯЗЫКИ 194 Доказывается достаточность: если цепочка зг удовлетворяет неформальным утверждениям о цепочках переменной А, то А =~ н.

В нашем примере, поскольку Р явля- ется стартовым символом, мы утверждали "Р =~ ю", говоря, что н принадлежит языку грамматики. Обычно достаточность доказывается индукцией по длине слова н. Если в грамматике к переменных, то индуктивное утверждение имеет !г частей, которые доказываются с помощью взаимной индукции. Нужно доказать также необходимость, т.е. что если А =» и, то и удовлетворяет неформальным утверждениям о цепочках, порождаемых из переменной А.

Поскольку в нашем примере был только стартовый символ Р, предположение о том, что н а Е(бр„), было равносильно Р =ь н. Для доказательства этой части типична нндукдвя по числу шагов порождения. Если в грамматике есть продукции, позволяющие нескольким переменным появляться в порождаемых цепочках, то и-шаговое порождение нужно разбить на несколько частей, по одному порождению из каждой переменной. Эти порождения могут иметь менее п шагов, поэтому следует предполагать утверждение индукции верным для всех значений, которые не больше и, как это обсуждалось в разделе 1 А.2.

5.1.7. Упражнения к разделу 5,1 5,1.1. Построить КС-грамматики для следующих языков; а) (ь) множество (О" 1" ! и > 1) всех цепочек из одного и более символов О, за которыми следуют символы 1 в таком же количестве; б) (я!) множество (а'Ь'с" ! ! ~( или!'~Ц всех цепочек из символов а, за которыми следуют символы Ь и затем с так, что количества символов а и Ь или количества Ь и с различны; в) (!) множество всех цепочек из символов а и Ь, не имеющих вида ив, т.е.

не равных ни одной цепочке-повторению; г) (!!) множество всех цепочек, у которых символов 0 вдвое больше, чем символов 1. 5,1.2. Следуюшая грамматика порождает язык регулярного выражения 0 1(0+ 1) . Я вЂ” э А1В А — > ОА ) в В- ОВ~ !В!в Запишите левое и правое порождения следуюших цепочек: а) 00101; 5.1. КОНТЕКСТНО-СВОБОДНЫЕ ГРАММАТИКИ б) !001; в) 000!!. 5.1.3. Докажите, что каждый регулярный язык является КС-языком. Указание. Постройте КС-грамматику с помощью индукции по числу операторов в регулярном выражении. 5.1.4.

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

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

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