Розділи
Матеріали

"Покращуйте ПЗ, а не гаджети": вчені пояснили, що вплине на розвиток технологій

Ірина Рефагі
Фото: habr.com

Експерти з MIT дійшли висновку, що для вирішення найскладніших і найнезбагненніших завдань достатньо прокачати софт, при цьому обчислювальні потужності вдосконалювати не обов'язково.

Алгоритми — це свого роду "батьки", а комп'ютери — "діти". Програми вчать комп'ютер аналізувати інформацію, щоб витягти щось корисне та відсікти зайве. Чим ефективніший алгоритм, тим менше роботи доводиться виконувати комп'ютеру. Незважаючи на прогрес у сфері хардвера та вплив на нього закону Мура, продуктивність комп'ютерів – це лише одна сторона медалі. А є й інша сторона: удосконалення програмного забезпечення таким чином, щоб зменшити (чи хоча б не нарощувати) обчислювальні потужності й енергоспоживання.

Учені з Лабораторії комп'ютерних наук і штучного інтелекту Массачусетського технологічного інституту (CSAIL) поцікавилися: наскільки швидко відбувалося вдосконалення алгоритмів, починаючи з 1940-х років і до наших днів? Вони досліджували цю проблему, а результатами поділилися в статті.

Команда переглянула 57 підручників і більш ніж 1110 досліджень, щоб простежити історію розвитку софту та зрозуміти, на якому етапі алгоритми стали кращими. У результаті вони класифікували їх, поділивши на 113 "родин". У кожну родину увійшов набір алгоритмів, які вирішують одну й ту саму проблему, яка позиціонувалася в підручниках із інформатики як "найважливіша". Для кожного сімейства вчені MIT створили "родове дерево", відслідковуючи щоразу, коли пропонувався новий алгоритм для вирішення тієї найважливішої проблеми, і виділяючи найефективніші. Група виявила, що починаючи з 1940-х років і до сьогодні в кожному сімействі суперефективних алгоритмів у середньому було по 8. Свою базу знань команда розмістила на спеціальному ресурсі Algorithm-Wiki.org.

Аналізуючи те, як вирішувалися складні завдання, з'ясувалося, що у 43% сімейств із року в рік спостерігалися поліпшення, які були рівними або перевищували показники, описані в законі Мура (згідно з цим законом, кількість транзисторів, які поміщають на кристал інтегральної схеми, кожні 2 року збільшується вдвічі, — ред.). Тобто, кожні 2 роки алгоритми із 43% сімейств ставали вдвічі ефективнішими. У 14% сімейств на значне поліпшення продуктивності алгоритмів вплинуло ефективніше й оновлене обладнання.

Найбільша зміна, яку спостерігали автори, відбулася, коли алгоритми еволюціонували від експоненційних до поліноміальних. Тут варто пояснити, що таке експоненційна складність. Наприклад, потрібно підібрати комбінацію чисел, щоб відкрити кодовий замок. Якщо у вас лише один 10-значний циферблат, то завдання просте. Якщо замок має чотири 10-значних циферблати, завдання ускладнюється, але все ж таки вона вирішувана. Але якщо він має 50 циферблатів, то кількість можливих комбінацій стає настільки величезною, що людині впоратися із цим завданням практично неможливо. Так-от комп'ютерам так само не під силу вирішити експоненційно складні завдання. Але поліноміальні алгоритми здатні їх вирішувати, і при цьому жодного прокачування обчислювальної техніки не потрібно процесор, ОЗУ, жорсткий диск, усі ці та інші елементи комп'ютера залишаються колишніми.

Учені дійшли висновку, що вигода від удосконалення софту була величезною (йдеться про розвиток новітніх технологій — ред.), тому потенціал подальшого прогресу, безперечно, є. Поліпшення обладнання відповідно до закону Мура відбувається плавно з часом, а для алгоритмів покращення досягається за рахунок великих і різких, але нечастих, стрибків, — дійшли висновку дослідники.

"Але якщо технології розвиватимуться здебільшого завдяки вдосконаленню алгоритмів, а не обладнання, можливо, що надалі технології матимуть інший вигляд, ніж ми собі уявляємо", — пишуть вони.

"Завдяки цьому аналізу ми змогли показати, скільки завдань можна було б вирішити, використовуючи ту ж кількість обчислювальної потужності та лише удосконаливши програми. У міру того, як проблеми збільшуються, накопичуючи мільярди або трильйони даних, прокачування софту стає більш важливим і пріоритетним, ніж прокачування "Заліза". В епоху, коли вплив обчислювальної техніки на навколишнє середовище викликає велике занепокоєння, є спосіб покращити роботу підприємств і компаній без негативних наслідків — просто створивши ефективніше ПЗ", — сказав Ніл Томпсон, науковий співробітник Массачусетського технологічного інституту.

Раніше ми публікували спростування гіпотези технологічної сингулярності Рея Курцвейла. Учений Джонні Томсон навів аргументи, які показують, що якщо вона і настане, то вже точно не в найближчі десятиліття.