|
Упражнение 2.1.25 |
Алгоритмически неразрешимые проблемы
В этой лекции рассматриваются оказавшиеся неразрешимыми алгоритмические проблемы, связанные с контекстно-свободными языками. Всюду предполагается, что в индивидуальных задачах каждый язык представлен контекстно-свободной грамматикой (но можно, конечно, использовать и автоматы с магазинной памятью).
В разделе 16.1 доказывается неразрешимость проблемы пустоты пересечения контекстно-свободных языков и проблемы бесконечности пересечения контекстно-свободных языков.
В разделе 16.2 доказывается неразрешимость проблемы однозначности контекстно-свободной грамматики.
В разделе 16.3 доказывается неразрешимость проблемы равенства контекстно-свободных языков.
В разделе 16.4 доказывается неразрешимость проблемы автоматности контекстно-свободного языка.
В разделе 16.5 доказывается неразрешимость проблем контекстной свободности дополнения контекстно-свободного языка и пересечения контекстно-свободных языков.
16.1. Пересечение контекстно-свободных языков
Определение 16.1.1.
Рассмотрим алфавит
.
Пусть
,
где
для всех i.
Обозначим через
линейную грамматику
,
где

язык, порождаемый грамматикой
.Лемма 16.1.2. Язык
является непустым тогда и только тогда, когда
постовская система соответствия
имеет решение.
Пример 16.1.3. Рассмотрим постовскую систему соответствия

и
).
Решениями этой системы являются последовательности (1, 1, 2), (1, 1, 2, 1, 1, 2)
и т. д.
Легко убедиться, что
Теорема 16.1.4. Пусть
. Тогда не существует алгоритма, позволяющего по произвольным
контекстно-свободным грамматикам G1 и G2 над алфавитом
узнать, верно ли, что
.
Доказательство.
Сначала докажем утверждение теоремы для случая
.
Из леммы 16.1.2 следует, что
если бы проблема распознавания свойства
для контекстно-свободных грамматик
над алфавитом
была разрешима, то проблема соответствий Поста тоже была бы разрешима.
Поэтому из неразрешимости проблемы соответствий Поста
следует неразрешимость
проблемы распознавания свойства
для контекстно-свободных грамматик
над алфавитом
.
Чтобы доказать утверждение теоремы для случая
(например,
),
достаточно заменить в определении
символ a на ede,
символ b на edde
и символ c на eddde.
Лемма 16.1.5. Язык
является бесконечным тогда и только тогда, когда
постовская система соответствия
имеет решение.
Доказательство. Если постовская система соответствия имеет хотя бы одно решение, то она имеет бесконечно много решений.
Теорема 16.1.6. Пусть
. Тогда не существует алгоритма, позволяющего по произвольным
контекстно-свободным грамматикам G1 и G2 над алфавитом
узнать, является ли бесконечным язык
.
Упражнение 16.1.7.
Пусть
.
Рассмотрим язык L1,
порождаемый грамматикой


?Упражнение 16.1.8.
Пусть
.
Рассмотрим язык L1,
порождаемый грамматикой

,
порождаемый грамматикой
?Упражнение 16.1.9.
Пусть
.
Рассмотрим язык L1,
порождаемый грамматикой


?