„Algorytm” to termin, który często pojawia się w dyskusjach. Ale gdy mówimy o algorytmach stosowanych przez platformy takie jak YouTube czy Facebook, co tak naprawdę mamy na myśli? Czym są algorytmy i dlaczego budzą tyle negatywnych emocji?
Algorytmy jako instrukcje do rozwiązywania problemów
Żyjemy w erze, w której komputery są wszechobecne, lecz często pozostają dla nas tajemnicą. Istnieje jednak jedna dziedzina informatyki, której zasady są zrozumiałe dla każdego – to programowanie.
Programowanie może nie być najbardziej ekscytującą dziedziną, ale to właśnie na nim opiera się całe oprogramowanie, od aplikacji biurowych po systemy automatycznych połączeń. Nawet jeśli twoje wyobrażenie o programowaniu opiera się na złych filmach z lat 90. lub niejasnych artykułach, z pewnością wiesz, że programista pisze kod, który komputer następnie interpretuje i wykonuje, aby rozwiązywać różnorodne zadania.
W świecie informatyki algorytm to w rzeczywistości pojęcie oznaczające kod. Każdy zestaw wskazówek, który instruuje komputer, jak rozwiązać dany problem, to algorytm, nawet jeśli zadanie jest proste. Na przykład, gdy włączasz komputer, to również jest algorytm – zestaw instrukcji „jak włączyć”. Podobnie, kiedy NASA przetwarza dane radiowe, aby stworzyć obrazy kosmosu, również używa algorytmu.
Termin „algorytm” można odnieść do dowolnego zestawu instrukcji, w tym tych, które nie mają związku z informatyką. Na przykład twoja metoda układania sztućców w szufladzie lub sposób mycia rąk po skorzystaniu z toalety to również algorytmy.
Warto jednak zauważyć, że obecnie termin „algorytm” jest używany głównie w kontekście specyficznych rozważań technicznych. Rzadko słyszy się, aby ktoś mówił o „podstawowych algorytmach matematycznych” czy algorytmach „do rysowania w MS Paint”. Zamiast tego użytkownicy platform społecznościowych, takich jak Instagram, często wyrażają swoje niezadowolenie z algorytmów rekomendacji znajomych, a organizacje zajmujące się prywatnością krytykują algorytmy gromadzenia danych Facebooka.
Jeśli „algorytm” to ogólne pojęcie odnoszące się do instrukcji obliczeniowych, dlaczego tak często używamy go w kontekście skomplikowanych i problematycznych aspektów cyfrowego świata?
Ludzie mylą „algorytmy” z „uczeniem maszynowym”
W przeszłości programiści oraz kultura popularna częściej używali terminu „kod” dla większości instrukcji obliczeniowych. W rzeczy samej, tak jest w większości przypadków. Uczenie maszynowe to złożony obszar informatyki, w którym częściej stosuje się termin „algorytm” niż „kod”. To z pewnością przyczyniło się do zamieszania i niepokoju związanych z tym terminem.
Uczenie maszynowe istnieje już od jakiegoś czasu, ale zyskało na znaczeniu w ciągu ostatnich 15 lat. Choć może wydawać się skomplikowane, jest to koncepcja stosunkowo łatwa do zrozumienia. Ponieważ programiści nie mogą przewidzieć każdej sytuacji, piszą kod, który potrafi się dostosować.
Można to postrzegać jako bardziej zaawansowaną formę sztucznej inteligencji. Na przykład, jeśli wielokrotnie oznaczasz e-maile od swojego szefa jako spam, twój klient pocztowy zacznie automatycznie przenosić je do folderu spamu. Również Google wykorzystuje systemy uczące się, aby utrzymać trafność wyników wyszukiwania na YouTube, a Amazon sugeruje produkty na podstawie danych z tych systemów.
Nie można jednak zapominać, że uczenie maszynowe ma swoje kontrowersje. Termin „uczenie maszynowe” często wzbudza obawy, a niektóre jego zastosowania stają się przedmiotem etycznych dylematów. Na przykład algorytmy stosowane przez Facebook do analizy danych użytkowników są często krytykowane.
W mediach można usłyszeć o „algorytmie Google” odpowiedzialnym za ranking wyników wyszukiwania, „algorytmie YouTube” do rekomendacji filmów oraz „algorytmie Facebooka”, który decyduje, jakie posty widzisz na swojej osi czasu. Wszystkie te kwestie są często przedmiotem dyskusji i sporów.
Dlaczego algorytmy budzą kontrowersje
Jednym z przykładów algorytmu jest algorytm dzielenia, który uczniowie uczą się w szkole. Dzieci mogą dbać o ten proces, podczas gdy nowoczesne procesory wykonują go w zupełnie inny sposób, osiągając ten sam wynik.
Podobnie, zamiana mowy na tekst zazwyczaj opiera się na uczeniu maszynowym, jednak nikt nie mówi o „algorytmie” tej technologii, ponieważ istnieje jednoznaczna poprawna odpowiedź, którą każdy może łatwo zweryfikować. Ludzie nie interesują się tym, jak komputer rozumie, co powiedzieliśmy, ani czy wykorzystywane jest uczenie maszynowe. Liczy się tylko, że maszyna dostarcza właściwy wynik.
Algorytm sortowania alfabetycznego to wyłącznie sposób na wykonanie konkretnego zadania. Z kolei algorytm Google, który „ocenia najlepsze strony internetowe pod kątem wyszukiwania”, lub algorytm YouTube, który „rekomenduje najlepsze filmy”, są znacznie bardziej złożone i niejednoznaczne. W takich przypadkach ludzie mogą mieć odmienne opinie na temat skuteczności tych algorytmów, co prowadzi do nieustannych debat. W przeciwieństwie do tego, w przypadku sortowania alfabetycznego wszyscy mogą uznać, że lista została posortowana prawidłowo, co nie budzi kontrowersji.
Jak powinniśmy postrzegać termin „algorytm”?
Algorytmy są fundamentem oprogramowania. Bez nich nie mielibyśmy ani komputerów, ani smartfonów, a możliwość przeczytania tego artykułu byłaby nieosiągalna.
Czy powinniśmy używać terminu „algorytm” do opisania nawet najbardziej podstawowych fragmentów kodu komputerowego? Prawdopodobnie nie, ponieważ nie wszyscy zrozumieją, co masz na myśli. Język nieustannie ewoluuje, a ludzie potrzebują słowa, które opisałoby skomplikowany i często nieprzejrzysty obszar uczenia maszynowego – i obecnie jest to termin „algorytm”.
Warto pamiętać, że algorytmy (i uczenie maszynowe) to w gruncie rzeczy zestaw kodów napisanych w celu realizacji określonych zadań. Nie ma w tym magii; to po prostu bardziej złożona forma oprogramowania, które już dobrze znamy.
Źródła: Łupek, Wikipedia, GeeksforGeeks
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.