M-сводимость — различия между версиями
(→Сведение по Тьюрингу) |
(→Т-степени) |
||
Строка 45: | Строка 45: | ||
=== Т-степени === | === Т-степени === | ||
− | Обозначим за <tex>\mathcal{D}_T</tex> множество классов эквивалентности языков по отношению <tex>\equiv_T</tex>, это множество будет множеством | + | Обозначим за <tex>\mathcal{D}_T</tex> множество классов эквивалентности языков по отношению <tex>\equiv_T</tex>, это множество будет множеством <tex>T</tex>-степеней (тьюринговых степеней). |
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | + | <tex>T</tex>-степенью языка <tex>L</tex> называется его класс эквивалентности по отношению <tex>\equiv_T</tex>, то есть <tex>\mathrm{deg}_T(L) = \{ M \mid L \equiv_T M \}</tex>. | |
}} | }} | ||
− | На | + | На <tex>T</tex>-степенях можно ввести частичный порядок: для <tex>d_1, d_2 \in \mathcal{D}_T, d_1 \leqslant d_2</tex>, если для каких-то <tex>L \in d_1, M \in d_2: L \leqslant_T M</tex>, определение корректно, так как порядок не будет зависеть от выбора представителя <tex>T</tex>-степени. |
==== Свойства ==== | ==== Свойства ==== | ||
− | * <tex>\mathrm{R}</tex> — минимальный элемент в частичном порядке на | + | * <tex>\mathrm{R}</tex> — минимальный элемент в частичном порядке на <tex>T</tex>-степенях. Очевидно из того, что класс разрешимых языков замкнут по использованию разрешимого языка в качестве оракула. |
− | * Любая пара | + | * Любая пара <tex>T</tex>-степеней <tex>d_1, d_2 \in \mathcal{D}_T</tex> имеет наименьшую верхнюю границу <tex>d_1 \lor d_2 \in \mathcal{D}_T</tex>. |
==== Тьюринговый скачок ==== | ==== Тьюринговый скачок ==== | ||
Строка 66: | Строка 66: | ||
* Если <tex>f \leqslant_T g</tex>, то <tex>H^f \leqslant_T H^g</tex> | * Если <tex>f \leqslant_T g</tex>, то <tex>H^f \leqslant_T H^g</tex> | ||
− | Тогда тьюринговым скачком | + | Тогда тьюринговым скачком <tex>T</tex>-степени <tex>d</tex> называется <tex>T</tex>-степень языка <tex>H^L</tex>, где <tex>L</tex> — произвольный язык в <tex>d</tex>. Заметим, что если <tex>L \equiv_T M</tex>, то <tex>H^L \equiv_T H^M</tex>, поэтому определение корректно. Оператор тьюрингова скачка обозначим как <tex>J : \mathcal{D}_T \to \mathcal{D}_T</tex>. |
== Источники информации == | == Источники информации == |
Версия 14:45, 22 ноября 2016
Определение: |
Множество | m-сводится (англ. many-one reducible, m-reducible) ко множеству , если существует всюду определённая вычислимая функция , то есть и . Обозначение: .
Определение: |
m-эквивалентно (англ. many-one equivalent, m-equivalent) , если и . Обозначение: . |
Содержание
Свойства
-
- Доказательство: .
.
- Если
- Доказательство: Пусть — программа-разрешитель для . Тогда для любого разрешитель должен вернуть значение .
и разрешимо, то разрешимо.
- Если
- Доказательство: Аналогично предыдущему свойству.
и перечислимо, то перечислимо.
- Если
- Доказательство: Если и , то m-сводящая функция выглядит так .
и , то .
Применение
Лемма: |
Если и неразрешимо, то неразрешимо. |
Доказательство: |
Следует из второго свойства. |
Приведённая лемма позволяет доказывать алгоритмическую неразрешимость некоторой задачи, сводя к ней (а не наоборот!) другую, неразрешимость которой уже доказана.
Например, проблема соответствий Поста.
Сведение по Тьюрингу
Определение: |
Язык | сводится по Тьюрингу (англ. Turing reducible) к языку , если язык является разрешимым с использованием как оракула, обозначается как .
Определение: |
Язык | эквивалентен по Тьюрингу (англ. Turing equivalent) языку , если и , обозначается как .
Свойства
- рефлексивность:
- транзитивность: из и следует
- Очевидно, что — отношение эквивалентности
Т-степени
Обозначим за
множество классов эквивалентности языков по отношению , это множество будет множеством -степеней (тьюринговых степеней).
Определение: |
-степенью языка называется его класс эквивалентности по отношению , то есть . |
На -степенях можно ввести частичный порядок: для , если для каких-то , определение корректно, так как порядок не будет зависеть от выбора представителя -степени.
Свойства
- — минимальный элемент в частичном порядке на -степенях. Очевидно из того, что класс разрешимых языков замкнут по использованию разрешимого языка в качестве оракула.
- Любая пара -степеней имеет наименьшую верхнюю границу .
Тьюринговый скачок
Обозначим за
язык программ, останавливающихся на пустом входе. Обозначим за язык программ, использующих в качестве оракула и останавливающихся на пустом входе.Можно показать, что:
- Если , то
Тогда тьюринговым скачком
-степени называется -степень языка , где — произвольный язык в . Заметим, что если , то , поэтому определение корректно. Оператор тьюрингова скачка обозначим как .Источники информации
- Wikipedia — Many-one reduction
- Wikipedia — Turing reduction
- Topics in Logic and Foundations
- Верещагин Н., Шень А. Вычислимые функции, 2-е изд. — МЦНМО, 2002. — С. 64. — ISBN 5-900916-36-7
- P. Odifreddi — Classical recursion theory. — Elsivier, 1992. — ISBN 0-444-87295-7