Главная » Просмотр файлов » Бильгаева Н.Ц. - Теория алгоритмов, формальных языков, грамматик и автоматов

Бильгаева Н.Ц. - Теория алгоритмов, формальных языков, грамматик и автоматов (1082244), страница 10

Файл №1082244 Бильгаева Н.Ц. - Теория алгоритмов, формальных языков, грамматик и автоматов (Бильгаева Н.Ц. - Теория алгоритмов, формальных языков, грамматик и автоматов) 10 страницаБильгаева Н.Ц. - Теория алгоритмов, формальных языков, грамматик и автоматов (1082244) страница 102018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Задания для самостоятельной работы1.Построить КС-грамматику, порождающую язык an для n>0.2.Построить КС-грамматику, порождающую язык anbn для n>0.3.Построить КС-грамматику, порождающую язык (ab)nc*an+m для n>0 и m>0.4.Построить КС-грамматику, порождающую язык (ab)*ca*bn+m для n>0 и m>0.5.Построить КС-грамматику, порождающую язык anb3mcma2n = an(bbb)mcm(aa)n дляn>1 и m>1.6.Построить КС-грамматику, порождающую язык (ab)n(ca)*bn+2(abc)* для n>0.7.Для леворекурсивной грамматики G: S→SabA | ba; A→AbA|bAa|c построитьэквивалентную праворекурсивную грамматику.8.Построить алгоритм устранения правой рекурсии и доказать эквивалентностьсоответствующего преобразования.9.Построить КС-грамматику, порождающую идентификаторы, при этомобозначить символом t любую букву, а символом f - любую цифру.10.

Дана КС-грамматика G:S → Aab | bSb | abB;A→ abS | ba | bbA;B → bB | Da | Aa;D → Dbb | aDa.Построить эквивалентную грамматику, все нетерминалы которой продуктивны.5. ТЕОРИЯ АВТОМАТОВ5.1. Понятие автомата. Типы автоматовАвтомат - это алгоритм, определяющий некоторое множество и, возможно,преобразующий его в другое множество.

Неформальное описание автоматов выглядитследующим образом: автомат имеет входную ленту, управляющее устройство с конечнойпамятью для хранения номера состояния, а также может иметь вспомогательную (рабочую)и выходную ленты.Существует два типа автоматов:1) распознаватели - автоматы без выхода, которые распознают, принадлежит ли входнаяцепочка заданному множеству L;2) преобразователи - автоматы с выходом, которые преобразуют входную цепочку x вцепочку y при условии, что x ∈ L.Входную ленту можно рассматривать как линейную последовательность ячеек, причемкаждая ячейка может хранить один символ из некоторого конечного входного алфавита.Лента автомата бесконечна, но занято на ней в каждый момент времени только конечноечисло ячеек.

Граничные слева и справа от занятой области ячейки могут заниматьспециальные концевые маркеры. Маркер может стоять только на одном конце ленты илиможет отсутствовать вообще.Входная головка в каждый момент времени читает (обозревает) одну ячейку входнойленты. За один такт работы автомата входная головка может сдвинуться на одну ячейкувправо или остаться на месте, при этом она выполняет только чтение, т.е. в ходе работыавтомата символы в ячейках входной ленты не меняются.Рабочая лента - это вспомогательное хранилище информации. Данные с нее могутчитаться автоматом, могут и записываться на нее.Управляющее устройство - это программа, управляющая поведением автомата.

Онопредставляет собой конечное множество состояний вместе с отображением, описывающим,как меняются состояния в соответствии с текущим входным символом, читаемым входнойголовкой, и текущей информацией, извлеченной с рабочей ленты. Управляющее устройствотакже определяет направление сдвига рабочей головки и то, какую информацию записать нарабочую ленту.Автомат работает, выполняя некоторую последовательность рабочих тактов. В началетакта читается входной символ и исследуется информация на рабочей ленте. Затем, взависимости от прочитанной информации и текущего состояния, определяются действияавтомата:1) входная головка сдвигается вправо или стоит на месте;2) на рабочую ленту записывается некоторая информация;3) изменяется состояние управляющего устройства;4) на выходную ленту (если она есть) записывается символ.Поведение автомата удобно описывать в терминах конфигурации автомата, котораявключает в себя:а) состояние управляющего устройства;б) содержимое входной ленты с положением входной головки;в) содержимое рабочей ленты вместе с положением рабочей головки;г) содержимое выходной ленты, если она есть.Управляющее устройство может быть недетерминированным.

В таком случае длякаждой конфигурации существует конечное множество возможных следующих тактов,любой из которых автомат может сделать, исходя из этой конфигурации. Управляющееустройство будет детерминированным, если для каждой конфигурации будет возможентолько один следующий такт.Существуют следующие типы автоматов:1) машина Тьюринга (МТ);2) линейно-ограниченный автомат (ЛОА);3) автомат с магазинной памятью (МП-автомат);4) конечный автомат (КА).Сложность рабочей ленты определяет сложность автомата.

