Недостаток в вашем аргументе заключается в том, что «превзойти» не просто означает, что вы должны быть в состоянии запустить все алгоритмы, он включает в себя понятие сложности, то есть, сколько временных шагов вы предпримете, чтобы имитировать алгоритм.
Как вы моделируете алгоритм на машине Тьюринга? Машина Тьюринга состоит из конечного автомата и бесконечной ленты. Машина Тьюринга действительно выполняет алгоритм, определяемый ее начальным состоянием и матрицей перехода состояний, но я думаю, что вы говорите об универсальных машинах Тьюринга (UTM), которые могут читать «код» (который обычно является описанием другой машины Тьюринга). ) записывается на «сегмент кода» ленты, а затем имитировать эту машину на входных данных, записанных на «сегмент данных» ленты.
Машины Тьюринга могут различаться по количеству состояний в их машинах конечных состояний (а также по алфавиту, который они пишут на ленте, но любой конечный алфавит легко кодируется в двоичном формате, поэтому это не должно быть основной причиной различий между машинами Тьюринга). Таким образом, вы можете иметь UTM с большими конечными автоматами и UTM с меньшими конечными автоматами. Большой UTM мог бы превзойти меньший, если бы он использовал ту же кодировку для «кодовой» части ленты.
Вы также можете поиграть с кодом, используемым для описания моделируемой TM. Этот код может быть, например, C ++, или нейронной сетью с силой синапса, записанной в виде матрицы. Какое описание лучше для вычисления, зависит от проблемы.
Пример сравнения UTM с разными конечными автоматами: рассмотрим разные компиляторы для одного и того же языка, скажем, C ++. Оба они сначала скомпилируют C ++ в сборку, а затем запустят другой UTM, который читает и выполняет сборку (ваш физический процессор). Таким образом, лучший компилятор будет запускать тот же код быстрее.
Возвращаясь к людям против компьютеров, люди - это нейронные сети, которые запускают алгоритмы, подобные тем, которые вы пишете на C ++. Это включает в себя дорогостоящее и неэффективное преобразование алгоритма в движения рук. Компьютер использует компилятор для преобразования C ++ в ассемблер, который он может запускать самостоятельно, поэтому он может выполнять гораздо более эффективную реализацию кода C ++. С другой стороны, у людей есть тонна нейронов, и нейронный код, то есть сила синапса, трудно читать, поэтому современные компьютеры еще не могут запустить этот код.