20110925 csseminar formal_grammars_complexity

165
Вычислительная сложность формальных грамматик Александр Охотин Кафедра математики, университет Турку, Финляндия 25 сентября 2011 г. от Р. Х. Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 1 / 31

Transcript of 20110925 csseminar formal_grammars_complexity

Page 1: 20110925 csseminar formal_grammars_complexity

Вычислительная сложность формальных грамматик

Александр Охотин

Кафедра математики, университет Турку, Финляндия

25 сентября 2011 г. от Р. Х.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 1 / 31

Page 2: 20110925 csseminar formal_grammars_complexity

Часть I

Назначение и математическое определениеграмматик

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 2 / 31

Page 3: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.

Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:

I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:

I Подлежащее и следующее за ним сказуемое образуютпредложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 4: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:

I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:

I Подлежащее и следующее за ним сказуемое образуютпредложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 5: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:

I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:

I Подлежащее и следующее за ним сказуемое образуютпредложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 6: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:I Число — это выражение.

I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.2 В естественных языках:

I Подлежащее и следующее за ним сказуемое образуютпредложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 7: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:

I Подлежащее и следующее за ним сказуемое образуютпредложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 8: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:

I Подлежащее и следующее за ним сказуемое образуютпредложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 9: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:I Подлежащее и следующее за ним сказуемое образуют

предложение.

I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 10: 20110925 csseminar formal_grammars_complexity

Определение синтаксиса

Сложные данные передаются последовательностью символов.Индуктивные определения правильных записей.

1 В математике, языках программирования, и т.д.:I Число — это выражение.I Если e и e′ — выражения, то e + e′, e ∗ e′ и (e) — тоже выражения.

2 В естественных языках:I Подлежащее и следующее за ним сказуемое образуют

предложение.I Прилагательное и существительное образуют подлежащее.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 3 / 31

Page 11: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), где

Σ: алфавит целевого языка (a,b,c,. . . )N: вспомогательный символы для синтаксических понятий,

таких, как выражение или подлежащее.

Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 12: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), гдеΣ: алфавит целевого языка (a,b,c,. . . )

N: вспомогательный символы для синтаксических понятий,таких, как выражение или подлежащее.

Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 13: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), гдеΣ: алфавит целевого языка (a,b,c,. . . )N: вспомогательный символы для синтаксических понятий,

таких, как выражение или подлежащее.

Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 14: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), гдеΣ: алфавит целевого языка (a,b,c,. . . )N: вспомогательный символы для синтаксических понятий,

таких, как выражение или подлежащее.Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 15: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), гдеΣ: алфавит целевого языка (a,b,c,. . . )N: вспомогательный символы для синтаксических понятий,

таких, как выражение или подлежащее.Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 16: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), гдеΣ: алфавит целевого языка (a,b,c,. . . )N: вспомогательный символы для синтаксических понятий,

таких, как выражение или подлежащее.Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 17: 20110925 csseminar formal_grammars_complexity

Формальная запись для таких описаний

Четвёрка G = (Σ,N,R, S), гдеΣ: алфавит целевого языка (a,b,c,. . . )N: вспомогательный символы для синтаксических понятий,

таких, как выражение или подлежащее.Всякая строка w ∈ Σ∗ может иметь или не иметькаждое свойство A ∈ N.

R : множество правил вида

A→ X1 . . .X` (A ∈ N, ` > 0, Xi ∈ Σ ∪ N)

S ∈ N: множество правильных предложений.

Если w ∈ Σ∗ представима, как X1 · . . . · X`, то w имеет свойство A.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 4 / 31

Page 18: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].

Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 19: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.

Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 20: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 21: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 22: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 23: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 24: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 25: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.

Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 26: 20110925 csseminar formal_grammars_complexity

Определение через дедукциюУтверждения вида “w имеет свойство X ”,где w ∈ Σ∗ и X ∈ Σ ∪ N. Обозначение: [X ,w ].Аксиомы: ` [a, a] для всех a ∈ Σ.Правила вывода:

[X1,w1], . . . , [Xk ,wk ] ` [A,w1 . . .wk ] (A→ X1 . . .Xk ∈ R, wi ∈ Σ∗)

Example: S → aSb | ε` [a, a] (аксиома)

` [b, b] (аксиома)

` [S , ε] (S → ε)

[a, a], [S , ε], [b, b] ` [S , ab] (S → aSb)

[a, a], [S , ab], [b, b] ` [S , aabb] (S → aSb)

Pro: Это истинный смысл грамматик.Contra: Не столь удобно в использовании.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 5 / 31

Page 27: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.Всегда имеет решение, и среди них есть наименьшее.Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.Contra: Трудно получить непринадлежность наименьшему

решению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 28: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.

Всегда имеет решение, и среди них есть наименьшее.Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.Contra: Трудно получить непринадлежность наименьшему

решению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 29: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.Всегда имеет решение, и среди них есть наименьшее.

Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.Contra: Трудно получить непринадлежность наименьшему

решению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 30: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.Всегда имеет решение, и среди них есть наименьшее.Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.Contra: Трудно получить непринадлежность наименьшему

решению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 31: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.Всегда имеет решение, и среди них есть наименьшее.Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.Contra: Трудно получить непринадлежность наименьшему

решению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 32: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.Всегда имеет решение, и среди них есть наименьшее.Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.

Contra: Трудно получить непринадлежность наименьшемурешению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 33: 20110925 csseminar formal_grammars_complexity

Определение через языковые уравненияВсякий A ∈ N: неизвестный язык над Σ.

I Множество строк w ∈ Σ∗, имеющих свойство A.

Система уравнений

A =⋃

A→X1...X`∈R

X1 · . . . · X` (для всех A ∈ N),

где Xj = a ∈ Σ — постоянный язык {a}.Всегда имеет решение, и среди них есть наименьшее.Записывает счётное множество шагов дедукции одновременно.

