Co to są algorytmy i dlaczego powodują dyskomfort?

„Algorytm” to słowo, które jest często używane. Ale kiedy budujemy rozmowy wokół algorytmów YouTube lub Facebooka, o czym właściwie mówimy? Co to są algorytmy i dlaczego ludzie tak bardzo na nie narzekają?

Algorytmy to instrukcje rozwiązywania problemów

Żyjemy w świecie, w którym komputery są niejasno rozumiane, mimo że przenikają każdą chwilę naszego życia. Ale jest jeden obszar informatyki, w którym każdy może zrozumieć podstawy tego, co się dzieje. Ten obszar informatyki nazywa się programowaniem.

Programowanie nie jest efektowną pracą, ale stanowi podstawę całego oprogramowania komputerowego, od Microsoft Office po robocallers. I nawet jeśli twoja wiedza na temat programowania wywodzi się wyłącznie ze złych filmów z lat 90. i nietypowych doniesień prasowych, prawdopodobnie nie potrzebujesz nikogo, kto by ci wyjaśniał, czym zajmuje się programista. Programista pisze kod dla komputera, a komputer postępuje zgodnie z instrukcjami tego kodu, aby wykonywać zadania lub rozwiązywać problemy.

Cóż, w świecie informatyki algorytm to po prostu fantazyjne słowo oznaczające kod. Każdy zestaw instrukcji, który mówi komputerowi, jak rozwiązywać problemy, jest algorytmem, nawet jeśli zadanie jest bardzo łatwe. Po włączeniu komputera następuje zestaw instrukcji „jak włączyć”. To działa algorytm. Kiedy komputer NASA wykorzystuje surowe dane fal radiowych do renderowania fotografii kosmosu, działa to również algorytm.

Słowo „algorytm” może być użyte do opisania dowolnego zestawu instrukcji, nawet spoza dziedziny informatyki. Na przykład, Twoja metoda sortowania sztućców w szufladzie to algorytm, podobnie jak metoda mycia rąk po skorzystaniu z łazienki.

Mężczyzna niewygodnie patrząc na laptopa

Ale oto jedna rzecz: w dzisiejszych czasach słowo „algorytm” jest zarezerwowane dla bardzo konkretnych rozmów technicznych. Nie słychać, jak ludzie mówią o „podstawowych algorytmach matematycznych” lub algorytmach „narzędzia do graffiti w MS Paint”. Zamiast tego słyszysz, jak użytkownicy Instagrama narzekają na algorytmy sugestii znajomych lub grupy zajmujące się prywatnością, które atakują algorytmy gromadzenia danych Facebooka.

Jeśli „algorytm” jest ogólnym terminem określającym instrukcje obliczeniowe, to dlaczego używamy go prawie wyłącznie do opisania zagmatwanych, magicznych i złych aspektów świata cyfrowego?

Większość ludzi używa zamiennie „algorytmów” i „uczenia maszynowego”

W przeszłości programiści i popkultura nazywali większość instrukcji obliczeniowych „kodem”. W większości przypadków jest to prawdą. Uczenie maszynowe to duży, mętny obszar informatyki, w którym zwykle używamy słowa „algorytm” zamiast „kodu”. To, co zrozumiałe, przyczyniło się do zamieszania i niepokoju związanego ze słowem „algorytm”.

Uczenie maszynowe istnieje od dawna, ale stało się dużą częścią cyfrowego świata dopiero w ciągu ostatnich 15 lat. Chociaż uczenie maszynowe brzmi jak skomplikowany pomysł, jest dość łatwy do zrozumienia. Programiści nie mogą pisać i testować określonego kodu w każdej sytuacji, więc piszą kod, który może napisać się sam.

Potraktuj to jako bardziej praktyczną formę sztucznej inteligencji. Jeśli skategoryzujesz wystarczającą liczbę wiadomości e-mail szefa jako spam, Twój klient poczty zacznie automatycznie umieszczać wszystkie e-maile szefa w folderze spamu. Podobnie Google korzysta z systemów uczących się, aby upewnić się, że wyniki wyszukiwania w YouTube pozostają trafne, a Amazon używa systemów uczących się, aby sugerować, które produkty należy kupić.

