¿Qué es la integridad de Turing?
La integridad de Turing es cuando un lenguaje de programación puede llevar a cabo las funciones de una máquina de Turing. Este es un concepto para una computadora mecánica muy básica, a veces descrita como la máquina más simple que se puede considerar una computadora. Prácticamente todos los lenguajes de programación que se usan hoy en día, y en teoría, las computadoras que los ejecutan tienen la integridad de Turing.
El concepto de integridad de Turing proviene de Alan Turing, un científico informático británico cuyo trabajo incluyó descifrar mensajes codificados durante la Segunda Guerra Mundial. Entre su trabajo en informática estaba el desarrollo de una filosofía de lo que una computadora podía hacer realmente. Esto incluía el concepto de que las computadoras funcionan simplemente ejecutando algoritmos. Es decir, siguen un conjunto fijo de reglas para procesar datos y, a su vez, resolver problemas. Esto significa que una computadora no "piensa" ni toma decisiones como lo hace una persona.
Para ilustrar el concepto, Turing describió una máquina hipotética que él llamó una "máquina a", con la "a" que significa automático; otros más tarde lo llamaron la máquina de Turing. La máquina procesaría un carrete de cinta que podría moverse hacia adelante o hacia atrás y contenía una línea de símbolos. En cualquier momento, la máquina puede procesar un símbolo y, si es necesario, alterarlo. A los fines del concepto, el carrete de cinta podría ser infinitamente largo, lo que significa que la memoria de la computadora no estaba inherentemente limitada. Esta es una analogía de la idea de que una vez que una computadora tiene que seguir un conjunto de instrucciones, la cantidad de datos a la que puede aplicar esas instrucciones está sujeta solo a límites físicos.
Irónicamente, la mayoría de las computadoras de hoy no tienen la integridad de Turing. Esto se debe a que tienen limitaciones en el espacio de almacenamiento disponible y, por lo tanto, en los datos que pueden procesar. También tienen limitaciones físicas, sobre todo que eventualmente se desgastarán. En realidad, es el lenguaje de programación que tiene la integridad de Turing. Debido a esto, una computadora que ejecuta dicho programa no es una computadora de Turing, pero puede usarse para simular una.
La integridad de Turing no debe confundirse con la prueba de Turing. Este fue un experimento diseñado por Turing para ver si las computadoras pueden conversar en lenguaje natural. El principio de la prueba es que si un humano no puede diferenciar entre una conversación de solo texto con la computadora y otro humano, la computadora pasa la prueba. Mientras que algunas computadoras han pasado la prueba cuando el rango de temas de conversación está restringido, ninguno lo ha hecho en una conversación sin restricciones.