Example: S → aSb | εS = {a}S{b} ∪ {ε}, единственное решение S = {anbn | n > 0}.

Pro: Легко проверить решение.Contra: Трудно получить непринадлежность наименьшему

решению.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 6 / 31

Page 34: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).

Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 35: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.

Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 36: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 37: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ w

a ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 38: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 39: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 40: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.

Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 41: 20110925 csseminar formal_grammars_complexity

Определение через перезапись строкX Н. Хомский, “О некоторых формальных свойствах грамматик”

(1959).Перезапись строк над (Σ ∪ N)∗.Правила — как правила перезаписи:

µAν =⇒ µαν (A→ α ∈ R)

w ∈ Σ∗ имеет свойство A ∈ N, если A =⇒ . . . =⇒ wa ∈ Σ: “терминальные символы”,A ∈ N: “нетерминальные символы”.

Example: S → aSb | εS =⇒ aSb =⇒ aaSbb =⇒ aabb

Pro: Просто, можно преподавать даже школьникам.Contra: Не передаёт истинный смысл грамматик.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 7 / 31

Page 42: 20110925 csseminar formal_grammars_complexity

Часть II

Разновидности грамматик

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 8 / 31

Page 43: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.

I “w удовлетворяет условию A или условию B”

Где конъюнкция и отрицание?

I “w удовлетворяет обоим условиям A и B”I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 44: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.

I “w удовлетворяет условию A или условию B”

Где конъюнкция и отрицание?

I “w удовлетворяет обоим условиям A и B”I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 45: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.

I “w удовлетворяет условию A или условию B”Где конъюнкция и отрицание?

I “w удовлетворяет обоим условиям A и B”I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 46: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.I “w удовлетворяет условию A или условию B”

Где конъюнкция и отрицание?

I “w удовлетворяет обоим условиям A и B”I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 47: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.I “w удовлетворяет условию A или условию B”

Где конъюнкция и отрицание?

I “w удовлетворяет обоим условиям A и B”I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 48: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.I “w удовлетворяет условию A или условию B”

Где конъюнкция и отрицание?I “w удовлетворяет обоим условиям A и B”

I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 49: 20110925 csseminar formal_grammars_complexity

Булевы действия в грамматиках

S → aSb | ε

w имеет свойство Sm

w = aub, где u имеет свойство S∨

w = ε

Несколько правил для одного символа: дизъюнкция.I “w удовлетворяет условию A или условию B”

Где конъюнкция и отрицание?I “w удовлетворяет обоим условиям A и B”I “w удовлетворяет A, но не B”

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 9 / 31

Page 50: 20110925 csseminar formal_grammars_complexity

Конъюнктивные грамматики (Охотин, 2000)Правила вида

A→ α1& . . .&αm (α1, . . . , αm ∈ (Σ ∪ N)∗)

“Если w представимо в виде α1, . . . , αm, то w имеет свойство A”

Определение через дедукцию утверждений [A,w ].Определение через языковые уравнения.

A =⋃

A→α1&...&αm∈R

m⋂i=1

αi

Определение через перезапись термов.

sAs ′ =⇒ s(α1& . . .&αm)s ′ =⇒ . . . =⇒ s(w& . . .&w)s ′ =⇒ sws ′

Могут задать {anbncn | n > 0}, {wcw |w ∈ Σ∗}, {a4n | n > 0}, и т.д.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 10 / 31

Page 51: 20110925 csseminar formal_grammars_complexity

Конъюнктивные грамматики (Охотин, 2000)Правила вида

A→ α1& . . .&αm (α1, . . . , αm ∈ (Σ ∪ N)∗)

“Если w представимо в виде α1, . . . , αm, то w имеет свойство A”

Определение через дедукцию утверждений [A,w ].

Определение через языковые уравнения.

A =⋃

A→α1&...&αm∈R

m⋂i=1

αi

Определение через перезапись термов.

sAs ′ =⇒ s(α1& . . .&αm)s ′ =⇒ . . . =⇒ s(w& . . .&w)s ′ =⇒ sws ′

Могут задать {anbncn | n > 0}, {wcw |w ∈ Σ∗}, {a4n | n > 0}, и т.д.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 10 / 31

Page 52: 20110925 csseminar formal_grammars_complexity

Конъюнктивные грамматики (Охотин, 2000)Правила вида

A→ α1& . . .&αm (α1, . . . , αm ∈ (Σ ∪ N)∗)

“Если w представимо в виде α1, . . . , αm, то w имеет свойство A”

Определение через дедукцию утверждений [A,w ].Определение через языковые уравнения.

A =⋃

A→α1&...&αm∈R

m⋂i=1

αi

Определение через перезапись термов.

sAs ′ =⇒ s(α1& . . .&αm)s ′ =⇒ . . . =⇒ s(w& . . .&w)s ′ =⇒ sws ′

Могут задать {anbncn | n > 0}, {wcw |w ∈ Σ∗}, {a4n | n > 0}, и т.д.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 10 / 31

Page 53: 20110925 csseminar formal_grammars_complexity

Конъюнктивные грамматики (Охотин, 2000)Правила вида

A→ α1& . . .&αm (α1, . . . , αm ∈ (Σ ∪ N)∗)

“Если w представимо в виде α1, . . . , αm, то w имеет свойство A”

Определение через дедукцию утверждений [A,w ].Определение через языковые уравнения.

A =⋃

A→α1&...&αm∈R

m⋂i=1

αi

Определение через перезапись термов.

sAs ′ =⇒ s(α1& . . .&αm)s ′ =⇒ . . . =⇒ s(w& . . .&w)s ′ =⇒ sws ′

Могут задать {anbncn | n > 0}, {wcw |w ∈ Σ∗}, {a4n | n > 0}, и т.д.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 10 / 31

