Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_dm.doc
Скачиваний:
44
Добавлен:
08.11.2018
Размер:
11.89 Mб
Скачать

Определение.

Линейно-ограниченным автоматом называется шестерка:

М = (V1, V2, Q, δ, q0, F),

где V1 = {a1, ..., am, Zl, Zp} – конечный входной алфавит;

V2 = {А1, ..., Аk} – конечное множество ленточных символов, причем V1 ≤ V2;

Q = {q0 , q1, ..., qn-1} – конечное множество состояний;

q0 ∈ Q – начальное состояние;

F ⊆ Q – множество заключительных состояний;

δ – функция, отображающая Q x V2 в множество подмножеств

Q x V2 x {Л, П}.

Множество V1 содержит два специальных символа Zl и Zp, называемых граничными маркерами, которые не позволяют головке управляющего устройства уйти с той части ленты, на которой задана входная цепочка.

Определение.

Формально линейно-ограниченный автомат является недетерминированной машиной Тьюринга с ограничением на длину цепочки рассматриваемых символов. Ситуация линейно-ограниченного автомата и элементарное действие определяются так же, как и для машины Тьюринга.

Определение.

Язык, допускаемый линейно-ограниченным автоматом, определяется как множество:

L(М) = {α | α∈ (V1 – { Zl, Zp })* ∧ (q0, Zl α Zp, 1) ├ * (qf, β, i)},

где qf = F, β ∈ V2*, 1 ≤ i ≤ n (n – длина исходной цепочки).

В настоящее время неизвестно, является ли класс языков, допускаемых детерминированными линейно-ограниченными автоматами, собственным подклассом класса языков, допускаемых недетерминированными линейно-ограниченными автоматами. Однако, для недетерминированных линейно-ограниченных автоматов установлено, что допускаемые ими языки являются НС-языками. Более того, доказано, что для любого НС-языка можно построить недетерминированный линейно-ограниченный автомат.

    1. Автоматы с магазинной памятью и бескон­текстные языки.

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

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

В отличие от конечных автоматов, рассмотренных ранее, автоматы и преобразователи с магазинной памятью снабжены дополнительной магазинной памятью (рабочей лентой) (рис. 4.11).

Рис. 4.11. Автоматы с магазинной памятью.

Конечное управляющее устройство (УУ) снабжается дополнительной управляющей головкой, всегда указывающей на верхнюю ячейку магазинной памяти: за один такт работы автомата управляющая головка может произвести следующие движения:

1) стереть символ из верхней ячейки (при этом все символы, находящиеся на рабочей ленте, перемещаются на одну ячейку вверх);

2) стереть символ из верхней ячейки и записать на рабочую ленту непустую цепочку символов (при этом содержимое рабочей ленты сдвигается вниз ровно настолько, какова длина записываемой цепочки).

Таким образом, устройство магазинной памяти можно сравнить с устройством магазина боевого автомата; когда в него вкладывается патрон, те, которые уже были внутри, проталкиваются вниз; достать можно только патрон, вложенный последним.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]