algorithme

Algorytm: Definicja

Wraz z pojawieniem się sztucznej inteligencji i dominacją GAFAM, algorytmy są na ustach wszystkich. Jednak choć słyszymy o tym w życiu codziennym, ignorujemy, czym tak naprawdę jest algorytm. Jeśli ten temat wzbudził już Twoją ciekawość, poniżej znajdziesz odpowiedzi na swoje pytania.

Choć dziś kojarzy się z nowymi technologiami, termin „algorytm” nie jest nowy. Po raz pierwszy pojawia się w twórczości Mohammeda Ibn Musa-Al Kwarizmi. Ten matematyk, ojciec algebry, żył w IX wieku p.n.e. Wszystko po to, aby powiedzieć, że historia sięga daleko, daleko przed średniowiecze. Ale w jaki sposób wyrażenie, którego początki sięgają starożytności, znajduje się obecnie w centrum bieżących wydarzeń?

Algorytm: ważne punkty

Algorytm definiuje się jako sekwencję uporządkowanych operacji mających na celu rozwiązanie problemu. Aby to prosto wyjaśnić, algorytm można porównać do przepisu kulinarnego. Poniżej opisano szczegółowo każdy krok, który należy wykonać, aby z dostępnych składników powstało smaczne danie. W ten sam sposób algorytm pozwala osiągnąć bardzo konkretny wynik, wykonując określoną liczbę operacji.

Faktem jest, że parametry zmieniają się za każdym razem, gdy uruchamiamy algorytm. W grę wchodzi wiele czynników zewnętrznych, dlatego projektowanie algorytmu wiąże się również z planowaniem wszelkich ewentualności i budowaniem prawdziwego drzewa instrukcji. Inżynier komputerowy musi zadbać o to, aby żaden szczegół nie pozostał przypadkowi, aby algorytm wykonał swoje zadanie, niezależnie od okoliczności.

Algorytm: skąd pochodzi to określenie?

Jak wspomniano wcześniej, termin ten został ukuty przez Muhammada ibn Mūsa al-Khwarizmī. Prawdę mówiąc, temu starożytnemu uczonemu wiele zawdzięczamy. Do dziś ludzkość posługuje się dziesiętnym systemem liczbowym. Jego odkrycia stanowią fundament, na którym opiera się matematyka.

Dzięki swoim dziełom uczony ten zyskał dobrą reputację, która szybko przekroczyła granice Bliskiego Wschodu. Jednak ze względu na bariery językowe imię tego genialnego matematyka zostało stopniowo zniekształcone z Khwarizmi na Algoritmi. Ta zlatynizowana nazwa będzie później oznaczać słowo „algorytm”, którego znaczenie jest bliskie „przepisom krok po kroku” dla osób mówiących po angielsku. Z biegiem lat termin ten stopniowo znalazł swoje miejsce w żargonie technologicznym.

Zrozum związek pomiędzy algorytmem a informatyką

Przede wszystkim musisz najpierw zrozumieć, jak działają komputery. Są to urządzenia przeznaczone do uruchamiania programów komputerowych. Miały one dostarczać instrukcje do komputera w celu wykonania dowolnego zadania. Przy tej okazji program krok po kroku przedstawia czynności, które należy wykonać, aby pomyślnie zakończyć dane zadanie. Zrozumiałbyś to! Wiele narzędzi komputerowych zostało zaprojektowanych w oparciu o algorytm.

Z technicznego punktu widzenia algorytmy przekształcają dane wejściowe w dane wyjściowe. Zatem w przypadku wyszukiwarki wyszukiwane frazy są danymi wejściowymi, a uzyskane adresy danymi wyjściowymi. W życiu codziennym algorytmy przekładają potrzebę na język komputerowy (wejście), aby odpowiedzieć na nią za pomocą środków komputerowych (wyjście). Aby wykonać jakąkolwiek funkcję, muszą być zatem zapisane w kodzie. Język programowania należy wybrać ostrożnie, aby umożliwić określone zastosowania.

