
Kaj je algoritem in zakaj ljudem ni všeč?
»Algoritem« je beseda, ki se jo kljub temu, da zveni za nekatere neprijetno, pogosto uporablja. Toda, ko se pogovarjamo o algoritmih YouTuba ali Facebooka, o čem pravzaprav govorimo? Kaj so algoritmi in zakaj se ljudje toliko pritožujejo nad njimi?
Algoritem je navodilo za reševanje problema
Živimo v svetu, kjer so računalniki še zmeraj precej nerazumljivi, čeprav prežijo na vsakem koraku v našem življenju. Obstaja pa eno področje računalništva, kjer lahko vsakdo razume osnove tega, kar se dogaja. To področje računalništva se imenuje programiranje.
Programiranje ni glamurozno delo, ampak je temelj vse računalniške programske opreme, od Microsoft Officea do robo-tajnic. In čeprav vaše znanje o programiranju izvira izključno iz slabih filmov 90-ih let in poročil v novicah, vam verjetno ni treba razlagati, kaj počne programer. Programer zapiše kodo za računalnik, računalnik pa sledi navodilom te kode za izvajanje nalog ali reševanje težav.

Algoritem
No, v svetu računalništva je algoritem le domišljena beseda za kodo. Vsak nabor navodil, ki računalniku pove, kako rešiti težave, je algoritem, čeprav je naloga zelo preprosta. Ko vklopite računalnik, ta sledi navodilom »kako vklopiti«. To je algoritem, ki deluje. Ko NASA uporablja računalnik s »surovimi podatki« o radijskih valovih, da prikaže fotografijo vesolja, je na delu – delovni algoritem.
Beseda »algoritem« se lahko uporablja za opis vseh navodil, tudi zunaj področja računalništva. Na primer, vaš način razvrščanja nakita v predalu je algoritem, kot tudi vaš način pranja rok po uporabi kopalnice.

Ampak, tukaj je problem: v teh dneh je beseda »algoritem« običajno rezervirana za nekatere zelo specifične tehnološke pogovore. Ne slišite ljudi, ki bi govorili o algoritmih »osnovne matematike« ali algoritmih »orodja MS Paint graffiti«. Namesto tega slišite uporabnike Instagrama, ki se pritožujejo zaradi algoritmov za predloge prijateljev, ali skupine za zasebnost, ki zlorabljajo algoritme zbiranja podatkov Facebooka.
Če je »algoritem« znan izraz za računska navodila, zakaj ga uporabljamo skoraj izključno za opis nejasnih, magičnih in zlobnih vidikov digitalnega sveta?
Večina ljudi uporablja »Algoritem« in »Strojno učenje« na izmenični način
V preteklosti so programerji in pop kultura večino računalniških navodil označevali kot »kodo«. To je večinoma prisotno še danes. Strojno učenje je veliko, motno področje računalništva, kjer namesto »kode« uporabljamo besedo »algoritem«. To je razumljivo prispevalo k zmedenosti in nelagodju okoli besede »algoritem«.

Algoritem
Strojno učenje je prisotno že dolgo časa, vendar je šele v zadnjih 15 letih postalo velik del digitalnega sveta. Medtem ko strojno učenje zveni kot zapletena ideja, jo je zelo enostavno razumeti. Programerji ne morejo pisati in preizkušati posebne kode za vsako situacijo, zato pišejo kodo, ki se lahko zapiše sama.
To lahko razumemo tudi, kot bolj praktično obliko umetne inteligence. Recimo: če razvrščate dovolj e-poštnih sporočil, ki jih dobite od neke trgovine, kot neželeno pošto, bo vaš e-poštni odjemalec samodejno začel pošiljati vsa sporočila te trgovine v mapo z neželeno pošto. Podobno Google uporablja strojno učenje, da bi zagotovil, da so rezultati iskanja YouTube ustrezni, in Amazon uporablja strojno učenje, da vam predlaga, katere izdelke bi morali kupiti.
Ime »strojno učenje« zveni grozljivo. Nekaterim ljudem, ob tej besedi postane kar neprijetno, nekateri priljubljeni načini uporabe strojnega učenja pa so etično vprašljivi. Algoritmi, ki jih Facebook uporablja za prenos podatkov uporabnikov s spleta, so neprijeten primer strojnega učenja.
V medijih boste dostikrat slišali za »Googlov algoritem« za razvrščanje rezultatov iskanja, »YouTubov algoritem« za priporočanje videoposnetkov in »Facebookov algoritem« za odločanje, katere objave boste videli v časovni premici. Vse to je predmet spora in razprave.
Zakaj so algoritmi sporni?
»Dolga delitev« je poznan algoritem (med mnogimi drugimi) za deljenje števil. Samo to, da ga izvajajo šolarji namesto računalnikov. Vaš grafični procesor na računalniku uporablja drugačen algoritem, ko deli številke, vendar so rezultati enaki.

Za pretvarjanje govora v besedilo običajno uporabljamo strojno učenje, vendar nihče ne govori o »algoritmu« govor-besedilo, ker obstaja objektivno pravilen odgovor, ki ga lahko vsak človek takoj prepozna. Nihče ne razmišlja »kako« računalnik razume, kaj ste rekli in ali gre za strojno učenje ali ne.

Algoritem
Algoritem za razvrščanje seznama po abecedi je le način za uresničevanje določenih nalog. Toda algoritem, kot je Googlov za nekako »razvrščanje najboljših spletnih strani za iskanje« ali YouTube algoritem za »priporočanje najboljšega videa«, je precej nejasen. Ljudje razpravljajo, ali ta algoritem proizvaja rezultate, kot bi jih moral, slišimo pa različna mnenja o tem.
Kako naj uporabljamo besedo »algoritem?«
Algoritem je osnova celotne programske opreme. Brez algoritmov ne bi imeli telefona ali računalnika in verjetno bi ta članek brali na kosu papirja (dejansko ga sploh ne bi prebrali).
Toda splošna javnost besede »algoritem« ne uporablja kot zaznamek za računalniško kodo. Dejansko večina ljudi domneva, da obstaja razlika med računalniško kodo in algoritmom, vendar je ni. Zaradi besede »algoritem«, ki je povezana s strojnim učenjem, je njen pomen postal meglit, njegova uporaba pa je postala bolj specifična.
Ali bi morali začeti uporabljati besedo »algoritem«, da bi opisali tudi najbolj nepomembne dele računalniške kode? Verjetno ne, saj ne bodo vsi razumeli, kaj mislite. Jezik je živa stvar in se vedno spreminja. Ljudje potrebujejo besedo za opis nejasnega in včasih dvomljivega sveta strojnega učenja, trenutno pa vse kaže na to, da »algoritem« postaja ta beseda.
Ob tem pa je dobro imeti v mislih, da je algoritem (in strojno učenje) v svojem bistvu šifra, ki je napisana za reševanje nalog. Ni čarobnega trika; to je samo bolj zapletena ponovitev programske opreme, s katero smo že seznanjeni.
Marko Vidrih