Page 54: 20110925 csseminar formal_grammars_complexity

Конъюнктивные грамматики (Охотин, 2000)Правила вида

A→ α1& . . .&αm (α1, . . . , αm ∈ (Σ ∪ N)∗)

“Если w представимо в виде α1, . . . , αm, то w имеет свойство A”

Определение через дедукцию утверждений [A,w ].Определение через языковые уравнения.

A =⋃

A→α1&...&αm∈R

m⋂i=1

αi

Определение через перезапись термов.

sAs ′ =⇒ s(α1& . . .&αm)s ′ =⇒ . . . =⇒ s(w& . . .&w)s ′ =⇒ sws ′

Могут задать {anbncn | n > 0}, {wcw |w ∈ Σ∗}, {a4n | n > 0}, и т.д.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 10 / 31

Page 55: 20110925 csseminar formal_grammars_complexity

Булевы грамматики (Охотин, 2003)

Правила видаA→ α1& . . .&αm&¬β1& . . .&¬βn

“Если w представимо в виде α1, . . . , αm и непредставимо в виде β1,. . . , βn, то w имеет свойство A”.

Можно выразить противоречие: S → ¬S .Определение через языковые уравнения.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 11 / 31

Page 56: 20110925 csseminar formal_grammars_complexity

Булевы грамматики (Охотин, 2003)

Правила видаA→ α1& . . .&αm&¬β1& . . .&¬βn

“Если w представимо в виде α1, . . . , αm и непредставимо в виде β1,. . . , βn, то w имеет свойство A”.

Можно выразить противоречие: S → ¬S .

Определение через языковые уравнения.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 11 / 31

Page 57: 20110925 csseminar formal_grammars_complexity

Булевы грамматики (Охотин, 2003)

Правила видаA→ α1& . . .&αm&¬β1& . . .&¬βn

“Если w представимо в виде α1, . . . , αm и непредставимо в виде β1,. . . , βn, то w имеет свойство A”.

Можно выразить противоречие: S → ¬S .Определение через языковые уравнения.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 11 / 31

Page 58: 20110925 csseminar formal_grammars_complexity

Краткий обзор грамматик

X Индуктивное определение.

X Длинные строки получаются сцеплением коротких.X Сцепления образуют дерево разбора.

Строка длины n зависит от n2 её подстрок.

1 Логика для определения синтаксиса.

2 Обыкновенная бесконтекстная грамматика — дизъюнктивныйфрагмент.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 12 / 31

Page 59: 20110925 csseminar formal_grammars_complexity

Краткий обзор грамматик

X Индуктивное определение.X Длинные строки получаются сцеплением коротких.

X Сцепления образуют дерево разбора.Строка длины n зависит от n2 её подстрок.

1 Логика для определения синтаксиса.

2 Обыкновенная бесконтекстная грамматика — дизъюнктивныйфрагмент.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 12 / 31

Page 60: 20110925 csseminar formal_grammars_complexity

Краткий обзор грамматик

X Индуктивное определение.X Длинные строки получаются сцеплением коротких.X Сцепления образуют дерево разбора.

Строка длины n зависит от n2 её подстрок.

1 Логика для определения синтаксиса.

2 Обыкновенная бесконтекстная грамматика — дизъюнктивныйфрагмент.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 12 / 31

Page 61: 20110925 csseminar formal_grammars_complexity

Краткий обзор грамматик

X Индуктивное определение.X Длинные строки получаются сцеплением коротких.X Сцепления образуют дерево разбора.

Строка длины n зависит от n2 её подстрок.

1 Логика для определения синтаксиса.

2 Обыкновенная бесконтекстная грамматика — дизъюнктивныйфрагмент.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 12 / 31

Page 62: 20110925 csseminar formal_grammars_complexity

Краткий обзор грамматик

X Индуктивное определение.X Длинные строки получаются сцеплением коротких.X Сцепления образуют дерево разбора.

Строка длины n зависит от n2 её подстрок.

1 Логика для определения синтаксиса.

2 Обыкновенная бесконтекстная грамматика — дизъюнктивныйфрагмент.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 12 / 31

Page 63: 20110925 csseminar formal_grammars_complexity

Краткий обзор грамматик

X Индуктивное определение.X Длинные строки получаются сцеплением коротких.X Сцепления образуют дерево разбора.

Строка длины n зависит от n2 её подстрок.

1 Логика для определения синтаксиса.2 Обыкновенная бесконтекстная грамматика — дизъюнктивный

фрагмент.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 12 / 31

Page 64: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.

3 Детерминированные или LR(k) грамматики:правило/разбиение можно определить, читая слева направо.

4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 65: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.

2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.

3 Детерминированные или LR(k) грамматики:правило/разбиение можно определить, читая слева направо.

4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 66: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.3 Детерминированные или LR(k) грамматики:

правило/разбиение можно определить, читая слева направо.4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 67: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.

I Для всякого сцепления BC в правилах,w ∈ L(B)L(C ) =⇒ ∃! разбиение.

3 Детерминированные или LR(k) грамматики:правило/разбиение можно определить, читая слева направо.

4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 68: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.

3 Детерминированные или LR(k) грамматики:правило/разбиение можно определить, читая слева направо.

4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 69: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.3 Детерминированные или LR(k) грамматики:

правило/разбиение можно определить, читая слева направо.

4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 70: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.3 Детерминированные или LR(k) грамматики:

правило/разбиение можно определить, читая слева направо.4 LL(k) грамматики: можно определить, начиная читать подстроку.

5 Грамматики, управлямые входом (input-driven;также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 71: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.3 Детерминированные или LR(k) грамматики:

правило/разбиение можно определить, читая слева направо.4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):

I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 72: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.3 Детерминированные или LR(k) грамматики:

правило/разбиение можно определить, читая слева направо.4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.

