Co je teorie výpočetní složitosti?
Výpočetní teorie složitosti je oblast matematiky a informatiky, která se zabývá zdrojů potřebných k řešení problémů v počítačovém systému. K určení požadavků na zdroje problému je k dispozici řada technik. Některé problémy nemusí být možné na stávajících počítačových systémech kvůli jejich požadavkům na zdroje. Výzkumníci klasifikovat problémy tím, že obtíže a může rozdělit výpočty do polynomu (P) ve srovnání nonterministic polynomiálních úloh (NP).
Řešení výpočtu vyžaduje prostředky, jako je čas, úložný prostor a hardware. Počítačový systém může mít omezení, která znemožňují vyřešit problém funkčně, protože nemá dostupné zdroje. Jako výpočetní technologie zlepšuje, dříve neřešitelný problém se může stát řešitelný pomocí nových technologií a výzkumu v oblasti výpočetní složitosti teorie. Rozpustitelnost problému není nutně určována jeho složitostí, ale algoritmy používanými k jeho řešení.
Ve výpočetní složitosti teorie, problém P je ten, který může být řešen v polynomial čase s přímým algoritmem. Může to vyžadovat značné prostředky, ale je řešitelné i ověřitelné počítačem. Takové problémy by se daly považovat za rychle řešitelné, pokud má počítač k dispozici zdroje pro zpracování nezbytných výpočtů.
Problémy NP jsou složitější. Není možné použít jediný algoritmus a může být nutné použít pokročilejší možnosti, například paralelní Turingovy stroje, které mohou prozkoumat několik možností. Problém by mohl být řešitelný tímto způsobem, ale bude vyžadovat podstatně více zdrojů. Takové problémy mohou být snazší pro lidské operátory, kteří jsou schopni pokročilého logického myšlení, protože bod zlomu je často spíše logickým než pouhým výpočtovým obtížím. Problém obchodního cestujícího, jehož cílem je najít nejefektivnější cestu mezi množstvím měst podél trasy, je klasickým příkladem problému NP v teorii výpočetní složitosti.
Klasifikace problémů P versus NP pomocí teorie výpočetní složitosti může být složitým úkolem a problémy se mohou přesouvat vpřed a vzad napříč rozdělením. Malý soubor výpočetních problémů nezapadá úhledně do žádné kategorie a je někdy klasifikován jako žádný, aby to odrážel. Nakonec by bylo možné vyvinout algoritmus k vyřešení problému NP, a v některých případech se může vztahovat na jiné problémy, které mají podobnou strukturu. V jiných však může být specifický problém. Proces zkoumání takových programů a vývoj přístupů k jejich řešení je důležitou oblastí matematiky a informatiky, která přispívá k vývoji pokročilých, vysoce výkonných počítačových systémů.