Kdokoli v jeho každodenním životě je nucen řešit velké množství různých úkolů. Nemyslí na řešení některých problémů („nákup potravin“), zatímco jiné způsobují potíže a dlouhé úvahy („shromažďování Rubikovy kostky“). Výše uvedené příklady jednoduchých a složitých úkolů mají společné to, že je lze rozdělit na jednotlivé srozumitelné kroky. Sled těchto kroků lze použít jako připomínku k vyřešení problému. Tuto sekvenci lze nazvat algoritmem.
Samozřejmě můžete sbírat Rubikovu kostku bez poznámky, jednoduše pohybem hran v náhodném pořadí. Výčet možných možností však může trvat dlouho, bude to neproduktivní a neoptimální proces. Je mnohem pohodlnější mít seznam kroků, jejichž postupné provedení vždy povede k pozitivnímu výsledku. Právě tyto principy vytvořily takový koncept jako „algoritmus“.
Algoritmus je sada pokynů (kroků), které popisují pořadí operací vykonavatele k dosažení výsledku řešení problému v konečném počtu akcí.
Co je umělec?
Pro lepší pochopení algoritmu obecně je také nutné vzít v úvahu pojem „vykonavatel algoritmu“. Exekutor v pojmu algoritmus znamená abstraktní systém schopný provádět akce popsané algoritmem a mít také řadu charakteristik. Jako performer je nejčastěji míněn jeden nebo druhý technický prostředek (3D tiskárna, CNC stroj, počítač), je však třeba chápat, že se jedná o široký koncept: performerem může být například člověk.
Umělcem však lze nazvat pouze systém, který současně disponuje řadou parametrů:
- životní prostředí;
- systém příkazů;
- základní akce;
- odmítnutí, pokud je provedení akcí nemožné.
Vlastnosti algoritmu
Omezení uvalená na pojem „umělec“vedou k tomu, že samotný pojem „algoritmus“má také řadu vlastností a omezení. Algoritmy se rozšířily právě díky těmto omezením, která přispívají ke standardizaci. Mezi vlastnosti algoritmů patří:
- masivnost (schopnost algoritmu zůstat správná pro různé sady vstupních dat);
- jistota (v každém kroku algoritmu musí mít umělec dostatek dat, aby jej mohl provést);
- determinismus (se stejnými soubory vstupních údajů by měl být získán stejný výsledek);
Proč jsou potřebné algoritmy?
Výše uvedené vlastnosti poskytují široké využití algoritmů. Algoritmy tedy slouží ke standardizaci popisů jakýchkoli procesů. Bez algoritmů by byl jakýkoli druh výpočtu nemožný a řešení jakéhokoli problému by začalo od nuly - i kdyby bylo vyřešeno mnohokrát. Použití algoritmů vám umožňuje rychle vyřešit problémy stejného typu, zkrátit čas strávený hledáním řešení, automatizovat proces jeho hledání a také distribuovat nalezené řešení ve standardizované podobě, což znamená, že mu každý porozumí.