Algorytm: po co?

Algorytmy są wszechobecne w dziedzinie informatyki. Aby stworzyć dowolny program, programiści projektują i kompilują szereg algorytmów. Zapewnią one należytą realizację zleceń niezależnie od okoliczności. Należy zatem zrobić wszystko, co w naszej mocy, aby jakiekolwiek błędy nie zakłóciły prawidłowego funkcjonowania aplikacji.

Przy wszystkich możliwościach, jakie dają nowe technologie, algorytmy są dziś wszechobecne. Oferują szeroki zakres zastosowań, który deweloperzy lubią odkrywać. Niemniej jednak wyróżniają się w pewnej liczbie obszarów.

Przegląd usług bazujących na algorytmach

Internetowi giganci oparli swój sukces na wydajności swoich algorytmów. Algorytmy, które pozwoliły im oferować usługi idealnie odpowiadające potrzebom ich klientów. Oto tylko niektóre z tych znanych algorytmów.

PageRank Google: Usługa ta, mająca na celu indeksowanie i klasyfikowanie wszelkich treści internetowych, opiera się na wyjątkowych algorytmach. Zostały one zaprojektowane nie tylko po to, aby prezentować strony odpowiadające Twojemu wyszukiwaniu. Oferują prawdziwy ekosystem, który bada jakość treści, nawyki przeglądania, a nawet tematy wywołujące szum w sieci.

Oś czasu na Facebooku: Czy zauważyłeś, że w Twoich aktualnościach na Facebooku zawsze pojawiają się posty związane z Twoimi zainteresowaniami? Dobrze ! To nie jest wynik przypadku. Algorytm śledzi Twoje interakcje w tej sieci społecznościowej. Informacje te pozwolą nam następnie zaprezentować posty, które z pewnością przykują Twoją uwagę.

Roboty handlowe : Rosnąca atrakcyjność świata finansów, jaką większość ludzi cieszy się, sprzyja pojawieniu się platform transakcyjnych. W tym samym czasie pojawiły się roboty handlowe. Algorytmy te mają zastąpić tradera. Analizują sygnały rynkowe w czasie rzeczywistym, aby kupować lub sprzedawać aktywa w celu osiągnięcia zysku bez interwencji człowieka.

Słynny algorytm Round Robin : Choć jest mało znany laikom, algorytm ten jest powszechnie znany wśród programistów. Skutecznie przekazuje do procesora komputera kolejność, w jakiej będą uruchamiane różne programy, dzięki czemu urządzenie będzie działać prawidłowo, bez nadmiernego wydatkowania zasobów.

Kiedy uczenie maszynowe rozwija potencjał algorytmów

Uczenie maszynowe nadało algorytmom nowy wymiar. Umożliwia tworzenie mniej lub bardziej autonomicznych programów przetwarzających dane i wykonujących polecenia w zależności od charakteru danych wejściowych. Nie ma więc potrzeby przekazywania im szczegółowych instrukcji dotyczących wykonania zadania. Narzędzia nowej generacji „uczą się” wyróżniać w danej dziedzinie i ewoluują wraz z użytkowaniem. Proces ten zachodzi przy niewielkiej lub żadnej interwencji człowieka. Co czyni je wydajnymi i niezawodnymi programami.

Te rozwijające się algorytmy są teraz odpowiednie do wszystkich zastosowań. Doskonale jednak wyróżniają się w big data. Utworzone moduły dostarczają precyzyjnych przewidywań, a nawet identyfikują profile spełniające określone kryteria w ogromnej, stale aktualizowanej bazie danych. W tym celu narzędzia Business Intelligence opierają się na tej technologii. Ten genialny system pozwala im pomóc każdemu menedżerowi w podejmowaniu decyzji.

A lire également  Definicja interfejsu HMI