Так, например:1) машина Тьюринга имеет неограниченную в обе стороны ленту;2) у линейно-ограниченного автомата длина рабочей ленты представляет собойлинейную функцию длины входной цепочки;3) у МП-автомата рабочая лента работает по принципу магазина LIFO;4) у конечного автомата рабочая лента отсутствует.5.2.

Формальное определение автоматаНеинициальный автомат - это пятерка вида А = (К, X, Y, δ, γ), гдеК - множество состояний (алфавит состояний);Х - входной алфавит;Y - выходной алфавит;δ - функция переходов, задающая отображение К⋅Х→К;γ - функция выходов, задающая отображение К⋅Х→У.Функционирование автомата можно задать множеством команд вида qx → py, где q и p∈ K, x ∈ X, y ∈ Y.Пусть на некотором такте ti управляющее устройство находится в состоянии q, а извходной ленты читается символ x.

Если в множестве команд есть команда qx → py, то натакте ti на выходную ленту записывается символ y, а к следующему такту ti+1 управляющееустройство перейдет в состояние p, т.е.:y(t) = γ(q(t), x(t)), q(t+1) =δ(q(t), x(t)).Если же команда qx → py отсутствует, то автомат оказывается блокированным и нереагирует на символ, принятый в момент ti, а также перестает воспринимать символы впоследующие моменты времени.В соответствии с определением неинициального автомата в начальный моментсостояние автомата может быть произвольным.Если зафиксировано некоторое начальное состояние, то такой автомат называютинициальным, т.е.

q(0) = q0.Инициальный автомат - это шестерка вида А = (К, X, Y, δ, γ, q0), гдеК - множество состояний (алфавит состояний);Х - входной алфавит;Y - выходной алфавит;δ - функция переходов (отображение К ⋅ Х → К);γ - функция выходов (отображение К ⋅ Х → У);q0 - начальное состояние.5.3. Распознаватели5.3.1. Языки и автоматыЗадача грамматического разбора заключается в нахождении вывода цепочки в заданнойграмматике и определения дерева вывода этой цепочки.Языки могут быть заданы двумя способами:1) грамматиками (порождающее средство языка);2) автоматами (распознающее средство языка).Различным по сложности автоматам соответствуют разные типы языков.

Простейшимтипом автоматов являются конечные автоматы.Конечный автомат имеет входную ленту, с которой за один такт может быть считан одинвходной символ. Возврат по входной ленте не допускается.Конечным автоматом называется пятерка вида А = (К, ∑, δ, p0, F), гдеК - конечное множество состояний;∑ - алфавит;δ - функция переходов;p0 - начальное состояние;F - множество заключительных состояний.Автомат можно определить как формальную систему через состояния, через символы,которые пишутся (читаются) с ленты или с нескольких лент, и через набор команд.Конечный автомат можно представить графом, таблицей переходов, командами, а такжематрицей переходов.5.3.2 Регулярные множестваРегулярные множества образуют класс языков, имеющих важное значение для теорииформальных языков. Рассмотрим несколько методов задания языков, каждый из которыхопределяет регулярные множества.

Среди них - регулярные выражения, праволинейныеграмматики, детерминированные и недетерминированные конечные автоматы.Пусть Σ - некоторый алфавит. Регулярное множество в алфавите Σ определяетсярекурсивно следующим образом:1) 0 - пустое множество;2) {ε} - множество из пустой цепочки;3) {a} - регулярное множество для каждого элемента a ∈ Σ;4) если P и Q - регулярные множества в алфавите Σ, то регулярными являютсямножества:а) P ∪ Qб) PQв) P*.Других регулярных множеств в алфавите Σ нет. Таким образом, некоторое множествоцепочек в заданном алфавите Σ называется регулярным тогда и только тогда, когда либо оноявляется одним из множеств: 0, {ε} или {a} для некоторого a ∈ Σ, либо его можно получитьиз этих множеств применением конечного числа операций объединения, конкатенации иитерации.Для каждого регулярного множества существует по крайней мере одно регулярноевыражение, обозначающее это множество.Язык, распознаваемый конечным автоматом, - это множество цепочек, читаемыхавтоматом при переходе из начального состояния в одно из заключительных состояний:L(A)={a1 a2 ...

an | p0a1 → p1, p1a2 → p2, ..., pn-1an → pn; pn ∈ F}.Множество называется регулярным, если существует конечный детерминированныйавтомат, распознающий его.5.3.3. Операции над регулярными языкамиТаккакпроизвольномуконечномуавтоматуоднозначносоответствуетдетерминированный конечный автомат, операции над конечными автоматами эквивалентныоперациям над регулярными множествами, или регулярными языками.Известно, что для произвольного конечного автомата можно построить эквивалентныйавтомат без циклов в начальных и (или) конечных состояниях.Теорема. Для произвольного конечного автомата существует конечный автомат безциклов в начальном состоянии.Доказательство.

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

Тип файла
PDF-файл
Размер
528,46 Kb
Тип материала
Высшее учебное заведение

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

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