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