Как известно, результаты работы любой программы зависят от входных данных. То есть на входе мы получаем некоторый набор данных, а на выходе - другой набор или какие-либо действия компьютера. Теперь - внимание! - а что если предопределить все наборы входных данных и, скажем, разложить их по некоему басису. Далее мы записываем в программу этот басис и координаты разложения данных по нему. Для каждой записи сразу записываем результат выполнения программы.
Соответственно, результат мы получаем практически мгновенно - достаточно сопоставить результат и входные данные. То есть компьютеры будут работать быстрее в десятки раз.
Единственный минус - возможно большой размер программ. Но если так подобрать базис разложения, то всё будет мало весить - ведь записать надо будет не сами данные, а лишь «координаты» в этом базисе. Понял это ещё с уроков геометрии - там делается то же самое, но с векторами