La falla en su argumento es que "superar" no solo significa que debe poder ejecutar todos los algoritmos, sino que incluye una noción de complejidad, es decir, cuántos pasos de tiempo tomará para simular un algoritmo.
¿Cómo simula un algoritmo con una máquina Turing? Una máquina de Turing consiste en una máquina de estados finitos y una cinta infinita. Una máquina de Turing ejecuta un algoritmo, determinado por su estado inicial y la matriz de transición de estado, pero de lo que creo que está hablando es de las máquinas de Turing universales (UTM) que pueden leer "código" (que generalmente es una descripción de otra máquina de Turing). ) escrito en un "segmento de código" de la cinta y luego simular esa máquina en los datos de entrada escritos en el "segmento de datos" de la cinta.
Las máquinas de Turing pueden diferir en la cantidad de estados en sus máquinas de estados finitos (y también en el alfabeto que escriben en la cinta, pero cualquier alfabeto finito se codifica fácilmente en binario, por lo que esta no debería ser la gran razón de las diferencias entre las máquinas de Turing). Por lo tanto, puede tener UTM con máquinas de estado más grandes y UTM con máquinas de estado más pequeñas. El UTM más grande podría superar al más pequeño si usan la misma codificación para la parte del "código" de la cinta.
También puede jugar con el código utilizado para describir la TM que se simula. Este código podría ser C ++, por ejemplo, o podría ser una red neuronal con la fuerza de sinapsis escrita como una matriz. Qué descripción es mejor para el cálculo depende del problema.
Un ejemplo de comparación entre UTM con diferentes máquinas de estado: considere diferentes compiladores para el mismo lenguaje, por ejemplo, C ++. Ambos compilarán primero C ++ para ensamblar y luego ejecutarán otro UTM que lee y ejecuta el ensamblaje (su CPU física). Entonces, un mejor compilador ejecutará el mismo código más rápido.
Volviendo a los humanos frente a las computadoras, los humanos son redes neuronales que ejecutan algoritmos como los que escribiría en C ++. Esto implica una conversión costosa e ineficiente del algoritmo en movimientos de la mano. Una computadora usa un compilador para convertir C ++ a ensamblado que puede ejecutar de forma nativa, por lo que puede hacer una implementación mucho más eficiente del código C ++. Alternativamente, los humanos tienen un montón de neuronas, y el código neuronal, es decir, la fuerza de la sinapsis, es difícil de leer, por lo que las computadoras actuales aún no pueden ejecutar ese código.