Turingovská úplnost
Turingovská úplnost je pojem z oboru teorie vyčíslitelnosti. Termín je odvozen od příbuzného pojmu NP-úplnost.
Turingovsky kompletní, turingovsky úplný nebo turingovsky ekvivalentní (anglicky Turing-complete) je stroj (počítač), programovací jazyk, úloha nebo abstraktní stroj, který má stejnou výpočetní sílu jako Turingův stroj. Tato třída je důležitá proto, že není znám žádný způsob řešení úlohy, která je těžší (podle Churchovy–Turingovy teze žádné konečné zařízení víc spočítat nedokáže). Dá se tedy říct, že turingovsky kompletní stroj je tak univerzální, jak je jen možné (to ovšem neříká nic o efektivitě). Speciálně lze sestrojit univerzální Turingův stroj, který dokáže simulovat libovolný jiný Turingův stroj (zadaný na vstupu).
Jazyky přijímané Turingovým strojem se nazývají rekurzivně spočetné jazyky. Gramatiky, které generují tyto jazyky, se v rámci Chomského hierarchie označují jako gramatiky typu 0.
Typickým problémem, který nelze řešit na Turingově stroji, je problém zastavení (anglicky halting problem), tedy problém zastavení Turingova stroje. Matematicky je tento problém demonstrací neuzavřenosti třídy rekurzivně spočetných jazyků na doplněk. Teorie vyčíslitelnosti pokračuje v teoretickém výzkumu k ještě složitějším problémům – aritmetická hierarchie je posloupnost tříd jazyků. Její nultý stupeň jsou rekurzivně spočetné jazyky, všechny jazyky na stejném stupni jsou mezi sebou turingovsky převoditelné a problém zastavení pro stupeň N je ve stupni N+1.