Technika algorytmiczna
W matematyce i informatyce technika algorytmiczna to ogólne podejście do realizacji procesu lub obliczeń .
Techniki ogólne
Istnieje kilka powszechnie uznanych technik algorytmicznych, które oferują sprawdzoną metodę lub proces projektowania i konstruowania algorytmów. W zależności od celu można zastosować różne techniki, które mogą obejmować wyszukiwanie , sortowanie , optymalizację matematyczną , spełnianie ograniczeń , kategoryzację , analizę i przewidywanie .
Brutalna siła
Brutalna siła to prosta, wyczerpująca technika, która ocenia każdy możliwy wynik w celu znalezienia rozwiązania.
Dziel i rządź
Technika dziel i rządź rekurencyjnie rozkłada złożone problemy na mniejsze podproblemy. Każdy podproblem jest następnie rozwiązywany, a te częściowe rozwiązania są ponownie łączone w celu określenia ogólnego rozwiązania. Ta technika jest często używana do wyszukiwania i sortowania.
Dynamiczny
Programowanie dynamiczne to systematyczna technika, w której złożony problem jest rozkładany rekurencyjnie na mniejsze, nakładające się podproblemy w celu rozwiązania. Programowanie dynamiczne przechowuje wyniki nakładających się podproblemów lokalnie przy użyciu techniki optymalizacji zwanej zapamiętywaniem .
Ewolucyjny
Podejście ewolucyjne opracowuje potencjalne rozwiązania, a następnie, w sposób podobny do ewolucji biologicznej, przeprowadza serię losowych zmian lub kombinacji tych rozwiązań i ocenia nowe wyniki w odniesieniu do funkcji dopasowania. Najbardziej odpowiednie lub obiecujące wyniki są wybierane do dodatkowych iteracji w celu uzyskania ogólnie optymalnego rozwiązania.
Przechodzenie wykresu
Graph traversal to technika znajdowania rozwiązań problemów, które można przedstawić w postaci wykresów . To podejście jest szerokie i obejmuje przeszukiwanie w głąb , przeszukiwanie wszerz , przechodzenie przez drzewo i wiele konkretnych odmian, które mogą obejmować lokalne optymalizacje i wykluczanie przestrzeni wyszukiwania, które można określić jako nieoptymalne lub niemożliwe. Techniki te mogą być wykorzystywane do rozwiązywania różnych problemów, w tym najkrótszej ścieżki i spełniania ograniczeń.
Chciwy
Podejście zachłanne rozpoczyna się od oceny jednego możliwego wyniku ze zbioru możliwych wyników, a następnie szuka lokalnie poprawy tego wyniku. Kiedy lokalna poprawa zostanie znaleziona, powtórzy proces i ponownie wyszuka lokalnie dodatkowe ulepszenia w pobliżu tego lokalnego optimum. Technika zachłanna jest na ogół prosta do wdrożenia, a te serie decyzji można wykorzystać do znalezienia lokalnych optimum w zależności od tego, gdzie rozpoczęto poszukiwania. Jednak zachłanne techniki mogą nie identyfikować globalnego optimum w całym zestawie możliwych wyników.,
Heurystyczny
Podejście heurystyczne wykorzystuje praktyczną metodę osiągnięcia natychmiastowego rozwiązania, które nie gwarantuje, że będzie optymalne.
Uczenie się
uczenia się wykorzystują metody statystyczne do kategoryzacji i analizy bez jawnego programowania. Do tej kategorii zalicza się uczenie nadzorowane , uczenie nienadzorowane , uczenie ze wzmocnieniem i głębokie uczenie się .
Optymalizacja matematyczna
Optymalizacja matematyczna to technika, której można użyć do obliczenia optimum matematycznego poprzez minimalizację lub maksymalizację funkcji.
Modelowanie
Modelowanie to ogólna technika abstrahowania rzeczywistego problemu w ramach lub paradygmacie , który pomaga w rozwiązaniu.
rekursja
Rekurencja to ogólna technika projektowania algorytmu, który wywołuje się z coraz prostszą częścią zadania aż do jednego lub więcej przypadków podstawowych z określonymi wynikami.
Przesuwne okno
Przesuwanie okna służy do zmniejszenia wykorzystania zagnieżdżonej pętli i zastąpienia jej pojedynczą pętlą, zmniejszając w ten sposób złożoność czasową.
Zobacz też
Notatki
Linki zewnętrzne
- Algorytmiczne projektowanie i techniki - edX
- Techniki i analizy algorytmiczne - Carnegie Mellon
- Techniki algorytmiczne dla ogromnych danych – MIT