Страница 120 из 140
КоА детерминируется специфицированием набора векторов внутренних состояний и векторов данных на входе и на выходе и специфицированием набора правил перехода от состояния к состоянию, определяющих изменение состояния КоА во времени. Для каждого элемента вектора внутреннего состояния правило перехода от состояния к состоянию определяет то, как его новое значение зависит от прежних значений данных на входе и векторов внутреннего состояния. Для каждого элемента исходящего вектора правило перехода от состояния к состоянию определяет то, как его новое значение зависит от прежних значений вектора внутреннего состояния. Каждый конечный КоА может быть представлен как КА с равными вычислительными возможностями, но КА — описание приносило бы в жертву большинство структурных моментов, существенных для КоА. Эта структура имеет ключевое значение при использовании КоА для уяснения той организации, которая лежит в основе ментального.
Теперь мы уже можем дать объяснение имплементации. Вычисления, такие как КоА — это абстрактные объекты, формальная структура которых определяется их состояниями и отношениями перехода от состояния к состоянию. Физические системы — это конкретные объекты, каузальная структура которых определяется их внутренними состояниями и каузальными отношениями между ними. В неформальном плане мы говорим, что физическая система имплементирует вычисление, если каузальная структура этой системы отражает формальную структуру вычисления. То есть, система имплементирует вычисление, если можно установить такое соответствие между состояниями этой системы и вычислительными состояниями, при котором каузально соотнесенные физические состояния соответствуют формально соотнесенным формальным состояниям.
Эта интуитивная идея может быть напрямую использована для получения представления об имплементации в случае КоА. Физическая система имплементирует КоА, если можно так разложить внутренние состояния системы на подсостояния, и данные системы на входе и на выходе — на подсостояния этих данных, и так соотнести подсостояния системы с подсостояниями КоА, что отношения каузального перехода от состояния к состоянию для физических состояний, данных на входе и на выходе отражают формальные отношения перехода от состояния к состоянию для соответствующих формальных состояний, данных на входе и на выходе.
Формальный критерий имплементации КоА выглядит таким образом:
Физическая система Р имплементирует КоА М, если можно разложить внутренние состояния Р на компоненты [s1,…, sn] и установить соответствие f между подсостояниями sj и соответствующими подсостояниями Sj в М, а также произвести сходную операцию разложения и установления соответствия для данных на входе и на выходе, так, что для каждого правила перехода от состоянию к состоянию
([I1,…, Ik], [S1,…, Sn]) —> ([S'1,…, S'n], [О1,…, Оl])
в М: если Р находится во внутреннем состоянии [s1,…sn] и получает на входе [i1…., iп], соответствующие формальному состоянию и данным на входе [S1,…, Sn] и [I1,…, Ik], то это каузальным образом с неизбежностью приводит к тому что она переходит к такому внутреннему состоянию и порождает такие данные на выходе, которые надлежащим образом соответствуют [S'1,…, S'n] и [О1,…, Оl].
Мы можем допустить, что при разложении состояния физической системы на вектор подсостояний значение каждого элемента этого вектора должно быть супервентно на отдельном участке физической системы, чтобы гарантировать, что каузальная организация соотносит различные компоненты этой системы. В ином случае не очевидно, что детальная каузальная структура действительно присутствует в физической системе. Эти и другие детали приведенной выше дефиниции можно уточнять и дальше. Понятие имплементации не выбито на скрижалях, и оно допускает как расширение, так и сужение — в зависимости от поставленных целей. Но здесь даны главные его контуры, общие для всех концепций имплементации.
Могло бы показаться, что КоА немногим лучше КА. В конце концов, для любого конечного КоА мы можем найти соответствующий ему КА с тем же поведением на входе — выходе. Но между ними все же есть существенные различия. Первое и главное из них состоит в том, что условия имплементации для КоА гораздо более ограничены, чем аналогичные условия для КА. Имплементация КоА предполагает сложное каузальное взаимодействие множества отдельных частей; и поэтому КоА-описание может передавать каузальную организацию системы с гораздо большей степенью детализации. Во-вторых, КоА позволяют сформулировать единое объяснение условий имплементации, значимое как для конечных, так и для бесконечных машин. И, в-третьих, КоА может напрямую отражать комплексную формальную организацию вычислительных объектов, таких как машины Тьюринга и клеточные автоматы. В соответствующих КА была бы утрачена большая часть этих структурных моментов.
На деле мы можем использовать эту дефиницию имплементации для прямого получения критериев имплементации для других видов вычислений. К примеру, для конкретизации условий имплементации машины Тьюринга нам нужно просто переописать машину Тьюринга как КоА и применить данную выше дефиницию. Для этого мы описываем состояние машины Тьюринга как громадный вектор. Один из элементов этого вектора репрезентирует состояние ее управляющего устройства, есть элементы и для каждой ячейки ее ленты, репрезентирующие символ в этой ячейке и указывающие, находится ли управляющее устройство на ней. Правила перехода от состояния к состоянию для векторов естественным образом извлекаются из механизмов, специфицирующих поведение управляющего устройства машины и ленты. Разумеется, векторы здесь бесконечны, но условия имплементации для случая с бесконечностью являются непосредственным расширением условий для конечных случаев. При переводе с языка формализма машины Тьюринга на язык формализма КоА мы сможем сказать, что машина Тьюринга имплементируется всякий раз, когда имплементируется соответствующий КоА. Аналогичные переводы можно сделать и для вычислений в других формализмах, таких как клеточные автоматы или программы на Паскале, что позволит сформулировать условия имплементации для вычислений в каждом из этих классов.
Это дает совершенно объективный критерий для имплементации вычисления. Имплементация вычисления не выхолащивается, как полагал Серл. Конечно, некоторые вычисления будут имплементироваться любой системой. К примеру, одноэлементный КоА с одним состоянием будет имплементироваться любой системой, почти также широко будет имплементироваться и двухэлементный КоА. Верно также, что большинство систем будет имплементировать более чем одно вычисление — в зависимости от того, как мы будем очерчивать состояния этой системы. В этом нет ничего удивительного: вполне ожидаемым представляется то, что моя рабочая станция, как и мой мозг, имплементирует множество вычислений.
Существенно, однако, то, что нет оснований считать, что любой КоА будет имплементирован любой системой. Если взять любой сложный КоА, то окажется, что существует лишь очень немного физических систем, наделенных каузальной организацией, необходимой для его имплементации. Если мы возьмем КоА, векторы состояний которого имеют тысячу элементов, с десятью опциями для каждого элемента, то аргументы, подобные тем, что выдвигались в главе 7, покажут, что шанс случайного набора физических состояний, имеющих нужные каузальные отношения, чуть меньше 1 из (101000)10^1000 (на деле гораздо меньше из-за требования прочности отношений перехода от состояния к состоянию[180]).
180
Патнэм (Putnam 1988, с. 120–125) приводит свой аргумент в пользу того, что любая обычная открытая система имплементирует любой конечный автомат. Я детально анализирую этот аргумент в (Chalmers 1995а). По итогам этого анализа выясняется, что данный аргумент эффективен, похоже, лишь при допущении модальной мягкости кондиционалов перехода физических состояний в дефиниции имплементации.