§ 12.13. Рекурсивно-перечислимые и рекурсивные множества
Имеется несколько эквивалентных формулировок, определяющих понятие рекурсивного и рекурсивно-перечислимого множества целых чисел. Для удобства мы соберем их в таблицу так, что в левой половине этой таблицы будут находиться определения рекурсивно-перечислимого множества, а в правой — определения рекурсивного множества.
Сделаем теперь относительно этих определений несколько замечаний:
Замечание относительно . Доказано, что если некоторое множество можно пересчитать общерекурсивной функцией с повторениями, то оно может быть пересчитано и без повторений (некоторой другой общерекурсивной функцией).
Замечание относительно . Покажем, как определение вытекает из . Пусть С — множество значений некоторой общерекурсивной функции . Тогда тот факт, что некоторое число у принадлежит множеству С, означает, что существует такое , что
иначе
Равенство может рассматриваться как общерекурсивное отношение равенства двух общерекурсивных функций:
где
Замечание относительно . Определение является лишь уточнением определения .
Замечание относительно ЗБ. Из выполнения условия ЗБ следует выполнение условия . Действительно, пусть множество С перечисляется общерекурсивной функцией , а С — функцией .
Для того чтобы узнать, принадлежит ли данное число множеству С, будем параллельно вычислять последовательности
Так как число у принадлежит либо С, либо С, то оно рано или поздно должно встретиться или в ряду I, или в ряду II. Если оно встретилось в ряду I, , если в II — . Поэтому имеется алгоритм распознавания принадлежности любого у множеству С.
Замечание относительно . При условии также имеется алгоритм распознавания принадлежности любого у множеству С. Действительно, будем вычислять последовательность . Если при некотором , то процессу вычисления можно остановить и сделать вывод, что ; если же встретится такое, что , то .
Приведем примеры рекурсивных множеств:
1) Двухэлементное множество рекурсивно в силу условий или .
2) Любое конечное множество рекурсивно в силу условий или .
3) Множество четных чисел рекурсивно. Здесь , и множество рекурсивно в силу условия или , и множество рекурсивно в силу условия .
Приведем теперь примеры рекурсивно-перечислимых и не рекурсивно-перечислимых множеств.
Согласно определению рекурсивно-перечислимым множеством будет множество тех у, для которых при некотором общерекурсивном . Можно так подобрать , что множество будет рекурсивно-перечислимым, но не рекурсивным; его дополнение будет множеством тех у, для которых
(где Q — общерекурсивный предикат); это множество
будет не рекурсивно и не рекурсивно-перечислимо.
Множество гёделевских номеров z тех систем Е, которые определяют общерекурсивную функцию, не рекурсивно и не рекурсивно-перечислимо.
В заключение заметим, что из сравнения и из того факта, что любое конечное множество как рекурсивно, так и рекурсивно-перечислимо, следует, что любое рекурсивное множество есть рекурсивно-перечислимое множество. Обратное утверждение неверно.
Понятие о рекурсивных действительных числах и о рекурсивно-перечислимых множествах важно при выяснении того, может ли машина «делать» что-либо большее, чем реализовывать заданный алгоритм. Выше было показано, что любой алгоритм сводится к подсчету значений вычислимой целочисленной функции.
Если какое-либо устройство «выдает» на выходе множество чисел, и если это множество не является рекурсивно-перечислимым, то это свидетельствует о том, что процесс работы этого устройства не может быть алгоритмизирован, т. е. что устройство «делает больше, чем реализует алгоритм».