Дэвид Чалмерс - Сознающий ум. В поисках фундаментальной теории
2. Об имплементации вычисления
Стандартная теория вычисления имеет дело исключительно с абстрактными объектами: машинами Тьюринга, программами на Паскале, конечными автоматами и т. п. Это — математические сущности, населяющие математическое пространство. Когнитивные же системы, существующие в реальном мире, это конкретные объекты, имеющие физическое воплощение и каузально взаимодействующие с другими объектами физического мира. Но зачастую мы хотим использовать теорию вычисления для получения выводов о конкретных объектах в реальном мире. Для этого нам нужен мост между областью абстрактного и областью конкретного[179].
Таким мостом является понятие имплементации — отношения между абстрактными вычислительными объектами, или, коротко, «вычислениями» и физическими системами, имеющееся тогда, когда физическая система «реализует» вычисление, или когда вычисление «описывает» физическую систему. Вычисления часто имплементируются на синтетических, кремниевых компьютерах, но их можно имплементировать и иначе. К примеру, нередко говорят, что вычисления имплементируют природные системы, такие как человеческий мозг. Вычислительные описания применяются к самым разнообразным физическим системам. И всякий раз в подобных случаях неявно или явно задействуется понятие имплементации.
Понятие имплементации нечасто подвергается детальному анализу; обычно его просто принимают как данность. Но для защиты сильного ИИ мы нуждаемся в его детальном объяснении. Тезис о сильном ИИ выражен в вычислительных терминах и говорит о том, что имплементация надлежащего вычисления достаточна для сознания. Чтобы оценить это утверждение, мы должны знать, в каком именно случае физическая система имплементирует вычисление. Разобравшись в этом, мы сможем присоединить это знание к проделанному нами ранее анализу психофизических законов, чтобы понять, может ли из этого вытекать интересующий нас вывод.
Некоторые авторы доказывали невозможность дать сколь-либо содержательное объяснение имплементации. В частности, Серл (Searle 1990b) доказывал, что имплементация не является чем-то объективным, а, наоборот, зависит от наблюдателя: любая система может быть истолкована как имплементирующая любое вычисление при надлежащей интерпретации. Серл, к примеру, считает, что о его стене можно рассуждать так, будто она имплементирует его текстовый редактор Wordstar. Если бы это было так, то трудно было бы понять, как вычислительные понятия могут играть какую-то основополагающую роль в теории, в конечном счете имеющей дело с конкретными системами. Что же до сильного ИИ, то он либо оказался бы лишен всякого содержания, либо подразумевал бы признание сильной разновидности панпсихизма. Думаю, однако, что пессимизм такого рода неоснователен: не существует препятствий для объективной характеристики имплементации. В этом параграфе я схематично представлю эту характеристику (она будет несколько технической, но оставшаяся часть главы должна быть понятной, даже если проскочить эти детали).
Любое объяснение имплементации вычисления будет зависеть от того, о каком классе вычислений идет речь. Существует множество разных вычислительных формализмов, которым соответствует различные классы вычислений: машины Тьюринга, конечные автоматы, программы на Паскале, коннекционистские сети, клеточные автоматы и т. д. В принципе, нам нужно объяснение имплементации для каждого из этих формализмов. Я объясню имплементацию только для одного формализма, а именно для формализма комбинаторных автоматов. Этот класс вычислений достаточно абстрактен для того, чтобы можно было без труда перенести на другие классы связанную с ним концепцию имплементации.
Комбинаторный автомат — более рафинированный родственник конечного автомата. Конечный автомат (КА) специфицируется заданием конечного набора данных на входе, конечного набора внутренних состояний, конечного набора данных на выходе и указанием сопряженного с ними набора отношений перехода от состоянию к состоянию. Внутреннее состояние КА — это простой элемент Si, лишенный внутренней структуры; это же справедливо для данных на входе и на выходе. Отношения перехода специфицируют для каждой возможной пары данных на входе и внутренних состояний новое внутреннее состояние и имеющийся на выходе результат. Если дано начальное состояние какого-то КА, то эти отношения перехода от состояния к состоянию специфицируют, каким образом он будет изменяться во времени и что он будет давать на выходе в зависимости от того, что он получает на входе. Вычислительная структура КА представляет собой этот относительно простой набор отношений перехода от состояния к состоянию в наборе неструктурированных состояний.
Конечные автоматы непригодны для репрезентации структуры большинства вычислений, имеющих практическое значение, так как состояния и отношения перехода от состояния к состоянию в них обычно имеют сложную внутреннюю структуру. Никакое описание КА не может, к примеру, передать всю структуру программы на Паскале, машины Тьюринга или клеточного автомата. Полезней поэтому сконцентрироваться на классе автоматов со структурированными внутренними состояниями.
Комбинаторные автоматы (КоА) ничем не отличаются от КА, за исключением того, что их внутренние состояния структурированы. Состояние комбинаторного автомата представляет собой вектор [S1, S2,…,Sn]. Этот вектор может быть конечным или бесконечным, но я сосредоточусь на первом случае. Элементы этого вектора можно мыслить в качестве компонентов внутреннего состояния; они соответствуют клеткам клеточного автомата или ячейкам ленты и состоянию управляющего устройства машины Тьюринга. Каждый элемент Si может иметь конечное множество значений Sij, где Sij — j-e возможное значение i-го элемента. Эти значения можно трактовать в качестве «подсостояний» общего состояния. Данные на входе и на выходе имеют аналогичную комплексную структуру: первые являют собой вектор [I1,…, Ik], вторые — вектор [О1,…, Оm].
КоА детерминируется специфицированием набора векторов внутренних состояний и векторов данных на входе и на выходе и специфицированием набора правил перехода от состояния к состоянию, определяющих изменение состояния КоА во времени. Для каждого элемента вектора внутреннего состояния правило перехода от состояния к состоянию определяет то, как его новое значение зависит от прежних значений данных на входе и векторов внутреннего состояния. Для каждого элемента исходящего вектора правило перехода от состояния к состоянию определяет то, как его новое значение зависит от прежних значений вектора внутреннего состояния. Каждый конечный КоА может быть представлен как КА с равными вычислительными возможностями, но КА — описание приносило бы в жертву большинство структурных моментов, существенных для КоА. Эта структура имеет ключевое значение при использовании КоА для уяснения той организации, которая лежит в основе ментального.
Теперь мы уже можем дать объяснение имплементации. Вычисления, такие как КоА — это абстрактные объекты, формальная структура которых определяется их состояниями и отношениями перехода от состояния к состоянию. Физические системы — это конкретные объекты, каузальная структура которых определяется их внутренними состояниями и каузальными отношениями между ними. В неформальном плане мы говорим, что физическая система имплементирует вычисление, если каузальная структура этой системы отражает формальную структуру вычисления. То есть, система имплементирует вычисление, если можно установить такое соответствие между состояниями этой системы и вычислительными состояниями, при котором каузально соотнесенные физические состояния соответствуют формально соотнесенным формальным состояниям.
Эта интуитивная идея может быть напрямую использована для получения представления об имплементации в случае КоА. Физическая система имплементирует КоА, если можно так разложить внутренние состояния системы на подсостояния, и данные системы на входе и на выходе — на подсостояния этих данных, и так соотнести подсостояния системы с подсостояниями КоА, что отношения каузального перехода от состояния к состоянию для физических состояний, данных на входе и на выходе отражают формальные отношения перехода от состояния к состоянию для соответствующих формальных состояний, данных на входе и на выходе.
Формальный критерий имплементации КоА выглядит таким образом:
Физическая система Р имплементирует КоА М, если можно разложить внутренние состояния Р на компоненты [s1,…, sn] и установить соответствие f между подсостояниями sj и соответствующими подсостояниями Sj в М, а также произвести сходную операцию разложения и установления соответствия для данных на входе и на выходе, так, что для каждого правила перехода от состоянию к состоянию