- •1. Алгоритм и его характеристики
- •2. Вычислимые функции и их графики
- •3.Разрешимые и перечислимые множества. Критерий разрешимости множества
- •4.Рекурсивные функции и операторы. Примеры
- •5. Машина Тьюринга и её программа. Машина Тьюринга как алгоритм
- •6. Эффективная нумерация машин Тьюринга
- •7. Неразрешимые алгоритмические проблемы
- •8. Детерминированные конечные автоматы и их работа. Диаграмма и функция переходов. Расширенная функция переходов. Язык дка
- •9. Недетерминированные конечные автоматы и их работа. Диаграмма и отношение переходов. Язык нка
- •10. Недетерминированные конечные автоматы с ε-переходами и их работа. Язык ε-нка
- •11. Языки. Операции над языками
- •12. Регулярные выражения и их свойства. Язык регулярного выражения
- •13. Регулярные выражения и дка
- •14. Свойства регулярных языков. Лемма о накачке. Замкнутость регулярных языков
- •15. Контекстно-свободные грамматики, порождения цепочек, язык грамматики
- •16. Замкнутость и разрешимость кс-языков
- •17. Полезные, порождающие и достижимые символы кс – грамматики. Нормальная форма Хомского кс-грамматики
- •18. Приведение кс-грамматики (контекстно-свободной) к нфх - грамматике (нормальной форме Хомского)
- •19. Автоматы с магазинной памятью и их работа. Конфигурация мп-автомата и его язык, вычисление.
- •21. Эффективная нумерация машин Тьюринга. Язык диагонализации и универсальный язык. Эффективная нумерация машин Тьюринга
- •22. Рекурсивный и рекурсивно-перечислимые языки. Иерархия языков по Хомскому
- •23. Временная сложность машин Тьюринга. Классы p и np языков и связь между ними
19. Автоматы с магазинной памятью и их работа. Конфигурация мп-автомата и его язык, вычисление.
МП-автомат – один из способов задания КС - грамматики
Опр. МП – автомат - недетерминированный конечный автомат, дополненный магазином (с переходом по пустому слову – ε-НКА), в котором хранятся цепочки магазинных символов.
М П - автомат может хранить потенциальное бесконечное число информации, но по своему устройству МП - автомат имеет доступ к информации только с одного конца. Last-in-first-out. (снимается та информация, которая пришла последней). Схема автомата:
Конечное управление читает входящий символ по одному. МП - автомат может обозревать символы на вершине магазина. Мп-автомат может обозревать символы замещения и совершать переход на основе текущего состояния автомата, входного символа и символа замещения магазина. Если в магазине ничего нет, то автомат может использовать пустую цепочку в качестве входа.
За один переход автомат совершает следующее:
- прочитывает и пропускает входящий символ, использованный при переходе.
– вход = ε (пустая цепочка), то входные символы не допускаются.
- переходим в новое состояние, которое может не отличаться от предыдущего.
- заменяет символ на вершине магазина некоторой цепочки (цепочка может быть и пустой), это означает, что символ снят с вершины магазина (что было, то и осталось).
- автомат может заменить символ на вершине магазина без снятия предыдущего символа.
- символ может быть заменён несколькими символами – может быть изменились символы на вершине и в магазин поместились ещё символы.
Опр. МП - автомат – это семерка P = (Q,Σ, Г, δ, q0, z0, F), где
Q - конечное множество состояний автомата,
Σ - конечное множество входящих символов (алфавитное множество),
Г- конечное множество магазинных символов, не имеющие конечного автоматного аналога.
δ – функция переходов. δ (q,a,X) = {p,γ} – в состоянии q автомат прочитал символ а.
Где p,q - состояния автомата, а- читаемый входной символ или пустая цепочка, Х - символ магазинного автомата (символ на вершине), γ - цепочка магазинных символов (может быть и пустой).
Если γ = ε, то магазинный символ Х снимается: γ=yz, Х↔у – символ х замещается на у, сверху помещается z.
q0 - начальное состояние,
z0 – мартёр, показывает, когда магазин опустел (в начале работы автомата в магазине находится только z0),
F – множество допускаемых цепочек.
Пример. МП-автомат, язык которого – язык палиндромов чётной длины, т.е. число символов в нём чётное.
w и wR – обращение цепочки.
wwR – конкатенация (чётный палиндром).
w = AB, то wwR = АВВА
L(wwR) = {wwR | w }
P = ({q0, q1, q2}, {0, 1}, {z0, 0, 1}, δ. q0, z0, {q0})
1). δ(q0, 0, z0) = {(q0, 0z0)}
δ(q0, 1, z0) = {(q0, 1z0)}
2). δ(q0, 0, 0) = {(q0, 00)}
δ(q0, 0, 1) = {(q0, 01)}
δ(q0, 1, 0) = {(q0,10)}
δ(q0, 1, 1) = {(q0, 11)}
3). δ(q0, ε, z0) = {(q1, z0)}
δ(q0, ε, 0) = {(q1, 0)}
δ(q0, ε, 1) = {(q1, 1)}
переходы по пустому слову.
4). δ(q1, 0, 0) = {(q1, ε)}
δ(q1, 1, 1) = {(q1, ε)}
5). δ(q1, ε, z0) = {(q1, z0)}
Автоматы, которые реализуют палиндром чётной длины.
Опр. Конфигурацией или мгновенным описанием МП-автомата называется тройка (q,w, γ), где q - начальное состояние, w-цепочка, которую осталось прочитать, γ- то, что собралось в магазине.
Пусть в данный момент автомат P = (Q,Σ, Г, δ, q0, z0, F) читает символ а и видит в вершине магазина Х: δ(q,a,X). Из того состояния автомат переходит в несколько другое: δ(q,a,X) (p,α).
Из этого состояния q автомат перешел в состояние p и на вершине магазина появляется α. Тогда для всех цепочек w из Σ*, для всех β из T* полагают (q, aw, Xβ)├(p, w, αβ), т.е. прочитав в состоянии q символ а и прочитав символ Х, автомат может перейти в состояние р и заменить Х цепочкой α.
Опр. Последовательность конфигураций, которая возникает при чтении цепочек, называется вычислением.
1). Если автомат допускает свой вход, прочитывая его и допуская заключительные состояния, то эта цепочка допускается по заключительному состоянию.
2). Если прочитав цепочку, автомат опустошает магазин, то эта цепочка допускается автоматом по пустому магазину.
Возникает 2 языка:
1) по заключительному состоянию р: L(p) = {w T* | (q, w, z0) (q0, ε, α)}, т.е.
терминалы цепочки, которые воспринимаются этим автоматом в начальном состоянии и перерабатываются этим автоматом.
2) по пустому магазину N(p) = {w T* | (q, w, z0) (q, ε, ε)}, т.е. терминалы цепочки, которые прочитываются из начального состояния, при этом опустошается магазин.
Теорема: если L - язык автомата по пустому магазину (L=N(P)) для некоторого автомата N, то существует МП - автомат PF, язык которого по заключительному состоянию будет язык L. L(PF) = L
Т.е. можно считать, что L(p) и N(p) один и тот же язык.
20. МП-автоматы (с магазинной памятью) и КС-грамматики
Опр. МП – автомат – P = (Q, Σ,Г, δ, q0, z0,F)
Q – некоторое конечное множество состояний автомата
Σ – некоторое конечное множество терминальных(то есть элементов алфавита, из которых составляются цепочки) символов
Г – некоторое конечное множество магазинных сисмволов, не имеющих конечного автоматного аналога
δ – функция переходов (q состояние, а прочитал, на вершине магазина Х). Регулирует, куда перейдет автомат и что будет автомат делать
δ(q, a,X) = (p,γ). p,q – состояния автомата, а – читаемый входной символ ил пустая цепочка, Х – символ магазинного автомата, γ – цепочка магазинных символов, в том числе она может быть и пустой; если пустая – магазинный символ снимается. Если γ=уz, то Х заменяется на у, z – на верх магазина
q0 – начальное состояние
z0 – маркер дна, показывает,когда магазин пуст. В начале работы автомата в магазине ничего нет, только z0
F – множество допускающих состояний.
Опр. КС – грамматика – G = (V,T,P,S)
V – множество переменных (переменные определяют язык - нетерминалы, синтаксические категории)
Т – множество терминалов (элементы алфавита, из которого составляются цепочки определяемого данной грамматикой языка)
Р – множество правил вывода, конечное (продукции, каждая из них представляет рекурсивное определение языка. Продукция состоит из переменной, определяющей продукцию – головы продукции; символа продукции «→»; конечной цепочки, состоящей из терминалов и переменных – тело продукции = способ образования цепочек языка, определяемого переменной в голове)
S – стартовый символ
Пусть дана КСГ и МП-автомат. Функция перехода этого автомата обладает следующими свойствами: 1). δ(q, ε, A) = {(q, β) | A → β – продукция G} для всех А; 2). δ(q,a,a)={(q, ε ) для каждого а из Т}
Теорема. N(P) = L(G). Язык автомата Р по пустому магазину(либо по заключительному состоянию) совпадает с языком данной грамматики.
Если дан автомат, то язык этого автомата является языком некоторой грамматики.
Теорема. Пусть Р = (V, Σ, Г, δ, q0, z0) – некоторый автомат с магазинной памятью,
тогда существует контекстно-свободная грамматика G, язык которой не совпадает с языком этого автомата по пустому магазину.
Как по автомату построить грамматику:
G = (V, Σ,R,S)
1) V: S V, где S – стартовый символ.
[pxq] V, где p,q - состояния автомата, X – магазинный символ.
2) как строятся продукции (правила вывода):
а) S →[ q0z0p] для всех состояний р (из стартового символа получается, что видим дно магазина в состоянии запуска). Этот символ предназначен для таких цепочек w, которые приводят автомат к высказыванию z0 из магазина при переходе из состояния q0 в состояние р.
(q0,w, z0) ├ (q, ε ,ε). Эти продукции порождают из стартового символа те цепочки w, которые приводят к опустошению магазина после старта в начальной конфигурации.
б) δ(q,a,X) (r,y1y2…yk) (состояние, символ, вершина магазина) (состояние, вершина магазина), (a Σ, a= ε), k≥0, при к=0 будет (r, ε)
Для всех состояний r1,r2,…,rk в грамматике G есть продукция [qXrk] →a[ry1r1][r1y2r2]…[rk-1ykrk]. Одним из способов выталкивания из магазина символа Х и перехода из состояния q в состояние rk является следующее: прочитать символ а и вычеркнуть из вершины магазина символ y1, потом вытолкнуть y2, …, перейти в состояние rk и вытолкнуть yk
Автомат характеризуется некоторым числом параметров. Пусть построен автомат, который характеризуется n параметрами (n-длина представления автомата). Линейно зависят от этого n (О(n)) следующие преобразования:
1) преобразовать КС-грамматику в автомат с магазинной памятью (но только для КСГ выражений).
2) преобразование МП - автомата, допускающего по заключительному состоянию в автомат по пустому магазину.
3) преобразование автомата по пустому магазину в автомат по заключительному состоянию. Преобразование МП-автомата в грамматику пропорционально О(nn). Теорема: Существует алгоритм сложности О(n3), который по автомату с магазинной памятью строит КС-грамматику длиной не более О(n3). Эта грамматика порождает язык автомата по пустому магазину. Теорема: по грамматике длины n можно построить ее НФХ за время О(n2). Эта форма будет иметь длину О(n2).