Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LK / Лекция 32

.doc
Скачиваний:
123
Добавлен:
10.05.2015
Размер:
137.22 Кб
Скачать

Баранов Виктор Павлович. Дискретная математика. Раздел 6. Конечные автоматы и формальные языки.

Лекция 32. Регулярные языки. Автоматы Милли и Мура

Лекция 32. РЕГУЛЯРНЫЕ ЯЗЫКИ. АВТОМАТЫ МИЛЛИ И МУРА

План лекции:

  1. Понятие формального языка.

  2. Регулярные языки и грамматики.

  3. Автоматы Милли и Мура. Распознавание множеств автоматами.

  1. Понятие формального языка

До начала XX века наука о языках – лингвистика – сводилась в основном к изучению естественных языков (русского, английского, латинского и т. д.), их классификации, выяснению сходств и различий между ними.

Возникновение и развитие метаматематики, изучающей по существу язык математики, логико-философские исследования языка науки, предпринятые Л. Виттгенштейном, Р. Карнапом и другими в 20-30 гг. XX века, идеи структурного подхода к лингвистике привели в 30-х годах к существенно более широкому представлению о языке, при котором под языком понимается всякое средство общения, состоящее из

  1. знаковой системы, т. е. множества допустимых последовательностей знаков;

  2. множества смыслов этой системы;

  3. соответствия между последовательностями знаков и смыслами, делающего осмысленными допустимые последовательности знаков.

Знаками могут быть буквы алфавита, математические обозначения, звуки и т. д. Наука об осмысленных знаковых системах называется семиотикой. Наиболее продвинутыми являются исследования знаковых систем, в которых знаками являются символы алфавитов, а последовательностями знаков – тексты. К таким знаковым системам относятся естественные языки, языки науки, а также языки программирования. Именно интерес к языкам программирования, совпавший с новыми подходами в структурной лингвистике и необходимостью решать задачу машинного перевода естественных языков, привел в 50-х гг. к возникновению новой науки – математической лингвистики, которая рассматривает языки как произвольные множества осмысленных текстов.

Правила, определяющие множества текстов, образуют синтаксис языка; описание множества смыслов и соответствия между тексами и смыслами – семантику языка. Наибольших успехов математическая лингвистика достигла в изучении синтаксиса, где за последние 30 лет сложился специальный математический аппарат – теория формальных грамматик.

С точки зрения синтаксиса язык понимается не как средство общения, а как множество формальных объектов – последовательностей символов алфавита, которые в теории алгоритмов и формальных систем называют словами. Язык, понимаемый как множество слов, будем называть формальным языком.

  1. Регулярные языки и грамматики

Пусть задан конечный алфавит

и тем самым множество всех конечных слов в этом алфавите:

.

Формальный язык в алфавите – это произвольное подмножество .

Набор правил образования слов формального языка называют его грамматикой. В зависимости от сложности этих правил формальные языки делятся на ряд классов. Далее мы рассмотрим один из наиболее простых классов языков – регулярные языки – и установим их связь с конечными автоматами.

Рассмотрим совокупность языков с одним и тем же алфавитом и введем операции над этими языками.

1. Объединение. Это теоретико-множественная операция, которая, в отличие от пересечения и дополнения, имеет естественную синтаксическую интерпретацию:

.

2. Конкатенация – это операция, связанная с подстановкой языка в язык:

.

3. Итерация языка определяется равенством

,

где – язык, состоящий из пустого слова, который не надо смешивать с пустым языком , не содержащим ни одного слова; , , …

Языки , , состоящие из пустого или однобуквенного слова, называются элементарными.

Язык называется регулярным, если его можно построить с помощью конечного числа операций объединения, конкатенации и итерации.

  1. Автоматы Милли и Мура. Распознавание множеств автоматами

Конечный автомат называется автоматом Мура, если его функция выходов зависит только от состояния:

.

Общая модель конечного автомата, которая рассматривалась ранее, называется автоматом Милли.

Несмотря на то, что автомат Милли – частный случай автомата Мура, возможности этих двух автоматов совпадают.

Теорема. Для любого автомата Милли существует эквивалентный ему автомат Мура.

Рассмотрим автомат Мура с двумя выходными символами 0 и 1.Такой автомат будет для одних входных слов выдавать 1, для других – 0. Будем считать, что в первом случае автомат «распознал» слово, а во втором – нет. Тем самым определяется некоторый язык, состоящий из слов, распознаваемых автоматом.

Разобьем состояния автомата Мура на два класса: класс – выход равен 1, класс – выход равен 0. Это позволяет не рассматривать функцию выходов и определить автомат-распознаватель как систему

.

С каждым таким автоматом свяжем распознаваемый им язык

,

то есть язык состоит из всех слов, которые переводят автомат из начального состояния в одно из заключительных.

Пример. , где , , , , а задается таблицей

Вход

Состояние

1

2

0

1

2

1

2

1

Слова, переводящие автомат в состояние 1 – это слова с четным количеством единиц. Поэтому язык .

Теорема анализа. Язык, распознаваемый автоматом, является регулярным.

3

Соседние файлы в папке LK