Научная статья на тему 'Недетерминированная вычислимость: философские основания'

Недетерминированная вычислимость: философские основания Текст научной статьи по специальности «Математика»

CC BY
145
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Логические исследования
ВАК
zbMATH
Область наук
Ключевые слова
ДЕТЕРМИНИРОВАННАЯ ВЫЧИСЛИМОСТЬ / НЕДЕТЕРМИНИРОВАННАЯ ВЫЧИСЛИМОСТЬ / ЛИНЕЙНАЯ ДИСКРЕТНОСТЬ / ГЛОБАЛЬНЫЙ НЕДЕТЕРМИНИЗМ / ЛОКАЛЬНЫЙ НЕДЕТЕРМИНИЗМ / ОРАКУЛЫ / ПРОИЗВОДИТЕЛЬНАЯ ПРИЧИННОСТЬ

Аннотация научной статьи по математике, автор научной работы — Анисов А. М.

The paper consists of three parts. The First one dwells on a comparison of deterministic and nondeterministic computability and defines two kinds of nondeterministic computabilities: global and local. The second part considers the sources of nondeterministic computations. The third part touches upon the problems of computational modelling of causal relationships.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Недетерминированная вычислимость: философские основания»

Недетерминированная вычислимость: философские основания1

A.M. Анисов

abstract. The paper consists of three parts. The first one dwells on a comparison of deterministic and nondeterministic computability and defines two kinds of nondeterministic computabilities: global and local. The second part considers the sources of nondeterministic computations. The third part touches upon the problems of computational modelling of causal relationships.

Ключевые слова: детерминированная вычислимость, недетерминированная вычислимость, линейная дискретность, глобальный недетерминизм, локальный недетерминизм, оракулы, производительная причинность.

1 Детерминированная и недетерминированная вычислимость

Детерминированная вычислимость ограничена вычислением функций. В теориях вычислимости применяется несколько отличное от обычного теоретико-множественного понятое функции. Зафиксируем произвольное непустое множество U в качестве универсума. Любое подмножество Fn множества Un (здесь Un есть и-кратное (и > 1) декартово произведение множества U, т.е. множество всех упорядоченных и-ок элементов из U) называется и-местным отношением на U.

В том случае, если и + 1-местное отношение Fn+1 на U удовлетворяет условию

(V < Ж1,Ж2,...,Жп ,Xn+1 >е Fn+1)(V < yi,V2,---,Vn,Vn+1 F n+1)

((< X1,X2, ...,Xn > = < V1,V2, ■■■,Vn >) ^ (Xn+1 = Vn+1)), Fn+1 называется и-местной функцией на U.

'Работа выполнена при поддержке РГНФ, грант .\8()7-()3-()()203а.

Функция Еп+1 является тотальной на и, если Еп+1 = и х и х - ■ -хи х Р, где Р = 0 и Р С и. Функция Рп+1 будет частичной на и, если Еп+1 = Р\ х Р2 х ■ ■ ■ х Еп х Р, где Р С и, для всех Р] (1 < . < и) Р] С и и для хотя бы одного Р] (1 < . < и) имеет место Р] = и. Ясно, что каждая функция на и будет либо тотальной, либо частичной. Содержательно, тотальная функция имеет значение хп+\ для любой и-ки < Х\,Х2,... ,хп ип, то-

и

определетта. Выделенным случаем частичной функции является 0

В теории множеств нет нужды различать понятия тоталь-

и

и

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

Следуя идеям Марио Буттге, выдвинутым в книге [о], определим детерминизм как принцип, согласно которому все существующее, во-первых, чем-то однозначно обусловлено, и, во-вторых, во всем полностью определено. Отсюда недетерминизм означает либо неоднозначную обусловленность, либо неполную определенность, или и то и другое вместе. Крайней формой педетермиттизма является индетерминизм — допущение существования чего-либо ничем не обусловленного или полностью неопределенного.

В работе [1] было показано, что классическая трактовка вычислимости связана с тремя типами педетермиттизма. Во-первых, в ттей принимается ттедетермиттизм в «мягкой» форме неопределенности итогового результата вычислений и случайности появления начальных данных. Во-вторых, допускается «жесткий»

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

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

