Разрешимые (рекурсивные) языки
Версия от 16:21, 7 января 2015; 178.70.4.202 (обсуждение)
Основные определения
Определение: |
Рекурсивный язык (recursive language) | — язык, для которого существует программа .
Если мы рассматриваем язык как проблему, то проблема называется разрешимой, если язык рекурсивный. В противном случае проблема называется неразрешимой. Но часто данные понятия просто отождествляются.
Определение: |
Класс всех разрешимых (рекурсивных) языков часто обозначается буквой | .
Определение: |
Функция | называется вычислимой (computable function), если существует программа .
Определение: |
Универсальный язык (universal language) | .
Некоторые разрешимые множества
Лемма: |
Язык чётных чисел разрешим. |
Доказательство: |
Приведём программу, разрешающую язык чётных чисел: Заметим, что программа нигде не может зависнуть. |
Некоторые неразрешимые множества
Лемма: |
Универсальный язык неразрешим. |
Доказательство: |
Приведём доказательство от противного. Пусть язык разрешим, тогда существует программа : , .Составим следующую программу: Рассмотрим вызов :
|
Источники информации
- Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7
- Wikipedia — Recursive language
- Википедия — Рекурсивный язык
- Методические указания к курсу ”Сложность вычислений” Гамова А.Н.