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