Когда-то Аристотель в своих рассуждениях о природе знаний, выделил два типа поведения: подчиненное и рассудительное. Подчиненное поведение – это исполнение инструкций без необходимости или возможности понимать цель. А рассудительное – способность определить пользу действия и разработать инструкцию для исполнителя. Человек, способный понять – способен сформулировать цель и определить способ достижения. Так же и программист создает последовательности инструкций для исполнения компьютером аналогично тому, как менеджер или технолог создают процедуры для исполнителей в офисе или на производстве. В биологических системах, для того чтобы понять, используются динамические многослойные нейронные сети, способные генерировать новые ассоциации. Создание новых ассоциативных связей – это то, что отличает высшую нервную деятельность от любых, сколь угодно сложных, исполнительных механизмов или систем интерпретации программ. Нервная система червяка-нематоды принципиально отличаются от человека не только количеством нейронов, но и тем, что наш мозг постоянно создаёт новые связи, а у червяка, после этапа формирования, они остаются одними и теми же на протяжении всего периода его существования. И наверное поэтому люди все разные, а червяки – одинаковые.
Какой бы сложной не была программа, до тех пор, пока исполнительный механизм будет следовать ее логике, этот механизм не создает новых знаний. И в этом отличие машин Тьюринга или фон Неймана от динамических нейронных моделей. Машины такого типа не могут работать без загруженных в них программ, а наш головной мозг работает без центрального процессора и без внешнего программиста. Теперь на вопрос: «Может ли машина мыслить?» рассудительный программист мог бы ответить так: «Одна машина мыслить не может точно, а вот множество взаимосвязанных машин с определенными новыми свойствами, похоже, что да. И кто знает, возможно, что Интернет – это прототип нового поколения умных машин?».
Возвращаясь к ДНК и базовым моделям вычислительных машин, в которых данные интерпретируются однозначно, можно сказать, что в основе этого лежит буква. В формальных грамматика такой объект называется Терминалом. Действительно, для заданного алфавита, любая система должна распознавать букву из этого алфавита, однозначно. И любая буква, поступающая на вход такой системы, также должна иметь единственное значение. После того, как входное устройство передало сообщение процессору, буквосочетания будут интерпретироваться в соответствии с логикой внутренней программы, которая может быть весьма сложной и иметь свое состояние. Но если заглянуть в память машины, мы увидим статические