Это вопрос, который возник у меня в голове при чтении проблемы остановки, гипотезы Коллатца и сложности Колмогорова. Я пытался найти что-то похожее, но мне не удалось найти конкретную топи c, может быть, потому, что она не имеет большой ценности или это может быть просто тривиальный вопрос.
Ради простоты я буду приведите три примера программ / функций.
function one(s):
return s
function two(s):
while (True):
print s
function three(s):
for i from 0 to 10^10:
print(s)
Итак, мои вопросы: есть ли способ формализовать длину программы (например, биты, используемые для ее описания) и также внутренняя память, используемая программой, для определения минимального / максимального количества времени / шагов, необходимых для определения, будет ли программа завершена или будет работать вечно.
Например, в первой функции программа не выполняет измените свою внутреннюю память и остановитесь через некоторое время.
Во втором примере программа работает вечно, но программа также не изменяет свою внутреннюю память. Например, если бы мы рассмотрели все программы с одинаковой длиной, как у второй программы, которые не изменяют свое состояние, не могли бы мы определить верхнюю границу шагов, которая, если превзойдет, мы могли бы заключить, что эта программа никогда не завершится? (Если нет, почему?)
В последнем примере программа изменяет свое состояние (переменная i). Таким образом, на каждом шаге верхняя граница может меняться.
[Короче] Сложность по Колмогорову предлагает способ нахождения (описательной) сложности объекта, такого как фрагмент текста. Я хотел бы знать, учитывая формальный способ описания пространства памяти, используемого программой (вычисляемый во время выполнения), если бы мы могли вычислить максимальное количество шагов, которое, если превзойдет, позволило бы нам знать, будет ли эта программа завершена или бежать вечно.
Наконец, я хотел бы предложить мне любой источник, который я мог бы найти полезным, и помочь мне выяснить, что именно я ищу.
Спасибо. (извините за мой английский sh, а не за мой родной язык. Надеюсь, я был понятен)