Проблема Halting гласит, что невозможно написать программу, которая может определить, останавливается ли другая программа, для всех возможных программ ввода .
Тем не менее, я могу, конечно, написать программу, которая может вычислить время выполнения программы вроде:
for(i=0; i<N; i++)
{ x = 1; }
и вернуть временную сложность , даже не запуская ее.
Для всех других программ ввода он возвращает флаг, указывающий, что он не может определить сложность времени.
У меня вопрос такой:
Какие условия должны выполняться, чтобы мы могли алгоритмически определить временную сложность данной программы?
* Если на это есть каноническая ссылка или обзорная статья, я буду признателен за ссылку в комментариях.