I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 73: 20110925 csseminar formal_grammars_complexity

Важные особые случаи грамматик

1 Линейные грамматики: правила вида A→ uBv и A→ w , гдеu, v ,w ∈ Σ∗.

I A→ u1B1v1& . . .&umBmvm: линейная конъюнктивная.2 Однозначные грамматики:

I Правила A→ A1 | . . . | An порождают непересекающиеся языки.I Для всякого сцепления BC в правилах,

w ∈ L(B)L(C ) =⇒ ∃! разбиение.3 Детерминированные или LR(k) грамматики:

правило/разбиение можно определить, читая слева направо.4 LL(k) грамматики: можно определить, начиная читать подстроку.5 Грамматики, управлямые входом (input-driven;

также “visibly pushdown” на ломаном английском):I Алфавит Σ+1 ∪ Σ0 ∪ Σ−1.I Правила A→ aDbE (a ∈ Σ+1, b ∈ Σ−1), A→ cD (c ∈ Σ0), A→ ε.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 13 / 31

Page 74: 20110925 csseminar formal_grammars_complexity

Классификация формальных грамматик

Общего вида — однозначные — детерминированные (LR) —сильно детерминированные (LL).

Oбщего вида — с линейным сцеплением — управляемые входом.Булевы действия: {∨,∧,¬} — {∨,∧} — {∨}.

* * *

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 14 / 31

Page 75: 20110925 csseminar formal_grammars_complexity

Классификация формальных грамматик

Общего вида — однозначные — детерминированные (LR) —сильно детерминированные (LL).Oбщего вида — с линейным сцеплением — управляемые входом.

Булевы действия: {∨,∧,¬} — {∨,∧} — {∨}.

* * *

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 14 / 31

Page 76: 20110925 csseminar formal_grammars_complexity

Классификация формальных грамматик

Общего вида — однозначные — детерминированные (LR) —сильно детерминированные (LL).Oбщего вида — с линейным сцеплением — управляемые входом.Булевы действия: {∨,∧,¬} — {∨,∧} — {∨}.

* * *

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 14 / 31

Page 77: 20110925 csseminar formal_grammars_complexity

Классификация формальных грамматик

Общего вида — однозначные — детерминированные (LR) —сильно детерминированные (LL).Oбщего вида — с линейным сцеплением — управляемые входом.Булевы действия: {∨,∧,¬} — {∨,∧} — {∨}.

* * *

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 14 / 31

Page 78: 20110925 csseminar formal_grammars_complexity

Часть III

Сложность языков

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 15 / 31

Page 79: 20110925 csseminar formal_grammars_complexity

Время работы известных алгоритмовЗадача принадлежности для семейства языков LПусть L ∈ L. Для данной строки w , определить, принадлежит ли она L.

O(n)

O(n2)

O(nω)

Булевы грамматики общего вида: за время O(BMM(n) log n)(Валиант, 1975; Охотин, 2010).Однозначные грамматики: за время O(n2)(Касами и Тории, 1967; Охотин, 2008).LR(k)-грамматики (DetCF): за время O(n) (Кнут, 1965).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 16 / 31

Page 80: 20110925 csseminar formal_grammars_complexity

Время работы известных алгоритмовЗадача принадлежности для семейства языков LПусть L ∈ L. Для данной строки w , определить, принадлежит ли она L.

O(n)

O(n2)

O(nω)

Булевы грамматики общего вида: за время O(BMM(n) log n)(Валиант, 1975; Охотин, 2010).Однозначные грамматики: за время O(n2)(Касами и Тории, 1967; Охотин, 2008).LR(k)-грамматики (DetCF): за время O(n) (Кнут, 1965).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 16 / 31

Page 81: 20110925 csseminar formal_grammars_complexity

Время работы известных алгоритмовЗадача принадлежности для семейства языков LПусть L ∈ L. Для данной строки w , определить, принадлежит ли она L.

O(n)

O(n2)

O(nω)

Булевы грамматики общего вида: за время O(BMM(n) log n)(Валиант, 1975; Охотин, 2010).

Однозначные грамматики: за время O(n2)(Касами и Тории, 1967; Охотин, 2008).LR(k)-грамматики (DetCF): за время O(n) (Кнут, 1965).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 16 / 31

Page 82: 20110925 csseminar formal_grammars_complexity

Время работы известных алгоритмовЗадача принадлежности для семейства языков LПусть L ∈ L. Для данной строки w , определить, принадлежит ли она L.

O(n)

O(n2)

O(nω)

Булевы грамматики общего вида: за время O(BMM(n) log n)(Валиант, 1975; Охотин, 2010).Однозначные грамматики: за время O(n2)(Касами и Тории, 1967; Охотин, 2008).

LR(k)-грамматики (DetCF): за время O(n) (Кнут, 1965).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 16 / 31

Page 83: 20110925 csseminar formal_grammars_complexity

Время работы известных алгоритмовЗадача принадлежности для семейства языков LПусть L ∈ L. Для данной строки w , определить, принадлежит ли она L.

O(n)

O(n2)

O(nω)

Булевы грамматики общего вида: за время O(BMM(n) log n)(Валиант, 1975; Охотин, 2010).Однозначные грамматики: за время O(n2)(Касами и Тории, 1967; Охотин, 2008).LR(k)-грамматики (DetCF): за время O(n) (Кнут, 1965).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 16 / 31

Page 84: 20110925 csseminar formal_grammars_complexity

NL-полнота линейных бесконтекстных грамматикNL = NSPACE(log n); NL-полная задача: достижимость в графе.

Теорема (Сэдборо, 1975)1 LinCF ⊆ NL,2 LinCF содержит NL-полный язык.

Правила A→ uBv , разбор угадывается с двух концов.Построение NL-полного языка: f

({w$wR | w ∈ {a, b}}

), где:

