Algorytmy

Istnieje wiele różnych sposobów podziału algorytmów na grupy, jednak problem ten wzbudza kontrowersje.

Podstawowe paradygmaty tworzenia algorytmów komputerowych:

  • dziel i zwyciężaj– dzielimy problem na kilka mniejszych, a te znowu dzielimy, aż ich rozwiązania staną się oczywiste;
  • prograowanie dynamiczne – problem dzielony jest na kilka, ważność każdego z nich jest oceniana i po pewnym wnioskowaniu wyniki analizy niektórych prostszych zagadnień wykorzystuje się do rozwiązania głównego problemu;
  • metoda zachłanna – nie analizujemy podproblemów dokładnie, tylko wybieramy najbardziej obiecującą w danym momencie drogę rozwiązania;
  • prograowanie liniowe– oceniamy rozwiązanie problemu przez pewną funkcję jakości i szukamy jej minimum;
  • wyszukiwanie wyczerpujące– przeszukujemy zbiór danych, aż do odnalezienia rozwiązania;
  • heurestyke – człowiek na podstawie swojego doświadczenia tworzy algorytm, który działa w najbardziej prawdopodobnych warunkach, rozwiązanie zawsze jest przybliżone.

 

 

 

 

 

Najważniejsze techniki implementacji algorytmów komputerowych:

  • procedularnosc – algorytm dzielimy na szereg podstawowych procedur, wiele algorytmów współdzieli wspólne biblioteki standardowych procedur, z których są one wywoływane w razie potrzeby;
  • praca sekwencyjna – wykonywanie poszczególnych procedur algorytmu, według kolejności ich wywołań, naraz pracuje tylko jedna procedura;
  • praca wielowątkowa – procedury wykonywane są sekwencyjnie, lecz kolejność ich wykonania jest trudna do przewidzenia dla programisty;
  • praca równoległa – wiele procedur wykonywanych jest w tym samym czasie, wymieniają się one danymi;
  • rekurnecje  – procedura lub funkcja wywołuje sama siebie, aż do uzyskania wyniku lub błędu
  • obiektynwność– procedury i dane łączymy w pewne klasy reprezentujące najważniejsze elementy algorytmu oraz stan wewnętrzny wykonującego je systemu;
  • algorytm probalistyczny  – działa poprawnie z bardzo wysokim prawdobodobięństwem ale wynik nie jest pewny,


Dodaj komentarz






Dodaj

© 2013-2024 PRV.pl
Strona została stworzona kreatorem stron w serwisie PRV.pl