Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовик без 3го задания.doc
Скачиваний:
3
Добавлен:
21.04.2019
Размер:
544.77 Кб
Скачать

Раздел 4.

АВТОМАТЫ И ПРЕОБРАЗОВАТЕЛИ С МАГАЗИННОЙ ПАМЯТЬЮ.

Общие сведения

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

Недетерминированным автоматом с магазинной памятью (МП-автоматом) называется семерка объектов Ρ = < Q, Σ, Γ, δ, q0, z0, F >, где Q – конечное множество состояний устройства управления, Σ – конечный алфавит входных символов, δ – функция переходов, которая задает отображение множества Q × (Σ ∪ {ε}) × Г в множество конечных подмножеств множества Q × Г*, q0 ∈ Q — начальное состояние устройства управления, z0  — начальный символ (дно) магазина,  F ⊆ Q — множество заключительных состояний.

Такт работы МП-автомата удобно описывать с помощью бинарного отношения «», определенного на множестве конфигураций.

(q, aw, Z)  (q′, w, γα), если (q′, γ)  ∈  δ(q, a, Z),

где q, q′ ∈ Q, a ∈ Σ ∪ {ε}, w ∈ Σ*, Z ∈ Г и α, γ ∈ Г*.

Если a ≠ ε и входная цепочка прочитана не до конца, то переход (q, aw, Aα)  (q′, w, γα) означает, что МП-автомат, находясь в состоянии q, обозревая символ a входной цепочки и имея символ A в верхушке магазина, может перейти в новое состояние q′, сдвинуть входную головку на один символ вправо и заменить верхний символ магазина A цепочкой магазинных символов γ. Если γ = ε, то верхний символ удаляется из магазина.

Если a = ε (ε-такт), то текущий входной символ в этом такте не принимается во внимание (ε-такты могут выполняться и тогда, когда вся входная цепочка прочитана) и входная головка остается неподвижной. При этом состояние устройства управления и содержимое магазина могут измениться. Заметим, что если магазин пуст, то очередной такт работы МП-автомата невозможен по определению.

Начальной конфигурацией МП-автомата называется конфигурация вида (q0, w, z0), где q0 – начальное состояние устройства управления, на входной ленте записана цепочка w ∈ Σ*, которую необходимо распознать, а магазин содержит только начальный символ z0.

Заключительной конфигурацией МП-автомата называется конфигурация вида (q, ε, α), где q ∈ F — одно из заключительных состояний устройства управления, входная цепочка прочитана до конца, а в магазине записана некоторая, заранее определенная, цепочка α ∈ Г*.

Говорят, что цепочка w ∈ Σ* допускается МП-автоматом, если (q0, w, z0)  (q, ε, α) для некоторых q ∈ F и α ∈ Г*.

Расширенным автоматом с магазинной памятью (РМП) называется семерка объектов Ρ = <Q, Σ, Γ, δ, q0, z0, F>, где δ — функция переходов, которая задает отображение множества Q × (Σ ∪ {ε}) × Г* в множество конечных подмножеств множества Q × Г*, а все остальные объекты те же, что и у МП-автомата.

РМП-автомат может выполнять такты и тогда, когда магазин пуст.

Класс языков, допускаемых МП-автоматами и РМП-автоматами, совпадает с классом языков, порождаемых КС-грамматиками.

Детерминированным МП-автоматом или детерминированным расширенным МП-атоматом называется распознаватель, который в любой конфигурации может выполнить не более одного такта.

Преобразователи с магазинной памятью (МП-преобразователи) или расширенные преобразователи с магазинной памятью (РМП-преобразователи) строятся на основе соответствующих автоматов с магазинной памятью путем добавления к ним выходной ленты и возможности записи на нее цепочек конечной длины.

Недетерминированным МП-преобразователем называется восьмерка объектов D = < Q, Σ, Γ, Δ, δ, q0, z0, F >, где ), где все символы, обозначающие объекты, имеют тот же смысл, что и в определении МП-преобразователя за исключением того, что функция переходов и выходов представляет собой отображение множества Q × (Σ ∪ {ε}) × Γ* в множество конечных подмножеств множества Q × Г* × Δ*.

Цепочка y ∈ Δ* называется выходом для цепочки x ∈ ∑*, если существует переход из начальной конфигурации (q0, x, z0, ε) МП-преобразователя или РМП-преобразователя в заключительную конфигурацию (q, ε, α, y), где α ∈ Г*, а q ∈ Q.

Переводом (преобразованием), определяемым МП-преобразователем или РМП-преобразователем D, называется множество

τ(D) = {(x, y) | (q0, x, Z0, ε)  (q, ε, α, y) для некоторых q ∈ F и α ∈ Γ*.