f (L) ={

[w1,1# . . .#w1,`1 ] . . . [wk,1# . . .#wk,`k ]∣∣

∃i1, . . . , ik : w1,i1 . . .wk,ik ∈ L}

Кодирование достижимости в графе:

[a1b]

[#a1bat1,1b# . . .#a1bat1,m1 b] . . .

[anb$] [#banban] . . . [#ba1ba1]

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 17 / 31

Page 85: 20110925 csseminar formal_grammars_complexity

NL-полнота линейных бесконтекстных грамматикNL = NSPACE(log n); NL-полная задача: достижимость в графе.

Теорема (Сэдборо, 1975)1 LinCF ⊆ NL,2 LinCF содержит NL-полный язык.

Правила A→ uBv , разбор угадывается с двух концов.Построение NL-полного языка: f

({w$wR | w ∈ {a, b}}

), где:

f (L) ={

[w1,1# . . .#w1,`1 ] . . . [wk,1# . . .#wk,`k ]∣∣

∃i1, . . . , ik : w1,i1 . . .wk,ik ∈ L}

Кодирование достижимости в графе:

[a1b]

[#a1bat1,1b# . . .#a1bat1,m1 b] . . .

[anb$] [#banban] . . . [#ba1ba1]

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 17 / 31

Page 86: 20110925 csseminar formal_grammars_complexity

NL-полнота линейных бесконтекстных грамматикNL = NSPACE(log n); NL-полная задача: достижимость в графе.

Теорема (Сэдборо, 1975)1 LinCF ⊆ NL,2 LinCF содержит NL-полный язык.

Правила A→ uBv , разбор угадывается с двух концов.

Построение NL-полного языка: f({w$wR | w ∈ {a, b}}

), где:

f (L) ={

[w1,1# . . .#w1,`1 ] . . . [wk,1# . . .#wk,`k ]∣∣

∃i1, . . . , ik : w1,i1 . . .wk,ik ∈ L}

Кодирование достижимости в графе:

[a1b]

[#a1bat1,1b# . . .#a1bat1,m1 b] . . .

[anb$] [#banban] . . . [#ba1ba1]

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 17 / 31

Page 87: 20110925 csseminar formal_grammars_complexity

NL-полнота линейных бесконтекстных грамматикNL = NSPACE(log n); NL-полная задача: достижимость в графе.

Теорема (Сэдборо, 1975)1 LinCF ⊆ NL,2 LinCF содержит NL-полный язык.

Правила A→ uBv , разбор угадывается с двух концов.Построение NL-полного языка: f

({w$wR | w ∈ {a, b}}

), где:

f (L) ={

[w1,1# . . .#w1,`1 ] . . . [wk,1# . . .#wk,`k ]∣∣

∃i1, . . . , ik : w1,i1 . . .wk,ik ∈ L}

Кодирование достижимости в графе:

[a1b]

[#a1bat1,1b# . . .#a1bat1,m1 b] . . .

[anb$] [#banban] . . . [#ba1ba1]

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 17 / 31

Page 88: 20110925 csseminar formal_grammars_complexity

NL-полнота линейных бесконтекстных грамматикNL = NSPACE(log n); NL-полная задача: достижимость в графе.

Теорема (Сэдборо, 1975)1 LinCF ⊆ NL,2 LinCF содержит NL-полный язык.

Правила A→ uBv , разбор угадывается с двух концов.Построение NL-полного языка: f

({w$wR | w ∈ {a, b}}

), где:

f (L) ={

[w1,1# . . .#w1,`1 ] . . . [wk,1# . . .#wk,`k ]∣∣

∃i1, . . . , ik : w1,i1 . . .wk,ik ∈ L}

Кодирование достижимости в графе:

[a1b]

[#a1bat1,1b# . . .#a1bat1,m1 b] . . .

[anb$] [#banban] . . . [#ba1ba1]

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 17 / 31

Page 89: 20110925 csseminar formal_grammars_complexity

L-полнота линейных детерминированных грамматик

L = DSPACE(log n);L-полная задача: достижимость в графе со степенью исхода 1.

DetLinCF : линейные LR(1) грамматики.

Теорема (Хольцер, Ланге, 1993)1 DetLinCF ⊆ L,2 DetLinCF содержит L-полный язык.

Уточнение предыдущего доказательства.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 18 / 31

Page 90: 20110925 csseminar formal_grammars_complexity

L-полнота линейных детерминированных грамматик

L = DSPACE(log n);L-полная задача: достижимость в графе со степенью исхода 1.DetLinCF : линейные LR(1) грамматики.

Теорема (Хольцер, Ланге, 1993)1 DetLinCF ⊆ L,2 DetLinCF содержит L-полный язык.

Уточнение предыдущего доказательства.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 18 / 31

Page 91: 20110925 csseminar formal_grammars_complexity

L-полнота линейных детерминированных грамматик

L = DSPACE(log n);L-полная задача: достижимость в графе со степенью исхода 1.DetLinCF : линейные LR(1) грамматики.

Теорема (Хольцер, Ланге, 1993)1 DetLinCF ⊆ L,2 DetLinCF содержит L-полный язык.

Уточнение предыдущего доказательства.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 18 / 31

Page 92: 20110925 csseminar formal_grammars_complexity

L-полнота линейных детерминированных грамматик

L = DSPACE(log n);L-полная задача: достижимость в графе со степенью исхода 1.DetLinCF : линейные LR(1) грамматики.

Теорема (Хольцер, Ланге, 1993)1 DetLinCF ⊆ L,2 DetLinCF содержит L-полный язык.

Уточнение предыдущего доказательства.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 18 / 31

Page 93: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 94: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 95: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )

2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 96: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .

3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 97: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 98: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.

Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 99: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 100: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 101: 20110925 csseminar formal_grammars_complexity

Разбор обыкновенных бесконтекстных грамматик в NC2

NC2: схемы высоты O(log2 n) с nO(1) элементов.

Теорема (Руззо, 1981; Брент и Гольдшлягер, 1984; Риттер, 1985)

CF ⊆ NC2.

Основные элементы: xA,i ,j (ai+1 . . . aj ∈ LG (A)),yA,i ,j ;D,k,` (если ak+1 . . . a` ∈ LG (D), то ai+1 . . . aj ∈ LG (A)).

1 xB,i,k&xC ,k,j → xA,i,j (для правила A→ BC )2 yA,i,j ;D,k,`&xD,k,` → xA,i,j .3 yA,i,j ;E ,s,t&yE ,s,t;D,k,` → yA,i,j ;D,k,`.

X Удвоение длины строки.Высота O(log2 n), O(n6) элементов.

I Можно улучшить до O(BMM(n2)) элементов.

NC2 ⊆ DSPACE(log2 n) = DTIMESPACE(nlog n, log2 n)

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 19 / 31

Page 102: 20110925 csseminar formal_grammars_complexity

Разбор детерминированных бесконтекстных грамматик

SC2 = DTIMESPACE(poly , log2 n)

Теорема (Кук, 1979)

DetCF ⊆ SC2.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 20 / 31

Page 103: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 104: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 105: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 106: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.

Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 107: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .

Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 108: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 109: 20110925 csseminar formal_grammars_complexity

P-полнота булевых грамматикP =

⋃k>0 DTIME(nk)

P-полная задача: значение булевой схемы.

Теорема (Ибарра и Ким, 1984; Охотин, 2003)1 Bool ⊆ P,2 LinConj содержит P-полный язык. (покажем для Bool)

Принадлежность P: обычным алгоритмом разбора.Построение P-полного языка: CVP с элементом xi = ¬xi−1 ∧ ¬xji .Схема представляется строкойan−1−jnb an−2−jn−1b . . . a2−j3b a1−j2b.

Грамматика:S → ¬AbS&¬CSA → aA | εC → aCAb | b

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 21 / 31

Page 110: 20110925 csseminar formal_grammars_complexity

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

NC1 ⊆ L ⊆ UL ⊆ NL ⊆ NC2 ⊆ . . . ⊆ NCk ⊆ . . . ⊆ P

NC1

L

P

NC2

NLUL

SC2

Reg

LLCF

IDPDA

DetLinCFLLLinCF? Bool

LinCF

Conj

CF

LinConj

UnambCF

UnambConj UnambBool

DetCF

?UnambLinCF?

?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 22 / 31

Page 111: 20110925 csseminar formal_grammars_complexity

Часть IV

Проверка свойств данной грамматики

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 23 / 31

Page 112: 20110925 csseminar formal_grammars_complexity

Верхние оценки

Общая задача принадлежности для семейства грамматик GДля данной грамматики G ∈ G и для данной строки w , определить,принадлежит ли w яаыку L(G ).

Задача пустоты для семейства грамматик GДля данной грамматики G ∈ G, определить, пуст ли язык L(G ).

Задача равенства регулярному языку для GДля данной грамматики G ∈ G и для данного (или фиксированного)L0 ∈ Reg , определить, совпадает ли L(G ) с L0.

Задача равенства (включения) для GДля данных грамматик G1,G2 ∈ G, определить, верно ли, чтоL(G1) = L(G2) (L(G1) ⊆ L(G2), соответственно).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 24 / 31

Page 113: 20110925 csseminar formal_grammars_complexity

Верхние оценки

Общая задача принадлежности для семейства грамматик GДля данной грамматики G ∈ G и для данной строки w , определить,принадлежит ли w яаыку L(G ).

Задача пустоты для семейства грамматик GДля данной грамматики G ∈ G, определить, пуст ли язык L(G ).

Задача равенства регулярному языку для GДля данной грамматики G ∈ G и для данного (или фиксированного)L0 ∈ Reg , определить, совпадает ли L(G ) с L0.

Задача равенства (включения) для GДля данных грамматик G1,G2 ∈ G, определить, верно ли, чтоL(G1) = L(G2) (L(G1) ⊆ L(G2), соответственно).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 24 / 31

Page 114: 20110925 csseminar formal_grammars_complexity

Верхние оценки

Общая задача принадлежности для семейства грамматик GДля данной грамматики G ∈ G и для данной строки w , определить,принадлежит ли w яаыку L(G ).

Задача пустоты для семейства грамматик GДля данной грамматики G ∈ G, определить, пуст ли язык L(G ).

Задача равенства регулярному языку для GДля данной грамматики G ∈ G и для данного (или фиксированного)L0 ∈ Reg , определить, совпадает ли L(G ) с L0.

Задача равенства (включения) для GДля данных грамматик G1,G2 ∈ G, определить, верно ли, чтоL(G1) = L(G2) (L(G1) ⊆ L(G2), соответственно).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 24 / 31

Page 115: 20110925 csseminar formal_grammars_complexity

Верхние оценки

Общая задача принадлежности для семейства грамматик GДля данной грамматики G ∈ G и для данной строки w , определить,принадлежит ли w яаыку L(G ).

Задача пустоты для семейства грамматик GДля данной грамматики G ∈ G, определить, пуст ли язык L(G ).

Задача равенства регулярному языку для GДля данной грамматики G ∈ G и для данного (или фиксированного)L0 ∈ Reg , определить, совпадает ли L(G ) с L0.

Задача равенства (включения) для GДля данных грамматик G1,G2 ∈ G, определить, верно ли, чтоL(G1) = L(G2) (L(G1) ⊆ L(G2), соответственно).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 24 / 31

Page 116: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.

P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 117: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 118: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.

I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 119: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.

I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 120: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .

I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 121: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .

I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 122: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 123: 20110925 csseminar formal_grammars_complexity

Общая задача принадлежности

Теорема1 Общая задача принадлежности для Bool принадлежит P.2 Она P-полна уже для LLCF и для строки ε.

Принадлежность P: обычным алгоритмом разбора.P-полнота для CF : сведением MCVP (значение монотоннойсхемы).

I Было: элемент xi ; стало: Ai ∈ N.I Было: xi = 1; стало: Ai → ε.I Было: xi = xj ∨ xk ; стало: Ai → Aj | Ak .I Было: xi = xj ∧ xk ; стало: Ai → AjAk .I Грамматика может оказаться неоднозначной.

Построение LL(1) грамматики: прямым кодированием машиныТьюринга.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 25 / 31

Page 124: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 125: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.

aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 126: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 127: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.

Если сцепление K · L однозначно, то aKLn =

∑ni=0 aK

i · aLn−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 128: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 129: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 130: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 131: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) =

fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 132: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) = fB(x)fC (x) +

x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 133: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) = fB(x)fC (x) + x2fD(x) +

1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 134: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) = fB(x)fC (x) + x2fD(x) + 1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 135: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) = fB(x)fC (x) + x2fD(x) + 1

Решение — алгебраическая функция; раскладывается в ряд.

Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 136: 20110925 csseminar formal_grammars_complexity

UnambCF: равенство регулярному языкуТеорема (Саломаа и Сойттола, 1978)Существует алгоритм проверки равенства L(G ) = L0для данной G из UnambCF и для данного регулярного языка L0.

Проверить пустоту L(G ) ∩ L0 (легко) и равенство L(G ) ∩ L0 = L0.aLn: количество строк длины n в языке L.

aK∪Ln 6 aK

n + aLn; если K ∩ L = ∅, то aK∪L

n = aKn + aL

n.Если сцепление K · L однозначно, то aKL

n =∑n

i=0 aKi · aL

n−i .

Формальный степенной ряд: fL(x) =∞∑

n=0

aLnxn.

Языковые уравнения → функциональные уравнения.

A = BC ∪ aDb ∪ {ε} fA(x) = fB(x)fC (x) + x2fD(x) + 1

Решение — алгебраическая функция; раскладывается в ряд.Использовать разрешимость элементарного анализа.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 26 / 31

Page 137: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).

Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 138: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 139: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 140: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 141: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 142: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 143: 20110925 csseminar formal_grammars_complexity

DetCF: проверка на равенствоДаны две LR(k) грамматики G1,G2;определить, равны ли L(G1) и L(G2).Детерминированные магазинные автоматы (DPDA).

Теорема (Розенкранц, Стирнс, 1970; Ольшанский, Пнуэли, 1977)Задача равенства двух LLCF языков разрешима.

Теорема (Валиант, 1974)Задача равенства двух DetLinCF языков разрешима.

По двум DPDA строится третий, распознающий их различия.

Теорема (Сенизерг, 1997)Задача равенства двух DetCF языков разрешима.

Верхняя оценка сложности: примитивно рекурсивна (Стирлинг,2002).

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 27 / 31

Page 144: 20110925 csseminar formal_grammars_complexity

Неразрешимость задачи включения

Машина Тьюринга M с входным алфавитом Σ кодирование еёуспешных вычислений: CM : L(M)→ Γ∗.

Ci = αqaβ — положение дел на i-м шаге обработки w .

CM(w) = C0# . . .#Cn−1$Cn$(Cn)R

# . . .#(C1)R

#(C0)R .

VALC(M) = {w\CM(w) | w ∈ L(M)} ⊆ Σ∗\Γ∗

ЛеммаVALC(M) = L1 ∩ L2 для L1, L2, L1, L2 ∈ LLLinCF .

ТеоремаЗадача включения неразрешима для LLLinCF .

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 28 / 31

Page 145: 20110925 csseminar formal_grammars_complexity

Неразрешимость задачи включения

Машина Тьюринга M с входным алфавитом Σ кодирование еёуспешных вычислений: CM : L(M)→ Γ∗.Ci = αqaβ — положение дел на i-м шаге обработки w .

CM(w) = C0# . . .#Cn−1$Cn$(Cn)R

# . . .#(C1)R

#(C0)R .

VALC(M) = {w\CM(w) | w ∈ L(M)} ⊆ Σ∗\Γ∗

ЛеммаVALC(M) = L1 ∩ L2 для L1, L2, L1, L2 ∈ LLLinCF .

ТеоремаЗадача включения неразрешима для LLLinCF .

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 28 / 31

Page 146: 20110925 csseminar formal_grammars_complexity

Неразрешимость задачи включения

Машина Тьюринга M с входным алфавитом Σ кодирование еёуспешных вычислений: CM : L(M)→ Γ∗.Ci = αqaβ — положение дел на i-м шаге обработки w .

CM(w) = C0# . . .#Cn−1$Cn$(Cn)R

# . . .#(C1)R

#(C0)R .

VALC(M) = {w\CM(w) | w ∈ L(M)} ⊆ Σ∗\Γ∗

ЛеммаVALC(M) = L1 ∩ L2 для L1, L2, L1, L2 ∈ LLLinCF .

ТеоремаЗадача включения неразрешима для LLLinCF .

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 28 / 31

Page 147: 20110925 csseminar formal_grammars_complexity

Неразрешимость задачи включения

Машина Тьюринга M с входным алфавитом Σ кодирование еёуспешных вычислений: CM : L(M)→ Γ∗.Ci = αqaβ — положение дел на i-м шаге обработки w .

CM(w) = C0# . . .#Cn−1$Cn$(Cn)R

# . . .#(C1)R

#(C0)R .

VALC(M) = {w\CM(w) | w ∈ L(M)} ⊆ Σ∗\Γ∗

ЛеммаVALC(M) = L1 ∩ L2 для L1, L2, L1, L2 ∈ LLLinCF .

ТеоремаЗадача включения неразрешима для LLLinCF .

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 28 / 31

Page 148: 20110925 csseminar formal_grammars_complexity

Неразрешимость задачи включения

Машина Тьюринга M с входным алфавитом Σ кодирование еёуспешных вычислений: CM : L(M)→ Γ∗.Ci = αqaβ — положение дел на i-м шаге обработки w .

CM(w) = C0# . . .#Cn−1$Cn$(Cn)R

# . . .#(C1)R

#(C0)R .

VALC(M) = {w\CM(w) | w ∈ L(M)} ⊆ Σ∗\Γ∗

ЛеммаVALC(M) = L1 ∩ L2 для L1, L2, L1, L2 ∈ LLLinCF .

ТеоремаЗадача включения неразрешима для LLLinCF .

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 28 / 31

Page 149: 20110925 csseminar formal_grammars_complexity

Неразрешимость задачи включения

Машина Тьюринга M с входным алфавитом Σ кодирование еёуспешных вычислений: CM : L(M)→ Γ∗.Ci = αqaβ — положение дел на i-м шаге обработки w .

CM(w) = C0# . . .#Cn−1$Cn$(Cn)R

# . . .#(C1)R

#(C0)R .

VALC(M) = {w\CM(w) | w ∈ L(M)} ⊆ Σ∗\Γ∗

ЛеммаVALC(M) = L1 ∩ L2 для L1, L2, L1, L2 ∈ LLLinCF .

ТеоремаЗадача включения неразрешима для LLLinCF .

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 28 / 31

Page 150: 20110925 csseminar formal_grammars_complexity

Равенство регулярному языку

Теорема (Бар-Хиллель, Перлес, Шамир, 1961)1 Для бесконтекстных грамматик разрешимо равенство ∅,

2 . . . но неразрешимо равенство Σ∗.

Распространяется на LinCF .Равносильность двух грамматик тоже неразрешимa.

Теорема (Еж, Охотин, 2007)Для конъюнктивных грамматик неразрешимо равенство всякомуконъюнктивному языку.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 29 / 31

Page 151: 20110925 csseminar formal_grammars_complexity

Равенство регулярному языку

Теорема (Бар-Хиллель, Перлес, Шамир, 1961)1 Для бесконтекстных грамматик разрешимо равенство ∅,2 . . . но неразрешимо равенство Σ∗.

Распространяется на LinCF .Равносильность двух грамматик тоже неразрешимa.

Теорема (Еж, Охотин, 2007)Для конъюнктивных грамматик неразрешимо равенство всякомуконъюнктивному языку.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 29 / 31

Page 152: 20110925 csseminar formal_grammars_complexity

Равенство регулярному языку

Теорема (Бар-Хиллель, Перлес, Шамир, 1961)1 Для бесконтекстных грамматик разрешимо равенство ∅,2 . . . но неразрешимо равенство Σ∗.

Распространяется на LinCF .

Равносильность двух грамматик тоже неразрешимa.

Теорема (Еж, Охотин, 2007)Для конъюнктивных грамматик неразрешимо равенство всякомуконъюнктивному языку.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 29 / 31

Page 153: 20110925 csseminar formal_grammars_complexity

Равенство регулярному языку

Теорема (Бар-Хиллель, Перлес, Шамир, 1961)1 Для бесконтекстных грамматик разрешимо равенство ∅,2 . . . но неразрешимо равенство Σ∗.

Распространяется на LinCF .Равносильность двух грамматик тоже неразрешимa.

Теорема (Еж, Охотин, 2007)Для конъюнктивных грамматик неразрешимо равенство всякомуконъюнктивному языку.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 29 / 31

Page 154: 20110925 csseminar formal_grammars_complexity

Равенство регулярному языку

Теорема (Бар-Хиллель, Перлес, Шамир, 1961)1 Для бесконтекстных грамматик разрешимо равенство ∅,2 . . . но неразрешимо равенство Σ∗.

Распространяется на LinCF .Равносильность двух грамматик тоже неразрешимa.

Теорема (Еж, Охотин, 2007)Для конъюнктивных грамматик неразрешимо равенство всякомуконъюнктивному языку.

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 29 / 31

Page 155: 20110925 csseminar formal_grammars_complexity

Часть V

Дальнейшие исследования

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 30 / 31

Page 156: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?

2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?

I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .

I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 157: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?

3 Какова сложность проверки равенства UnambCF регулярномуязыку?

4 Разрешима ли равносильность однозначных бесконтекстныхграмматик (UnambCF )?

I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .

I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 158: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?

4 Разрешима ли равносильность однозначных бесконтекстныхграмматик (UnambCF )?

I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .

I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 159: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?

I . . . хотя бы в линейном случае (UnambLinCF )?5 Найти языки, не принадлежащие Bool .

I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 160: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .

I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 161: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .

I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 162: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.

I Хотя бы не принадлежащие UnambConj .6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 163: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 164: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?

7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31

Page 165: 20110925 csseminar formal_grammars_complexity

Над чем можно поработать?

1 Можно ли разобрать Bool , используя память o(n)?2 Можно ли разобрать UnambLinCF за время o(n2)?3 Какова сложность проверки равенства UnambCF регулярному

языку?4 Разрешима ли равносильность однозначных бесконтекстных

грамматик (UnambCF )?I . . . хотя бы в линейном случае (UnambLinCF )?

5 Найти языки, не принадлежащие Bool .I Только из DTIMESPACE(n2, n), чтобы без тривиальных ответов.I Хотя бы не принадлежащие UnambConj .

6 Замкнуты ли UnambLinCF относительно дополнения?7 Замкнуты ли Conj или UnambConj относительно дополнения?

Александр Охотин Сложность формальных грамматик CS клуб ПОМИ 31 / 31