Сказанное требует уточнения. Делать это можтто по-разному, тто мы будем исходить из следующих положений. Всякое вычисление предполагает наличие допустимых для обработки данных и соответствующих преобразующих ЭТИ ДäHНЫ(3 объектных операций или команд. Могут также иметься управляющие операции или команды, определяющие порядок применения (или тте применения) других операций в ходе вычислений и тте затрагивающие обрабатываемые данные. В любом случае результатом применения команды будет наступление ттекоторого события. Назовем вычислительным процессом (или, короче, вычислением) любое реализуемое в рамках некоторой теории вычислений линейное дискретное множество событий.

По определению, линейное дискретное множество — это множество М, упорядоченное отношением Е, удовлетворяющим следующим аксиомам.

1. УхУу-(хЕу) — антирефлексивность.

2. УхУуУ г((хЕу&уЕг) ^ хЕг) — транзитивность.

3. УхУу(хЕу V уКх V х = у) — линейность.

4. УхУу(хЕу ^ Зг(хЕг&(гЕу V г = у)к-Зу(хЕукуЕг))) —

дискретность справа.

5. УхУу(хЕу ^ Зг(гЕу&(хЕг V г = х)к-Зу(гЕукуЕу))) —

дискретность слева.

Кванторы ограничены множеством М: Ух распишется как Ух(х Е М а Зх как Зх(х Е МПоэтому пустое множество и любой сипглетоп (т.е. одноэлементное множество) будут вырожденными примерами линейных дискретных множеств (при Е=0

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

51, 52, • • •, 5п,

либо в виде бесконечной последовательности (не исключено, повторяющихся конечное или бесконечное число раз) событий

51, 52, • • •, Бп, • • • .

Очевидно, что такие последовательности событий являются простейшими примерами линейных дискретных множеств. Кроме того, они реализуемы в рамках классической теории вычислимости. Конечные последовательности соответствуют здесь закапчивающемуся на данном входе или сходящемуся вычислению, тогда как бесконечная последовательность представляет никогда не завершающееся или расходящееся вычисление. Каждый переход 5s 1—► 5^+1 полностью детерминирован, так что все классические вычисления локально детерминированы. Расходящиеся вычисления глобально педетермиттировапы в силу неопределенности итогового результата. Кстати говоря, сложившееся понятие алгоритма как полностью детерминированного

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

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

• • • , S-n, • • • , S-2, S-h

с< о о О О О о

• • • , S-n, • • • , S-2, S-1, So, Si, S2, • • • , Sn, • • • ■

Этим множествам соответствуют вычислительные процессы, не имеющие первого птага выполнения. Еще одним примером классически не реализуемого процесса будет множество событий, упорядоченное по типу ординала и + 1:

Si, S2, • • •, Sn, • • •

Зато в некоторых ттеклассических теориях принимается так называемое и-правило, позволяющее от бесконечной и-последо-вательности посылок ^>(1), ^(2), • • •, p(n), • • • на и + 1-шаге переходить к заключению Vxp(x). Более того, в теории а-рекурсии (см. [16]) допускается вычислимость до любых подходящих ори

трансфинитная и + 1-последовательность событий Si, S2, • • •, Sn, • • • Бш, не говоря уже о трансфинитных а-иоследовательнос-тях, в которых а > и + 1, просто не будет представлением никаких вычислительных процессов. В самом деле, в таких последовательностях нарушается аксиома о дискретности слева, согласно которой каждый элемент, имеющий предшественника, имеет и непосредственного предшественника. Но уже первый выход за пределы ординала и приводит к тому, что у элемента Бш предшественники есть, а непосредственного соседа слева пет. а

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

• • •, S-n, • • •, S-2, S-i. (Здесь и* является порядковым типом, соответствующим стандартному порядку па множестве отрицательных чисел.)

Такое множество имеет первый и последний элементы, однако за первым событием непосредственно следующего нет,

что обусловливает нарушение аксиомы 4. Но каждый имеющий предшественника элемент имеет и непосредственного предшественника, так что аксиома о выполняется.

Наконец, объединяя последние две ситуации, получим множество событий

о о с с с с с с

^^^ • • • , Э-п, . . . , Э—2, Э —1, 01, 02, . . . , Эп, . . .

которое тте будет дискретным множеством по причине нарушения обеих аксиом 4 и о. И вновь таким множествам, согласно принятому определению, не соответствуют никакие вычислительные процессы.

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

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

Наиболее ярко это проявляется в господствующих в точном естествознании моделях времени. В них моменты времени отождествляются с действительными числами, а временное отношение «рапытте, чем» — со стандартным порядком «меньше, чем» па таких числах. Как известно, данный порядок является ли-

ттейпым и непрерывным. Последнее свойство влечет плотность данного порядка, т.е. выполняется формула УхУу(х < у ^ Зг(х < г&г < у&г = х&г = у)). Обычным образом упорядоченное множество рациональных чисел оказывается плотным, хотя и не является непрерывным. Но этого достаточно, чтобы покончить с идеей осуществляющегося шаг за птагом процесса. Ведь свойство плотности несовместимо с дискретностью. Рассмотренные нарушающие дискрет-

с* с* с* с* с* с* с* с*

НОСТЬ Структуры 51, 52, • • • , 5п, • • • 5Ш И • • • , 5-п, • • • , 5-2, 5-1

осуществляют это нарушение за счет следующего уподобления свойству плотности: У5j(5jЕ5Ш ^ З5k(5jЕ5и&5иЕ5Ш&5и = 5j&5и = 5Ш)), У5j(5ш*Е5j ^ З5и(5ш*Е5и&5иЕ5j&5и = 5j&5и = 5Ш*)).

Между тем, никем, никогда и нигде не было приведено пи одного примера реально существующей плотной структуры. Напротив, чем больше мы узнаем об окружающей действительности, тем больше па первый план выходит идея дискретности природных процессов. Достаточно в связи с этим упомянуть квантовую физику. Но и первоначально, до появления новоевропейского естествознания, в пауке и в ориентированной на науку философии преобладало представление о дискретности реальности. Затем восприятие реальности было искажено возобладавшими в пауке (особенно в физике) описаниями действительности средствами непрерывных моделей. Такое развитие событий не было случайностью. Недаром закончилась ничем попытка античных атомистов создать атомистическую математику. Теперь стало ясным, что дискретное моделирование реальности с логической и математической точек зрения идейно и технически оказалось более сложным, чем применение в этих же целях привычного и хорошо разработанного аппарата классической математики. (Представление о возникающих тут проблемах можно получить, обратившись, например, к книге [13]).

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

описания движения в виде такой последовательности возникают неустранимые противоречия. Отсюда вывод — движения пет. Нововремеппая паука справилась с описанием движения ценой отказа от идеи его дискретности. Тем самым в жертву была принесена естественная интуиция дискретности процесса движения. Но самое удивительное в том, что в массовом масштабе воспитанные в традиционной парадигме физики просто не видят здесь проблемы. Стандартное образование ломает естественную интуицию! Апории Зеттопа для них — не более, чем остроумные, по неверные донаучные рассуждения или даже софизмы. Этот круг вопросов подробно рассматривается в книге [2].

Мы попытались кратко ответить па второе принципиальное возражение, касающееся дискретности. Теперь обратимся к первому, связанному с линейностью. Вновь в основе принятия идеи линейности лежат философские соображения. Представ»™ себе житейскую ситуацию: человек принимает рептетите, жениться ему или тте жениться. В пользу того или иттого решения отт может привести серьезные в его глазах доводы. Предположим также, что любое решение реально осуществимо. Означает ли это, что описанная ситуация может быть представлена ветвящимся процессом? Если принять во внимание наличествующие возможности, то «да». Если же имеется в виду лить то, что реализуемо, то «ттет». Эти две возможности исключают совместную реализацию. Реализация потребует сделать выбор в пользу лить одного решения.

Обозначим этап раздумий посредством а, через в — событие женитьбы, через —в — событие отказа от женитьбы. Стрелки и \ выражают элементарный одношаговый процесс — акт перехода от события к событию. Представ»™ утвердительный ответ схемой а^^р. Не только по философским соображениям, но и лингвистически неудачно называть эту схему единым процессом. На самом деле мы вольно или невольно выделяем два далее неразложимых элементарных возможных процесса: а —► в и а —► —в; которые к тому же несовместимы между собой по итоговому результату Люди так и рассуждают, когда говорят о будущих альтернативах: возможно как в так и но не то и другое вместе.

В отношении ветвления процессов в прошлое вывод еще более

категоричен: такого не следует допускать даже в возможности, так как ничто в реальности схеме, подобной не соответ-

ствует. Не может быть единой истории вычислений или единой истории чего-угодно с двумя различными прошлыми. Допустим, вычислено, что эквиваленция A ^ B истинна (событие а). Это означает, что прежде имело место либо A и B одновременно истинны (событие ß), либо A и B одновременно ложны (событие 7). Но это, конечно, не означает, что в прошлом события ß и 7 реализовались одновременно. Было либо одно, либо другое, но что-то одно.

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

Высказанные соображения приводят к мысли о том, что отдельные вычислительные процессы сами по себе мало что могут дать для экспликации идеи педетермиттизма. Рассматривая процессы а —> ß и а —> —ß по отдельности, мы не сможем увидеть проявление педетермиттизма. Соединяя их единой схемой a^^ß, попадаем, как было показано, в философски неприемлемую ситуацию. Но выход есть. Отт состоит в переходе от рассмотрения отдельных процессов к анализу множеств процессов. В используемом примере вместо двух отдельных процессов и вместо объединяющей их схемы можтто предложить теоретико-множественную пару {а —> ß,a —> —ß}. Однако пока это сугубо формальный прием. Необходимо придать ему смысл.

Для этого введем понятие программы. Программой будем называть непустую конечную последовательность команд. Выполнение программы п на компыотере @ порождает некоторый вычислительный процесс а. Возможна ситуация, когда а = 0. Это произойдет в том случае, если тти одна из команд программы п не была выполнена компьютером @ либо по причине его маломощности, либо из-за логической невозможности выполтте-

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

Отметим следующий факт.

ТЕОРЕМА 1. Для любых пи @ множество в@ не пусто: в@ = 0.

п

компьютером @ будет выполнена одна или более команд, возникнет непустой вычислительный процесс а = 0, а € в@. Если

п

дет, получим пустой вычислительный процесс а = 0, а € в@.

Введем следующие обозначения. Запись | а указывает, что процесс а имеет первый шаг выполнения. Формула Т а означа-а

писи а Iи а Т указывают, соответственно, на наличие последа

а

смысл: | а |, | а Т, Т а |, Т а Т-

Но (ЗОТЬ ОДН проблема — проблема аварийного останова или, короче, авоста. Имеется в виду не техническая пробле-

а

логически «зависнуть», когда реализующий его компьютер, выполнив непустой ряд команд, не сможет выполнить очередную команду из-за логической невозможности ее выполнить. В этом а

одну из перечислеппых разновидностей процессов. То же самое касается и пустого процесса: ведь при а = 0 нельзя сказать а

начался и каким закончился?), пи того, что он никогда не начинался и никогда не закончится (что предполагает бесконечный в обе стороны ряд событий, которых здесь заведомо пет). Будем применять запись а = в0 в знак того, что процесс а успешно выполнялся на имеющем последнее событие подпроцессе в (т.е.имело место в I), но при вычислении следующего события £7+1 возник логический авост. Если же такого успешного этапа в

не было и сразу наступил авост, просто имеем а = 0. Формально есть еще запись вида 0@. Но это бессмысленная формула. Логическое «зависание» не может быть для чего-то началом, не может породить выполнение каких бы то пи было команд и соответствующей цепочки событий. Оно всегда фатально и безысходно.

В итоге получаем следующие семь разновидностей вычислительных процессов:

| а а Т, Т а Т а Т, | а0, Т а0, 0.

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

Это дает мотивировку для принятия следующего определения. Множество вычислительных процессов 0@ глобально детерминировано, если Уа(а € 0@ а |). Поскольку по теореме 0@ = 0, отсюда вытекает, что хотя бы один процесс а € 0@ и при этом | а [. Множество вычислительных процессов 0@ глобально недетерминировано, если оно не не является глобально детерминированным.

Множество вычислительных процессов 0@ локально детерминировано, если мощность 0@ равна единице: |0@| = 1. Иными словами, локальная детерминированность связана с тем, что любое выполнение компьютером @ программы п всегда по-

а

10@ I > 1, то в этом случае 0@ локально недетерминировано. Могут подумать, что локальная педетермиттироваппость обязательно связана с тем, что выполнение хотя бы одной команды из программы п неоднозначно в отношении наступления следующего события. Однако, как будет показано, это не так.

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

щей теорией вычислимости. Например, теории классической вычислимости, как уже отмечалось, допускают глобальную, по не локальную педетермипированпость.

2 Источники недетерминированных вычислений

В самом общем плане источниками педетермиттироваппости могут быть как внешние, так и внутренние факторы. Разница здесь фундаментальная — такая же, как между учением о том, что мир создай Богом, и концепцией, согласно которой мир самодостаточен и существует сам по себе. В [1] проблема внешнего индетерминизма обсуждалась применительно к классической теории МНР-вычислимости, в которой начальные конфигурации, с которых начинаются вычисления, появляются неизвестно откуда, поистине чудесным образом. Здесь же мы будем рассматривать только внутренние механизмы как детерминированных, так и недетерминированных вычислений. Идею внутренних факторов реализуем при помощи принятия следующей аксиомы существования.

АКСИОМА 2. Каждое событие в вычислительном процессе является результатом выполнения какой-либо команды программы.

Пусть, например, в языке программирования имеется оператор присваивания := и индивидная конетанта с. Аксиома существования запрещает считать программой конструкцию 1.x := у, поскольку неизвестно, откуда взялось значение у, т.е. отсутствует команда, реализующая событие присваивания значения этой переменной. Но конструкции 1.у := с и 1.у := с; 2.x := у вполне законны. Нарушает эту аксиому ввод данных с клавиатуры, поскольку события нажатия клавши чисто внешние и не являются следствиями каких-либо компьютерных команд. Короче говоря, не допускается никакое впептпее вмешательство в вычислительный процесс.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Принятие аксиомы существования позволяет уйти от вопросов о детерминированности или педетермиттироваппости вттепт-ттих источников событий в вычислительном процессе. Например, если в ходе выполнения программы требуется ВНЕСТИ Д НЫ(3 с клавиатуры, то нажимающий тта клавший субъект может решить действовать как детермиттироваптто (скажем, всегда пажи-

мать одну рт ту же клавишу), так и недетерминированно (допустим, нажимать клавший наугад). Понятное дело, сама выполняемая программа эти события никак не контролирует. Было бы неразумно включать в обсуждение вопросов вычислимости проблему свободы воли нажимающего на клавший субъекта. Но аксиома существования не запрещает наличия команд, имитирующих ввод данных с клавиатуры. В этом случае такие команды должны быть точно синтаксически и семантически описаны, что позволит однозначно решить вопрос об Pix детерминированности или недетермрпшрованностр!.

Выделенные в литературе внутренние источники недетерминированной вычислимости, по сути, сводятся к трем разновидностям выходов за пределы детерминизма: вычислимость на от-поптетшях (вместо функций), вероятностные правила вычислений (важный частный случай вычислимости на отношениях) PI вычислимость с использованием оракулов. Наличие не взаимнооднозначных функций не рассматривается как проявление недетермрпшзма. Например, получив в результате выполнения команды x + у число 8, мы остаемся в неведении относительно значений переменных «у. Однако в реальных вычислениях этр1 значения будут определены однозначно. Ведь в противном случае выполнить операцию сложения невозможно. Более того,

xy

после выполнения команды сложения, что позволяет, например, повторить эту команду с тем же результатом.

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

x

полнить предикат x < 8, рассматриваемая как требование при-

x8 на несколькими способами, так что ее результат не однозначен. Это приводит к ситуации |Э@| > 1 и, таким образом, возникает локальная педетермрпшрованпость. Вообще, если команда вычисляет не сингулярное свойство F(x), где F С U и IF| > 1, выбирая такое x, что F(x), имеем |Э@| > 1. Аналогичным образом, если вычисляется многоместное отношение Fn+1 на U, удовлетворяющее отрицанию условия функциональности

-(У < Х1,Х2,.. .,Хп,Хп+1 >€ Рп+1)(У < уг,у2,... ,уп,уп+1 >€ р п+1)

((< Х1,Х2, ...,Хп > = < у1,у2, ..., уп >) ^ (Хп+1 = уп+1)), вновь имеем |в@| > 1, поскольку при < Х1,Х2,...,Хп >= < у1,у2, ...,уп > значение п + 1 компоненты вычисляется (по крайней мере, хотя бы в одном случае) неоднозначно.

В реальных вычислительных устройствах не удается реализовать даже простейший случай бинарной педетермиттироваппо-сти, когда требуется осуществить пи от чего не зависящий выбор одного из двух событий, типа перехода а^—^. Однако выбор становится реализуемым, если поставить его в зависимость от вероятности наступления одного из двух (или более) событий. Это требует включения в состав компьютера генератора случайных чисел, работающего в зависимости от какого-то случайного физического процесса (например, замер времени между щелчками счетчика Гейгера рядом с образцом изотопа рубидия-85, снятие параметров с нестабильных электрических цепей и т.п.). Формально певероятпостпая ттедетер-миттироваппость и вероятностная педетермиттироваппость описываются, например, посредством недетерминированной и вероятностной маптитт Тьторипга. Этот круг вопросов хорошо описан в литературе.

Менее ЯСНЕ1 В философском отношении ситуация с использованием в вычислениях оракулов. Применительно к МНР-вычислимости обобщение состоит в переходе к МНРО-вычислимости, где МНРО есть сокращения для «машина с неограниченными регистрами и оракулом». В МНРО наряду со стандартными МНР-командами (обнуления X (п), прибавления единицы 5 (п), переадресации Т(т, п) и условного перехода 1 (т,п,д)) имеется команда. обращения к оракулу О£ (п). Встретив эту команду в программе, МНРО текущее содержимое гп регистра К, заменяет на значение функции £ (гп), где £ — какая-либо тотальная одноместная функция из N в N. Иными словами, в результате выполнения команды О^(п) осуществляется присваивание гп := £(гп)

(см. [9]). Тем самым стандартная вычислимость обобщается до £

£

вычислимых функций не меняется, т.е. любое МНРО-вычислеттие

с обращениями к оракулу можно превратить в МНР-вычислеттие без использования оракула. Но если функция £, на которой основывается оракул, оказывается не вычислимой, класс £-вычис-лимых функций окажется тире класса вычислимых в стандартном смысле функций. Например, пусть £ есть функция, которая определяется следующим образом.

{1, тел и п — гёделев помер истинной ф ормулы ^

арифметики 0, в противном случае J

Как известно, множество гёделевых номеров истинных в стандартной модели арифметических формул не только не рекурсивно, но даже не является рекурсивно перечислимым. Однако МНРО-программа п%

10% (1)

осуществит требуемый пересчет всех арифметических истин в языке формальной арифметики. Достаточно запускать программу п% с начальными конфигурациями п, 0, 0, 0,..., где п последовательно принимает значения 0,1, 2, 3,....

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

ТЕОРЕМА 3. Для всякой тотальной функции £ из N в N и любой МНРО-программы п%, содержащей команды вида О%(п), имеем 10МНРОI = 1.

Доказательство. Доказательство основано па том, что функция £ тотальна, и потому любое применение команды вида 0% (п) приведет к однозначному результату на любом птаге вычисле-

Такпм образом, согласно этой теореме, МНРО-вычпслпмость является локально детерминированной. Но требовать глобальной детерминированности было бы неразумно, поскольку применение команд обращения к оракулу не влияет на возможность появления расходящихся вычислений. Зато теорема заставляет

усомниться в адекватности понятия локальной детермипироватт-

£

лает она это непостижимым путем, поистине близким к чуду. А разве чудеса имеют что-то общее с детерминизмом? Вопрос риторический.

Представляется, что здесь мы сталкиваемся с проблемой ттеде-термипизма па двух уровнях: онтологическом и эпистемологическом. Там и тогда, когда процессы описываются па языке функций, они, с нашей точки зрения, оказываются полностью онтологически детерминированными. Другой вопрос, что многие функциональные процессы (такие, как колебания маятника, преобразование пекаря, образование ячеек Беттара, МНРО-вычислимость и т.д.) невозможно описать в доступных познанию деталях. Это и приводит к эпистемологическому педетер-миттизму Малейптая неточность в определении исходных данных (начальных условий) может за короткое время исключить всякую надежду на адекватное предвидение хода процесса. Или, как в случае МНРО-вычислимости, исходные данные точны, по у познающего субъекта в принципе пет общего метода, позволяющего предсказывать результаты МНР О

-вычислений. Наши

познавательные возможности объективно ограничены — вот в чем суть. Даже если па онтологическом уровне все детерминировано, это еще не означает, что детерминированными будут и познавательные процессы. Разумеется, остается возможность распространить педетермиттизм и па онтологический уровень.

Достаточно, например, в определении оракула заменить футтк-£

цией.

И все же нам, по-видимому, психологически легче смирить/в

ся с наличием недетерминированных переходов типа ачем

с оракулом Ооснованным на детерминированной, но не вы-£

можем делать сами в уверенности, что обладаем свободой воли.

Но ироимитировать поведение не вычислимой и потому весьма £

здесь оставим дальнейшее обсуждение проблем эпистемологического педетермиттизма, сосредоточившись па онтологическом уровне.

Существует еще один источник возникновения ттедетермипиз-ма, доселе ускользавший от внимания исследователей. Речь идет о возможностях исполняющего команды компьютера. Рассмотрим следующую элементарную программу по-1.С0Т01

Ясно, что выполнение программы по порождает уходящий в бесконечность вычислительный процесс, так что глобально этот процесс не будет детерминированным. Столь же ясным представляется ответ па вопрос, будет ли это выполнение локально детерминированным. Конечно, будет, так как едипстветт-

по

ная ^-последовательность повторения одного и того же события 5*1, Я • • •, Бп,.... То есть имеем Бг = £7 при любых г и поскольку ничего другого, кроме события безусловного перехода к выполнению первой команды программы, произойти не может. В результате получаем 10@а I = 1- Однако это рассуждение верно лить при условии, что выбран такой компьютер который порождает единственный вычислительный процесс при повторных запусках. Но логически возможен компьютер который приводит к неравенству 10@а | > 1! В самом деле, ничто не препятствует предположению, что кроме процесса 51, 52,5п,... посредством более мощного компьютера @ может реализоваться не имеющий первого птага выполнения про-

С< с* С* С* С* С* С* "

цесс ..., Б-п,..., Б-2, Б-1, Бо, Б1, Б2,..., Бп,... , упорядоченный по типу и * +и.

Или даже могут реализоваться траттсфипитпые процессы типа и +и * +и, и * +и+и * +и и т.п. Что действительно логически

по

лительттого процесса. Ведь никаких логических оснований, коль скоро рассматриваются не изнашивающиеся и не ломающиеся

по

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

заться в области событий из и* Ведь ряд вида Бо, Б1, Б2,..., Бп, ..., Б-п,..., Б-2, Б-1 упорядоченный по типу и + и*, обладает

тем свойством, что любые два события Sj и S-j разделяет бесконечное число птагов! Согласен, представить это нельзя. Но с абстрактной точки зрения ничего логически невозможного здесь нет. Просто не надо думать, что каждый птаг вычислений требует затрат какого-то отличного от нуля времени. А если допустить, что время выполнения каждой отдельной команды на сверхмощном компьютере равно нулю?

3 Причинность, вычислимость и производительность

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

В свое время Платон определил причину как «то, что творит». Представление о том, что причина творит, порождает или производит следствие, господствовало в течение веков до тех пор, пока Д. Юм не обрушился па пего с уничтожающей критикой. Взгляды Юма па причинность разделялись философами и учеными позитивистской направленности, развившими аргументацию английского философа. Согласно неопозитивистам, в математических формулировках научных теорий фиксируется неизменная последовательность состояний природных явлений во времени, рт это все, что остается от причинной связи. Подчеркивается, что в математическом аппарате научных теорий пет ничего, даже отдаленно напоминающего производительность. Более того, само понятие причинности иногда объявляется не только излишним, по рт вредным для пауки (Б. Рассел). Точка зрения Рассела состояла в том, что понятие причинности должно уступить место понятию функции. Однако, как примирительно заметил Г.Х. фон Врртгт, хотя «понятое причины не играет важной роли

в ведущих теоретических науках и в этих науках вполне можно использовать функциональную терминологию вместо каузальной, остается фактом, что каузальное мышление как таковое не изгоняется из пауки подобно злому духу, а следовательно, философские проблемы причинности остаются центральными в философии пауки»([7, с. 73-74]).

Для М.Бунге (см. [о]) неопозитивистская трактовка математического инструментария пауки неприемлема, так как он под причинностью имеет в виду не просто следование явлений во времени, а производство одних явлений другими. Буттге спра,-ведливо указывает, что без производительного аспекта понятое причинности теряет смысл. Но в используемых в пауке математических формулах пет и намека на производительность. Кстати говоря, именно последнее обстоятельство служит основанием позитивистской позиции в большей степени, чем что-либо другое. Ведь если бы удалось в математическом формализме пауки найти адекватное выражение идеи производительной причинности, то позитивизм столкнулся бы с серьезными проблемами. Но чего нет, того нет: логика и математика (по крайней мере, до самого последнего времени) не имели средств для описания того, как одно явление производит или порождает другое.

Этому факту имеется объяснение. Стандартное научное описание природных явлений основывается на математическом понятии функции. Функциональный язык способен выразить идею изменений в форме «Всякий раз, когда имеет место явление А, имеет место (тут же или с запаздыванием во времени) явление В». Но не в форме «Явление А производит явление В», т.е. не в форме описания процесса производства или порождения одним явлением другого. Выражения типа «функция Е, будучи примененной к аргументу ж, дает в результате у» могут при поверхностном подходе навести на мысль, что функция Е каким-то образом порождает у из ж. На самом деле ничего подобного нет. Мы, конечно, можем сказать, что Е (ж) = уж тогда, когда,

ж

у

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

результаты некоторого процесса. Но можно этого и не утверждать, отбросив процессуальную терминологию как излиптптото, коль скоро мы удовлетворяемся функциональными описаниями. Лить в последнее время всерьез начинают рассматривать возможность описания не функции, связывающей изучаемые явления, а описание алгоритма, лежащего в основе связи явлений. Программный, алгоритмический язык богаче функционального, поскольку для каждой вычислимой функции Р такой, что Р(х) = у, имеется бесконечно много способов получить (произвести!) у из х, выбрав соответствующую компьютерную программу. Иными словами, для каждой вычислимой функции имеется бесконечный класс программ, которые ее вычисляют. Функция будет одной и той же, а процесс порождения из аргумента соответствующего значения может существенно отличаться по важным параметрам (например, скорости выполнения) для раз-пых программ ее вычисления.

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

Назовем утверждение о событии Q ^актуальными, если Q может быть как истинным, так и ложным в зависимости от наступления или не наступления данного события. Пусть фактуалытое утверждение Р является истинным до начала выполнения программы п, и программа п начинает выполняться компьютером Запишем это высказывание как (Р, п) и назовем Р предусло-

пп

зательно заканчивается (обозначим это как п и фактуальное Б

программы п. В этом случае пишем (п, Б) и назовем Б постусловием программы п. Точнее, надо было бы писать (п [, Б), однако в этом параграфе пас будут интересовать только такие программы п, для которых верно п ибо в противном случае понятие постусловия делается бессмысленным. Аналогичным образом, если процесс выполнения п не имеет первого шага, т.е. если | п, бессмысленным делается понятие предусловия. Так что стрелки | и | можно не использовать. Если исключить также возможность авоста, то сказанное означает, что причинные связи глобально детерминированы.

Возможно, что (Р, п) и затем (п, Б) при каком-то выполнении п

полнении программы п компьютером @ в следующий раз при наличии (Р,п) мы можем получить (п, —Б). Назовем программу п корректной относительно высказываний Р и Б (Р и Б берутся

(Р, п)

(п, Б) п

ром Утверждение о корректности программы п относительно предусловия Р и постусловия Б будем записывать в виде Р{п}Б.

Введем отношение эквивалентности на множестве программ. Программы п и т эквивалентны (п = т), если и только ес-

РБ

(Р{п}Б ^ Р{т}Б). Иными словами, программы эквивалентны, если они корректны для одних и тех же пар пред- и постусловий. В том, что приведенное определение действительно задает от-поптеттие эквивалентности, легко убедиться, используя свойства логической связки Во многих случаях достаточно рассматривать программы с точностью до эквивалентных.

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

pi последний таги выполнения. При этом допущении мы вправе писать (п; т) (читается: «выполнить п, затем выполнить т»), считая, что (п; т) также является программой.

Для анализа каузальности в первую очередь важны имеющие начало pi когда-либо завершающиеся процессы. Действрт-тельпо, если мы хотим вестрт речь о причинах pi pix следствиях, то должны быть события, имевшие место до начала программы, pi события, наступившие после ее завершения. Однако мы отказываемся от традиционной точкрт зрения, рассматривавшей в качестве причин pi следствий только события. Напта позиция, коротко говоря, COCTOPIT в том, что события сами по себе пе могут быть причинами других событий или Pix следствиями. Если Д. Юм pi те, кто приняли его теорию причинности (точнее, от-сутстврш причинности), настаивали именно на этом, то с tipimpi можно согласиться. Но если затем принимался (явно или неявно) тезртс, согласно которому проблема причинности сводится к отношениям между событиями pi только, то этот тез pi с неверен.

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

Будем говорить, что (Р, п) является причиной (т, S) и использовать запись (Р,п) (т^), если существуют факту-алъные утверждения Q и R такие, что Q ^ R, P^}Q и Е{т }S.

С содержательной точкрт зрения смысл данного определения

P

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

Q

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

Пррт описании причинных связей удобно иметь в своем распоряжении процесс, который ничего не меняет (аналог 0 в алгебре). Постулируется, что имеется элементарный процесс skip,

P

P {skip}P.

п

сто I п I, верны следующие эквивалентности: п = (skip; п) и п = (п; skip).

Доказательство очевидное. Отметим, однако, что пункты о первом pi последнем птаге существенны. Если процесс выпол-

п (skip; п)

ся вычислительным процессом, поскольку не является линейной дискретной последовательностью птагов (нарушается усло-

( п ; skip )

п

условрге о).

ТЕОРЕМА 5. Если PMS, то (P,skip) (п,S) и (P, п) (skip, S)

P{ п} S

P{skip}P и P ^ P, получаем (P, skip) =Ф (п, S). Аналогичным образом, P{п}^ и S{skip}S дают (P,п) (skip,S). q.e.d.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ТЕОРЕМА 6. Отношение не является ни рефлексивным, ни симметричным, ни гщмнзитивным.

Доказательство. Действительно, ЗсШИСЬ В И Дс1 A A не верна синтаксически. Точно так же из двух форм A B и B

A

писи о причиппых связях. То же самое верно в отпоптепии записей вида A B, B C ... . q.e.d.

Если в отпоптепии свойств рефлексивности pi сршметрртчпострт последтшй факт, по-врщршому, не будет вызывать возражетшй, то отсутстврге свойства трапзрттртпостр! прртчрптых связей может отвергаться по ртитурттршным соображетшям. Однако pititv-иция здесь — плохой советчик. Запись вида ... B указывает на завершение некоторого процесса, а запись вида B ...

B

может фртгурртровать pi в качестве следстврш, pi в качестве nppi-чр1ны. Прртчрппго-следствеппые цепочкрт строятся рпгаче. Прежде чем вернуться к обсуждаемому вопросу, сделаем одно отступле-npie.

ТЕОРЕМА 7. Если (P, п) ^,S), то P{п; т}S.

Доказательство. По определетшто прртчртпострт, существуют предложения Q и R, такие, что Q ^ R, P^}Q и R{т}S. Из

этого следует, что событие P начинает процесс выполнения п,

QQ

RR

ния т, завершающийся событием S, что и требовалось. q.e.d.

Следутопщй факт является своего рода аналогом трапзрттртв-

tioctpi.

ТЕОРЕМА 8. Пусть (P, п) (a,Q) u (Q,q) (т,в). Тогда (P, п; а)=Ф (я; т, S).

Доказательство. По только что доказанному имеем Р{п; а}Q и Q{я; т}Б. Применяя определение причинности, получаем (Р,п; а) (я; т,Б). (¿.Е.в.

При этом сохраняется возможность традиционного неточного словоупотребления: коль скоро речь идет только о событиях, в случае, если Р причина ^ и ^ ^^этина Б, будет иметь место РБ

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

ТЕОРЕМА 9. Для любых Р, Б ,п ит, есл и (Р, п) =^ (т, Б), то множества в@ и в@ глобально детерминированы, но для некоторых Р, Б , п и т при (Р, п) =^ (т, Б) множество в@ или множество в@ локально недетерминировано.

Доказательство. Глобальная детерминированность множеств

глТ глТ

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

Пусть Р есть сокращение для х < 1, п — присваивание х := 1, т — присваивание х := 2 ОК х := 3, выполняемое компьютером @ недетермнннрованым об разом, и Б теть х > 1. В качестве как так и К возьмем х = 1 Отсюда имеем Q ^ К, Р{п}Q и К{тчто дает (Р,п) =^ (т,Б). Однако, очевидном образом, имеем |©@| > 1. суЕ.Б.

Этот факт оправдывает утвердившийся в философии пауки термин «вероятностная причинность», позволяя придать ему точный процедурный смысл. В рассматриваемом примере достаточно приписать двум возможным результатам выполнения т

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

Литература

[1] Анисов A.M. Классическая вычислимость и признаки индетерминизма // Логические исследования. Вып. 11. М., 2007.

[2] Анисов A.M. Темпоральный универсум и его познание. М., 2000.

[3] Врауэр В. Введение в теорию конечных автоматов. М., 1987.

[I] By л,ис Дмс., Джеффри Р. Вычислимость и логика. М., 1991.

[5] Вунге М. Причинность. Место принципа причинности в современной науке. М., 1962.

[6] Верещагин II. К., Шень А. X. Лекции по математической логике и теории алгоритмов. ТТ. 3. Вычислимые функции. М., 2002.

[7] Вригт Г.Х. фон. Логико-философские исследования. М.,1986.

[8] Гэри М., Джонсон Д. Вычислительные машины и трудноретаемые задачи. М.: Мир, 1982.

[9] Катленд II. Вычислимость. Введение в теорию рекурсивных функций. М., 1983.

[10] Катаев А.Ю., Шень А.Х., Вялый М.И. Классические и квантовые вычисления. М., 1999.

[II] Кузюрап H.H., Фомин O.A. Эффективные алгоритмы и сложность вычислений. Версия от 17.06.2008. 318 стр. http://discopal.ispras.ru/ru.book-advanced-algorithms.htm.

[12] Маслив С.Ю. Теория дедуктивных систем и ее применения. М., 1986.

[13] Хармут X. Применение методов теории информации в физике. М., 1989.

[11] Хиар Ч. Взаимодействующие последовательные процессы. М., 1989.

[15] Шенфилд Дмс. Степени неразрешимости. М., 1977.

Шир Р. Теория а-рекурсии // Справочная книга по математической логике: В 1 частях. ТТ. III. Теория рекурсии. М., 1982.

[17] Якибс К. Машины Тьюринга и случайные 0-1-последовательности // Машины Тьюринга и рекурсивные функции. М., 1972.

i Надоели баннеры? Вы всегда можете отключить рекламу.