Шта су алгоритми и зашто они чине људима непријатне?

„Алгоритам“ је реч која се често користи. Али када градимо разговоре око ИоуТубе или Фацебоок алгоритама, о чему заправо говоримо? Шта су алгоритми и зашто се људи толико жале на њих?

Алгоритми су упутства за решавање проблема

Живимо у свету у коме се компјутери само нејасно разумеју, иако прожимају сваки тренутак нашег живота. Али постоји једна област рачунарске науке у којој свако може да разуме основе онога што се дешава. Та област рачунарства се зове програмирање.

Програмирање није гламурозан посао, али је основа свих компјутерских софтвера, од Мицрософт Оффице-а до роботских позивача. Чак и ако ваше знање о програмирању потиче искључиво из лоших филмова из 90-их и необичних вести, вероватно вам не треба нико да вам објашњава шта програмер ради. Програмер пише код за рачунар, а рачунар следи упутства тог кода да би извршио задатке или решио проблеме.

Па, у свету компјутерских наука, алгоритам је само фенси реч за код. Сваки скуп инструкција који рачунару говори како да реши проблеме је алгоритам, чак и ако је задатак супер лак. Када укључите рачунар, он следи скуп упутстава „како да укључите“. То је алгоритам на делу. Када НАСА рачунар користи необрађене податке о радио таласима да прикаже фотографију свемира, то је такође алгоритам на делу.

Реч „алгоритам“ се може користити за описивање било ког скупа инструкција, чак и ван домена рачунарства. На пример, ваш метод за сортирање сребрног прибора у фиоци је алгоритам, као и ваш метод прања руку након коришћења купатила.

  Можете ли избрисати једну слику од више на Инстаграму након објављивања?

Али, ево у чему је ствар: ових дана, реч „алгоритам” обично је резервисана за неке врло специфичне техничке разговоре. Не чујете људе да причају о алгоритмима „основне математике“ или алгоритмима „МС Паинт алата за графите“. Уместо тога, чујете како се корисници Инстаграма жале на алгоритме за предлагање пријатеља или групе за приватност које баце Фацебоок-ове алгоритме за прикупљање података.

Ако је „алгоритам“ уобичајен термин за рачунарске инструкције, зашто га онда користимо скоро искључиво да опишемо збуњујуће, магичне и зле аспекте дигиталног света?

Већина људи користи „алгоритме“ и „машинско учење“ наизменично

У прошлости су програмери и поп култура већину рачунарских инструкција називали „кодом“. То остаје тачно и данас, углавном. Машинско учење је велика, мутна област рачунарства где обично користимо реч „алгоритам“ уместо „код“. Ово је, разумљиво, допринело конфузији и нелагоди око речи „алгоритам“.

Машинско учење постоји већ дуже време, али је постало велики део дигиталног света тек у последњих 15-ак година. Иако машинско учење звучи као компликована идеја, прилично је лако разумети. Програмери не могу писати и тестирати специфичан код за сваку ситуацију, тако да пишу код који може сам да напише.

Замислите то као практичнији облик вештачке интелигенције. Ако довољно имејлова свог шефа категоризујете као нежељену пошту, онда ће ваш клијент е-поште аутоматски почети да гура све е-поруке вашег шефа у фасциклу за нежељену пошту. Слично томе, Гоогле користи машинско учење да би се уверио да резултати претраге на ИоуТубе-у остану релевантни, а Амазон користи машинско учење да предложи које производе треба да купите.

  Како лако променити поставке система Убунту помоћу Убунсис-а

Наравно, машинско учење није сасвим у реду. Назив „машинско учење“ звучи довољно језиво да неким људима буде непријатно, а неке од популарних употреба машинског учења су етички упитне. Алгоритми које Фацебоок користи за рударење података или корисника широм веба је непријатан пример машинског учења.

У штампи ћете чути о „Гугловом алгоритму“ за рангирање резултата претраге, „ИоуТубе-овом алгоритму“ за препоруку видео снимака и „Фејсбуковом алгоритму“ за одлучивање које постове ћете видети на временској линији. Све су то предмети спора и дебате.

Зашто су алгоритми контроверзни

Дуго дељење је познати алгоритам (између многих других) за дељење бројева. Само што га уместо компјутера спроводе школарци. Ваш Интел ЦПУ користи потпуно другачији алгоритам када дели бројеве, али резултати су исти.

Говор у текст генерално користи машинско учење, али нико не говори о „алгоритму“ говора у текст јер постоји објективно тачан одговор који сваки човек може одмах да препозна. Никога није брига о томе „како“ компјутер схвати шта сте рекли или да ли је то машинско учење или не. Само нас занима да ли је машина добила прави одговор.

Али друге примене машинског учења немају предност од „правог“ одговора. Због тога су алгоритми постали редовна тема разговора у медијима.

Алгоритам за сортирање листе по абецедном реду је само начин да се изврши дефинисан задатак. Али алгоритам попут Гугловог за некако „рангирање најбољих веб локација за претрагу“ или ИоуТубе-овог за „препоруку најбољег видеа“ је много неодређенији и не испуњава дефинисани задатак. Људи могу расправљати о томе да ли тај алгоритам даје резултате које би требао, а људи ће имати различита мишљења о томе. Али, са нашим примером сортирања по абецедном реду, сви се могу сложити да листа завршава поређана по абецедном реду како треба. Нема полемике.

  Како да искључите ћаскање на неодређено време на ВхатсАпп-у

Како треба да користимо реч „алгоритам?“

Алгоритми су основа сваког софтвера. Без алгоритама, не бисте имали телефон или рачунар, а вероватно бисте читали овај чланак на парчету папира (у ствари, не бисте га уопште читали).

Али, шира јавност не користи реч „алгоритам“ као основни термин за компјутерски код. У ствари, већина људи претпоставља да постоји разлика између компјутерског кода и алгоритма — али не постоји. Због повезаности речи „алгоритам” са машинским учењем, њено значење је постало магловито, али је његова употреба постала специфичнија.

Да ли би требало да почнете да користите реч „алгоритам“ да опишете чак и најтривијалније делове компјутерског кода? Вероватно не, јер неће сви разумети на шта мислите. Језик се увек мења, и увек се мења са добрим разлогом. Људима је потребна реч да опишу збуњујући, непрозиран и понекад сумњив свет машинског учења, а „алгоритам“ постаје та реч – за сада.

Имајући то у виду, добро је имати на уму да је алгоритам (и машинско учење) у својој суштини гомила кода који је написан за решавање задатака. Не постоји магични трик; то је само компликованија итерација софтвера са којим смо већ упознати.

Извори: Шкриљац, Википедиа, ГеексфорГеекс