То-то и оно, что как ни преобразуй, раньше или позже придется иметь дело с тем, что функция сложная. Это не совсем субъективная вещь. В математике есть понятие сложности функции. Правда, строгие утверждения доказываются для целых классов функций, но тут существенна идеология. Ситуация аналогична (и не случайно, это вещи одного характера) теории информации. Если дана какая-то последовательность нулей и единиц конечной длины, то можно говорить, что никакой неопределенности тут нет - последовательность то дана, особенно если ее длина <10. Легко описать словами. Однако, если длина 10^9, то опять можно сказать то же самое, но толку от этого будет немного, если нам надо описать эту последовательность как можно более коротким образом. Если относительно последовательности что-то хорошее известно, то может помочь идеология теории информации. Скажем, если количество единиц ровно в три раза больше количества нулей, то такие последовательности можно описать короче, и известно, как. По формуле Шеннона можно посчитать, во сколько примерно раз ее можно сократить. Если же последовательность взята "случайно", то сделать ее существенно короче (например, сжимая архиватором), скорее всего, не удастся.
Аналогия такова. Пусть даже
фиксированны. Имеется задача вычислить функцию
. Тогда фразе "вычислить функцию" соответствует "закодировать последовательность", "вычислить быстрее" -"закодировать короче", "исходная последовательность" - "способ вычисления функции в виде суммы синусов". Вопрос заключается, почему такую функцию можно посчитать (заметно) быстрее? Что выделяет ее среди других похожих задач, которых можно придумать множество? Скажем для сумм типа
тоже существует способ более быстрый, чем в лоб? Что будет являться свойством какой-то выделенности именно этой задачи - вроде "единиц в три раза больше"? То, что все функции синусы (но у них частоты
произвольны), или то, что коэффициенты при них единицы (непонятно, как это использовать)?
А преобразовывать произвольное выражение, не зная, чем оно выделяется среди других, вряд ли приведет к чему-либо. Для последовательностей это могло бы выглядеть так. Пусть мы хотим воспользоваться свойством , что когда "единиц в три раза больше", то длину можно уменьшить. Поскольку у нас то произвольная последовательность, заменим в конце сколько надо нулей на единицы, сожмем ее, а внесенные изменения опишем отдельно. Однако для большинства последовательностей суммарная длина "сжатой последовательности" плюс "описание изменений" сильно короче не будут. Аналогичный вопрос: хорошо, пусть есть какой-то другой способ вычисления
. Почему он будет существенно быстрее прямого? Вот в принципе, то, что я упомянул как "сложность". А заменить сумму на интеграл, применять преобразования и т.п., это все равно, что волевым порядком менять нули на единицы, а затем сжимать архиватором - вдруг получится. Только для большинства последовательностей не получится.
Конечно, все это не исключает того, что для конкретной задачи способ существует. Но тогда спрашивается, за счет чего? И вот это мне совершенно непонятно