Jednak z tymi narzędziami spotykamy się także w życiu codziennym. Dlatego, gdy uzyskujemy dostęp do naszego profilu na Facebooku lub Instagramie, mamy do czynienia z algorytmem uczenia maszynowego. To samo dotyczy przeglądania sugestii w serwisie Netflix. Algorytm analizuje nasze nawyki, aby następnie przedstawić treści, które mogą nas zainteresować.

Algorytmy te są zatem obecne wszędzie. Faktem pozostaje, że wyróżniamy 3 główne modele algorytmiczne uczenia maszynowego:

Algorytmy nadzorowanego uczenia się, które wymagają od programistów lub użytkowników najpierw posortowania danych wejściowych poprzez oznaczenie ich etykietą. Narzędzia te następnie przetwarzają te dane, aby ostatecznie osiągnąć pożądane wyniki. Zwykle stanowią one podstawę oprogramowania służącego do przewidywania. Na przykład moglibyśmy przytoczyć oprogramowanie, które automatycznie generuje prognozy dla Twojej firmy. W tym celu przeanalizuje sprzedaż zrealizowaną w poprzednich latach, aby lepiej zrozumieć sezonowość Twojej działalności. Należy wówczas podać swoje obroty za dany okres, wydatki, jakie ponosisz itp.

Algorytmy uczenia się bez nadzoru działają bez konieczności sortowania danych wejściowych. Narzędzia te zwykle skupiają się na analizie trendów. Celem będzie „odgadnięcie” zmiennych, które dyktują rozkład liczb. Następnie moduł ten ustali korelację pomiędzy wprowadzonymi danymi. Proces ten umożliwi później stworzenie modelu, który nada priorytet wszystkim elementom agregatu danych. W praktyce algorytmy te ułatwiają zrozumienie ciągów statystycznych i rozwiązują problemy związane z grupowaniem, redukcją wielkości czy ustalaniem reguł asocjacyjnych. Można je zatem wykorzystać na przykład do zautomatyzowania analizy sygnałów transakcyjnych.

Algorytmy częściowo nadzorowane reprezentują środek obu światów. Niektóre dane są sortowane i etykietowane, inne nie. W ten sposób model sam uporządkuje te dane i będzie w stanie w razie potrzeby przedstawić prognozę. Schemat ten pozwala narzędziom być stosunkowo autonomicznymi, gwarantując jednocześnie minimalną precyzję. Jest to model szeroko stosowany w Big Data do klasyfikacji lub regresji.

Należy pamiętać, że istnieje wiele sposobów klasyfikacji algorytmów. Rozważając sposób ich działania, wyróżnimy np. te przeznaczone do regresji, grupowania czy nawet regularyzacji. Wspomnimy jednak również o drzewach decyzyjnych i algorytmach Bayesa, czy nawet o sztucznych sieciach neuronowych i modelach redukcji wymiarów.

Algorytmy szyfrowania danych

Obawy wszystkich dotyczące ich danych osobowych zmusiły firmy z Doliny Krzemowej do opracowania algorytmów szyfrowania tych danych. Zapewnią one dodatkową warstwę ochrony przed włamaniami i wyciekami danych. W tym celu Twoje dane zostaną przetworzone jako dane wejściowe w celu uzyskania serii znaków alfanumerycznych jako danych wyjściowych. W ten sposób dane będą nieczytelne dla cyberprzestępców, którym udało się je ukraść.

Algorytmy automatyzacji

Możliwości automatyzacji, jakie dają algorytmy, są oczywiste. Właściwie moglibyśmy dać im instrukcje dotyczące automatyzacji różnych zabiegów. Obecnie stanowią one serce wielu programów do automatyzacji.

Narzędzia te umożliwiają na przykład automatyczne pobieranie danych rozliczeniowych przesłanych przez potencjalnych klientów e-mailem. W takim przypadku wiadomości przesyłane przez Twój adres e-mail służą jako dane wejściowe. Narzędzie będzie w stanie rozpoznać dane rozliczeniowe, a następnie skopiować je do arkusza kalkulacyjnego.

W takim przypadku algorytm przeanalizuje każdy otrzymany e-mail w celu znalezienia kluczowych terminów. Wiadomości zawierające te warunki będą automatycznie przetwarzane w celu wyodrębnienia i skopiowania danych.

Czy powinniśmy się obawiać masowego wykorzystania algorytmów?

Algorytmy są bardzo praktycznymi narzędziami, ale nie są nieomylne. Wydajność algorytmu będzie zależeć przede wszystkim od wiedzy jego projektanta i wybranego języka. Jeśli nie został zaprojektowany do obsługi danej sytuacji lub popełniono błąd podczas jego projektowania, wyświetli błędy lub wykona niewłaściwe polecenia. W ten sposób dysfunkcje te nie zawsze są łatwe do zidentyfikowania.

Jak wspomniano powyżej, algorytmy służą jako narzędzia podejmowania decyzji. Mogą zatem zmienić Twoje postrzeganie rzeczywistości i zachęcić Cię do podejmowania wątpliwych decyzji. Wyobraźmy sobie, że algorytm doradza menedżerowi HR. Na podstawie danych firmy może zasugerować rekruterowi, aby zatrudnił białego mężczyznę, a nie kobietę z mniejszości. Jej analizy mogłyby bowiem wykazać, że skuteczniejsza będzie ta pierwsza grupa. Stanie się tak, jeśli w społeczeństwie będzie więcej jednostek rasy kaukaskiej niż osób kolorowych.

Ta obawa związana z percepcją będzie tym bardziej problematyczna dla sztucznej inteligencji. Dostarczając dane tym algorytmom, ryzykujemy powtórzeniem tych samych błędów z powodu głęboko zakorzenionych uprzedzeń. W strukturze pozbawionej różnorodności etnicznej algorytm wywnioskuje, że mniejszości nie spełniają kryteriów firmy.

Wbrew temu, co można sobie wyobrazić, problem ten stanowi sedno wiadomości. Algorytmy wydają się sprzyjać dyskryminacji. Algorytmy rozpoznawania twarzy uznają zatem osoby kolorowe za przestępców, a chatboty mogą przyjmować rasistowskie uwagi.

Jak zaradzić błędom percepcyjnym algorytmów?

Do projektantów należy podjęcie właściwych decyzji, aby zaradzić tym problemom. Na razie chodzi o przyjęcie dobrych praktyk, które pozwolą wyeliminować te uprzedzenia. Na początku warto skoncentrować się na naprawdę ważnych danych i na przykład nie zastanawiać się nad pochodzeniem każdej osoby. Teksty prawne przyjęte w ostatnich latach idą w tym kierunku, ale okaże się, czy GAFAM podąża za tą tendencją.

Inżynierowie i programiści IT również muszą być bardziej odpowiedzialni za swoje dzieła i przewidywać wszelkie niewłaściwe wykorzystanie. Technicy muszą zatem protestować w przypadku wykorzystania jakiejkolwiek technologii do innych celów. Tak było już w przypadku pracowników Microsoftu, którzy sprzeciwiali się wykorzystaniu HoloLens w wojsku, pracownicy Google wyrazili swój sprzeciw wobec projektu stworzenia zabójczych dronów.

Należy poważniej zająć się kwestiami związanymi z uprzedzeniami. Nawet w przypadku usunięcia pewnych parametrów algorytm mógł wydedukować ich istnienie i uwzględnić je. To jeden z powodów, dla których Amazon zdecydował się zrezygnować ze sztucznej inteligencji przy rekrutacji. Wbrew wszelkim oczekiwaniom dyskryminował zarówno osoby kolorowe, jak i kobiety. Sytuacja, która powinna zachęcić firmy do przyjęcia bardziej szczegółowych testów w celu zidentyfikowania tych błędów.