В СМИ часто пишут об успехах разработчиков компьютерной техники, которые за счет новых технических решений добиваются роста вычислительной мощности компьютеров. Это очень важно, но производительность не является единственным ресурсом, способным увеличить скорость работы компьютеров. Не менее, а, может быть, и более важным являются алгоритмы, на основе которых и работает вычислительная машина.
В широком смысле именно алгоритмы можно считать прародителями компьютера. Алгоритмы отвечают за то, как машина обрабатывает информацию. Чем эффективнее алгоритм, тем меньшую работу придется выполнить компьютеру для достижения намеченной цели. Таким образом, совершенствуя алгоритмы обработки, можно добиваться прироста скорости работы ЭВМ не меняя производительности самих машин. Это позволяет рассматривать перспективы прогресса без наращивания вычислительной мощности.
Алгоритмы все время совершенствуются, но люди, обычно, этого не замечают. Однако, многие замечают то, что поисковик начал работать быстрее, полагая, что всему причиной проведенный апгрейд компьютера. Ученые задались вопросом о том, насколько алгоритмы стали совершеннее. Для получения ответа на этот вопрос команда исследователей из Массачусетского университета провела большую работу. Они проанализировали 57 учебников и более 1100 научных работ на родственные тематики. Они попытались понять, как быстро улучшались алгоритмы и как это влияло на решение конкретных проблем.
Исследование охватывало несколько десятилетий, начиная с 1940-х годов прошлого столетия, когда информатика только зарождалась как наука. Анализ показал, что улучшения наблюдаются ежегодно и в 43% случаев они позволяют добиться аналогичных или чуть более весомых результатов, чем при улучшении аппаратного обеспечения. А в 14% случаев эффект от улучшения алгоритмов был существенно большим, чем от модернизации оборудования. Наибольший эффект от использования новых прогрессивных алгоритмов наметился в областях, где обрабатываются Большие данные (Big data).