x 6∈ K, либо подождать еще немного и тогда x появится в упомянутом
списке. Алгоритма, который разрешал бы эту дилемму, не существует,
так как не существует алгоритма для ответа на вопрос о принадлежности
числа x множеству K.
Итак, существуют множества, для которых нет алгоритма распозна-
вания. Можно остановиться на этом, констатируя факт наличия рекур-
сивных и нерекурсивных множеств. Но можно пойти дальше и задаться
странным на первый взгляд вопросом: какие из нерекурсивных множеств
являются более нерекурсивными, а какие менее? Однако этот вопрос не
такой уж и странный. Похожая ситуация имеет место и в связи с по-
нятием мощности множества. Когда-то множества просто делились на
конечные и бесконечные, и все бесконечные множества считались беско-
нечными в одинаковой степени. Потом ввели понятие мощности, и ока-
залось, что бесконечные множества делятся на счетные и несчетные и
что, например, множество действительных чисел содержит больше эле-
ментов, чем множество натуральных чисел.
Существует множество подходов, позволяющих различать различные
множества по степени их рекурсивности. Один из наиболее ранних свя-
зан с понятием m-сводимости
64
.
Определение 28 Пусть X, Y ⊆ N. Тогда X m-сводится к Y , если су-
ществует рекурсивная функция f : N → N, такая что для любого n ∈ N
n ∈ X тогда и только тогда, когда f(n) ∈ Y .
Если X m-сводится к Y , то мы пишем X 6
m
Y . Отношение m -
сводимости рефлексивно и транзитивно. Действительно, X 6
m
X при
помощи функции f (x) = x для любого X ⊆ N. Если же X m-сводится к
Y при помощи функции f, а Y m-сводится к Z при помощи функции g,
то X m-сводится к Z при помощи функции g ◦ f.
Пусть X 6
m
Y . Несмотря на то, что оба множества X и Y могут быть
нерекурсивными, можно считать, что X более рекурсивно, чем Y . Хотя
Y может быть нерекурсивным, предположим, что мы каким-то чудом
научились вычислять функцию χ
Y
(x). Допустим, в наше распоряжение
попал некий черный ящик, некое непонятное устройство, принципов ра-
боты которого мы не знаем, но которое, получив на входе число x, дает на
выходе значение функции χ
Y
(x) (в теории алгоритмов такие устройства
64
Термин ”m-сводимость”, или ”много-одно-сводимость” – это перевод английского
термина ”many-one-reducibility”. Собственно, из этого ”many” и взялась буква m.
106