Вычислительная машина и мозг — страница 14 из 15

Отметив вышеописанные фундаментальные и пока не решенные вопросы, связанные с проблемой памяти, можно перейти к другим, не связанным с памятью свойствам нервной системы. Однако прежде позвольте мне сказать несколько слов об одной, менее важной особенности памяти. Речь идет о взаимосвязи между аналоговыми и цифровыми (или смешанными) частями нервной системы.

Я хочу сказать следующее: процессы, которые происходят в нервной системе, могут, как я уже отмечал ранее, неоднократно менять свой характер с цифрового на аналоговый и обратно на цифровой. Нервные импульсы, т. е. цифровая часть, могут управлять определенной стадией такого процесса, например сокращением некой мышцы или выделением некоего химического вещества. Данное явление относится к аналоговому типу, но может служить источником последовательности нервных импульсов, возникновение которых обусловлено его восприятием соответствующими внутренними рецепторами. Когда возникают такие нервные импульсы, мы снова возвращаемся к цифровому типу. Как уже упоминалось выше, такие переходы от цифрового процесса к аналоговому и обратно к цифровому могут происходить несколько раз. Таким образом, цифровая часть системы, связанная с нервными импульсами, и аналоговая часть, связанная с химическими изменениями или мышечными сокращениями, способны, чередуясь друг с другом, придавать любому процессу смешанный характер.

Роль генетического механизма

В данном контексте генетические явления играют особенно типичную роль. Сами гены, несомненно, являются элементами цифровой системы компонентов. Однако их функции состоят в стимулировании образования специфических химических веществ, а именно – определенных ферментов, характерных для данного гена. Следовательно, они относятся к аналоговой сфере. Таким образом, и здесь наблюдается чередование аналоговых и цифровых процессов, о котором я упоминал выше.

Коды и их роль в управлении машиной

Перейдем к вопросам, касающимся других аспектов нервной системы. В частности, я имею в виду некоторые принципы организации логических команд, которые играют важную роль в функционировании любого сложного автомата.

Прежде всего позвольте мне ввести термин, необходимый в данном контексте. Система логических инструкций, которую может выполнять автомат и которая заставляет автомат решать некую определенную задачу, называется кодом. Под логическими командами я понимаю нервные импульсы, появляющиеся на соответствующих аксонах, а также любые другие явления, которые заставляют цифровую логическую систему (такую, как нервная система) функционировать воспроизводимым, целенаправленным образом.

Понятие полного кода

Говоря о кодах, нельзя не отметить следующее различие. Код может быть полным, т. е. (применительно к нервной системе) содержать последовательность, в которой нервные импульсы появляются на определенных аксонах. Это, разумеется, будет полностью определять поведение нервной системы или (продолжая сравнение) соответствующего искусственного автомата. В вычислительных машинах такие полные коды представляют собой наборы команд, заданные со всеми необходимыми подробностями. Если машине предстоит решить некую задачу посредством вычисления, то она должна управляться такими полными кодами. В основе применения современных вычислительных машин лежит способность человека разрабатывать и формулировать полные коды для любой задачи, которую должна решить машина.

Понятие сокращенного кода

Помимо полных кодов существуют коды другого типа, которые лучше всего называть сокращенными кодами. Они основаны на следующей идее.

В 1937 году английский логик А. М. Тьюринг показал (и с тех пор специалисты в области вычислительной техники применяют это на практике самыми разными способами), что можно разработать такие системы кодовых инструкций для вычислительной машины, которые заставят ее вести себя так, как если бы это была некая другая вычислительная машина. Системы инструкций, которые заставляют одну машину имитировать поведение другой, известны как сокращенные коды. Позвольте мне более подробно остановиться на типичных вопросах применения и разработки таких коротких кодов.

Вычислительная машина управляется, как я уже отмечал выше, кодами, последовательностями символов (обычно двоичных символов), т. е. цепочками битов. В любом наборе инструкций, которые управляют работой конкретной вычислительной машины, должно быть ясно указано, какие цепочки битов представляют собой команды и что они должны заставить машину делать.

Для двух разных машин значимыми могут оказаться разные цепочки битов; в любом случае их воздействие на их работу может оказаться совершенно различным. Так, если ввести в машину набор команд, предназначенных для другой машины, то некоторые из них могут оказаться для нее бессмысленными, а именно – цепочки битов, которые не принадлежат к семейству значимых для данной машины команд или которые заставят ее производить действия, не являющиеся частью заранее заданного плана по решению поставленной задачи или, вообще говоря, не имеющие к нему никакого отношения.

