M-сводимость — различия между версиями
Ateuhh (обсуждение | вклад) м (→Отношение эквивалентности) |
Ateuhh (обсуждение | вклад) м (→Отношение эквивалентности) |
||
Строка 31: | Строка 31: | ||
|statement= | |statement= | ||
Если <tex>A\leqslant_{m}B</tex> и <tex>B\leqslant_{m}C</tex>, то <tex>A\leqslant_{m}C</tex>. | Если <tex>A\leqslant_{m}B</tex> и <tex>B\leqslant_{m}C</tex>, то <tex>A\leqslant_{m}C</tex>. | ||
− | |proof=Если <tex>f:A\to B</tex> и <tex>g:B\to C</tex>, то m-сводящая функция <tex>h:A\to C</tex> выглядит так <tex>h(x) = g(f(x))</tex>. | + | |proof=Если <tex>f:A\to B</tex> и <tex>g:B\to C</tex>, то <tex>m</tex>-сводящая функция <tex>h:A\to C</tex> выглядит так <tex>h(x) = g(f(x))</tex>. |
}} | }} | ||
Версия 19:15, 12 декабря 2016
Определение: |
Множество вычислимая функция , то есть и . Обозначение: . | m-сводится (англ. many-one reducible, m-reducible) ко множеству , если существует всюду определённая
Определение: |
m-эквивалентно (англ. many-one equivalent, m-equivalent) , если и . Обозначение: . |
Содержание
Отношение эквивалентности
Утверждение (рефлексивность): |
. |
. |
Утверждение (разрешимость): |
Если и разрешимо, то разрешимо. |
Пусть | — программа-разрешитель для . Тогда для любого разрешитель должен вернуть значение .
Утверждение (перечислимость): |
Если и перечислимо, то перечислимо. |
Аналогично предыдущему свойству. |
Утверждение (транзитивность): |
Если и , то . |
Если | и , то -сводящая функция выглядит так .
Утверждение: |
Отношение сводимости является отношением эквивалентности |
Следует из рефлексивности, симметричности и транзитивности. |
Применение
Лемма: |
Если и неразрешимо, то неразрешимо. |
Доказательство: |
Следует из второго свойства. |
Приведённая лемма позволяет доказывать алгоритмическую неразрешимость некоторой задачи, сводя к ней (а не наоборот!) другую, неразрешимость которой уже доказана.
Примеры применения
Сведение по Тьюрингу
Определение: |
Язык | сводится по Тьюрингу (англ. Turing reducible) к языку , если язык является разрешимым с использованием как оракула, обозначается как .
Определение: |
Язык | эквивалентен по Тьюрингу (англ. Turing equivalent) языку , если и , обозначается как .
Т-степени
Обозначим за
множество классов эквивалентности языков по отношению , это множество будет множеством -степеней (тьюринговых степеней).
Определение: |
-степенью языка (англ. Turing degree) называется его класс эквивалентности по отношению , то есть . |
На -степенях можно ввести частичный порядок: для , если для каких-то , определение корректно, так как порядок не будет зависеть от выбора представителя -степени.
Свойства
- — минимальный элемент в частичном порядке на -степенях. Очевидно из того, что класс разрешимых языков замкнут по использованию разрешимого языка в качестве оракула.
- Любая пара -степеней имеет наименьшую верхнюю границу .
Тьюринговый скачок
Обозначим за
язык программ, останавливающихся на пустом входе. Обозначим за язык программ, использующих в качестве оракула и останавливающихся на пустом входе.Можно показать, что:
- Если , то
Определение: |
Тьюринговым скачком | -степени (англ. Turing jump) называется -степень языка , где — произвольный язык в .
Заметим, что если , то , поэтому определение корректно. Оператор тьюрингова скачка обозначим как .
См. также
- Задача о выводе в полусистеме Туэ
- Проблема соответствий Поста
- Задача о замощении
- Неразрешимость исчисления предикатов первого порядка
Источники информации
- 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