Разрешимые (рекурсивные) языки — различия между версиями
(→Некоторые неразрешимые множества) |
(→Основные определения) |
||
| Строка 15: | Строка 15: | ||
{{Определение | {{Определение | ||
| − | |definition = Язык <tex>L</tex> называется ''разрешимым'', если существует такая функция <tex>f : \Sigma^* \to {0, 1} : x \in L \leftrightarrow f(x) = 1</tex> | + | |definition = Язык <tex>L</tex> называется ''разрешимым'', если существует такая вычислимая функция <tex>f : \Sigma^* \to \{0, 1\} : x \in L \leftrightarrow f(x) = 1</tex>. |
}} | }} | ||
Версия 13:52, 9 января 2015
Содержание
Основные определения
| Определение: |
| Рекурсивный язык (англ. recursive language) — язык, для которого существует программа . |
Если мы рассматриваем язык как проблему, то проблема называется разрешимой, если язык рекурсивный. В противном случае проблема называется неразрешимой. Но часто данные понятия просто отождествляются.
| Определение: |
| Класс всех разрешимых (рекурсивных) языков часто обозначается буквой . |
| Определение: |
| Функция называется вычислимой (англ. computable), если существует программа . |
| Определение: |
| Язык называется разрешимым, если существует такая вычислимая функция . |
| Определение: |
| Универсальный язык (англ. universal language) . |
Примеры разрешимых множества
| Лемма: |
Язык чётных чисел разрешим. |
| Доказательство: |
|
Приведём программу, разрешающую язык чётных чисел: Заметим, что программа нигде не может зависнуть. |
Примеры неразрешимых множества
| Лемма: |
Универсальный язык неразрешим. |
| Доказательство: |
|
Приведём доказательство от противного. Пусть язык разрешим, тогда существует программа : , . Составим следующую программу: Рассмотрим вызов :
|
Источники информации
- Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7
- Wikipedia — Recursive language
- Википедия — Рекурсивный язык
- Методические указания к курсу ”Сложность вычислений” Гамова А.Н.