Вообще - алгоритм обратной к "сложной" функции - есть "прообраз" бесконечного алгоритма - т.е. алгоритм максимальной сложности из всех, ограниченных размером N.
Поясните
Вспомним "доказательство" невычислимости.
Там строится функция, которая "знает" все номера , всех существующих алгоритмов.
Если номера алгоритмов не вычислялись по какому-то конечному алгоритму (что невозможно ,разве что код алгоритма принять за его номер, но это частный случай), то , для того чтоб наш алгоритм "знал" все соответствия, у него должна храниться таблица номеров-ссылок.
Затем требуется, чтоб у нашей функции существовал свой собственный номер (из списка).
Для всех существующих алгоритмов (как мы выяснили) это невозможно ... но может можно построить такую функцию , которая знает все номера и одновременно имеет свой номер для ... ограниченного набора алгоритмов?
Итак, пусть у нас есть пронумерованное, конечное множество алгоритмов.
Строим алгоритм , который знает все номера алгоритмов из нашего множества и одновременно его номер (случайно?) присутствует среди списка номеров (т.е. является членом нашего множества).
Поскольку нам требуется регулярный результат - т.е. при любом (неизвестном заранее) способе нумерации, должен найтись алгоритм (среди уже готовых из нашего множества), с совпадающей таблицей номеров.
Но для этого надо, чтоб среди множества алгоритмов, присутствовали ВСЕ варианты нумерации самих себя ... количество которых ,как известно , равно факториалу от общего количества алгоритмов.
Но N! всегда больше N (если N>2)
Итак, и для конечных множеств алгоритмов нельзя построить алгоритм, знающий все номера и одновременно входящий в множество, но зато мы получили представление о NP сложности.
Можно сказать что нумерация всех алгоритмов - это "сложная" задача.
А вот построение функции, которая знает все варианты нумерации - (обратная) - это NP сложная задача и она имеет сложность , возрастающую как N!
И она не может входить в заданное заранее ограниченное множество "известных" алгоритмов.
Т.е. если некая задача использует конечный набор алгоритмов для своей работы, то обратная задача не может присутствовать среди этих алгоритмов и к тому же она должна быть в N! раз сложнее.
В общем где-то в этом направлении.