Функция сокращенного кода

Код, который, согласно схеме Тьюринга, заставляет одну машину вести себя так, как если бы это была другая машина (т. е. заставляет первую машину имитировать вторую), должен содержать понятные для этой машины инструкции (детализированные части кода), чтобы она изучила каждую получаемую команду и определила, соответствует ли ее структура структуре команд второй машины. Следовательно, такой код должен содержать команды (представленные в значимой для первой машины форме), которые подвигнут первую машину производить действия, которые обычно выполняет вторая машина.

Важный результат, полученный Тьюрингом, заключается в том, что таким образом можно заставить первую машину имитировать поведение любой другой машины. Структура команд, которые она при этом будет выполнять, может в корне отличаться от структуры команд, которые она выполняет обычно. Так, структура команд второй машины может носить гораздо более сложный характер, чем структура команд, характерных для первой машины. Например, команда второй машины может включать несколько операций, сложные итеративные процессы, многократные действия любого рода и т. д. Говоря в целом, все, что первая машина может выполнить за любой промежуток времени и под управлением всех возможных систем команд любой степени сложности, теперь может выполняться так, как если бы речь шла только об элементарных действиях – базовых, неразложимых, примитивных командах.

Между прочим, своим названием сокращенные коды обязаны истории своего возникновения. Они были разработаны как вспомогательное средство, позволяющее создавать более короткие коды, чем допускает естественная система команд машины. Достигалось это следующим образом: определенная машина рассматривалась как другая, обладающая более удобной, более полной системой команд и требующая менее сложного, менее обстоятельного и менее подробного кодирования.

Логическая структура нервной системы

На данном этапе следует перейти к рассмотрению другого комплекса вопросов. Выше я уже указывал на логическую структуру нервной системы; вопросы, которые мы будем обсуждать ниже, не связаны ни с проблемами памяти, ни с полными и сокращенными кодами. Они касаются роли логики и арифметики в функционировании любого сложного автомата, в частности нервной системы.

Важность численных процедур

Любой искусственный автомат, сконструированный для его использования человеком, и в особенности для управления сложными процессами, обычно имеет чисто логическую часть и часть арифметическую, т. е. такую, в которой арифметические процессы не играют никакой роли, а также часть, в которой они имеют большое значение. Это связано с тем, что присущие нам способы мышления и выражения мыслей делают крайне трудным описание поистине сложных задач без помощи формул и цифр.

Представим, что некий автомат должен решать такие задачи, как, например, поддержание постоянной температуры, определенного давления или химического равновесия в организме человека. Если задачу для него будет формулировать человек, то она будет определена сквозь призму численных равенств или неравенств.

Взаимосвязь численных процедур и логики

С другой стороны, отдельные части этой задачи могут быть сформулированы не на основе количественных зависимостей, а в чисто логических терминах. Так, некоторые качественные принципы, касающиеся физиологических реакций (или отсутствия таковых), могут быть сформулированы без использования чисел: достаточно качественно определить, при каких сочетаниях обстоятельств должны иметь место определенные события, а при каких комбинациях они нежелательны.

Причины высоких требований к точности

Данные замечания показывают, что нервная система, рассматриваемая как автомат, обязательно должна иметь и арифметическую, и логическую части и что требования арифметики в ней столь же важны, как и требования логики. Это означает, что мы снова имеем дело с вычислительной машиной в полном смысле слова; следовательно, вполне уместно вести обсуждение в терминах, характерных для теории вычислительных машин.

В связи со сказанным сразу возникает вопрос: если рассматривать нервную систему как вычислительную машину, с какой точностью должна функционировать ее арифметическая часть?

Этот вопрос является ключевым по следующей причине: весь опыт использования вычислительных машин свидетельствует о том, что если мы хотим, чтобы вычислительная машина решала такие же сложные арифметические задачи, с какими определенно справляется нервная система, то уровень точности должен быть достаточно высок. Дело в том, что подобные задачи, вероятно, требуют длинных вычислений, а в ходе длинных вычислений ошибки не только накладываются друг на друга, но и усиливаются; как следствие, для таких вычислений требуется значительно более высокая точность, чем та, которой предположительно требует физическая природа самой задачи.

Таким образом, допустимо ожидать, что арифметическая часть нервной системы существует и работает с высокой точностью. Без всякого преувеличения можно сказать, что в искусственных вычислительных машинах данный уровень сложности потребует точности, равной 10–10 или 10–12.

К этому выводу стоило прийти именно в силу, а не вопреки его абсолютной неправдоподобности.

Не цифровая, а статическая природа применяемой системы обозначений