Научная литература
booksshare.net -> Добавить материал -> Лингвистика -> Гросс М. -> "Теория формальных грамматик " -> 57

Теория формальных грамматик - Гросс М.

Гросс М., Лантен А. Теория формальных грамматик — М.: Мир, 1971. — 296 c.
Скачать (прямая ссылка): teoriyaformalnihgrammatik1971.djvu
Предыдущая << 1 .. 51 52 53 54 55 56 < 57 > 58 59 60 61 62 63 .. 101 >> Следующая


Хотя недетерминированный конечный автомат располагает на первый взгляд «большими возможностями», чем детерминированный, «допускающая сила» обоих типов автоматов оказывается одинаковой. Именно, для любого недетерминированного конечного автомата А с алфавитом V, множеством состояний S = (S0, ..., Sp) и функцией переходов M можно построить эквивалентный ему детерминированный конечный автомат А' следующим образом. Состояниями автомата А' будут всевозможные подмножества S; функция переходов M' автомата А' определяется соотношением

M (а, о)= (J M (a, S);

S ест

начальным состоянием А' будет подмножество S, состоящее из одного состояния — начального состояния автомата А, заключитель- Гл. X. Автоматные языки и конечные автоматы

167

ными — все подмножества S, содержащие хотя бы одно заключительное состояние А. Детерминированность автомата А' и его эквивалентность автомату А устанавливаются без труда.

10.3.2. Двусторонние автоматы

Еще одно естественное обобщение понятия конечного автомата можно получить, допустив перемещение ленты в обоих направлениях (до сих пор мы считали, что лента движется только в одном направлении). Тогда, обозревая символ в некоторой ячейке ленты, автомат сможет «возвращаться назад», обозревать другой символ, снова протягивать ленту вперед и т. д. вплоть до самого левого символа рабочей цепочки.

Формально перемещение ленты задается в двустороннем автомате функцией переходов; эта функция имеет такую же область определения, как у обычного конечного автомата, и принимает значения из произведения S X {Л,П}, где S — множество состояний, а JI и П обозначают сдвиг ленты на одну ячейку влево и вправо.

Можно доказать, что всякому двустороннему автомату можно поставить в соответствие эквивалентный «обычный», т. е. односторонний, автомат. Таким образом, и это обобщение не изменяет класса допускаемых языков (получаются по-прежнему А-языки).

10.3.3. k-определенные автоматы

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

Вот пример автомата, не являющегося ^-определенным ни при каком kl): 168

Часть II. Некоторые замечательные классы языков

Понятие ft-определенного автомата использовалось для исследования естественных языков, в частности при изучении й-буквен-ных сочетаний в письменном тексте. Берется матрица, строки которой соответствуют всем последовательностям из k букв рассматриваемого языка, а столбцы — буквам этого языка. На пересечении строки і и столбца j записывается вероятность того, что буква встретится в тексте вслед за последовательностью букв рг-. Порождение слова ft-определенным автоматом, представленным посредством подобной матрицы, выполняется так. Находясь в состоянии, которое соответствует самой левой в слове последовательности из k букв: Cii1Cil2 ... aik, автомат выдает в зависимости от этих k букв букву uj и переходит в состояние, соответствующее последовательности ahah ... CilkCLl.

§ 10.4. СВОЙСТВА ЗАМКНУТОСТИ.

ПРЕДСТАВЛЕНИЕ А-ЯЗЫКОВ ПО КЛИНИ

Покажем, что А-языки образуют булеву алгебру.

10.4.1. Объединение

Объединение А-языков есть А-язык. Это утверждение доказывается так же, как аналогичное утверждение для КС-языков.

10.4.2. Дополнение

Рассмотрим (детерминированный) конечный автомат А, допускающий язык L. Построй^ по А автомат А' следующим образом (нам будет удобно говорить при этом не о самих автоматах, а о соответствующих графах). Все вершины и дуги графа автомата А войдут в граф А'. Кроме того, граф А' будет содержать еще одну вершину R, в которую будут вести следующие дуги: а) если из какой-либо вершины 5 исходного графа не выходит ни одной дуги, помеченной символом а, то из S в R идет дуга, помеченная этим символом; б) для каждого основного символа а из R в R идет дуга («петля»), помеченная этим символом. Начальная вершина нового графа будет совпадать с начальной вершиной старого; заключительными вершинами будут R и все незаключительные вершины старого графа Из детерминированности А сразу следует, что А' не допустит ни одной цепочки языка L. В то же время любая цепочка в основном словаре, не принадлежащая L, будет допущена автоматом А': если она является началом какой-либо цепочки из L, она будет «написана» на некотором пути, ведущем из начальной вершины в незаключительную вершину старого графа, в противном случае — на пути, ведущем из начальной вершины в R. Таким образом, А' допускает дополнение L. Гл. X. Автоматные языки и конечные автоматы

169

Итак, дополнение А-языка есть А-язык.

Из этого результата вместе с предыдущим вытекает, что и пересечение двух А-языков есть А-язык.

10.4.3. Произведение и итерация

Произведение А-языков есть А-язык. Для доказательства достаточно рассмотреть А-грамматики Gi и G2 с непересекающимися вспомогательными словарями и объединить множества их правил, заменив при этом каждое правило вида А ->а грамматики Gi правилом A-^aB0, где B0 — аксиома грамматики G2.
Предыдущая << 1 .. 51 52 53 54 55 56 < 57 > 58 59 60 61 62 63 .. 101 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed