Algorytmika - algorytmy liniowe, warunkowe, znane algorytmy

AlgorytmikaAlgorytmika jest nauką o algorytmach, to część informatyki. Zajmuje się budowaniem algorytmów i badaniem utworzonych już struktur. Algorytmem nazywamy ciąg czynności, które są skończone i jasno zdefiniowane. Algorytm obejmuje pewien cykl działań, które należy przeprowadzić według ściśle określonego porządku, jedno po drugim.

W codziennym życiu bardzo ciekawym ale jednocześnie chyba najprostszym sposobem na zrozumienie czym jest argotyzm jest podanie przepisu kulinarnego jako przykładu. To również skończony ciąg czynności, które należy wykonać w określonym porządku, by doprowadziły do pożądanego rezultatu.

Jeśli się o czymś zapomni i nie doda jakiegoś składnika potrawa nie będzie taka, jakiej oczekiwaliśmy. Tak również jest w przypadku algorytmów w informatyce. Algorytm jest jednoznacznym przepisem na jakieś działanie. Nie ma żadnej innej drogi, która da nam dokładnie taki sam efekt. Wyróżnia się wiele typów i rodzajów algorytmów w informatyce, na przykład dziel i zwyciężaj czy algorytmy poszukiwania.

Sposoby prezentacji algorytmów

Jest kilka sposób prezentowania algorytmów. Pierwszym z nich jest słowny opis czynności. Jest to opisywanie tego, co należy zrobić, by osiągnąć zamierzony rezultat. Oprócz słownego opisu, algorytmy można przedstawiać również w postaci listy kroków, schematu blokowego czy dzięki językowi programowania. Te sposoby są najczęściej stosowanymi metodami przedstawiania algorytmów.

Lista kroków jest bardzo czytelna, ale wiele osób i tak woli przedstawianie algorytmu za pomocą schematu blokowego. Jest to graficzna metoda prezentowania algorytmu. Przedstawia on zapis czynności, jakie należy wykonać, aby osiągnąć upragniony efekt. Poszczególne operacje są przedstawione jako klocki, bloki. Połączenia między nimi to czytelne strzałki, które pokazują nam, jakie działania wykonywać po kolei. Bloczki to standardowo figury geometryczne, tak przyjęło się w informatyce i matematyce. Są one takie same dla jednego typu operacji, wtedy są czytelne dla wszystkich. Jest to rodzaj umownego języka w algorytmice.

Algorytmy dzielą się najprościej na liniowe, czyli sekwencyjne oraz warunkowe, z rozgałęzieniami. Algorytmy liniowe nie mają żadnych warunków do spełnienia, obejmują one ciąg czynności, które wykonuje się kolejno: jedna po drugiej.

Algorytmy liniowe

Algorytm liniowy

Przykładów algorytmów liniowych możemy do woli szukać w naszym życiu codziennym. Są to takie rodzaje algorytmów, które zawiera czynności wykonywane jedna po drugiej. Bardzo prostymi przykładami są przepisy kulinarne czy wybieranie numeru telefonu. Taki algorytm rozpoczyna się podniesieniem słuchawki, później następuje ciąg takich samych czynności, czyli wybieranie kolejnych cyfr numeru. Następnie przyciskamy klawisz: połącz i czekamy aż osoba pod drugiej stronie podniesie słuchawkę.

Takie algorytmy nie mają żadnych warunków, zawierają jedynie opisy czynności, które wykonuje się jedna po drugiej. Są to bardzo proste algorytmy, wiele z nich również stosuje się w informatyce. Przykładem są proste algorytmy z matematyki, na przykład obliczanie średniej trzech liczb. Krok pierwszy to podanie trzech cyfr. Krok drugi sumowanie, a krok trzeci dzielenie tej sumy przez trzy. Czwarty krok obejmuje wyświetlenie wyniku. Bardziej złożone są algorytmy z warunkami.

Algorytmy warunkowe

Algorytmy rozgałęzione są bardziej rozbudowane, uwzględniają wiele sytuacji i spełnianie po drodze określonych warunków. Proces wybierania numeru telefonu również może być dobrym przykładem algorytmu warunkowego. Dodane zostaną jednak po niego inne sekwencje, na przykład pojawi się pytanie: czy ktoś odebrał telefon? Jeśli tak, to przekazujemy informację. Jeśli nie, również mamy kilka dróg. Pierwszą z nich może być powtórzenie poprzednich kroków, czyli powtórne wybrnie numeru lub odłożenie słuchawki.

Algorytm warunkowy

Algorytmy warunkowe to również wszelkie sekwencje poszukiwania. Pytamy się, czy dana wartość jest właśnie tą, której szukamy? Jeśli tak, kończymy algorytm, jeśli nie, szukamy dalej.

Znane algorytmy

Jest kilka znanych algorytmów, które przeszły do historii. Jednym z nich jest algorytm Euklidesa. Jest to algorytm, który służy do znajdowania największego wspólnego dzielnika dwóch liczb, określanego jako NWD. Jest to największy wspólny dzielnik dwóch liczb naturalnych, niekoniecznie kolejnych. Autorem tego algorytmu jest Euklides z Knidos. Ciąg czynności nie wymaga rozkładania liczb na czynniki pierwsze.

Jak dokonać tej operacji? Najpierw należy podać liczby a i b, później ich resztę z dzielenia (np. a przez b) oznacza się jako c. Następnie liczbę a zastępuje się liczbą b, a b: liczbą c. Jeżeli teraz b jest równe zero, to największy wspólny dzielnik jest równy liczbie a. W przeciwnym wypadku przechodzimy do kolejnego dzielenia a przez b.

Znany jest również algorytm Levenberga-Marquardta, który służy do optymalizacji nieliniowej. Jest to algorytm iteracyjny. Łączy w sobie metodę największego wspólnego dzielnika jak i sposób Gaussa-Newtona. Te algorytmy są dziś bardzo często wykorzystywane w matematyce i informatyce.

Komentarze