- •Н.А. Ююкин
- •Введение
- •1. Элементы комбинаторики
- •1.1. Простейшие комбинаторные конфигурации
- •Основные правила комбинаторики
- •Выборки элементов без повторений
- •Выборки элементов с повторениями
- •Латинские прямоугольники, конечные проективные плоскости и блок-схемы
- •1.2.1. Латинские прямоугольники
- •1.2.2. Конечные проективные плоскости
- •1.2.3. Блок-схемы
- •Формула включений и исключений
- •1.3.1. Объединение комбинаторных конфигураций
- •1.3.2. Принцип включения и исключения
- •1.3.3. Число булевых функций, существенно зависящих от всех своих переменных
- •1.3.4. Решето Эратосфена
- •1.4. Рекуррентные уравнения
- •1.4.1. Определение рекуррентного уравнения
- •1.4.2. Решение линейного однородного рекуррентного уравнения
- •1 (2).4.3. Решение линейного неоднородного рекуррентного уравнения
- •1.5. Производящие функции
- •1.5.1. Общие сведения о производящих функциях
- •1.5.2. Производящая функция для биноминальных коэффициентов
- •1.5.3. Производящая функция для чисел Фибоначчи
- •1.6.1. Определение z– преобразования
- •1.6.2. Обратное преобразование
- •В правой части этого равенства стоит контурный интеграл в z-плоскости по любому замкнутому контуру в области сходимости, охватывающему начало координат.
- •1.6.3. СвойстваZ-преобразования
- •1.6.4. Использование z-преобразований для решения рекуррентных уравнений
- •1.6.5. Таблица односторонних z-преобразований
- •1.7.Трансверсали и перманенты
- •1.7.1. Множества и мультимножества
- •1.7.2. Трансверсали
- •1.7.3. Пермамент матрицы
- •1.7.4. Число трансверсалей
- •1.8. Матрицы Адамара
- •1.8.1. Определение матрицы Адамара и ее свойства
- •1.8.2. Эквивалентные преобразования матриц Адамара
- •1.8.3. Построение матриц Адамара
- •2. Теория автоматов
- •2.1. Понятие конечного автомата
- •2.1.1. Общие сведения о конечных автоматах
- •2.1.2. Абстрактное определение конечного автомата
- •2.2. Эквивалентности в автоматах
- •2.2.1. Основные определения
- •2.2.2. Покрытия и морфизмы
- •2.2.3. Эквивалентные состояния автоматов
- •2.3. Процедура минимизации конечных автоматов
- •2.4. Автоматные функции и эксперименты с автоматами
- •2.4.2. Моделирование автоматной функции с помощью схемы из функциональных элементов и задержки
- •2.4.3. Эксперименты с автоматами
- •2.5. Автоматные языки
- •2.5.1. Представление о формальных языках
- •2.5.2. Алфавит, слово, язык
- •2.5.3. Классификация грамматик и языков
- •2.5.4. Понятие формальной грамматики
- •2.5.5. Автоматные грамматики.
- •2.6. Модификации конечных автоматов
- •2.6.1. Не полностью описанные (частичные) автоматы
- •2.6.2. Понятия недетерминированного и вероятностного автомата
- •2.7. Процедура минимизации не полностью описанного автомата
- •2.7.1. Совместимые состояния
- •2.7.2. Техника определения совместимых состояний.
- •2.7.3. Построение минимального автомата
- •3. Введение в нечеткую математику
- •3.1. Нечёткие множества
- •3.2. Нечеткие отношения
- •3.3. Нечеткая логика
- •Заключение
- •Библиографический список
- •Оглавление
- •1. Элементы комбинаторики 7
- •2. Теория автоматов 58
- •3. Введение в нечеткую математику 106
2.5.4. Понятие формальной грамматики
Формальная грамматика применяется в математической лингвистике для описания естественных и искусственных языков.
Формальная грамматика — система правил, описывающая множество конечных последовательностей символов. Конечные последовательности (цепочки), входящие в указанное множество, называются предложениями, а само множество — языком, описываемым данной формальной грамматикой. Различают два типа формальных грамматик:
Грамматики порождающие— это системы правил, позволяющие строить предложения языка.
Грамматики распознающие— это алгоритм, распознающие по любой цепочке, является ли она предложением или нет.
Определение. Порождающей грамматикойназывается четверка (V,T,P,A), где V — конечный алфавит, состоящий изсимволов,- подмножествотерминальныхсимволов,- выделенный нетерминальный символ, обозначающий совокупность всех порождаемых объектов;P- конечное множествоправил порождениявидаu→ν, где u — непустая строка нетерминальных символов, а ν — некоторая строка. Множествовсех строк терминальных символов, которые можно получить применением правил порождения, называетсяязыком. Оно является подмножествоммножества — всех строк символов из T.
В приложениях к грамматике естественных языков терминальными считаются обычные слова, а символы из — есть названия частей речи и других грамматических категорий. Правила порождения здесь могут быть следующего типа А = <предложение> →<подлежащее><сказуемое> и правила подстановки типа <подлежащее> →<мальчик> и <сказуемое>→ <улыбается>. Строки терминальных символов языка являются грамматически правильнымипредложениями.
В языках символической логики некоторые правила порождения называются аксиомами, а другие - «правилами вывода». «Предложения», которые можно породить с помощью правил вывода и аксиом, называютсятеоремамирассматриваемой дедуктивной системы.
Рассмотри примеры порождающих грамматик с,т.е. грамматик с единственной грамматической категорией.
Пустьи P состоит из двух правил порождения,. Эта грамматика порождает язык, т.е. Множествосостоит из всех конечных строк, составленных из символа C.
Пусть и P состоит из следующих правил порождения:
,где∧— пустая строка, которая подчиняется правилу, т.е. она исчезает в любой непустой строке. Эта грамматика порождает пустую строку и две двоичные последовательности вида,где, а— обращение строки.
Пустьи состоит из правил порождения,. Она порождает язык.
Пусть , а P состоит из правил порождения,,. Она порождает язык, состоящий из всех строк в,закончившихся на b.
Определение. Правило порожденияназываетсяконтекстно -свободным, если оно применимо к любой строке видаи дает строку. Язык, который порождается лишь контекстно-свободными правилами, называетсяконтекстно-свободным.
Если разрешается применять правило к строкелишь при некоторых a,b, то это правило называетсязависящим от контекста. Заметим при этом, что правила естественных языков в сильной степени зависят от контекста. Искусственные языки обычно являются контекстно-свободными.
2.5.5. Автоматные грамматики.
Рассмотрим языки, которые «принимаются» или «распознаются» автоматами с конечным числом состояний. Такой после считывания символа в состоянии s переходит в новое состояние. Считав последний символ, автомат останавливается. Если он остановился в одном из «принимающих» состояний из отмеченного множестваF, входная строка считаетсяпринятой. Есликонечное состояние автомата лежит в, то строка считаетсяотвергнутой. Рассмотрим формальное определение.
Акцептором с конечным числом состояний(конечным акцептором, анализатором) называется пятерка, где:
- конечное множество входных символов,
- конечное множество внутренних состояний,
φ- функция изв,
- начальное состояние
- множество принимающих состояний.
Входные символы линейно упорядочены, так как они напечатаны на входной ленте, и последовательно считываются читающей головкой. Пример конечного акцептора, заданного с помощью графа.
Данный акцептор принимает, в частности следующие строки как 001, 0001, 100, 1010, 10110.
Рассмотрим класс грамматики, порождающих в точности такие множества строк, которые принимаются некоторым конечным акцептором.
Определение. Автоматной грамматикой называется четверка, где
- конечное множество входных символов,
- конечное множество терминальных символов,
- конечное множество правил порождения вида
- отмеченный начальный символ.
Небольшие конечные акцепторы, а также автоматные грамматики, удобно изобразить с помощью диаграмм состояний. Для составления диаграммы состояний автоматной грамматики - следует произвести следующие действия:
Шаг 1. Каждому нетерминальному символу из постaвить в соответствие вершину графа.
Шаг 2. Каждому правилупоставить в соответствие дугу от вершиныквершине, помеченную символом.
Шаг 3. Каждому правилупоставить в соответствие дугу от вершины к новой вершине, с пометкой ПРИНЯТЬ.
Пример. На рисунке показана диаграмма состояний (помеченный ориентированный граф), отвечающая автоматной грамматике Gс правилами.
с
Для автоматных грамматик справедлив ряд утверждений (теорем):
Последовательность меток дуг вдоль любого конечного пути, начинающегося из вершины А. На диаграмме грамматикиG, является строкой, порождаемойG, и, наоборот, все порождаемые строки отвечают некоторым путям.
Для любой автоматной грамматики существует конечный акцептор, принимающий в точности те строки, которые порождает грамматика.
Для любого конечного акцептора существует автоматная грамматика, порождающая в точности те строки, которые принимаются этим акцептором.
Существуют контекстно-свободные языки, не являющиеся автоматными языками.