„Algorytm” to słowo, które jest często używane. Ale kiedy tworzymy 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 jedna dziedzina informatyki, w której 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. Gdy 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.
Ale oto 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 opisującym instrukcje obliczeniowe, to dlaczego używamy go prawie wyłącznie do opisywania 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ą. Nauczanie 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ę znaczną częścią cyfrowego świata dopiero w ciągu ostatnich 15 lat. Chociaż systemy uczące się wydają się skomplikowanym pomysłem, łatwo je zrozumieć. 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ę e-maili 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 na tyle przerażająco, że niektórzy ludzie czują się niekomfortowo, a niektóre popularne zastosowania uczenia maszynowego są etycznie wątpliwe. Algorytmy używane przez Facebooka do eksploracji danych lub użytkowników w sieci są niepochlebnym przykładem uczenia maszynowego.
W prasie usłyszysz o „algorytmie Google” do ustalania pozycji wyników wyszukiwania, „algorytmie YouTube” do polecania filmów oraz „algorytmie Facebooka” do decydowania, które posty zobaczysz na swojej osi czasu. To wszystko są przedmiotem sporów i debat.
ZWIĄZANE Z: Problem ze sztuczną inteligencją: maszyny uczą się rzeczy, ale ich nie rozumieją
Dlaczego algorytmy są kontrowersyjne
Dzielenie długie to znany algorytm (między innymi) do dzielenia liczb. Chodzi tylko o to, że wykonują go dzieci w wieku szkolnym, a nie komputery. 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, „w jaki sposób” komputer zorientuje się, co powiedziałeś, ani czy to uczenie maszynowe, czy nie. Dbamy tylko o to, czy maszyna otrzymała właściwą odpowiedź.
Jednak inne zastosowania systemów uczących się 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. Jednak algorytm, taki jak Google, służący w jakiś sposób do „oceniania najlepszych witryn pod kątem wyszukiwania” lub w YouTube do „rekomendowania najlepszego filmu”, jest dużo 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ą każdego 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 szczegółowe.
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ę, warto pamiętać, że algorytm (i uczenie maszynowe) to w istocie zbiór 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