"программы, которые не могут за конечное время построить
- й член последовательности" - непонятен
Уточню. ПУсть, моя программа, написанная на моём, полным по Тьюрингу, языке программирования -
находит вычислимые вещественные числа, определённые выше , сколь угодно близко
приближающейся последовательностью (не хочу лишний раз писать определение).
Как она может их находить?
1) если это число рациональное, и может быть точно определено, программа записывает в память
что то типа
"
хх.хххх ]] 0000... " ,
где x - знаки числа до и после запятой,
и
]] в конце - это особый двойной символ, означающий что программа остановилась. (т.е. больше работать не будет).
Изначально память заполнена нулями, так что если наткнулись на первый нуль, то дальше
в памяти смотреть нечего - там тоже нули, и программа туда не обращалась .
(это я так "для удобства" определил нулями неиспользуемые символы, используемый "ноль" как цифра-знак
в вычисленной последовательности хх.хххх - можно кодировать по другому в памяти, не
то что будет после завершающего символа
]] ) .
Программа работает, и записывает данные в память, а мы, можем параллельно "заглянуть" в эту память,
и посмотреть, что она там насчитала.
2) если это число не может быть точно определено , а может быть аппроксимировано только какой то
последовательностью, приближающейся к нашему вычислимому вещественному числу со сколь угодно большой точностью ,
(см. выше моё определение вычислимых чисел) ,
тогда программа будет писать следующее :
"
хх.хххх ] хх.хххххх ] хх.ххххххххх ] 0000... " ,
символ
] - определяет, что программа выдала нам очередное приближение из последовательности,
которое мы можем использовать, или ждать более точных, следующих членов последовательности.
Вообще говоря, работа этой программы не остановится, пока мы её сами не остановим.
А остановим мы её, когда увидим очередное вычисленное число со знаками
хх.ххххххххх ] 0000... и точность нас будет уже устраивать (мы знаем что это N-й член последовательности
с премлемым для нас приближением - и точнее уже не надо),
а дальше мы видим последний символ
] и нули, т.е. программа дальше в память не обращалась.
Каждая программа имеет свой байт-код, а значит каждая программа имеет какое то своё
двоичное определение кода, и это -
число из ,
которое натуральное, и имеет свой прототип, в множестве вычислимых вещественных чисел.
Всё множество вычислимых вещественных чисел, получается, закодировано будет в подмножестве
этих натуральных чисел
из .
А что означает моё прежнее утверждение -
"программы, которые не могут за конечное время построить
- й член последовательности" - непонятен
Это означает, что очередное требуемое число последовательности ,
... хх.ххххххххх ] 0000... - программа не может построить за конечное время.
(и при этом, завершающий символ
]] - тоже не выдаёт).
Т.е. программа никогда не останавливается , и при этом не выдаёт больше символов
] .
В таком случае говорим, что "программа невычислима" ,
или "пытается построить невычислимое число".
Всякие бредовые программы, т.е. не имеющие алгоритмического смысла, и вообще ничего
не записывающие в память (там всегда будут нули оставаться) - получаются из этого же
множества.
Они имеют по данной системе
некий номер из множества , но смысла в них нет
никакого, как и нет смысла изучать невычислимые вещественные числа в математике.
Что мы там можем изучить, если неизвестно, как это число определить??
А зная язык программирования, из числа из
, представляющего программу, мы можем
декомпилировать код, понять алгоритм, и сказать - вот этот - будет строить искомую последовательность,
не остановится на
-м шаге, и потому , данная программа "представляет собой "
вычислимое вещественное число.
Надеюсь, теперь понятно объяснил.. -- Ср янв 09, 2019 23:30:56 --множество не останавливающихся МТ - конструктивно несчетно.
В моём вышеописанном случае "программ" - это множество тоже
счётно , т.к. это - подмножество
занумерованных программ из
- счётного множества натуральных чисел.
(счётно множество, значит счетно и его подмножество).
Т.е. само множество невычислимых чисел - может и несчётно, но множество моих программ,
представляющих 1) все вычислимые числа , 2) какие то невычислимые - получается, однозначно счётно.
Хотя, какой смысл в "невычислимых числах", если про них ничего нельзя узнать и как-то изучить..