Teorie složitosti: Porovnání verzí

Smazaný obsah Přidaný obsah
MatSuBot (diskuse | příspěvky)
m Úprava rozcestníku za pomoci robota: Graf - změna odkazu/ů na Graf (teorie grafů)
Zpřesnění úvodu, přeformátování, odkaz na rozhodovací problém
značky: první editace editace z Vizuálního editoru
Řádek 2:
{{Upravit| Každá věta jiná přednáška, skripta, škola ; nepřesnosti ; nepřesný překlad}}
 
'''Teorie složitosti''' je odvětvím [[teorie počítání]] v [[Informatika|informatice]] a [[matematika|matematice]], které se zaměřuje na klasifikaci [[Výpočetní problém|výpočetních problémů]] dle jejich vlastní složitosti a určení vztahů mezi třídaminimi. VKe tomtostudiu kontextua jeurčení problémsložitosti chápántěchto jakoproblémů úkol,definuje který[[Výpočetní lzemodel vyřešit(teorie naalgoritmů)|výpočetní modely]], jako je [[počítačTuringův stroj]]i, čímžnebo se[[Random myslíaccess mechanickoumachine|RAM]], aplikacína postupnýchkterých krokůje pomocísimuluje algoritmu.a Konkrétníurčuje zadání[[složitost]] problému(typicky ječasovou tzva paměťovou). ''instance''Používají ase algoritmusi vrátídalší řešenímíry instance.složitosti, Základnímjako příklademmnožství jekomunikace situace(v [[komunikační složitost]]i), kdypočet chceme[[hradlo|hradel]] zjistit,obvodu zdali(ve je[[složitost nějakéobvodů|složitosti přirozenéobvodů]]), číslopočet ''n''přístupů do [[prvočíslo|prvočíslemkeš]]e nebo(v ne.analýze Zadánímkešování) tohotoa počet jsouprocesorů tedy(v [[přirozenéParalelní čísloprogramování|přirozenáparalelním číslaprogramování]]). aJeden výsledkemz cílů teorie složitosti je odpověďurčit ANO/NEpraktické případnělimity 0toho, neboco 1počítače dokážou spočítat a co ne.
 
V tomto kontextu je výpočetní problém chápán jako úkol, který lze vyřešit na [[počítač]]i, čímž se myslí mechanickou aplikací postupných kroků pomocí [[Algoritmus|algoritmu]]. Konkrétní zadání problému je tzv. ''instance'' a algoritmus vrátí řešení instance. Příkladem je situace, kdy chceme zjistit, zdali je nějaké přirozené číslo ''n'' [[prvočíslo|prvočíslem]] nebo ne. Jedná se o [[rozhodovací problém]], kde instancí problému jsou [[přirozené číslo|přirozená čísla]] a výsledkem je odpověď ANO/NE.
Problém, například výše zmíněné ''testování prvočíselnosti'', se považuje za těžký, pokud jeho řešení potřebuje značné zdroje bez ohledu na to, jaký algoritmus je použit. Teorie složitosti formalizuje tento intuitivní přístup a zavádí [[výpočetní model]]y. Na nich se studuje a kvantifikuje množství potřebných zdrojů pro řešení problémů, např. čas a paměť.
 
Používají se i další míry složitosti, jako množství komunikace (v [[komunikační složitost]]i), počet [[hradlo|hradel]] obvodu (ve [[složitost obvodů|složitosti obvodů]]), počet přístupů do [[keš]]e (v analýze kešování) a počet procesorů (v [[Paralelní programování|paralelním programování]]). Jeden z cílů teorie složitosti je určit praktické limity toho, co počítače dokážou spočítat a co ne.
Problém, například výše zmíněné ''testování prvočíselnosti'', se považuje za těžký, pokud jeho řešení potřebuje značné zdroje bez ohledu na to, jaký algoritmus je použit. Teorie složitosti formalizuje tento intuitivní přístup a zavádí [[výpočetní model]]y. Na nich se studuje a kvantifikuje množství potřebných zdrojů pro řešení problémů, např. čas a paměť.
 
Příbuzné oblasti informatiky jsou [[analýza algoritmů]] a [[teorie vyčíslitelnosti]]. Hlavním rozdílem mezi [[analýza algoritmů|analýzou algoritmů]] a teorií složitosti je, že analýza algoritmů se zabývá množstvím potřebných zdrojů, které potřebuje konkrétní algoritmus, zatímco teorie složitosti zjišťuje obecnější otázky týkající se všech algoritmů, které se dají použít pro řešení určitého problému. Snaží se tedy klasifikovat problémy podle daných omezení na dostupné zdroje. Tedy zavedení omezení na dostupné zdroje odlišuje teorii složitosti od teorie vyčíslitelnosti, které se ptá, jaké problémy lze, v principu, vyřešit algoritmicky.