¿Qué es una máquina completa de Turing?

Creo que está combinando dos ideas: la máquina de Turing y la integridad de Turing: una máquina completa de Turing no tiene sentido.

Una máquina de Turing es una máquina abstracta que realiza cálculos basados ​​en la entrada de una cinta infinita: máquina de Turing – Wikipedia

Alan Turing teorizó esta máquina abstracta y llegó a demostrar que esta máquina podía calcular cualquier cosa que pudiera calcularse mediante un algoritmo definible.

Un lenguaje completo de Turing: integridad de Turing: Wikipedia es cualquier idioma en el que se puede demostrar que puede emular una máquina de Turing; por ejemplo, todo lo que necesita un lenguaje imperativo para completar Turing es tener las siguientes habilidades:

  • ramificación condicional (if, goto y branch on zero son suficientes).
  • Acceso a una cantidad abitaria de memoria.

Como se sabe que una máquina de Turing puede calcular cualquier función computable, es obvio que cualquier lenguaje completo de Turing también puede calcular cualquier cosa que sea computable.

Cabe señalar que la mayoría de los lenguajes de programación son Turing completos, aunque algunos de uso común no lo son: SQL, regex, por ejemplo, ya que no es necesario que lo sean.

Es interesante que haya algunos sistemas completos de Turing no intencionales; se puede demostrar que los juegos Minecraft y Big Little Planet son completos de Turing; se pueden diseñar áreas que se pueden usar para realizar cálculos.

Es imposible implementar un lenguaje completo de Turing en un idioma que no está completo, ya que eso significaría que todo está completo.