La máquina de Turing es un modelo matemático de un dispositivo de computación abstracto que puede resolver cualquier problema algorítmico. Consiste en una cinta infinita dividida en casillas sobre la cual se desplaza un cabezal que puede leer, escribir o borrar símbolos en cada paso, según su estado y las reglas de transición. Variaciones incluyen máquinas de Turing con múltiples cintas o cabezales, o máquinas no deterministas. Es un modelo universal de computación teórica.