Oczywiście uczenie maszynowe nie jest dobre i eleganckie. Nazwa „uczenie maszynowe” brzmi wystarczająco przerażająco, aby niektórzy ludzie czuli się niekomfortowo, a niektóre popularne zastosowania uczenia maszynowego są etycznie wątpliwe. Algorytmy, których Facebook używa do eksploracji danych lub użytkowników w sieci, są niepochlebnym przykładem uczenia maszynowego.

W prasie usłyszysz o „algorytmie Google” do rankingu wyników wyszukiwania, „algorytmie YouTube” do rekomendowania filmów oraz „algorytmie Facebooka” do decydowania, które posty zobaczysz na swojej osi czasu. To wszystko są przedmiotem sporów i debat.

Dlaczego algorytmy są kontrowersyjne

Dzielenie długie to znany algorytm (między innymi) do dzielenia liczb. Tyle, że wykonują go dzieci w wieku szkolnym zamiast komputerów. Twój procesor Intel używa całkowicie innego algorytmu, gdy dzieli liczby, ale wyniki są takie same.

Zamiana mowy na tekst generalnie wykorzystuje uczenie maszynowe, ale nikt nie mówi o „algorytmie” zamiany mowy na tekst, ponieważ istnieje obiektywnie poprawna odpowiedź, którą każdy człowiek może natychmiast rozpoznać. Nikogo nie obchodzi, „jak” komputer zorientuje się, co powiedziałeś, ani czy jest to uczenie maszynowe, czy nie. Dbamy tylko o to, czy maszyna otrzymała właściwą odpowiedź.

Ale inne zastosowania uczenia maszynowego nie mają korzyści z posiadania „właściwej” odpowiedzi. Dlatego algorytmy stały się stałym tematem rozmów w mediach.

Algorytm alfabetycznego sortowania listy to tylko sposób na wykonanie określonego zadania. Ale algorytm, taki jak Google, służący w jakiś sposób do „oceniania najlepszych witryn internetowych pod kątem wyszukiwania” lub YouTube do „rekomendowania najlepszego filmu”, jest znacznie niejasny i nie wykonuje określonego zadania. Ludzie mogą debatować, czy ten algorytm daje takie wyniki, jak powinien, i ludzie będą mieli różne opinie na ten temat. Ale w naszym przykładzie sortowania alfabetycznego każdy może zgodzić się, że lista zostanie posortowana alfabetycznie tak, jak powinna. Nie ma kontrowersji.

Jak powinniśmy używać słowa „algorytm”?

Podstawą oprogramowania są algorytmy. Bez algorytmów nie miałbyś telefonu ani komputera i prawdopodobnie czytałbyś ten artykuł na kartce papieru (a właściwie wcale by go nie czytał).

Jednak ogół społeczeństwa nie używa słowa „algorytm” jako ogólnego określenia kodu komputerowego. W rzeczywistości większość ludzi zakłada, że ​​istnieje różnica między kodem komputerowym a algorytmem – ale tak nie jest. Ze względu na skojarzenie słowa „algorytm” z uczeniem maszynowym, jego znaczenie stało się mgliste, ale jego użycie stało się bardziej specyficzne.

Ojciec i dziecko czytają coś z laptopa

Czy powinieneś zacząć używać słowa „algorytm” do opisania nawet najbardziej banalnych fragmentów kodu komputerowego? Prawdopodobnie nie, ponieważ nie wszyscy zrozumieją, co masz na myśli. Język zawsze się zmienia i zawsze się zmienia nie bez powodu. Ludzie potrzebują słowa, by opisać zagmatwany, niejasny i czasami wątpliwy świat uczenia maszynowego, a „algorytm” staje się tym słowem – na razie.

Biorąc to pod uwagę, dobrze jest pamiętać, że algorytm (i uczenie maszynowe) jest w istocie zbiorem kodu napisanego w celu rozwiązywania zadań. Nie ma magicznej sztuczki; to po prostu bardziej skomplikowana iteracja oprogramowania, które już znamy.

Źródła: Łupek, Wikipedia, GeeksforGeeks