Упражнение 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. Рассмотрим постовскую систему соответствия
(то есть n = 2, и ). Решениями этой системы являются последовательности (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, порождаемый грамматикой
и язык L2, порождаемый грамматикой Верно ли, что ?Упражнение 16.1.8. Пусть . Рассмотрим язык L1, порождаемый грамматикой
и язык , порождаемый грамматикой Верно ли, что ?Упражнение 16.1.9. Пусть . Рассмотрим язык L1, порождаемый грамматикой
и язык L2, порождаемый грамматикой Верно ли, что ?