Упражнение 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. Рассмотрим постовскую систему соответствия




Теорема 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,
порождаемый грамматикой


