Книга
Книга
ВВЕДЕНИЕ
Нахождение пересечения двух выпуклых многогранников в трехмерном пространстве — классическая задача вычислительной геометрии [1]. Известно простое, но требующее больших затрат времени решение этой задачи — оно настолько тривиально, что даже не заслуживает ссылки на литературу. Смысл его таков. Пусть А и В — два выпуклых многогранника; каждая грань многогранника А сопоставляется с каждой гранью многогранника В на предмет их пересечения; если таких пересечений не обнаружится, то пересечение двух многогранников пусто; если же пересечения граней есть, то построить искомое пересечение нетрудно. Ясно, что выполнение такого алгоритма может потребовать порядка я2 операций, где п — общее число вершин А и В.
Поиски более эффективной процедуры в прошлом успеха не имели, хотя некоторые факты наводили на мысль о существо-
вании более эффективного метода. Во-первых, хорошо известно, что пересечение двух многоугольников на плоскости может быть найдено за время, линейное относительно общего числа вершин [2]. Во-вторых, некоторые аналогии между плоскостью и пространством существуют — так, выпуклые оболочки множеств из п точек [3] и максимумы в множестве из п векторов [4] могут быть найдены за время O(nlogn) как в случае двух, так и в случае трех измерений. Но несмотря на это, никакого обобщения алгоритма построения пересечения многоугольников найдено не было.
Правда, для частных случаев уже в течение некоторого времени были известны методы с лучшими, чем квадратичные, оценками времени работы. В частности, после разработки алгоритма Ли — Препараты для локализации точки в плоском разбиении [5] было осознано1), что пересечение двух многогранников может быть найдено за время О^пДо^пУ если вершина одного из них лежит внутри другого.
В свою очередь (см. [1], с. 162), Шамос предположил, что* пересечение многогранников может быть получено как шаг слияния алгоритма типа «разделяй и властвуй» для пересечения полупространств.
В данной статье мы предлагаем алгоритм решения задачи о пересечении двух многогранников за время O(nlogn). Алгоритм проверяет, не является ли искомое пересечение пустым, и если нет, полностью строит его. Подход основан на том, что если известна какая-нибудь точка р искомого пересечения, само пересечение можно получить, опираясь на соображения геометрической двойственности. Конкретнее, оба исходных многогранника преобразуются в многогранники, геометрически двойственные им относительно точки р, а выпуклая оболочка объединения последних, которая может быть найдена за время O^nlogn), двойственна многограннику, являющемуся пересечением исходных (разд. 3). Когда такой точки р в нашем распоряжении не имеется, мы можем с помощью известной техники за время O(nlogn) проверить, является ли искомое пересечение непустым, и если так, найти одну из его точек (разд. 4). Описанный алгоритм использует представление многогранников посредством весьма удобной структуры, так называемого реберного списка с двойными связями. Последний может быть получен из более привычного представления (вырабатываемого алгоритмом построения выпуклой оболочки) за время, линейное относительно числа вершин (разд. 2).
9 Частные сообщения (М. И. Шамос — Ф. П. Препарата, май 1976); см. также [1], с. 160.
ОПИСАНИЕ РЕБЕРНОГО СПИСКА С ДВОЙНЫМИ СВЯЗЯМИ,ПРЕДСТАВЛЯЮЩЕГО ПЛАНАРНЫЙ ГРАФ
Пусть У = {уь ..., ^4 и £ = {еь ..., ет^—соответственно множества вершин и ребер планарного графа, уложенного на плоскости без скрещивания ребер. Будем рассматривать следующее представление графа (V, £). Каждой вершине у/е К соответствует ячейка //[/] массива //[1:п], содержащая указание на начальный элемент циклического списка ребер, инцидентных вершине У/, упорядоченных в соответствии с их расположением вокруг у/ при движении против часовой стрелки. Указанные списки реализуются посредством двух массивов: VERTEX [1:2m] и NEXT [1:2m], так что элементы списка имеют формат (VERTEX [/], NEXT [/]). Описанное представление графа (V, £) в точности совпадает с тем, которое вырабатывается алгоритмом Препараты и Хона [3], строящим выпуклую оболочку множества точек в трехмерном пространстве. Это естественно — поверхность выпуклого многогранника топологически представляет собой планарный граф. Мы будем называть описанную совокупность списков вершинно-реберным представлением планарного графа.
Хотя вершинно-реберное представление — одно из наиболее употребительных представлений планарных графов, у него есть тот недостаток, что двойственные графы (т. е. графы, вершины которых отвечают граням исходных графов) получаются из пего не сразу. Для этой цели потребовалось бы грань-реберное представление исходного графа, в котором для каждой грани имелось бы указание на циклически упорядоченный список окружающих ее ребер.
Более удобным для этой цели является другое представление, которое мы будем называть реберным списком с двойными .связями (РСДС), из которого мы сможем одинаково легко получать информацию как о ребрах, инцидентных вершине, так и о ребрах, окружающих грань. Сейчас мы. опишем РСДС, а в приложении укажем алгоритм, позволяющий получать РСДС из более привычного вершинно-реберного представления за время, пропорциональное числу вершин графа.
Основной компонентой РСДС планарного графа (V, £) является реброэлемент. Между ребрами и реброэлементами имеется взаимно однозначное соответствие, и, таким образом, каждое ребро представлено в РСДС ровно один раз, в то время как в вершинно-реберном списке каждое ребро встречается дважды. Реброэлемент состоит из четырех информационных полей: VI, V2, £1 и £2 и двух полей указателей: £1 и £2. Соответствующая структура данных легко обеспечивается посредством шести массивов с теми же именами, состоящих из
иг ячеек каждый. Значения этих полей следующие. Поле VI содержит имя вершины, являющейся началом данного ребра, в то время как V2 содержит имя конца; тем самым ребру придается некоторая ориентация. Поля F1 и F2 содержат имена граней, лежащих соответственно слева и справа от данного ребра,ориентированного от VI к V2. Указатель Р\ (соответственно Р^ указывает на реброэлемент, содержащий первое по счету (если двигаться против часовой стрелки) после VI (V2) ребро из числа расположенных вокруг вершины VI (соответственно V2). В качестве имен граней и вершин могут быть взяты целые числа.
В качестве примера на рис. 1 показаны фрагмент графа и соответствующий фрагмент РСДС.
Теперь легко понять, как можно извлечь из РСДС последовательность ребер, инцидентных данной вершине, или последовательность ребер, окружающих данную грань. Пусть граф имеет п вершин и f граней. Введем два массива: 7/V[l:n] и НР^:П адресов начал списков вершин и граней — эти массивы могут быть заполнены путем просмотра массивов VI и Р\ за время О(п). Следующая прямая процедура VERTEX (/) вырабатывает последовательность ребер, инцидентных вершине V/, в виде последовательности адресов, хранящихся в массиве А.
VERTEX(/)
begin АЩ^ао^а^НУЩД^г
If У1[а]=/then а<-Р1[а] else a<-P2[a]
While a # a0 do
begin A[i]<-a
If Vl[a]=/thena-Pl[a]elsea<-P2[a]
i <- i 4-1
end
end
Очевидно, что время работы процедуры VERTEX (/) пропорционально числу ребер, инцидентных щ. Аналогично можно построить процедуру ЕАСЕ(/), вырабатывающую последовательность ребер, окружающих грань //; для этого в описанной выше процедуре VERTEX (/) массивы HV и VI нужно заменить соответственно массивами HF и F1. Отметим, что процедура VERTEX отыскивает ребра, двигаясь вокруг вершины против часовой стрелки, в то время как процедура FACE отыскивает ребра, двигаясь вокруг грани по часовой стрелке.
В приложении к статье будет показано, что РСДС планарного графа можно получить из его вершинно-реберного представления за время, линейное относительно числа вершин.
НАХОЖДЕНИЕ ПЕРЕСЕЧЕНИЯ ДВУХ МНОГОГРАННИКОВ ВСЛУЧАЕ, КОГДА ОДНА ИЗ ТОЧЕК ПЕРЕСЕЧЕНИЯ ИЗВЕСТНА
Пусть два выпуклых многогранника А и В в трехмерном евклидовом пространстве представлены посредством их РСДС. Множества вершин А и В обозначаются соответственно через Fa и Ув, а множества граней — через Fa и FB. С каждой вершиной v е УА w Ув связываются три ее декартовы координаты яДр), %2(v), x3(^)- С каждой гранью f е Fx^j FB связывается ограниченное плоскостью этой грани полупространство, содержащее соответствующий многогранник. Это полупространство описывается неравенством
«1(f) *1 + п2(Ь х.2 + n3QV$ -V d (J)> о, (1)
где n,i(f), П2^, ^(f) и d(f)— четыре параметра, характеризующие грань /, нормированные так, что значение d^f) равно 1, О, или —1. Наша цель — получить РСДС многогранника, являющегося пересечением многогранников А и В, вместе с координатами его вершин и параметрами граней. -
В данной части наших рассмотрений считается, что известна некоторая точка пересечения многогранников А и В (задача о нахождении такой точки будет обсуждаться позже.) Без ограничения общности можно принять эту точку за начало координат— если она им не является, то достаточно параллельного переноса координат, чтобы она им стала. Будут рассматриваться два случая: первый, когда начало координат является внутренней точкой обоих исходных многогранников, и второй, когда это не так. В первом случае начало координат является, очевидно, внутренней точкой искомого пересечения. В этом случае каждая грань f г Fx^ FB определяет полупространство, описываемое неравенством вида п;фх\ + п2фх2 + пгфх3-^ \"^ 0. (Иначе говоря, для всех граней f константы d(f^ равны 1.)
Теперь перейдем от многогранников А и В к двойственным им многогранникам A(D) и B(D). Многогранник A(D), двойственный многограннику А, получается из А следующим образом: коэффициенты пх^, n^V ^з(/) каждой грани / многогранника А интерпретируются как координаты соответствующей вершины Vf многогранника A<D\ а координаты %i(v), х2(^), x3(v) каждой вершины у многогранника А—как коэффициенты соответствующей грани /у многогранника A(D\ Это преобразование можно трактовать как обычную двойственность относительно единичной сферы с центром в начале координат, при которой точки, расположенные на расстоянии / от начала координат, преобразуются в плоскости, расположенные на расстоянии 1// от начала, и наоборот ([7], с. 233 9). Многогранник, двойственный В, устроен аналогично.
Отметим, что описанный переход к двойственному многограннику оказывается возможным лишь потому, что начало координат является внутренней точкой исходного многогранника, В этом случае двойственный объект также является выпуклым многогранником, содержащим начало координат. Если начало координат не является внутренней точкой, то в некоторых из неравенств (1) значения d^ будут равны 0 или —1, а для таких полупространств мы не определили понятия двойственной точки.
Пусть Ед^ и I/bD) — множества вершин многогранников A(D) и B(D) соответственно. Нетрудно убедиться в том, что выпуклая оболочка объединения многогранников A(D) и B(D) представляет собой многогранник, двойственный пересечению многогранников А и В. Поэтому для того чтобы найти пересечение А и В, мы можем просто использовать алгоритм Препараты и Хона [3] для нахождения выпуклой оболочки множества вершин V^^V^ за время O(nlogn), а затем переходом к двойственному многограннику получить искомое пересечение.
Теперь перейдем к второму из рассматриваемых случаев, когда начало координат не является внутренней точкой пересечения многогранников А и В. В этом случае для некоторых граней f е Ед w Fb значение d^f) равно нулю. Это в точности те грани, плоскости которых проходят через начало координат. Пусть F'— множество всех таких граней. Каждой грани f' F' соответствует неравенство вида -
пх (Г) хх + и2 (Г) х2 + и3 (П Хз > о, . (2) получающееся из неравенства (1) заменой d^ на 0. Точка х, являющаяся внутренней для пересечения Аг>В, должна
’) См. также Емеличев В. А., Ковалев М. М., Кравцов М. К. Многогранники, графы, оптимизация.—М.: Наука, 1981, с. 26.— Прим, перев.
строго удовлетворять всем неравенствам вида (1) для jF s Fa w FB (строго — это значит не обращая ни одного из них в равенство). Такая точка х существует тогда и только тогда, когда существует точка, строго удовлетворяющая всем неравенствам вида (2) для f'^F'. Чтобы установить, существует ли такая точка, мы вначале положим х3 = 1 и запишем неравенство (2) в его строгом варианте в виде
П1(Г)^1 +и2(Л^2 > — Из (Г)-(2')
Нормируя коэффициенты, можно сделать так, чтобы значение —п3^ было равно 1, 0, или —1.
Вопрос о разрешимости системы неравенств (2х), где f'^F', представляет собой двумерную задачу того же типа, что и та трехмерная задача, решением которой мы занимаемся. Система неравенств (2') определяет двумерное выпуклое множество, которое может быть найдено (см. [1], с. 158) за время O^nlogn). На самом деле это множество можно вычислить быстрее, разбив систему неравенств (2') на две подсистемы в соответствии с тем, к какому из двух многогранников относится каждое неравенство; каждая из этих систем определяет многоугольник в плоскости х3=1, а искомое выпуклое множество является пересечением этих многоугольников. Известно [1], что нахождение этих многоугольников и их пересечения осуществляется за время О(м).
При отсутствии решений в описанном выше случае нужно проверить также случай х3 =—1. Эта задача во всем аналогична предыдущей, только во всех неравенствах (2х) надо заменить —П3(П на ^(Г)-
Допустим, что оказалось возможным описанным выше способом найти точку х, строго удовлетворяющую всем неравенствам вида (2) при значении х3, равном 1 или —1. Очевидно, неравенства останутся выполненными, если вектор х умножить на любой положительный скаляр. Чтобы добиться строгого выполнения всех остальных неравенств вида (1), все правые части которых равны 1, мы просто выберем этот скаляр таким, чтобы все левые части указанных неравенств сделались меньше 1. Полученная точка является внутренней точкой множества АглВ.
Если невозможно строго удовлетворить всем неравенствам системы (2), то любое из тех неравенств, которые не допускают строгого выполнения, скажем
«1 (Г) *1 + «2 (Н) *2 + «3 (Г) -^3 = О, определяет плоскость, проходящую через начало координат и содержащую целиком пересечение АглВ. Поэтому искомое пересечение многогранников А и В можно найти, оставаясь в
пределах этой плоскости — задача, аналогичная той двумерной задаче, которую мы недавно обсудили. Она может быть решена, как мы видели, за время О^пУ
НАХОЖДЕНИЕ ТОЧКИ В ПЕРЕСЕЧЕНИИ ДВУХ МНОГОГРАННИКОВ
В предыдущем разделе было показано, что можно найти пересечение двух выпуклых многогранников, если известна одна из точек искомого пересечения. Поэтому, если искомое пересечение непусто, то все, что требуется — это найти одну такую точку. Цель данного раздела состоит в решении этой задачи.
Рис. 2. Выпуклый многогранник А, кольцеобразная область R (А) и многоугольник А* (проекция многогранника А).
Пусть А — выпуклый многогранник. Опорной плоскостью многогранника А называется плоскость, имеющая с многогранником А хотя бы одну общую точку и такая, что все внутренние точки многогранника А лежат по одну сторону этой плоскости. В дальнейшем мы будем рассматривать лишь такие опорные плоскости, которые параллельны оси х3; для краткости мы будем называть их вертикальными. Пересечение многогранника А с его вертикальными опорными плоскостями представляет собой, вообще говоря, некоторую кольцеобразную область Я (А) поверхности многогранника А, которая в невырожденных случаях сводится к циклу из ребер. Проекция R (А) на плоскость (xi,x2) представляет собой выпуклый многоугольник А* (рис. 2), являющийся выпуклой оболочкой проекции многогранника А на эту плоскость.
Область R(X) легко получить из РСДС1) многогранника А. Это делается следующим образом.
9 Здесь и далее имеются в виду РСДС, дополненные списками координат вершин и параметров граней.—Прим, перев.
Пусть fi — произвольная грань многогранника А. Нормалью к ней является вектор (ni^, n^fiY n^^f^Y Этот вектор перпендикулярен грани ft и направлен внутрь многогранника А. Если е — ребро многогранника A, a fi и fj — прилегающие к нему грани, то ребро е входит в R (А) в том и только в том случае, когда выполняется условие
Пз(М-»з(М<0.(3)
Поэтому мы будем просматривать множество ребер многогранника А и проверять условие (3) до тех пор, пока не будет найдено ребро е, принадлежащее R(A). После этого выберем одну из двух вершин ребра е— назовем ее и. Среди ребер, инцидентных вершине у, имеются одно или два новых ребра, отличных от е и также принадлежащих R(А). Их легко найти, применив к РСДС процедуру VERTEX, описанную выше. Таким образом мы сможем продвигаться в построении R(AY пока оно не завершится возвратом к исходному ребру е. После вычисления R(A) получение А* тривиально. Все описанные действия могут быть выполнены за время, пропорциональное числу | Уд] вершин многогранника А.
Основываясь на сказанном, опишем первые два шага алгоритма нахождения точки пересечения.
Пусть даны многогранники А и В с общим числом вершин |Уа| + Цв| = п.
Шаг 1. Найти А* и В*. (Этот шаг выполняется за время о (Л).)
Шаг 2. Используя алгоритм Шамоса — Хоя для пересечения многоугольников [1], найти пересечение А* и В*. Если это пересечение пусто, то остановиться, ибо пересечение А и В также пусто. В противном случае выбрать в пересечении А* и В* какую-либо точку р*. (Согласно [1] этот шаг выполняется за время O^nY^
При проектировании многогранника А на многоугольник А* точка p* = (xi(p*), х2(р*)) является, вообще говоря, образом некоторого вертикального отрезка многогранника А, который в некоторых случаях вырождается в единственную точку. В любом случае прообраз р* в А легко находится за время О(п)— это делается следующим образом. Для каждой грани f^Fx определим координату хз той точки плоскости этой грани, которая проектируется в точку р*. Значение указанной координаты %з есть
а(П=-ЫПхх (р*) + М2 (D Х2 (р*) + d(П)/«зф.
Положим
а'= min a(f) и а" = max а^).n3(f) < Оn3(f) > О
Значения о/ и a", а' ^ а", представляют собой координаты х3 концов отрезка, являющегося прообразом точки р* в многограннике А. Аналогично определяются значения 0' и 0", 0' ^ ^\ для соответствующего отрезка в многограннике В. Если указанные два отрезка перекрываются, то любая точка их общей части принадлежит также и непустому пересечению А и В. В противном случае примем (без ограничения общности), что а" > 0'.
Определим ближнюю сторону многогранника А (соответственно многогранника В) как множество всех тех граней fj многогранника А, для которых ^3(f/)<0 (соответственно всех тех граней gi многогранника В, для которых na(gi)>0y Ясно, что обе ближние стороны можно получить за время О(|Га[ + + |Vb I)— О(п) прямым просмотром РСДС многогранников А и В. Проектируя ближние стороны А и В на плоскость (хьх2), мы получаем два плоских прямолинейных графа (ППГ) Ga и GB, имеющих множества вершин Уд и /в соответственно. Отсюда имеем следующий
Шаг 3. Если прообразы точки р* в многогранниках А и В при х3-проектировании имеют общую часть, остановиться, ибо любая точка этого пересечения входит в АпВ. В противном случае получить графы Ga и Gb. (Прообразы р* находятся за константу времени1); графы GA и GB находятся за время О(<
Пусть D — замкнутая область плоскости, содержащаяся в пересечении А* и В*. Определим в точках и^ D функцию б (и), называемую Хз-расстоянием. Обозначим через а (и) (соответственно 0(и)) координату х3 точки, лежащей на грани ближней стороны многогранника А (соответственно многогранника В) и проектирующейся в точку и, и положим
б(ы) = а(м) — 0(м).
Займемся теперь анализом функции 6(и), определенной в области D. При взаимном наложении графов СА и GB в местах пересечения ребер одного из них с ребрами другого возникают новые вершины, которые мы для удобства назовем псевдовершинами. Обозначая множество полученных таким образом псевдовершин через V*, мы можем определить новый ППГ G*, имеющий множеством своих вершин Va^I^b о V*. Вершины из множеств Уд и Vb будут именоваться истинными вершинами.
Область D разбивается графом G* на подобласти. Заметим, что внутри каждой области разбиения, индуцированного графом Ga, функция а (у) линейна относительно координат (хь х2)
!) По-видимому, описка. Выше было сказано, что это делается за время О (п).— Прим, перев.
точки у; аналогично обстоит дело для функции р(у) и областей разбиения, индуцированного GB. Поэтому в каждой области разбиения области D, индуцированного графом G*, функция 6(и) = а(и)—р(у) линейна относительно переменных Xi(^) и x^Y Кроме того, функция а (у) выпукла вниз, а функция р(и) выпукла вверх; стало быть, 6 (у) —выпуклая вниз функция. Отсюда мы заключаем, что в одной из вершин графа G* достигается минимум функции 6.
Заметим, что мощность множества V* (а значит, и множества Иа о Ив о И*) может быть величиной порядка пл — в самом деле, нетрудно построить два плоских графа, имеющих по v вершин каждый и таких, что при их наложении возникнет (v— I)2 пересечений ребер.
Поскольку а(р*) = а", a р(р*)=|У, то в силу наших предположений 6(р*) = а" — р'> 0. Следовательно, пересечение А и В непусто тогда и только тогда, когда в некоторой точке ugD 6(у)^0. Поэтому мы либо находим такую точку, либо показываем, что min 6 (и) > 0.
USD
С этой целью прежде всего вычислим значения 6 в истинных вершинах разбиения G*, лежащих в области D. Это легко сделать, если для каждой вершины a^Vx известна область г (а) разбиения GB, в которой содержится а. Если г^ не является неограниченной областью разбиения плоскости, индуцированного GB, то г (а) соответствует единственной грани многогранника В и значение 6(a) легко вычисляется. Аналогично мы можем вычислить значение 6(6) в каждой вершине b г Ев из области D.
Нахождение области г (а) заданного разбиения G, содержащей точку а, называется [5] локализацией точки а в плоском разбиении G. Его можно выполнять для каждой точки отдельно. Вместе с тем недавно был разработан более быстрый алгоритм [6] для одновременной локализации всех точек заданного множества. В соответствии с этим методом элементы Ед могут быть одновременно локализованы в областях разбиения плоскости, индуцированного GB, за время О((с|Ид| + |VB|) X Xlog (|Ед| • 1 Ев | )), где с — некоторая постоянная, и, наоборот, элементы Ев могут быть одновременно локализованы в областях разбиения, индуцированного GA, за время О ((| VA| + с] V'|) X X log ( |Уд | • | Vg |)). Таким образом, все истинные вершины можно локализовать за время O((|EA| + |VB|)log(|VA| • |ЕВ|))= = 0 ((1ИА | + l^eD^d^Al • I^bD) = O(nlogn). Как только вершина, скажем из Ед, локализована в GB, координаты х3
ее прообразов в А и В вычисляются за константу времени. Сведем все это в следующий
Шаг 4. Локализовать каждую истинную вершину Од в разбиении, индуцированном Ов, и наоборот. (Это можно сделать за время О (/г log/г) при помощи алгоритма из работы [6].) Если в области D истинных вершин нс имеется, то перейти к шагу 7. В противном случае вычислить значение функции 6 в каждой истинной вершине графа G*. (Это может быть сделано за время О^пУ^
Рис. 3. Нахождение точки пересечения в случае, когда 6(р*)> 0 и 6(и)^ 0.
Допустим сначала, что в D имеются истинные вершины, и предположим, что для одной из истинных вершин и (скажем, u^Vx) имеет место 6(и)^0. Вертикальная прямая, проходящая через вершину и, пересекает ближнюю сторону многогранника А в некоторой его вершине а, а ближнюю сторону В — в некоторой точке. 6, причем очевидно, что a(y) = x3(<z)^ х3(6) = Р(а). Итак, имеются точка р*, для которой а(р*)> >Р(р*), и точка и, для которой а(у)^0(у). Рассмотрим теперь плоскость, параллельную оси х3 и проходящую через точки р* и у. Пересечение этой плоскости с многогранниками А и В показано на рис. 3 (из которого ясно, как определяются точки р' и р"У В силу выпуклости отрезки ар' и Ьр" целиком содержатся в А и в В соответственно, и, стало быть, точка их пересечения q принадлежит пересечению А и В. Координаты точки q могут быть получены прямым вычислением.
Допустим теперь, что 6(у)>0 во всех истинных вершинах у е Уд w У в- Пусть у*— такая истинная вершина, для которой 6(v*) = min{6(y)| у г Уд о Ув}. Проверим в цикле каждое из ребер А, инцидентных у*, чтобы узнать, убывает ли функция 6 при движении вдоль какого-либо ребра в направлении от вершины у*. Если окажется, что она не убывает ни на одном из
инцидентных у* ребер, то в и* достигается абсолютный минимум функции 6, и поскольку 6(у*)> 0, многогранники А и В не пересекаются.
Шаг 5. Получить и*. Если в у* достигается абсолютный минимум и 6(у*)>0, то остановиться, ибо Аг>В = 0; если 6 (у*) > 0, но абсолютный минимум в у* не достигается, перейти к шагу 6; если 6(и*)^0, то получить точку ^еАлВ как пересечение диагоналей трапеции, образованной прообразами точек р* и у* в многогранниках А и В при х3-проекции. (Вся эта работа может быть проделана за время O^nY^
Остается рассмотреть случай, когда 6(у*)>0, но в точке у* не достигается абсолютный минимум. В этом случае 6 убывает при движении вдоль некоторых из инцидентных у* ребер. Пусть е — одно из таких ребер; выделим на нем некоторую псевдовершину р. (Хотя бы одна такая псевдовершина должна существовать, иначе возникло бы противоречие с минимальностью значения 6 (у*).) Пусть г (у*) — та область разбиения GB, которая содержит точку у* (известная из шага 4); чтобы найти псевдовершину р, проверим в цикле каждое из ребер GB, окружающих г (у*), и найдем среди них то, которое пересекает е1). Очевидно, б (р) < 6 (у*) .
Шаг 6. Выделить псевдовершину р, соседнюю с у* и такую, что б(р) < б (у*). Если б(р)^О, то, поскольку 6(у*)>0, имеется точка ^еАпВ, которую можно найти так же, как на шаге 5; в противном случае перейти к шагу 7.
Теперь мы должны рассмотреть два случая. Первый — когда в области D нет истинных вершин (шаг 4); в этом случае границы многоугольников А* и В* должны пересекаться, так что точка р* может быть выбрана на пересечении этих границ и поэтому является псевдовершиной. Второй — когда 6(р)>0 (шаг 6). В обоих случаях применяется так называемый блуждающий алгоритм, который «блуждает» среди псевдовершин графа G* и затрачивает на это О(м) времени. Итак, имеем
Шаг 7. Если не удалась проверка на шаге 4, то использовать точку р*, а если не удалась проверка на шаге 6, использовать точку р в качестве отправной точки блуждающего алгоритма (который будет описан ниже), чтобы либо найти псевдовершину р, такую, что б(р)^О, к которой может быть применен метод шага 5, либо найти псевдовершину рт, такую, что
’) Может оказаться, что у* принадлежит более чем одной области разбиения Gb ; тогда может потребоваться проверка ребер всех таких областей, чтобы найти то единственное, которое пересекает е. В любом случае число таких проверок есть О (п).
^{pm)= min б (и). (Ниже будет показано, что работа блуж- и е V*
дающего алгоритма выполняется за время О(п).)
Прежде чем описать блуждающий алгоритм, заметим, что отправной точкой для него служит псевдовершина — либо р, либо р*, в которой значение функции 6 меньше, чем в любой истинной вершине. Представим себе (для нужд доказательства) линию уровня функции 6, проходящую через точку р или р*; охватываемая ею область R ^ D содержит псевдовершину ртт в которой достигается минимум функции 6. Заметим, что область R должна быть выпуклой.
Пусть, далее, Ел и Ев — множества тех ребер графов Ga и GB соответственно, которые пересекают область R. Поскольку область R не содержит истинных вершин, каждое ребро из. Ex <j £в должно разбивать область R на две выпуклые области. Никакие два ребра из Ех не могут пересекаться внутри R (а также никакие два ребра из ^в)- Далее, функция 6 выпукла вниз вдоль любого ребра из Е'к w Е'^ и ее минимум должен лежать где-то внутри R, поскольку граница R — линия уровня функции 6. Мы будем называть точку ребра е^Е'х^ Е^ в которой функция 6 имеет минимальное значение, точкой минимума ребра е. Она единственна, за исключением вырожденных случаев. Значение функции 6 в этой точке будет называться значением минимума ребра е и обозначаться через min(e).
Допустим на время, что грани обоих многогранников являются треугольниками, и, если это не так, что мы их триангулировали. Заметим, что в триангулированных многогранниках число граней остается не превосходящим удвоенного числа п вершин, а число ребер — не превосходящим утроенного числа вершин, так что они остаются величинами порядка п.
Каждая псевдовершина р', лежащая в R, является пересечением двух ребер: еа е Ех и еь^Е^ и, стало быть, является общей для четырех областей разбиения G*. Объединение этих четырех областей называется короной точки р' и представляет собой геометрическое место точек, которые могут быть достигнуты из точки р' без пересечения какого-либо ребра. Заметим, что ребро еа является общим для двух треугольных граней графа GA, объединение которых представляет собой четырехугольную область; аналогичное замечание сохраняет силу и для еь^ Поэтому корона является пересечением двух этих четырехугольных областей и ее граница содержит либо 8, либо 10, либо 12 псевдовершин (см. рис. 4, а, б, в, соответственно). Факт ограниченности числа вершин в короне есть следствие допущения о триангулированности многогранников. Если некая псевдовер-
шина р' задана как пересечение ребер еа и еь, то пары треугольников, прилегающих к этим двум ребрам, могут быть получены за константу времени из РСДС, описывающих А и В соответственно. Как только эти треугольники получены, псевдовершины короны также можно получить за время, ограниченное константой, как и значения 6 в этих вершинах. Теперь опишем
Продвигающий шаг блуждающего алгоритма; Указатель перемещается из текущей псевдовершины р' в ту псевдовершину р" короны точки р', в которой достигается минимальное значение функции 6.
а6в
Рис. 4. Возможные виды короны.
Разумеется, описанный шаг не осуществляется и алгоритм завершает работу, если в точке р' достигается минимальное значение 6 вдоль ребер еа и еь, пересекающихся в р\— в этом случае, если 6 положительно, то исходные многогранники не пересекаются (случай (iii) разд. 5). В противном случае (если 6 убывает вдоль е'а или е^ продвигающий шаг осуществляется и на практике может выполняться без просмотра всей короны точки р' простым следованием по цепи ребер, вдоль которых 6 убывает.
Дополнительное упрощение алгоритма состоит, как будет показано, в том, что многогранники А и В не нуждаются в триангуляции перед применением блуждающего алгоритма. В действительности нужно триангулировать лишь те грани 6А и 6В, которые фактически проходятся блуждающим алгоритмом. Конкретно, пусть псевдовершина pf, являющаяся пересечением ребер е'а и е', — текущая псевдовершина (см. рис. 5). Обращаясь для-простоты лишь к многограннику А, рассмотрим /1 и И— две грани 6А, имеющие общим ребро е'а. Из РСДС графа бдмы можем получить за константу времени ребра еа и е'", следующие за е'а в последовательностях ребер, окружающих грани fi и f2 соответственно. Если fi не является треуголь-
р' является пересечениемр' является пересечением
р' является пересечением
р' является пересечением
ником, то соединим несовпадающие концы еа и eV и сделаем то же самое для f2. Введение любого такого нового ребра в РСДС требует модификации двух указателей и использования двух новых ячеек для построения соответствующей записи. Все это может быть также сделано за константу времени. Мы предполагаем, что описанная вставка в действительности не является необходимой, но существующее доказательство оценки времени в ней.
Поскольку блуждающий алгоритм перемещается от р7 к рП только при 6 ^рП^ < 6 (р'), очевидно, что алгоритм завершит работу в некоторой точке рт, такой, что 6(р/п) является минимальным значением 6 для всех псевдовер- шин из R. И хотя общее число псевдовершин в R может быть величиной порядка и2, мы сейчас докажем, что число продвигающихся шагов нс превосходит О(п).
Напомним, что для ребра е из 6А или GBmin(e) обозначает наименьшее значение функции б на ребре е. Пусть пссвдовершина
ребер е^еЕ^ и е^гЕ^. Положим m(p') = max(min(e'), min(^)). Очевидно, 6(р'^^т^р'у
Лемма 4.1. Пусть р' — псевдовершина из R. Если щ^р^^ = 6 (р™), ТО б (р') = т (р^ = 6 (pm) .
Доказательство. Допустим противное. Пусть а7 и Ь7—ближайшие к р7 точки минимума ребер е' и е'ь соответственно (см. рис. 6). В силу сделанного допущения 6 (а') = 6(6') = = 6(pw); поэтому из соображений выпуклости заключаем, что функция 6 принимает тс же одинаковые значения во всех точках прямолинейного отрезка /, соединяющего точки а7 и 6'. Пусть «1 — ближайшая к а7 пссвдовершина из отрезка ребра е'^ заключенного между а7 и р7 (ах может совпадать с р'). Отрезок I пересекает область разбиения G*, прилегающую к а7а\. Функция 6 линейна в этой области и достигает своего минимального значения б(рш) в одной из ее внутренних точек — стало быть, она принимает это значение во всех точках рассматриваемой области. Но тогда 6(«i) = 6(pm), в противоречии с тем, что по предположению а7 — ближайшая к р7 точка минимума ребра е'а. Полученное противоречие завершает доказательство, и мы заключаем, что б(р') = 6(pm). □
Если 6(pz) > 6(р/п), то из леммы 4.1 следует, что m(pz)> >6(р/п). Когда блуждающий алгоритм применяется к псевдовершине р', он совершает переход в новую псевдовершину р".
Лемма 4.2. т (р") < т^р^.
Доказательство. Рассмотрим два случая.
по-прежнему пссвдовершинапо-прежнему пссвдовершинар' и р" не принадлежат одному ребру. Пусть р' является пересечением ребер е'а и е'ь, а р”— пересечением е"а и е"ь
по-прежнему пссвдовершина
по-прежнему пссвдовершина
(см. рис. 7, а). Пусть рт — это в R, в которой функция 6 достигает своего минимума. Мы утверждаем, что прямолинейный отрезок, соединяющий псевдовершины рт и р", нс может пересекать внутренность области / разбиения G*, границе которой принадлежат р' и р", нигде, кроме точки р". В самом деле, если бы имелись другие точки пересечения, то в силу выпуклости значения функции 6 в этих точках нс превосходили бы 6(р"). По
скольку минимальное значение
6 в области f достигается в Рис# $• К доказательству леммы 4.L псевдовершине р", это озна
чало бы, что во всех точках этой области функция 6 принимает одинаковые значения в противоречии с тем, что 6(р')>6(р"). Вследствие этого одно из ребер е"а или е”ь отделяет рт от р\ так что рт принадлежит заштрихованным областям на рис. 7, а.
Допустим без ограничения общности, что р', а стало быть и е', отделены от рт ребром е^. Тогда, поскольку в области R е^ не пересекается с е'^ прямолинейный отрезок, соединяющий рт с точкой минимума ребра е'а, пересекает ребро еа в некоторой точке а". В силу выпуклости min (ez) ^ б (а"), причем равенство возможно только в том случае, когда min (е') = б (ртУ Если имеет место равенство, то min (е^ = б (а") = rnin (^) = 6 (ртУ а поскольку, как было показано выше, m(p') > 6(рт), полу
чаем, что т^р^> min(e"). Если имеет место неравенство, т. с. если min (ez) > б (а"), то поскольку по определению m(pz)^ ^min(e'), а б (я") ^ min(e"), получаем, что опять-таки m(pz)> >inin (еД
Рассмотрим два подслучая.
Псевдовершина р\ а стало быть и ребро егъ, также отделены от pm ребром е". Тогда точно таким же рассуждением устанавливаем, что m^p^ > min(^), и, стало быть, т(р')> > m (р^ = max (min (^е^ min (^)).
а
6
Рис. 7. К доказательству леммы 4.2.
Наоборот, р' не отделена от рт, как на рис. 7, а. Покажем, что min(^) ^ min (^ti), и, следовательно, m(p')>m(p"). Действительно, поскольку 6(р")— минимальное значение функции 6 на Д точка минимума ребра е"а или совпадает с р", или лежит в той части е'^ которая находится за пределами области
/ (см. рис. 7, а). Прямолинейный отрезок, связывающий точку минимума ребра е"а с рт, пересекает е'ь в некоторой точке bf,\ из соображений выпуклости 6 (6") ^ rnin (е"). Но 6 (6")^rnin(e')y откуда rnin (<?") ^ min(^), что и требовалось.
р' и р” принадлежат одному ребру. Пусть без ограничения общности р' является пересечением ребер ега и е'ь, а р" — пересечением еа и е'ь (см. рис. 7,6). По соображениям выпуклости ^ отделено от рт ребром е"(т- е. рт принадлежит заштрихованной области). Как и в случае (1), можно показать, что m(pz)^rnin(^) > min(^). Чтобы доказать, что inin(^)< ^Ynin(e^, заметим, что точка минимума ребра е" должна совпадать с р", ибо в противном случае в точке р" не мог бы достигаться минимум функции 6 в короне точки pf. Таким образом, m (р") = max (rnin (е"), min (^)) = min (^") < m(pz), что и требовалось. □
Теорема ,4.3. Число продвигающих шагов, выполняемых блуждающим алгоритмом, есть О(пУ
Доказательство. Мы показали, что при переходе блуждающего алгоритма из одной псевдовершины pz в другую значение пЦр') убывает с каждым шагом. Каждое значение величины пЦр') является значением минимума одного из ребер множества ^а^в* Следовательно, число различных значений, которые может принимать величина m(pz), не превосходит величины ^I + I^bL а последняя есть (Цпу Поэтому число шагов, осуществляемых алгоритмом, есть О^пУ □
Остается добавить, что поскольку время, затрачиваемое блуждающим алгоритмом, есть О(п), время, затрачиваемое всем алгоритмом, описанным в данном разделе, остается величиной порядка О^п log ny
5. ПРИМЕНЕНИЕ: НАХОЖДЕНИЕ РАЗДЕЛЯЮЩЕЙ ПЛОСКОСТИ
Описанный выше метод может быть использован для эффективного решения важной задачи линейной отделимости в трехмерном пространстве. Эта задача состоит в следующем: даны два конечных множества точек А и В; проверить, отделимы ли они посредством некоторой плоскости, и, если это так, найти одну из таких плоскостей.
Поскольку два конечных множества точек линейно отделимы в том и только том случае, когда их выпуклые оболочки не пересекаются [8], начнем с получения соответствующих выпуклых оболочек множеств А и В при помощи алгоритма Препараты— Хона [3]. Пусть |Д| + |В| = /г. Указанные выпуклые оболочки представляют собой два выпуклых многогранника А
и В с общим числом вершин | VA [ +1 VB ( ^ п. Их построение осуществляется за время O(nlogn). Применим к А и В алгоритм, описанный в разд. 4. Каждый раз, когда алгоритм объявит, что А и В не пересекаются, построим отделяющую плоскость.
Напоминаем, что А и В оказываются непересекающимися в трех исключительных случаях, о которых уже говорилось в разд. 4:
после проектирования /?(А) и /?(В) на плоскость (хьХг) многоугольники А* и В* не пересеклись (шаг 2);
после вычисления функции 6 во всех истинных вершинах графа G* оказалось, что 6 (и*) = min б (у) > 0 и. в и* до-
^А^В стигается абсолютный минимум (шаг 5);
после применения блуждающего алгоритма оказалось, ЧТО 6(рт)> 0.
В случае (i) достаточно найти прямую I, отделяющую А* от В*, поскольку плоскость, проходящая через / и перпендикулярная плоскости (хь х2), отделяет А от В. Прямая / может быть найдена за время 0(a) очевидной модификацией алгоритма Препараты — Хона для плоских выпуклых оболочек ([3], с. 90).
Случаи (ii) и (iii) можно рассматривать одновременно на основе следующих соображений. Вместо того чтобы строить одну отделяющую плоскость, мы строим геометрическое место отделяющих плоскостей и производим в нем выбор.
Пусть и — точка, в которой алгоритм заканчивает работу, определив, что А и В не пересекаются; очевидно, что или и = у*, или и = рт. Пусть далее и' и и" — прообразы (по отношению к хз-проектированию) точки и соответственно в А и в В. Допустим сначала, что и = и* и без ограничения общности примем, что и' является вершиной (из Ед). Рассмотрим цикл F граней, содержащих точку и'. Для каждой грани f^F перенесем вектор (rti^, nz(f), м3(/)) = n(f) в начало координат; напоминаем, что вектор n(f) нормален к грани f и направлен внутрь А. Множество направлений {n (f) | f е F^ определяет выпуклый конус Сд, такой, что любое направление, лежащее внутри него, является нормалью к некоторой опорной плоскости многогранника А. Теперь заметим, что при и — рт точка и' принадлежит некоторому ребру еа многогранника А и конус Сд, вырождается в плоский угол, ограниченный нормалями к двум граням многогранника А, прилегающим к ребру еа.
Выпуклый конус Св, отвечающий точке и", определяется аналогично с той лишь разницей, что векторы n(f) имеют противоположное направление. Если и = и*, то Св будет представлять собой невырожденный конус, или плоский угол, или полупрямую в зависимости от того, является ли точка и" вершиной
многогранника В, внутренней точкой его ребра или внутренней точкой его грани соответственно; если и = рт, то Св представляет собой плоский угол.
Решение нашей задачи дается пересечением СА гл Св . Заметим вместе с тем, что это пересечение состоит из единственного луча в двух следующих случаях:
когда и = рт — в этом случае указанный луч является общей нормалью к ребрам, содержащим точки и' и и" из А и из В соответственно;
когда и = и*, а и" — внутренняя точка грани многогранника В — в этом случае указанный луч нормален к упомянутой грани.
В остальных случаях (т. с. когда и = и*, и' — вершина, а и" либо вершина, либо внутренняя точка ребра) конус Сх не- вырожден, и, стало быть, пересекает одну из плоскостей х3 = 1 или х3 = — 1 по некоторому многоугольнику. Пусть без ограничения общности С а пересекает плоскость х3 = 1; соответствую- ций многоугольник может быть найден за время О (п) путем просмотра цикла/7 граней, содержащих вершину и'. Затем возьмем пересечение С в плоскостью х3 = 1 — это будет либо многоугольник, либо прямолинейный отрезок; в любом случае задача сводится к нахождению пересечения двух выпуклых многоугольников, осуществимому [1] за время О^п). Таким образом, мы сумели найти вектор, ортогональный к отделяющей плоскости; построение завершается требованием, чтобы искомая плоскость содержала точку, лежащую внутри отрезка и'и".
Итак, мы заключаем, что построение отделяющей плоскости двух множеств точек в трехмерном пространстве (если она существует) может быть выполнено за время О (/г log/г).
ПРИЛОЖЕНИЕ
Как было указано в разд. 2, вершинно-реберный список планарного графа представляет собой совокупность списков ребер (они будут называться входными списками ребер), хранящихся в массивах Я[1:п], VERTEX [1:2m] и NEXT [1:2т]. РСДС позволяет опознавать п циклов из ребер, располагающихся вокруг вершин (они будут называться циклами вершин), и f циклов из ребер, располагающихся вокруг граней (они будут называться циклами граней). Построение РСДС выполняется в два этапа. На первом этапе заполняются массивы VI, V2, Р1 и Р2 и тем самым строятся циклы вершин. На втором этапе порождаются имена граней и заполняются массивы F1 и F2 и тем самым строятся циклы граней.
Неформально, на первом этапе алгоритм работает следующим образом. Входные списки ребер просматриваются по
одному в порядке уьу2, . Vn. При просмотре входного списка ребер Uj ребро (у/, V/) заносится в РСДС только при i > /, благодаря чему каждое ребро заносится в РСДС лишь однажды. При этом каждое ребро (uj.UhY где 1г Cj, уже находится в РСДС, поскольку оно было занесено в него раньше, при просмотре входного списка ребер и и. Поэтому все, что требуется теперь, — это организовать в списке такие связи, чтобы ребро (у/, и^ очутилось на нужном месте в цикле вершины V/. Чтобы осуществить это, мы должны определить местоположение (и/, в РСДС. Используя дополнительную память размеров О^п), это можно сделать следующим образом. Предположим, что при просмотре входного списка ребер, i^ ребро (од, и/) подлежит занесению в РСДС (очевидно, h<Zj). Это ребро навсегда помещается в цикл вершины г)н и временно — в специальный список ребер вида (tv, и/), где г < /.
Элементы последнего списка (он называется временным списком У/) организованы в порядке, обратном порядку их появления во время работы алгоритма. Поэтому этот список можно обрабатывать при помощи одного-единственного указателя, хранящегося в массиве LAST [1 ; nY После этих приготовлений определение местоположения ^ь, V/) осуществляется легко — действительно, перед организацией цикла вершины и/, просмотрим временный список V/, начиная с LAST [/], и запомним местоположение (Vh, vj) в ячейке В [А] вспомогательного массива В[1:м]. Отметим, что последний массив — это лишь рабочая память, используемая многократно. Поэтому вся требуемая дополнительная память состоит из массивов LAST и В величины О^ каждый и рабочих переменных аь а0, и, t, г, I.
Теперь мы можем выписать алгоритм.
Построение циклов вершин
begin а <-\
for / <-1 step 1 until п do LAST[/W
Comment: вводится массив LAST.
for 7 <- 1 step 1 until ndo
begin /<-LAST[/]
"While / # Л do
begin p<-Vl[/]
S[p]^/
1*-Р2Щ
end \
Comment: Цикл 5—8 отыскивает местоположения всех ребер (ur, U/), г < /, путем просмотра временного списка V/ и запоминает их в массиве В. Этот шаг, очевидно, пропускается при / = 1.
?./<-//[/],
r«-VERTEXfz]
Ц-И г >j then
121 "begin Vl[a]«-/, V2[a]«-r
13‘HV[7>a0^a>M^t
14'P2[a]«-LAST[r]
15‘LAST[r]<-a
!6.a<_a + ^
end
Comment: Шаги 10—15 вводят цикл вершины vj.
else HV[/]*-ao*-B[r], и *-2
Comment: Шаги 8—17 обрабатывают первый элемент (Vr,vf) входного списка ребер и,. Если это ребро раньше не попадалось, то выполняются шаги И—16; в частности, занесение ребра в РСДС происходит на шаге 12. Переменная а0 используется для обозначения местоположения последнего элемента конструируемого цикла вершины.
18.19.20.21.22.23.24.25.26.18.19.20.21.22.23.24.25.26.27.28.27.28.29.end29.endWhile NEXT[t]#H[/] dobegin r^NEXT[r]r^-VERTEXp]If r > / then
18.
19.
20.
21.
22.
23.
24.
25.
26.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
27.
28.
29.
end
29.
end
begin Vl[a]<-/, V2[a]<-r P2[a]^-LAST[r] LAST[r] <- Pu[a0] <- a, a0*-a, и <-1 a *-a 4-1
end else
begin Рм[а0)«-В[г] ао«-5И, ««-2 end
end
PM[ao]^HV[/]
end
Comment: Шаги 18—29 завершают построение цикла вершины Vj. В частности, цикл 18—28 последовательно обрабатывает реб-
ра, инцидентные и/, и либо непосредственно заносит их в цикл вершины (шаги 21—26), либо включает их в него, организуя нужные связи (шаги 27—28). Шаг 29 замыкает цикл вершины.
Чтобы оценить время работы только что описанного алгоритма, заметим, что каждое ребро подвергается обработке ровно два раза: впервые — для занесения в цикл вершины и во временный список, а во второй раз — для правильного установления связей. Обе эти операции занимают константу времени, а поскольку число ребер есть О (/г), то и массивы VI, V2, Р\ и Р2 будут заполнены за время О (/г).
Чтобы завершить построение РСДС, мы должны построить циклы граней. Это делает приведенный ниже алгоритм, исходящий из частично составленного РСДС, выработанного на предыдущем этапе. Этот алгоритм будет просматривать РСДС, используя целочисленную переменную а в качестве счетчика. Если Fl[a] и F2[a] уже заполнены, то он переходит к следующему ребру; в противном случае он порождает имя новой грани (для этого используется счетчик s) и отыскивает окружающие ее ребра, заполняя соответствующие F-поля. Алгоритм заканчивает работу по выполнении 2m операций заполнения — для управления этим событием используется целочисленная переменная к.
Построение циклов граней
beginfor / <-1 step 1 until m doFl[/>F2[/>A
a^-s^-k^;
While k^ 2m do
begin If Fl[a] / A and F2[a] ^ A then a <- a 4-1
else begin If Fl [a] = A then и <- 1 else и <- 2
Fu[a]<-$, c <- Vu[a], HF[s]<-a0<-a,
k^-k+X
a<-Pu[a]
While a # aQ do
begin If V1 [a ] = c then и <- 2 else и <- 1
Fu[a] <- s, c <- Vu[a], к <- к 4-1
a^PuYa^
end
5^5 + 1
end end
end
Поскольку в описанном алгоритме каждое из полей Fl[a] или F2[a] подвергается обработке не более двух раз (один раз — для заполнения на шагах 6 или 10 и, возможно, еще
раз —для осуществления проверки на шаге 4), время работы алгоритма есть О (п). Эта и аналогичная оценка для алгоритма построения циклов вершин обосновывают наше утверждение о том, что РСДС может быть получен из исходного вершинно-реберного списка за время О (/г).
ЛИТЕРАТУРА
Shamos М. I. Computational geometry. — Dept. Comp. Sci. Yale Univ., 1977.
Shamos M. I. Geometric complexity. — In: Proc. 7th Ann. ACM Symp. on Theory of Computing, 1975, p. 224—233.
Preparata F. P., Hong S. J. Convex hulls of finite sets in two and three dimensions. — Commun. ACM, 1977, v. 20, p. 87—93.
Kung H. T., Luccio F., Preparata F. P. On finding the maxima of a set of vectors. —J. ACM, 1975, v. 22, p. 469—476.
Lee D. T., Preparata F. P. Location of a point in a planar subdivision and its applications. — SIAM J. Comput., 1977, v. 6, p. 594—606.
Preparata F. P. Location of a set of points in a planar subdivision. — In: Steps into computational geometry. — Rep. ACT-1, Coord. Sci. Lab. Univ, of Illinois, Urbana, 1977.
Й
Ewald G. Geometry: An introduction. — Belmont: Wadsworth, 1971.
Stoer J., Witzgall C. Convexity and optimisation in finite dimensions. I.— Berlin: Springer, 1970.
Улучшенные нижние оценки числаумножений/делений, необходимыхдля вычисления многочленов °
К. Шнорр >
Мы улучшаем некоторые нижние оценки, полученные Штрассеном и Липтоном. В частности, существуют многочлены степени п с коэффициентами 0, 1, которые нельзя вычислить менее чем с Vn/(4 1ogn) нескалярными умно- п
жениями/делениями. Для вычисления р (х) = ^ ехр [2л//26]хб требуется по 6 = 0
меньшей мере n/(121ogn) умножений/делений и по меньшей мере л/п!^ log /г) нескалярных умножений/делений. Мы указываем многочлены с алгебраическими коэффициентами, для которых требуется /г/2 умножений/делений.
ВВЕДЕНИЕ И ОБОЗНАЧЕНИЯ
Из результатов Белаги [1], Моцкина [6] и Винограда [10] п
известно, что для вычисления многочлена £ а.х1 с алгебраи-
чески независимыми коэффициентами си требуется п/2 умножений/делений. В использовавшейся ими модели вычислений допускается «бесплатное» использование произвольных комплексных чисел, или, как говорят, допускается произвольная комплексная обработка. Положение дел для многочленов с рациональными коэффициентами изучали Патерсон и Стокмейер [7], а также Штрассен [9]. Патерсон и Стокмейер доказали существование рациональных многочленов с высокой сложностью вычисления, тогда как метод Штрассена дал нижние оценки числа умножений/делений, необходимых для вычисления конкретных многочленов с рациональными и алгебраическими коэффициентами. Результаты Штрассена были впоследствии исполь-
!) Schnorr С. Р., Improved lower bounds on the number of multiplications/ divisions which are necessary to evaluate polynomials. — Theoret. Computer Sci„ 1978, v. 7, № 3, p. 251—261.
зованы в работах Липтона [4] 1), а также Липтона и Сток- мейера [5].
В данной статье мы улучшаем оценку степени, полученную .Штрассеном в его ключевой лемме 2.4. В результате мы оказываемся в состоянии улучшить нижние оценки Штрассена, а также следствия, выведенные в работах [4] и [5].
Пусть С — поле комплексных чисел, Q — поле рациональных чисел. Вычисление |3 есть последовательность шагов вычисления Si, i = l, ..., п, таких, что либо (1) St-ECu{i}, либо (2) St = S/ о Sk, где /, k < I и о ^{+, —, X, /Y причем Sk * 0, если о есть /. Число п шагов называется длиной вычисления, а рациональные функции Si, i=L п,— его результатами. Шаг ^Si = S/ о Sk называется нескалярным, если операция о есть X, a S/ и Sk оба не принадлежат С или если о есть /, a S^ не принадлежит С.
Пусть |3 — вычисление, и пусть ^е Г. Если у таково, что .^■(yj^O для всех результатов S, вычисления р, будем называть вычисление р у-доступным. В этом случае вычисление может быть выполнено в кольце С[[х — у]] формальных степенных рядов по степеням х— у и каждый его результат является обратимым элементом кольца С[[х — у]]. Очевидно, любое вычисление является у-доступным для всех, кроме конечного числа значений у е С, если константа ОеС не входит в число результатов вычисления. Мы отождествляем каждую рациональную функцию р^еС^ с ее степенным рядом р^ =
= X a-i (y)(x “ Y)\ если У не является полюсом р(х). •1=0
НИЖНИЕ ОЦЕНКИ ЧИСЛА НЕСКАЛЯРНЫХ ОПЕРАЦИЙ
В этом разделе мы пересматриваем применение результатов Штрассена в работе Липтона [4]. В результате мы доказываем п
существование многочленов р^= X biX1 с коэффициентами 1= 1
Z>/e{0,l}, вычисление которых требует не менее V^/(41ogn) нескалярных умножений/делений; нижняя оценка Липтона есть пх^]^ 18 log п). Наш метод может быть также применен к конкретным многочленам с рациональными и алгебраическими коэффициентами. В качестве примера мы улучшаем нижнюю оценку пх^ числа нескалярных умножений для многочлена
9 См. также Lipton R. J., Polynomials with 0-1 coefficients that are hard to evaluate. — SIAM J. on Computing, 1978, v. 7, № 1, p. 61—69.—Прим, ne pee.
п
У ехр (2л//2/) V, полученную в следствии 3.7 работы Штрас- /=о
сена, повышая ее до VMS log п), причем в отличие от Штрас- сена у нас допускаются не только умножения, но и деления. Таким же образом может быть улучшена полученная Штрас- сеном нижняя оценка пх1г числа нескалярных умножений для п
многочлена У 221хх; это оставлено читателю в качестве упражнения.
С каждой рациональной функцией р(х)еС(х) свяжем наименьшее число Анс(р(*)) нескалярных умножений/делений, достаточное для вычисления р^хУ
Зададимся некоторым числом и. Любое вычисление 0 для р^, содержащее w нескалярных операций, при w^u можно преобразовать, укрупняя нескалярные шаги за счет скалярных, в следующую рекуррентную схему: ,
Р-1=1, Р. = х,
Р (х) = ^У Cly 4- 1 iPi •(1)
i = -l
Здесь Pt, i = 1, . ., w,— результаты нескалярных шагов вычисления 0 и Pi• = 1 при w < i ^ и. Параметры ar, i, br, i е .С выражают скалярные шаги, а сг е {0, 1} определяют тип r-й нескалярной операции.
Теперь допустим, что 0 является у-доступным. Тогда Рг^^О для всех г и каждый результат Рг может быть представлен степенным рядом
Pr(x) = Pr(Y)(l + 2 Qrj(X-^, Г = 1, V,у>1
с ненулевым радиусом сходимости. Из соотношений (1) следует, что коэффициенты Qrj являются рациональными функциями параметров ак, i, bk, ь с,, где —1 ^ &, t ^ г. Поскольку мы предположили, что Рг(.^=#0 Для всех г, можно нормировать параметры ar,i, br,t схемы (1) таким образом, чтобы для всех r^ 1 имело место Pr^ = 1. Это можно сделать путем вычисления Рг/Рг(у) вместо Р, с одновременным подходящим изменением параметров ar, i, br, i. После такой нормировки получаем следующую рекуррентную схему для Qr,, (параметры аг,-ь
ьг,_\ исключены, Ро представлен в виде Р0(х) = у + (* — у) = = у + EQo.z(^-Y)y):
Qo, i —L Qo./ = O прИ />1,
/Г-1\
1 + Е Qr, j Iх — уУ = (1 + Е “г, i Е Qi, i (х — у)' X
j^lX i=0 j^l/
//г-!X
х I cr I1 + E ьг, t E Qu (* - уУ 1 +XX i=0/>1/
/ oo /Г —1\V\\
+ (1 — cr) I 1 + X I X br, i X Qi, j (% v/) j L
r=l,2,...,v. (2)
Отсюда следует, что Qr, j являются многочленами с целыми коэффициентами от параметров а^, и bk, z, С[ и что Qr, j не зависят от у и 0. Сравнивая коэффициенты при одинаковых степенях х — у, получаем следующие рекуррентные соотношения для степеней deg Qr, f.
degQr,/<max<p+1 + Е degQ<v /v: E/v = J. Xv=l ,’ v=l
P>1; 1</V, 0<zv<rj’ (3)
deg Qo, / = 0
— заметьте, что слагаемые, составляющие Qr,,, имеют, вообще говоря, вид
ат, i\Qi\, hcr П2 (^r, i^Qi^, fv) ’
где X jv = h Н^ 1, iv^ 1> 0^fv <г. Из соотношений (3) ин-
V=1
дукцией по г с легкостью получается, что
deg.Qr,i<2r, degQr,z</(2r — 1)+ 1.(4)
Далее подсчитаем число параметров в рекуррентной схеме (2). Имеются параметры аГ) i, где / = 0, ..., г — 1, и г = 1, ..., у, —
это дает Е г = Ду + 1)/2 параметров; имеется столько же па- г=1
раметров Ьг,, и, кроме того, и параметров с, — итого и2 + 2р
параметров. Теперь рассмотрим представление р^ в видеP^= t o,+i. iPt.
Тогда, представив р(х) степенным рядом
Р (*) = Р (у) + 2 Qi (х — у/,
имеем
и
Qi = S ^v+i> iQb i>i = 0
откуда имеем еще о 4-1 параметров ay+i, о, ..., ау^,у. Стало быть, общее число переменных у многочленов Q/, /= 1, 2, . составляет v2 + 3v+l, a degQ/^/(2и—1) +2. Таким образом, мы доказали следующее утверждение.
Теорема 2.1. Для каждого ueN существуют многочлены Qi ^ Z (zb ..., zm), где m = v2 + Зу + 1, степеней deg Q/ ^ ^/(2у—1) + 2, такие, что для любой рациональной функции р^^С(х), представимой рядом
Р М = Y-счШх — у/,
которая может быть вычислена некоторым ^-доступным вычислением с использованием не более о нескалярных операций, существуют значения у, е С переменных Zi, i = 1, ..., пг, такие, что для каждого / > 0
«/(y) = Q/(yi,-• yJ-
Одним из основных фактов линейной алгебры является следующий: если N > М, то любые М линейных форм из Z [Вь ..., B^] имеют нетривиальный общий нуль (6Ь ... .b^^Z^. Отсюда получается следующая лемма.
Лемма 2.2. Пусть Р\, Pq^Z\z\,zm\ — многочлены
степеней б^Рк ^с, к = \, ..., q, и пусть g ^ N удовлетворяет условию
(g + 9 А > (gc + m\ ,X q / х m )
Тогда существует многочлен HeZ [z/i, ..., yq\, Н ^ 0, степени deg Н g, такой, что Н(Р\, ..., Рд") = 0.
Доказательство. Будем рассматривать линейные формы от переменных Biv...,iq, получающиеся как коэффициенты при
одночленах от переменных zb ..., zm после раскрытия левой части соотношения
Вс1+ - +х^Вс1+ - +х^i Р1' Piq = 0. q 1 - qi Р1' Piq = 0. q 1 - q
Вс
1+ - +х^
Вс
1+ - +х^
i Р1' Piq = 0. q 1 - q
i Р1' Piq = 0. q 1 - q
Поскольку каждый из указанных одночленов от 2Ь ..., zm (gc + т\ имеет степень не выше gc, их число не превосходит ( I и, \ m /
Vgc + т\о
стало быть, имеется М = I ь ) таких линейных форм. Чис- \ m /
ло N переменных Btv... tq есть число наборов из q чисел (fb . . . , lq\ удовлетворяющих условию п + ... + iq ^ g; / а 4-
стало быть, М = |1. Следовательно, поскольку
V q )
gc + т тgc + т т
gc + т т
gc + т т
указанные линейные формы имеют нетривиальный общий нуль (biv..., iq | iv •iq ZN), дающий коэффициенты искомого многочлена Н е Z ^ух, ..., yqy
Теорема 2.3. Для любых положительных действительных чисел е, 6, а, связанных соотношениями qa — п^ bn и е ^ ^2.5п/(уа— п^ + 6, существует такое натуральное число п^^, зависящее только от Ь, что для любого натурального п^ п^^ и любых натуральных чисел бь j.., б^, 1 ^ 61 < 62 < ... ... < bq ^ п, существует многочлен Н е Z [уь ..., у,,], Н ^ О, степени deg Н ^^п^Д, такой, что для любой рациональной функции р (х) = X aixl ^ С (х), имеющей сложность Ьнс (р (я)) ^ t>0
^ V^/a — 2, выполняется соотношение Н (а^х, ..., а^ ^ = 0.
Доказательство. Можно считать, что ^jnja и п1+8— целые числа, так как в противном случае можно соответственно увеличить а и е. Положим k = Ajn)a. Рассмотрим представление р W = Hai (y)(^ ~ уУ- Тогда в соответствии с теоремой 2.1 су-
ществуют многочлены Q; е Z [гь ..., zmL где m = ^/а, степеней degQ/^2/^, такие, что если р^ допускает у-доступное вычисление с нс более чем к — 2 нескалярными операциями, то при подходящих у], ..., утеС «/(?)= Q/(?i, ..., ут) для каждого j >» 0. Применим лемму 2.2, полагая в ней Pi = Qs., i = 1, ..., q, g = n1+8 и с = 2nk. Тогда в соответствии с леммой 2.2, многочлен //^Z[yb ..., yq^ Н Ф 0, степени deg//^
^ п1+е, такой, что Н (Q^,..., <5^ = 0, существует, если выполнено условие
/п1+е + д\X 97/п1+е + д\X 97пх^г2пк + п]ап[апх^г2пк + п]ап[а(5)(5)
/п1+е + д\
X 97
/п1+е + д\
X 97
пх^г2пк + п]ап[а
пх^г2пк + п]ап[а
(5)
(5)
Укажем число По(6), такое, что (5) выполняется при всех п ^ по^Ь). Очевидно, что
X q )
и при п ^ 3
(пх+г2пк + п/а\ ,х ,
I) < (2. 1м)(2-5+8) n/a/(n/a)!,
X п/а /
поскольку nx^2nk + n/а ^ 2п-+ + п ^ (2. In)25+8 (заметьте, что а > 1, ибо aq > п и q ^ п). Отсюда, логарифмируя по основанию 2, получаем, что соотношение
q (1 + е) log п — q log q > (2.5 + е) (n/a) log (2. In)—
—- (n/a) log (n/a) + 2n/a (6)
влечет (5) (заметьте, что log(m!) ^ m log m— 2m).
В силу наших предположений e^2.5n/(ga— n) + b. Отсюда s(q— n/a) ^ 2.5n/a + 6(^a— n)/a, и, наконец, ^(l+e) — q ^ ^ (2.5 + e)n/a + №п[а, поскольку qa— n^bn. Таким образом, (6), а значит, и (5) выполнены, если п настолько велико, что (2.5 + е) log (2.1) + 2 < № logn. Поскольку в наших предположениях мы можем оценить е как1) е^ [2.5/6 +6], достаточно, чтобы было выполнено п^п0(6) для некоторого по, зависящего только от 6 2).
4 По-видимому, имеется в виду следующее: при доказательстве теоремы 2.3 можно без ущерба для общности рассуждений ограничиться значениями е ^ [2.5/6 + 6] . — Прим, перев.
Следствие 2.4 дает еще один вариант теоремы 3 из работы [7]:Следствие 2.4 дает еще один вариант теоремы 3 из работы [7]:шахшахл^п — 2.л^п — 2.
Следствие 2.4 дает еще один вариант теоремы 3 из работы [7]:
Следствие 2.4 дает еще один вариант теоремы 3 из работы [7]:
шах
шах
л^п — 2.
л^п — 2.
Таким образом, для каждого н^По^Ь) существует многочлен //^Z[yb ...» yq^ Н ф 0, степени deg//^n1+e, такой, что Н ^^х» ...» Qbq)”O. Следовательно, в соответствии с нашими исходными замечаниями для любой функции р(х)» допускающей у-доступное вычисление с не более, чем 1г— 2 нескалярными операциями, Н (яб1 (у),...» ^б^(У)) —0- Поскольку любое вычисление является у-доступным для всех, кроме конечного числа, значений уеС, условие АНс(р(*))^&— 2 влечет выполнение соотношения Н (аб1 (у),..., aSq (у)) = 0 для всех, кроме конечного числа, значений у. Поскольку функции zz6. (y) непрерывны по у в нуле, имеем Н (аб1 (0),..., a^q (0)) = 0, что завершает доказательство.
Применение теоремы 2.3 к случаю q = n» bL = i» а> 1, b = = min(a—1, 0.1/(а— 1)), е = 2.6/(а—1) влечет при п^п^^ существование многочлена //^Z[yb ..., у^» Н Ф 0, степени deg Н ^Г^1+81, такого, что Н (ах» ...» ап) = 0 при любых / п \
ах,..., ап» таких, что L нс I ^atxl I ^ V^/a — 2. С другой стороны, \z=o /
поскольку Н ^ 0, найдутся такие значения ах» ..., ап е Z, что 0 ^ at ^ deg Н ^ Г^г1+е1 и Н (ab . ..,an)=#0. Это влечет за собой•
Следствие 2.4. Пусть а > 1 и e = 2.6/(a—1). Тогда для каждого п» начиная с некоторого и0(а), существуют числа ах, ...
/ п \
.an е Z, такие, что 0 ^az ^Г^1+е1 ^ ^нс ( 2^V^/a—’2.
\ 1=0/
Следствие 2.4 содержит оценку коэффициентов аи но, к сожалению, по (а) возрастает при приближении а к 1.
Липтон [4] рассматривал функцию
Сол (и) = шахСол (и) = шах£нс( .Z б.хЧ: 6£е{0, 1}?.
Сол (и) = шах
Сол (и) = шах
Пусть at — произвольные натуральные числа, удовлетворяющие m — 1'
условиям 0 <; a£ < 2т, и a£= X Oi,v2v> где a,, ve{0, 1}—их v = 0
двоичные разложения. Тогда из соотношения
п. m—1п
ILaiX = Е 2V ^аЬчхг
Z = 1v=0i=l
следует, чтоследует, что^нс^нс<Сол(л)- т,<Сол(л)- т,(7)
следует, что
следует, что
^нс
^нс
<Сол(л)- т,
<Сол(л)- т,
— это лемма 2 из работы [4]. Теорема 2.5 улучшает соответствующую нижнюю оценку n1/4/(181ogn) теоремы 5 из [4].
^нс^нсТеорема 2.5. Для каждого п начиная с некоторого п^ существуют числа bi е{0, 1}, i = 1, ..., п, такие, что
^нс
^нс
> (V^/a — 2)/(1 + log гп1+еП),> (V^/a — 2)/(1 + log гп1+еП),' Доказательство. Из (7) и следствия 2.4 мы знаем, что при м^мо(а) существуют 6/^{0, 1}, i= 1, ..., п, такие, что
> (V^/a — 2)/(1 + log гп1+еП),
> (V^/a — 2)/(1 + log гп1+еП),
Т'НС 52^’
где а > 1 и 8 = 2.6/(а— 1). Возьмем а = 3.6; тогда, поскольку V« (1 + в) < 4, имеем
(V^/a — 2 )/(1 + log Гп'+П) >л/п!^ log м)
для всех достаточно больших п. Это доказывает теорему 2.5.
Далее используем теорему 2.3 для улучшения нижней оценки м1/3 числа нескалярных умножений для многочлена п
^ exp^ni/^^x1, полученной Штрассеном в следствии 3.7 ра- /=0
боты [9], но в отличие от Штрассена рассмотрим вычисления с делениями.
Следствие 2.6. Для каждого п, начиная с некоторого п^
LHC ( X ехР (2л//2у) vl > Vп/(8 log п) — 2. Ч=о/
Доказательство. Допустим, что
Лнс Г52 ехР (2л//2у) х1*) ^ Vп/(8 log п) — 2, м=о/
и выберем a, q, е, b в теореме 2.3 следующим образом: a = 81ogn, q = [ (п — 1)/(4 log п) J , 8=2.9, 6=0.1. Тогда при достаточно больших п aq ^ п(\ + 6), 8 ^ 2.5м/(^а — м) + + 6. Выберем 6/ = 1 + 4/ [log п J для /=1, ..., q; это дает bq ^ п. Тогда в соответствии с теоремой 2.3 для каждого достаточно большого п существует многочлен Н ^ Z [1/1, УчЪ Н ^ 0, степени deg Я ^ Г «3'91. такой, что Н (а61,..., ав(/) = 0, где а/ = ехр(2л1"/2/).
С другой стороны, имеем ([A:F] обозначает степень расширения К над полем А) *):
[Q (а61,... ,a6k): Q (a6l,..., а^,,)] > 24Liog » J >(п/2)4.
Поэтому в силу приведенной ниже леммы 2.7 не существует многочлена Н, Н^О, степени deg/7 < (п/2)4, такого, что Н(а61,..., a6q^ = 0. А это противоречит неравенству [/г3-9"|< <(п/2)4.
Лемма 2.7) (Штрассен [9]). Пусть ть .г^еС, и пусть для каждого k = 1, ..., q
(Q(tb..., т^'-ОСиT*_!)]>g.
Тогда не существует многочлена HeZ\_yb •••> УчХ» Н ^^,сте- пени deg Н < g, такого, что //(ть ..., т^) = 0.
Аналогично, полученная Штрассеном нижняя оценка п1/3 числа нескалярных умножений для многочлена £ 22 х может /=о
быть улучшена доЛнс|быть улучшена доЛнс|22/х/^ > V^/(8 log п)—2—для этого нужно
быть улучшена доЛнс|
быть улучшена доЛнс|
принять во внимание соответствующие оценки весов многочленов Qj из теоремы 2.1. Такие оценки весов были доказаны в лемме 2.4 работы [9]; они могут быть использованы при доказательстве нижних оценок для многочлена 2 22/х совместно с /-о
«леммой о ящиках» (см. леммы 2.2 и 2.10 из [9]).
Сверх того, теорема 2.1 может быть использована для улучшения результатов Липтона и Стокмейера [5]. При помощи их методов и улучшенной оценки степени из теоремы 2.1 получается, что для всех достаточно больших п любой многочлен /^С[х], имеющий п различных корней, обладает некоторым делителем g сложности Ьнс^ ^ V^/(6 log п\ К примеру, это имеет место для многочлена f = хп—1, хотя LHc^xn—1) = = О^пУ
НИЖНИЕ ОЦЕНКИ ОБЩЕГО ЧИСЛА УМНОЖЕНИЙ/ДЕЛЕНИЙ
Лемма 3.1 улучшает оценку степени, полученную Штрассе- ном в ключевой лемме 2.4 работы [9]. Похожее утверждение было доказано Зивекингом — утверждение 1 работы [8]. Однако Зивекинг доказывает этот результат для степени соответствующего алгебраического многообразия.
Лемма 3.1. Пусть р— вычисление с не более, чем v умножениями/делениями (скалярными и нескалярными). Тогда для каждого результата р(х) вычисления р существуют многочлены Pi е Z [2ь ..., г2У] степеней d^Pi ^ Зщ и для каждого у, такого, что вычисление р является ^ доступным, существуют числа уь • • • > ?2и (зависящие от у, но одни и те же для всех результатов вычисления Р), такие, что при всех i ^ 1
PANv--, ЧгА = аАч\
где at (у) — коэффициенты в разложении р^ = £ +• (y) U — v)‘-
Доказательство. Будем действовать индукцией по длине вычисления р. Базис индукции тривиален: если р(х)^С, положим Pi = 0 для всех I, а если р(х) = х, положим А = 1 и Л = 0 для всех Z > 1. Пусть теперь р(х) = р'(х) о р* (х)—шаг вычисления р(х) в р. Пусть Р^, Р* eZ^,..., г2и/] — уже построенные многочлены, соответствующие результатам р'(х) и р*(х). Заметьте, что по предположению индукции у' = и, если операция о есть ±, и V = и— 1, если о есть X, /• Согласно Штрас- сену [9], многочлены Pi определяются следующим образом.
Случай 1: если о есть то Pt = Р^ ± Р*.
Случай 2: если о есть X, то y2u-i = р'(ч)> ?2и = Р* (?) и
^22у-1 + S Pi (я — V)1) X ^2у + Р\ {Х — y)‘) =
= z2o-iz2v + X РАх — у/. i>l
Случай 3: если о есть /, то Y20-1 = p'(y), V20=1/p*(y) и
(z2o-l + Z Pi(x~ y/) X (z2oXE f — 22o£p:(X — Y)‘y) =
Vi>l7\o>0 V i>\7 7
= Z2y_i22y + 2 PAx — NY-
Заметьте, что
1/(1/220+ Z Pi(x — Y)‘)=Z2vZ ( — 22oE P*i(x — Y)‘y.
Как видно из случая 1, сложения и вычитания не увеличивают степени Pi. Для оценки степени deg А положим f(i, о) равным наибольшей из степеней многочленов Р, среди всевозможных Pi, которые могут быть порождены описанными выше шагами рекурсии с не более чем и умножениями/делениями.
Из базиса индукции и в силу того, что степень Pi в случае 1 не увеличивается, имеем Ai, 0) = 0.
оf — i) • Е ч=ч v=lоf — i) • Е ч=ч v=lТогда из случаев 2 и 3 следует, что
о
f — i) • Е ч=ч v=l
о
f — i) • Е ч=ч v=l
f Ц, и) < 2 + max w + £ f (Zv, к v=l
Отсюда имеем f(l,y)^3v, Цц у)^3(у — 1)/ + ^ + 2. Это доказывает лемму 3.1.
Пусть Л(р(х))—наименьшее число умножений и делений (скалярных и нескалярных), достаточное для вычисления р(х).
Теорема 3.2. Пусть р (х) е С (х) — рациональная функция, представимая рядом р(х) = ^ а^1, и L(p(x))^ и. Пусть 1 ^ 1=0
^ 61 < 62 < ... < 6q ^ п — натуральные, и пусть g удовлетво
ряет условию
X q )X q )3v(gn+ 1). 2v .3v(gn+ 1). 2v .
X q )
X q )
3v(gn+ 1)
. 2v .
3v(gn+ 1)
. 2v .
Тогда существует многочлен Н е Z [t/i, ..., yq*\, Н # 0, степени deg Н ^ g, такой, что Н (абр..., a6q^ = 0.
Доказательство. Пусть р вычисляет р^ с не более чем и умножениями/делениями. В соответствии с леммой 3.1 существуют многочлены Pi^Z^zi, ..., z2y] степеней degP/^3m, и для всех, кроме конечного числа, значений у существуют такие значения yi, ..., у2у, зависящие от у, что для всех i Pi^i, ... • • •, ?2и) = М?)> где ai^ — коэффициенты в разложении
р(х)=У, аД^^х — ^у. Теперь применим лемму 2.2 при с = = Son, m = 2и, и теорема 3.2 доказана.
Следствие 3.3. Пусть ть ..., тл е С и 1 ^ 61 < 62 < ...
... < 8q ^ п таковы, что для каждого k = 1, ..., q
[Q(t61,..., т6й) :Q(T61,..., твй_,)] ^(LS™/)".
Тогда L ( £ тгх‘ \t=0.Тогда L ( £ тгх‘ \t=0.
Тогда L ( £ тгх‘ \t=0.
Тогда L ( £ тгх‘ \t=0.
<Г?/21 - 1.<Г?/21 - 1.fg + q х qfg + q х q1.5(q-— 1)(5" + 1) q—x .1.5(q-— 1)(5" + 1) q—x .(S)(S)
<Г?/21 - 1.
<Г?/21 - 1.
fg + q х q
fg + q х q
1.5(q-— 1)(5" + 1) q—x .
1.5(q-— 1)(5" + 1) q—x .
(S)
(S)
Доказательство. Допустим, что
Тогда для любого g, удовлетворяющего условию
по теореме 3.2 существует многочлен Н е Z[y1(..., yq\, Н ^ 0, степени deg Н ^ g, такой, что Н(т&1,..., тв|?) = 0. (Чтобы получить (8), возьмем о = Г9/2~] — 1; тогда 2v^.q—1.)
Поскольку g^X, имеем
1.5(q-— l)(g« + 1)q-i1.5(q-— l)(g« + 1)q-i1.5 gqn9-11.5 gqn9-1
1.5(q-— l)(g« + 1)q-i
1.5(q-— l)(g« + 1)q-i
1.5 gqn9-1
1.5 gqn9-1
Поэтому соотношение gq > ^\bgqny™xq влечет (8), а значит, и g >» (X.5qn)q/n влечет (8). Отсюда следует существование многочлена H^Z^yx, ..., УдА, Н ^ 0, степени deg// < (X.Snqy, такого, что Н (тб1,..., t6J = O. Но это вступает в противоречие с леммой 2.7, ибо мы предположили, что
[Q (т61,..., T6ft): Q (т61,..., T6fc_,)j х 1.5 nqy.
Утверждение, весьма схожее со следствием 3.3, было доказано Зивекингом (утверждение 2 работы [8]) с использованием алгебраической геометрии. Используя теорему 3.2 и следствие 3.3, мы улучшаем некоторые нижние оценки Штрассена. Следствие 3.4(2) улучшает следствие 2.4 из [9], а следствие 3.4(3) — следствие 2.7 из [9].
Следствие 3.4. Пусть для каждого / ^ О числа f(/)e N удовлетворяют соотношениям f(/ + 1) ^ f (/) + 2п log(2n) и /(0)^1. Тогда
ехр (2л1/21(^) х1 I ^ Гл/2"1;
М У ехр (2л//2/3) х1) ^ (1/2) (п — Vй log пУ> м=о/
/ ПX
LI У, ехр (2л1/2/) х1) ^ /г/( 12 log м).
\/-о/
Доказательство. (1) Положим т^ = ехр(2л//2^*>); тогда [Q(rb..., те): Q(Tb..., Tt_1)] = 2f<*>-f(A-i)^22"1°g<2") ХЗп)2".
Полагая в следствии 3.3 б* = &, 9 = п, получаем из него (1).
Положим Xk = exp(2ni/2*”); тогда при ^^V(2/3)nlog(2n)
[Q(t,Tft+1):Q(x,
Применим следствие 3.3 при 9 = м — lV« log га J и 6^ = га— — 9 + ^, где k = 1, ..., q. Заметим, 4ToVnlogn^V(2/3)nlog(2rt) при п ^ 4. Это доказывает (2) при п ^ 4, а при п < 4 (2) тривиально.
п
Применим теорему 3.2 к многочленур(х)=У ехр(2лг/2/)х' при 6< = 3/ [log п J , i=l, . ..,9, и 9 = 2 [n/(61ogn) J . Допустим, что р(х) можно вычислить с и ^ 9/4 умножениями/де-
лениями. Тогда для любого g, удовлетворяющего условию
g + 9. q .g + 9. q .(q(gn + 1)\I 9/2 )’(q(gn + 1)\I 9/2 )’(9)(9)
g + 9
. q .
g + 9
. q .
(q(gn + 1)\
I 9/2 )’
(q(gn + 1)\
I 9/2 )’
(9)
(9)
по теореме 3.2 существует многочлен H^Z^yv, ..., yq^, H ^ О, степени deg Я ^ g, такой, что Я(а61,..., abq^ = 0. Очевидно, соотношение
g^q'Aqkgn^XWW.
влечет (9). Стало быть, g^2 ^ ^(п + 1),/2 также влечет (9). Значит, существует многочлен Н, Я ^ 0, степени degЯ^ ^ g2 (n + 1) ^ /г3/ (log м)2, для которого Я (ав1а6|?) = 0.
С другой стороны *)
[Q(«61a6ft):Q(a6i,...,а6 fe_^> 2» ^ "•*>№?.
Стало быть, по лемме 2.7 не существует многочлена Я^О степени degЯ < (п/2)3, такого, что Я(п61,..., ав?) = 0. Это порождает противоречие, поскольку при п > 8 имеем n3/(logn)2 -< <(м/2)3. Вместе с тем при м ^ 8 (3) тривиально. Стало быть, L(p(x))>^/4^ [n/( 121og п) J.
Методы данного раздела могут быть также применены к многочленам с быстро возрастающими целыми коэффициентами. Это может быть сделано путем оценивания весов многочленов Pi из леммы 3.1 и использования «леммы о ящиках» (леммы 2.2 и 2.10 из [9]). Так, М. Эберль (М. Eberl) доказал следующий усиленный вариант следствия 2.12 из работы [9]: при достаточно больших п любое вычисление многочлена
п
6=0
требует либо /г/2 — 2 умножений/делений, либо 2п3 сложе- ний/вычитаний. Это — тонкий результат, так как известно (см. Кнут [3], с. 526, теорема Е), что любой многочлен степени п можно вычислить с использованием п/2 + 2 умножений и п сло- жений/вычитаний. Таким образом, за экономию пяти умножений приходится расплачиваться экспоненциальным числом сложений и вычитаний. Заметьте, что установленная связь является связью по существу, поскольку qn можно вычислить с ^а/п
9 Здесь небольшая неточность: при k = 1 [Q(^) : Q] = 23Llog nJ ^ ^ (1/2) (гг/2)3; чтобы избавиться от нее, достаточно воспользоваться уточненным неравенством deg Н ^ q2 (п + 1) (1/2) n3/(log п)2. — Прим, перев.
умножениями и О(2”4) сложениями, используя Алгоритм В из работы [7].
Я благодарю А. Шёнхаге и X. Бремера за их замечания по предварительному варианту данной статьи.
ЛИТЕРАТУРА
Белага Э. Г. Некоторые вопросы вычисления многочленов.—ДАН СССР, 1958, т. 123, с. 775—777.
Eberl М. Untere Schranken bei der Berechnungskomplexitat von Polynomen.— Diplomarbeit, Universitat Frankfurt, 1977.
Knuth D. E. The art of computer programming. Vol. 2. 2nd ed. — Reading: Addison — Wesley, 1971. [Имеется перевод 1-го изд.: Кнут Д. Искусство программирования для ЭВМ. Т. 2. — М.: Мир, 1977.]
Lipton R. Polynomials with 0—1 coefficients that are hard to evaluate.— In: Proc. 16th Ann. Symp. on FCS, 1975, p. 6—10.
Lipton R. J., Stockmeyer L. J. Evaluation of polynomials with superpreconditioning. — In: Proc. Sth Ann. ACM Symp. on Theory of Computing, 1976, p. 174—180.
Motzkin T. S. Evaluation of polynomials and evaluation of rational functions. — Bull. Amer. Math. Soc., 1955, v. 61, p. 163.
Paterson M. S., Stockmeyer L. J. On the number of nonscalar multiplications necessary to evaluate polynomials. — SIAM J. Comput., 1973, v. 2^ p. 60—66.
Sieveking M. On the number of multiplications necessary to compute rational functions. — Preprint Universitat Bielefeld, 1976.
Strassen V. Polynomials with rational coefficients which are hard to compute. — SIAM J. Comput., 1974, v. 3, 128—149.
Winograd S. On the number of multiplications necessary to compute certain functions. — Commun. Pure Appl. Math., 1970, v. 23, p. 165—179.
ДОБАВЛЕНИЕ ПЕРЕВОДЧИКА
Необходимые сведения из алгебры можно найти в § 40 книги: ван дер Варден Б. Алгебра. — М.: «Наука», 1979.
Для сокращения записи введем обозначение А6 = ехр(2л//2б). Покажем, что для любых натуральных 6Ь ..., 6S, 1 ^ 61 < ... ... < 6S, выполняется соотношение
fP^S — 1 РОЛИ Q 1
[О(Лв„..., Л65):О(Л61,...,еСЛИ S>L
■(2 1 , если s = 1.
Заметим, что для любых д'^б" ,46/eQM6«). Поэтому для любого / О(Л61,..., Лб/) = 0(Лв/) и
[О(Л61,..„ Л6$):О(Л6_Л6$_1)] = [О(Л6$): О(Л6$_1)].
Далее, <Q (Л6$) 2 Q (Л^,,) 2 Q, откуда по теореме о степенях [О (А,): Q (A,_,)][Q (А,-,): С] = [О (А,): Q]-
Нетрудно убедиться, что [Q (Л6): Q] = 26*1; действительно, Л6 = ехр (2ш/2б) является корнем неприводимого над Q многочлена х2б-1 + 1. Проверка требуемого соотношения не составляет теперь труда.
Предположим, что многочлен Н с указанными свойствами все-таки существует. Запишем его в виде многочлена по степеням yq с коэффициентами из Q[//i, ..., у^-i]. Поскольку Н ^ О, среди указанных коэффициентов найдется нетривиальный — обозначим его Н\. Таким образом, Я^О^ь ..., yq-\\, /71^0 и deg Я! ^ degЯ <С g. Рассмотрим значение Я1(ть ..., t^-i). Если бы имело место Я1(ть ..., т^-О^О, то число xq было бы корнем нетривиального многочлена
Я(Т1,..., Т^ь У q^ ЕЕ Q (ть. . ., Т^_1)[у^]
степени не выше g— 1. Это противоречит условию
[Q (ть..., т,): Q (ть..., та_ 1)] > g.
Стало быть, Я1 (ть ..., t^-i) = 0.
Таким образом, многочлен Я1 также обладает указанными свойствами, имея на одну переменную меньше. Повторим аналогичное рассуждение с многочленом Я1 и т. д., после q-ro повтора приходим к противоречию. (Ср. с доказательством леммы 2.6 из [9].)
Нижние оценки для многочленовс алгебраическими коэффициентами)
И. Хайнц, М. Зивекинг )
Мы предлагаем метод получения нижних оценок сложности многочленов с алгебраическими коэффициентами, основанный на алгебраической геометрии. Типичные примеры поставляют многочлены, коэффициенты которых являются корнями из единицы, такие, как
d d
и Е e^iX1,/ = * /-1
где pj есть /-е простое число.
Мы также применяем этот метод к системам линейных форм.
Из результатов Моцкина [7], Белаги [1], а также Патерсона и Стокмейера [8] хорошо известно, что «в общем» вычисление многочлена
^№ = f/+...4-f0eC№
требует d сложений и вычитаний, приблизительно d/2 скалярных умножений и порядка ^j d нескалярных умножений. С другой стороны, F^X) может быть вычислен с таким объемом операций. -
Однако первым, кто дал конкретные примеры многочленов с алгебраическими и рациональными коэффициентами, имеющих высокую сложность вычисления, был Штрассен [12]. Эту работу продолжили Бородин и Кук [2], Шнорр [9], а также Шнорр и ван де Виле [10].
В данной статье мы переводим теорию сложности на язык алгебраической геометрии. С каждым многочленом F степени deg F = d и коэффициентами из алгебраически замкнутого поля К мы связываем отображение A,n -X- А^ аффинных пространств над К, причем величина т зависит от сложности многочлена F. Пусть W— замыкание (в топологии Зарисского) образа отображения ф в пространстве А< Сначала (в лемме 1)
мы устанавливаем связь между сложностью многочлена F, его степенью degF и степенью deg W множества W. Затем (в теореме 1) мы даем нижнюю оценку величины deg W через коэффициенты многочлена F. Эта оценка является нетривиальной, если, например, К = С, а коэффициенты многочлена F — алгебраические числа высоких степеней над полем Q.
В оставшейся части статьи мы применяем теорему 1 и получаем нетривиальные нижние оценки сложности многочленов dd
У e2niHXf, У e2nilpiXi (р; есть j-e простое число)
/=i/=i
и
d k
У е2^2* Х^ (k^ 1 фиксировано),
а также систем линейных форм d
У e2nil(i+(k-i)d)X (6=1,..., сГ), j=A d
dx. = !,, dy
Пусть Ко — совершенное поле с бесконечным числом элементов (в общем Xo = Q), К—алгебраически замкнутое поле, содержащее Ко» а X — переменная над К.
Через Gal (К/Ко) мы обозначаем группу Галуа автоморфизмов а: К-^К» оставляющих все элементы подполя Ко на месте.
Обозначим через Xd d-мерное аффинное пространство над К, т. е. пространство Kd» снабженное топологией Зарисского. Пусть Zb ..., Zd— координатные переменные. Назовем подмножество U пространства Xd Л'-определимым (соответственно /<о-опреде- лимым), если оно представляет собой множество точек пространства Xd, удовлетворяющих формуле первого порядка, содержащей лишь многочлены из К[2ь ..., Zd^ (соответственно Из Ко[^1, ..., Zd])1). Группа Gal (K/Ко) действует на Xd покомпонентно, ее элементы являются гомеоморфизмами пространства Xd.
Как известно, К-определимое подмножество U пространства Xd является /(o-определимым тогда и только тогда, когда группа Gal (/(/Ко) сохраняет множество U, т. е. когда а((/)= U для каждого автоморфизма ое Gal(K//(o).
Назовем подмножество U cz № Ко-замкнутым, если U замкнуто в топологии Зарисского пространства Ad и Ко-определимо. Это имеет место тогда и только тогда, когда U представляет собой множество общих нулей некоторого семейства многочленов из Ко[^ь • Zd\- (Касательно этого материала см. [6], с. 741).)
Для произвольного подмножества U а № определим множество cl^0(t/) как множество всех тех (и только тех) точек 2EAd, для которых выполнено следующее условие: любой многочлен F^Ko\Z\, ZdA» обращающийся в нуль во всех точках множества С/, обращается в нуль и в точке г. Множество с1Ко(У) называется Ко-замыканием множества U. Ясно, что множество cl^0 (t/) есть наименьшее Ко-замкнутое подмножество пространства Ad, содержащее множество U. В наших применениях понятия Ко-замыкания множество U всегда будет одноточечным множеством вида U = ^, где z^M\ для сокращения записи мы обозначаем Ко-замыкание одноточечного множества И через с1Ко2.
Мы используем понятие степени неприводимого замкнутого подмножества V пространства Ad, обозначаемой через deg V. Степень неприводимого замкнутого множества V — это наибольшее число точек, которое может содержаться в пересечении множества V с гиперплоскостями пространства Ad, взятыми в количестве dim V штук, при условии, что это пересечение имеет конечную мощность. Нам также понадобятся следующие два утверждения. Первое: если О — непустое открытое подмножество множества V, то существуют гиперплоскости пространства Ad, пересекающие множество О по deg V точкам. И второе: если V cz Ad— гиперповерхность в Ad, определенная многочленом F е K[Zi, • • •, ZdA» то deg V ^ deg К
Распространим понятие степени на произвольные замкнутые подмножества пространства М. Пусть В и D — замкнутые подмножества в М. Положим
degB = У deg С, где сумма берется по всем компонентам С множества В. Если все компоненты множества В являются компонентами множества D, будем писать В comp D.
Важную роль играет следующее неравенство Безу.
deg В П Ddeg В • deg D.
Неравенство Безу с прямым доказательством (для аффинного случая) может быть найдено в работе [5]. Оно является также простым следствием теоремы Безу в проективном пространстве
9 См. также [12], с. 142. — Прим, перев.
в том случае, когда одно из множеств В или D есть гиперповерхность в Xd. Дальнейшие сведения по алгебраической геометрии, необходимые нам в этой статье, можно найти в книге [11].
Наконец, ^ и X обозначают соответственно неравенство и равенство в смысле порядка роста, a log обозначает log2.
Под вычислением р в поле рациональных функций /С(Х) мы понимаем список рациональных функций Гь ..., гу из /((X), такой, что для каждого / = 1, ..., и либо
(0) г/ е К U {X}, либо
rl = r1-Vrk) либо
ri = rrrb либо
rz = г^.
где j, к ^{1, ..., и}, причем /, k<^L
Мы будем рассматривать три различных меры сложности вычислений:
число сложений и вычитаний в вычислении р, полагая Л±(р) равным числу вхождений в вычисление р шагов вида (1) (коротко, (^ь)-случай);
число скалярных умножений и делений в вычислении р, полагая АС(Р) равным общему числу вхождений в вычисление р шагов вида (2), в которых г/, ГкфК^ и шагов вида (3), в которых г к фК^ (скалярный случай);
число нескалярных умножений и делений в вычислении р, полагая ЛНС(Р) равным общему числу вхождений в вычисление Р шагов вида (2), в которых г/, ГкфК, и шагов вида (3), в которых ГкфК (нескалярный случай).
Функции гь 1=1, ..., и называются результатами вычисления р.
Пусть ^ = {Fi, .Fs}cz/([X] — конечное множество многочленов. Будем говорить, что вычисление р вычисляет множество 9", если многочлены Fi, ..., Fs входят в число результатов вычисления р.
Пусть L — любая из наших мер сложности L+, Lc или Лнс. Положим Л(^).= т1пЛ(Р), где минимум берется по всевозможным вычислениям р, вычисляющим множество 9".
Мы используем теорему 2.1 и лемму 3.1 работы [9] и следствие 1 работы [10] в следующем виде.
Пусть 9~ = \F\, ..., Fs}c=/<[X]—конечное множество многочленов степеней d\, ..., ds. Пусть, далее, L — любая из мер сложности L+, Lc или Лнс, и пусть с = L(9~). Тогда существуют многочлены Qkj^Ko\Yx, ..., Ym\ (где ^=1, ..., s, / = 0,
..., а Уь ..., Ym — переменные над /<0), обладающие следующими свойствами:
degQ^^S/u +2,
и для каждого значения £ е Ло, кроме конечного их числа, существует такой набор значений параметров т]Ь . .., т^т^К, что для каждого k = 1, ..., 5'
dkFk=LQkM---. гь)^-^.
/ = 0
Кроме того, в (±)-случае и в скалярном случае можно принять т = 2и, а в нескалярном случае т = и2 + 2и 9.
S
Положим d = (d^ ..., ds) и \d\=^ dk. Многочлены Qk$ задают отображение аффинных пространств
Ат-^*П А^,
где
= (Qlbeee> Qldp***» Qsb • • •, Qsds^-
График отображения ф является Л0-определимым.
Пусть Ц/^йпф— замыкание образа отображения ф в про- S
странстве ПА*. Очевидно, W— неприводимое замкнутое под-
s
множество пространства Ц AdA, а поскольку график отображе- к=\
ния ф Ло-определим, множество W также Ло-определимо и, стало быть, W Ло-замкнуто.
Поскольку W— образ m-мерного аффинного пространства, имеем dim W ^ т, т. е. dim W ^ 2и в (+)- и скалярном случаях и dim W ^ v2 + 2у в нескалярном случае.
Теперь докажем следующее утверждение.
Лемма 1. Пусть |d| > 1. Тогда
(1/6) (log deg Г/log | d |X m,
где m = 2v в ( + )- и скалярном случаях и m = v2 + 2u в нескалярном случае.
Доказательство. Возьмем dim IT’ гиперплоскостей Ну, ... ..., //dim w,' пересечение которых с образом im г|э отображения ф
9 Последнее следует не прямо из теоремы 2.1 [9], а из ее доказательства. Поскольку речь идет о вычислении конкретной системы многочленов, можно фиксировать значения параметров сь ..., сУ и, кроме того, избавиться от параметра au+i, v. — Прим, перев.
содержит deg W точек. (Таким гиперплоскости существуют, поскольку образ imt|) содержит непустое открытое подмножество множества W; ср. с теоремой 6 § 5 гл. 1 кн. [11].) Прообразы ^“^//i), ..., гр™1 (//dim «^) являются гиперповерхностями в Аш степеней deg г|)-1 (Н^ ^ 3| d | v + 2.
Пусть ^ — семейство всех компонент С пересечения
V1 (ЯО П ПФ"1 (//dim И. '
Используя неравенство Безу, имеем-
dim W
*^<Z degC< П degirW^SIdlv + S)^. Се^i = l
Кроме того, г|) отображает компоненты, составляющие семейство ^, в точки пересечения IF П Н\ П ... П НДхт w; стало быть, deg IF ^ 4|= ^ и окончательно
'deg 1F ^ (31 | v + 2)dim ^.(1)
Поскольку dim IF ^ 2v в (±)- и скалярном случаях и dim IF ^ ^ и2 + 2и в нескалярном случае, имеем dim IF ^ ш. Кроме того, без потери общности можно считать, что v^|d|. Теперь утверждение леммы получается логарифмированием обеих частей неравенства (1) и упрощением полученных выражений.
С этого момента удобно принять
^() = min(L±(.), Lc(-), L2HC(-)).
Теорема 1. Пусть УТ = {77ь .Fs}cz/([X] —конечное множество многочленов над полем К вида Fk = I ktx$, где fk, е К, k=l,..., s. Пусть d = (d\ d^, причем |d|>l, и
В = с1к0(Ьь. • fidtfsi.fsdsY Пусть, далее' В comp D для некоторого замкнутого подмножества D пространства S
Па^ представляющего собой множество общих нулей некоторого семейства многочленов над К степеней не выше g. Тогда $ GF) > (1/24) (log deg B/log (| d | • g)).
Доказательство. Пусть L — любая из наших мер сложности L±, Lc или Вне, и пусть и = L^). Как и прежде, имеются многочлены Qki g Ко[Уь • • •, Ym], где к == 1, ..., s, / = 0, 1, ..., а Уь ..., Ym — переменные над Ко и, если значение g е Ко выбрано правильно, имеется такой набор значений параметров т)ь ..., т\т^К> что для каждого к= 1, ..., s выполнено
F^HQm^v nJ(^-^-(2)
/=0
Кроме того, в (±)- и в скалярном случаях можно принять m = 2и, а в нескалярном случае m = и2 + 2и.
Многочлены Qkj задают отображение Ат—► П kdki где i|> = k=\
= (Qu,-• Qid,.-• Qsi>-• Qsds)- Как и прежде, положим 1У = im ip.
Предположим сначала, что в соотношении (2) g = 0. Тогда Ць-• • , fid,,-• -, Ьь-• -, fsds) G im^ cz IT, а поскольку множество W /Co-замкнуто, имеем В clW.
Пусть D — множество общих нулей многочленов Gi, ..., Gr степеней deg G, ^ g. Поскольку В cz W и В comp D, имеем В comp D П W.
Заметим следующее. Пусть Уь ..., Vs — неприводимые S
замкнутые подмножества пространства П AJfe, ни одно из ко*
торых не содержится в множестве D. Тогда существует некото- т
рая линейная комбинация ^ ^tGi с коэффициентами а, е ^, определяющая гиперповерхность, пересекающую каждое из множеств Vi, ..., Vs правильным образом1). Это следует из того, что для любого замкнутого подмножества V пространства s
П А^, такого, что V <^i D, множество всех тех точек {ai, ... k=X
г
.аЛ, для которых гиперповерхность 2аД = 0 пересекает <=1
множество V правильным образом, есть непустое открытое подмножество пространства Аг. Действительно, дополнение этого множества, очевидно, замкнуто и отлично от всего пространства Аг (указанное дополнение отлично от Аг, ибо в силу того, что V^Z), существует многочлен О/, не обращающийся в нуль одновременно во всех точках множества V).
Будем теперь последовательно пересекать W гиперповерхностями, определяемыми линейными комбинациями многочленов Gi, ..., Gr, с каждым шагом уменьшая размерность тех компонент предыдущего пересечения, которые не содержатся в D. Спустя dim W таких шагов будет получено множество s
Е czПа^, для которого (D f] 1У) comp Е. Иначе говоря, будет к-Ч
]) Имеется в виду следующее: для каждого / = 1, ..., s размерность г
пересечения множества Vj с гиперповерхностью У^ at-G/ = 0 не превосходит i=l
величины dim V/— 1. — Прим, перев
найдена матрица (а^) размера г X dim W (/ = 1, ..., г и k = 1, ..., dim №), такая, что
<D П r)compf|fa‘Gz = 0,..., £ a-im Gz = 01 П J-
Используя неравенство Безу, получаем
gdim W . (jeg ^ ^ deg £ ^ (jeg Д Q ^ ^ deg В.
Отсюда, учитывая, что dim W ^ т, имеем deg W ^ degB/gm. Кроме того, из леммы 1 следует, что
J_ log deg WJ^ / log deg В _ log g \
6 log | d |6 V log | d | m log | d | '
откуда
log deg В\ 1 log deg В
log |d 1(1 +(1/6) log g/log|d|) 6" log (Id I-g) •
Отсюда получаем v ^ (l/12)logdegB/log(|d| -g) для (+)- и скалярного случаев, поскольку для этих случаев m = 2 th Аналогично, для нескалярного случая получаем у2 ^ (1/24)log degB/log(|d| -g^. При £ = 0 требуемое утверждение доказано.
В том случае, когда в ^соотношении (2) £ =т^ О, заметим, что точка
(Quhi,..., nJ,..., Qi,#,(ill,.-., ^mV--
QsJni,-.-, nJQsdjni,-.., nJ)
есть образ точки (Ль---> fids,---> f«i,---> fsds) ПРИ некотором s
Ко-линейном преобразовании пространства Ц Adfe. Это же Ко-линейное преобразование переводит множество В в множество
B(g) = clKo(Q11(Th,..., nJ, Qidjni,-•nJ,---
QsiOb,---, nJ,---, Qsds(ni,---, nJ),
а множество D — в множество D^, определяемое многочленами степеней не выше g, причем В (£) comp £)(£).
Поэтому можно повторить проведенное выше доказательство для точки (Qn (Пь..., nJ, - - •, Qi^ (Пн • • •, nJ, - - •, Qsi (Пь • - - ---, nJ,..., Qsds(ni,---, nJ) вместо точки (fn,..., hdl, ... • • •, /si,. • ., fsds)-
Отсюда и далее положим Ко = Q и К = С.
Следствие 1. Пусть (k}) j^ —произвольная последовательность положительных натуральных чисел. Тогда
. dк
з ( У «“"‘и') > J^fcJ^L
/ log^maxl*,td))
н.о.к. обозначает наименьшее оби^ее кратное\
Т dX
Доказательство. Положим в теореме 1 9” = s £ e2nilkiX'г и соответственно \d\ = d; множество В состоит из всевозможных точек (Л,..., f^, получающихся из точки (е2ш/\..., e2m/kd) действием автоморфизмов а е Gal (KfKo) • Л = о (e2ni,kv\.. .,fd = = о (e2mikdY Обозначая координатные переменные пространства Ad через Zx,..., Zd, положим
D — lzf'-^O,..., Z^-l=0}
и соответственно g = max ki. Имеем l</<d
deg В = # В = # Gal (Q (e2mV\..., еШП^[Q) =
= [Q(e2mVft‘,..., e2”^):Q]=<p(H.o.K.(^,..., k^, где (p — функция Эйлера. Поскольку
Ф (н.о.к. (&b..., ^))Хн.о.к.№,..., kd\ имеем
log deg В X log н.о.к. ^kX)..., kd\
Теперь следствие 1 получается прямо из теоремы 1.
Следствие 2.
/ dх
S’ I £ е^Х') > d/log d.\/=i/
Доказательство. Положим в следствии 1 ^ = 1 для всех ] = !,... d. Тогда, поскольку max^,..., k^ — d, достаточно показать, что log н.о.к.(1,..., d^^d.
Пусть р\,..., ps — простые числа, не превосходящие d, и пусть 0(d) = У, log р/. Как следствие теоремы о распределении простых чисел имеем b^Xd (см. [3], с. 90), а поскольку про- изведение 2 Pi делит н.о.к.(1,..., d), получаем
log н.о.к.(Ь • • •, d^^9(d)Xd.
Следствие 3. Обозначим через р, j-e простое число. Тогда
dх
2?2?Le2nilpiX4>d.
2?
2?
/=i/
) > log(pi... pd)/log (dpd) X 9 (pd)/log PdX) > log(pi... pd)/log (dpd) X 9 (pd)/log PdXДоказательство. Положим в следствии 1 kj = pj. Тогда
) > log(pi... pd)/log (dpd) X 9 (pd)/log PdX
) > log(pi... pd)/log (dpd) X 9 (pd)/log PdX
X Pd/log pd X d log d/log (d log d) X d.
Проверяя возможности метода теоремы 1, мы даем еще одно доказательство хорошо известного результата (см. [12, 9, 10]).
Следствие 4.
/ а . N
^1 2 е^’х1 > d/log d\/-i7
и
^ £ е2"^2 Zz >d/& (k> 1).
X /=17
е2л1/2 ^7 J ^
^ d/log d, положим в теореме 1 ^ = s X ^2ш/2 ^ ( и соответственно \d\ = d. Имеем
5 = с1Ко(е2лг/2) е2ят^ =
= {А, • • ■ - М : А = °(е^
для некоторого а е Gal (Q (е2л1/2, .e2?u/2d)/Q)}, откуда
deg В = * В = [Q (e2"i/2e2"i,2d): Q] = <р (2d) X 2d.
Обозначив координатные переменные пространства Xй через Zi, ..., 2^, положим
£> = {Z2-l=0, Z^-Z^O,Z^-Z^^O},
и g = 2. Остальное ясно из теоремы 1.
Соотношение
^2 е2л;/2/ Х1 > dlk
\/=1/
доказывается весьма похожим образом. Мы отметим лишь те моменты, в которых это доказательство отличается от предшест-
вующего. В рассматриваемом случае имеем
deg S = # В = [Q (е2”1'/2, ..., е21^2^) • q] = ф (2^) ^ 2^\ а поскольку
J V7W _e2nii21 ,
МОЖНО положить
D = {z=- 1 =0, z’W*” *©-Z, — 0. .. .
откуда g<.2kdk-x-
В одном контексте co следствием 4 отметим также следующий факт [4]: существует такое множество М cz К мощности =Н=Л1 ^ 2cd (с>0), что для каждого элемента f^K\M имеет / d \
место соотношение S I У f2 X1 I >= d/log d.
Методы данной статьи применимы также к многочленам от нескольких переменных и даже к линейным формам. Конечно, мы не можем применять теорему 1 непосредственно, поскольку содержащаяся в ней сложностная модель конкретно связана с многочленами от одной переменной.
Примером указанного применения может служить следующее утверждение.
Предложение 1. Пусть S' = {FX, ..., Fd} — система линейных форм d
где к=\, ..., d, d> 1, X, — переменные над К, и пусть Ко = Q. Тогда
U ^>d2/\ogd,
Набросок, доказательства. Каждое вычисление р, вычисляющее систему 9", может быть превращено в вычисление р', также вычисляющее Зг, сложности ЛС(РЭ ^ 2ЛС(Р), все результаты которого являются многочленами из Л[Х] (ср. [13], с. 189). Поскольку все Fu линейны, шаги вычисления р' состоят лишь в умножении предшествующих результатов на элементы из ^\^o (такие шаги дают вклад в сложность вычисления) и в их линейном комбинировании с коэффициентами из Ко (такие шаги вклада в сложность не дают).
Пусть р — оптимальное вычисление для ST и v = Лс(₽). Вычисление (3' задает отображение
д2^^,=Qjk, Qdd\
где Qjk — многочлены над Ко степеней не выше 2у.
Положим W = imt|). Тогда в точности так же, как в лемме 1, имеем deg W ^ (2у)2и. Поскольку без ограничения общности можно принять v d2, имеем (1/6) log deg IJZ/logd ^ у.
Аналогично предыдущему положим
D = ^^- х=0, j=x, ., d, k==X) dy
где Zjk — координатные переменные пространства А^2. Множество D представляет собой множество общих нулей многочленов степеней не выше g = d2.
Далее положим
В = с1^0 ^е2^1^^ .e^W+t^-1) d^ еее> e2ni(d2y
Тогда, поскольку Ко = Q, log deg В = log # В =
= log [Q (е21^, ...., e2jrW+ ^-hd^ . е , ,e2nZ/rf2): Q] =
= log ф(н.о.к. (1,d2)) X logH.o.K. (1,d^^d?.
(Последнее неравенство получается таким же образом, как в доказательстве следствия 2.) На основании тех же рассуждений, что в теореме 1, имеем и ^ (l/6)log degB/log(d-g). Отсюда Bc(^)>d2/logd.
Аналогичным образом можно показать, что для системы 9" = {ВЬ ..., ВД, где
d
Fk = ^ е^^'^^Х.,/=i
имеет место соотношение Лс(^) ^ d2/logd.
Мы признательны И. фон цур Гатену, Ф. Штрассену (Цюрих) и К. П. Шнорру (Франкфурт-на-Майне), прочитавшим рукопись и давшим много полезных советов.
ЛИТЕРАТУРА
Белага Э. Г., Некоторые вопросы вычисления многочленов. — ДАН СССР, 1958, т. 123, с. 775—777.
Borodin A., Cook S. On the number of additions to compute specific polynomials. — SIAM J. Comput., 1976, v. 5, p. 146—157.
Chandrasekharan K. Introduction to analytic number theory. — Berlin: Springer, 1968. [Имеется перевод: Чандрасекхаран К. Введение в аналитическую теорию чисел. — М.: Мир, 1974.]
von zur Gathen J. — Частное сообщение, 1978.
Heintz J. Definability bounds in algebraically closed fields and a note on degree in affine algebraic geometry. — Preprint, 1977.
Lang S. Introduction to algebraic geometry. — New York: Wiley, 1964.
Motzkin T. S. Evaluation of polynomials and evaluation of rational functions.— Bull. Amer. Math. Soc., 1955, v. 61, p. 163.
Paterson M. S., Stockmeyer L. J. On the number of nonscalar multiplications necessary to evaluate polynomials. — SIAM J. Comput., 1973, v. 2, p. 60—66.
Schnorr С. P. Improved lower bounds on the number or multiplications/ divisions which are necessary to evaluate polynomials. — Theoret. Comput. Sci., 1978, v. 7, p. 251—261. [Имеется перевод: настоящий сборник, с. 30—44.]
Schnorr С. Р., van de Wiele J. P. On the additive complexity of polynomials.— Theoret. Comput. Sci., 1980, v. 10, p. 1—18.
[
11]Шафаревич И. P. Основы алгебраической геометрии. — М/. Наука, 1972.
Strassen V. Polynomials with rational coefficients which are hard to compute. — SIAM J. Comput., 1974, v. 3, p. 128—149.
] Strassen V. Vermeidung von Divisionen. — Crelle J. fiir die Reine und Angew. Mathematik, 1973, Bd 264, S. 184—202.
Некоторые многочлены, имеющиевысокую сложность вычисления *)
И. фон цур Гатен, Ф. Штрассен )
Используя результат Хайнца и Зивекинга [1], мы показываем, что многочлены 2 Ь^Х^, где b— положительное действительное число, отлич
ное от единицы, и X fX^ где г — рациональное число, не являющееся целым, имеют высокую сложность вычисления.
Мы используем следующий вариант основного результата Хайнца и Зивекинга [1]. Пусть f = ^ 6/Х;^С[Х] — многому <^
член, Ло — подполе поля С комплексных чисел, такое, что все коэффициенты 6/ многочлена / алгебраичны над Ко» и пусть N— число точек, сопряженных с точкой (61, ..., b^ над полем Ко (т. е. число элементов орбиты точки (6ь ..., bd) пространства Cd под действием группы Галуа поля С над Ко)*
Пусть, далее, gi, ..., gn е ^[Гь ..., Td^—многочлены степеней, не превосходящих М, такие, что множество их общих нулей {xeCd: g\ (х) = ... = §/г(х) = 0} конечно и содержит точку (6Ь ..., bd). Тогда
^(f)>(logW4 log(dM)))V2.
Здесь L^)—наименьшее число нескалярных умножений и делений, достаточное для вычисления многочлена / схемой над Cw{X}. (Таким образом, допускается произвольная обработка.)
Применение 1. Пусть b— положительное действительное число, отличное от единицы. Тогда
L( ^ tW'XXd/logd)1'2.
(Соотношение u(,d^^ u^d) означает, что существует положительная постоянная с, такая, что u^d)*^ c-c^d) при больших d.
von zur Gathen J., Strassen V. Some polynomials that are hard to compute. — Theoret. Computer Sci., 1980, v. 11, No. 3, p. 331—335.
Корни из положительных действительный чисел считаются положительными действительными числами, если не оговорено противное.)
Доказательство. Пусть
Ko = Q(6, ехр(2л//3, ..., exp(2n//d)) = Q(6, ехр(2л///)),
где / = н. о. к. (1, ..., б/), и пусть g. — Tl — b для / = 1, ..., d. Тогда degg/ ^ d, и мы положим М = d. Кроме того, поле К = = Ко(61/2, ..., bx/d) является расширением Галуа поля Ко, и орбиты точки (6, 61/2, .bx/d) под действием групп Gal(C/Ko) и Gal(K/Ko) совпадают. Поскольку лишь единичный элемент группы Gal(K/Ko) оставляет точку (6, ..., bx,d^ на месте, число N элементов орбиты точки (6,61/2, ..., bX/'d) под действием группы Gal(K/Ko) совпадает с числом элементов группы Gal(K/Ko)- Таким образом,
W = #Gal (К/Ко) = [К: Ко], и поэтому
Ц £ №!Л>(адК:К^оесГ)№.
Запишем [К : Ко] = [К : Q (6) ] / [Ко *• Q (&) ] - Если b трансцендентно, то [Ko:Q(6)] = [Q(exp^f//)):Q] = ф(/). Если b ал- гебраично, то [Ko-Q(6)J делит
[Ко: Q] = Ф (/) • [Ко: Q (ехр (2л///))].
Поскольку все простые делители числа ф(/) меньше d/2, а [Ко • Q (ехр (2л///)) ] не превосходит величины [Q (6): Q], не зависящей от d, то в обоих случаях число [Ko*Q(6)] не делится ни на одно простое число р из интервала d^ ^ р ^ d при условии, что d достаточно велико.
С другой стороны, мы утверждаем, что для достаточно больших d число [K:Q(6)J Делится на каждое простое число р из интервала d/2 ^ р ^ d. Из этого вспомогательного утверждения с использованием теоремы о распределении простых чисел вытекает, что
log [/< : /Со] > log ( п p)>d.
\d/2^p<d)
откуда в свою очередь вытекает справедливость применения 1. Для доказательства указанного вспомогательного утверждения достаточно показать, что
\QW.QWA=p
для достаточно больших простых р.
Пусть р — простое; допустим, что [Q(Z>1/p): Q(6)] < р. Тогда многочлен Тр— b имеет нетривиальный делитель /ieQ(6)[T].
Поскольку над полем С Тр— Ь — ^Т— £°а) ... (Г— ^^а), гДе а = bx/p-^ R и £ = ехр (2лг/р), свободный член многочлена h имеет вид ^ат, причем 1 ^ т < р. Таким образом, ^ат ^ Q (6). Взяв и и и такими, что ит-\-ир=\) получаем ^иа е Q(6). Отсюда, поскольку а и b— действительные числа, а^ Q(b). Если b трансцендентно, такого быть нс может. Если b алге- браично, рассмотрим разложение (6) = ^i1 • • • ^V дробного идеала (6), где qt — простые идеалы кольца О целых элементов поля <2 (6), a eieZ\{0}. Соответствующее разложение идеала (а) показывает, что число р делит каждое ег. Если р велико, этого быть не может, разве что г = 0. В последнем случае а и b — •единицы (обратимые элементы) кольца О. В силу теоремы Дирихле о единицах существует однозначное представление b=u**u\x... tA, где и — корень из единицы в поле Q(b), {^ь ..., ys}—множество основных единиц поля Q(6) и fi, ... ..., f$eZ. Соответствующее представление а показывает, что число р делит каждое fi. Если р велико, этого быть не может, разве что все fi — нули. Но тогда 6 = 1, а это исключено. Тем самым требуемое утверждение доказано.
Замечание. Мы сформулировали применение 1 для случая положительных корней из положительного действительного Ь. На самом деле данное доказательство проходит для любого ненулевого комплексного Ь, нс являющегося корнем из единицы, и любых значений корней bY/L Если же b является корнем из единицы— скажем, для простоты, 6 = ехр(2ш‘/0, — многочлен будет иметь высокую сложность (см. [1], следствие 1), если брать Ь\ц — exp ^М1*Й. Однако для любого указанного b можно выбрать значения корней Ьх^ и таким образом, чтобы многочлен имел невысокую сложность.
А именно, свяжем с каждым натуральным числом / пару натуральных чисел f, g, определяемых следующим образом: f — наибольший общий делитель чисел j и tl для больших fag таково, что 1 ^ g < t и g - Ц/^= \ (mod /); число / однозначно определяет значения f и g. Положим 6/ = exp (2n/g/^), тогда Ь^ = ехр (2л//0 = Ь. Если t имеет s различных простых делителей, то для чисел f, g, связанных с числами /^{1, ..., d), имеется не более (logd)s-/ возможностей. Разобьем сумму X Ь<Х* на части в соответствии со значениями f, g. Каждая
из частных сумм этого разбиения представляет собой сумму некоторой геометрической прогрессии и может быть вычислена со сложностью O(logd). Таким образом, L( У Ь1Х5\ = = o^drx¥
Применение 2. Пусть r^QXZ. Тогда
L( Е fX’A > d^Xog d.
хл^ка J
Доказательство. Пусть г = s/t, причем числа seZ и /gN взаимно просты, р — простой делитель числа t, £ = exp (2л//р), /Co = Q(O и gj = T^ Is Для / = h d. Пусть, далее, qx, ... ..., qm — простые числа, не превосходящие d. Тогда число N точек, сопряженных с точкой (1Г, 2Г, ..., dr) над полем Ко> равно числу точек, сопряженных над Ко с точкой (g^, ..., grmy которое в свою очередь не меньше числа точек, сопряженных над Ко с точкой ((^)1/р, • • •> (ЧтУ1рУ Последнее равно степени расширения [^0((^i)1/p> • • •’ №)1/р) : ^о]> поскольку, как и в предыдущем доказательстве, указанное расширение есть расширение Галуа. Мы утверждаем, что для каждого / < m
Тогда имеем N ^ 2W, откуда с использованием теоремы о распределении простых чисел получаем
L (^Е* ГХ^ > ^п]^ log (d/))y/2 > d1/2/log d.
Указанное вспомогательное утверждение вытекает из следующего общего факта.,
Пусть ах, ..., а^ а — положительные рациональные числа, причем*'
ах*Р е Kq^p, ..., а^ру
Тогда существуют числа w^Q и еь ..., e/GN, такие, что рei
а = огЯ1 ... at .
Докажем это индукцией по /. Для / = 0 имеем
VQ^py.Ql^VKo’Q^
Отсюда, как в предыдущем доказательстве, вытекает, что ах<р eQ, и мы принимаем w = ах/р. Предположим по индукции, что
аМр^К = №Ур,.... а^-
Положим 6 = а/р, т] = а1/Р. Тогда поле ^(0) является расширением Галуа поля К и элементы 1, 6, ..., 02 составляют /(-базис поля /<(0) при некотором z^p—1. (В действительности z = р — 1.) Пусть
Л = ^о + 610 + • • • + 6г02,
где bt^K, и пусть ае Gal (/< (0) /7<), причем а(0)#=0. Существуют натуральные и, и, такие, что о(0) = ^“0, причем (и, р) = 1, и о(т]) = ^°т]. Сравнивая коэффициенты в выражениях
а(т|) = 6о + 61о(0)++62а(0)2 =
= 60 + 6^0+ ... +6ZCUZ0Z
и
О (п) = ^Т) = Ь^” + *!С°0 + ... + Ь^
и замечая, что все £“‘ попарно различны, устанавливаем, что имеется в точности одно значение I, для которого b, V= 0. Стало быть,
(ц/а,)1^ = т)/0‘ = bt е К-
Используя предположение индукции, заключаем, что а^ = wpax ... aetl"vx.
Замечания. (1) Для любого reN имеем L( 2 ГХ1\ = \l</<d)
= О (logd). Чтобы убедиться в этом, положим /г= У fXL
1 < / < d
Из соотношения fr = х • (d/dx) fr_x по индукции следует, что fr = (xd+l • g + h)l(x — l)r+1, где g и h— многочлены степеней нс выше г. Отсюда L(fr) = О (log dY
2) Поскольку наибольшая сложность многочленов степени d (считая лишь нелинейные операции) имеет порядок роста d1/2, нижние оценки данной статьи нс могут быть значительно улучшены. Конечно, аналогичные результаты имеют место и в том случае, когда считаются все операции. Несколько более слабые оценки получаются также методом Штрассена [3] (с учетом улучшения, сделанного Шнорром [2]). Однако метод Хайнца— Зивекинга [1] гораздо элегантнее.
ЛИТЕРАТУРА
Heintz J., Sieveking М. Lower bounds for polynomials with algebraic coefficients. — Theoret. Comput. Set, 1980, v. 11, No. 3, p. 321—330. [Имеется перевод: настоящий сборник, с. 46—58,]
Schnorr С. Р. Improved lower bounds on the number of multiplications/di- visions which are necessary to evaluate polynomials. — Theoret. Comput. Set, 1978, v. 7, No. 3, p. 251—261. [Имеется перевод: настоящий сборник, с. 30—44.]
Strassen V. Polynomials with rational coefficients which are hard to compute.— SIAM J. Comput, 1974, v. 3, No. 2, p. 128—149.
Сложностные результаты для классовформул с кванторами)
Г. Льюис)
Мы анализируем вычислительную сложность определения того, является ли выполнимой формула F классического исчисления предикатов, удовлетворяющая определенным синтаксическим ограничениям. Например, для сингулярного исчисления предикатов и класса с префиксом 3 ... 3VV3 ... 3 (гёделевского) для недетерминированного времени мы получаем нижнюю и верхнюю границы вида cn/losп. Нижние границы устанавливаются с использованием проблем допустимости для машин Тьюринга с ограниченным временем работы, альтернирующих магазинных автоматов и стековых автоматов.
ВВЕДЕНИЕ
Большинство работ по сложности логических разрешающих проблем относятся либо к пропозициональному исчислению [7, 21], либо к разрешимым теориям, таким, как арифметика Прес- бургера [4, 11, 25] или различные теории следования и порядка [24, 31]. Вместо этого здесь мы рассмотрим некоторые подклассы классического исчисления предикатов, которые определены с помощью чисто синтаксических ограничений на вид формул. Это формулы без функциональных знаков и символа равенства, и все они замкнуты, т. е. не содержат свободных переменных. Мы рассмотрим следующие четыре главных класса: сингулярное исчисление предикатов, доказательство разрешимости которого восходит к 1915 г. [23], и три класса, определенные по виду префикса, которые названы в честь авторов, доказавших их разрешимость:
класс Аккермана [2]: формулы с префиксом вида 3 ... ... 3V3 ... 3;
класс Гёделя [12]: формулы с префиксом вида 3 ... ... 3VV3 ... 3;
класс Шёнфинкеля — Бернайса [5]: формулы с префиксом вида 3 ... 3V ... V.
(Любой префикс, отличный от этих трех, дает неразрешимую проблему выполнимости.)
Мы также рассмотрим класс £Г формул с префиксом вида 3 ... 3V3 ... ЗУ; точное определение этого класса будет дано в разд. 2А.
Наши результаты можно сформулировать следующим образом:
сингулярное исчисление предикатов: нижняя и верхняя границы имеют вид NTIME (с^/юе”);
класс Гёделя, или класс формул с префиксом 3 ... ЗУУЭ ... ... 3: нижняя и верхняя границы имеют вид NTIME (c"/log ”), класс Шёнфинкеля — Бернайса, или класс формул с префиксом 3 ... ЗУ ... У: нижняя и верхняя границы имеют вид NTIME (с”).
класс Аккермана, или класс формул с префиксом 3 ... ... ЭУЗ ... 3: для формул только с сингулярными предикатными символами нижняя и верхняя границы имеют вид DTIME(^/log«);
класс £Г\ нижняя и верхняя границы имеют вид DTIME (сс"/10В ").
Единственной предыдущей работой в этой области была работа [28] Мейера и Ракоффа о сингулярном классе, где была получена нижняя граница вида NTIME (сп/х^п) и верхняя граница NTIME ^сп^№п\ Для этого класса наши результаты понижают верхнюю границу и показывают, что нижняя граница может быть получена для подкласса сингулярных формул с гё- делевским префиксом. Со времени появления предварительного варианта этой статьи [19], Плейстед [26] получил некоторые схожие результаты для класса формул в конъюнктивной нормальной форме (см. благодарности в конце статьи), а Гольдфарб [13] установил непримитивную рекурсивность нижней границы для гёделевского класса с равенством (неизвестно, однако, разрешима ли она).
Нижние границы для сингулярного класса, а также для классов Гёделя и Шёнфинкеля — Бернайса получены прямым сведением проблемы допустимости на недетерминированной машине Тьюринга с экспоненциальным временем. Трудность этого сведения состоит в экономном представлении отношения следования между кодами натуральных чисел формулами первого порядка. Упомянутое представление напоминает то, которое использовали Джонс и Селман [15].
Нижняя граница для класса Аккермана получена сведением проблемы выполнимости для этого класса [6, 17] к проблеме допустимости альтернирующим магазинным автоматом входной последовательности. Для класса £Г мы представляем аналогичное
сведение для альтернирующего стекового автомата [18]. Краткое описание этих автоматов приводится в разд. 2С.
Верхние границы для классов Гёделя и Шёнфинкеля — Бер- найса получены с использованием их свойства «конечной модели»: если формула одного из этих типов выполнима, то она имеет модель предсказуемой размерности. Для сингулярного класса мы конструируем эффективную недетерминированную версию процедуры «минископизации» или приведения к «ан- типренексной» форме. Что касается класса Аккермана, то мы несколько видоизменяем критерий, восходящий к Кальмару [16] и Шютте [29], а для класса ЗГ используем сведение, по существу проведенное Уорреном Гольдфарбом для класса Аккермана.
ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ
Логика ^
Как уже было сказано, мы имеем дело с классическим исчислением предикатов без равенства и функциональных символов, однако при переходе от формулы к ее функциональной форме появляются функциональные символы. Допустим, что формула замкнута, т. е. не имеет свободных переменных. Если ни один квантор не лежит в области действия отрицания, то функциональная форма этой формулы строится следующим образом:'
переменные переименовываются так, чтобы не было двух различных кванторов, связывающих одинаковые переменные;
для каждого квантора существования выбирается функциональный символ, отличный от других, и каждое вхождение связанной этим квантором переменной (за исключением расположенного сразу же за символом квантора существования) заменяется термом Цу^ УпЬ где f— выбранный функциональный символ, а гд, ..., уп — суть переменные, связанные кванторами общности, в области действия которых находится рассматриваемый квантор существования;
вычеркиваются все кванторы.
Например, функциональной формой выражения
^уРу А МуЗхРх A 3zQz может быть Рух A Pf ^У^ A Qa, где f— символ одноместной функции и а — символ константы (нульместной функции) ). (Если некоторые кванторы находятся
*) Дополнительное обсуждение эрбрановских разверток можно найти в работах [10, 22].
в области действия отрицания, то выполняется та же процедура, за исключением того, что кванторы общности в области действия нечетного числа знаков отрицания трактуются как кванторы существования, а кванторы существования в области действия нечетного числа знаков отрицания — как кванторы общности) .
Важность функциональной формы вытекает из ее использования в определении эрбрановской развертки. Назовем множество всех термов, построенных из функциональных символов функциональной формы, эрбрановским универсумом. (Если в функциональной форме нет ни одного символа константы, то в качестве «зародыша» необходимо внести символ константы.) Тогда эрбрановская развертка будет множеством всех частных случаев функциональной формы, которые можно построить подстановкой в функциональную форму термов из эрбрановского универсума на места переменных. Например, формулы Ра А APf(a)AQ(a) и Pf(f(a)) A Pf(a) Д Qa принадлежат эрбрановской развертке формулы ^уРу A Vy "ЗхРх A 3zQz, которая приводилась выше в качестве примера.
Теорема о развертке (Сколем — Эрбран — Гёдель). Произвольная формула выполнима тогда и только тогда, когда выполнима ее эрбрановская развертка (рассматриваемая как множество формул пропозиционального исчисления).
В последующем изложении через D(F) мы будем обозначать эрбрановский универсум формулы F. Термин «частный случай» резервируется для обозначения «частного случая, полученного подстановкой термов из эрбрановского универсума на места переменных», так что эрбрановская развертка формулы есть множество всех частных случаев ее функциональной формы.
Мы используем следующее обозначение для подстановки: FVy\/t\, ..., yn/tn\ есть результат подстановки в формулу F терма tx вместо каждого вхождения переменной ух, ..., tn вместо каждого вхождения переменной уп, причем все подстановки выполняются одновременно. Например, РухУ^Ух/У^ У2/НУ\)А = РУ2НУ\); если G представляет собой функциональную форму формулы F и содержит переменные ух, ..., уп, то эрбрановская развертка формулы F есть множество {G[//i//i, ...
Уп№ tx, tn^D(F)Y
№ь\ используем символ -^ для обозначения отношения эквивалентности в нашем логическом объектном языке и символ = для обозначения логической эквивалентности в метаязыке. Символ = принадлежит только метаязыку.
Введем следующие сокращения. Сингулярным называется класс формул только с сингулярными (одноместными) предикатными символами. Регулярные выражения используются для обозначения классов формул, определенных их префиксами,
например, Z*VE* есть множество всех формул, находящихся в предваренной форме и имеющих вид З21 ... Зг^уЗхх ... ... 3xmF, где к, m ^ О, 2ь ..., 2^, у, хх, ..., хт — переменные и формула F не содержит кванторов. Если S — произвольное множество формул, то через S-Sat обозначается множество выполнимых формул этого класса; например, 3*УУЭ*гл Monadic-Sat есть множество выполнимых формул из класса Гёделя только с сингулярными предикатными символами.
Класс ^~ есть расширение разрешимого класса I из [9] (см. также [10, 18]). Это класс всех формул с префиксом 321 ... ЗгкУу\Зх\ ... 3xm\fy^ которые содержат лишь двуместные предикатные символы и не включают атомарных формул вида Ру2ух или Ру2Х3 (/= 1, 2, ..., т). (Допуская любую из этих форм, мы получаем неразрешимый класс даже тогда, когда к = 0 и т = 1 [1, 20].) Его разрешимость представляет некоторый интерес, так как это один из немногих известных разрешимых классов, который содержит выполнимые формулы, не имеющие конечных моделей. Примером такой формулы в классе 2Г служит формула
V Ух Э X! V у^ (Р ХхУх л (Р У1У2 ~> РххУ2^ ^ П Р У\У\\
Вычислительная сложность
Используемой нами моделью вычисления является машина Тьюринга с единственной бесконечной односторонней лентой, которая одновременно служит и для представления входа, и для последующих вычислений. Символ |х| мы используем для обозначения длины любого объекта х при некотором естественном кодировании х. Таким образом, если х— слово над фиксированным алфавитом, то |х|— число символов в х; если х = {%1, ... ..., хп^—конечное множество слов, то |х| есть |4Ьх1,*х2 . ... ^х^Ь а если х— натуральное число, представленное в бинарной записи, то |х| есть logx. (Если не оговорено противное, то все логарифмы берутся по основанию 2.) Будут использоваться следующие классы сложности:
DTIME(/(n)) = {S: S допускается детерминированной машиной Тьюринга, работающей с временной границей f(n)};
NTIME(/(n)) = {S: S допускается недетерминированной машиной Тьюринга, работающей с временной границей f(n^y.
DEXPTIME = J DTIME(cre);
с>0
NEXPTIME = U NTIME(cn);
с > 9
D2EXPTIME = | |DTIME(/).
Пусть Si ^ 5* и S2 ^ Г*, где 2 и Г — конечные алфавиты. Говорят, что Si «эффективно» сводимо к S2, если существует «эффективное» отображение f; 2*->Г*, такое, что x^Si тогда и только тогда, когда /(x)^S2. Термин «эффективный» мы по- Бимаем здесь как «вычислимый за полиномиальное детерминированное время»; в большинстве случаев эти сведения можно также рассматривать как требующие только логарифмической рабочей зоны, но мы не будем демонстрировать или использовать это более сильное понятие «эффективности». Если S2 принадлежит DEXPTIME, NEXPTIME или D2EXPTIME, то мы можем быть уверены, что S1 находится в том же классе, если только сведение вызывает не более чем линейное увеличение длины входа. По этой причине мы введем более строгое понятие «эффективной сводимости»: мы говорим, что Si сводимо к S2 на зоне порядка g(n), если Si сводимо к S2 за полиноминальное детерминированное время при помощи такого отображения f, что для некоторой константы с > 0 и для всех х выполняется If(-v) I ^ С5"(М). Более того, если ^ — один из перечисленных выше классов, то мы говорим, что ^ сводим к S на зоне порядка g^, если каждый элемент Sf ^^ сводим к S на зоне порядка g^- В отдельных случаях, когда ^ есть DEXPTIME, NEXPTIME или D2EXPTIME, мы используем такие сведения вместе с результатами о детерминированных и недетерминированных временных иерархиях [8, 14, 30], чтобы установить нижние границы следующим образом.
Утверждение 2.1. Пусть g и h— такие функции, что для любой константы С\ > 0 существует такая константа с^ > 0, что h^Cxg^n)) С2П для всех п. Допустим, что класс DEXPTIME, NEXPTIME или D2EXPTIME сводим к S на зоне порядка g^n). Тогда существует такая константа с > 1, что соответственно S^DTIME(cA<")), S ^ NTIME (<?<">) или S ^ DTIME <сс^\
Доказательство. Мы рассмотрим только случай NEXPTIME, так как остальные доказательства получаются аналогично.
Пусть А — некоторое множество из NEXPTIME, которое не принадлежит, скажем, NTIME(3n). Если S было бы разрешимо за недетерминированное время chW, то А могло быть разрешимо за недетерминированное время chM^nV) ^ с№, поскольку Л может быть сведено к S с увеличением длины не большим чем C\g(n). По предположению это невозможно, если неверно, что сСг > 3; следовательно, если с < 31/С2, то S^ NEXPTIME (с”).
В настоящей статье используется этот результат со следующими g и h: g(n) = n\ogn и h(n^ = n/\ogn; g^ = n и h^ = n. •
В соответствии с обычной практикой теории вычислений мы рассматриваем все слова из некоторого класса (и, в частности
из класса формул первого порядка), построенные только из конечного числа различных символов. Это, например, означает, что если S— класс формул первого порядка и формулы из S могут содержать произвольное число предикатных символов, то существует такая константа 6, что формула с к различными предикатными символами должна иметь длину асимптотически не меньше чем &log&&. Иначе говоря, формула длины п может иметь только O(n/logn) предикатных символов. Если к^ ^dn/\ognt то log^>logn— log log n > (log п)/2 и, следовательно ^ log & > (dn/log n) (log п)/2 = dn/2. А так как1) п = Q(&log&), то для каждого d может быть лишь конечное число таких значений п, что к dn/\og п.
Другое следствие из этого предположения состоит в том, что дизъюнктивная нормальная форма формулы длины п имеет длину, асимптотически равную сп1Хо^п, где с — некоторая константа, так как такая формула может включать асимптотически только O^n/\ogn^ различных атомарных формул.
Альтернирующие автоматы
В разд. 9 и 11 мы сведем DEXPTIME к проблеме выполнимости для класса Аккермана и D2EXPTIME к проблеме выполнимости для класса £Г. Наш метод использует следующие характеристики этих классов сложности, установленные в [17]: множество принадлежит DEXPTIME тогда и только тогда, когда оно является языком, допустимым некоторым двусторонним альтернирующим магазинным автоматом, и принадлежит D2EXPTIME тогда и только тогда, когда оно является языком, допустимым некоторым двусторонним альтернирующим стековым автоматом. (Тот факт, что каждое множество DEXPTIME допускается некоторым альтернирующим магазинным автоматом, впервые подметили Чандра и Стокмейер [6].) Дальнейшее представляет собой интуитивный обсчет этих автоматов и формализацию их структуры. (Наша формализация несколько отличается от предложенной в [17], хотя легко обнаружить, что они эквивалентны. Как нам кажется, использование иной формализации должно упростить последующие конструкции.)
Магазинные автоматы. Двусторонний магазинный автомат имеет только читаемую ленту, на которой представлен его вход, и потенциально неограниченный магазин. В начале вычисления входное слово помещается на этой ленте, окруженное левым и правым концевыми маркерами Н и Н, которые не встречаются в самом слове, и читающая головка помещается над левым кон-
9 Запись f = Q(g) означает, что существуют такие с и п0, что g(n^"^ ^ cf(n) для всех п^* По.'
цевым маркером. В магазин помещается специальный маркер дна Z. В последующем автомат может перемещать читающую головку налево или направо и прекращает функционировать при попытке сдвинуть читающую головку левее левого конца своего маркера или правее правого. Он также может добавлять символы сверху в магазин («вталкивать» их) или удалять их с вершины магазина («выталкивать» их), но не может помещать другой маркер дна в магазин и прекращает функционировать, если пытается вытолкнуть маркер дна из магазина. Полное состояние автомата в любой момент времени описывается конфигурацией, которая состоит из состояния конечного управления, содержимого входной ленты, положения читающей головки на ленте и содержимого магазина. Одно состояние отмечено как заключительное*, входное слово допускается, если вычисление переводит автомат из первоначальной конфигурации в такую, в которой состояние является заключительным.
Единственной особенностью альтернирующего автомата является его управляющая структура. Определенные ее состояния выделены в качестве универсальных или экзистенциальных ветвящихся состояний. Из экзистенциального ветвящегося состояния автомат может переходить в любое (но одно) состояние из некоторого фиксированного множества состояний; полагается, что допускающее вычисление имеет место, если некоторый выбор следующего состояния в конечном итоге приводит к заключительному состоянию. (Это существенно недетерминированное ветвление.) С другой стороны, из универсального ветвящегося состояния автомат должен переходить в каждое состояние из некоторого фиксированного множества состояний и продолжать все последующие вычисления параллельно; допускающее вычисление — это такое вычисление, в котором каждый выбор следующего состояния в конце концов приводит к заключительному состоянию. «Альтернативный» характер этих вычислений связан с тем, что автомат может проходить через серии ветвящихся состояний, часть которых являются экзистенциальными, а часть универсальными.
Для большей определенности понятие «допускающая конфигурация» определяется рекурсивно следующим образом. Каждая конфигурация, в которую входит заключительное состояние, является допускающей. Конфигурация с состоянием типа экзистенциального ветвления является допускающей, если допускающей является какая-либо одна из следующих конфигураций автомата, в которую автомат может перейти (при изменении только состояния). Конфигурация с состоянием типа универсального ветвления является допускающей, если является допускающей каждая из последующих конфигураций, в которую
может перейти автомат. Входное слово допускается, если начальная конфигурация допускающая.
Теперь мы можем ввести определение полностью формально. Альтернирующий магазинный автомат М состоит из следующих частей: конечного множества К состояний; конечного входного алфавита 5; конечного алфавита магазина Г; правого и левого концевых маркеров Н и Ч, не принадлежащих множеству 5; выделенного маркера дна 2еГ; выделенного начального состояния s е К; выделенного заключительного состояния feK.
Множество состояний разделено на семь непересекающихся подмножеств. С каждым из них ассоциируется некоторая функция; (дизъюнктивное) объединение этих функций есть функция переходов автомата. Подмножества множества К и соответствующие им функции следующие:
Подмножество из К Имя Функция переходов
К,Читающие состоянияК2Состояния движенияКзВталкивающие состоянияК.Выталкивающие состоянияК5Состояния чтения магазинак6Состояния экзистенциального ветвленияКчСостояния универсаль-,К,Читающие состоянияК2Состояния движенияКзВталкивающие состоянияК.Выталкивающие состоянияК5Состояния чтения магазинак6Состояния экзистенциального ветвленияКчСостояния универсаль-,ного ветвленияного ветвленияб4: К4 —* Кб4: К4 —* Кб5 : Ks X Г —> К &6:К6 ^- 2х — {0} д7: Кч —> 2К - {0}б5 : Ks X Г —> К &6:К6 ^- 2х — {0} д7: Кч —> 2К - {0}d^X^tHl-, Ч» —* К б2:К2 —* КХ{~1, +П бз : Кз К X (Г - {/})d^X^tHl-, Ч» —* К б2:К2 —* КХ{~1, +П бз : Кз К X (Г - {/})
К,
Читающие состояния
К2
Состояния движения
Кз
Вталкивающие состояния
К.
Выталкивающие состояния
К5
Состояния чтения магазина
к6
Состояния экзистенциального ветвления
Кч
Состояния универсаль-,
К,
Читающие состояния
К2
Состояния движения
Кз
Вталкивающие состояния
К.
Выталкивающие состояния
К5
Состояния чтения магазина
к6
Состояния экзистенциального ветвления
Кч
Состояния универсаль-,
ного ветвления
ного ветвления
б4: К4 —* К
б4: К4 —* К
б5 : Ks X Г —> К &6:К6 ^- 2х — {0} д7: Кч —> 2К - {0}
б5 : Ks X Г —> К &6:К6 ^- 2х — {0} д7: Кч —> 2К - {0}
d^X^tHl-, Ч» —* К б2:К2 —* КХ{~1, +П бз : Кз К X (Г - {/})
d^X^tHl-, Ч» —* К б2:К2 —* КХ{~1, +П бз : Кз К X (Г - {/})
Конфигурацией называется четверка (р, w, i, у), где qe.K, w е Н 2* —I, 1 ^ t ^ |щ| и у е Г*. (Вершина магазина соответствует левому концу у.) Конфигурация (^, w, I, у) называется допускающей, если q— заключительное состояние f или если выполняется одно из следующих условий:
q^Ki и (61 (<?, a), w,i,^ — допускающая конфигурация, где а есть <-й символ в w;
q G Кз и (р, w, t'4-e, у) — допускающая конфигурация, где 62(7) = (р, в);
q е Кз и ^p,w,l,X^— допускающая конфигурация, где 63(7) = (р,М;
<7^X4 и (р, w, I, у') — допускающая конфигурация, где у = Ху' для некоторых Хе Г— {Z} и у'еГ*, и 64(g) = р;
q^K5 и (65(9, X), w, i, у) —допускающая конфигурация, где у = Ху' для некоторых X е Г и у' е Г*;
q е Кб и (р, w, i, у) — допускающая конфигурация для некоторого р^бб(^);
q е Кт и (р, w, I, у) — допускающая конфигурация для каждого р е 67(7).
Автомат М допускает слово uel* тогда и только тогда, когда ()s, Н и Н, 1, 2) есть допускающая конфигурация. Пусть L^M) = {и е 5*: М допускает и); тогда справедливо следующее утверждение.
Утверждение 2.2 [17]. S е DEXPTIME тогда и только тогда, когда S = L(M) для некоторого альтернирующего магазинного автомата М.
Стековые автоматы. Стековый автомат очень напоминает магазинный автомат, за исключением того, что «стековая головка», которая используется для добавления символов в магазин или их удаления, также может проникать внутрь магазина, однако исключительно с целью его проверки (но не изменения). Когда (и если) впоследствии она возвращается наверх, вталкивание или выталкивание может быть продолжено. Магазин, с которым можно манипулировать таким образом, называется стеком. Альтернирующий стековый автомат есть стековый автомат с тем же типом управления и допущения, что и альтернирующий магазинный автомат.
Формально альтернирующий стековый автомат состоит из тех же частей, что и альтернирующий магазинный автомат, за исключением того, что множество состояний и функция переходов разбиты на девять частей. Первые семь частей такие же, как для магазинного автомата, лишь Кб переименовано в «состояния чтения стека». Две новые части следующие:
Кб Состояния движения стековой 68: Кб ~^ К головки вниз
Кд Состояния движения стековой 69: Кд —> К головки вверх
Конфигурация есть пятерка (q, w, i, у, /), где (q, w, z, у) есть конфигурация (как определено выше) и 1^/^|у|. Конфигурация (^, w^i» У, /) называется допускающей, если q— заключительное состояние / или
q^ Ki и (61(7, а), w^ U Y, /) — допускающая конфигурация, где а есть z-й символ в w;
7^ Кг и (р, w, z + е, у, /)— допускающая конфигурация, где 62(7) = (Р, е);
q ^ Кб, / = 1т1 и (р, ^, G Ху, / + 1)— допускающая конфигурация, где 63(7) = (Р, X);
qeK^ / = lvl и (Р^ЛлМ—1) — допускающая кон фигурация, где у = Ху' для некоторых Хе Г — {Z} и у'еР и 64(7) = р;
q е Къ и (65(17, X), w, ц у,/)— допускающая конфигурация, где X есть (| у | — / + 1) -й символ в у;
qeKs и (р, w, I, у, /)— допускающая конфигурация для некоторого peS6(q);
qeKi и VPiw3^d^ — допускающая конфигурация для каждого р е 6? (д);
q е Кб и ^(q)^, i, у, / — 1)—допускающая конфигурация;
q е Кд и (69(7), w, ц у, /+1) — допускающая конфигурация.
Слово и е 5* называется допустимым тогда и только тогда, когда (s, Н и 4,yZ, 1) есть допускающая конфигурация. Пусть Е(М) = {и е 2*: М допускает и). Тогда справедливо следующее утверждение.
Утверждение 2.3. S е D2EXPTIME тогда и только тогда, когда S = L(M) для некоторого альтернирующего стекового автомата М.
Следующий факт из теории автоматов, который нам потребуется в дальнейшем, — это известный результат, состоящий в том, что детерминированные временные классы замкнуты относительно дополнения.
Утверждение 2.4. Пусть S ^ X*. Если S принадлежит DEXPTIME, то и X*— S принадлежит DEXPTIME, и если S принадлежит D2EXPTIME, то и X*— S принадлежит D2EXPTIME.
ВЕРХНИЕ ГРАНИЦЫ; ОБЩИЕ ЗАМЕЧАНИЯ
Если класс формул содержит только невыполнимые формулы и формулы с конечными моделями, то для формул из этого класса проблема выполнимости разрешима, так как и невыполнимые формулы, и формулы с конечными моделями можно рекурсивно перенумеровать. (Все рассматриваемые здесь классы, за исключением класса 2Г, обладают этим свойством, которое называется финитной проверяемостью.) Разрешающую процедуру для формул из класса ^ можно усилить, если существует рекурсивная «ограничивающая функция» р, такая, что любая выполнимая формула Ее ^ имеет модель размерности не больше чем p(F). Фактически ограничивающие функции известны для каждого из рассматриваемых классов, и этот метод для них применим. Например, формула сингулярного исчисления предикатов имеет модель только тогда, когда она имеет модель размерности не больше чем 2п, где п — число предикат-
ных символов в F. (Подробности можно найти в работах [3] или [10].)
Если класс ^ имеет ограничивающую функцию 0, то выполнимость формулы F ^^ можно проверить недетерминированно, выбирая р^ 0(F) и рассматривая модель размерности р. Сколь сложна эта процедура?
Один способ реализации этой процедуры состоит в формировании так называемой «общей развертки» F над универсумом из р элементов с последующим предъявлением ее на вход процедуры, распознающей выполнимость пропозициональных формул. Общая развертка формулы F образуется путем введения констант Л1, ..., ар, не встречающихся в F, и следующей замены подформул:
р р
HxG на V О\х1аД и V xG на Д GV^a^.i = 1 i = 1
Константы аь ..., ар можно закодировать словами длины O(logp), так что если в формулу F входят q кванторов, то размерность общей развертки есть O(pq logр- |F\), что равно О(р! ^р). Так как эту формулу можно рассматривать как пропозициональное высказывание, поступающее на вход недетерминированной процедуры с полиномиальным временем работы, то получается следующий результат.
Утверждение 3.1. Имеет ли формула F с q кванторами модель размерности р, можно установить за недетерминированное время cq log p+1os । F1 (= О (с F ।Iog р) ), где с — некоторая константа.
Для некоторых классов этот общий подход можно улучшить за счет угадывания модели, не ожидая, пока будет построена общая развертка.
Утверждение 3.2. Имеет ли формула Feu кванторами общности, находящаяся в предваренной форме, модель размерности р, можно установить за недетерминированное время f(\F\-pu), где f — некоторый полином.
(Такая граница, согласно утверждению 3.1, в общем случае является экспонентой от |Е|), но мы применим это утверждение в разд. 7 к классу формул в предваренной форме, каждая из которых имеет только два квантора общности.)
Доказательство. Допустим сначала, что мы располагаем частичной структурой размерности р, которая может быть, а может
и не быть моделью для формулы F. Если она является моделью для F, то для каждой u-ки элементов, подставляемых на места переменных, связанных кванторами общности, существует такое «правильное» множество значений переменных, связанных кванторами существования, что результирующая формула истинна в модели для этих значений переменных. (Конечно, в зависимости от кванторной структуры формулы некоторые значения для переменных, связанных кванторами существования, могут быть выбраны независимо от значений переменных, связанных кванторами общности.)
Если было бы возможно угадывать подходящие значения переменных, связанных кванторами существования, то можно было утверждать, что имеющаяся в распоряжении структура есть модель для F, просто рассматривая всевозможные значения и-к для переменных, связанных кванторами общности. Но тогда было бы необязательно иметь полную модель, так как суммарное число когда-либо проверяемых атомарных формул не может превышать произведение ри и числа атомарных формул из F. Истинностные значения структуры для других атомарных формул не имеют отношения к вопросу о том, является ли эта структура моделью для F. Таким образом, получается следующая недетерминированная процедура.
Угадывается подходящая для F структура размерности р путем выписывания не более ри- |F| атомарных формул с символами предикатов, взятых из F, и аргументами, взятыми из набора «1, ..., ар. Любая атомарная формула из этого списка рассматривается как «истинная», остальные — как «ложные».
Перенумеровываются всевозможные значения переменных, связанных кванторами общности', путем угадывания в подходящие моменты правильных значений переменных, связанных кванторами существования, и проверки для каждого полного множества значений, что эта структура, представленная в виде таблицы, в действительности делает формулу истинной.
Константы имеют длину O(logp), следовательно, каждая атомарная формула шага (1) имеет длину, не превосходящую |F|logp. Поэтому время порождения таблицы на шаге (1) равно O(|E|2p“log р). Аналогично, время для шага (2) равно Od^PpHogp). Следовательно, суммарное время есть полином от |f|pw, что и требуется доказать.
СИНГУЛЯРНЫЙ КЛАСС И КЛАСС ГЕДЕЛЯ; НИЖНЯЯ ГРАНИЦА
Теорема 4.1. NEXPTIME сводим к Monadic-Godel-Sat на зоне порядка п log п.
Доказательство. №ъ\ опишем сведение процесса допущения на недетерминированных машинах Тьюринга с экспоненциально
ограниченным временем работы к множеству формул из указанного класса. Пусть S — множество из NTIME(cn) для некоторой константы с и М — недетерминированная машина Тьюринга, допускающая S в пределах этой временной границы. Без потери общности предполагаем, что с есть некоторая степень двойки, и положим d = log с. Также без потери общности мы можем предположить, что машина М допускает входное слово w длины п, если для входа w просто имеется вычисление из сп— 1 шагов, и отвергает w, если не существует вычисления на входе w с таким числом шагов. В самом деле, если М допускает, переходя в выделенное заключительное состояние, то М можно модифицировать так, чтобы получить двухленточную машину Тьюринга М', которая работает желаемым образом. Машина М' использует вторую ленту, как часы, которые считают до сп—1; если М допускает, переходя в заключительное состояние в пределах этих временных границ, то NV входит в тривиальный бесконечный цикл, в противном случае М' прекращает свое вычисление прежде, чем часы покажут максимальное значение. Устранение второй ленты для получения одноленточной машины Тьюринга М", которая допускает желаемым образом, влечет за собой возведение в квадрат временных границ. Однако М,г также допускает S за недетерминированное экспоненциальное время, поскольку (сп)2 = (с2)п.
Теперь зафиксируем непустое входное слово w и положим | w | = п и s = сп = 2dn. Мы построим формулу F длины O(zzlogn), которая выполнима тогда и только тогда, когда М допускает w. (Константа, подразумеваемая в О-обозначении, зависит от М и с.) Эта формула F имеет вид ЭгЕ1 Л VyBxF2 Л Л VyxVyJs, где Fx, F^ и Е3— бескванторные формулы; легко видеть, что предваренная форма формулы F принадлежит классу Э*УУЭ*. В действительности мы представляем не саму формулу F, а конъюнкты ее функциональной формы, в которых г заменен символом константы а, а х заменен термом f(y). Таким образом, эрбрановская развертка формулы F есть множество всех примеров, полученных из функциональной формы подстановкой термов из множества {«, f(а),f(f(а)), ...} вместо переменных у, ух и у^. Для каждого reN пусть г — терм Д/(... (а)...)) с г вхождениями символа f, например О = а.
Пусть S—ленточный алфавит машины М, К — множество ее состояний и Г = S w (КХ 2). Тогда вычисление длины s (вычисление за $— 1 шагов) можно представить как отображение ц: {0, ..., s—1}Х{0, 5—1}->Г. Здесь для каждого значения / должно существовать единственное значение г, такое, что ц(/, /) е К X 2; в этом случае значение I определяет положение головки в момент времени /, первая компонента
p(i, j) есть состояние, а вторая—обозреваемый символ в момент времени j. Если же |i(i,/)e2, то символ на t-м квадрате ленты (считая с 0) в момент времени j есть ц(/,/). В частности, если ц представляет вычисление со входом w и w = wQ ... wn-\ (каждый символ wieiy то р(0, 0) = (у0, ^о), где qQ— начальное состояние машины М; ^(£, 0) = W; для z= 1, ..., п—1, и p(z, 0) = В (пустому символу) для i = п, п + 1, ..., s — 1.
Основная идея построения состоит в том, чтобы использовать термы 0, 1, ..., s12—1 вместо s12 шестерок (ль ..., л6), где каждый элемент из ль ..., л6 есть один из s2 пар-аргументов (0,0), ..., (s—l,s—1) предполагаемого отображения р. Подразумеваемое соответствие состоит в том, что если 0 ^ г ^ ^ s12—1, то г соответствует шестерке ((pi,^i), ..., ^p^q^V где 12б//г-разрядное бинарное представление г получается конкатенацией d/г-разрядных бинарных представлений для qs, Рб, ... ..., pi, рх в указанном порядке. Формула содержит сингулярные предикатные символы Bz, i = 0, ..., \2dn—1, и Si, i=l, 5, со следующими подразумеваемыми интерпретациями для аргумента г, представляющего Црх,рх^ ... • ■•, (РеЛе)):
Bzr истинно тогда и только тогда, когда i-й разряд бинарного представления г есть 1 (нулевой разряд — наиболее существенный) ;
Sir истинно тогда и только тогда, когда (р2, q^ = (pi + 1, 71); S2r истинно тогда и только тогда, когда (р3, 73) = (р2 + 1, д2); S3r истинно тогда и только тогда, когда (р4,=(рх,qx 4- 1);
S4r истинно тогда и только тогда, когда (р5, q5) = (р2, ^2 + 1); S5r истинно тогда и только тогда, когда (р6, ^6) = (р3, ^3 + 1). Таким образом, формула Sir А ... AS3r истинна тогда и только тогда, когда г представляет шестерку ((р, q), (p-^-l,q), (р + 2,9), (p,q+\), (р+1,^+1). (р + 2,^+1)); возможность описать такую схему позволяет нам определить, как состояние, положение головки и содержимое ленты в некоторый момент времени зависят от этих компонент в предыдущий момент времени. Мы начинаем с представления конъюнктов, которые служат аксиомами для указанных интерпретаций символов предикатов; при этом вводится несколько вспомогательных символов предикатов, чтобы способствовать точному определению этих условий.
Пусть т = 12dn. Чтобы аксиоматизировать В/, мы используем сингулярные предикатные символы В/, / = 0, . ..,т со следующей предполагаемой интерпретацией:
В1г истинно тогда и только тогда, когда разряды i, f + 1, ... ..., т — 1 бинарного представления г суть 1.
Приведенные выше интерпретации Вд и В* зафиксированы в следующих формулах:
m— 1
ВтУ, К ДОу^кВилу /хв^,
i = 0
т-\т-1
Д JBia, л (В^(у))^-](В1у^В1+1у)). 1=01=0
Последняя формула кратко описывает, как изменяются разряды бинарного представления при переходе от числа к его последователю. i-й разряд г + 1 есть 1 тогда и только тогда, когда либо (а) i-й разряд г есть 0, а разряды f+h ..., т — \ у г все суть 1, либо (Ь) i-й разряд г есть 1, а какой-либо из разрядов i + 1, ..., т — 1 есть 0.
Аксиоматизация для Si, ..., S5 выглядит довольно одинаково, поэтому в деталях мы представляем ее только для Si. Нам необходимо показать, что разряды 9dn, ..., 10dn—1 кодируют dn-разрядного последователя с разрядами \\dn, ..., 12dn—1, а разряды Мп, ..., 9dn—1 совпадают с разрядами \9dn, ... ..., V\dn—1 соответственно. Эти условия обеспечиваются формулой'
dn-1
51У* Д (Bodti+iy ^Bwdru-VilJ * ^lldn+i + ip))
1 = 0
Л Г V B^dn^tу\ /\ Л ^ВмпА-ty * B\odn-vty\ X i=0/1=0
поскольку у нас уже имеются предикаты BL Для того чтобы определить другие S/, нам необходимо было бы ввести дополнительные предикатные символы для обозначения, например, того, что разряды от (10dn + i)-го до (lldn—1)-го суть 1.
Оставшаяся часть этого построения имеет два главных аспекта: общее описание операций машины М независимо от входа (за исключением его длины) и спецификацию для конкретного входного слова w. Мы начинаем с первого. Для каждого символа оге Г и для i= 1, ..., 6 мы вводим сингулярный предикатный символ Pot со следующей предполагаемой интерпретацией (здесь г представляет ((pbpi), ..., (pe.Qo^, как описано выше):■
Р0(Г истинно тогда и только тогда, когда ц(рд, q^ = о.
Мы должны, во-первых, обеспечить, чтобы Poi и Poj были согласованы, если даже одна и та же пара (р, р) кодируется различными компонентами различных шестерок. С этой целью мы введем выражение
6 pdn-l
А ( Л (^т -Мп^У Bm-ldnk-t [У?) ~ > А ^О}У 1"^ <зк.У2>\ » ЛК= I X I — и \(J (ЕЕ 1*
(это единственная часть формулы F, содержащая одновременно переменные yv и у2у Затем нам необходимо обеспечить, чтобы ц была бы функцией:
© Ро\У,
аеГ
где Ф обозначает расширенное исключающее «или».
Теперь программу для машины М можно определить набором R шестерок <ai, .а6>, где а2 и одна из а4, а3, а5 принадлежит множеству КХ S, а остальные четыре компоненты — множеству 2. Значение такой шестерки состоит в том, что если машина М находится в состоянии, указываемом о^ и ее головка находится в среднем из трех последовательных квадратов, содержащих символы, указываемые аь а2 и аз, то М может изменить свое состояние, сдвинуть головку и изменить символ в обозреваемом квадрате, как указано в а4, аз, ав. (Эти правила следует незначительно видоизменить для уточнения поведения машины М, когда ее головка расположена в самом левом квадрате ленты.) Для обеспечения того, чтобы М работала в соответствии с этими правилами, нам необходима конъюнкция для всех ai, a3 е 2 и а2 ^ КХ 2:
S\y л S2y Л S3y л S^y л S^y к Роду к Ро^у л Р0^у
-> V кР^У А Р0^У к Р^у)\
здесь дизъюнкция распространяется на все a4, аз, ае, такие, что <аь ..., a6>^R. (Для описания действий машины М, когда ее головка расположена в самом левом квадрате ленты, необходимы некоторые дополнительные конъюнкции, которые здесь не уточняются.) Нам необходимо также обеспечить, чтобы квадраты ленты, не расположенные в окрестности головки, не изменялись. Для этого достаточно следующих выражений (плюс некоторые дополнительные выражения для работы с самым левым и самым правым квадратами ленты):
Д (Si# Л S2y N s^y N Роду л Ро^У К Р^чУ -> PQ£yY
Теперь осталось только определить значения ц(0,0), ... ..., p(s—1,0). В этом нам поможет тот факт, что пары (0,0), ..., (s—1,0) суть первые компоненты шестерок, представленных термами 0, ..., s — 1. Введем п + 1 новых предикатных символов Ni, г = 0, ..., п—1, и Q со следующими предполагаемыми интерпретациями для аргумента г:
Niv истинно тогда и только тогда, когда г = ц
Qr истинно тогда и только тогда, когда п ^ г ^ s— 1.
Чтобы обеспечить для предикатов N^ и Qr значение истина хотя бы в указанных случаях (и это все, что требуется в действительности 9), мы вводим выражения
п-2
Noa, Л ^ty^Ni+1f^,•
i = 0
\\dn-\
Nn_xy->QHyY Qy f Л ~МШу^()Цу\ t=0
Теперь вспомним, что w = w^ ... wu_x, каждый символ Wi e S и В — пустой символ. Для завершения построения нам необходимы выражения n — 1
Noy Ptq0, w^y, Д (N{y PWily\
Qy-^P^y-
Если машина М фиксирована, то, как и требовалось, построенная формула имеет длину О (п log п).
Отсюда при помощи утверждения 2.1 выводим
Следствие 4.2. Существует такая константа с > 1, что ни класс Гёделя, ни сингулярный класс не могут быть разрешены за недетерминированное время сп!Х°£ п.
СИНГУЛЯРНЫЙ КЛАСС; ВЕРХНЯЯ ГРАНИЦА
Теорема 5.1. Monadic-Sat ^ NTIME (^/log ^) для некоторой константы с > 0.
Доказательство. Для разрешения сингулярных формул мы воспользуемся некоторой версией метода «минископизации» из [27, с. 192]. Этот метод, если он применен неправильно, может дать в результате экспоненциальное увеличение длины формулы. Здесь мы совместим его применение с недетерминированным алгоритмом таким образом, что кванторы элиминируются по мере перемещения к своим областям действия. Число атомарных формул в формуле не увеличивается, следовательно,
9 Здесь автор допускает неточность. На самом деле все-таки необходимо позаботиться о том, чтобы предикаты Nt и Q были ложными для соответствующих значений аргументов. Для этого во второй из приводимых автором формул импликацию нужно заменить на эквивалентность и, кроме того, добавить следующие формулы:
12dn-Y/п — \\/Hdn-1X
VВ1У -> -]Noy,I VBjy IV IVВ,у )->-]Qy.
Z = 0\/ = 0/Xi=07
Легко видеть,чтодобавлениеэтихформулнеменяетпорядкадлины фор
мулы F. — Прим. ред.
длина формулы никогда не возрастает более, чем экспоненциально от первоначальной ее длины.
Известно, что сингулярная формула F выполнима тогда и только тогда, когда она имеет модель с не более чем У элементами, где к — число предикатных символов в формуле F. Если п— длина формулы, то /z = Q(&log&), из чего следует, что к = О (я/log п). Более того, эта модель не может иметь двух элементов с одинаковым сингулярным индексом, т. е. с одинаковым множеством сингулярных предикатных символов, которые истинны на этих элементах.
Первый шаг процедуры состоит в угадывании модели. Это означает выписывание р ^У двоичных векторов длины к, по одному для каждого сингулярного индекса. Затем мы элиминируем кванторы по одному за один раз. С этой целью выберем один из самых внутренних кванторов, т. е. такой квантор, в области действия которого не находятся никакие другие кванторы. Допустим, что это квантор общности; аналогичные рассуждения применимы и для квантора существования. Квантор и его область действия имеют вид VyG, где G уже не содержит кванторов. Представим G в конъюнктивной нормальной форме, например G = Gx А ... Л Gi, где Gi — дизъюнкция атомарных формул и отрицаний атомарных формул. Тогда
V yG = X/ yGx л ... л V yG[.
Затем переставим элементы 4yGi так, чтобы те, в которых переменная у действительно встречается, располагались слева, и переставим подформулы этих Gi так, чтобы в этих подформулах атомарные формулы, содержащие переменную у, располагались слева. Затем передвинем квантор Vy внутрь дизъюнкций так, что
VyG^^yGx v Gi) л (VZ/G2 v G2) л ... Л ^yG'd \/ Gd) Л Gd^x л... л Gt Все формулы Gi и Gt являются дизъюнкциями атомарных формул. Ни одна формула Gt не имеет вхождений переменной у, а каждая формула Gi имеет вхождения переменной у и не содержит иных индивидных переменных. Теперь переходим к угаданной модели, чтобы определить истинны или ложны формулы Vz/Oi, . . ., MyGde Проверка ^yGt состоит просто в определении, существует ли элемент этой модели со значением противоположным тому, которое необходимо в Gt для каждого сингулярного предикатного символа. Заменим подформулу VyGi на «истина» или «ложь» и упростим результирующее выражение. Этот шаг завершает элиминирование одного квантора: повторим ту же процедуру для других кванторов, двигаясь изнутри наружу. (Кванторы существования элиминируются посред-
ством представления их областей действия в дизъюнктивной нормальной форме.)
Допустим, что первоначальная формула имела длину п и содержала m различных атомарных формул. Тогда m = = O^n/\ogny Самая длинная формула, которая может быть порождена на любом промежуточном шаге, содержит не более 2т дизъюнкций (конъюнкций), каждая из которых есть конъюнкция (или дизъюнкция) этих первоначальных пг формул. Следовательно, каждая конъюнкция или дизъюнкция имеет длину O^nlogny а общая длина есть O^n/\og п)-2niXog пУ Так как число элиминируемых кванторов не превосходит п, вся процедура для некоторой константы с займет недетерминированное время, не превосходящее c^/log п.
КЛАСС ГЁДЕЛЯ; НИЖНЯЯ ГРАНИЦА
Существует такая константа d > 0, что формула из класса Гёделя выполнима тогда и только тогда, когда она имеет модель размерности не больше чем dm, где пг — число предикатных и индивидных символов (см. [10]). Так как формулы из этого класса в предваренной форме имеют два квантора общности, то можно применить утверждение 3.2 со значениями р = dm и и = 2. И поскольку пг = О (| F | /log | F |), отсюда сразу же следует
Теорема 6.1. 3WV2*-Sat е NTIME (cn/log ”) для некоторой константы с > 0.
КЛАСС ШЁНФИНКЕЛЯ - БЕРНАЙСА; НИЖНЯЯ ГРАНИЦА
Теорема 7.1. NEXPTIME сводимо к 3*V*-Sat на зоне порядка п.
Доказательство. Как и в разд. 4, мы сводим процесс допущения на недетерминированных машинах Тьюринга с экспоненциально ограниченным временем работы к формулам из этого класса. Мы можем найти более экономное сведение, но лишь при помощи кодирования чисел и слов над алфавитами, размер которых увеличивается как длина входа.
Пусть" S — множество из NTIME(^) для некоторой константы с. Для любого п ^ 0 пусть пг (п) — такое наименьшее целое, что m(n)mW"^cn или, что эквивалентно, m(nyogc пг (п) ^ ^ п. Таким образом, пг (п) = О (/г/log пУ Допустим далее, что М — недетерминированная машина Тьюринга, которая допускает S за время m^mW. Рассуждая аналогично тому, как это сделано в разд. 4, мы можем предположить, что машина М допускает вход длины п, если для него просто имеется вычисление, содержащее m(ny>w—1 шагов. По произвольному входному
слову w машины М наша конструкция дает формулу F длины О(|гу|), которая выполнима тогда и только тогда, когда М допускает w. (Вновь константа, подразумеваемая в О-обозна- чении, зависит от машины М и константы с и не зависит от слова гу.) Мы представляем функциональную форму F в виде конъюнкции подформул, в которой константы замещают переменные, связанные кванторами существования.
Пусть 2 — ленточный алфавит машины М, К—множество ее состояний и Г = 2 о (КХ^ • Зафиксируем некоторое входное слово w и положим n = lw), т = т(м) и s = mm. Как и в разд. 4, вычисление длины s машиной М можно представить в виде отображения ц: {0, ..., s—1}Х{0, ..., s—
Пусть множество Г содержит в точности g символов и / = floggml. В качестве констант в нашей конструкции мы используем
члены множества Г;
т констант d^ ..., dm_\, которые представляют т цифр в системе с основанием т;
(gz+I—l)/(g—1)=0(т) констант для представления списков символов из Г длины не более /; мы обозначаем их через < >, <о> (где о е Г), <oio2> (где оь п2 е Г) и т. д.
Наша цель состоит в аксиоматизации (2m + 1)-местного предиката Р со следующей подразумеваемой интерпретацией:
PtQ ... t2m истинно тогда и только тогда, когда </0, ..., tm_x> и <tm, . .. , t2m_<> представляют пару таких чисел t, /, что Н(*> /)= Г.
Отметим, что m-ок dQ, ..., dm_\ констант как раз достаточно для представления всех чисел из отр’езка 0, ..., s—1. Отсюда следует, что по любой модели для F можно построить допускающее вычисление на машине М при входе w и, наоборот, по любому такому допускающему вычислению можно определить модель для F.
Как и при построении в разд. 4, конъюнкты относятся к трем типам: формулы, описывающие отношение следования, формулы, описывающие действия машины М с произвольным словом длины п, и формулы, характеризующие данный вход гу. Мы начинаем с формул, описывающих отношение следования между числами из множества 0, ..., s —1. Оно представляется 2т-местным предикатным символом S со следующей подразумеваемой интерпретацией:
S/o . •. Um_\ истинно тогда и только тогда, когда число, представленное </т, .. . , ^2m-i>, является последователем числа, представленного </о, ..., tm-\).
Используются несколько вспомогательных предикатных символов, чтобы точно зафиксировать интерпретацию S: это дву-
местные предикатные символы N, N^ и Е. Их подразумеваемые интерпретации таковы:
Nt\t2 истинно тогда и только тогда, когда для некоторого / = О, ..., m — 2 будет h = di и /2 = d^;
N^t^ истинно тогда и только тогда, когда для некоторых i и /, 0 ^ i < / ^ m — 1 будет Л = di и /2 = df,
Etd2 истинно тогда и только тогда, когда для некоторого i = 0, ..., m — 1 будет t\ = ^2 = di.
В качестве аксиом для описания этих предикатных символов мы используем следующие формулы:
т-2
Л Ndtdi+1, Nyxy2^N+yvy2, z=0
N+yvy2 Л Ny2y3 -> ^ухуз Л И Nyxy3, ~\Nyxyx Л ^ухУ^ -> ~\Ny2yx^
Д Edidit <N+yYy2v N+y2yxV^> "АЕухУ2) i=0
/т-2\
Кут_ху'т_\^\$У0 • • • У т — \Уй • • • У'т-\ Д ЗД^) >
ЕУ» • • • Ущ-2^т-\Уй • • • Ущ-й^о*^
(SdQy0 ... ym_2d0y6 ... Ут-2 А "1 ^Eyodm_x Л EyQd^p, 1 ^ут_хУ'т_х/\^ (Еут_xdm_xWm_xdoy^~\Syo... ут_ху'о • • • у'т_х. Эти формулы единственным образом определяют интерпретации для N,N+ и S на всех наборах аргументов из do, ..., dm_\. (Их интерпретации на других аргументах не важны, при построении истинностных означиваний любая другая константа может считаться совпадающей с d0.) Отметим, в частности, что последние три формулы определяют условия, при которых две т-ки </0> ••• > ^m — v) и <^о»^т-6 находятся в отношении следова
ния: (1) если ^tm_v t^-^ есть пара последовательных чисел di, di+\, то эти т-ки последовательны тогда и только тогда, когда первые т—1 цифр попарно совпадают; (2) если tm-\ = dm_\ и tfm_\ = do, то эти m-ки последовательны тогда и только тогда, когда их первые m—1 цифр, предшествуемые do, находятся в отношении следования, и их первые цифры не являются dm_\ и do соответственно; (3) в остальных случаях эти m-ки не последовательны.
Теперь мы можем обратиться к формульному описанию операций машины М. Сначала мы должны позаботиться о том, чтобы ц была функцией:
© РУ0 • • • У2т-\О.
о е Г
Как и в разд. 4, правила функционирования машины М можно определить в виде набора R шестерок <щ, ..., о6>. После этого мы включаем в одну конъюнкцию следующие формулы, где Qi, Оз е 2 и о2 е КХ 2: -
(РХ0 • • •• Ут-1°1 Л Р< Хт-1У0 • • • У-п-^
Л PxQ . . . Хт_1у0 . . . Z/m_1<T3 Л Sxo . . . Х(п_1Х0 . . . Хт !
A Sx0 ... хт1х0 .. . х/и_1 л SyQ . .. ут_ху0 ... Ут_^
V (Рхо ... хт_ху'д . . . у'т_хО4 л Рх^ .. . х'т_хУд ... у'т_хо5
NPX"у'^^
дизъюнкция распространяется по всем <о4,о5,о6>, таким, что <Oi, ..., о6> е R. (Вновь, чтобы описать функционирование машины Л4, когда ее головка находится над самым левым квадратом ленты, необходимы некоторые дополнительные конъюнкты, которые мы здесь не уточняем.) Нам также необходимо условие, что квадраты ленты, не находящиеся в окрестности головки, не изменяются. С этой целью мы можем использовать
а >аД• Хт-1Уо •••Ут А А Рх'о . . . х'т_ху0 . . . ym_xG2
Л Рх0 ... хт_ху0 . . . Ут_\О3 Л Sx0 . .. хт_хх0 . .. хт_х
Л Sx0 ... xfn_xxQ ... хт_х Л Sy0 ... ут_ху0 ... Ут_х
^Рх'> " * * Хт—1Уо У'т-Л<^
плюс дополнительно аналогичные конъюнкты, применяемые к самому левому и самому правому квадратам ленты.
Теперь остается лишь убедиться, что значения ц(0, 0), ... ..., p(s — 1, 0) правильные, а именно ц(0, 0) = (70, ^о), где до — начальное состояние и w0— первый символ слова w; р(г, 0) = = Wi для I = 1,2, ... , п — 1, где Wt есть Ц + 1) -й символ слова w; p(f, 0) = В — пустой символ для п ^ i ^ s— 1. Чтобы более коротко определить ц(0, 0), ..., р(/2—1, 0), мы используем последовательность из р = \ п/Ц констант, каждая из которых представляет подслово слова w длины не более /. Нам также необходимы формулы для распаковки этих блоков и получения их индивидуальных символов. Отметим, что
р = Гп/л = [rt/flogg т"П = О (т).
- Мы введем трехместный предикатный символ Q для того, чтобы представить таблицу 3X((gl-x— l)/(g"—1)" 1)) строк, имеющих длину от 1 до / включительно, первых символов каждой строки и слов, которые остаются, когда вычеркнут первый символ. Пусть pi, aj, qpi, ..., рх, Ох, фх— последовательность
всех таких троек, т. е. X = (^'~‘ — !)/(£—!)— L {рь • • • > Рх} = = {и; и е Г* и 1 ^ | х | ^ /}, аь ..., ох е Г и р< = о/ср, для каждого i. Тогда в качестве конъюнктивного члена мы включаем формулу')
Л Q«Pz) Oi <Ф<»-Z = 1
Нам необходим еще один предикат, /, который имеет m + р аргументных мест и следующую подразумеваемую интерпретацию:
Ito •.. tm-\U\ ... ир истинно тогда и только тогда, когдз <to ... tm-\) предстзвляет число I и <щ, .ир> предстзвляет знзчения ц(/, 0), ц(/+1,0), . .., p(s—1,0) в виде последовательности подслов.
Конечно, последовзтельность из п символов из Г можно точно предстзвить посредством <Д\ ... ир>, и этого достзточно, тзк как все ц(п, 0), ..., p(s —1,0) должны быть пустым символом В. Мы используем отношение Q для того, чтобы рзспзковзть Ui, когдз и\ сводится к констзнте < >, обознзчзющей пустую строку, последние р — 1 зргументов / сдвигзются влево нз одну позицию, з самый правый зргумент ззменяется специзльной кон- стзнтой а. (Это может быть dQ или любзя другзя констзнтз, которзя не используется для предстзвления слов из злфзвитз Г.) Когдз все аргументы / словзрного типз распакованы, вхождение а достигзет позиции и^ и поэтому знзчения ц(/, 0) обязательно должны быть пустыми.
Точнее говоря, пусть ф0, ..., фр-i есть /-кратное сжатие ц(0, 0), ..., ц(п— 1, 0), т. е. + есть строка p(/z, 0)ц(// +1,0) ... ... ц(// + /—1,0). Затем мы включаем в качестве конъюнктов следующие формулы:
Id0 . . • d(M) . .. (%_,),
Ix0 xm_xzo ... zp_x л Qzoyz^Pxo ... xm_xd0 ... doy (Sxo • • • xm-ixo • • • x'm_i^IXo • • • • Z^,).
J) Необходимо еше добавить формулы, которые завершают полное описание предиката Q. Можно поступить, например, следующим образом. Как несколькими строками выше, формулами длины О (/и log т) вводим предикатный символ Е? с подразумеваемой интерпретацией:
Е' ху истинно тогда и только тогда, когда х = у — щ для некоторого i = 1, . .., g или х = у = о, для некоторого / = 1, .. ., X ± 1 (здесь Рх+1 = < »•
Затем конъюнктивно добавляем формулу
Qxyz-> V Е' хр. Д Е' уо .Л Егер., ..., .1 = 1111
где при любом i выполняется равенство р/ = о^ь Как видно, общая длина добавленных формул имеет порядок /nlogm. — Прим. ред.'
1Х^ . . . Xт_ 1 ( ^ 2j . . . 2р_ 1> IXq . . . Хт_ j^j . . . 2р_ yd,
Iх^ .. . хт_ха^х ,.. ^р_^ >■Рх^ . . . Xtn_xd$ . . . ^Zq®
Л (Sxo .. • Xm — \XQ. . . X m — 1 > 1Xq . . . X^-xU^x . . . 2p-i)*
Это завершает построение: искомая формула является конъюнкцией всех приведенных выше подформул. Каждая из этих формул имеет длину О(т log m) = О(п), что и требовалось доказать.
Следствие. Существует такая константа с> 1, что 3*V*-Sat не разрешим за недетерминированное время сп.
КЛАСС ШЕНФИНКЕЛЯ-БЕРНАЙСА; ВЕРХНЯЯ ГРАНИЦА
Для нахождения верхней границы для сложности 3*V*-Sat мы применим общий анализ из разд. 3, в частности утверждение 3.1 о том, что существование модели размерности р для формулы F с q кванторами можно проверить за недетерминированное время c<7Iogi + Iog И. Формула F = 3X1 ... xkNy\ ... ymF^ где F. не содержит кванторов, имеет модель только в том случае, когда она имеет модель размерности не более чем к. Отсюда с помощью рассуждений, приведенных в конце разд. 2, выводим, что & = Od^l/logl/!)!) (если Xi различны) и q = = к + т = O(|F|/log|F|). Подстановка этих значений показывает, что имеет место
Теорема 8.1. 3*V*-Sat s NEXPTIME.
КЛАСС АККЕРМАНА; НИЖНЯЯ ГРАНИЦА
Это класс с префиксом 3*V3*.
Теорема 9.1. DEXPTIME сводим к 3*V3*-Sat на зоне порядка п \о^п.
Доказательство. Мы сводим к проблеме выполнимости для этого класса проблему о недопускании альтернирующим магазинным автоматом входного слова: согласно результатам из разд. 2С, это и есть сведение DEXPTIME к 3*V3*-Sat. В частности, пусть S^2* — некоторое множество из DEXPTIME. Согласно утверждению 2.4, множество X* — S также принадлежит DEXPTIME, а согласно утверждению 2.2, существует альтернирующий магазинный автомат, который допускает X* — S. Пусть М — такой альтернирующий магазинный автомат, и пусть значения К, X, Г, Н, Ч, Z, s, f, Кх, ..., К? и 61, ..., 6? для М такие же, как описано в разд. 2С. Пусть и — слово из 2* и w = |— и Ч. Мы построим формулу 6, которая является функ-
циональной формой формулы F из класса Э*УЭ*, причем F выполнима тогда и только тогда, когда М не допускает и. Это завершает сведение S к 3*V3*-Sat. А так как длина формулы F будет O(nlogn), где n = lul, таким образом теорема будет доказана.
Для каждого состояния q е К и каждого i, 1 ^/^|^|, мы вводим свой сингулярный предикатный символ. (Здесь i— одна из возможных позиций читающей головки.) Чтобы избежать громоздких индексов, мы пишем Qi для обозначения символа предиката, соответствующего состоянию q и Z-й позиции головки; аналогичным образом Fi соответствует заключительному состоянию f и f-й позиции головки и т. п. Для каждого символа 1еГ— {Z} мы также вводим функциональный символ gx и символ константы cz, соответствующий маркеру дна Z. Таким образом, каждый терм в эрбрановском универсуме имеет вид 5/1(^2(-" (^m(cz)) •••)) для некоторых Хх,...,Хт^ еГ- {Z}; этот терм представляет стек Х\ ... XmZ. В общем случае мы пишем у для обозначения терма из эрбрановского универсума, который представляет стек уЕ(Г—{Z})*Z. Подразумеваемая интерпретация атомарной формулы Qt^ состоит в том, что конфигурация (^, w, i, у) является допускающей.
Формула G имеет одну переменную у и представляет собой конъюнкцию трех частей: Gi, G2 и G3. Часть Gi утверждает, что определенные конфигурации допускающие, G2 утверждает, что начальная конфигурация не допускающая, a G3 утверждает, что если определенные конфигурации допускающие, то допускающими также являются и некоторые другие.
Gi есть A FiV (где Fi — предикатный символ, соответствую- х = 1
щий состоянию f и f-й позиции головки).•
G2 есть ~ISiCz (где Si — предикатный символ, соответствующий начальному состоянию s и первой позиции головки).
G3 есть конъюнкция всех подформул, полученных для состояний автомата М следующим образом:
Читающие состояния. Пусть q^K\, 1^/^|^|, а есть i-й символ слова w и 6i(g, а)—р. Тогда G3 содержит конъюнкт Pty^Qiy- ■
Состояния движения. Пусть q ^ К2, l^f^|^| и 62(9) = = (р, е). Тогда если 1 ^/ + е^|^|, то G3 содержит конъюнкт Р1+&У Qty*
Состояния вталкивания. Пусть q е Аз, 1 ^ I ^ 1^1 и 63(9) = = (р, X). Тогда G3 содержит конъюнкт Pigx(y)-+Qiy.
Состояния выталкивания. Пусть ^ е ^4, 1 ^ / ^ | ^ | и 64(^) = р. Тогда для каждого ХеГ — {Z} G3 содержит конъюнкт Piy-^Qigx^.
Состояния чтения магазина. Пусть g ^ К5, 1 5^ / ^ | ^ |, Хе Г и бэ(^ А') = Р- Тогда 63 содержит конъюнкт
Pigxto^Qigx^V если х не есть Z,PiCz-^ QiCZ) если X есть Z.
Состояния экзистенциального ветвления. Пусть q е К^ 1 ^ / ^ ^|^| и бб(^) = {р, ..., г). Тогда Оз содержит конъюнкт (Pty V ... V Riy^Qiy.
Состояния универсального ветвления. Пусть q ^ К^ 1 ^ ^/^|^| и 67(^) = {р, ..., г}. Тогда 63 содержит конъюнкт (Piy А ... ARty^Qiy.
Это завершает построение формулы G. Мы утверждаем следующее.
Если ^— истинностное означивание, верифицирующее каждый пример 61 и каждый пример 63, то ^ верифицирует Qi^ для любого уЕ(Г — {Z})*Z, когда (q, w, I, у) есть допускающая конфигурация для М.
Следующее истинностное означивание ^ верифицирует каждый пример Gx и каждый пример 63: ^ верифицирует атомарную формулу Q^, где у^(Г—{Z))*Z, тогда и только тогда, когда (q, w, i, у) — допускающая конфигурация для М. .
Прежде чем двигаться дальше, мы отметим, что справедливость утверждений (1) и (2) достаточна для установления того, что F выполнима тогда и только тогда, когда М не допускает и. Действительно, если формула F выполнима, то существует истинностное означивание ^, верифицирующее каждый пример формул Gi, 62 и 63. Согласно (1), ^ должно верифицировать Qzy каждый раз, как только (g, w,i, у) — допускающая конфигурация М. Но ^ должно также верифицировать формулу ~ISiZ, которая является единственным примером формулы 62. Поэтому (s, ш, 1,Z)—не допускающая конфигурация. Но это самая первая конфигурация; следовательно, М не допускает и. Обратно, если М не допускает и, то истинностное означивание ^ из (2) верифицирует не только примеры 61 и 63, но также пример 62, так как тогда (s, w, 1,Z)—нс допускающая конфигурация.
Утверждение (1) доказывается по индукции. Если (q, w, i, у)—допускающая конфигурация и q— заключительное состояние f, то ^ должно верифицировать Q/y, так как тогда Qzy есть пример одного из конъюнктивных членов G\. Иначе необходимо произвести разбор случаев в зависимости от причин, по которым конфигурация (g, w, i, у) является допускающей. Мы разберем один случай, остальные разбираются аналогично. Допустим, что q— состояние вталкивания и 63(^) = (р, J). Тогда (q, w, i, у) — допускающая конфигурация, поскольку (р, w,i, Х^
допускающая. Если мы предположим по индукции, что утверждение (1) выполняется для последней конфигурации, то отсюда следует, что ^ верифицирует PiXy, т. е. Pigx^y). Но Pigx^y)-^ -^Qiy есть пример некоторого конъюнктивного члена G3 (в котором у подставлено на место z/), следовательно, если ^ верифицирует каждый пример из G3, то ^ должно верифицировать также Qty.
Доказательство утверждения (2) также требует разбора случаев. Истинностное означивание ^, определенное в (2), верифицирует каждый пример Gi, так как каждый пример есть конъюнкция атомарных формул Fty, а конфигурация (f, w; I, у) всегда допускающая.
Что касается примеров формулы G3, то мы вновь разбираем лишь один случай, так как остальные разбираются аналогично. Рассмотрим конъюнктивный член Pigx^-^Qty, где q— состояние вталкивания, и предположим, что верифицирует Ptgx^y) (в противном случае этот конъюнктивный член верифицируем автоматически в силу ложности посылки). По определению ^ конфигурация (р, w, I, Ху) допускающая. Но тогда конфигурация (q, w, I, у) также допускающая, так как б3 (^) = (р, А). Следовательно, по определению .^ вновь ^ верифицирует Qry, и поэтому ^ верифицирует конъюнкт Pigx^y)-^ Qiy, что и требовалось доказать.
Наконец, отметим, что если М фиксирован, то формула G содержит О(|^|) символов предикатов и является конъюнкцией 0(|^|) подформул. Поэтому приведенное сведение, как и требовалось, есть сведение на зоне порядка nAogn.
Из этой теоремы в силу утверждения 2.1 непосредственно вытекает
Следствие 9.2. Существует такая константа с>1, что 3*V3*-Sat не разрешим за недетерминированное время сп/1°еп.
КЛАСС АККЕРМАНА; ВЕРХНИЕ ГРАНИЦЫ
В этом разделе мы установим верхнюю границу для сингулярного класса Аккермана, сравнимую с нижней границей из следствия 9.2. Однако, прежде чем сделать это, мы введем некоторую терминологию и обозначения, полезные как здесь, так и в разд. 12.
Литерой называется атомарная формула или ее отрицание, две литеры называются позначными, если они обе одновременно являются либо атомарными формулами, либо отрицаниями атомарных формул. Если Dx и О2— конъюнкции литер, то мы пишем D\ ~ Д2 тогда и только тогда, когда произвольная атомарная формула, входящая одновременно в D\ и В2, появляется в позначных конъюнктивных членах D\ и D2. Например, если
Дь Л2 и Д3 — различные атомарные формулы, то
Д1 л j Д2 /^*г I Д2 Дз>
но
Д1 л Дз~] Дз-
(Заметим, что ~ не есть отношение эквивалентности.)
Для любой конъюнкции D литер и любых переменных гц, ..., *ип пусть D|vi, ..., Un есть подконъюнкция D, состоящая лишь из тех литер, переменные которых встречаются среди У1, • .., Vn-
Будем говорить, что дизъюнктивная нормальная форма формулы F является полной1), если она состоит из дизъюнкции таких конъюнкций литер, что каждый дизъюнкт содержит вхождение каждой атомарной формулы, которая входит в F. Таким образом, полная дизъюнктивная нормальная форма может быть упорядочена так, что все дизъюнкты выглядят одинаково, за исключением расстановки знаков отрицания.
Теорема 10.1. E*VE* ^Monadic-Sat g DTIME(c/z1os п) для некоторой константы с > 0.
Доказательство. Пусть F = Bz\ ... 3zkVy3x\ ... 3xmF^ где Fq нс содержит кванторов. Мы утверждаем, что для определения выполнимости формулы F достаточно применить следующий тест.
Тест (Кальмар — Шютте). 1. Преобразовать Fo в полную дизъюнктивную нормальную форму, скажем Go.
Проверить, что существует такое подмножество S дизъюнктивных членов из 60, что
для каждой пары Dt, D2 дизъюнктов из S
АПь .zk~D2\zx, .zk;
для каждой переменной 2/ существует такой дизъюнкт Z)i из S, что для каждого дизъюнкта Ь2 из S
(^i|zb .zk, у) VylzA~D2\zv, .... zk,
для каждого дизъюнкта Dv из S и каждой переменной Xj существует такой дизъюнкт D2 из S, что
Dv\zx, .zk, Xj~(D2\zx, ... zk, y^VylXjY
Этот тест правилен. Действительно, пусть а;— константа, ассоциированная с 2/, а ^ — сингулярная функция, ассоциированная с X/, в функциональной форме F. Таким образом, каж-
!) В нашей литературе употребляется термин «совершенная дизъюнктивная нормальная форма».—Прим. ред.
дый терм в эрбрановском универсуме D(F) имеет вид ЬЛЬЛ1-' (fin^) •••)) для некоторых /г > О, /ь ....м I.
Допустим сначала, что существует подмножество S дизъюнктов из 60, удовлетворяющее условиям (а), (Ь) и (с). Определим тогда такое отображение ц: D(F)-^S, что
для каждого символа константы а^ р(а^) есть некоторый дизъюнкт Di, как это определено в (Ь) для переменной zf,
для каждого терма s = ^^, который не является символом константы, p(s) есть некоторый дизъюнкт D^ как определено в (с) для дизъюнкта D\ = p(Z) и переменной Хр
Пусть, далее, ^— такое истинностное означивание эрбра- новской развертки, что ^ верифицирует атомарную формулу А тогда и только тогда, когда А — конъюнкт в ц(О*[у/^]> гДе ц(/)*—формула, которая заменяет дизъюнктивный член в функциональной форме F. Мы утверждаем, что зФ верифицирует каждый пример функциональной формы F, в частности ^ верифицирует дизъюнктивный член p(O*L(//d в этом примере функциональной формы, в котором t подставлено на место у. Это может быть не так, если только р(0*[#Л] имеет некоторую отрицательную атомарную формулу ПЛ в качестве конъюнктивного члена, тогда как А — конъюнктивный член p(^)*[f//s] для некоторого другого терма s. Но это невозможно, так как А может появиться одновременно в р(0*[уЛ1 и н(5)*[^/5] только при условиях, при которых (а), (Ь), (с) и определение ц гарантируют, что эти вхождения козначны.
Утверждения (а) и (Ь) обеспечивают нам случай, когда А содержит только константы: (а) в случае, когда формула А сама появляется в ц(0* и p(s)*, и (Ь) в случае, когда А появляется в одном ц(/)* или p(s)* и отсутствует в другом и когда константа подставлена на место у. Утверждение (с) обеспечивает нам случай, когда А содержит неконстантный терм: здесь А может появляться одновременно в ц(/) *[у/^] и p(s)*[z//s] (i =# ^s), если только s = fj(t) для некоторого / (или наоборот) и для некоторых атомарных формул Ai из ц(/)* и Л2 из p(s)* Ai[y/t] =A2[y/s]. Но тогда Ai и А2 должны совпадать, за исключением того, что Ах имеет вхождение f^y) на месте, где Л2 имеет вхождение у; тогда (с) гарантирует, что литеры в ц(/)* и p(s)*, в которых появляются соответственно Ах и Л2, козначны ^.
Этот тест может быть проведен за время О^сп<Хо^п^ для некоторой константы с > 0, где п — длина F. Полная дизъюнктивная нормальная форма Go формулы Fo имеет длину O^"/10? ")
!) Автор доказывает лишь, что формулы, удовлетворяющие тесту, являются выполнимыми. Обратное утверждение, доказательство которого проще, он, по-видимому, предоставляет читателю. — Прим. ред.
для некоторой константы сх > 0. Множество S дизъюнктов из Go, удовлетворяющее условиям (а), (Ь) и (с), может быть найдено (при условии, что оно существует) следующим образом.
(Обеспечение того, что выполняется (а).) Разбиваем дизъюнкты Go на такие максимальные подмножества, что для каждой пары дизъюнктов Dx, D2 из одного подмножества
Dx |zH ... zkl ~D2\zx, ..zk.
Хотя ~, вообще говоря, не является отношением эквивалентности, это разбиение в данном случае можно сделать, так как дизъюнктивная форма полная. Теперь, выполняем шаги (ii) и (iii) для каждого члена-множества S' этого разбиения.
(Обеспечение того, что выполняется (с).) Эту «операцию вычеркивания» повторяем до тех пор, пока из S не будут элиминироваться новые дизъюнктивные члены: если для каждого дизъюнктивного члена Dx, который не был еще вычеркнут, и для каждого Xj среди дизъюнктивных членов в S' нет соответствующего D2, который не был вычеркнут, то вычеркиваем Dx.
(Обеспечение того, что выполняется (Ь).) Просматриваем по очереди дизъюнктивные члены в S' один раз для каждой переменной 2/ с целью убедиться, что существует такой DXy что для каждого Ь2 из S' '
(DJz.,..., г^уПУ^Д ~D2\z1, .zb.
(Так как D|zi, ..., zk один и тот же для всех дизъюнктивных членов D из S', достаточно проверить это условие для одного произвольного D2 из S', например для Dx.)
Теперь (ii) требуется повторить самое большее столько раз, сколько подлежащих вычеркиванию дизъюнктов содержится в S': каждое повторение требует просмотра Go один раз для каждого оставшегося дизъюнктивного члена Dx и каждой переменной Xj. Таким образом, (ii) может быть выполнено за |S'|2m просмотров Go и общее время есть O(|G0|4). Аналогично, (iii) может быть проведено за полиномиальное время от длины Go, а так как общее число членов-множеств S' в разбиении, найденном в (i), равно О(| Go|), полный тест занимает полиномиальное время от ] Go), и поэтому O(.cn,Vogn^ для некоторой константы с > 0.
Это завершает доказательство теоремы 10.1.
Для формул Аккермана с многоместными символами предикатов шаг (Ь) должен быть заменен более сложным тестом, что дает верхнюю границу DTIME(c(n/Iogn)2). (См. благодарности в конце статьи.)
КЛАСС Т\ НИЖНЯЯ ГРАНИЦА
Класс FT определен в разд. 2А.
Теорема 11.1. D2EXPTIME сводим к ^-Sat на зоне порядка п log п.
Доказательство. Доказательство настоящей теоремы близко доказательству теоремы 9.1, за исключением того, что используются альтернирующие стековые автоматы, а не альтернирующие магазинные автоматы.
Пусть S Е 2* есть множество из D2EXPTIME. Согласно утверждениям 2.3 и 2.4, существует альтернирующий стековый автомат М, который допускает 2* — S. Пусть К, 2,Г, Н, Ч, Z, s, /, Ki, ..., Kg, и 6i, . Og для М обозначают то же самое, что и в разд. 2С. Пусть и — произвольное слово из 2*. Мы строим функциональную форму G формулы F из ^, которая выполнима тогда и только тогда, когда М не допускает и; это эквивалентно сведению S к .^-Sat. Более того, \F\= O(n\ogn), где /г = | ^ |; следовательно, теорема будет доказана.
Пусть w = Ч и Ч. Для каждых q ^ К и г, 1 ^ i ^ [ w [, мы вводим бинарный предикатный символ Qi так же, как мы вводили сингулярный предикатный символ в разд. 10. Аналогично, пусть gx — сингулярный функциональный символ для каждого X е Г, и пусть Cz — символ константы. Мы используем то же самое кодирование слов термами: если у = Хх ... XnZ, то у = = ^, (gx2(-• • (Sx„(cz)) • ••))• Однако атомарная формула Q/Y1Y2 теперь интерпретируется как истинная тогда и только тогда, когда yi является суффиксом у2 (т. е. у2 = Тз?1 для некоторого у3^(Г—{2})*) и (q, w,i, у2, [ yi [) есть допускающая конфигурация для М, т. е. второй аргумент представляет стек, а первый — часть стека от маркера дна до позиции стековой головки включительно. Для усиления этой интерпретации предикатного символа Qi мы должны ввести дополнительно бинарный предикатный символ П: Пу1у2 истинна тогда и только тогда, когда у1 есть суффикс у2.
Переменные G суть ух и у2, G есть конъюнкция четырех формул: Go, Gi, G2 и G3.
Go есть П^У] А Д №х (У1) у2 -* Пу^г).
Gi и G2 аналогичны формулам с теми же индексами из I w |
разд. 9. G) есть Пуху9-> Л Fxyxy^ a Go есть Ч Sxczcz. z = i
G3 есть конъюнкция девяти формул, первые семь из которых аналогичны подформулам, приведенным в разд. 9, за исключением того, что теперь мы должны реализовать следующую идею: в состояниях определенного вида автомат может двигаться даже тогда, когда его головка находится внутри стека.
Читающие состояния. Пусть q г Ki, 1 ^ z ^ [ &* |, а есть 1-й символ w и 61 (^, а) = р. Тогда G3 включает конъюнктивный член Piy^-^Qty^
Состояния движения. Пусть q е К^ l^z^|^[ и 62(7) = = (р, е). Тогда, если l^z + e^l^H то G3 включает конъюнктивный член Л-Ге#!^-^ QzZ/iZ/2.
Состояния вталкивания. Пусть q е К^ 1 ^ z ^ | ^ | и 63(^) = = (р, X). Тогда G3 имеет конъюнктивный член PigxUh^gxUh)-^ -^Qty\y\-
Состояния выталкивания. Пусть q ^ К4, 1 ^ z ^ | w | и а4(^) = р. Тогда для каждого ХеГ-{Z} G3 имеет конъюнктивный член Ptyiyi — Qigx^y^gxyi.
Состояния чтения стека. Пусть у е К^ 1 ^ z ^ | ^ |, ХеГ и 65(9, х)= р. Тогда G3 имеет конъюнктивный член
Pigx^x^y^Qigxkyx^y^ если X#=Z,PtCzy^QxCzy^ если X = Z.
Состояния экзистенциального ветвления. Пусть q е К^ l^z^l^l и 66(^)= {р, .г}. Тогда G3 имеет конъюнктивный член (Piy\y2V ... V Riy\y2^Qiy\y2.
Состояния универсального ветвления. Пусть q е /(7, 1 ^ z ^ ^|^| и 67(р) = {р, ..., г}. Тогда G3 имеет конъюнктивный член (Л//1//2Л ... ARiyiya^Qtyiyt.
Состояния движения стековой головки вниз. Пусть q е К^ l^z^|^| и 68(^) = р. Тогда для каждого ХеГ — {Z} G3 имеет конъюнктивный член Piyxy^A n^(z/i)p2-^Qz^(yi)z/2-
Состояния движения стековой головки вверх. Пусть q е К9, I^z^I^I 'h 69(7) = р. Тогда -для каждого ХеГ — {Z} G3 имеет конъюнктивный член Ptgxky\^y^^Qiy\y^
Это завершает построение формулы G. Мы утверждаем следующее.
Если ^ — истинностное означивание, верифицирующее каждый пример Go, Gx и G3, то ^ верифицирует QzyiY2 Для любых уь у2 ^(Г — {Z})*, у1 есть суффикс 72, когда kq^M^ 1711) — допускающая конфигурация для М.
Следующее истинностное означивание s^ верифицирует каждый пример Go, Gi и G3: ^ верифицирует Пу1у2 тогда и только тогда, когда 71 есть суффикс у2, и ^ верифицирует Q/71Y2 тогда и только тогда, когда 7! есть суффикс у2 и (р, w, I, 72, | Т11) — допускающая конфигурация для М.
Как и в доказательстве теоремы 9.1, из (1) и (2) легко следует, что формула F выполнима тогда и только тогда, когда М не допускает и, так что формулу G2 можно интерпретировать как утверждение, что первоначальная конфигурация не является допускающей.
Для доказательства (1) отметим, во-первых, что любое истинностное означивание, верифицирующее каждый пример Go, должно верифицировать Пу1у2 каждый раз, когда yt есть суффикс у2- Исследуя затем Gi, приходим к заключению, что любое истинностное означивание, верифицирующее каждый пример Go и Gi, должно верифицировать Fr^ws каждый раз, когда 1 ^ i ^ |^| и yi есть суффикс у2. Для того чтобы показать, что истинностное означивание ^, которое верифицирует каждый пример Go, Gi и G3, верифицирует также QZ7172, когда 71 есть суффикс у2 и ^q, w, I, 72, I7J)—допускающая конфигурация, мы должны вновь провести индукцию в соответствии с конфигурациями или конфигурацией, следующими за (q, w, i, 72, I711).
Как и в разд. 9, мы рассмотрим лишь один случай, а именно когда q есть состояние движения стековой головки вниз. Пусть 7i = Х73 для некоторых ХеГ- {Z}, 73 е(Г — {Z})*Z. (Если Yi = Z, то (q, w.i, 72, I Yi I) не может быть допускающей, в противном случае q есть / — случай, который уже рассматривался.) Пусть 6s (9) = р. Тогда конфигурация (q, w, i, 72, 1711) допускающая, если только (.р, w, ц^ДтА)» гДе 1?1|—1 = 1 Тз|, допускающая. Предположим по индукции, что ^ верифицирует ^/Тз?2 и отметим, что один из конъюнктивных членов формулы G3 имеет пример
ЛТзУг Л П^х (Уз) Тг -> Q,gx (Уз) Уг, полученной подстановкой 73 на место ух и 72 на место у^. Так как Ху3 есть суффикс 72, должно верифицировать П^х (73)72 так же, как и ^/7572; следовательно, ^ верифицирует Qigx (73)72- Но это и есть QZ7172.
Для доказательства (2) мы вновь рассмотрим только один случай, когда q есть состояние движения стековой головки вниз. Пусть 63(^) = р, 73,72 ^ (Г — {Z} )*Z; рассмотрим пример
PiNsN? Л П^х (у3) у2 -> Qigx (у3) у2.
Допустим, что ^ верифицирует обе посылки. Тогда (р, w, i, у2, |7э|) есть допускающая конфигурация и Ху3 — суффикс 72. Но тогда (q, w, i, 72, 1731 + 1) допускающая конфигурация, и, следовательно, ^ должно также верифицировать Qigx (73)72-
Наконец, как и прежде, отметим, что если автомат М фиксирован, то G, а поэтому и F имеют длину О(м1о§м), где п = \и\, так как число предикатных символов и число подформул линейно зависят от \w |. Это завершает доказательство теоремы 11.1.'
Из теоремы 11.1 с помощью утверждения 2.1 получаем
Следствие 11.2. Существует такая константа с>1, что ^-Sat не разрешимо детерминированно за время сс1гПоёп.
КЛАСС 9"; ВЕРХНЯЯ ГРАНИЦА
Теорема 12.1. ^-Sat е DTIME(cc"/los п для некоторой константы с > 0.
Доказательство. Мы сводим 2Г к сингулярному классу Аккермана так, чтобы сохранить выполнимость и увеличить длину формулы с п до (в худшем случае) с"/10= п, где с — константа. Совмещая это сведение с разрешающей процедурой из разд. 10, получаем детерминированную разрешающую процедуру с временной сложностью ссП/1о"п для некоторой константы с.
Первые шаги просто сводят 2Г к некоторому подклассу FT. Эти шаги в результате дают только линейное увеличение длины формулы.
А. Элиминирование переменных, связанных начальными кванторами существования
Пусть F есть формула 321 ... 3zk4yx3xx ... ЗхиУ/уД^, где Fo не содержит кванторов. Цель этого шага заключается в перемещении кванторов 3^1 ... 3zk между кванторами общности, причем остальные кванторы существования располагаются в исходном порядке.
Для каждой переменной zu 1 ^ I ^ к, вводим бинарный предикатный символ Zt. (Интуитивно мы подразумеваем, что ZitxU истинно тогда и только тогда, когда tx t2 = Zi.) Пусть Fx есть формула
Zxzxzx К ... К Zkzkzk.
Для каждого (обязательно бинарного) символа предиката Р и каждого 1, 1 ^ i ^ к, таких, что для некоторой переменной и, нс содержащейся среди 21, ..., zk, F содержит атомарную формулу Pziv, пусть Pt* есть новый бинарный предикатный символ. (Интуитивно мы подразумеваем, что Pi4xt2 истиннотогда и только тогда, когда tx = t2 nPzitx истинно.) Аналогично, для всех Р и /, таких, что для некоторой переменной с, не содержащейся среди zx, ..., z2, F содержит атомарную формулу Pvzj, пусть P*f есть новый предикатный символ. Для всех Р, i и /, таких, что PziZj — атомарная формула из F, пусть Р^ есть новый бинарный предикатный символ. ^Р*^!^ истинно тогда и только тогда, когда tx = t2 и PtxZj истинно; Рц1х12 истинно тогда и только тогда, когда ^ = /2 и PziZj истинно.)
Пусть Fo есть результат замены в Fo
каждого вхождения атомарной формулы Pzco, где у не содержится среди 2ь ..., zk, на Pi*vv;
каждого вхождения атомарной формулы PvZj, где и не содержится среди zx, ..., zk, на Р* vw*
каждого вхождения атомарной формулы PzjZj на РцУ1У1-
Отметим, что Р'^ не содержит переменных zb ..., zk.
Пусть Р2 есть конъюнкция следующих трех формул:
0) Л к^УхУх^-кРеУхУг^РУхУ^У
где конъюнкция берется по всем новым предикатным символам
00 А к^УхУ^кР-чУхУх^РУхУ^У р*j
где конъюнкция берется по всем новым предикатным символам
Д \к^1У\У\^7-)У-l^h->kPiiУ\Уv^>Pl)PУ1У'^^^^kPгiУ\У\*-^ ри
^РцУаУ!^,
где конъюнкция берется по всем новым предикатным символам Ра-
Пусть G есть 3zx ... 3zkFx А Чух3хх ... Зх^у^Рр А F2V Тогда формула G выполнима тогда и только тогда, когда выполнима F. Действительно, каждая модель для G есть и модель для F, а любую модель для F можно расширить до модели формулы G интерпретацией новых предикатных символов, как описано выше. Более того, длина G зависит линейно от длины F. Наконец, предваренная форма формулы G, в которой все кванторы существования расположены между двумя кванторами общности, содержится в классе ^.
Элиминирование атомарных формул; первый шаг
Пусть теперь F = Vy\Bx\ ... ЗхтМу^Р^— формула из 2Г без переменных, связанных начальными кванторами существования. Тогда атомарные формулы F имеют одну из следующих форм (для различных бинарных предикатных символов Р):
РУ\У\, Pxtyx, Ру^Уг,
Руххь РХ{Х],
РУхУ^ Рх.у2
(но не форму Ру2ух или Ру2х^. Мы теперь элиминируем формы PxtXj ki^B и Pxtyx, оставляя только Рухух, Ру2у2, Рхххь Руху2, PyxXj и Pxty2. Для всех таких Р и I, что РххХ; к^В или Рхху2 входит в Fo, мы вводим бинарный предикатный символ Г{. Пусть Fq есть результат замены в Fo Рх^х, 0#=/) на Р^х-; и Рххух на РхУхУх, и пусть
Fx = Чух3хх ... 3xmVy2 (F^ A кРхУхУг *-* Рхху^\,
V pi)
где конъюнкция берется по всем новым предикатным символам Pi. Тогда формула F\ выполнима тогда и только тогда, когда выполнима F, а ее длина зависит линейно от длины F.
Элиминирование атомарных формул; второй шаг
Пусть теперь F=V//iBxi ... BxmVysFo— произвольная формула из ST, не содержащая переменных, которые связаны начальными кванторами существования, и имеющая атомарные формулы только следующего вида:
РУ\У\, Рх^, Ру2у2, Py\Xh Pxty2, РУхУ^.
Теперь мы элиминирируем форму Py\Xj. Для каждых таких Р и /, что указанная атомарная формула содержится в F, введем новый бинарный предикатный символ Pj. Пусть F^ есть результат замены в Fo Py\Xj на PjXjXb a F\ есть формула
ЧУ1Нхх ... 3xmVz/2 ро А А (Р]Х1У2
где конъюнкция берется по всем новым предикатным символам Pj. Вновь F\ выполнима тогда и только тогда, когда выполнима F, а ее длина зависит линейно от длины F. .
Элиминирование атомарных формул; третий шаг
Пусть теперь F = УухЭхх ... ЭхтУу2ро — произвольная формула из ST, не содержащая переменных, которые связаны начальными кванторами существования, и имеющая атомарные формулы только 1 акого вида:
РухУх, PXiXh Ру2у2, ?УхУ2, Рхху2.
Сейчас мы элиминируем форму PxiXi. Для каждого такого Р, что для некоторого I эта атомарная формула содержится в F, мы введем новый бинарный предикатный символ Р'. Пусть F^ есть результаты замены в Fo PxiXi на P'xty2l и пусть Fx есть формула
Vz/jHx, ... BxmVz/2(^A Д. {Р'у\У^Руху)х
где конъюнкция берется по всем новым предикатным символам Р'. Вновь, как и прежде, F\ выполнима тогда и только тогда, когда выполнима F, и ее длина линейно зависит от длины F.
Сведение к классу Аккермана
Пусть теперь F = \/ ух3хх ... 3xm\#y2Fo—формула из 2Г, не содержащая переменных, связанных начальными кванторами существования, и имеющая атомарные формулы только следующего вида:
РУ1Ух, РХгУ^РУ\Уъ РУ^У^
Без потери общности мы можем предполагать, что для каждого бинарного предикатного символа Р из F атомарные формулы РухУх, Ру\Уъ и РУ2У2 действительно содержатся в F. Если это не так, то мы можем добавить к формуле Fo в качестве конъюнктивных членов такие формулы, как (П РухУх v РухУ\\ причем длина F увеличится лишь линейно.
Пусть fi, ..., fm — сингулярные функциональные символы, ассоциированные с хь ..., xm в функциональной форме F. Таким образом, каждый терм из эрбрановского универсума имеет вид fix (fi2 (• • • (Jin О2)) •••)), где а — некоторый фиксированный символ константы. Так как существует естественный изоморфизм между эрбрановским универсумом и множеством всех слов в алфавите {fi, ..., fm}, мы обозначим термы словами: если w есть слово ф ■ • • hn- то w есть терм Л, (... (Д (а)) • • •)•
Теперь мы построим формулу G, принадлежащую классу Аккермана, которая выполнима тогда и только тогда, когда F выполнима. В действительности мы построим не саму формулу G, а ее функциональную форму, которая содержит те же сингулярные функциональные символы, что и функциональная форма формулы F; поэтому F и G имеют один эрбрановский универсум.
Пусть Fx — полная дизъюнктивная нормальная форма формулы Fo и F— формула, полученная присоединением к Fx кван- торного префикса формулы F. Ясно, что F эквивалентна F. Для каждого дизъюнктивного члена D формулы Fx пусть MD есть новый сингулярный предикатный символ. (Интуитивно мы подразумеваем, что MDtx истинно, если существует такой некоторый терм ^2, что дизъюнктный член D формулы Fx является истинным, если ух имеет значение tx и у2 имеет значение /2.) Функциональная форма G есть конъюнкция четырех формул: Gi, G2, G3 и G4.
Gi есть X/MDy, где дизъюнкция берется по всем таким D.
D
что £>|У1 ~ф\ух, у2Х ХуУуЛ-
G2 есть А ("1 Md У V П Md у\ где конъюнкция берется по D\JH
всем таким Db D2> что Dx\yx D2\y2.
G^ есть Л (MDf. (у)-^ VMD2yy где конъюнкция берется по Dv xiDi
всем Dx и хь а дизъюнкция — по всем таким D^ что
(£>21 xt, tj^ {х^у^ ~ Dx\yx, y2.-
G4 есть A (MD у -> V f- (y)Y где конъюнкция берется по всем Dx и хь а дизъюкция — по всем таким D^ что
D21 yx, y2 ~ (Dx I xb y^ [Xilyx].
(Пустую дизъюнкцию следует рассматривать как константу «ложь».)
Если п— длина F, то длина Fx не превосходит величины cn/iogn для некоторой константы с и длина G есть полином от длины Fx. Поэтому, для того чтобы закончить доказательство, достаточно показать, что G выполнима тогда и только тогда, когда выполнима F. В последующем доказательстве мы употребляем обозначение D* для формулы, которая заменяет дизъюнктивный член D из Fx в функциональной форме F'.
Если F' выполнима, то G также выполнима. Действительно, пусть ^— истинностное означивание, верифицирующее каждый пример функциональной формы F'. Определим теперь истинностное означивание % как эрбрановскую развертку G следующим образом: ^ верифицирует MD-w для любого предикатного символа MD и любого терма w тогда и только тогда, когда ^ верифицирует D*^yx/w, г/г/и] для некоторого терма и. Тогда ^ верифицирует каждый пример Gx, так как для каждого w существует такой D, что верифицирует D*^yx/w, y2/w^ и для такого D это должен быть случай, когда
D\yx~<D\yx, уМу^уЛ-
^ верифицирует каждый пример С2, так как если ^ верифицирует обе формулы D* [^/w, #2/u] и D^yjw, Уг/щ], то обязательно Dy | ух ~D21 yv
_ S верифицирует каждый пример О3. Типичный конъюнктивный член имеет вид
(W)V MD W,
где дизъюнкция берется по всем D2, таким, что
ф2\хь у^ 1Х; lyj ~DX \ух, у2.
Если ^ верифицирует посылку, то существует такой терм и, что верифицирует D* [yx/ft (w), #2/и]. Рассмотрим пример функциональной формы F', в котором w подставлен на место ух и и подставлен на место у2. Некоторый дизъюнктивный член
^2[//i/w, Wu] этого примера верифицируется ^. Но тогда Д2 должен обладать только что установленным свойством
UXUi, у^ [х^уД ~ D! I у„ у2,
так как любая атомарная формула Pxiy2 из £>2 в ^[y^w, у2/и] становится идентичной атомарной формуле, в которую превращается Руху2 в D^/Mw), z/2/u].
Ж также верифицирует каждый пример О4 по тем же причинам, что и для G3.
Если G выполнима, то F' также выполнима. Здесь доказательство сложнее. Пусть ^— истинностное означивание, верифицирующее эрбрановскую развертку G. Мы определим отображение ф множества пар термов на множество дизъюнктивных членов Fx. Отображение ф определяется в три этапа.
Для каждого терма w ф(ww) есть некоторый дизъюнктивный член D, такой, что D П у\ ~ (^|Уь #2) [У2/У1] и ^ верифицирует Al^w. Существование такого дизъюнктивного члена гарантируется формулой G\.
Допустим, что fiW есть суффикс и (не обязательно собственный, т. е. fiW может совпадать с и) и ф(/^•(w),u) определено, а ф(w, и) нет. Пусть Dx = ф(^•(w), и). Тогда ф(w, и) есть некоторый дизъюнктивный членД2, такой, что(£2|%/, y2)[xt/t/i] ~ ~D\ybу2 и st верифицирует MD1w. Существование такого дизъюнюивного члена гарантируется формулой G3.
Допустим, что ^w не есть суффикс и и ф(;,^),и) не определено, а ф(w, и) определено. Пусть ^)1 = ф(w, и). Тогда ф(/Ди),и) есть некоторый дизъюнктивный член D2, такой, что ^21^/1, У2 — (Dx\Xi,y2) [Х/7</1] И st верифицирует MDJ.(w). Такой дизъюнктивный член гарантируется формулой G4.
Так как каждая пара слов имеет некоторый общий суффикс (возможно, пустой), утверждения (1) — (3) однозначно определяют ф для всех пар аргументов (неконструктивное «некоторый» легко уточняется посредством некоторого лексического упорядочения дизъюнктивных членов.)
Прежде чем двигаться дальше, мы установим четыре решающих факта.
ДЛЯ ЛЮбыХ w( Ux и и2 ф(w? Ui) | yv ~ ф (w, и2) \ ух.
Доказательство. Непосредственно из утверждения (1) определения ф.
Для любых w, их и и2 ф (w, Ui) | ух — ф (w, u2) I ух.
Доказательство. Просматривая (1) — (3), убеждаемся, что st верифицирует Mp(w,u) w для всех w и и. В частности, если Ф(w, Ui) = Z)i и ф(w, и2)=Д2, то st одновременно верифицирует Mdw и MD2w. Но тогда Ох\ух ~ £>2!#!, так как st верифицирует каждый пример G2.
Для любых ^1, W2 и и ф(Wl, u) I t/2 ~ ф(w2, и) | Z/2-
Доказательство. Просматриваем (2) и (3). Отметим, что, в то время как и остается фиксированным и w изменяется, <p(w, и)|у2 остается фиксированным одновременно в (2) и (3).
Для любых w, и и любой переменной Xi
(<p(w,u) \Xi,y^ [Xi/yil ~ <p(f;(w),U) |t/h y2.
Доказательство. По (2) или (3) в зависимости от того, определено ли значение ф(/^•(w),u) до ф(w, и) или после него (т. е. в зависимости от того, является ли ^w суффиксом и или нет.)
Определим теперь истинностное означивание ^ эрбранов- ской развертки F' следующим образом: ^ верифицирует Pwu тогда и только тогда, когда Ру\у2 есть конъюнктивный член в ф(w, и). Мы утверждаем, что Ж верифицирует каждый пример функциональной формы F'; в частности, для любых w и и, если ф(w, u) = D, то ^ верифицирует D*[yi/w, у2/и]. Это может быть не так только в том случае, когда существуют такие wi, w2, Ui, u2 и Р, что £)* [^/1/w2> ^/uj содержит атомарную формулу PwiUi со знаком, противоположным знаку Ру\у2 в ф(Wl,Ul), где D2 = <p(w2, u2). Рассматривая отдельные случаи, зависящие от того, какая атомарная формула А из D2 становится формулой Pw1u1 в ^2 [z/i/w2, у2/и2], мы убеждаемся, что этого не может быть.
Случай 1. А есть РухУъ- Тогда w2 = wi, u2 = Ui, и, следовательно, cp(wi, Ui) = ф(w2, u2). Но тогда Py\y2 не может входить в этот дизъюнктивный член с противоположными знаками.
. Случай 2. А есть Ру\у\. Тогда w2 = Wi = ub По (b) q)(w2, u2)|t/i — cp(w2, w2)|yb По (a) Ф (w2, w2) | t/i ~ — ^(w2, w2) |yi,y2) [У2/У1]. Так как формулы Рухух и Руху2 действительно входят в каждый дизъюнктивный член, отсюда следует, что А входит в cp(w2, u2) с тем же знаком, с которым Ру\у2 входит в <p(w2, w2). Но <p(w2, w2) есть cp(wi,Ui), так как W2 = Wi = Up
Случай 3. А есть Ру^Уч- Тогда u2 = wi—ub По (с) cp(w2, u2) |у2 ф(и2, u2) |уг. По (а) ф(и2, u2)yi ~ (ф(и2, u2) | У1У2МУ2М]. Так как Ру\у\, Ру\У2 и РУ2У2 действительно входят в каждый дизъюнктивный член, отсюда следует, что знак Ру2у2 в cp(w2, u2) совпадает со знаками Ру\У\, Ру\У2 и РУ2У2 в ф(и2, и2), совпадающем с cp(wb Ui).
Случай 4. А есть Pxty2. Тогда wi = 1^^ и Ui = u2. Непосредственно из (d) следует, что Pxiy2 входит в ф(w2, и2) с тем же знаком, с которым Ру\у2 входит в ф(fz(w2), и2), совпадающее Cф(Wl,Ul).
Это завершает доказательство теоремы 12.1
Я признателен Уоррену Гольдфарбу за предложенные им разрешающие процедуры теорем 5.1, 10.1 и 12.1. В раннем варианте [19] этой работы редукция в теореме 7.1 была длины порядка п?; Дэйвид Плейстед улучшил ее до п log п, и мы затем использовали метод Плейстеда для нахождения настоящей границы п. Мартин Фюрер указал, что разрешающая процедура теоремы 10.1 верна только для сингулярных формул, и получил верхнюю границу, приведенную в разд. 10, для класса Аккермана без ограничения.
ЛИТЕРАТУРА
Aanderea S. О., Lewis Н. S. Linear sampling and the V3V case of the decision problem. — J. Symbolic Logic, 1974, v. 39, p. 519—548.
Ackermann W. Uber die Erfiillbarkeit gewisser Zahlausdriicke.— Math. Ann., Bd 100, S. 638—649.
Ackermann W. Solvable cases of the decision problem. — Amsterdam: North Holland, 1954.
Berman L. Precise bounds for Presberger arithmetic and the reals with addition.— In: Proc. 18th Annual Symposium on Foundation of Computer Science, 1977, p. 95—99.
Bernays P., Schonfinkel M. Zum Entscheidungsproblem der mathemati- schen Logik. — Math. Ann., 1928, Bd 99, S. 342—372.
Chandra A. K., Stockmeyer L. J. Alternation. — In: Proc. 17th Annual Symposium on Foundation of Computer Science, 1976, p. 98—108.
Cook S. A. The complexity of theorem proving procedures. — In: Proc. Third SIGAST Symposium, 1971, p. 151 —178.
Cook S. A. A hierarchy for nondeterministic time complexity. — J. Comput. Syst. Sci, 1973, v. 7, p. 343—353.
Dreben B. S., Kahr A. S., Wang H. Classification of AEA formulas by letter atoms. — Bull. Amer. Math. Soc., 1962, v. 68, p. 528—532.
Dreben B. S., Goldfarb W. D. The decision problem: solvable classes of quantificational formulas. — Reading: Addison-Wesley, 1979.
Fischer M. J., Rabin M. O. Superexponentional complexity of Presberger arithmetic. — In: Complexity of computation. Vol. VII, SIAM-AMS Proc.— Providence: Amer. Math. Soc., 1974.
Godel K. Ein Spezialfall des Entscheidungsproblems der theoretischen Logik.— Ergebnisse eines mathematischen Kolloquiums 2, 1932, S. 27—28.
Goldfarb W. On the Godel class with identity. — J. Symbolic Logic, в печати.
Hartmanis J., Stearns R. E. On the computational complexity of algorithms.— Trans. Amer. Math. Soc., 1965, v. 117, p. 285—306. [Имеется перевод: Хартманне Дж., Стирнз Р., О вычислительной сложности алгоритмов.— В кн.: Кибернетический сборник. Новая серия. Вып. 4. — М.: Мир, 1967, с. 57—85.]
Jones N. D., Selman A. L. Turing machines and the spectra of first order formulas.— J. Symbolic Logic, 1974, v. 39, p. 139—150.
Kalmar L. Uber die Erfiillbarkeit derjenigen Zahlausdriicke, welche in der Normalform zwei benachbarte Allzeichen enthalten.—Math. Ann., 1933, Bd 108, S. 466—484.
Ladner R. E., Lipron R. J., Stockmeyer L. J. Alternating pushdown automata. — In: Proc. 19th Annual Symposium on Foundations of Computer Science, 1978, p. 92—106.
Lewis H. R. Description of restricted automata by first order formulae.— Math. Syst. Theory, 1975, v. 9, p. 97—104.
Lewis H. R. Complexity of solvable cises of decision problem for the predicate calculus. — In: Proc. 19th Annual Symposium on the Foundation of Computer Science, 1978, p. 35—47.
Lewis Н. R. Unsolvable classes of quantificational formulas. — Reading: Addison-Wesley, 1979.
Lewis H. R. Satisfiability problems for propositional calculi. — Math. Syst. Theory, 1979, v. 13, p. 45—53.
Lewis H. R., Paradimitriou С. H. Elements of the theory of computation. — Englewood Cliffs: Prentice Hall, 1981.
Lowenheim L. Ober Moglichkeiten in Relativkalktil.— Math. Ann., 1915, Bd 76, S. 447—470. [Имеется английский перевод: [33], p. 228—251.]
Meyer A. R. Weak monadic second order theory of successor is not elementary recursive. — MAC Tech. Memo No 38, M. I. T., 1973.
Oppen D. A upper bound on the complexity of Presberger arithmetic. — J. Comput. Syst. Sci., 1978, v. 16, p. 323—332.
Plaisted D. A. Complete problems in the first order predicate calculus (не опубликовано).
Quine W. V. O. Methods of logic. — Revised ed. — Holt, Rinehart & Winston, 1963.
Rackoff C. The complexity of theories of the monadic predicate calculus. — Tech. Rep., IRIA, 1975.
Schiitte K. Untersuchungen zum Entscheidungsproblem der mathematischen Logik. — Math. Ann., 1934, Bd 109, S. 572—603.
Seiferas J. L, Fischer M. J., Meyer A. R. Refinements of the nondetermi- nistic time and space hierarchies. — In: Proc. 14th IEEE Symposium on Switching and Automate Theory, 1973, p. 130—137.
Stockmeyer L. J. The complexity of decision procedures in automata theory and logic.— Ph. D. Thes., M. I. T., MAC TR-133, 1974.
Van Heuenoort J. From Frege to Godel: A source book in mathematical logic. 1879—1931. — Cambridge; Harvard Univ. Press., 1971.
Об альтернировании. Г)
В. Пауль, Э. Праусс, Р. Рашиук)
Каждую альтернирующую /(/г)-ограниченную по времени многоленточную машину Тьюринга можно промоделировать альтернирующей Цп) -ограниченной по времени одноленточной машиной Тьюринга. Каждую недетерминированную /(/г)-ограниченную по времени одноленточную машину Тьюринга можно промоделировать альтернирующей (я-]-(/(я))^-ограниченной по времени одноленточной машиной Тьюринга. Длч правильных (well behaved, см. стр. 121) функций /(п) каждая недетерминированная t(n) -ограниченная по времени машина моделируется детерминированной ((n log/г)1/2 + (/(п))1/2)-ограничен- ной по памяти) двусторонней (off-line) машине Тьюринга. Эти результаты усиливают или обобщают результаты Чандры — Стокмейера, Липтона — Тард- жена и М. Патерсона.
ВВЕДЕНИЕ
Мы исследуем альтернирование (иногда говорят «альтернация»— Ред.). Альтернирование является одновременно обобщением недетерминизма и механизмом моделирования параллельных вычислений. Оно было независимо введено в работах [3] и [10]. Основные определения мы повторим в разд. 2.
В реальном мире нет ни недетерминированных, ни неограниченно параллельных машин, но, хотя такие машины являются чисто умозрительными построениями, они помогают нам лучше понять факты реального мира и доказывать теоремы о них. Это хорошо известно для недетерминированных машин. Аналогично и альтернирующие машины использовались для характеризации сложности арифметики Пресбургера [1], а также для получения нижних границ сложности для модальных логик [2] и при изучении некоторых игр [3]. Эти машины помогают также унифицировать теорию и строить детерминированные алгоритмы.
J) Paul W. J., PrauB Е. J., Reischuk R. On alternation. — Acta Informatica, 1980, v. 14, p. 243—255. Первоначальный вариант этой статьи был представлен на 19-м Ежегодном симпозиуме по основаниям теоретического программирования Института электрической и электронной техники (19th IEEE-FOCS).
Исследуя область применения альтернирования, мы получим ряд результатов, относящихся к моделированию одних видов машины Тьюринга другими. В [2] было показано, что каждую недетерминированную /(м)-ограниченную (сверху) по времени многоленточную машину Тьюринга (ТМ) можно промоделировать недетерминированной также /(м)-ограниченной по времени двухленточной ТМ. В [3] авторы замечают, что такой же результат имеет место для альтернирующих машин и что обычное пошаговое моделирование одноленточной альтернирующей машиной требует возведения временной границы в квадрат — т. е. t2^ вместо ЦпУ В разд. 3, модифицируя доказательства из [2] и используя возможности альтернирования, мы покажем, что моделирование многоленточной альтернирующей ТМ одноленточной альтернирующей ТМ возможно без потери времени.
В [13] показано, что при /(м)^м2 каждая недетерминированная /(м)-ограниченная по времени одноленточная ТМ моделируется (/(м))1/2-ограниченной по памяти детерминированной ТМ (ДТМ). В [11] анонсирован следующий результат: каждая недетерминированная /(м)-ограниченная по времени одноленточная ТМ моделируется альтернирующей (Цп)) ^ограниченной по времени ТМ. Доказательство основано на методе моделирования, близком к методу, использованному в [9], и дает с = 2/3. В разд. 4 мы непосредственно преобразуем метод моделирования типа «разделяй и властвуй» из [13] в параллельное моделирование; при этом граница для памяти из [13] дает границу для времени альтернирования, т. е. мы получаем с = 1/2. Используя, кроме того, лемму из [6], мы можем ослабить предположение Цп>^п2 из [13], заменив его ограничением 1^^ n log п.
ОПРЕДЕЛЕНИЯ Т
Все возможные вычисления недетерминированной машины на данном входном слове w представляются в виде некоторого дерева (дерева вычислений со входом w или просто дерева вычислений): вершинами служат мгновенные описания (МО)2), корнем — начальное МО машины на данном входе, а непосредственные потомки (sons) МО с суть те и только те МО, которые достижимы из с за один шаг, допускаемый отношением перехода. Листьями дерева являются заключительные конфигурации, которые могут быть допускающими или отвергающими. Конечно, некоторые пути на дереве могут быть бесконечными.
!) Определения, связанные с альтернирующими машинами, можно, найти работе [3]; см. также добавление переводчика (с. 141 — 158). — Прим. ред. ^Используется также термин «конфигурации»; см. ниже. — Прим. ред.
Будем считать внутреннюю вершину дерева допускающей, если хотя бы один из ее непосредственных потомков является допускающим ).
Таким образом, работу недетерминированной машины Тьюринга (НТМ) можно представить себе как поиск допускающего листа в дереве вычислений; при этом допускающим протоколом входного слова w является путь из корня в допускающий лист.
НТМ называется /(и)-ограниченной по времени, если при каждом входе длиной п, допускаемом машиной, существует допускающий лист, отстоящий от корня не-более чем на Цпу Все приведенные выше определения эквивалентны обычным.
Для альтернирующих машин Тьюринга (ATM) механизм передачи информации от листьев к корню является более мощным. Состояния (внутренние) машины разбиваются на два класса: экзистенциальные состояния и универсальные состояния. В зависимости от того, к какому классу принадлежит состояние МО, соответствующая вершина дерева называется экзистенциальной или универсальной.
Экзистенциальная внутренняя вершина называется допускающей, если хотя бы один из ее непосредственных потомков является допускающим, а универсальная внутренняя вершина называется допускающей, если все ее непосредственные потомки являются допускающими).
[Таким образом, протокол работы ATM над словом w есть поддерево дерева вычислений (из экзистенциальных вершин выходит по одному ребру, из универсальных — по нескольку ребер), а допускающий протокол есть конечное поддерево, все листья которого являются допускающими. — Перев.^
Альтернирующая машина М называется t^ny ограниченной по времени, если для каждого допускаемого ею входного слова w длиной п допускающий протокол можно было выбрать в исходном дереве вычислений, «подрезанном» на глубине t^nyy Очевидно, что альтернирующие машины без универсальных состояний представляют собой в точности недетерминированные машины.
Для удобства обозначим через АТ1МЕ^(Дп)) множество языков, допускаемых альтернирующими О (t(n)) -ограниченными по времени ^-ленточными ТМ, а через АТ1МЕ(/(м)) — объединение классов АТ1МЕ^(Дм)) по всем к. Таким же образом вводятся обозначения NTIMEfe(/(M)), NTIME(^(m)), ОТ1МЕ^(/(м) )
и DTIME(/(n)) для недетерминированных и детерминированных машин и DTAPE(r(/i)) для детерминированных машин с ограниченной памятью. Последнее обозначение сохраняет смысл и при t^<_n для двусторонних машин Тьюринга (машин с записью входа на ленте)).
СВЕДЕНИЕ НЕСКОЛЬКИХ ЛЕНТ К ОДНОЙ
Известно, что как детерминированные, так и недетерминированные одноленточные машины Тьюринга не могут быстро проверять равенство цепочек, расположенных в различных частях ленты [8]. Эта трудность преодолевается с помощью альтернирующих машин.
Лемма 1. Пусть А— конечный алфавит, а ^ ^ А — маркер, и пусть
Ы ={x##*z |.r, у,х^А*, x = z}.
Тогда L\ ее ATIMEi ^пу
Доказательство. Опишем алгоритм для альтернирующих одноленточных ТМ.
Данное входное слово w с lwl = n (через |ty| обозначается длина слова w) допускается, если выполняются следующие условия:
w имеет вид х # у # г, х, у, zgA\
х является префиксом х.
х является префиксом х.
Условие (3.1) проверяется детерминированно за время О^пу Покажем, как проверить (3.2); условие (3.3) проверяется аналогично.
Используются четыре дорожки, и входное слово переписывается на первую дорожку. Машина универсально (т. е. в универсальных состояниях) выбирает ячейку ленты под словом х и на второй дорожке печатает маркер 6, а затем экзистенциально (т. е. в экзистенциальных состояниях)) выбирает ячейку ленты под словом г и на второй дорожке печатает маркер с. Слово w допускается тогда и только тогда, когда выполняются следующие условия:
Символ, стоящий над 6, совпадает с символом, стоящим над с.
Расстояние db от левого конца х до b равно расстоянию dc от левого конца х до с.
Очевидно, что х является префиксом х тогда и только тогда, когда при любом выборе позиции Ь можно так выбрать позицию с, что будут выполнены условия (3.4) и (3.5). Условие (3.4) может быть детерминированно проверено за время О^пу Остается выяснить, как проверяется (3.5).
Машина угадывает и помещает на третью дорожку непе- рекрывающиеся двоичные представления ть т^, ..., mt нату-
X
#
У
#
Z
ь
с
”4
....
mt
П1
П2
....
nt
Рис. 1.
ральных чисел (где t ^ п выбрано произвольно) так, что т\ = 1, т^ находится под первым символом х, а первый символ mt — под последним символом х. Аналогично она угадывает и помещает на четвертую дорожку неперекрывающиеся двоичные представления п\, п^ ..., tit чисел так, что для каждого I первый символ гц стоит под первым символом mi (см. рис. 1).
Найдутся поддеревья дерева вычислений, где все mt и ги имеют длину O(logM) и где записи mi выбраны на расстоянии О (м/log п) друг от друга. Такие поддеревья назовем хорошими.
Обозначим через [mz] число, представленное записью mt. Универсально выбирается /е{2, ... /}. Детерминированно проверяется, равно ли число [mt] — [mzz_i] расстоянию между левыми концами mt и mz-i (это можно сделать, передвигая счетчик1) на расстояние [mz] — [mz_i]; в хороших поддеревьях длина счетчика равна O(logM) и он передвигается на расстояние О (м/log м)). Если для некоторого I расстояние между левыми концами mi и mi-\ не равно [mJ— [mz_i], то вход отвергается. В противном случае каждое mi начинается в ячейке \тД ленты.
й, таким образом, mi можно использовать как «вехи» для проверки (3.5)1).
При помощи этих вех детерминированно вычисляются двоичные представления db и dc^. Сравним каждое из них с некоторым стоящим рядом пл если какое либо из них отличается от соседнего nt, то вход отвергается. В противном случае универсально выбирается ;е{2, ..., /}, детерминированно проверяется равенство гц = гц_х и вход допускается тогда и только тогда, когда пг = ni_x. Очевидно, что эта последняя часть алгоритма допускает вход тогда и только тогда, когда выполнено условие (3.5). Кроме того, если допускается некоторый вход длиной п, то любое хорошее допускающее поддерево дерева вычислений имеет глубину О(м). □
Альтернирующая одноленточная ТМ также может быстро обращать двоичные представления чисел в унарные представления и обратно. Поскольку машины могут угадывать новое представление и затем проверять свою догадку, по существу, достаточно доказать следующую лемму:
Лемма 2. Пусть # ^ А — маркер, и пусть
L2 = {x ^ у \х, у ^ А*, у — бинарное представление |х|}. Тогда L2 е ATIMEi (м).
Доказательство содержится в последней части доказательства леммы 1: угадываются вехи под х, проверяется их корректность и последняя веха сравнивается с у.
Заметим, что лемма 1 дает быстрый способ копировать цепочки (угадать копию и проверить правильность, используя лемму 1), а лемма 2 позволяет тем же методом быстро найти двоичное представление длины цепочки.
Теорема 1. ATIME(/(n)) = ATIMEi(t(n)) для всех t^ny
Доказательство. Пусть М — альтернирующая ^-ленточная машина Тьюринга с алфавитом А и множеством состояний Z. Опишем одноленточную машину Тьюринга Q, которая моделирует М. Путь длины t в дереве вычислений М очевидным образом определяет последовательность конфигураций С = Сх, ... ..., Ct машины М (эта последовательность выглядит как вычисление на обычной машине Тьюринга). Протокол этой последовательности есть цепочка t записей et: <= Z X Ak X ^ X Ak X X R Ор вида
eHz (i), ах (0, ...,ak (0, z' (i), bx ...,bk (0, (0, ..., (0),
!) Здесь детерминированная проверка того, что mi поставлено правильно, заменяется универсальной проверкой этого факта одновременно для всех mi. Далее сходный прием применяется для выяснения того, что все nt равны между собой, причем опять каждое nL сравнивается только с соседним. — Прим. ред.
Двоичные записи db и dc получаются из ближайших Пг за О (п) шагов. — Прим, перев.
такая, что машина М в конфигурации Ci находится в состоянии гД), читает ахуу ..., акуу приходит в состояние z'U^ печа- гает 6Д/), ..., Ьк(^ и передвигает читающие головки в соответствии со значениями Si(jy ..., $Д/) /, г или 0, где I = налево, г = направо, 0 = на месте (1 ^ / ^ /).
Последовательность записей ен есть протокол некоторой по- следовазельности конфигураций в дереве вычислений машины М тогда и только тогда, когда выполняются следующие условия: (3.6) Записи et совместимы с отношением перехода машины М. (3.7) Пусть p(i, у) = | {и|^ (и) = г, и <. i}\ — \ {u\sv(u) = Ц ц < г} | = положение головки на ленте у перед шагом I. Для всех I е{1, о и всех у^{1, ..., &} имеет место:
если /— наибольшее число </, такое, что р(1, и) = = pV, у), то аДЦ = ЬДСу
если такого V не существует, то
а„ ^ =а„ ^ =ВВв противном случае Дв противном случае Др (I, и)-й символ входа при v = 1 и 1 ^ р (i, у) ^ | вход |
а„ ^ =
а„ ^ =
В
В
в противном случае Д
в противном случае Д
Для моделирования машины М машина Q сначала не обращает внимания на вход и последовательно угадывает записи в[ с 2^ = 2'^—1) для всех I. Для каждого / a\(iy ..., ак^ угадываются экзистенциально. Если 2^— экзистенциальное состояние, то М угадывает остальные записи et в соответствии с отношением перехода М экзистенциально, в противном же случае М угадывает остальные записи е^ в соответствии с отношением перехода М универсально. Угадывая запись Ci, машина Q каждый раз проверяет, является ли zf ^Ц заключительным состоянием; если zf^ не является заключительным состоянием, то Q порождает еще одну запись. Если гД/)— отвергающее состояние, то Q отвергает вход. Если 2'(Г)— допускающее состояние, то Q проверяет (3.7) для порожденной последовательности записей. Если проверка не проходит, то вход отвергается, если проходит, то вход допускается.
Докажем корректность такого моделирования и найдем границу для времени порождения допускающих путей (проверкой (3.7) займемся позже).
Пусть ^ — произвольное входное слов, а Г — соответствующее дерево вычислений машины Q. Пусть далее Т\ — часть дерева Г, содержащая все пути из корня Т в вершины, в которых Q угадывает запись е,-, такую, что г'Д) есть заключительное состояние и для порожденной последовательности записей выполняется условие (3.7).
Здеоь В обозначает пробел (пустой символ).— Прим. ред.
Пути из корня дерева Т к листьям дерева Ту естественным образом соответствуют конечным путям от корня к листьям дерева вычислений машины М. Пусть Т2— поддерево Т, состоящее из Ту и (конечных) поддеревьев дерева Т с корнями в. листьях Т\ (соответствующих проверке условия (3.7). — Перее.). Если Т совпадало бы с Т2, то Q допускала бы вход тогда и только тогда, когда М допускает вход. Но все пути в Г, не принадлежащие Т2, пересекают Т2 в экзистенциальных вершинах. Кроме того, все такие пути бесконечны или ведут в отвергающие листья дерева Т. Таким образом, пути в Т вне Т2 не оказывают влияния на то, допускает ли машина Q вход или нет,, т. е. Q корректно моделирует М.
Если длина входа w равна п и этот вход допускается, то для w найдется допускающий протокол глубины не более t(n). Поэтому можно ограничиться изучением путей дерева вычислений М на слове w, которые имеют длину O(t(n)) и соответственно порождаются за O(t(n)) шагов. Мы получим временную границу, если покажем, как проверить условие (3.7) для последовательности записей длины О(/) за время О(/).
Это делается следующим образом:
На дополнительной дорожке Q выбирает и помечает s записей elv . . ., e^. Q помечает также е^ = ех.
Для каждой помеченной записи е[. машина Q угадывает двоичное представление чисел q(i-p 1), . . ., q(ip к) и записывает их вниз на к следующих дорожках начиная с ei : это возможные места расположений головки.
Поддерево дерева вычислений машины Q называется хорошим, если помеченные записи et расположены на расстоянии не более O(//logZ), а длина записей чисел q(ip v) имеет порядок O(logZ). В хороших поддеревьях (3.9) дает глубину 0(f). Наши оценки времени работы машины Q будут справедливы лишь для вычислений, принадлежащих хорошим поддеревьям, но наше построение обеспечивает, что хорошее допускающее поддерево найдется для любого входного слова w, допускаемого машиной Q.
Итак, выполнив очередную разметку, Q универсально выбирает одну из помеченных записей е^, а также число ие{1, ..., к^ и проверяет условие
q (1ч 70 = 0, если / —0;
q Vj, у) — q ОЛ i, у) + I {u I sD (и) = г, <«<г/}| —
— I {«(«) = /, i/-i <« < iA I-
Это делается детерминированию. Для проверки (3.10) необходимо только передвинуть счетчик длины O(logM на расстоя-
ние порядка O(//log/). Если (3.10) не выполняется, то Q отвергает вход. Таким образом, в допускающих поддеревьях (3.10) должно выполняться для всех / и и, т. е. числа q(i/,u) являются позициями головок р(г/, у), определенных в (3.7).
Машина Q универсально выбирает запись Ci {\^i^t) и число ие{1, .ку Затем Q экзистенциально выбирает запись eV с V << I или фиктивную запись е0. В первом случае Q проверяет (3.7а), во втором—(3.7b) и отвергает вход, если результат проверки оказывается отрицательным.
Очевидно, что равенство аУ(/) = by(i') из (3.7а) можно проверить за 0(7) шагов. Выполнение (3.7b) проверяется следующим образом: передвигая счетчик, Q находит р(/, и) по ближайшему q(i/,v). Как указано в замечании после леммы 2, машина Q находит представление длины п входа и копирует его на дополнительную дорожку под представлением р(/, и). Если п < рЦ, v)\ то надо проверить лишь аУ(/) = В. В противном случае Q угадывает позицию b на входе и стирает идущие за ней (6+1)-й, ..., /t-й символ входного слова. Находится двоичное представление числа b (равного длине оставшейся части входа) и помещается под представлением числа р(Ц и). Если b ^p(i,vy то Q отвергает вход, в противном же случае Q проверяет, равно ли ауу) последнему символу оставшейся части входа. Остается показать, как проверяется, что или V является наибольшим числом <д, таким, что р(/', и) = р(/, и), или такого числа V вообще не существует (см. (3.7а, Ь)).
Машина Q универсально выбирает запись evs для которой V <. i" < I Ц" < i, если выбрана фиктивная запись еоу вычисляет p(i', и), р(/", и) и р(г, и) (их можно вычислить, исходя из чисел g(f/, и)) и, применяя лемму 1, проверяет, верно ли, что р(/', v) = p(f, v) =^ p(j", v). Если результат проверки оказался отрицательным, то Q отвергает вход, в противном же случае имеет место (3.7). □
Отметим, что теми же приемами можно приспособить доказательство из [12], чтобы установить следующий факт: каждую альтернирующую /(п)-ограниченную по времени машину с произвольным доступом к памяти (RAM) с логарифмической мерой стоимости можно промоделировать альтернирующей /(/г)-ограниченной машиной Тьюринга.
4. МОДЕЛИРОВАНИЕ ОДНОЛЕНТОЧНЫХ МАШИН
Пусть М— недетерминированная одноленточная машина Тьюринга с множеством состояний Z, алфавитом 2, начальным состоянием qo, допускающим состоянием qi и отвергающим состоянием ^2 (если таковое существует). В обозначает пустой символ. Пусть также w обозначает входное слово и \w\ = n.
Без потери общности можно предположить, что
В начале работы машины слово w помещается на ленте в ячейках 1, ..., п, а читающая головка находится в ячейке 0. Машина М начинает работу в состоянии q^ переходя в ячейку 1 и снова посещает ячейку 0, только приходя в заключительное состояние после стирания записи на ленте.
Следом (ориентированным)1) вычисления машины М с входным словом w между t-й и (Z+ 1)-й ячейками ленты называется последовательность Ci, ..., сг символов алфавита {S,S|S^Z}, где C/ = S(S), если /-е пересечение границы между этими ячейками головка совершает слева направо
(справа налево) и сразу после пересечения машина переходит в состояние S. Поскольку первое пересечение границы происходит всегда слева направо, второе — всегда справа налево и т. д., ориентация следа в целом не является необходимой, но в дальнейшем нам придется делить следы на части, а для них ориентация существенна.
Лемма 3. Если М начинает работу с входным словом w и допускает w, но вычисление дает два идентичных следа справа от входного слова, то существует допускающее вычисление машины М, начинающееся со слова w и использующее меньше времени и памяти.
Доказательство почти сразу следует из рис. 2. Если следы С и D идентичны, то вычисление, получающееся при удалении А' и соединении оставшихся частей по общему следу, оказывается таким, какого требует лемма.
Лемма 4. Для t(n)^ п log п каждая недетерминированная t(n)-ограниченная по времени одноленточная машина Тьюринга М является О (t(n) /log t(n))-ограниченной по памяти; кроме того, границы времени и памяти достигаются на одних и тех же вычислениях.
!) В оригинале (oriented) crossing sequence (CS). — Прим, пзрев.
Доказательство аналогично приведенному в работе [6], где этот результат доказан для детерминированных машин.
Рассмотрим любое допускающее с минимальной памятью вычисление /(м)-ограниченной по времени одноленточной машины М, начинающееся с входного слова w длиной п. Пусть s—■ длина зоны, используемой в вычислении, z— число состояний машины М, и пусть at для каждого i— число следов длины I, порождаемых на первоначально пустой части ленты. Тогда ^iai^t^n), s — п = 2 ai и Для каждого / at ^ zl согласно лемме 3. Следовательно,
I («)/(< — /?) ‘ У , ,./ У
Выражение в правой части этого неравенства становится минимальным, когда в нем наибольшее возможное число коротких следов. В этом случае данная величина легко оценивается снизу Q (log /(м) ). □
CS-стенограммой вычисления машины М, начинающегося со слова до, называется последовательность вида (bin л, Ci, ... ..., bin гр, Ср)1), где для 1 ^/^^ Cz обозначает след между г,-йи (Г. + 1)-й ячейками ленты и г\ ^ ... гр.
Лемма 5. Пусть Цп)^ п log п, \w\ = п и М допускает w. Тогда существует CS-стенограмма длины О(Т/2(п)) допускающего вычисления машины М, начинающегося с входа w, такая, что Ср = А = пустому слову (т. е. Л4 никогда не посещает (гр+1)-^ ячейку ленты) и п— п-\ ^ 2tx/2(n) для l^i^p (го принимается равным 0).
Доказательство. По лемме 4 для входа w существует допускающее вычисление машины М длины ОЩп)), требующее только О(Цп) /log Цп)) ячеек ленты. Лента разбивается на р = O^tx/2^n)/log Цп)) блоков Bi длиной Z1/2(/t) каждый, и в каждом блоке Bi выбирается кратчайший след Ci. Тогда
/(«)>! X isi> £igi/"-’^).
i — \ ' е ■■ ь след з В ./ I
Кроме того,
X | bin I С X (1о<т / (п) + 1) = ()(/ (п)).□
t = 1i = 1
Теорема 2. NTIMEi (Цп)) с= ATIME (/14-^1/2(^)) для всех t^n).
Доказательство этой теоремы почти воспроизводит доказательство из работы [13], за исключением очевидных изменений и некоторых упрощений согласно лемме 5. Пусть М — недетерминированная одноленточная машина описанного выше вида.
*) Здесь bin г означает двоичное представление числа г.
Конечное вычисление машины М, начинающееся с входа w, может быть описано таблицей Л с элементами из 2UCZX2). Здесь aij = b означает, что перед t-м шагом вычисления в /-й ячейке ленты находится символ 6, a aij = (2, 6) означает, что перед t-м шагом вычисления машина М находится в состоянии г, головка обозревает ячейку / и считывает там Ь. Последовательные строки соответствуют последовательным мгновенным описаниям машины М. Временная и ленточная сложности соответствуют числу строк и столбцов таблицы А. Если А является (/ X s) -таблицей вычисления и 0 ^ t\ ^ /2 ^ t, 0 ^ Si ^ s2 ^ s, то [(/2 — /i)X(s2 — Si)]-таблица А' с aV = at И Si+/ описывает, что происходило от /1-го до /2-го шага вычисления между si-й и 52-й ячейками ленты. А' называется подтаблицей. Периметром подтаблицы Л' называется набор (Ri, R2, Si, S2), где R\ и R2— первая и последняя строки A', a Si (S2)— часть следа между ($i — 1)-й и Si-й (52-й и (s2+ 1)-й) ячейками, которая соответствует пересечениям границы между /j-м и /2-м шагами. Будем говорить, что выполняется предикат comp (Ri, R2, Si, S2), если (/?i, R2, Si, S2) есть периметр некоторой подтаблицы таблицы вычисления машины М.
Предложение 6. (Формула С в работе [11]).
comp (/?i, R2, Si, S2) истинно тогда и только тогда, когда выполняется (4.2) или (4.3):
3 (/?, S[, S7, S2, S?) такие, что имеют место (4.2а)—(4.2d).
(4.2а)SfSr = S!;
(4.2b)5^ = 82;
(4.2с)comp (R\, R, S[, S2);
(4.2d)comp (R, R2, ST, ST).
3(S, Ri, RT, Ri, RT) такие, что имеют место (4.3а)—(4.3d). (4.3а)RtRT — Ri;
(4.3b)RiRT = Rv,
(4.3c)comp(/?i, Ri, Si, S);
(4.3d)comp (RW R", S, 8>\
Рис. 3 иллюстрирует это предложение. Вообще говоря, очевидно, что существует много возможностей рассечения таблицы.
Если М t{n) -ограничена по времени, lw\ = n и выполняется (4.1), то М допускает w тогда и только тогда, когда comp(/?i, R2, Si, S2) имеет место для
Rx=u-BcUn'V,etW-n, Нг = ВсИМ^ип\ Sx=qoqx, S2 = A, где с выбрана согласно лемме 4.
Теперь для доказательства теоремы 2 можно без потери общности предположить, что /(п)^п2, поскольку из справедливости теоремы 2 для такой Цп) следует, что теорема 2 справедлива для всех /(я), так как
NTIMEj (/ ^)) = NTIMEi (и2 + / (z/))
<= ATIME (п + U2 + / «''О ^ ATIME (п + /1/2 (/г)).
М. На данном входе w А. (4.4) ATM угадывает ..., bin гр, Ср).М. На данном входе w А. (4.4) ATM угадывает ..., bin гр, Ср).S{S{Рис. 3. а*. Р-сечение,Рис. 3. а*. Р-сечение,22RZаRZаSR2Rl"RZSR2Rl"RZ.2); б: S-сечение, (4.3)..2); б: S-сечение, (4.3).*i*iR2бR2бМы опишем, как О (/1/2 (п))-ограниченная по времени машина ATM моделирует Цп) -ограниченную по времени машину )аботает следующим образом: CS-стенограмму (bin ri. Ci, .
М. На данном входе w А. (4.4) ATM угадывает ..., bin гр, Ср).
М. На данном входе w А. (4.4) ATM угадывает ..., bin гр, Ср).
S{
S{
Рис. 3. а*. Р-сечение,
Рис. 3. а*. Р-сечение,
2
2
RZ
а
RZ
а
S
R2
Rl"
RZ
S
R2
Rl"
RZ
.2); б: S-сечение, (4.3).
.2); б: S-сечение, (4.3).
*i
*i
R2
б
R2
б
ATM универсально выбирает число ^^ {1, ..., р}.
Пусть га ™ 0, са ™ р^ и й' = к'Ваии L>“ tun'n. ATM проверяет
comp (ф,^ и ... wrq,Cq_x,Cqy
Если результат проверки положителен, то ATM допускает вход, в противном же случае отвергает его. Таким образом, ATM допускает w <=> существует CS-стенограмма, такая, что сотр(...) верно для всех q-*^M допускает w.
Если М допускает w, то найдется CS-стенограмма длиной O(f/2(/t)) некоторого допускающего w вычисления, как в лемме 5. ATM может угадать эту CS-стенограмму за O(tx/2(n)) шагов. Заметим также, что для этой CS-стенограммы длина периметра (/?i, R2, Si, S2) comp-утверждений (comp-clauses), проверяемых в (4.6), ограничена О(В/2(п)У
Пусть T(r,s,t)— время, за которое ATM может проверить comp (Rx, /?2, Sj, S2) для | Rx | = I R21 = г, I S, || S21 = S,
где (R\, R2, Si, S2) является периметром подтаблицы не более чем с t строками (т. е. не более / шагов вычисления машины М
совершается «внутри» периметра). Для доказательства теоремы 2 теперь достаточно доказать следующее утверждение.
Лемма 7. Существует постоянная kx, такая, что для всех Г, S U t
Т (г, 0 М^ + s + tu"Y
Доказательство. Для проверки comp^, R2, Sx, S2) ATM действует рекурсивно. ATM выбирает одно из действий: или выполнить /?-сечение либо S-сечение, или проверить прямым моделированием М.
R-сечение. ATM угадывает R, Sf, ST, SY S1 и проверяет l^l = l^ih (4.2а) и (4.2b). Это можно сделать за кДг + s) шагов. Затем ATM универсально выбирает для проверки (4.2с) или (4.2d).
S-сечение. ATM угадывает S, PY Rv, RY R2 и проверяет (4.3а) и (4.3b).
Это можно сделать за &2(г +s+ |S|) шагов. Затем ATM универсально выбирает для проверки (4.3с) или (4.3d). В любом допускающем дереве вычисления машины М найдется допускающее поддерево, где ATM работает следующим образом: (4.7) Для малых t ATM проверяет непосредственно.
Если г ^ s, то ATM производит /?-сечение, деля s пополам.
Если г > s и г + 5 < 7/1/2, то ATM производит /?-сече- ние, деля / пополам (если s или / нечетно, то возможно только приблизительное деление пополам; проистекающие из этого изменения в анализе носят рутинный характер).
В остальных случаях ATM угадывает в средней трети такой след S (S-сечение), что |S|^3//r (такой след существует, иначе периметру (/?i, R2, Si, S2) принадлежат более чем t шагов вычисления).
Теперь лемма 7 доказывается по индукции: если кх достаточно велико, то л^мма, очевидно, верна для малых /. Получаем для (4.8): Т (г, s, /) = к. (r + s) + T (г, s/2, t) = k2(r + s)y- кх (г + + s,2 + /1/2) < 2k2s—kxs/2+kx (г + s + Д2) < кх (г + s + Д2) при кх ^ 4й2;
для (4.9): Т (г, s, /) = к2 (г -Vs^ + T (г, s, (//2)l/2X&2 (r+s)+&i (г + + s + №^7к2^2 -- ky^U - (1/2)12) + кх (r+s-W<kx (г+ + s + /l/2) при ^>7М1 -(1/2П;
для (4.10): 7(г, sД) = ^Д + s + 3t/r) + Т (2r/3, s + 3//r, Г) ^ С к2 (2г + 3//r) + кх (2r/3 + s + 3/!r + Z1 Д.
Теперь s < г и 7/1/2 < г + s влечет ^t/r < 4г.
Таким образом,
Г (г, S,/)<^2(2г+ 12^49) + ^! • l2r/49 + ^l(2r/3 + s+/1/2)< < г (110fe2/49 + 12fe(/49) + к, (2г/3 + « + /1/2) < s^MS+k, (2r/3+s+^1,2Wi (г+«+/1/2) Для *,>125^. □
Назовем функцию /(п) правильной (well behaved), если двоичное представление 1^ можно вычислить по унарному представлению п двусторонней детерминированной ТМ, использующей /1/2(п) ячеек ленты.
Теорема 3. Если Цп)— любая правильная функция, то
NTIMEj (/ („)) ОТАРЕ Цп log /i)1'2 + /V2 („)).
Доказательство. Для Цп)^п2 это, конечно, следует из теоремы 2 и теоремы 3.1 работы [3]. Без потери общности предположим, что Цп) ^ п log п и что М есть /(п)-ограниченная по времени недетерминированная одноленточная машина Тьюринга, как определено выше. Опишем /1/2(п)-ограниченную по памяти двустороннюю (off-line) машину Тьюринга ОТМ, моделирующую М.
Для данного входа w длиной п ОМ сначала вычисляет двоичное представление ЦпУ а затем по нему вычисляет двоичное представление /1/2(п). После этого ОМ выделяет c-tY/2^n) ячеек ленты, где с выбирается так, что для каждого допускающего вычисления машины М, содержащего Цп) шагов, найдется CS-протокол длины c-R^^n) со свойствами, установленными в лемме 5. ОМ перечисляет в лексикографическом порядке все CS-протоколы такой длины. Для каждого CS-протокола ОМ проверяет все сотр-утверждения (4.6). ОМ оказывается О(Z1/2(n))-ограниченной по памяти, если каждое сошр-утвер- ждение может быть проверено на О(/1/2(п)) ячейках ленты.
ОМ проверяет comp (/?ь R2, Si, S2) систематическим перечислением /?-сечений или S-сечений, которые совместимы с правилами (4.7) — (4.10). Для каждого перечисляемого сечения подзадачи (4.2с), (4.2d) или (4.3с), (4.3d) рекурсивно исследуются одна за другой на том же куске ленты. Рекуррентные уравнения для ленты, используемой в моделировании, совпадают с уравнениями для времени, применявшимися в доказательстве теоремы 2. □
Приведенное выше доказательство, конечно, представляет собой всего лишь упрощение и расширение на случай Цп) << п2 (здесь используется лемма 5) доказательства из работы [13].
Следствие 1. Даждая детерминированная t^ny ограниченная по времени одноленточная машина Тьюринга М моделируется детерминированной О ((n\og пУ/2 + tx/2 {п) у ограниченной по памяти двусторонней машиной Тьюринга М'.
Доказательство. Пусть q2— отвергающее состояние машины М. Машина М допускает или отвергает w после t шагов работы тогда и только тогда, когда для i = 1 или I — 2 выполняется следующее условие:
сотр(;^~Л В*, q^t, А).
Нам не задан никакой легкий способ вычисления Цп?) по данному п. Поэтому М' последовательно пробует проверять (4.11) при Z = |ty|, |ty|+l • •• для г=1 или г = 2. Это делается описанным выше способом. Так как машина М t^ny ограничена по времени, моделирование на входах длиной п совершается за время, не превышающее t = O(n + + tyy/k>gtyyy □
ЛИТЕРАТУРА
Bermann L. Precise bounds for Presburger arithmetic and the reals with addition.— In.: Proc. 18th 1EEE-FOCS, 1977, p. 95—99.
Book R. V., Greibach S. A., Wegbreit B. Time and tape bounded Turing acceptors and AFL’s. — J. Comp. Syst. Sci., 1970, v. 4, p. 606—621.
Chandra A., Stockmeyer L. Alternation. — In: Proc. 17th IEEE-FOCS, 1976, p. 98- 108.
Erdos P., Graham R., Szemeredi E. Sparse graphs with dense long paths.— STAN-CS-75-504, Comp. Sci. Dept. Stanford, 1975.
Fischer M. J., Ladner R. E. Propositional modal logic of programs. — In: Proc. 9th ACM-STOC, 1977, p. 286—294.
Hartmanis J. Size arguments in the study of computation speeds. — In: Proc. Symp. on Computers and Automata, Politechn. Inst. Brooklyn, 1965, p. 1 — 18.
Stearns R. E., Hartmanis J., Lewis P. M. Hierarchies of memory limited computations. — In: Proc. 6th IEEE Symp. on Switching Circuit Theory and Logical Design, 1965, p. 179—190. [Имеется перевод: Стирнз P., Хартманне Дж., Льюис П. Иерархия вычислений с ограниченной памятью.— В кн.: Проблемы математической логики.—М.: Мир, 1970, с. 301—319.]
Hennie F. С. One-tape off-line Turing machine computations. — Inf. and Control, 1965, v. 8, p. 553—578. [Имеется перевод: Хенни Ф. Вычисления на одноленточной машине Тьюринга с записью на ленте. — В кн.: Проблемы математической логики.—М.: Мир, 1970, с. 223—248.]
Hopcroft J. Е., Paul W. J., Valiant L. G. On time versus space.— J. ACM, 1977, v. 24, p. 332—337.
Kozen D. On parallelism in Turing machines. — In: Proc. 17th IEEE- FOCS, 1976, p. 89—97.
Lipton R., Tarjan R. Applications of a planar separator theorem. — In: Proc. 18th IEEE-FOCS, 1977, p. 162—170.
Monien B. About the derivation languages of grammars and machines.— In: Proc. 3rd ICALP, 1977; Lecture Notes in Computer Sci., v. 52.
Paterson M. Tape bounds for time-bounded Turing machines. — J. Comp. Syst. Sci., 1972, v. 6, p. 116—124. [Имеется перевод: Патерсон M. Ограничения на ленту для ограниченных во времени машин Тьюринга. — В кн.: Сложность вычислений и алгоритмов. — М.: Мир, 1974, с. 213— 221.]
Pippenger N., Fischer М. Relations among complexity measures. — J. ACM, 1979, v. 26, p. 361—381.
Об альтернировании. II
ДЕТЕРМИНИРОВАННЫЕ И НЕДЕТЕРМИНИРОВАННЫЕВЫЧИСЛЕНИЯ С ТОЧКИ ЗРЕНИЯ ТЕОРИИ ГРАФОВ’)
В. Пауль), Р. Райшук)
Каждая детерминированная t(n)-ограниченная по времени многоленточная машина Тьюринга моделируется альтернирующей (/(л)log log ^(/z)/log t(n))~ ограниченной по времени машиной Тьюринга.
Если глубина каждого направленного ациклического графа с п ребрами может быть приведена к log п удалением только о (л) ребер, то недетерминированные многоленточные машины Тьюринга за линейное время могут распознавать языки, не распознаваемые детерминированными многоленточными машинами Тьюринга за такое же время. Для некоторых графов уменьшение глубины до log п требует удаления Q (/г/log log п) ребер. Дается теоретикографовое условие того, что «забывчивость» (obliviousness) уменьшает мощность многоленточных машин Тьюринга.
ВВЕДЕНИЕ
В этой статье речь идет о вопросах такого рода: насколько велики дополнительные возможности, даваемые недетерминированностью или альтернированием? Определение альтернирующей машины Тьюринга см. в [6]). В разд. 2 мы покажем, что каждую детерминированную /(м)-ограниченную по времени многоленточную машину Тьюринга (ТМ) можно промоделировать альтернирующей одноленточной (/(/z)log log /(az)/log t^n))- ограниченной по времени ТМ. Таким образом, альтернирование увеличивает силу многоленточных машин. Вместе с теоремой 1 из работы [6] это влечет следующее: если каждый язык, допускаемый альтернирующей О (п) -ограниченной по времени одноленточной ТМ, сводится за линейное время к некоторому языку L, то L не распознается ни на какой детерминированной многоленточной ТМ за линейное время.
’) Paul W. J., Reischuk R. On alternation II. A graph theoretic approach to determinism versus nondeterminism. — Acta Informatica, 1980, v. 14, p. 391 — 403. Первоначальный вариант этой статьи был представлен на GI-конференции по теоретическому программированию 1979 г.
Увеличивает ли недетерминированность возможности машин— это открытый вопрос для всех (кроме наиболее простых) моделей вычислений. В разд. 3 мы покажем следующее: если глубину каждого направленного ациклического графа с п ребрами можно уменьшить до log п, удаляя только о^ ребер, то за линейное время недетерминированные многоленточные ТМ могут распознавать больше языков, чем детерминированные многоленточные ТМ. Доказательство использует альтернирующие машины.
Имея в виду указанную проблему теории графов, в разд. 4 мы построим семейство графов G„, п ^ N, где Gn (1) имеет п ребер и (2) для любого &^fi/logft уменьшение глубины до к требует удаления Q (м/log к) ребер. Это обобщает результат из работы [2]. В разд. 5 мы даем в терминах теории графов условие того, что «забывчивость» (см. [10]) уменьшает возможности многоленточных ТМ.
МОДЕЛИРОВАНИЕ ДЕТЕРМИНИРОВАННЫХ МНОГОЛЕНТОЧНЫХ МАШИН ТЬЮРИНГА
Теорема 1. Для всех t(n)
DTIME (t (м)) ^ ATIME (м + /(м) log log /(м) /log Дм)). Доказательство аналогично доказательству включения
DTIME (/ (м)) DTAPE (/ (M)/log / (м)), но с дополнительной трудностью: центральным местом доказательства в работе [3] является лемма об игре в камешки (pebble game). Доказательство этой леммы проводится разбиением (методом «разделяй и властвуй») на две подзадачи, но одна из этих подзадач не сводится к разбору двух независимых случаев. Однако в работе [7] предлагается доказательство леммы о камешках в слегка ослабленной форме, которое использует теорему из работы [2]. Мы используем более общий вариант этой теоремы, доказанный в [13]:
Существует такая постоянная ci, что глубина d каждого направленного ациклического графа с пг ребрами может быть уменьшена до Cid/logd удалением только С\Ш log log d/log d ребер (на самом деле для больших d сх = 1 + е).
Это поможет доказать теорему 1. Пусть М — детерминированная Дц)-ограниченная по времени ^-ленточная машина Тьюринга, w— входное слово машины М и |^| = п. Для AeN разделим время работы 'М на входе w на промежутки по А шагов в каждом. Занумеруем эти промежутки числами от 1 до ГД^)/А]. Добавим дополнительный промежуток с номером 0, соответствующий времени до первого шага. Разделим ленты машины М на блоки по А ячеек в каждом. Будем назы-
вать блок b активным во временном промежутке z> О, если хотя бы одна из его ячеек посещается головкой машины в течение этого промежутка. Таким образом, в каждом временном промежутке i > 0 активны не больше чем 26 блоков. При z = О все блоки будем считать активными. Графом ^-вычисления G = (V,E) машины М с данным входом w будем называть граф с вершинами 0, ..., f/(n)/A] (временные промежутки), причем из вершины z идет ребро в вершину / тогда и только тогда, когда z + 1 = / или z < / и некоторый блок активен во временных промежутках z и /, но не во временных промежутках /+1, ..., j—1. Этот граф является направленным ациклическим с входной степенью не более чем 26 + 1. Таким образом, у него не более m = (26 + 1) Гt(п) /А] ребер.
Для z Д> О res(z) означает какое-либо простое кодирование числа z, а также состояния М, записей в блоках, активных в z-m промежутке времени, и положений головок в конце временного промежутка I. Очевидно, что это кодирование можно выбрать так, что |res(z) | = O(log/(n) +А). Пусть res(0) = ty, т. е. входному слову. Тогда каждый код res(/) можно вычислить за O(|res(/)|) шагов, исходя из {res(z) | (z,/)е £}. Пусть т = = Г/(п)/А] обозначает номер последнего временного промежутка («дно» G). Для моделирования М достаточно вычислить res(r). Опишем ATM, которая быстро делает это.
При данном входе w с \w\ = п ATM
угадывает1) t (которое должно стать /(п));
вычисляет А = [/2/3];
угадывает код некоторого графа G = (!/,£) (предположительно графа A-вычисления машины М с входным словом ш) в виде списка инциденций;
угадывает списки номеров блоков для всех вершин G (предположительно номера блоков, активных на соответствующем временном интервале работы Л1).
Для этого требуется время O(mlogm), где т= (26+1)Г^/А] = = О(£/3).
Далее ATM параллельно выполняет действия (2.2) и (2.3)2).
Проверяет, является ли угаданный граф G ациклическим (если нет, то граф G, а вместе с ним и вход w отвергаются). ATM легко делает это за время, пропорциональное длине кода:
J) См. примечание 2 на с. 110. — Прим, перев.
Кроме того (параллельно с (2.2) и (2.3)) нужно (2.2.1) проверить, согласован ли угаданный список номеров блоков с графом G (если нет, то граф отвергается).
Аналогично проверке (2.2) это можно сделать за время О(/1/3): для всех вершин I параллельно проверяется, что любые два наследника i в G (опять параллелизм!) не имеют общих активных блоков. Авторы, видимо, подразумевают, что эта проверка выполняется в ходе этапа (2.3.2).— Прим, перев.
универсально выбираются две вершины z, / с I < /. Вход отвергается, если существует ребро (/, z); в противном случае вход допускается.
Выбирает Sczf), а затем угадывает R = {res(z) |z е еУ(5)}), где V(S) = {/е V\i инцидентно некоторому ребру в S}U {0, т}.
Далее ATM параллельно выполняет (2.3.1) и (2.3.2).
Допускает вход тогда и только тогда, когда res(r) содержит допускающее состояние машины М.
Допускает вход тогда и только тогда, когда граф вычисления G и множество R были угаданы правильно.
Проверка (2.3.1) тривиальна; при проверке (2.3.2) ATM опять использует параллельные вычисления. Одновременно для всех z V(S) ATM
по угаданным G и R строит
/?(0 = {res(/)|/^I/(S), в графе (V, £\S)
существует путь из j в z);
выполняет следующее действие:
пробует моделировать М на основе информации, содержащейся в /?(z), вплоть до z-ro промежутка времени.
Вход допускается тогда и только тогда, когда моделирование приводит к res(z), угаданному в (2.3).
Моделирование (2.4) осуществляется рекурсивно:
Для всех ц, ..., ir (г ^2^+0 — предшественников z в графе G — сначала угадывается res(z’i), ..., res (zr), а затем параллельно выполняются (2.6) и (2.7).
Вход допускается, если моделирование машины М исходя из res(z'i), ..., res (z'r) дает res(z), и отвергается в противном случае.
Универсально выбирается zze{l, ..., г}. При 1и^ ^V(S) вход допускается тогда и только тогда, когда res(zM), угаданный в (2.5), равен res(zM), угаданному в (2.3). При iu ^ V(S) надо перейти к (2.5) с заменой z на 1и.
Легко видеть, что эта ATM моделирует М. Кроме того, если М допускает w, то существует допускающее поддерево дерева
вычислений ATM, в котором t и G правильно угаданы и множество S в (2.3) выбирается согласно (2.1):
IS | = О (m log log mjL^ m) ~ О (Д3 log log //log /), а глубина графа (V, E\S) есть О (m/log m) = O(tx/3 log /). Отсюда следует, что глубина рекурсии для (2.6) также равна O(/1/3log/). Поскольку (2.5), (2.6) и (2.7) можно выполнить за O(|S|log|S| +/2/3) шагов, это ограничивает глубину поддерева для проверки (2.4) величиной О (//log/). Время, затраченное на (2.2)— (3.2), ограничено временем, затраченным на (2.3), а последнее равно О( |S|/2/3) = О(/log log//log/).
Теорема 1 доказана. □
Для последующих ссылок мы дадим набросок доказательства теоремы о временной иерархии для альтернирующих машин из [ 1 ].
Назовем функцию Цп^ конструируемой по времени, если существует детерминированная О (/(п))-ограниченная по времени двухленточная ТМ, находящая по унарному представлению числа п двоичное представление 't(n).
Теорема о временндй иерархии (предложение 3.5 в [1]) Если Т(п) конструируема по времени и t(n) = o(T(n)), то ATIME (/(п)) ^ ATIME (Г(п)).
Доказательство. Фиксируем некоторое естественное кодирование альтернирующих одноленточных ТМ в {0, 1}* и для ^^{0,1}* обозначим через Ми машину с кодом и. Опишем альтернирующую двухленточную ТМ М.
При данном входе w машина М проверяет сначала, имеет ли w вид и 44= х. и,х ^{0,1}*; если нет, то вход отвергается; если «да», то М вычисляет двоичное представление Т(|ш|) и записывает его на ленте 2. Затем М моделирует Ми на входе w, однако при этом М меняет местами экзистенциальные и универсальные состояния и действия, а также допускающие и отвергающие состояния. Параллельно М считает на ленте 2 от Т(п) до 0. Если в счетчике к концу моделирования стоит 0, то М допускает. Язык, допускаемый машиной М, принадлежит классу ATIME(T(n))\ATIME(/(n)), согласно теореме 1 из [6] и обычной аргументации. □
Из приведенного выше доказательства непосредственно вытекает
Следствие 1. Если Цп)— конструируемая по времени функция, то класс ХТУЖЕДЦп^ замкнут относительно взятия дополнения.
Следствие 2. Пусть функция t\ (п) конструируема во времени и п ^ /2(м) = o(tx (п) log tx (rt)/log log tx (az)). Тогда DTIME (/2(n))5 5 ATI ME VbWY
Доказательство. DTIME (/2 (л)) £= ATIME (o^v (п))^
(по теореме 1)
5 ATI ME (/, (n))
(по теореме о временной иерархии). □
Следствие 3. Если каждый язык в ATIMEi(n) сводится за линейное время к L, то L ^ DTIME (о (n logn/loglog n)).
Пусть 4М обозначает цепочку *,...,# (^ Раз) •
Следствие 4. Пусть L = }и # и # *1 i ^ N, дерево вычисления машины Ми при данном v, подрезанное на глубине \и # v ^l/M2, является допускающим}. Тогда
L е ATIME (п) | DTIME (о (n log м/log log п)\
Доказательство. Покажем, что язык L удовлетворяет условию следствия 3. Пусть Ai^ATIMEi(n) допускается альтернирующей машиной Ми за время с • п. Тогда f (у) = и # у # cJ и ,2’pl сводит L\ к L. □
Было бы интересно найти естественно определяемые языки, к которым L сводится за линейное время, но сложнейшие языки из DTAPE(m) обычным образом не сводятся.
ТЕОРЕТИКО-ГРАФОВЫЙ ПОДХОД К СРАВНЕНИЮДЕТЕРМИНИРОВАННОСТИ И НЕДЕТЕРМИНИРОВАННОСТИ
Хорошо известна проблема о недетерминированных вычислениях: сильнее ли они детерминированных, т. е. верно ли, что P^NP-? Здесь мы предлагаем некоторый подход к решению простейшей нерешенной проблемы этого типа: сильнее ли они вообще, т. е. формально, верно ли, что DTIME (n)=# NTIME(m)?
Следующая теорема дает достаточное условие.
Теорема 2. Если существует функция s(jt}=o(ji,}, такая, что в любом направленном ациклическом графе с п ребрами глубину графа можно уменьшить до log/2 удалением только s(n) ребер, то DTIME (м) ^ NTIME(n).
Условие предположения теоремы 2 не ново. Согласно [13], из него также следует, что длина неветвящейся программы для большинства билинейных форм от п переменных равна «ДпУ
Нам понадобятся некоторые предварительные определения и результаты. Как в [4], мы будем говорить, что ATM альтернирует самое большее I раз, если на любом пути любого дерева вычислений машины существует самое большее I ребер, ведущих из экзистенциальных в универсальные или из универсальных в экзистенциальные вершины дерева. Обозначим через АТ1МЕ1(/ (м)) класс языков, распознаваемых альтернирующими ^-ленточными машинами Тьюринга, которые альтернируют
не больше чем / раз, и положим
ATIME' (/ (л)) = U ATIME* (/ (и)),к
АТ1МЕПп (/ ^ = [ | ATIME' (/ (я)).i
В доказательстве теоремы о сведении числа лент ATM к одной было использовано только конечное число дополнительных альтернаций. Поэтому мы получаем
Следствие 5. ATIME1 (/ (м)) ^ ATIME!+с (/ (я)) для некоторого с2, всех I и всех t^n).
Аналогично доказательство теоремы об иерархии использует только одну дополнительную альтернацию: если начальные состояния моделирующей и моделируемой машин оба универсальны или оба экзистенциальны, то моделирующая машина делает одну дополнительную альтернацию в самом начале моделирования.
Таким образом, получаем
Следствие 6. ATIME! (о (/(м))) 5 АТ1МЕз+1 UWY если функция t^n) конструируема по времени.
Наконец, в доказательстве следствия 1 вообще нет дополнительных альтернаций.
Следствие 7. Класс ХТ^№?(Дп^ замкнут относительно дополнения для всех I, если функция t(n) конструируема по времени.
Теорема 2 доказывается теперь приведением к противоречию. Чтобы это установить, представим сначала несколько следствий из
DTIME (n) = NTIME (п).
Лемма!. (3.1) влечет DTIME (n) = ATIMEfin(n).
Доказательство. Проводится аналогично доказательству теоремы 5 в [10] индукцией по числу альтернаций. Если Ее е ATIME0 (п), то L допускается альтернирующей О (п)-ограниченной по времени машиной Тьюринга М, все состояния которой либо экзистенциальны, либо универсальны._ В первом случае L^ DTIME (п) по (3.1). Во втором случае L, дополнение языка L, принадлежит NTIME(n) по доказательству следствия 7. Таким образом, L^ DTIME(п) по (3.1), откуда, конечно, следует, что L е DTIME (п).
Теперь предположим, что М делает I > 0 альтернаций. Модифицируем М увеличением и разбиением множества состояний так, что после каждой альтернации М оказывается в новом классе состояний, т. e. М считает число своих альтернаций. Затем изменяем М так, чтобы она делала первую альтернацию на левом конце записи, приходя при этом в состояние So
(информация о том, в какое состояние машина должна прийти после s0, запоминается на ленте). Тогда язык, распознаваемый машиной М, стартующей из состояния s0, принадлежит АЛМЕ^-Цп) и по индуктивному предположению допускается детерминированной О (п) -ограниченной по времени ТМ Q. Изменим М снова, отождествив s0 с начальным состоянием машины Q. Теперь М делает 0 альтернаций, и теорема следует из первой части доказательства. □
Подводя итог, заключаем:
Лемма 2. Из (3.1) следует, что ATIMEfin(/(n)) = = DTIME(/(/i)) для любой конструируемой по времени функции t^nY
Доказательство. Пусть L г ATIMEfin(/(n)), a L'=^w^ * m^i) | w е /J Тогда L' е ATIMEfin(n). Следовательно, L'e ^DTIME(n), согласно лемме 1, а значит, L е DTIME(Z(n)). □
Решающим пунктом раздела является
Лемма 3. Из (3.1) и предположения теоремы 2 следует, что
DTIME (/ (и)) ^ ATIME* (о (/ (и)))
для некоторого I и некоторой конструируемой по времени функции Цп).
Это приведет затем к такому противоречию:
DTIME (/ (и))) с ATIME* (о (/ (/г)))по лемме 3,
s ATIMEi+C2(o (/(м)))по следствию 5
5 АТ1МЕ2+Сг+1 (/ (я))по следствию 6
s АТ1МЕПп(/(м)) = DTIME (/(м)) по лемме 2.
Для доказательства леммы 3 мы повторим этапы доказательства теоремы 1 и применим предположение теоремы 2, чтобы отладить ту часть доказательства теоремы 1, где возникает неограниченное число альтернаций, т. е. (2.5) — (2.7). Заметим сначала, что, коль скоро можно уменьшить глубину графа вычисления до logm, удаляя s(m) ребер, то, согласно (2.1), эту глубину можно уменьшить и до ci logm/loglogm, удалив еще cxm log log logm/loglogm = o(m) ребер.
Поэтому в (2.3) можно выбрать множество S мощности s(m)+йт loglog logm/log logm = о(т) так, что глубина графа (V, E\S) не будет превосходить £Ц log m/log log m. В этом случае для всех I множество
V (/)=-{/ е V | в графе (7, £\S) существует путь из j в /} содержит не больше чем (2& + 1)с* ^g™'105105"1 = о(т) элементов и угадывание R в (2.3) потребует О(^2/3-о(^1/3)) = o(Z) шагов времени.
Вместо проверки условия (2.4) по (2.6) — (2.7) ATM, моделирующая ДТМ М, делает следующее:
Угадывает V(i) и {res (/) | / g Г(0}> а затем параллельно выполняет (3.3) и (3.4).
Допускает вход тогда и только тогда, когда V(Z) было угадано правильно (см. выше). Таким образом, угадывание (3.2) в допускающих вычислениях занимает время O(|V(0|X ХА) = о(0-
Для всех j^V^ одновременно моделирует А шагов работы машины М, исходя из {res(/)| в графе G существует ребро из / в /} (все они могут быть найдены среди res (у), угаданных в (2.3) и (3.2)). Вход допускается тогда и только тогда, когда движения головки оказываются совместимыми с блоками, угаданными для посещения, и результатом моделирования действительно оказывается res (у), угаданное в (2.3) или (3.2).
Очевидно, что число альтернаций ограничено. Если детерминированная машина допускает слово w с |ш| = п, то поддерево дерева вычислений моделирующей ATM, у которой S выбрано, как указано выше, является допускающим и имеет глубину o(t(n)). □
ГРАФЫ, ГЛУБИНУ КОТОРЫХ ТРУДНО УМЕНЬШАТЬ
Пусть s(n)— функция, определенная в теореме 2. Здесь мы докажем, что s (n) = Q (n/log log n).
В [7] определен двудольный граф с п входами и п выхо- ходами, называемый ^п — i/j)-эспандером. Он обладает тем свойством, что для каждого подмножества, состоящего из п/1 входов, существует n/j выходов, таких, что в каждый из этих выходов ведет ребро из данных п/1 входов. В [7] показано, что существует такое s^N, что для всех п ^ s существуют Vn — 8/2)-эспандеры с выходной степенью каждого входа, равной 16. Фиксируем это число s. Каждое такое множество из 16 ребер, выходящих из некоторого входа, можно заменить полным бинарным деревом. Пусть Еп— такой граф с s-2n вхо- дами/выходами, выходной степенью ^2 и длиной пути от входа к выходу, равной 4. Индуктивно построим семейство графов Gn, глубину которых трудно уменьшать выбрасыванием вершин!).
Пусть Go есть граф Е^. Граф GnJrX состоит из трех копий графа Еп+1, обозначенных М+ь /=1, 2, 3, с входами I1 =
^ Выбрасывание вершин эквивалентно выбрасыванию ребер, так как вы ходная степень Gn ограничена.
= Gl> •••> ts-2"+1) И выходами Ol = (olv, ..., O*.2n+1) и двух копий графа Gn, обозначенных G„, /=1, 2, с выходами /'= = 0р /$.2«) и выходами Qz = (^, .... ^'.2„). Входами Gn+1 являются / = /’, а выходами Q = O2. Отождествим /* с /3, полагая ir = C, а О2 с О3, полагая о2 = о? для l^r^s-2re+1, и добавим следующие ребра: (о‘, j1^, (о[_2П+г, О’ (^ О* №. О’ №’ zs.2"+r) для l^r^s-2" (см. рис. 1).
Пусть V(Gn)— множество вершин Gn, a Nn = | V^Gn) |. Тогда мы имеем Nn = О (п • 2я) и выходная степень графа Gn
Рис. 1. Граф Gn*t. Стрелками показаны ребра, штриховыми линиями — отождествления.
ограничена 4. В последующем п ^ 8 фиксировано. Отметим, что для любого т (0 ^ т^п) граф Gn содержит 2я-'” копий графа Gm и соответственно 3-2я-т копий графа Ет.
Пусть S — V(Gn).
Граф Ет (вернее, экземпляр графа Ет в Gn— Перее.) называется S-блокированным, если | V (Ет) f) S | ^ s • 2'"-3. Граф G п называется S-блокированным, если хотя бы один из графов Е‘,„(1 = 1, 2, 3), входящих в Gm, является S-блокированным1). Легко доказать следующую лемму.
') В тех случаях, когда ясно, о каком S идет речь, мы будем писать просто «блокированный».
Лемма 4. Пусть S ^ V(Gn), и пусть граф Ет (соответственно Gm) не блокирован; тогда для каждого подмножества А входов графа Em(Gm) с | А | ^ (1/4)$-2т существует подмножество В выходов Eni(Gm) с |В| ^ (3/8)$-2т, так что для всех Ь^В существуют а^А и путь w длиной 4 из а в b в Em\S(Gm\S).
Теорема 3. Пусть 28 ^^ ^2п = O(Nn/\ogNn), a $(п, &) — мощность наименьшего множества вершин S, такого, что удаление из Gn вершин из S и смежных с этими вершинами ребер уменьшает глубину Gn до к. Тогда
c^NJXo^k^s^n» k^CiNJXogk
для некоторых постоянных Сз и С4.
Доказательство нижней границы. Пусть 28 ^ & ^ 2” и удаление SczV(Gn) уменьшает глубину Gn до к. Будем считать, что к = 2', t е N.
Доказательство ведется по следующему плану. Для ге
{1, .[п/Щ положим jr — n — (г—l)t Назовем пакетом некоторый подграф G^1), из которого удалены все подграфы вида Gjr-Z, где z ^ t. Оценим снизу число вершин, которые необходимо удалить из пакета для того, чтобы в нем не осталось путей длиной >к. Так как пакеты не пересекаются, то, суммируя оценки для различных пакетов, получим искомую оценку для |S|.
Итак, пусть число ге{1, ..., Г^/Я} и подграф Glr исходного графа Gn фиксированы, и пусть J и Q — множества входов и выходов графа Gjr соответственно. Введем вспомогательные определения.
Открытым называется такой путь, в который входят только вершины из V(Grt)\S. Пусть 0 ^ х < t и G— подграф графа Gjr, изоморфный Gir-X, а 7 и Q — множества входов и выходов G соответственно. Подграф G графа G/r назовем хорошим, если выполнены три следующих условия:
Существует A s 7\S, такое, что | Д | ^ (1/4)S-2^”X и для всех а е А существует открытый путь из J/S в а.
Для любого B'^Q\S, такого, что | В' | ^ 3/8$ • 2/г”х, существует открытый путь из некоторого b е В' в Q\S.
Существует открытый путь из J в Q, проходящий через граф Е^г-Х> соответствующий выбранному графу G.
!) Точнее, подграф G графа Gn, изоморфный графу G} . Однако в дальнейшем вместо «подграф графа Gt, изоморфный подграфу Gj> мы для краткости, как правило, будем писать просто «подграф Gj»; это не приведет к недоразумениям. — Прим, перев.
Теперь индукцией по х построим «канонический» открытый путь w в G/r, который затрагивает только подграфы G/r-x графа G/r для 0 ^ х < t.
Начало индукции х = 0.
Случай I. Граф G/ блокирован; тогда положим ш = 0.
Stop
Случай II. Gjr нс блокирован; тогда, очевидно, Gr является хорошим (напомним: х = 0).
Например, пункт с) утверждает, что существует открытый путь длиной 4 из / в Q, проходящий через Е/г; это верноДпо* скольку по лемме 4 существует много таких путей.
Шаг индукции x-^x+L Пусть Gjr-X — хороший подграф G/r, такой, что ни в этом графе, ни в каком-либо из его су- перграфов), не имел место stop), и пусть G]r-(X г о и 02}г-и-И) — два подграфа графа 0}г-х.
Случай I. Граф G/ -(х+о или граф G/ -(х+i) блокирован или х = 1 — 1.
Stop
Случай II. См. рис. 2. В соответствии с а) выберем подмножество А входов Gjr-x. Так как граф G/r-x не блокирован, из леммы 4 можно заключить, что существует такое подмножество Ci множества выходов Е, _X\S, |Ci|^(3/8)sX X 21г~х» что для всех с = CV существует открытый путь из А в с, который мы обозначим w3. .
Множество С] связано по меньшей мере с (3/8) s •2?г~х1’2,— — s • 2,r-(x+1) ~3 = (1/4) s . 2^_(x+1) входов графа G* _(X+I) \ S; обозначим это множество вершин через Лр Отсюда следует существование такого множества Bi выходов графа g)^_(X+i) \ S, | В{ |^(3/8)s- 2lr”^x+v\ что для всех bv е Вх некоторый открытый путь ом из Л в bi проходит через E^LixHt-
Для любого подмножества Bi выходов G/f-(*+i)\S с |в[|^ ^(3/8)s- 2,'"""<х+1), и в частности для множества Вх, существует такое подмножество Лг входов G^-^+i) \S, |Лг|^(1/4)5Х X 2ir-^x+v\ что для любого а2 е Л2 найдется открытый путь (ребро) ,t£’5 из Bi в а2> так как граф G/ -(x+i) не блокирован. Теперь можно найти такое подмножество В2 выходов графа G2j_'<xW\S, | В2 |^(3/8)s • 2/г""(х+1), что для всех Ь2 е В2 существует открытый путь ws из Л2 в Ь2 через граф £/^-(,+1), Обозначим через Сг множество входов Е^г-Х\8, связанных с вершинами В2 ребрами. Имеем
| С21 > 2 (3/8)s • г^-1^1’ — s • ^r-x-a = (1/4) s • 2'V"х.
Наконец, существует такое подмножество В выходов графа Е^ -Х\ 8 с | В | ^ (3/8) s • 2!г"х, что для всех be В существует открытый путь Wq из С2 В Ь. , ■ ,
Докажем, что графы С^-^г, и Gjr-ix+iX являются хорошими.
Легко видеть, что утверждение а) справедливо для G/r-(X+i) и Gy —(jc+i): для. каждой вершины в At (соответственно Лг) найдется открытый путь из Jlr в эту вершину, состоящий из W], о-’з и w8 — ребра между Cv и Ai (соответственно из ayb w3, w&, w4 и w5). .
Докажем утверждение Ь). Множество В( (/=1, 2) является подмножеством множества выходов G/^—(Х-ц)\5, и | Bt | 2s ^ (3/8) 2ir”x. Поэтому в силу леммы 4 можно построить такое множество В выходов G/r-x\S, что для любого Ь^В пай-
дется открытый путь из Вх через В2 в Ь, состоящий из ш5, w6> w^ (ребра между Вг и С2) и w7. По индуктивному предположению для Gjf_x существует открытый путь w2 из В в Qjr. Конкатенация этих путей дает открытый путь из Вх через В2 в Q/r.
Утверждение с) доказывается аналогично. Пусть В — под- * множество выходов Gj _X\S, к которым из А ведут открытые пути типа пути w, состоящего из w^ w%, w^ w^. w^ w^ и w7. Так как мощность множества В не меньше (3/8) s • 27г-х, то снова можно заключить, что найдется открытый путь w2 из бей в Qir.
Пусть а е А — вершина из которой некоторый открытый путь ведет в 6, a wv — открытый путь из Jjr в а. Тогда wx№2 является некоторым открытым путем из J/r в Q/ , проходящим через графы Е^гчх^ и E^x-w-
Это доказывает, что графы G/r-(X+i) и G/r-(x+i) являются хорошими.
Длина пути из J;r в Qlr изменится на величину1)
| 1У3 | + 1 + I 1У4 I + I ®5 I + I ^6 I + 1 + I ^7 I — I путь В Едг-х | =
= 4 + 1+ 4+1+4+1+4-4 = 15.
Обозначим через т(х), О^х^/ — 1, число графов, изоморфных Gjr-X) в которых произошел stop. Тогда для числа pir вершин, удаленных из пакета (см. выше), заданного графа G)r, имеем / — 2
р. > Е т(х) • $ • 2уг”х"3; х=о
с другой стороны, максимальная длина L пути удовлетворяет следующему условию: если в графах Gjr-X с О^х^/— 2 никогда не происходит stop, то /4-1/-2
Л = 4+ £ 15-272= z 15-2х = (21-' - О - 15 > 4- 2' =Лк. ■ ■х=0 х=0
Если stop происходит в графе Gjr-Xс х^/—1, то L убывает по закону
L(x) = £ Г5- 2,/2 = (2,'1-,— 1) • 15<2<-х+3.
Так как в графе Gjr~x мы останавливаемся т(х) раз, то получаем для L, что / — 2. .
£^ + 2'-£т(х);2м*7
-Х = 0
!) Здесь | w I обозначает длину пути w.
По предположению удаление S уменьшает глубину Gn до к, т. е. L^Lk^-S*. Поэтому X т00 2*~Х+3^ 4 • 2* — L 3 • 2*, что х=0 дает / — 2
Р< >У.т^- 2^х+3 • s • 2/<^ > 3 • 2' • s • 2У^^“6 = 3 • s • 2V-6.
'^=0
Это выполняется для всех г и всех подграфов G^. Поскольку 2П-/'' подграфов Gjr не пересекаются и для каждого графа Gjr при подсчете Pj учитываются только вершины S, принадлежащие его подграфам Gjr~x с х <1, никакая вершина S не может быть подсчитана дважды, а именно в р]г и р;~ — числах, соответствующих различным подграфам Gjr и Gjr Отсюда для мощности S при k^Y получаем
IS 1^2 ^Р, >L^n"irPj >£з$.2"~6> r jr Г гг
> 3s № 2“~6 > c^t > c4 • У/log k,
где c6, c^ — подходящие постоянные.
Доказательство верхней границы. Выберем ^ = log& — 4, а г и jr такими, как указано выше. Удалим все выходы и входы во всех графах Gjr, чтобы получить множество вершин S. Построение Gn показывает, что каждый открытый путь, который попадает в О/ , не может проходить через вершины вне G^ равно как и вершины графов GjT-x для х ^ t, так как входы и выходы графа G/r+1 также удалены. Поэтому всякий открытый путь может касаться не больше чем 3-(2° + 21+ • •• ... -ф2^“1) = 3-(2/—1) эспандеров. Это ограничивает максимальную длину путей величиной 5-3-2* = 15-210g*-4 < &.
Мощность S можно оценить так:
I s | ^ £ ^"’г • 2 • s • 2'г < (ПД) 2s • 2ге = 2s • п • 2re/(log к - 4) < г=1
< 4s • п • 271о£ ^ < с5 • W/log к.
(Здесь с5 положительная постоянная). □
/(n) log/(п)-ограниченной по времени двухленточной забывчивой машиной. Остается открытой следующая проблема:
Существует ли для некоторой функции t^n) t(n) -ограниченная по времени машина Тьюринга, которую нельзя промоделировать никакой /(п)-ограниченной по времени забывчивой машиной Тьюринга?
Мы изложим здесь некоторую теоретико-графовую гипотезу и покажем, что из нее следует утвердительный ответ на вопрос (5.1). Направленный ациклический граф G = (V, Е) называется т*-головочным графом (ср. [8]), если он обладает следующим свойством: если V = {xi, ..., xnV то существуют 2m функций /1, И, /2, ^2, •••, 1т, Гт\ {1, 2, . . . Zl}->-Z, ДЛЯ КОТОрЫХ ПрИ ВССХ 1 ^ & ^ m, 1 ^ i ^ п
/й(1) = о, а(1)=1, o<rft(O-/HO<i. |/»0') —М< —1)KL
I Q(0 — (г — 1)|< 1,
так что множество ребер определяется следующим образом: т
Е = и {Un. Xo)|u = max{l <z < у | lk (z) = lk(v^ к= 1
или и = max {1 ^ г < -и \г^ (г) = rk (у)}}
и {U«-i, хв)| 1 <и<п}.
Все графы вычислений m-головочной машины Тьюринга являются т*-головочными.
Направленный ациклический граф с двумя такими подмножествами вершин Д = {ab ..., ап^ и В = {6Ь ..., bnY что для всех к ^ п и всех А'^А, В'^В с | Xz | = | ^z | = существует не меньше чем к] а непересекающихся по вершинам путей из А7 в В7, называется (м, а)-суперконцентратором. Известно, что существуют графы с О(п) вершинами, являющиеся (n, 1)-суперконцентраторами [9, 12].
Открытой является следующая проблема:
Пусть (G)neN — семейство графов с g^ ребрами, являющихся т*-головочными графами и (п, а)-суперконцентраторами для некоторых m и а. Влечет ли это gVn^ — ^VnV
Теорема 4. Утвердительный ответ на (5.2) влечет утвердительный ответ на (5.1).
Доказательство. Опишем двухленточную машину Тьюринга М. Для данного входа w^ {0, 1}* с \w\ = n машина М проверяет сначала, делится ли п на 3. Если 3 не делит число п, то машина М ничего не делает; в противном случае положим w = t^1^2^3, 1^1= п/3, i^ {1,2,3}. Если число единиц в w2 отличается от их числа в w3, то М опять ничего нс делает,
а в противном случае положимр’р ..., (J = {/'| ^ = 1}, iv < /2< < ... < ts и {/р ..., у = {/1 w| = 1}, /,<...< js. Машина М заменяет w1 на w4, где | w41 = n/3, w/z = w\ для 1 С / ^ s, wу = О для /^ {/ь ..., jsV Такую машину М легко сделать ©(^-ограниченной по времени. Пусть Q — забывчивая m-ленточная машина с s состояниями и q ленточными символами, и пусть число п делится на 3. Рассмотрим граф Gn A-вычисления машины Q с длиной блока А = 1 на данном входе длины п (поскольку машина Q забывчивая, один и тот же граф вычислений соответствует всем входным словам одинаковой длины). Промежуток времени (см. стр. 124) теперь соответствует одному шагу. Покажем, что Gn является (п/3, а)-суперконцентратором для некоторого а.
Для 1 ^ I ^ п/3 пусть at (соответственно bi) — первый (соответственно последний) шаг, когда на первой ленте обозревается i-я ячейка. Пусть далее А = {ш,...,ctnlW В = {6i,.. .,bn^ A' = {aiit ...^сц^^А и B' = ^blx, ..., Ь^^В. Выберем такой вход w, что ^, ..., w\k записаны в ячейках /1, ..., jk. Обозначим через U какое-либо наименьшее множество вершин графа Gn, удаление которых разрушает все пути, ведущие из А' в В'. Рассмотрим 2^ всех возможных слов, отливающихся от w лишь, быть может, в позициях ^^ .. ., w\k.
Тогда заключительная запись в ячейках /ь ..., jk будет функцией от {res(и) \и е (7} (см. стр. 125). Но число возможных {res (и) | и е U) равно (s-q2m^u ^ У = числу возможных заключительных записей в ячейках /ь ..., jk. Таким образом, I U\ ^ кЦ2т logq + logs). Следовательно, для а = 2m logq + -{-logs должно найтись к/а не пересекающихся по вершинам путей из А' в В', т. е. граф Gn является (м/З, а)-суперконцентратором.
Отсюда следует утверждение теоремы. □
ЛИТЕРАТУРА
Chandra A. Stockmeyer L. Alternation. — In: Proc. 17th IEEE-FOCS, 1976, p. 98—108.-
Erdos P., Graham R., Szemeredi E. Sparse graphs with dense long paths.— STAN-CS-75-504, Comp. Sci. Dept Stanford, 1975.
Hopcroft J. E., Paul W. J., Valiant L. G. On time versus space and related problems. — In: Proc. 15th IEEE-FOCS, 1975, p. 57—64.
Kozen D. On parallelism in Turing machines. — In: Proc. 17th IEEE- FOCS, 1976, p. 89—97.
Paterson M., Fischer M., Meyer A. An improved overlap argument for one- line multiplication. — SIAM AMS Proc., 1974, v. 7, p. 97—111.
Paul W^ Praufi E. F., Reischuk R. On alternation. — Acta informatica, 1980, v. 14, No. 3, p. 243—255. [Имеется перевод: настоящий сборник, с. 107—122.]•
Paul W., Tarjan R. Time-space trade-offs in a pebble game. — Acta In- formatica, 1978, v. 10, p. Ill—115.
Paul W., Tarjan R., Celoni J. Space bounds for a game on graphs.— Math. Syst. Theory, 1977, v. 10, p. 239—251.
Pippenger N. Superconcentrators. — Preprint IBM, Jorktown Heights.
Pippenger N., Fischer M. Relations among complexity measures. — J. ACM, 1979, v. 26, p. 361—381.
Schnorr С. P. The network complexity and the Turing complexity of finite functions. — Acta Informatica, 1976, v. 7, p. 95—107.
Valiant L. G. On non-linear lower bounds in computational complexity.— In: Proc. 7th ACM-STOC, 1975, p. 45—53.
Valiant L. G. Graph theoretic arguments in low-level complexity. — In: Proc. 6th Symp. on Math. Found, of Comp. Science, Tatranska Lominica, 1977.
Добавление переводчика к статьям«Об альтернировании, 1, II»
А. А. Мучник
АЛЬТЕРНИРУЮЩИЕ ВЫЧИСЛЕНИЯ И ИХ СЛОЖНОСТЬ
Понятие альтернирования, естественным и логичным образом обобщающее недетерминированность алгоритмов, было независимо введено Чандрой и Стокмейером, с одной стороны, и Ко- зеном — с другой. Альтернирующие машины и связанные с ними игры с камешками на графах оказываются удобным средством исследования проблем сложности вычислений, в частности соотношения между временем и памятью вычислений, сложности программных логик, логических теорий и некоторых игр (Эренфойхта, Шеннона), ряда комбинаторных задач теории графов и, наконец, параллельных вычислений. Для альтернирующих машин Тьюринга (ATM) устанавливаются понятия времени и памяти (зоны, емкостной сигнализирующей, ленточной сложности) вычисления и фундаментальный факт, связывающий классы емкостной сложности ATM с классами временной сложности детерминированных ТМ (ДТМ):*
ASPACE (S(n)) = J DTIME(cs<«)) при S(ra)>logn, с>0
ATIME (Tfa)) s DSPACE (Г(п)) при Т^>п,
NSPACE(S(n))s [J DTIME (с (S (и)2)),с>0
где NSPACE(S(n))— класс предикатов, вычислимых на недетерминированных машинах Тьюринга (НТМ) на зоне S^n).
Для ATM и игр с камешками на графах удалось установить некоторые нижние и верхние оценки сложности, а также результаты полноты в некоторых классах сложности при подходящих сводимостях. Примерами могут служить проблемы разрешения в логике и проблемы существования или нахождения выигрывающих стратегий в комбинаторных играх.
Используя равенство ASPACE (zi) = DTIME(crt), Фишер и Леднер [1] доказали, что проблема разрешения пропозициональной динамической логики требует экспоненциального времени. Используя родственные методы, Леднер [2] доказал, что
проблема разрешения пропозициональной модальной логики S4 полна в DPOLYSPACE, а Стетмен [3] установил такой же результат для интуиционистской логики. Оценка времени и памяти распознавания выигрышности ряда комбинаторных игр получены в [4, 5]. Используя ATM, Л. Берман оценил сложность проблем разрешения теорий сложения вещественных и натуральных чисел, а Козен [14] выполнил аналогичную работу для элементарной теории булевых алгебр. В. Л. Руззо показал, как охарактеризовать класс языков, сводящихся с логарифмической памятью к контекстно-свободным языкам при помощи ATM.
ATM предлагалось рассматривать как машины с неограниченным параллелизмом, и даже был провозглашен «Тезис о параллельных вычислениях» [6], гласящий, что время работы параллельной машины полиномиально связано с памятью эквивалентной детерминированной машины. В силу этого ATM оказываются с точностью до полиномов сильнейшими среди возможных машин параллельного действия.
После ряда модификаций Чандра, Стокмейер и Козен пришли к следующему определению ATM [6]:
Определение 1. ATM называется система М = (k, Q, S, Г, 6, ^о, ^), где к — число рабочих лент, Q — конечное множество внутренних состояний, 2— конечный входной алфавит (ф^ ^2— концевой маркер), Г — конечный алфавит рабочих лент (# ^ Г — пустой символ),
6 s (Q х г* х (Z и Ш)) X (Q X (г - {*})' X (left, right}ft+‘)
— отношение непосредственного перехода, qo е Q — начальное состояние, g: Q-^ {A, V ~, accept, reject^
Если g(q) = Л (соответственно V, ~, accept, reject), то q называется универсальным (соответственно экзистенциальным, отрицающим (negating), допускающим, отвергающим) состоянием.
У машины имеется входная лента с концевыми маркерами, с которой производится только считывание, и к рабочих лент, первоначально пустых. Один шаг машины М состоит только в считывании по одному символу с каждой ленты, записи по одному символу на каждой рабочей ленте, сдвиге головок на каждой ленте на одну ячейку влево или вправо и переходе в новое состояние в соответствии с отношением перехода о.
Отмстим, что машина нс может записывать пустые символы.
Определение 2. Конфигурациями альтернирующей машины Тьюринга М называются элементы множества Cm = QX2*X X((r-{#})*)ftX Z*+1. Конфигурация содержит внутреннее состояние, входное слово, записи на к рабочих лентах и к + 1 положение головок. Если состояние q из конфигурации а является универсальным (экзистенциальным, отрицающим, допус-
кающим, отвергающим), то и конфигурация а носит соответствующее название.
Начальной конфигурацией М на входе х является амуУ— = (^о, х, %,...,%, 0, ..., 0),где Z — пустое слово. Конфигура- к/г+1
ция дает мгновенное описание машины М. в данный момент вычисления. Запись аг р означает, что конфигурация р непосредственно следует из а (р является наследником а, а а — предком р) согласно правилу перехода 6. Правило 6 таково, что допускающие и отвергающие конфигурации не имеют наследников, универсальные и экзистенциальные имеют по крайней мере по одному наследнику, а отрицающие — точно по одному. Как обычно, |—* обозначает рефлексивное транзитивное замыкание бинарного отношения Н.
Путем вычисления машины М на слове х называется последовательность а0 Н ai — ... Н ап, где а0 = Ом (я). Процесс вычисления начинается с начальной конфигурации <5мкхУ В экзистенциальной конфигурации а процесс делится на пг параллельных процессов, начинающихся с Р/, а Н Pi (t = 1, . mV каждый из которых может привести к допусканию конфигурации а независимо от других. В универсальной конфигурации а процесс также делится на пг процессов, начинающихся с Р/, но для до- пускания конфигурации а теперь нужно, чтобы все эти процессы приводили к допусканию. Отрицающая конфигурация а допускается тогда и только тогда, когда отвергается р, где а Н р.
Вводится разметка /: См->{0, ±, 1} конфигураций машины Тьюринга М с входом xgS* и оператор т, преобразующий разметки при переходе к новой конфигурации а:
А Ц^,
если
а
универсальна,
at- Р
V ц^.
если
а
экзистенциальна,
а Н Р
Т (/) (а) = 1
П/(Р),
если
а
отрицающая и а Н Р,
1,
если
а
допускающая,
о,
если
а
отвергающая,
где V, Л и П
на множестве
0
< ± < 1 значений разметки
являются операциями Клини (±—неопределенность):
Л |
1110 V
1 1 0 и
1
1
0
1101
110 1
0 0 00
1111
111 1
1100
0
1
1
е. в порядке < Д есть min, V есть шах, а Дх = 1 — х, если положить ± = 1/2.
На {0, ±, 1} вводится еще частичный порядок Е (по «определенности»): ± с о, 1Е1)а0и 1 несравнимы. Этот частичный порядок естественным образом переносится и на разметки.
Относительно ^ оператор т является монотонным. Через Q обозначается минимальная разметка: Va Q(a)=±. Тогда suprm(Q) = /* будет наименьшей (по ^) неподвижной точ- шеХ кой оператора т.
Дадим ряд определений. Альтернирующая машина Тьюринга М допускает входное слово х, если /*(ам(х)) = 1, М от- вергает х, если /*(ам(х)) = 0. В этих случаях говорят, что М останавливается на х. В остальных случаях (т. е. при /*(ам(х))= ±) М не определена на х.
Определение. Язык, допустимый ATM М,— это Е(М) = = {х е 5*| Л1 допускает х}.
Работе М на х можно дать следующую игровую интерпретацию.
Множество конфигураций М образует дерево (вычислений) Тгм(х) машины М на слове х, вершинами которого являются элементы См, упорядоченные посредством Н. Корнем является Ом. Листья соответствуют допускающим и отвергающим конфигурациям. Все другие вершины бывают двух видов: Е- (т. е. экзистенциальные) и Е- (т. е. универсальные) вершины. (Для упрощения считаем, что отрицающих конфигураций нет.) На этом дереве играют Е-игрок и Е-игрок. Е-игрок стремится (а в сложностных рассмотрениях — и наиболее «простым» способом) попасть в допускающий лист, а Е-игрок — попасть в отвергающий1). Стратегией Е-игрока (или Е-стратегией) называется любая функция е(а), определенная на Е-вершинах а и такая, что aHe(a), а Е-стратегией — функция и(а,^ определенная на Е-вершинах а и такая, что а Нм (а). Итак, Е-игрок «ходит» в Е-вершинах, Е-игрок — в Е-вершинах. Очевидно, что каждая пара стратегий (е, и) определяет ровно один путь d(e, м) (конечный или бесконечный) в дереве вычислений. Если этот путь завершается в допускающем (отвергающем) листе, то в партии (е, и) выигрывает Е- (Е-) игрок, а в случае бесконечного пути получается ничья. Игра (или дерево вычислений) является выигрышной для Е- (Е-)игрока, или е- (и-)выигрышной, если существует такая Е- (Е-)стратегия ео (uq), которая выигрывает у любой Е- (Е-) стратегии.
Машина М допускает (отвергает) слово х тогда и только тогда, когда ее дерево вычислений на слове х выигрывает
!) Или по крайней мере помешать Е-игроку попасть в допускающий лист.
((7-) игрок. Когда игру не выигрывает ни Е-, ни (7-игрок, машина не заканчивает работу на слове х..
Поскольку за отрицающей конфигурацией а следует единственная р, наличие таких конфигураций в принципе ничего не меняет, а только усложняет приведенное выше определение.
Определим теперь абстрактную сложность вычисления ATM.
Напомним, что путем вычисления или для краткости вычислением d ATM М называется любая цепочка конфигураций аь а2, ..., а^, такая, что он Н a2 Н ... — а^. Число к называется длиной d\ это записывается так: ld\ = k. Вычисление d является началом (продолжением, подвычислением) вычисления di, если для некоторых вычислений d2, d3 di = dd^ (di = d2d, d\ = d^dd-^.
Пусть на множестве всех вычислений определена общерекурсивная функция (о. р. ф.) р, такая, что:
(V d, di) (d является началом1) d\ ^ p(d)^ p(di));
если ^А—любая последовательность вычислений, такая, что Мп (dn есть начало dn-vx^ и lim I dn \ — оо, то lim p(dn)=
П->ооП->оо
= оо.
Условие 2) можно сформулировать как условие p(d)=oo для бесконечных вычислений d.
Каждая о. р. ф. р, удовлетворяющая 1) и 2), называется мерой сложности, a p(d) — сложностью вычисления d. Время, зона или память незацикливающихся вычислений и другие естественные меры сложности удовлетворяют аксиомам 1) и 2).
Каждый путь в дереве вычислений ATM является вычислением. Фиксация Е-стратегии е приводит к выделению из дерева вычислений Тгмк^ некоторого поддерева Тгм,Лху если для каждой Е-вершины а выбросить все поддеревья с корнями в наследниках вершины а, кроме поддерева с корнем в е^аУ Выбрав Е-выигрышную стратегию е (если она существует), получаем дерево Тгм,АхУ которое назовем (допускающим) протоколом машины М на х. В статьях «Об альтернировании, I и II» этого сборника такая операция называется подрезанием (см. с. 109). Все пути в Тгм, Дх) конечны и завершаются допускающими листьями. Сложностью протокола Тгм, е(х) называется Ф(Тгм, Дх^ = sup{p(d)\d — путь в Тгм,Дх)У Допускающей сложностью машины М на слове х называется
Ф(Тгм(хУ = inf Ф(Тгм,Дх)Уее W
где W есть множество Е-стратегий, выигрышных для Е-игрока.
Дерево Тгм,Дх) можно, конечно, так же определить для любой Е-стратегии е.
0 В другом варианте — подвычислением dx.
Удобно считать, что допускающая сложность Ф^Тгм, е(х)) дерева Тгм, е(х) для невыигрышной £-стратегйи е равна оо. Тогда допускающую сложность ATM М на слове х можно определить как ф (7>м (х)) = inf Ф(Тгм, Дх)). Когда М не до- е
пускает слово х, ф(Тгм(х)) — оо.
Если, наконец, допускающую сложность p*(d(e, и)) пути вычисления d(e, и), не завершающегося допускающим листом, положить равным оо, а в противном случае считать p*(d(e, и)) = = p(d(e, и)), то
Ф (Тгм(х^ = inf sup p*(d(e, u)).e и
Нетрудно видеть, что обычные меры сложности вычислений для НТМ и ДТМ являются частными случаями определенной нами меры Ф для ATM и что Ф удовлетворяет аксиомам Блюма.
Время получается, если положить p(d) = |d|, а память не- зацикливающихся вычислений, — если положить р (d) = = max{s(a/)| t=l, ..., п, ab ..., a,n = d), где s(a) = =space(a) есть сумма зон на рабочих лентах конфигурации а.
Более формально можно определить сложность работы ATM так. Пусть С ^ См — множество конфигураций М, а [ — раз- метка. Через тс обозначается такой оператор на множестве разметок, что
Г т (/) (а), если а ^н С, Tc(/)(a) = j (± в противном случае.
Для всех С ^ См оператор тс Монотонен по с и поэтому имеет наименьшую неподвижную точку Гс = sup r£(Q).
m^N
Пусть р — мера сложности, определенная на путях в дереве вычислений Тгм^хУ Через Си обозначим множество конфигураций в Тгм^, к которым из ом(х) ведут пути, сложность р которых ^и.
Определение. Машина М допускает слово х с р-сложностью и, если Гс (огм(х))=1.
Машина М допускает язык L^M^ с p-сложностью Ф(м), если М допускает любое слово x^L^M) с p-сложностью, не превосходящей Ф(|х|).
Замечание 1. Исследование операторов тс в доказательствах (см., например, теоремы 1—3) основано на следующих фактах.
Лемма 1. Пусть C^D. Тогда
Vm^N t^(Q)^t^(Q);
1с Го.
Следствие. Так как т = тсм, то для всех С^См
VmeN T^(Q)^Tm(Q),
Гс ^ /*.
Лемма 2. Если С конечно, то
Va /^(а) = т^С|+1(Й)(а), где \С | — мощность С;
Гс общерекурсивна.
Доказательство очевидно из монотонности тс-
Для а е См и m е N положим
С (a, пг) = {р <= См |а Н* Р за m или меньше шагов}.
Лемма 3. Для любых а г См и m^N k(a, m)(a) = = тт+1 (Q) (а).
Доказывается индукцией по пг.
Лемма 4. /*(а)= 1 тогда и только тогда, когда существует такое конечное множество С ^ См, что Гс (а) = 1.
Достаточность следует из леммы 1. Необходимость: индукцией по минимальному пг, для которого Tm(Q)(a)=l, доказывается, что в качестве искомого С можно взять Cfa, т).
ПРОСТЕЙШИЕ СВОЙСТВА ATM И ДОПУСКАЕМЫХ ИМИ ЯЗЫКОВ.
СЛОЖНОСТЬ
Все теоремы этого раздела принадлежат авторам работы
. Мы приведем только идеи доказательств.
Теорема 1. Семейство языков, допускаемых ATM, совпадает с семейством рекурсивно перечислимых множеств (р. п. м).
Так как недетерминированные машины Тьюринга (НТМ) можно рассматривать как ATM, то каждое р. п. м. допустимо некоторой ATM. Обратное включение следует из лемм 2—4.
Теорема 2. Для всякой ATM М существует такая ATM Mi, что
Mi не имеет отрицающих состояний;
L(Mi)=L(M);‘
Vx^L^M) Vs, ^eN+ если M допускает х с зоной s за время t, то Mi допускает х с теми же зоной и временем.
Доказательство. Идея моделирования машины М машиной Mi состоит в том, чтобы с помощью дополнительных состояний помнить четность числа отрицаний вдоль пути вычисления и, если это число нечетно, заменить А на V и наоборот, а также поменять местами допускание и отвергание в конце пути..
Теорема 2а.
Если функция Т^^п и вычислима за время О(Т(п)), a ATM М допускает Е(М) с временем Т^п), то существует такая ATM Mi, что
L(M)=L(M!);
для всех хеР все пути вычислений Mi на входе х имеют длину не более О(Т( [х|)).
Если S(n)^ logn и S(n) вычислима с зоной S(nY a ATM М допускает с зоной S(nY то существует такая ATM М\, что
L(M)=L(M1);
для всех х^ 2*
все пути вычислений М\ на входе х имеют длину не более cS(ixD для некоторого с > О, не зависящего от х;'
все конфигурации а, достижимые из оМх^х\ удовлетворяют неравенству space (а)S (| х |).
Доказательство аналогично доказательству аналогичного результата для ДТМ. Технические трудности, связанные с особенностями ATM, преодолеваются с помощью подходящих операторов тс*
Классы сложности для альтернирующих машин Тьюринга вводятся аналогично соответствующим классам для ДТМ и НТМ.
Определение. ASPACE (S (п)) (соответственно DSPACE (S (п)), NSPACE (S(n)))—класс языков, допустимых альтернирующими (соответственно детерминированными, недетерминированными) машинами Тьюринга, допускающими с зоной S^nY Классы ATIME (Т(п)), ОТ1МЕ(Г(/г)), NTIME(T(n)) определяются аналогично.
Обозначения.
ALOGSPACE ASPACE (log п\APTIME^ U ATIME(nc),с >0
APSPACE^ U ASPACE (пс-),
с >0
AEXPTIME^ U АТ1МЕ(2"С),
с >0
AEXPSPACE^ J ASPACE (2"с).
с >0
Классы LOGSPACE, DTIME, PSPACE, NLOGSPACE, NPTIME и т. п. определяются аналогично.
Следующие теоремы (см. [6]) устанавливают важные соотношения между альтернирующими и детерминированными классами сложности.
Теорема 3. Если S(n)^n, то
N SPACE (S(/i))eATIME (с (ЭД)2).
Теорема 4. Если Т^п?)"^п, то
ATIME (Г (и)) с DSPACE (ЭД).
Теорема 5. Если S(n)^logn, то
ASPACE (S (n)) s J DTIME (сЭД.
с >0
Теорема 6. Если Т^^п и с > 0, то
DTIME (Г (м)) ASPACE (с log (Т (п))).
Следствие. Если S (м)^ log (п^ то
ASPACE (S(n)) = U DTIME (cs<">).с >0
Таким образом,
LOGSPACE s ALOGSPACE = PTIME <= APTIME =
= PSPACE APSPACE = EXPTIME ^ . . . .,
Замечание 2. Доказательства перечисленных теорем проводятся по общей схеме: по ТМ М (альтернирующей, детерминированной, недетерминированной — в зависимости от теоремы) строится ТМ Mz соответствующего класса, допускающая тот же язык, что и М, и сложность вычисления ТМ М' на произвольном слове х оценивается по сложности ТМ М на этом слове. При построении моделирующей ТМ М' используется техника, восходящая к Савичу [7], работа NV на входе х состоит в исследовании дерева протоколов М, корнем которого является конфигурация ом(*). При доказательстве теорем 3—5 это дерево исследуется от корня к листьям. При доказательстве теоремы 6 (ТМ М детерминированная!) это дерево превращается в цепь, которая изучается побуквенно от листа к корню.
Ниже всюду М— исходная ТМ, М'— моделирующая ТМ, х — входное слово.
Доказательство теоремы 3.
Основой искомой ATM Mz будет описанная ниже ATM М (Mz вызывает М в качестве «подпрограммы»). Машина М начинает работу, имея на четырех рабочих лентах следующие слова:
число s в унарной записи;
число k ^ cs в'с-арной записи (с — константа, определенная по НТМ М и не зависящая от s);
а и_0— коды конфигураций НТМ М длины не более s.
ATM М проверяет, верно ли, что а Н^ 0 с зоной s за к или меньше шагов. При к=\ это требует времени O(s) (используется экзистенциальное состояние — т. е. ATM работает как НТМ). При п > 1 М «угадывает» (снова как НТМ!) промежуточную конфигурацию у с зоной не более s, а затем параллельно (используя универсальное состояние) проверяет, верно ли, что a H^Y и у Н^ 0 за 6/2 или меньше шагов с зоной s. Последнее производится путем рекурсивного вызова Я, причем «подготовка к вызову» (запись на рабочие ленты у, 6/2 и т. п.)
требует O(s) шагов. Так как глубина рекурсии не превосходит log2log2 cs = О (s), то общее время работы ATM М
есть O(s2).
Точно описывать построение искомой машины М' на базе Л? и доказывать оценки мы не будем. Отметим лишь, что в качестве «пролога» М' записывает на рабочие ленты число S(|x|) в унарной записи, число cs<w>— в с-арной, код конфигурации Ом(х) и (недетерминированно!) код «угаданной» заключительной конфигурации. Трудности могут возникнуть лишь при вычислении S(|x|)— возможно, это трудновычислимая функция! Но S(|x|) можно не вычислять, а «угадать», и так как исходная ДТМ М допускает с зоной S(|x|), то ATM М не допустит x^L(M), даже если «угадает» слишком большое значение S. □
Замечание. Идея «не вычислять, а угадывать» (или — для ДТМ «не вычислять, а перебирать») используется и при доказательстве остальных теорем.
Доказательство теоремы 4. ДТМ М последовательно вызывает «подпрограмму» — ДТМ М(/) при /=1, 2, ... . ДТМ M(f) останавливается на любом входе, на входе х использует зону шах(|х|,/) и допускает х в том и только в том случае, когда М допускает х за время не более I. «Пролог» работы ДТМ № состоит в записи на две специальные рабочие ленты соответственно числа 1 (при вызове ДТМ М^ на этой ленте будет записано Z) и конфигурации Ом(х); ДТМ М содержимое этих лент не меняет.
Пусть С = {|3|ом(^) г-*р за t или меньше шагов}. Множество С естественно представляется в виде й-арного дерева (/? — максимальное количество наследников у конфигурации ATM М) высоты t, так что путь из Ом^ в любую конфигурацию из С можно закодировать Z-значным й-ичным числом. Работа М^ состоит в обходе С и вычислении Гс ^м (х)). Очевидно, работу М можно организовать так, чтобы в каждый момент на лентах были записаны только текущая конфигурация, код ее пути вывода из Ом(х) и вспомогательные данные, объем которых есть 0(0- Это и дает нужную оценку зоны. □
Доказательство теоремы 5. Ниже b, с, d — константы, зависящие от исходной ATM М. Наша ДТМ М', подобно ДТМ из теоремы 4, будет выполнять «базисную процедуру» последовательно для s=l, 2, ..., причем на s-м этапе проверяется, допускает ли ATM М слово х с зоной s. Если время выполнения этой процедуры не более cs, то общее время работы М' S(lxl )
на слове х не превосходит 2 ^ds^ |х,)для некоторого d.
Так же, как в теореме 4, будем считать, что перед s-м эта-
пом на рабочей ленте записано число s. ДТМ М записывает на рабочей ленте все конфигурации из множества С ={а е См | space (d) ^ s} ; этих конфигураций не более чем bs для некоторого Ь. Далее итеративно вычисляем l*c(orMW) в соответствии с определением Гс. Очевидно, что потребуется не более bs вычислений Гс и каждое вычисление требует времени не более М (61 — константа). □
Доказательство теоремы 6. Пренебрегая возможным увеличением работы М от Т(п^ до dT2^ (d— некоторая константа), мы будем считать, что (I) М имеет только одну ограниченную слева ленту; (II) входное слово имеет вид^х^» гДе $ —маркер, а * — пробел; (III) М допускает х, приходя в выделенное состояние qf, (IV) для любой конфигурации ом определена (единственная!) следующая конфигурация.
Пусть Q—алфавит состояний, Г — рабочий алфавит М и A = Qur|J{$}- Тогда вычисление М на входе х— это однозначно определенная (бесконечная!) последовательность конфигураций а0> аь аг, ..., где а;- — бесконечное слово в А вида $ц^у## ••• (9 ^ Q> цу^(Г\{#})*, а/ соответствует тому, что на ленте записано pv, М находится в состоянии q и обозревает первую букву у), причем ао = $ q^x ^ # • • • • Это вычисление мы будем представлять как (неограниченную вверх и вправо) таблицу у(х), такую, что для всех / О, / ^ О ^^tj есть /-я буква в at. Очевидно, что М допускает х тогда и только тогда, когда существует /^Т(|х|) и /^ ^Т(|х|), такие, что ^(x^t, i = qf. ATM M работает следующим образом (х записано на входной ленте, и эта запись не входит в зону М): (1) «угадывает» t и / и записывает их на соответствующие рабочие ленты в двоичной записи; (2) записывает на рабочую ленту 2 = qf, (3) вызывает вспомогательную ATM Mx(tJ, 2). У нее на входной ленте слово х, а на трех рабочих лентах числа /, j и символ 2 ^ А соответственно; при этом Мх останавливается в допускающем состоянии, если Y(x)t/ = 2, и в отвергающем состоянии в противном случае. При ^ = 0 или / = 0 Mx^t, j, 2) детерминированно, без использования дополнительной памяти проверяет, верно ли, что у(х)^ / = 2. В работе Мх при t > 0 и j > 0 используется то, что ДТМ М определяет (не зависящую от х, t, j) функцию Nextw, для которой
VxV/V/ =
= NextM(Y(x)#_i,NWt-i.j- yW<-i./+i. уИм.ж)-
Итак, Щ1, j, 2) «угадывает» такие 2b 22, _2з, £4, что 2 = = Next(2i, 22, 23, 24) и параллельно вызывает M^t— 1, j— 1, Zi), M (t — 1, j, 22) и т. д.
Поясним, . почему М отклоняет тройку </, /, z), если тМь/^2 (если 7(^)1, i==z, то М, очевидно, допускает </,/, z>). При У = 0 это очевидно. Пусть t > 0 и z ^= у (х) t, j. Тогда в любой четверке символов <zi, z2, z3, z4>, таких, что z = Nextw (2i, z2, z3, z4), хотя бы один из символов z, отличен от у(х)л /-2+/ (i=l, 2, 3, 4).
Действительно, в противном случае
z = Next(z1, z2, z3, z4) =
= Next (у (x),_.... у(х)/_1,/+2) = у(х)Л h
Аналогично в любой группе символов, которые по z\, г2, г3, г4 будут предложены в качестве кандидатов на элементы конфигурации а/_2, найдется ошибочный символ и т. д.
Таким образом, любой из альтернативных наборов кандидатов на позиции в o^-i, а/_2, ... содержит ошибочный символ, что и будет обнаружено при t — 0. Формальное доказательство можно провести индукцией по I. □
Замечание. Для недетерминированной ТМ М подобная техника моделирования не годится: может потребоваться много вычислений, т. е. у(х)/, / задает, вообще говоря, много символов (для разных вычислений!), причем zz ^ у Wf-i, j-2+i ^ = = 1, 2, 3, 4) не влечет Next^, z2, z3, z4) ^YWt/!
ИЕРАРХИИ
Все ATM, рассматриваемые ниже, не имеют отрицающих состояний.
Определение 3.1. ATM М называется А(м)- (или к-^ ограниченной по альтернированию, если VxeL(M) допускающее х дерево Тгм^ таково, что вдоль каждого пути Ом(х) = = а0 Н он Н ... Н ат встречается меньше чем А(|х|) (соответственно к) переходов от экзистенциальных конфигураций к универсальным и наоборот.
А (м) не является обычной мерой сложности вычисления, так как не удовлетворяет второй аксиоме Блюма.
Определение 3.2. Пусть к ^ L ATM М называется ^-машиной (соответственно Щ-машиной), если М ^-ограничена по альтернированию и состояние у0 — экзистенциальное (соответственно универсальное).
Для Ик- (Щ-) машин существует универсальная S^- (П^-)машина.
По определению So = По есть класс детерминированных машин.
Определение 3.3. AS^ (соответственно АПр обозначает класс языков, допускаемых S^- (соответственно ГЦ-)машинами за полиномиальное время.
Стокмейер ввел следующую иерархию предикатов [8]:
Определение 3.4. Eg = Пд = PTIME — класс предикатов, вычислимых за полиномиальное (от длины записи аргумента или суммы длин записей всех аргументов) время. Предикат принадлежит классу l£ (соответственно nf) (6=1, 2, ...), если он представим формулой
<Q\y\> \У\ \ <У)(^2У2, \У2\^У^ • • •
• • • (Qm^/m> I Ут I ^ ^) Р (-^Ь • • • > Х^ У\, • • • , Ут)^
где Qi, . Qm — цепочка кванторов с k — 1 переменой кванторов, Qi есть 3 (соответственно V), q— полином от max IxJ (здесь |х|, как обычно, длина записи слова х), а предикат р ^ PTIME.
Теорема 7. 2^ = Л2ь п£ = ЛП&.
Доказательство проводится индукцией по к с применением методов [6].
Пусть Sk (соответственно Pk) = {АГ$х$3^м 1 f | М есть 2^- (Щ-) машина, допускающая х за время z}, где М— естественный код ATM М. Тогда предикат Sk (соответственно Рк^ полон в классе 2^ (соответственно Il£).
Аналогично определяется иерархия логарифмической памяти: A2^og = ^L (М) |М является 2^-машиной, допускающей с зоной log/t}.
ЛП1^ = {£ (М) | М является ГЬ-машиной, допускающей с зоной logfl}.
Свойства этой иерархии:
Л21^ ^ PTIME (поскольку PTIME = ALOGSPACE).
Множество S&g (соответственно Р^°е) = {М$х$ s | М является ^к- (соответственно Щ-) машиной, которая допускает слово х на зоне log s} полно для Л2^°ё (соответственно ЛП^).
Множество [J S^ полно для PTIME (подобным обра- fc>0\
зом U Sk полно для PSPACEY /г>07
А. Бородин доказал теорему, опирающуюся на теорему В. Савича о том, что NSPACE (S (м)) DSPACE (S (м)2), и усиливающую эту теорему.
Теорема 8 (Бородин). Если М есть А (п)-ограниченная по альтернированию и S(n) -ограниченная по зоне с S(n) ^ ^ log (az) ATM, то М моделируется детерминированной машиной М' с зоной A (n)S(n) + (S(n))2.
Доказательство. Строится ДТМ М', которая получает на вход тройку <s, а, а), где s > О, а О— натуральные числа, а а — конфигурация исходной ATM М. Как и в теореме 5, эта машина (1) останавливается при любой тройке <$, а, а>, используя зону не более as + s2, (2) допускает <s, а, а), если М допускает а с зоной s и а альтернациями и отвергает в противном случае. В силу замечания 2 этого достаточно для доказательства теоремы.
При построении М' мы используем следующий факт. Назовем путь вычисления «о, аь ..., а^ s-однородным, если 1) в нем все конфигурации кроме, быть может, а^ одного типа (т. е. все экзистенциальные или все универсальные) и 2) V/ е {0, 1, ..., &} space(a/) ^ s.
Факт. Пусть а, р— конфигурации М, s > О, space (а) и space(Р) не превосходят s. Существует ДТМ М, которая 1) использует зону s2; 2) допускает <а, р, s), если существует s-од- нородный путь из а в р, и отвергает в противном случае. Доказательство проводится методом Савича [7].
Описание ДТМ М'. Если space (а) ^ s, то М' останавливается в отвергающем состоянии. Далее считаем, что space (а) ^ s. При а = О АГ проверяет тип конфигурации а: если а — заключительная допускающая, то ЛГ допускает <s, а, а>, в противном же случае отвергает. Если а > 0 и а — заключительная конфигурация, то NV допускает или отвергает <s, а, а> в зависимости от типа а. Пусть, наконец, а > 0 и а. не заключительная конфигурация. При экзистенциальной a М' перебирает все конфигурации р емкости не больше s и для каждой такой конфигурации проверяет, (1) является ли р не экзистенциальной и (2) существует ли s-однородный путь из а в р (это можно сделать на зоне s2). Для всех р, удовлетворяющих (1) и (2), АР рекурсивно вызывает (s, а — 1, Р) (перед вызовом а запоминается!). Если найдется р, удовлетворяющая (1) и (2), для которой М допускает <s, а — 1,Р>, то М допускает <s, а, а>. В противном случае М отвергает <s, а, а>.
При универсальной конфигурации а АР работает двойственным образом с той лишь разницей, что для перебора «соседей» а необходимо исключить две опасности (при любой из них АР отвергает <s, а, а)): 1) существует начинающийся в а s-однородный путь, на котором некоторая конфигурация встречается дважды; 2) существует s-однородный путь из а в конфигурацию р емкости больше s. Обе опасности можно исключить, сделав проверки на зоне s2.
Таким образом, NP использует зону s2, общую для всех рекурсивных вызовов, и «собственную» зону s для каждого
рекурсивного вызова. Поскольку глубина рекурсии не превосходит а, то М' — искомая ДТМ.
Следствие 1 (при k = 1 результат Савича [7]). Если М есть к-ограниченная па альтернированию ATM (к— произвольное натуральное число)/ допускающая с зоной S(n) ^ log п, то
L(M)eDSPACE ((S (az))2)
Следствие 2. U А2^ ^ DSPACE (log2 zz) (тогда как
ALOGSPACE = PTIME!).
АЛЬТЕРНИРОВАНИЕ В ДРУГИХ ВИДАХ АВТОМАТОВ
Альтернирующие конечные автоматы
Альтернирующим конечным автоматом (АКА) называется пятерка Р = (Q, 2, 71, F, g), где Q = {71, ..., q^ — конечное множество ' состояний, S — конечный входной алфавит, qx е eQ — начальное состояние, F^Q— подмножество заключительных или допускающих состояний и g: (QX^)-^(Bk-> -^В), где В = {0, 1}, а ВкВ— множество всех функций из Вк в В, т. е. булевых функций от к переменных.
Функция g — аналог функции переходов. С каждым q ^ Q связан язык Lg следующим образом:.
пустое слово X ее Lq<=> q F;
Va Е 5, Vx е Г
(axeL^glq, а/х ее L/ 'x^L/'xeL'^/Г),
где
1 при х е L, fX ЕЕ L' = X ~, ,
0 при х ^ L.
Более формально: в недетерминированном автомате с функцией переходов qp: QXS—>2$ соответствующая функция имеет вид g(q, а) (и) = V Щ. Пусть л^: Вк^В есть z-я проек- Г- Qj^^kq> ^}
ция, at — характеристический вектор множества F, т. е.
А t Г 1 ПРИ Ai G F’
f) — fi — I Q прИ p
С каждым состоянием qt связывается функция Н/ S* -> -*(Bk-^B), \<.i^k. Функция Hi(x) определяется индукцией по словам х ее S*:
H l(X) = nl\
(Vu ^Bk)Hi(ax)(u)=g(qi, a) (H, (x) u, .Hk(x)u) (в [6] через gt(a) обозначается НДа)).
Hi(x)^ соответствует разметке /*(а) в дереве вычислений ATM, т. е. Hi(K) (f)= 1 ^=^ Qi g F. Если непрочитанная часть входного слова есть ах, то АКА Р, считывая в состоянии Яг букву а, расщепляется на к параллельных процессов для определения Hj(x)(t), 1 ^ jк. Естественным аналогом определения допустимости альтернирующей ТМ (см. с. 142) является следующее
Определение. Альтернирующий конечный автомат АКА Р допускает х тогда и только тогда, когда Hi (х) (f) = 1.
Можно вести рекурсию по словам справа, полагая
СДХ) = лг, Gi(xa)(u) = Gi(x)(g(q1, а) (и), ..., g<qk, а) (и)).
Индукцией по длине х доказывается, что Mx G(x) = Н(х). В [6] доказана
Теорема 9. Каждый АКА Р допускает регулярное множество L(P). При этом АКА Рек состояниями эквивалентен детерминированному конечному автомату с п^^ состоя* ниями.
Доказательство. Пусть L(P)—множество слов, допустимых AKA Р. Введем на 2* отношение эквивалентности х ^ у, означающее Gi (х) = Gi (у). Его индекс нс превосходит 22\ поскольку существует не более чем 22^ булевых функций от к переменных. Отношение « правоинвариантно, так как из Gi(x) = G(y) следует
G (ха) (u) = Gv (х) (gi (а, и), ..., gk (а, и)) =
= Gx (у) (g{ (а, и), ..., gk (а, и)) = Gi ^уа) (и).
Из определения допустимости слова х и того, что Н(х) = = G(x), следует, что L(P) является объединением конечного числа классов эквивалентности «. □
Авторы работы [6] доказывают теорему о достижимости оценки ^к детерминизации АКА с к состояниями уже при трех входных символах.
2# Уравнения в языках и логические уравнения
В начале 60-х гг. В. Г. Боднарчук [9] предложил метод исследования конечных автоматов и регулярных языков с помощью систем уравнений в алгебре языков. Недетерминированный автомат 51 с функцией переходов <р: SXQ-*^ (или
X, если q{ е F, 0, если qt^F.X, если q{ е F, 0, если qt^F.булевой матрицей переходов М(а), tzeS) описывается системой уравнений
X, если q{ е F, 0, если qt^F.
X, если q{ е F, 0, если qt^F.
Xt = U аХ,\)Ьь где 6, а е 2
^еф(а, q^
В матричной форме система (*) записывается как
Х= U M(a)XU8.а е S
Эта система имеет единственное (и регулярное) решение, a Xt — язык, распознаваемый 31 с начальным состоянием qi, i= 1, ..., к. (Множество F допускающих состояний и ф фиксированы.)
Аналогично определяется модальный оператор возможности О в логике с древесной шкалой Крипке с несколькими связками типа «завтра» [10]:
О у^у v V тао у.{**)
.а
Оу является «наименьшим» в смысле V решением «уравнения» (*%) в модели Крипке.
Автор добавления и независимо Бжозовски и Лейс [11] предложили рассматривать следующее обобщение уравнений (*) (автор добавления в [12] опубликовал соответствующее обобщение (**) для определения модальных операторов в шкалах Крипке с операторами типа «завтра»):
xt= и аР{.в(Хь .... Хй)ид, (г=1,k),(***)
а е 2
где Fi, а — булева функция от набора языков Х\, ..., Х^ причем отрицание X (дополнение) X есть язык 2*\Х.
Функции Fi, а, очевидно, соответствуют булевым функциям Hi(a) в формализме АКА.
Система ^^ имеет единственное и регулярное решение. В [11] АКА называется булевым автоматом. Для него по системе уравнений (***) непосредственно строится реализующая их комбинационная схема из элементов V, А, - и задержки с обратной связью.
3. Альтернирующие магазинные автоматы
Альтернирующий магазинный автомат (АМА) определяется аналогично недетерминированному магазинному автомату (НМА) с добавлением функции на состояниях со значениями из {V, A, accept, reject} и правым концевым маркером у вход-
ного слова, который может распознавать читающая головка. Конфигурация АМА состоит из состояния, входного слова, положения читающей головки на входном слове и содержимого магазинной памяти. Разметки на дереве конфигураций и понятия допускания слов для АМА аналогичны соответствующим понятиям для ATM. Класс языков, допускаемых АМА, обозначается через ALT-PDA. В [13], где были впервые рассмотрены АМА, доказывалось, что ALT-PDA шире класса контекстно- свободных языков, т. е. языков, распознаваемых НМА. Однако также доказано, что даже АМА с двусторонней читающей головкой распознают только те языки, которые принадлежат классу DTIME(cn) = ASPACE(zz). В [6] обычным для этой статьи методом доказывается обратное включение, а тем самым и равенство ASPACE (п) = ALT-PDA.
ЛИТЕРАТУРА
Fischer М. J., Ladner R. Е. Propositional dynamic logic of regular programs. — J. Comput. Syst. Sci., 1979, v. 18, No. 2, p. 194—211.
Ladner R. E. The computational complexity of provability in systems of modal propositional logic. — SIAM J. Comput, 1977, v. 6, No. 3, p. 467— 480.
Statman R. Intuitionistic propositional logic is polinomial-space complete.— Theoret. Comput. Sci., 1979, v. 9, No. 1, p. 67—72.
Stockmeyer L. J., Chandra A. K. Provably difficult combinatorial games. — SIAM J. Comput, 1979, v. 8, p. 151—174.
Kasai T., Adachi A., Iwata S. Classes of pebble games and complete problems.— SIAM J. Comput., 1979, v. 8, p.. 574—586.
Chandra A. K., Kozen D. C., Stockmeyer L. J. Alternation. — J. Ass. Comput. Mach., 1981, v. 28, No. 1, p. 114—133.
Savitch W. J. Relationships between nondeterministic and deterministic tape complexities. — J. Comput. Syst. Sci., 1970, v. 4, p. 177—192.
Stockmeyer L. J. The polinomial-time hierarchy. — Theoret Comput. Sci., 1977, v. 3, No. 1, p. 1—22.
Боднарчук В. Г. Система уравнений в алгебре событий. — Ж. вычисл. матем. и матем. физ., 1963, № 6, с. 1077—1088.
Мучник А. А. Интуиционистские и модальные логики со связками типа «завтра». —■ В кн.: Модальные и временные логики (материалы II Советско-финского коллоквиума по логике, Москва, дек. 1979). — М.: Изд. Ин-та философии АН СССР, 1979.
Brzozowski J. A., Leiss Е. On equations for regular languages finite automata and sequential networsks.— Theoret. Comput. Sci., 1980, v. 10, No. 1, p. 19—35.
Мучник А. А. Об эндоморфизмах дистрибутивных решеток и модальновременных логиках. — В кн.: Труды II Всесоюзного симпозиума по логике и методологии науки, Киев, окт. 1976 г. — Киев: Наукова Думка, 1976, с. 128—130.
Ladner R. Е., Lipton R. J., Stockmeyer L. J. Alternating pushdown automata. — In: Proc. 19th Ann. Symp. on Found, of Comput. Sci., Ann Arbor, 1978, p. 92—106.
Kozen D. Complexity of Boolean algebras. — Theoret. Comput. Sci., 1980, v. 10, p. 221—247.
Система поддержания истинности)
Дж. Дойл )
Памяти Джона Шеридана Макнерни
Для выбора своих действий рассуждающие программы должны быть в состоянии делать предположения и пересматривать эти предположения, если новые открытия противоречат им. Система поддержания истинности TMS (Truth Maintenance System) является подсистемой решателя задач, выполняющей эти функции путем записи и поддержки причин для допущений, имеющихся в программе. Такие записанные причины полезны при конструировании объяснений действий программы и управления порядком действий решателя задач. В статье описываются: 1) представления и структура TMS; 2) методы пересмотра текущего множества допущений; 3) изменение множества текущих предположений при обратном прослеживании по зависимостям; 4) методы подытоживания объяснений допущений: 5) организация решателя задач на базе «диалектически аргументирующих» модулей; 6) способ пересмотра моделей систем допущений других; 7) методы встраивания управляющих структур в предположения. Мы подчеркиваем необходимость для решателей задач выбирать между альтернативными системами допущений и намечаем в общих чертах механизм, посредством которого решатель задач может использовать правила, управляющие выбором того; что допускать, чего хотеть и что делать.
ВВЕДЕНИЕ
Рассуждающие программы обычно конструируют вычислительные модели ситуаций. Для того чтобы обеспечить согласованность этих моделей с новой информацией и изменениями в моделируемых ситуациях, рассуждающим программам часто нужно изменять или удалять компоненты своих моделей. Поскольку рассуждатель часто конструирует одни части своей модели путем проведения заключений на основании других частей этой модели, изменения такого рода иногда влекут дальнейшие изменения. В настоящей статье изучается и проблема того, каким образом производить изменения в вычислительных моделях, и более глубокая проблема — как конструировать такие модели, в которых было бы удобно производить изменения. Наш подход состоит в том, чтобы записывать причины для допущения или
использования каждого имеющегося в программе допущения, правила вывода или процедуры. Для того чтобы позволить новой информации вытеснять предыдущие заключения, мы используем «немонотонные» причины для допущений, в которых одно допущение зависит от отсутствия допущения некоторого другого утверждения. Для определения текущего множества допущений по текущему множеству причин и для обновления (обычно в режиме дополнения) текущего множества допущений в соответствии с новыми причинами используется программа, названная «Система поддержания истинности» (TMS)). При выполнении таких пересмотров TMS прослеживает причины допущений для того, чтобы отыскать последовательности изменений в множестве предположений.
Сущность теории
По большей части результаты, полученные при изучении формального и неформального рассуждения в математической логике и искусственном интеллекте, сводятся к взгляду, который редко является плодотворным, — процесс рассуждения рассматривают как процесс извлечения новых знаний из старых, как процесс открытия новых истин, содержащихся в уже известных истинах. При бесхитростном принятии такой точки зрения в качестве теории рассуждения возникают весьма серьезные трудности. В этом разделе предлагается совершенно иной взгляд на природу процесса рассуждения. В рамках этого взгляда вводятся новые понятия, и получающаяся комбинация позволяет преодолеть проблемы, возникающие при обычной точке зрения.
Говоря кратко, источником тех проблем, которые возникают при обычном взгляде на процесс рассуждения, является монотонность последовательности состояний допущений рассужда- теля — его допущения истинны, и истинность их никогда не изменяется, так что единственным действием при рассуждении является расширение текущего множества допущений за счет новых допущений. Эта монотонность приводит к возникновению трех тесно связанных проблем, а именно проблемы рассуждений по здравому смыслу, проблемы фреймов и проблемы управления. Высказываемая здесь критика обычного взгляда на рассуждение в известной степени является усилением критики Минским [36] логического подхода к решению задач.
Каждый без труда может привести примеры того, с какой легкостью мы разрешаем очевидные противоречия, связанные с нашими допущениями по здравому смыслу о мире. Например, мы делаем обычно предположения о протяженности объектов, их типичных свойствах и признаках, однако легко приспосабливаемся к коррекции этих предположений и можем быстро объяснить ошибки. В этих случаях мы отказываемся от старых умозаключений в пользу новых оснований, так что множество наших допущений по здравому смыслу меняется немонотонно.
Наши допущения о том, что является текущим, также изменяются немонотонно. Если разделить развертывающуюся во времени траекторию, описывающую изменение множества допущений, на дискретные временные ситуации, то в каждый момент времени текущей ситуацией будет множество текущих допущений, а предшествующие ситуации будут предшествующими множествами допущений. Поскольку большинство наших действий сравнительно мало влияет на окружающий мир, множества допущений, примыкающие друг к другу на временной траектории, обычно тесно связаны. Важно, что эта траектория не состоит из последовательности монотонно изменяющихся множеств допущений, так как многие действия изменяют в мире то, что мы считаем истинным. Поскольку мы основываем наши действия на том, что считаем верным в данное время, мы должны непрерывно обновлять наше текущее множество допущений. Проблема описания и выполнения этого обновления эффективным путем иногда называется проблемой фреймов. В связи с проблемой фреймов следует сказать, что обычный подход страдает не только из-за монотонности, но и из-за атомистичности, поскольку в его рамках естественно рассматривать каждое допущение как изолированное утверждение, связанное с другими допущениями только семантически. Поскольку в таких системах семантика допущений обычно явно не представляется (если она вообще хоть как-то представляется), атомистичность означает, что такие все возрастающие изменения множества текущих допущений трудно вычислять.
Третья проблема, связанная с обычным подходом, на самом деле связана как с проблемой рассуждений по здравому смыслу, так и с проблемой фреймов. Это проблема управления, т. е. проблема решения того, что делать на следующем шаге. Вместо того чтобы применять слепой выбор, многие предлагают поручить и эту задачу рассуждателю, который бы делал выводы о том, какие выводы следует делать. Этот подход к проблеме управления особенно не исследовался (частично из-за того, что такие управляющие выводы бесполезны для монотонных систем). Добавление новых аксиом или правил вывода в таких системах не предотвращает выводы, а только увеличивает
число возможных выводов, и нежелательные выводы получаются вместе с новыми заключениями, подтверждающими их нежелательность.
Вместо того чтобы отказаться от этого привлекательного в других отношениях подхода, мы рассмотрим, что же требуется для выбора действия в форме некоторого рассуждения. Для наших целей нужно, чтобы желания и намерения рассуж- дателя были бы представлены в его наборе текущих допущений как допущения о его собственных желаниях и намерениях. Нам также потребуется набор правил вывода, при помощи которых процесс рассуждения оказывается представленным как допущения о собственной вычислительной структуре рассуждателя. При использовании такого рефлексивного представления рассуждателя о самом себе правила вывода становятся правилами для самомодификации множества допущений рассуждателя (и, следовательно, его желаний и намерений). Проблема управления выбором того, какое правило выбора должно быть следующим, имеет форму: «Посмотри на самого себя как на объект (как на множество допущений) и выбери, чем (каким новым множеством допущений) тебе бы хотелось стать».
Как язык для таких правил вывода, так и язык для оценки того, какие изменения самого себя следует делать, большей частью лежат вне пределов того языка для правил вывода, который удобен при обычном подходе к рассуждению. Например, когда текущее множество допущений является несовместным, используются правила типа «Удалить наименьшее множество допущений, чтобы восстановилась совместность» или «Удалить те допущения, которые представляют простейшее объяснение несовместности». Правила такого рода — это все, чем мы располагаем, поскольку мы не можем безошибочно анализировать ошибки или предсказывать будущее, но правила эти немонотонны, поскольку они ведут к удалению допущений из набора текущих допущений.
Итак, у каждой из этих проблем один и тот же источник — монотонность, внутренне присущая обычному подходу к процессу рассуждения. Я предлагаю другой взгляд/ и вместе с ним новые идеи, которые имеют далеко идущие последствия в связи с затронутыми вопросами.
Рациональное мышление является процессом нахождения причин для выбранных позиций.
Сказать, что некоторая выбранная позиция (позицией может быть допущение, желание, намерение или действие) рациональна,— значит сказать, что имеется какая-то приемлемая причина для того, чтобы встать на эту позицию. Рациональное мышление есть процесс нахождения таких приемлемых причин.
Какую бы цель ни имел рассуждатель— решение задач, нахождение ответов, выбор действия, — он оперирует с помощью конструирования причин для допущения чего-то, желания чего-то, намерения чего-то, делания или желания делать нечто. Позиция рассуждателя является только побочным продуктом, возникающим при конструировании причин. Текущее множество допущений и желаний возникает из текущего множества причин для допущений и желаний, причин, выраженных через другие допущения и желания. Когда выполняется некоторое действие, это происходит потому, что среди допущений и желаний действователя может быть найдена некоторая причина для действия. Еще раз подчеркну, что единственной реальной компонентой мышления является текущее множество причин — занимаемые позиции (допущения или желания) возникают из множества причин, а не существуют сами по себе.
Из данной точки зрения вытекает, что при изучении рационального мышления мы должны изучать подтвержденные допущения или обоснованные аргументы, игнорируя вопрос истинности. Истинность появляется при изучении экстрапсихологи- ческой рациональности и при выборе трюизмов по здравому смыслу, которыми мы решаем снабдить наши программы, но она не входит в понимаемую в узком смысле психологическую рациональность, при помощи которой работают наши программы.
Конечно же, такую базисную рациональность реализовать легче, чем допущения у людей. У людей наблюдается явление «закоснелости», состоящее в том, что допущения, существующие устойчиво в течение долгого времени, превращаются в такие допущения, в которые верят независимо от причин; у людей иногда наступают «прозрения», при помощи которых они скачкообразно переходят к подтверждающим самих себя наборам допущений. Здесь эти вопросы изучаться не будут. Вместо этого мы ограничимся более скромной целью построения рациональных программ в приведенном упрощенном смысле.
Из точки зрения, высказанной выше, вытекает, что для каждого утверждения или предложения Р возможно одно из двух состояний: либо
Р имеет как минимум одну текущую приемлемую (действительную) причину и, следовательно, является членом текущего множества допущений, либо
Р не имеет ни одной текущей приемлемой причины (или вообще не имеет причин, или имеет только неприемлемые) и, следовательно, не является членом текущего множества допущений.
Если Р попадает в состояние (а), то мы говорим, что Р находится внутри (текущего множества допущений). В противном
случае Р находится вне (текущего множества допущений). Эти состояния не являются симметричными, поскольку можно сконструировать причины, чтобы сделать Р внутри, но никакие причины не могу£ сделать Р вне (самое большее, что возможно, это сделать и IP внутри).
Может показаться, что высказанная точка зрения также не преодолевает проблемы монотонности, поскольку множество причин растет монотонно, t4TO (при нормальном понимании «причины») ведет к монотонному возрастанию множества текущих допущений. Для разрешения проблемы монотонности мы вводим новые толкования терминов «причина» и «предположение».
Традиционно причина для допущения состоит из множества других допущений, так что если верно каждое из этих базисных допущений, то верно и само допущение. Для того чтобы начать такое подтверждение, при анализе причин требуется иметь либо циклическую аргументацию причин (и соответствующие начальные состояния допущений), либо допущения некоторого фундаментального типа, на которых основываются все остальные допущения. При традиционной точке зрения такие фундаментальные допущения, которые часто называют предположениями (или посылками), считаются верными без обоснований. При такой точке зрения рассуждатель производит изменения в текущем множестве допущений путем удаления каких-то текущих предположений или добавления новых предположений.
В соответствии с предлагаемой точкой зрения мы вводим такие толкования для «причины» и «предположения», что у предположений также оказываются причины. Причина (или подтверждение) допущения состоит из такой упорядоченной пары множеств других допущений, что подтверждаемое допущение находится внутри в силу данной причины только тогда, когда каждое допущение из первого (Множества находится в состоянии внутри, а каждое допущение из второго множества находится в состоянии вне. Предположением называется текущее допущение, одна из действительных причин которого зависит от допущений, не являющихся текущими, т. е. имеет непустое второе множество предшествующих допущений. Пользуясь введенными понятиями, при помощи предположений можно создавать «беспочвенные», но подтвержденные допущения (давая, например, Р причину ({ }, { IP})). Мы можем также производить немонотонные изменения в множестве текущих допущений, добавляя причины для утверждений, находящихся в состоянии вне, но использованных в причинах для текущих допущений (например, чтобы избавиться от Р, подтверждаем ПР). Выражаясь несколько вольно, когда мы подтверждаем зне-допущение, ко-
торое поддерживает некоторое предположение (например, ~1Р), мы отрицаем или отвергаем предположение (Р).
При помощи этих новых понятий проблема монотонности решается. Следуя им, мы находим способы справиться с рассуждениями по здравому смыслу, фреймами и с управлением, т. е. с теми проблемами, которые так досаждают нам при традиционном подходе к процессу рассуждения. Ожидания по умолчанию, которые имеют место при рассуждениях по здравому смыслу, представляются как допущения нового рода. Часть проблемы фреймов, а именно проблема того, как немонотонно изменять текущее множество допущений, решается при помощи немонотонного понятия причины. Однако большая часть проблемы фреймов (например, как задавать «законы перемещения» и как их эффективно отыскивать) лежит вне пределов тематики, обсуждаемой в данной работе. Проблема управления частично может быть разрешена путем встраивания последовательности процедурных состояний рассуждателя в предположения. Этой идеей, а также остальными аспектами проблемы управления мы подробно займемся в дальнейшем.
Видны также и другие преимущества по сравнению с традиционной точкой зрения. Одно из таких преимуществ связано с тем, как рассуждатель отвергает предположения. При традиционном понятии предположения отвержение предположения было необоснованным. Если рассуждатель удалял какое-либо предположение из текущего множества допущений, то (даже при отмене целесообразности такого удаления из-за изменившихся обстоятельств) данное предположение оставалось вне пределов текущего множества допущений до тех пор, пока рассуждатель не возвращал его явно в это множество. Вместо этого теперь вводится новое понятие обоснованной отмены предположения, смысл которого заключается в том, что рассуждатель отменяет предположение, обязательно добавляя причину, по которой оно должно быть отменено. Если в дальнейшем эта причина станет недействительной, то данная отмена перестанет быть эффективной и предположение вновь будет занесено в текущее множество допущений.
Обоснованная отмена предположений помогает при определении одного класса процедур обратного прослеживания, которые пересматривают множество текущих предположений в тех случаях, когда выясняется их несовместность. Одну из процедур такого рода мы, следуя Столлмену и Сассмену [53], называем процедурой обратного прослеживания по зависимостям. Она представляет собой минимально специализированную процедуру пересмотра текущего множества допущений в том смысле, что данная процедура оперирует только над причинами для допущений, но не над формой или содержанием самих
допущений. Говоря вкратце, она прослеживает в обратном направлении причины противоречащих допущений, находит таким образом множество предположений и затем отбрасывает одно из предположений с причиной, включающей другие предположения (ниже эта процедура будет описана подробно). Обратное прослеживание по зависимостям служит чем-то вроде шаблона для построения более специализированных процедур пересмотра. Эти специализированные процедуры необходимы почти для всех практических приложений. Они выходят за рамки общей процедуры, поскольку учитывают форму тех допущений, которые они проверяют в тех случаях, когда выбирают отвергаемое предположение.
Основная терминология
Система TMS записывает и подтверждает аргументы потенциальных допущений в программе так, чтобы все время было выделено текущее множество допущений программы. Она имеет дело с двумя структурами данных: вершинами, которые представляют допущения, и подтверждениями, которые представляют причины для допущений. Будем пользоваться обозначением St(N) для утверждения, являющегося потенциальным допущением и представленного вершиной N. Будем говорить, что TMS допускает вершину (представляющую потенциальное допущение), если за допущение данной вершины имеется аргумент и TMS допускает все вершины, включенные в этот аргумент. Может показаться, что это определение циклическое, но у некоторых вершин будут такие аргументы, которые не будут включать других допускаемых вершин, образуя тем самым базисный шаг определения.
В качестве фундаментальных действий TMS может совершать следующие.
TMS может создать новую вершину, к которой программа решения задач, использующая TMS, может привязать утверждение, являющееся допущением (или правило вывода, или процедуру, или структуру данных). Все манипуляции с утверждениями, находящимися в вершинах (для вывода, представления и т. д.), оставляются на долю тех программ, которые используют TMS.
TMS может добавить (или отвергнуть) новое подтверждение для вершины, что соответствует шагу аргумента допущения, представленного данной вершиной. Этому шагу аргумента обычно соответствует применение какого-либо правила или процедуры в программе решения задач. Такие правила или процедуры обычно также имеют вершины в TMS, которые они включают в создаваемые ими подтверждения.
Наконец, TMS может пометить некоторую вершину как противоречие, представляя таким образом несовместимость множества допущений, входящего в аргумент данной вершины.
Новое подтверждение вершины может привести к тому, что TMS допустит эту вершину. Если прежде TMS не допускала данную вершину, то ее допущение в свою очередь может сделать допустимыми другие вершины, у которых ранее были неполные аргументы. В этом случае TMS вызывает процедуру поддержания истинности, которая производит любой требуемый пересмотр множества допущений. TMS пересматривает текущее множество допущений, пользуясь записанными подтверждениями, и вычисляет нециклические аргументы для вершин из посылок и других специальных вершин способом, который будет описан ниже. Из этих нециклических аргументов для каждой из вершин, представляющих текущие допущения, выделяется одно подтверждение, называемое солидным опорным подтверждением. TMS определяет обновляемое множество вершин, находя такие вершины, у которых солидные аргументы зависят от измененных вершин.
Использующая TMS программа может указать на несовместность допущений, представленных принадлежащими текущему множеству допущений вершинами, используя эти вершины в качестве аргумента для новой вершины, которая помечается как противоречие. Если это происходит, то другой процесс TMS, обратное прослеживание по зависимостям, анализирует солидный аргумент противоречивой вершины, стараясь найти встречающиеся в аргументе предположения (вершины специального типа, который будет определен ниже). Затем этот процесс делает запись о несовместности полученного множества предположений и использует эту запись для изменения одного из предположений. После этого изменения противоречивая вершина более не допускается. Этот процесс будет разъяснен в разд. 4.
Для того чтобы делать пробные предположения, TMS использует специальный тип подтверждений, называемых немонотонными подтверждениями. Немонотонные подтверждения определяют аргумент для данной вершины, не только основываясь на текущем допущении некоторых вершин, но и задавая отсутствие допущения других вершин. Например, можно было бы подтвердить вершину N1, представляющую утверждение Р, на основе отсутствия допущения вершины N2, представляющей утверждение ~Р. В этом случае TMS будет поддерживать N1 как текущее допущение до тех пор, пока среди текущих допущений не будет N2. Можно сказать, что вершина N1 предполагается допу’щенной. В более общем случае под предположением
мы подразумеваем любую вершину, у которой солидное опорное подтверждение является немонотонным.
В качестве небольшого примера использования TMS предположим, что какая-то гипотетическая программа составления расписания для учреждения рассматривает назначение заседания на среду. Для этого программа предполагает, что заседание состоится в среду. Система вывода программы включает в себя правило, которое выдает заключение о том, что вследствие каких-то регулярных обязательств любое заседание в среду должно происходить в 13.00. Однако уже сконструированный фрагмент расписания на эту неделю предусматривает в данное время какое-то другое мероприятие, и другое правило дает заключение, что в среду заседания М быть не может. Мы запишем вершины и подтверждения, сконструированные при помощи этих правил, следующим образом:
Вершина УтверждениеN1ДЕНЬ (М) = СРЕДАN2ДЕНЬ (М) ^ СРЕДАВершина УтверждениеN1ДЕНЬ (М) = СРЕДАN2ДЕНЬ (М) ^ СРЕДАПодтверждение(SL( )(N2))Подтверждение(SL( )(N2))Комментарий Предположение Пока нет подтвержденияКомментарий Предположение Пока нет подтверждения
Вершина Утверждение
N1ДЕНЬ (М) = СРЕДА
N2ДЕНЬ (М) ^ СРЕДА
Вершина Утверждение
N1ДЕНЬ (М) = СРЕДА
N2ДЕНЬ (М) ^ СРЕДА
Подтверждение
(SL( )(N2))
Подтверждение
(SL( )(N2))
Комментарий Предположение Пока нет подтверждения
Комментарий Предположение Пока нет подтверждения
Ng ВРЕМЯ (М) = 13.00 (SL(R37N1)( ))
Приведенные выше обозначения для подтверждений указывают, что данные подтверждения принадлежат к классу SL-подтвер- ждений со списком поддержки (support-list). Каждое из таких подтверждений состоит из двух списков вершин. SL-подтвер- ждение является действительной причиной для допущения тогда л только тогда, когда каждая из вершин в первом списке является допущенной, а каждая из вершин во втором списке не является допущенной. Если в данном примере имеются только те два подтверждения, которые приведены выше, то N2 не является теку'щим допущением, поскольку у данной вершины вообще нет никаких подтверждений. Вершина N1 является допущенной, поскольку подтверждение для нее указывает, что она зависит от отсутствия допущения N2. Подтверждение N3 показывает, что N3 зависит от (предполагаемой допущенной) вершины R37. В этом случае R37 представляет правило, действующее на (утверждение, представленное) N1.
Затем другое правило (представленное вершиной R9) действует на допущения о дне и времени каких-то других мероприятий (представленных вершинами N7 и N8), чтобы отвергнуть предположение N1:
N2 ДЕНЬ (Л4) ^ СРЕДА (SL (R9 N7 N8) ( ))
Для того чтобы согласовать систему с новым подтверждением, TMS пересмотрит текущее множество допущений, так что
будет допущено N2 и не будут допущены N1 и N3. Это делается путем прослеживания «вверх» от вершины, которая была изменена, т. е. от N2, в результате чего становится видно, что N1 и N3 в конечном счете зависят от N2. Затем тщательно проверяются подтверждения каждой из этих вершин и выясняется, что подтверждение N2 действительно (так что N2 находится внутри). Из этого следует, что подтверждение для N1 недействительно (так что N1 находится вне) и, следовательно, недействительно подтверждение для N3 (так что и N3 находится вне).
ПРЕДСТАВЛЕНИЕ ПРИЧИН ДЛЯ ДОПУЩЕНИЙ
Состояния допущения
У вершины может быть несколько подтверждений, каждое из которых представляет свою причину для допущения вершины. Эти различные подтверждения образуют множество подтверждений вершины. Вершина допускается тогда и только тогда, когда хотя бы одно из подтверждений является действительным. Выше мы описали условия действительности для SL-подтверждений. Позднее мы введем и объясним другой тип подтверждения, который используется в TMS. Мы будем говорить, что вершина, имеющая хотя бы одно действительное подтверждение, находится внутри (текущего множества допущений), а вершина, у которой нет действительных подтверждений, находится вне (текущего множества допущений). Иначе можно сказать, что каждая вершина имеет статус поддержки, который принимает либо значение внутри, либо значение вне. Разница между внутри и вне не совпадает с разницей между истинно и ложно. Классификация по внутри/вне учитывает наличие действительных подтверждений для допущения. С другой стороны, утверждения разбиваются на истинные и ложные в соответствии со значением истинности, которое нс зависит от каких- либо причин для допущения.
В TMS каждое потенциальное допущение, используемое как гипотеза или как заключение с некоторым аргументом за него, должно снабжаться своей собственной отдельной вершиной. В тех случаях, когда существует неопределенность относительно некоторого утверждения (например, утверждения Р), нужно (в конце концов) создать вершины и для этого утверждения, и для его отрицания. Каждая из этих вершин может иметь солидные аргументы или не иметь их, что приводит к четырехэлементному множеству допущений (аналогичному множеству допущений, на котором настаивает Белнап [2]), в котором либо не допускаются ни Р, ни iP, либо допускается
ровно одно из этих утверждений, либо допускаются оба утверждения.
В литературе содержится много предложений по использованию трехэлементного множества состояний для допущений — ^истинно, ложно, неизвестно}. Эти предложения привлекательны и без понятия подтвержденного допущения. Я настаиваю, однако, на том, что в системах, основанных на понятии подтвержденного допущения, следует отказаться от трехзначной логики в пользу четырехзначной системы, представленной в настоящей работе, иначе возникает риск путаницы между понятиями истинности и подтвержденного допущения. Пользователи трехзначных систем с подтверждением допущений могут попытаться избежать трудностей, если будут заботиться об интерпретации своих систем в терминах подтверждений, а не значений истинности, но если спрятать это различие в множестве допущений, то опасность путаницы окажется еще большей. Можно было бы попытаться говорить, что противоречивые допущения могут иметь место только в переходном состоянии системы, а в любой стабильной ситуации может использоваться только одно из трех состояний допущения: истинно (допускается только Р), ложно (допускается только ПР) и неизвестно (не допускается ни одно из них). Однако четырехэлементную систему нельзя опровергнуть с такой легкостью. Поскольку для нас главный интерес представляет процесс пересмотра допущений, нас беспокоят именно те процессы, которые работают во время таких переходных ситуаций. Для тяжелых задач и трудных решений эти «переходные» состояния могут быть весьма долгоживущими.
Подтверждения
Записанные в TMS подтверждения имеют две компоненты: внешнюю форму подтверждения, существенную для решателя задач, и внутреннюю форму, существенную для TMS. Например, некоторое подтверждение могло бы иметь внешнюю форму (Modus Ponens A, А^эВ) и внутреннюю форму (SL(N1N2N3)( )) в предположении, что N1 представляет правило Modus Ponens1), N2 представляет A, a N3 представляет A zd В. Система TMS никогда не использует и не проверяет внешних форм подтверждений, а просто записывает их с тем, чтобы решатель задач мог бы использовать их при конструировании осмысленных объяснений. В силу этого далее внешние формы подтверждений не будут рассматриваться.
!) То есть правило А, АтзВ\-В.— Прим, перев.
Хотя люди при аргументации могут использовать много типов аргументов или подтверждений, TMS требует приведения их всех к стандартной форме. TMS использует для подтверждений только две внутренние формы: список, поддержки SL (support-list) и условное доказательство СР (conditional proof). Эти две формы инспирированы типичными формами аргументов в системах вывода с натуральной дедукцией, в которых поддержка строки доказательства изменяется путем добавления или изъятия зависимостей. Доказательство в такой системе может идти следующим образом:
Строка
1.
Утверждение
Л ZD В
Подтверждение Посылка
Зависимости {1}
2.
В^С
Посылка
{2}
3.
А
Гипотеза
{3}
4.
В
МР 1,3
{1,3}
5.
С
МР 2,4
{1,2,3}
6.
АпС
Спускаем 3,5
{1,2}
На
каждом шаге
доказательства
имеется номер строки,
утверждение, подтверждение и множество номеров строк, от которых зависит утверждение. Посылки и гипотезы зависят сами от себя, а другие строки зависят от множества посылок
и гипотез, которые использовались для вывода их подтверждений. В приведенном выше доказательстве Д zd С доказывается из посылок A zd В и В zd С путем выдвижения гипотезы А и получения заключения С двукратным применением правила Modus Ponens. Доказательство Л zd С заканчивается, когда удаляется предположение А, что делает заключение независимым от гипотез, но оставляет его зависимым от посылок.
В этом примере можно видеть подтверждения, которые суммируют зависимости от нескольких строк (строка 4), и подтверждения, убирающие зависимость одних строк от других (строка 6). В TMS за эти операции над зависимостями отвечают подтверждения двух типов. Подтверждение типа списка поддержки гласит, что подтвержденная вершина зависит от каждой из вершин в некотором множестве других вершин и в результате суммирует зависимости от указанных вершин. Подтверждение типа условного доказательства гласит, что подтвержденная вершина зависит от действительности определенного гипотетического аргумента. Как и в приведенном выше примере, оно убирает зависимости от одних вершин (гипотез гипотетического аргумента) из зависимостей от других (заключения гипотетического аргумента). Таким образом, можно переписать этот пример в терминах подтверждений TMS (игнорируя
N1
Л:
D В
(SL( )( ))
Посылка
N2
В z
D С
(SL( )( ))
Посылка
N3
А
(SL( )( ))
Посылка
N4
В
(SL(N1 N3)( ))
MP
N5
С
(SL(N2N4)( ))
MP
N6
Д =
^с
(CP N5 (N3) ( ))
Удаление
разницу между посылками и
вода МР):
гипотезами, а также правило выгипотезами, а также правило выCP-подтверждения, которые ниже будут рассмотрены более детально, отличаются от обычных гипотетических аргументов тем, что используют два списка вершин-гипотез: внутри-гипо- тезы и вне-гипотезы. В подтверждении для N6, приведенном выше, список внутри-гипотез содержит как раз N3, а список вне-гипотез является пустым. Эта разница является результатом использования нами немонотонных подтверждений, в которых аргументы для вершин могут основываться как на внутри-, так и на вне-вершинах.
гипотезами, а также правило вы
гипотезами, а также правило вы
Подтверждения типа списка поддержки
Повторяя определение, мелькнувшее где-то в предыдущем обсуждении, скажем, что подтверждения типа списка поддержки имеют форму
(SL (внутри-список) (вме-список))
Они действительны тогда и только тогда, когда каждая вершина во внутри-списке находится внутри, а каждая вершина во вне-списке находится вне. SL-подтверждение является формой, которая может представлять различные типы заключений.
Если вне-список и вш/три-список пусты, то мы говорим, что это подтверждение является подтверждением типа посылки. Подтверждение типа посылки всегда действительно, так что вершина, которую оно поддерживает, всегда будет внутри.
SL-подтверждения, у которых вш/туш-список непуст, а вне- список пуст, представляют нормальные заключения. Каждое такое подтверждение представляет монотонный аргумент для подтверждаемой вершины, зависящей от вершин, входящих в его внутри-список.
Мы определяем предположения как вершины, у которых опорное подтверждение имеет непустой вне-список. Подтверждения типа предположения можно интерпретировать следующим образом: вершины из в ну три-списка образуют причины для того, чтобы желать допущения подтверждаемой вершины,
а вершины, входящие во вне-список, представляют конкретные критерии для разрешения этого предположения. Например, причиной желания предположить, что «погода будет отличной», могло бы являться «быть оптимистом по отношению к погоде», и это предположение могло бы быть разрешено только тогда, когда нет причины допустить, что «погода будет плохой». Мы иногда будем интерпретировать вершины, входящие во вне-спи- сок, как «опровержения» подтверждаемой вершины, т. с. как такие допущения, принятие которых влечет отрицание допущения, представленного подтверждаемой вершиной.
Терминология зависимостей
Перед тем как рассматривать CP-подтверждения, я должен приостановиться и ввести некоторую терминологию. В этом разделе будет много определений различных зависимостей
Рис. 1. На рисунке изображена система, заданная табл. 1. Стрелки сооответ- ствуют подтверждениям. Неперечеркнутые стрелки соответствуют внутри- спискам, единственная перечеркнутая стрелка для J2 соответствует вне-списку.
и читатель должен будет обращаться к табл. 1 и 2, а также к рис. 1 за примерами, иллюстрирующими определения.
Как уже упоминалось выше, для формирования части нециклического аргумента вершины TMS выбирает из множества подтверждений каждой находящейся в состоянии внутри вершины одно подтверждение, называемое опорным подтверждением. По причинам, которые будут объяснены позже, опорными подтверждениями вершин могут быть только SL-подтверждения, но не CP-подтверждения. Множество опорных вершин для данной вершины есть множество таких вершин, которые TMS использовала для определения статуса поддержки данной вершины.
Для вершин в состоянии внутри опорные вершины — это в точности те вершины, которые перечислены во внутри-стаске
Таблица 1
Пример системы из шести вершин и семиподтверждений
Вершина
Подтверждение
Имя подтверждения
1
(SL (3) ( ))
Л
2
(SL ( )(1))
J2
3
(SL(1)( ))
J3
4
(SL (2) ( ))
J4a
4
(SL(3)( ))
J4b
5
(SL ( )( ))
J5
6
(SL (3 5) ( ))
J6
Таблица 2
Зависимости, в неявном виде содержащиеся в системе,заданной в табл. 1. Прочеркнутые клетки пусты. Остальныеклетки содержат списки вершин, находящихся в зависимостиданного типа от вершины, указанной в заголовке столбца
Тип зависимости
Вершина 1
Вершина 2
Вершина
3
Вершина 4
Вершина
5
Вершина
6
Статус поддержки
Вне
Внутри
Вне
Внутри
Внутри
Вне
Опорное подтверждение
—
J2
—
J4a
J5
—
Опорные вершины
3
1
1
2
—
3
Предшественники
—
1
—
2
—
—
Основания
—
1
—
1,2
—
—
Предки
1,3
1,3
1,3
1,2,3
—
1,3
Последователи
2,3
4
1,4,6
—
6
—
Затронутые последова
2,3
4
1,6
—
—
—
тели
Допущенные последо
2
4
—
—
—
—
ватели
Последствия
1,2,3,4,6
4
1,2,3,4,6
—
—
—
Допущенные последст
2,4
4
—
—
—
—
вия
и вне-списке опорного подтверждения, и в этом случае мы называем эти опорные вершины предшественниками данной вершины. При образовании множества опорных вершин для вершины, находящейся в состоянии вне, TMS выбирает по одной вершине из каждого подтверждения, входящего в множество подтверждений данной вершины. Из SL-подтверждений TMS
выбирает либо одну вершину в состоянии вне, входящую во внутри-список, либо одну внутри-вершину из вне-списка. В случае CP-подтверждения выбирается либо вне-вершина из внутри- гипотез, либо внутри-вершина из вне-гипотез, либо консеквент. Опорные вершины для вершин в состоянии вне выбираются таким образом, чтобы статус поддержки такой вершины не мог бы измениться без изменения статуса поддержки одной из опорных вершин или без добавления нового действительного подтверждения. Вершины в состоянии вне по определению не имеют предшественников. TMS сохраняет опорные вершины в качестве одной из компонент структуры данных для вершины и вычисляет предшественников вершины на основе этого списка.
Множество оснований для данной вершины образуется транзитивным замыканием предшественников данной вершины, т. е. состоит из предшественников данной вершины, их предшественников и т. д. Это множество есть множество вершин, включенных в солидный аргумент для допущения вершины. Аналогично множество предков вершины является транзитивным замыканием множества опорных вершин для данной вершины, т. е. состоит из опорных вершин для данной вершины, опорных вершин для этих вершин и т. д. Это множество состоит из вершин, которые могут повлиять на статус поддержки данной вершины. Предки данной вершины могут включать в себя и саму вершину, поскольку замыкание по опорным вершинам не обязано быть солидным. TMS вычисляет эти зависимости, пользуясь опорными вершинами и предшественниками вершин.
Пойдем теперь в противоположном направлении. Множество последователей данной вершины есть множество всех тех вершин, у которых данная вершина упоминается в одном из их подтверждений. Затронутые последователи данной вершины — это те последователи данной вершины, которые содержат ее в своих множествах опорных вершин. Допущенные последователи данной вершины есть последователи этой вершины, которые находятся внутри и содержат данную вершину в своих множествах предшественников. TMS хранит последователей вершины в качестве одной из компонент структуры данных для каждой вершины и вычисляет затронутых и допущенных последователей. •
Множество последствий данной вершины образуется транзитивным замыканием затронутых последователей данной вершины, т. е. состоит из вершин, являющихся затронутыми последователями данной вершины, из вершин, являющихся затронутыми последователями этих вершин и т. д. Множество допущенных последствий данной вершины образуется транзитивным замыканием допущенных последователей данной вершины, т. е. состоит из вершин, являющихся допущенными
последователями данной вершины, изих допущенных последователей и т. д. Все эти отношения TMS вычисляет из последователей вершины.
Далее отношения поддержки вершин будут, как правило, представляться линиями, направленными вверх, так что для того, чтобы увидеть последствия, нужно смотреть вверх, а для того, чтобы увидеть основания, — вниз. Будем говорить, что первая вершина расположена на более низком уровне, чем вторая, если вторая вершина входит во множество допущенных последствий первой.
Подтверждения типа условного доказательства
Пользуясь введенной терминологией, мы можем теперь рассмотреть подтверждения типа условного доказательства. Точный смысл этих подтверждений в TMS сложен и труден для описания, поэтому читатель может найти этот раздел труднопонимаемым и получить большую пользу, возвращаясь к нему во время чтения разд. 3.3, 4 и 5. CP-подтверждения имеют форму
(СР (консеквент) (ан^туш-гипотезы) (вне-гипотезы))
CP-подтверждение действительно, если вершина-консеквент находится внутри, в то время как
каждая вершина из множества внутри-гипотез находится в состоянии внутри, и
каждая вершина из множества вне-гипотез находится в состоянии вне.
За исключением немногих экзотических применений, которые будут описаны ниже, множество вне-гипотез пусто, так что обычно вершина, которая подтверждается с помощью СР-под- тверждения, представляет импликацию, предшественниками которой являются вш/туш-гипотезы, а консеквентом — консеквент CP-подтверждения. В стандартных условных доказательствах в системах натуральной дедукции обычно задастся одно множество гипотез, которое соответствует вш/туш-гипотезам в СР- подтверждении. Но в нашем случае множество гипотез должно быть разделено на два непересекаю'щихся подмножества, поскольку вершины могут выводиться как из вершин, находящихся внутри, так и из вершин, находящихся вне. В некоторых системах дедукции используются также условные доказательства с многими консеквентами. Мы отказались от них по причинам, связанным с эффективностью реализации.
TMS обращается с CP-подтверждениями специальным образом. Действительность CP-подтверждения легко определить только тогда, когда консеквент подтверждения и внутри-гтао- тезы находятся внутри, а вме-гипотезы находятся вне, по-
скольку определение действительности подтверждения при других статусах поддержки этих вершин может потребовать переключения статусов поддержки у вершин для гипотез и их последствий для того, чтобы создать такую гипотетическую ситуацию, в которой можно было бы определить действительность условного доказательства. Проверка действительности CP-подтверждения может, таким образом, потребовать работы по поддержанию истинности, а это в свою очередь может потребовать проверки действительности других СР-подтвержде- ний, так что весь процесс становится чрезвычайно сложным. Вместо того чтобы предпринимать такой детальный анализ (для которого я не знаю алгоритмов), TMS использует более удобную аппроксимирующую стратегию, вычисляя такое SL- подтверждение, которое в данный момент эквивалентно СР- подтверждению. При создании эти новые SL-подтверждения эквивалентны CP-подтверждениям в смысле тех зависимостей, которые они задают, а действительность их проверяется легко. Каждый раз, когда TMS интересуется действительностью CP-подтверждения, она вычисляет эквивалентное SL-подтверждение, анализируя солидный аргумент вершины-консеквента в CP-подтверждении с тем, чтобы найти такие вершины, которые сами по себе не поддерживаются никакими вне-гипотезами или вш/трц-гипотезами, но непосредственно входят в аргумент вершины консеквента в соответствии с гипотезами. Говоря точнее, TMS находит множество вершин N, которые являются основаниями консеквента и таковы, что N нс является ни одной из гипотез или их последствий и является либо предшественником консеквента, либо предшественником некоторой вершины, являющейся последствием одной из гипотез. Тс вершины из этого множества, которые находятся внутри, образуют внутри-список эквивалентного SL-подтверждения, а вершины, находящиеся вне, образуют вне-список эквивалентного SL-подтверждения. TMS привязывает полученное таким образом SL-подтверждение к «родительскому» CP-подтверждению и при обработке всегда предпочитает использовать это SL-подтверждение. В качестве опорных подтверждений система использует только SL-подтверждения (либо обычные, либо построенные из СР-подтверждений).
Другие типы подтверждений
Мой опыт работы с TMS показывает, что могут оказаться полезными и подтверждения других типов. Обобщенная форма (GF) подтверждения объединяет приведенные выше две формы подтверждений в одну. В этой форме вершины, входящие во
внутри-список и во зне-список, добавлены к результату условного доказательства. Это можно записать в виде
(GF (внутри-список) (вне-список) (консеквент) (зн^туш-гипотезы)(вме-гипотезы))
Я предлагаю также форму подтверждения для подытоживания (SUM):
(SUM (консеквент) (зн^туш-гипотезы) (зне-гипотезы))
которая является сокращением от
(GF (зш/туш-гипотезы) (вне-гипотезы) (консеквент) (внутри-гипотезы) (зде-гипотезы))
В рамках этой формы осуществляется добавление гипотез из условного доказательства назад в результат условного доказательства, подытоживая, таким образом, аргумент консеквента путем отбрасывания промежуточных компонент. Детали этой техники объясняются в разд. 5. Для удобства объяснения я использую там SUM-подтверждения, хотя в TMS они и нс реализованы.
МЕХАНИЗМЫ ПОДДЕРЖАНИЯ ИСТИННОСТИ
Циклические аргументы
Предположим, что некоторая программа обрабатывает следующие три вершины:
F (= (+ ХУ) 4) ...опущено
G (=XI)(SL(J)())
Н (=УЗ)(SL(K)())*
(В тех случаях, когда некоторые утверждения или подтверждения непосредственно не связаны с изложением, мы иногда оставляем их не заданными. Предполагается, что все такие опущенные подтверждения являются действительными.) Если J находится внутри, а К вне, то TMS сделает F и G находящимися внутри, а Н — вне. Если после этого программа подтверждает Н С ПОМОЩЬЮ
(SL(FG)( ))
то TMS переведет Н в состояние внутри. Теперь предположим, что TMS делает J находящимся вне, а К внутри, что приведет к тому, что G становится вне, а Н остается внутри. Программа могла бы тогда подтвердить G с помощью
(SL(FH)( ))
Если теперь TMS получает, что К находится вне, то перво- ' начальное подтверждение, на которое опирается допущение Н, становится недействительным, что ведет к переоценке TMS основания для допущения Н. Если решение о допущении вершины принимать на основе простого оценивания каждого из подтверждений вершины, то это приведет к тому, что и G и Н останутся внутри, поскольку два добавленных последними подтверждениями дают циклические аргументы для G и Н.
Возможность появления такого рода циклических аргументов вызывает использование солидных опорных подтверждений, поскольку появление вершин, допущенных в результате неверных рассуждений и основанных на циклических подтверждениях, не выдерживающих проверки, ведет к неправильно проанализированным действиям, бессмысленным поискам в базе данных и иллюзорным несовместностям, которые никогда бы и не возникли, если бы не появились эти ведущие в неправильном направлении допущения. В силу этого алгоритмы TMS должны гарантировать, что никакая вершина не допущена по циклическим причинам."
' Возможные аргументы для вершин по существу могут содержать три разных типа цикличностей. При первом (и самом общем) типе цикличности в циклическую аргументацию вовлекаются только такие вершины, подтверждения которых не противоречат одновременному, переводу в состояние вне. Цикличности такого типа стандартно возникают из-за появления эквивалентных или условно эквивалентных допущений и из-за обоюдно ограничивающих допущений. Приведенный выше пример относится как раз к этому типу цикличности.
При цикличности второго типа среди цикличности подтверждающих друг друга вершин имеется как минимум одна вершина, которая должна быть внутри. Рассмотрим, например, F БЫТЬ (SL( )(G))
G 1БЫТЬ (SL()(F))
При отсутствии других подтверждений данные подтверждения заставляют TMS либо сделать F внутри и G вне, либо сделать G внутри и F вне. Этот тип цикличности возникает во множествах альтернатив определенного вида.
При неудовлетворимых цикличностях, которые относятся к цикличностям третьего типа, никакое присваивание вершинам состояний внутри и вне не может быть согласовано с их подтверждениями. Рассмотрим
F (SL()(F))
Если для F не имеется других подтверждений, то TMS должна сделать F внутри тогда и только тогда, когда она делает F
вне, — задача, которую невозможно решить. Неудовлетворимые цикличности иногда указывают на действительную несовместность допу'щений той программы, которая использует систему поддержания истинности, и такая несовместность может быть провозглашена, например, в том случае, когда далекое обратное прослеживание исключило все другие возможности. Текущая версия TMS не обрабатывает неудовлетворимые цикличности (система зацикливается), поскольку для увеличения эффективности программы в нормальных случаях я удалил проверку наличия таких цикличностей, которая иногда обходится довольно дорого. В более живучей реализации такая проверка могла бы быть восстановлена. Более подробно эта проблема обсуждается при описании шага 5 в разд. 3.2.
Процедура поддержания истинности
Процедура поддержания истинности производит необходимый пересмотр текущего множества допущений каждый раз, когда пользователь добавляет или убирает подтверждения множества допущений. При удалении подтверждений не возникает никаких новых проблем по сравнению с возникающими при добавлении подтверждений, так что для упрощения обсуждения мы ограничимся случаем добавления и не будем рассматривать удаления. Прежде всего мы расскажем о работе процедуры в общих чертах, а затем опишем ее детально. Для последующего изложения эти детали не являются ключевыми, так что читатель, не интересующийся специально данной проблематикой, должен прочитать лишь общее описание работы процедуры, после чего перейти прямо к разд. 4.
Говоря в общих чертах, процедура поддержания истинности начинает работать при добавлении к вершине нового подтверждения. Если это новое подтверждение недействительно или если оно действительно, но вершина уже находится внутри, то нужны только второстепенные учетные работы. Если подтверждение действительно, а вершина находится вне, то следует обновить эту вершину и ее последствия. TMS составляет список, содержащий вершину и ее последствия, и маркирует каждую из этих вершин для индикации того, что у них пока нет солидной опоры. Затем TMS проверяет подтверждения этих вершин, с тем чтобы узнать, не являются ли теперь какие-либо из этих подтверждений действительными исключительно на основе немаркированных вершин, т. е. исключительно на основе вершин, имеющих солидную опору. Если такие вершины находятся, то они переводятся в состояние внутри (или вне, если все их подтверждения являются недействительными исключительно на основании солидных вершин). Затем исследуется, нельзя ли
дать солидную опору маркированным последователям этих вершин.
После того как таким образом будут исследованы все маркированные вершины, может оказаться, что для всех вершин будет найден солидный статус поддержки. Однако может случиться и так, что вследствие цикличностей некоторые из вершин останутся маркированными. Тогда TMS инициирует процесс сглаживания ограничений, который присваивает статус поддержки оставшимся вершинам. После всего этого TMS проверяет противоречивость и CP-подтверждения, выполняет, если это необходимо, обратное прослеживание по зависимостям и обработку CP-подтверждений и, наконец, сигнализирует программе пользователя об изменениях статуса поддержки тех вершин, которые были вовлечены в поддержание истинности.
Перейдем к подробному описанию. Алгоритм состоит из следующих шагов. Комментарии выделены парами «скобка-звездочка» (например: [% Это комментарий. %]).
Шаг 1 (добавление нового подтверждения). Добавить новое подтверждение к множеству подтверждений данной вершины. Добавить данную вершину к множествам последователей для каждой из вершин, упомянутых в данном подтверждении. Если новое подтверждение есть CP-подтверждение, добавить данную вершину к списку CP-последователей консеквента СР-подтвер- ждения для использования на шаге 6. Если данная вершина находится внутри, то все сделано. Если же эта вершина находится вне, то проверить подтверждение на действительность. Если оно недействительно, то добавить к опорным вершинам данной вершины либо вершину в состоянии вне из внутри- списка, либо вершину в состоянии внутри из вне-списка. Если же подтверждение действительно, то перейти к шагу 2.
Шаг 2 (обновление требуемых допущений). Проверить затронутых последователей данной вершины. Если таковых не имеется, то изменить статус поддержки вершины на внутри, сделать опорными вершинами сумму вш/туш-списка и вне- списка, после чего остановиться. В противном случае создать список L, содержащий саму вершину и ее последствия, записать статус поддержки каждой из этих вершин и перейти к шагу 3. [* Мы должны собрать все последствия данной вершины для того, чтобы избежать конструирования циклических аргументов, предположительно использующих последствия вершины в своих солидных опорных аргументах для этой вершины. *]
Шаг 3 (маркировка вершин). Пометить каждую вершину из L статусом поддержки nil и перейти к шагу 4. [* Вершины могут иметь статус поддержки nil только на протяжении работы
по поддержанию истинности. Эта маркировка разделяет вершины с солидной опорой и вершины, для которых солидная опора не определена. %]
Шаг 4 {определение подтверждений вершин). Для каждой вершины из L выполнить описанную ниже подпроцедуру. Когда это будет сделано, перейти к шагу 5.
Шаг 4(a) {оценивание множества подтверждений). Если вершина либо в состоянии внутри, либо в состоянии вне, не делать ничего. В противном случае1) выбирать подтверждения из множества подтверждений, сначала SL-подтверждения, потом CP-подтверждения. Проверять их на солидную действительность (будет определена несколько позже) до тех пор, пока либо не найдется действительное подтверждение, либо множество подтверждений не будет исчерпано. [* TMS испытывает подтверждения в хронологическом порядке начиная с самых старых.*] Если найдено действительное подтверждение, то (1) считать его опорным подтверждением (сперва преобразовав в SL-форму, если это СР-подтверждение); (2) установить опорные вершины, как на шаге 2; (3) пометить данную вершину внутри; (4) рекурсивно выполнить шаг 4(a) для всех последователей данной вершины, имею'щих статус поддержки nil. Если у данной вершины будут найдены только солидные недействительные подтверждения, то пометить данную вершину вне, установить ее опорные вершины, как на шаге 1, и рекурсивно применить шаг 4(a) ко всем последователям данной вершины, маркированным nil. Во всех остальных случаях обработка вершины временно откладывается и подпроцедура заканчивается.
[* SL-подтверждение является солидным действительным, если каждая вершина из вш/туш-списка находится внутри, а каждая вершина из в^^списка находится вне. Оно является солидным недействительным, если некоторая вершина из внут- рц-списка находится вне или некоторая вершина из вне-списка находится внутри. СР-подтверждение является солидным действительным, если все вш/туш-гипотезы находятся внутри, все вне-гипотезы находятся вне и консеквент внутри. Оно является солидным недействительным, если все вш/туш-рипотезы находятся внутри, все вне-гипотезы находятся вне и консеквент находится вне. *]
[* На этом шаге для некоторых вершин из L могут быть найдены солидные опорные подтверждения, но у других вершин из-за цикличностей в потенциальных аргументах статус поддержки может остаться неопределенным. Эти оставшиеся вер-
9 То есть в том случае, когда данная вершина имеет статус поддержки nil. Обозначение nil связано с языком реализации TMS. — Прим, перев.
шины обрабатываются ниже на шаге 5. Если бы не СР-под- тверждения, без шага 4 можно было бы полностью обойтись, поскольку шаг 5 сам по себе дает эффективную классификацию. Тем не менее мы включили шаг 4 как для обработки CP-подтверждений, так и для (как мы надеемся) увеличения эффективности алгоритма за счет первоочередного выбрасывания вершин с солидной поддержкой. *]
Шаг 5 {постепенное избавление от цикличностей). Для каждой вершины из L выполнить описанную ниже подпроцедуру. По завершении перейти к шагу 6.
Шаг 5(a) {оценивание множества подтверждений). Если данная вершина находится либо внутри, либо вне, то ничего не делать. В противном случае продолжать выбирать подтверждения из множества SL-подтверждений (игнорируя СР-под- тверждения) и проверять их на несолидную действительность или недействительность [*как будет объяснено несколько позже, предполагается, что все вершины, которые к настоящему времени маркированы nil, будут со временем помечены внеЦ до тех пор, пока либо не найдется действительное подтверждение, либо множество подтверждений не будет исчерпано.
Если все подтверждения являются недействительными, то пометить вершину вне, установить ее опорные вершины, как на шаге 1, и рекурсивно применить подпроцедуру шага 5(a) ко всем последователям вершины, помеченным nil. Если найдется действительное подтверждение, то должна быть сделана специальная проверка того, имеет ли вершина затронутых последователей. Если данная вершина действительно имеет затронутых последователей, то все они, как и сама вершина, должны быть вновь промаркированы nil и вновь исследованы циклическим применением шага 5. [% Мы поступаем так потому, что эта процедура могла еще раньше определить статус поддержки некоторой вершины на основании предположения, что данная вершина находится вне. *] Если затронутых последователей нет, то установить действительное подтверждение как опорное, установить опорные вершины так же, как на шаге 2, пометить вершину внутри и затем рекурсивно применить подпроцедуру шага 5(a) ко всем последователям данной вершины, имеющим статус поддержки nil.
[% Все подтверждения либо будут несолидными действительными, либо несолидными недействительными — третьего быть не может. SL-подтверждение является несолидным действительным, если каждая из вершин вш/трц-списка находится внутри и ни одна из вершин вне-списка не находится внутри, в противном случае оно является несолидным недействительным. При таком методе оценивания вершин предполагается, что при определении статуса поддержки nil отождествляется
с вне, т. е. предполагается, что вершины, маркированные в настоящее время nil, со временем будут помечены вне. *]
[* Если шаг 5 оканчивается, то на нем находится солидная опора для всех вершин из L. Окончания не произойдет, если существуют неудовлетворимые цикличности. Такие цикличности могут быть обнаружены путем проверки того, не является ли данная вершина своим собственным предком в несолидном действительном подтверждении на шаге 5(a). Если данная вершина является своим собственным предком, то в том случае, когда аргумент для допущения вершины зависит от отсутствия допущения этой же вершины, имеется неудовлетворимая цикличность. Но, к несчастью, незавершимость может иметь место и тогда, когда имеется такое удовлетворимое множество вершин и подтверждений, которое для нахождения удовлетвори- мого присваивания статусов поддержки требует их изменения для вершин, не входящих в список L. Например, если F находится внутри, но не в L и если G имеет только одно подтверждение (SL(F)(G)) и находится в L, то данная процедура будет не в состоянии присвоить G солидный статус поддержки без того, чтобы выйти за пределы L для изменения статуса поддержки F. Понятно, что, если поддержание истинности делается как следует, в таких случаях оно не должно расширяться.
Данная процедура постепенного избавления от цикличностей находит одно из присваиваний статуса поддержки для вершин, но могут оказаться возможными и другие присваивания. Более сложные системы должны включать какой-то способ выбора между альтернативами, поскольку руководство тем, что допускает программа, обычно приводит к руководству тем, что программа делает. В некоторых версиях TMS (см., например, [14]) содержатся рудиментарные возможности для такого анализа, но в рассматриваемой версии таких возможностей нет. По-видимому, на этом шаге постепенного избавления от цикличностей выбор того, какой пересмотр делать, должен быть совершенно случайным. Методы для выбора между альтернативными пересмотрами должны учитывать какие-то идеи о том, чем являются остальные пересмотры, а это очень трудно точно определить. Можно аппроксимировать множество альтернативных пересмотров пересмотрами, включающими какое-то определенное допущение, но после нескольких таких аппроксимаций это в итоге сведется к выбору одного определенного пересмотра и проверке, годится ли он. *]
Шаг 6 (проверка CP-подтверждений и противоречий). Вызвать каждую из описанных ниже подпроцедур для каждой из вершин в L, после чего перейти к шагу 7. [* На этом шаге делается попытка вывести новые SL-подтверждения для СР-под-
тверждений и разрешить несовместности в новом множестве допущений. Поскольку после шага 5 вне вершины в L остаются либо внутри, либо вне, теперь можно оценить те СР-подтверж- дения, которые до сих пор не были оценены, и разрешить вновь появившиеся противоречия. *]
Шаг 6(a) (проверка СР-подтверждений). Если вершина находится в состоянии вне или имеет пустой список СР-после- дователей, то не делать ничего. В противном случае для каждой вершины в списке CP-последователей проверить на действительность ее CP-подтверждения и если среди них будут найдены действительные, то получить их текущие эквивалентные SL-подтверждения и подтвердить данную вершину полученным подтверждением. Если это подтверждение окажется новым и вызовет поддержание истинности (шаги с первого по пятый), то вновь начать шаг 6; в противном случае вернуться.
Шаг 6(b) (проверка противоречий). Пропускать вершины до тех пор, пока не встретится вершина в состоянии внутри, помеченная как противоречие. В этом случае вызвать систему обратного прослеживания по зависимостям для данной вершины. Если во время обратного прослеживания используется поддержание истинности (шаги с первого по пятый), то вновь начать шаг 6; в противном случае вернуться.
[*Этот шаг прекращается только тогда, когда из СР-под- тверждений не может быть получено новых SL-подтверждений и нет противоречий, которые могут быть разрешены. *]
Шаг 7 (сигнализация об изменениях). Сравнить текущий статус поддержки каждой вершины в L с начальным статусом, записанным на шаге 2, и вызвать поставляемые пользователем сигнальную функцию вспоминания и сигнальную функцию забывания для сигнализации об изменении состояния вне на внутри и внутри на вне соответственно. [% Пользователь обязан предоставить две глобальные функции, которые, если только они не подавлены какой-нибудь локальной функцией, которую пользователь может присоединить к изменяемой вершине, вызываются с измененной вершиной в качестве аргумента. Однако если вместо глобальной пользователь присоединил к измененной вершине какую-то локальную функцию, то TMS вызовет именно ее. *].
Конец процедуры поддержания истинности.
Для дальнейших деталей я рекомендую главу о зависимостях данных в [4], где представлена упрощенная ЛИСП — реализация программы типа TMS вместе с доказательством ее правильности. Макаллистер [30] приводит другую реализацию системы поддержания истинности с более ясной организацией, чем приведенная выше. Дойл [15] приводит в приложении распечатку программы для одной из версий TMS.
Анализ условных доказательств
Процедура «нахождение независимой поддержки» FIS (Find Independent Support) вычисляет SL-подтверждения из действительных CP-подтверждений путем нахождения тех вершин, поддерживающих консеквент, которые не зависят от гипотез. Повторяя наши предыдущие объяснения того, что это значит, скажем, что FIS находит все вершины N среди оснований консеквента, такие, что
N не является ни гипотезой, ни последствием какой-либо из гипотез;
N является предшественником либо консеквента, либо некоторой вершины среди последствий гипотез.
Те вершины в получившемся множестве, которые находятся внутри, образуют внутри-список эквивалентного SL-подтверждения, а вершины, находящиеся вне, образуют вне-список.
Пусть (СР С IH ОН) — действительное СР-подтверждение, где С — вершина консеквента, IH — список внутри-гиио- тез, а ОН — список вне-гипотез. FIS состоит из следующих шагов.
Шаг 1 (пометить гипотезы). Пометить каждую из вершин в IH и ОН и как Е (examined— исследованную), и как S (subordinates — подчиненную), после чего перейти к шагу 2. [* Метка Е означает, что данная вершина была исследована процедурой. Мы используем ее для того, чтобы сделать эффективным поиск по основаниям С. Метка S означает, что данная вершина является либо одной из гипотез, либо последствием одной из гипотез. *]
Шаг 2 (пометить основания). Вызвать выполнение над С описанной ниже процедуры и перейти к шагу 3.
Шаг 2(a) (пометить последствия гипотез). Если вершина имеет метку Е, то вернуться. Если вершина не имеет метки Е, то пометить ее меткой Е и применить шаг 2(a) к каждому из предшественников данной вершины. Если какой-либо из предшественников помечен меткой S, то пометить текущую вершину меткой S. В конце вернуться. [% На этом шаге помечаются те вершины, которые являются и основаниями С, и последствиями гипотез. *]
Шаг 3 (снять метки с оснований). Используя рекурсивное сканирование, аналогичное использованному на шаге 2(a), убрать метки Е с оснований С и перейти к шагу 4.
Шаг 4 (повторная разметка гипотез). Как и на шаге 1, пометить гипотезы меткой Е, игнорируя на этот раз метки S. Перейти к шагу 5.
Шаг 5 (собрать поддерживающую сеть). Применить к С описанную ниже подпроцедуру. Перейти к шагу 6.
Шаг 5(a) (обскок последствий и сбор поддержек). Если данная вершина имеет метку Е, то вернуться; в противном случае пометить вершину меткой Е. Если данная вершина не имеет метки S, то добавить ее к IS, если она находится внутри, и к OS, если она находится вне, после чего вернуться. Если данная вершина имеет метку S, то применить действия шага 5(a) к каждому из ее предшественников, после чего вернуться. [* На этом шаге собираются именно те вершины из основания С, которые не являются ни гипотезами, ни их последствиями, но которые непосредственно поддерживают последствия гипотез (являются их предшественниками). Это в точности те вершины, которые необходимы, чтобы извлечь аргумент для С из гипотез. *]
Шаг 6 (очистка и возврат результата). Повторить шаг 3, удаляя и метки Е, и метки S, удалить все метки с вершин из IH и ОН и вернуть подтверждение (SLISOS).
Конец процедуры «нахождение независимой поддержки» FIS.
ОБРАТНОЕ ПРОСЛЕЖИВАНИЕ ПО ЗАВИСИМОСТЯМ
Если TMS переводит противоречивую вершину в состояние внутри, то для того, чтобы найти и удалить одно из текущих предположений и перевести противоречивую вершину в состояние вне, вызывается обратное прослеживание по зависимостям. Этот процесс состоит из следующих шагов.
Шаг 1 (найти максимальные предположения). С помощью прослеживания оснований противоречивой вершины С найти множество S = {Ai, ..., А„}, которое содержит некоторое предположение А тогда и только тогда, когда А является одним из оснований С и не существует другого предположения В, которое являлось бы одним из оснований Сив основания которого входило бы А. [*Мы называем S множеством максимальных предположений, на которых основано С. *]
[* Поскольку TMS доверяет решателю задач указывать на несовместность, помечая вершину как противоречивую, решателю задач также доверяется и использование немонотонных предположений для любого допущения, к которому можно применить обратное прослеживание. Поскольку TMS не проверяет те утверждения, которые представляют вершины, она отказывается, например, от возможности удаления подтверждений типа посылок. %]
Шаг 2 (суммировать причины несовместности). Если в результате предшествующих попыток обратного прослеживания от С множество максимальных предположений S не было найдено, то создать новую вершину NG, называемую неприятной
{nogood) и представляю'щую несовместность S. [* Мы называем S неприятным множеством. %] Если S уже встречалось ранее как неприятное множество для некоторого противоречия, то использовать ранее созданную неприятную вершину. [% Если С представляет ложное утверждение, то NG представляет
St(AjA ... Д St (Ал) zd false
или, после тривиального преобразования,
KStCAjA ...A St(AJ). *](1)
Подтвердить NG через
(CPCS( )).(2)
[* С таким подтверждением NG останется внутри, даже если после шага 3 одно из предположений станет вне, поскольку CP-подтверждение означает, что NG не зависит ни от одного из предположений. %]
Шаг 3 {выбрать и удалить виновника). Выбрать из S «виновника» (какое-то Az). Пусть Db ..., D^ — вершины в состоянии вне, которые входят во вне-список опорного подтверждения для А,. Выбрать из этого множества D/ и подтвердить его через
(SL (NG А1 ... А^А^ . . . AJ (D1 ... D^D,^ ... D,))(3)
[* Если рассматривать вершины, на которые опирается D, как «опровержения» выбранного предположения, то этот шаг напоминает приведение к противоречию в методе доказательства от противного. Обратное прослеживание пытается силой сделать виновника вне, делая его опорное подтверждение недействительным с помощью введения нового подтверждения, которое действительно тогда, когда неприятная вершина и остальные предположения находятся внутри, а другие опровержения данного виновника находятся вне. Если обратный прослеживатель ошибается в выборе виновника или опровержения, то основание будущего противоречия, по-видимому, будет включать D/ и остающиеся предположения. Однако, если вме-список подтверждения (3) непуст, D/ будет предположением более высокого уровня, чем остальные предположения, и будет соответственно опровергаться первым.
В текущей реализации виновник и опровержение выбираются из возможных альтернатив случайным образом, т. с. выбор опирается на слепой поиск. Слепой поиск подходит только для простейших типов задач, и в общем случае надо делать управляемый выбор между альтернативными пересмотрами допущений. К этой проблеме мы вернемся в разд. 8. *]
Шаг 4 (повторить, если необходимо). Если TMS находит другие аргументы и противоречивая вершина С остается внутри и после добавления нового подтверждения для D/, то повторить процедуру обратного прослеживания. [% Предыдущий виновник А,, по-видимому, более не будет предположением. %] Наконец, если противоречие становится вне, то остановиться; если среди оснований С нет предположений, то известить программу решения задач о неподдающемся анализу противоречии и остановиться.
Конец процедуры обратного прослеживания по зависимостям.
В качестве примера рассмотрим некоторую программу, составляющую расписание заседания, которое предпочтительно провести в 10.00 в комнате 813 или в комнате 801:
N1 ВРЕМЯ (М) = 1000 (SL( )(№))
N2 ВРЕМЯ (Л1)^ 1000
N3 КОМНАТА (М) = 813 (SL( )(N4))
N4 КОМНАТА (М) = 801
Пользуясь только этими подтверждениями, TMS сделает N1 и N3 внутри; остальные две вершины будут вне. Теперь предположим, что заседания, расписание которых составлено ранее, исключают такую комбинацию времени и комнаты для заседания, что проводится путем поддержки новой вершины вершинами N1 и N3 с последующим объявлением этой новой вершины противоречием:
N5 ПРОТИВОРЕЧИЕ (SL (N1 N3) ( ))
Система обратного прослеживания по зависимостям прослеживает основания N5 для нахождения двух предположений, N1 и N3; оба предположения являются максимальными.
N6 НЕПРИЯТНОСТЬ N1 N3 (СР N5 (N1 N3) ( ))
здесь = (SL ( ) ( ))
N4 КОМНАТА (М) = 801(SL(N6N1)( ))
Обратный прослеживатель создает вершину N6, которая, согласно формуле (1) шага 2, означает
Ч (Время (М) = 1000 А Комната (М) = 813)
и подтверждает N6, согласно приведенной выше формуле (2). В качестве виновника произвольно выбирается N3 и подтверждается, согласно приведенной выше формуле (3), только вне- предшественник вершины N3, т. е. N4. Следуя этому пути, TMS делает Nl, N4 и N6 внутри, a N2, N3 и N5 вне. Вершина
N6 имеет СР-подтверждение, эквивалентное SL-подтверждению типа посылки, поскольку N5 непосредственно зависит от двух предположений N1 и N3 без дополнительных промежуточных вершин.
Теперь дополнительное правило задает, что комната 801 не может быть использована, и создается новая противоречивая вершина для того, чтобы заставить систему сделать другой выбор для комнаты:
N7 ПРОТИВОРЕЧИЕ (SL(N4)( ))
N8 НЕПРИЯТНОСТЬ N1 (CPN7(N1)( )) здесь (SL (N6) ( ))
N2 ВРЕМЯ (М) 1000 (SL (N8) ( ))
Прослеживая назад от N7 через N4, N6 и N1, обратный про- слеживатель находит, что противоречие зависит только от одного предположения N1. Он создает неприятную вершину N8, подтверждает ее CP-подтверждением, эквивалентным в данном случае SL-подтверждению (SL(N6)( )), поскольку основание N7 содержит N6 и не содержит последствий N1. Отказ от допущения N1 приводит к отказу от N5, так что TMS делает N2, N3, N6 и N8 внутри, a Nl, N4, N5 и Ш^вне.
ПОДЫТОЖИВАНИЕ АРГУМЕНТАЦИИ
Длинные или излишне подробные аргументы обычно невразумительны. Умелые докладчики по возможности делают понятными свои объяснения путем структурирования их по четко выделенным уровням детализации, так что объяснения главных пунктов доклада состоят из нескольких менее главных пунктов и т. д., и каждое положение объясняется на том уровне детальности, который соответствует данному положению. Такое структурирование аргументации в основном служит тем же целям, что и структурирование планов действий по уровням детальности и абстракции. Пользователи TMS или каких-то других средств записи объяснений должны позаботиться о преобразовании сырых объяснений в структурированные, если вначале эти объяснения такой структурированностью не обладают.
В качестве преувеличенного примера рассмотрим централизованную машину для подсчета голосов на выборах президента США. К концу дня голосования машина сооб'щает, что на выборах победил Джон Ф. Кеннеди, и, когда машину заставляют выдать объяснение этого решения, машина объясняет, что Кеннеди победил потому, что за него голосовал Джо Смит, за него голосовала Фанни Джонс, за него голосовал Берт Браун и так далее и так далее, продолжая таким образом перечислять миллионы голосов за и против. Желаемое объяснение заключается
в выдаче общего числа голосов, поданных за Кеннеди, Никсона и других кандидатов. Если требуются дальнейшие объяснения, следует разбивка голосов по отдельным штатам. На следующем уровне объяснения расширяются до общего числа голосов по городам, и только непрестанное давление заставляет машину разбить результаты по избирательным пунктам или по индивидуальным избирателям в каком-то месте, скажем в графстве Кук.
В TMS можно подытожить аргументы и объяснения, используя условные доказательства для удаления из аргументов вершин, представляющих детали «нижнего уровня». Такое подытоживание может выполняться «по требованию» путем образования новой вершины и подтверждения ее таким СР-под- тверждением, в которое вершина, которая объясняется, входит как консеквент, а множества вершин, представляющие нежелательно подробные допущения низкого уровня, входят как внутри- и вме-гипотезы. Эффективное объяснение для этой новой вершины, получаемое через SL-подтверждение, вычисленное из данного CP-подтверждения, будет состоять исключительно из тех вершин высокого уровня, которые представлены в солидно обоснованном подытоженном аргументе.
Пользуясь такой конструкцией, можно также обобщать объяснения или делать их более абстрактными, подтверждая первоначальную вершину или в терминах новой вершины, или новым SL-подтверждением, вычисленным для новой вершины. В этом новом подтверждении никакие детали низкого уровня, выбранные из первоначальной аргументации, совсем не будут упоминаться. Таким образом, это новое подтверждение будет поддерживать заключение как обобщенный результат, не зависящий от тех частных деталей низкого уровня, которые использовались для его вывода.
Например, программа анализа электронных схем может вычислить коэффициент усиления по напряжению для некоторого усилителя, сделав предположение о типичном напряжении на входе усилителя. С помощью этого напряжения могут быть вычислены и другие напряжения в схеме, включая и выходное напряжение, а также может быть вычислен коэффициент усиления по напряжению как отношение напряжения на выходе усилителя к напряжению на входе. Наконец, программа могла бы подтвердить полученное значение для коэффициента усиления, используя условное доказательство для величины выходного напряжения по данному гипотетическому значению входного напряжения. Это приведет к зависимости значения коэффициента усиления только от характеристик данной схемы, а не от конкретного значения величины входного напряжения, которая была использована при расчетах.
Возвращаясь к приведенному выше примеру о выборах, заметим, что подытоживание результатов выборов за счет удаления всех голосов индивидуальных выборщиков приведет к пустому аргументу, поскольку результаты вычисляются исключительно в терминах голосов. Для того чтобы подытожить некоторое объяснение, надо знать форму желаемого подытоживания. Поскольку без такого аналитического знания часто нельзя обойтись, мы можем обычно уменьшить его влияние путем структурирования аргументов во время их создания. Для иллюстрации этой точки зрения мы сейчас объясним, как такая простая техника структурирования успешно работает с так называемыми структурированными описаниями и легко порождает разумные объяснения.
Проводя данное обсуждение, мы будем считать, что структурированное описание состоит из некоторого узла-описания (в литературе по представлению знаний иногда называемого «вершиной», но здесь мы резервируем этот термин для вершин TMS), множества узлов-ролей, представляющих некоторые части данного описания, и множества локальных правил вывода. Эти роли часто представляют некоторые сущности, ассоциированные с данным описанием. Например, описание для ЧЕЛОВЕК может иметь роль МАТЬ, а описание для СУММИРОВАНИЕ может иметь роли СЛАГАЕМОЕ!, СЛАГАЕМОЕ2 и СУММА.
Для структурирования объяснений мы проведем аналогию между частями описания и вызывающей последовательностью для процедуры. Мы ассоциируем по одной вершине TMS с каждым узлом-описанием и по две вершины TMS с каждым узлом- ролью.
Как будет вскоре объяснено, мы будем использовать вершину, ассоциированную с узлом-описанием, для маркировки аргументов, являющихся внутренними для данного описания. Мы разделяем вершины для узлов-ролей на два множества, соответствующие внешней «вызывающей последовательности» и внутренним «формальным параметрам» процедуры. Одна из вершин, ассоциированных с каждым узлом-ролью, используется для представления внешней точки зрения системы на данный «аргумент» при вызове процедуры, а другая вершина — для представления внутренней точки зрения процедуры на данный «формальный параметр» процедуры.
Затем мы организуем программу решения задач таким образом, что внутреннее множество вершин используется или подтверждается только данной процедурой и ее вутренними правилами, а все остальные процедуры и правила используют или подтверждают только множество внешних вершин. Мотивом разделения пользователей и подтверждателей этих двух мно-
жеств на внешних и внутренних является возможность структурирования аргументов путем пересылки информации между этими двумя множествами особым способом, который мы сейчас опишем.
Пусть D — вершина, ассоциированная с описанием, а Е/ и L — соответствующие внешние и внутренние вершины для узлов-ролей. Мы подтверждаем D, указывая причину действительности описания. Для отделения внутренних аргументов от внешних мы подтверждаем L с помощью
(SL(DEJ )).
Это приводит к тому, что все внутренние для данного описания компоненты аргументов зависят от D. Если пометить внутренние аргументы таким образом, то их можно отделить от остальных аргументов при передаче информации от внутренних вершин внешним вершинам. Мы подтверждаем Ez с помощью
(SUMIJD)( )).
В этом подтверждении все внутренние аргументы, которые объясняют Б,, изъяты и заменены единственной вершиной D.
В качестве примера предположим, что гипотетическая программа подсчета голосов на выборах, описанная выше, подсчитала суммарное число голосов для города Где-то, штат Иллинойс, просуммировав итоги голосования в трех избирательных округах А, В и С. Программа отделяет этот уровень вычислений от вычислений на уровне отдельного округа, используя для суммирования промежуточных итогов описание «сумматор» (ADDER): '
. .. Где-то, шт. Иллинойс. .. Где-то, шт. Иллинойс... Округ А ... Округ В ... Округ С... Округ А ... Округ В ... Округ СN1 ADDER ОПИСАНИЕ AD
. .. Где-то, шт. Иллинойс
. .. Где-то, шт. Иллинойс
... Округ А ... Округ В ... Округ С
... Округ А ... Округ В ... Округ С
N2 ВНЕШНИЙ А ДЛЯ AD = 500
N3 ВНЕШНИЙ В ДЛЯ AD = 200
N4 ВНЕШНИЙ С ДЛЯ AD = 700
N5N6N7N8N9N5N6N7N8N9Вычисления итогов по округам подтверждает три итога по округам. Теперь программа передает эти значения вершинам, представляющим внутренние компоненты описания суммирования, а также локальному правилу в данном описании, вычисляющему значение одной из компонент суммы:
N5
N6
N7
N8
N9
N5
N6
N7
N8
N9
ВНУТРЕННИЙ А ДЛЯВНУТРЕННИЙ В ДЛЯ ВНУТРЕННИЙ С ДЛЯА + В ДЛЯ AD = 700ВНУТРЕННИЙ А ДЛЯВНУТРЕННИЙ В ДЛЯ ВНУТРЕННИЙ С ДЛЯА + В ДЛЯ AD = 700AD = 500(SL(N1N2)())
ВНУТРЕННИЙ А ДЛЯ
ВНУТРЕННИЙ В ДЛЯ ВНУТРЕННИЙ С ДЛЯ
А + В ДЛЯ AD = 700
ВНУТРЕННИЙ А ДЛЯ
ВНУТРЕННИЙ В ДЛЯ ВНУТРЕННИЙ С ДЛЯ
А + В ДЛЯ AD = 700
AD = 200-(SL(N1N3)())
AD = 700(SL(N1N4)())
(SL(N5N6)( )) промежуточный результат
ВНУТРЕННИЙ SUM-,ДЛЯ AD = 1400 (SL(N7N8)( )).
Это значение для суммы программа передает вершине, представляющей внешнюю форму результата:
N10 ВНЕШНИЙ SUM ДЛЯ AD = 1400 (SUMN9(N1)( ))
здесь = (SL (N1 N2 N3 N4) ( )).
В SUM-подтверждении для N10 убраны все зависимости от тех внутренних вычислений, которые производились сумматором NL Полученное объяснение для N10 включает только Nl, N2, N3 и N4. В тех случаях, когда имеются более сложные процедуры, чем суммирование, процедуры с большим числом внутренних вершин и вычислений, не представляющих никакого интереса для внешних систем, использование такой техники структурирования объяснений по уровням детальности может позволить уяснить разницу между вразумительными и невразумительными объяснениями.
ДИАЛЕКТИЧЕСКИЕ АРГУМЕНТЫ
Куайн [41] подчеркивает, что мы можем отказаться от любых допущений, производя соответствующие изменения в других допущениях. Например, для приспособления к новым наблюдениям мы можем либо изменить наши допущения, либо отказаться от этих наблюдений, считая их ошибками или галлюцинациями. Известно, что в философской аргументации почти каждое философское заключение обосновывается с помощью отрицания других положений. Для таких аргументов философы ввели дисциплину, называемую диалектической аргументацией, в которой можно аргументировать заключения в два этапа: сначала выдвигая аргумент за заключение, а затем выдвигая аргументы против аргументов, обосновывающих противоположное заключение. В рамках этой дисциплины каждый участник полемики оспаривает не одобряемые им аргументы путем выдвижения таких новых аргументов, которые либо оспаривают одну или несколько посылок, на которых базируется оспариваемый аргумент, либо оспаривают какие-то шаги оспариваемого аргумента. Можно рассматривать каждого участника полемики как исполняющего следующую упрощенную процедуру.
Шаг 1 (выдвинуть аргумент). Выдвинуть аргумент А в пользу некоторого заключения, основанный на посылках, которые по предположению разделяются всеми участниками полемики.
Шаг 2 (ответить на возражения). Если некоторый участник полемики оспаривает либо некоторую посылку, либо некоторый шаг аргумента А с помощью аргумента В, то либо (1) выдвинуть новый аргумент за заключение, подтверждаемое А, либо (2) выдвинуть аргумент за оспариваемую посылку или шаг
аргумента А, делая это путем оспаривания посылок, на которые опирается В, или каких-либо шагов В.
Шаг 3 (повторить). Продолжать отвечать на возражения или выдвинуть новые аргументы.
В настоящем разделе мы покажем, как можно организовать использование TMS программой решения задач в форме диалектической аргументации. Такое использование мотивируется несколькими важными преимуществами и последствиями. Первым последствием такого использования является возможность отказываться от любого допущения единообразно, просто путем выдвижения нового, еще не оспоренного аргумента против одного из шагов или одной из посылок аргумента данного допущения. Если пользоваться только основными механизмами TMS, то у нас нет иного способа, кроме как удалять подтверждения из системы допущений.
Возможность единообразного отказа влечет за собой второе последствие — мы должны явным образом предоставить способы для выбора того, что допускать, а также обеспечить явные способы выбора одного из многочисленных путей пересмотра наших допущений при столкновении с новой информацией. Куайн настаивает на фундаментальной прагматической природе этого вопроса, и нам следует найти механизмы точного определения и использования прагматических правил пересмотра допущений.
Третьим последствием принятия такой диалектической организации программы является то, что система допущений становится аддитивной. Такая система никогда не отбрасывает аргументов, а накапливает их и использует тогда, когда это возможно, что дает возможность направлять будущую полемику путем предохранения ее от повторения более ранних споров. Но каждый аргумент входит в состав системы допущений, поскольку мы выводим из этих аргументов текущее множество допущений. Поэтому все изменения допущений происходят путем добавления новых аргументов в монотонно возрастающее хранилище аргументов.
Наконец, четвертое последствие состоит в том, что система вывода, используемая программой, становится модульной. Мы поручаем каждой компоненте системы вывода аргументировать за свое заключение и пробив противоположных заключений. Следуя этой точке зрения, мы делаем каждый модуль не правилом вывода, а участником полемики.
Диалектическая аргументация в TMS реализуется путем представления шагов аргумента и подтверждениями, и допущениями. Для того чтобы нам было позволено возражать против отдельных шагов аргумента, мы делаем эти допущения предположениями. -
Предположим, что некоторый модуль хочет подтвердить вершину N с помощью подтверждения (SLIO). Вместо того чтобы делать это прямо, данный модуль создает новую вершину J, представляющую утверждение о том, что I и О SL- подтверждают N; иначе говоря, допущение каждой из вершин в I и отсутствие допущения для каждой из вершин в О составляют причину допущения N. Модуль подтверждает N путем (SLJ + 10), где J + I соответствует списку I, дополненному J. Система TMS сделает N внутри на основании этого подтверждения только тогда, когда J находится внутри. Затем модель создает еще одну вершину, HJ, соответствующую утверждению о том, что J представляет спорное подтверждение. Наконец, модуль подтверждает J с помощью подтверждения вида (SL( )(~]J)). Идя таким путем, модуль создает новую вершину для представления самого подтверждения как явного допущения, а затем предполагает, что это подтверждение не оспаривалось.
Предположим, например, что какой-то модуль желает заключить, что X = 3, исходя из того, что X + Y = 4 и Y = 1. При диалектическом использовании TMS это делается следующим образом:
Nl %+ У=4
N2 Y = 1
N3 Х=3(SL(N4N1 N2) ( ))
N4 (N1) И (N2) SL-ПОДТВЕРЖДАЮТ N3 (SL( )(N5))
N5 N4 СПОРНОЕпока нет подтвер
ждений
Поскольку N5 не имеет подтверждений, оно находится вне, так что N4 и, следовательно, N3 находятся внутри.
В данной дисциплине конфликты могут разрешаться путем оспаривания либо посылок аргументов, либо тех подтверждений, которые представляют шаги аргумента. Фактически подтверждения посылок для вершин теперь становятся предположениями для явного выражения того, что подтверждения посылок сами являются предполагаемыми. В любом случае ответы на аргументы делают некоторые подтверждения недействительными, поскольку подтверждают вершины, представляющие оспаривание. Сторонник оспоренного аргумента может ответить оспариванием какого-либо подтверждения в аргументах оппонента.
Такой способ использования TMS делает слепое обратное прослеживание по зависимостям бесполезным, поскольку число предположений, поддерживающих вершину, становится очень
большим. Вместо этого мы должны пользоваться более изощренными процедурами для определения тех вершин, которые являются источниками несовместности. К этому предмету я вернусь в разд. 8.
МОДЕЛИ ДОПУЩЕНИЙ ДРУГИХ
При работе над решением задач во многих случаях требуется рассуждать о допущениях некоторого индивидуума. Например, согласно теории речевого акта при целенаправленной коммуникации, я должен рассуждать о допущениях и намерениях собеседника и о его допущениях относительно моих допущений и намерений [5, 49]. Это требование влечет за собой способность рассуждать о вложенных пространствах желаний и намерений, названных так потому, что они являются множествами допущений, выражаемыми через составные или вложенные утверждения, например: «Я допускаю, что вы допускаете, что идет дождь». На практике я часто должен рассуждать о моей собственной системе допущений и желаний. В процессе планирования я должен определить, что я буду допускать и хотеть после исполнения некоторых действий, а это требует от меня определения того, как данные действия влияют на мои желания и допущения. При объяснении своих действий я должен определить, что я допускал и чего я хотел в некоторый прошедший момент времени перед исполнением происшедших действий. А когда выбираешь, что делать, чего хотеть или допускать, надо рассуждать о том, что сейчас делаешь, хочешь или допускаешь.
При построении решателя задач, который бы использовал такого рода модели систем допущений, мы сталкиваемся с проблемой описания того, как добавления к таким моделям влияют на содержащиеся в них допущения, как происходит пересмотр допу’щений внутри модели системы допущений. Было бы чрезвычайно удобно, если бы для пересмотра этих моделей можно было бы применить тот же самый механизм, при помощи которого программа пересматривает свои собственные допущения, т. е. TMS. К счастью, механизм представления подтверждений в виде явных допущений, введенный в разд. 6, позволяет нам осуществить эту возможность.
Для того чтобы представить некоторую другую систему допущений внутри нашей собственной системы, мы используем входящие в нашу систему допущения о допущениях и подтверждениях в другой системе. Мы отражаем подтверждения допущений в этой другой системе путем построения в TMS нашей системы соответствующих подтверждений наших допущений
о допущениях другой системы. Для каждой вершины N в системе допущений некоторого индивидуума U мы образуем две вершины, UB[N] и ~IUB[N], одна из которых соответствует тому, что U допускает N, а другая тому, что U не допускает N. Мы подтверждаем HUB[N] при помощи
(SL( )(UB[N]))
предполагая, что все вершины в системе U находятся вне до тех пор, пока не получат действительных подтверждений. Для каждого SL-подтверждения J(=(SLIO)) для N в системе допущений U мы создаем вершину UB[J], представляющую сведение о содержании подтверждения J в системе допущений U. Затем мы подтверждаем UB [N] с помощью (SLL( )), где L содержит вершину UB[J], вершины UB [М] для каждой вершины М из I и вершины HUB[M] для каждой вершины М из О.
Мы могли бы рассматривать эту технику как воплощение взглядов, проводимых в традиционных модальных логиках для допущений. Большинство этих логик включает в себя схему аксиом для модальности допущения Bel в виде
Bel (р id ^) id (Bel (р) id Bel (7))
Когда мы отражаем вложенные подтверждения в подтверждениях TMS, мы осуществляем вывод, который аналогичен разрешаемому этой аксиомой.
Например, предположим, что программа допускает, что некто U допускает А, не допускает В и допускает С потому, что он допускает А и нс допускает В. Если бы мы посмотрели внутрь TMS для U, мы увидели бы следующие вершины и подтверждения:
А
В
С ... (SL(A)(B))
Наша программа представляет этот фрагмент системы допущений U следующим образом:
N1
UB [А]
...ивозначает «U допускает»
N2
HUB [В]
(SL( )(N3))
N3
UB [В]
пока нет подтверждений
N4
UB [(А) И (В)
SL-ПОДТВЕРЖДАЮТ С]
...
N5
UB [С]
(SL(N4N1 N2)( ))
В этом случае Nl, N2, N4 и N5 находятся внутри, a N3 находится вне. Если программа пересматривает свои допущения так, что N2 становится вне путем, скажем, добавления нового подтверждения в систему допущений U:
N5 UB [... SL-ПОДТВЕРЖДАЕТ В] . ..
N2 UB[B] (SL(N5 ...)( ))
то TMS сделает вне и N5. Таким образом, изменения, произведенные в отдельных допущениях из системы допущений, автоматически приводят к изменениям в тех допущениях, которые представляют вытекающие изменения в системе допущений.
Этот прием можно, конечно, повторять на каждом уровне вложенности пространств допущений. Используя ее, мы должны потребовать, чтобы правила вывода, которые получают заключения внутри пространства допущений, делали бы соответствующие допущения о подтвержденности этих заключений. Часто предполагают, что у всех людей одно и то же множество правил вывода, так что каждый вывел бы одно и то же из одних и тех же гипотез. Это предположение равносильно предположению о том, что люди работают по одной и той же «базовой программе», но имеют различные данные или начальные допущения. В настоящее время я разрабатываю формализацию этого предположения в виде «интроспективного» решателя задач, который имеет описание самого себя как программы и использует это самоописание как основание для моделей поведения других [16].
ПРЕДПОЛОЖЕНИЯ И ПРОБЛЕМА УПРАВЛЕНИЯ
От того, каким образом решатель задач пересматривает свои допущения, зависит образ его действия. Обычно решатели задач пересматривают свои допущения в тех случаях, когда новая информация (результат только что выполненного действия или только что сделанное наблюдение) противоречит предыдущим допущениям. Эти несовместности могли бы быть разрешены путем отказа от допущения того, что действие выполнялось или наблюдение делалось. Тогда можно было бы вообразить, будто программа решила, что у нее были галлюцинации. Однако в некоторых случаях мы предпочитаем отказаться от предыдущих допущений и сказать, что данное действие произвело в мире некоторое изменение, или сказать, что мы сделали неприемлемое предположение, которое было исправлено наблюдением. В соответствующих обстоятельствах может оказаться оправданным любой из этих путей.
Например, если при планировании, обдумывая предполагаемую последовательность действий, мы столкнемся с противоречием, то мы можем принять решение отвергнуть одно из предполагаемых действий. С другой стороны, если при выполнении ряда действий мы натолкнемся на противоречие нашим допущениям, мы скорее решим, что какие-то предположения, сделанные нами о мире, оказались неверными, чем допустим, что никогда не совершали последнего действия. В этом примере мы могли бы пересматривать наши допущения различными способами. Поскольку мы принимаем решение о том, что делать, основываясь на том, что мы допускаем и чего хотим, наш выбор того, что мы допускаем, влияет на выбор того, что мы будем делать.
Как можно направлять выбор решателем задач того, что он допускает? Этот выбор должен делаться путем аппроксимации множества возможных пересмотров множеством предположений, которые решатель может непосредственно изменять, но последствия изменения которых решатель не может предвидеть заранее (до того, как фактически проведет эти изменения и увидит, что произойдет). Мы изучали два способа, при помощи которых решатель задач может принимать решения о том, что допускать. В первом способе осуществляется запись управляющей информации в множестве подтверждений для допущения, во втором используются явные правила выбора. Оба способа означают, что рассуждатель теперь обдумывает свои действия. В первом случае это рассуждение является «законсервированным». Во втором случае рассуждение осуществляется по требованию.
Мы записываем управляю'щую информацию в множестве подтверждений, используя для этого немонотонные подтверждения. Мы можем рассматривать немонотонное подтверждение (SL( )(N2N3)) для N1 как подтверждение, предлагающее тот порядок, в котором эти вершины должны допускаться — первой N1, а затем N2 и N3. Согласно этой точке зрения, каждое немонотонное подтверждение добавляет фрагмент управляющей информации, которая управляет пересмотром решателем задач своих допущений. В разд. 8.1, 8.2 и 8.3 мы проиллюстрируем методы записи стандартных управляющих структур в подтверждениях. К этим структурам относятся предположения по умолчанию, последовательности альтернатив и способ выбора представителей из классов эквивалентности, который полезен при управлении распространением ограничений (техника дедукции, предложенная в [53]). Эти примеры должны навести на мысль о том, как в подтверждениях можно было бы записывать другие управляющие структуры — деревья решений или графы.
Но даже и при таких фрагментах управляющей информации у решателя задач могут появиться несколько альтернативных способов пересмотра. В этих случаях хочется предоставить решателю задач правила или советы о том, как выбирать пересмотр. Если мы умны (или ленивы), то можем так структурировать решатель задач, чтобы он использовал для этих правил выбора пересмотра тот же язык и те же механизмы, что и для других правил выбора, таких, как правила выбора очередного действия для исполнения, правила выбора того, как осуществлять действие, или правила выбора очередной цели. В [11] мои коллеги и я включили это предложение в общую методологию, которую мы назвали «явное управление рассуждением» и реализовали AMORD— язык процедур, вызываемых по образцу и управляемых TMS.
В настоящее время я исследую архитектуру решателя задач, названного рефлексивным интерпретатором, у которого и его собственная структура, и его поведение являются предметами для рассуждения и для действия над ними самого решателя задач [16]. В интерпретаторе такого рода собственное управляющее состояние представлено в ряду допущений как сеть заданий, которая аналогична использованной Макдермоттом в системе NASL [34], где проблемы или намерения представляются как задания. В этом интерпретаторе его собственная структура также представлена как программа, для чего используется множество планов, т. е. абстрактных фрагментов сети заданий. Важное управляю'щее состояние, в котором необходимо сделать выбор, отражается путем создания задания выбора, выполнение которого заключается в осуществлении этого выбора. Таким образом, интерпретатор может обрабатывать задание выбора так же, как и любую другую задачу, которую нужно решать.
На этой основе мы формулируем правила, направляющие пересмотр допущений, как планы для осуществления заданий выбора. Мы индексируем эти планы аспектами состояния решателя задач, указывая, например, историческое состояние, состояние управления, состояние решения задачи, область, только что исполненное действие или какие-то другие обстоятельства. Каждый план пересмотра рассматривается как специализация общей процедуры обратного прослеживания по зависимостям. Такие усовершенствованные варианты общей процедуры обратного прослеживания учитывают форму допущений (и, следовательно, состояние решателя задач) при принятии решения о том, какие предположения должны быть отвергнуты. Детали этого исследования будут изложены в моей диссертации, которая скоро выйдет.
Предположения по умолчанию
В программах решения задач часто задаются значения по умолчанию для величин, обрабатываемых этими программами. Делается это либо для того, чтобы позволить особым причинам для использования некоторых значений подавить соответствующие текущие значения, либо для того, чтобы отвергнуть данное умолчание, если оно приводит к несовместности (разные применения умолчания ярко показаны в [45]). В примере разд. 1.2 есть предположение по умолчанию о дне недели для заседания.
Для выбора умалчиваемого значения только из двух возможных альтернатив мы немонотонно подтверждаем умалчиваемую вершину, основываясь на том, что альтернативная вершина находится вне. Обобщим этот бинарный случай на выбор умалчиваемого значения из большего множества альтернатив. Пусть S= {Ai, ..., An}—множество альтернативных вершин, и, если угодно, пусть G — вершина, представляющая причину выдвижения предположения о выборе одного из умалчиваемых значений. Чтобы взять А/ в качестве умалчиваемого значения, подтвердим его при помокни
(SL(G)(A, A^A^i AJ)
Если о данном значении не существует никакой дополнительной информации, то действительного подтверждения не будет ни у одной из альтернативных вершин кроме Az, так что Az будет внутри, а все остальные альтернативные вершины будут вне. Добавление действительного подтверждения для какой-либо другой альтернативной вершины приведет к тому, что эта альтернатива станет внутри, поддержка Аг- станет недействительной и Az перейдет в состояние вне. Анализируя полученное из Az противоречие, механизм обратного прослеживания по зависимостям распознает, что Az является предположением, поскольку зависит от нахождения других альтернативных вершин в состоянии вне. Обратный прослеживатель может тогда подтвердить одну из других альтернативных вершин, например А/, вызывая переход Az в состояние вне. Подтверждение для А/, которое построит обратный прослеживатель, будет иметь вид
(SL (различные вершины) (оставшиеся вершины))
где (оставшиеся вершины) — это множество А^, оставшихся в S после изъятия оттуда Az и А/. В результате обратный прослеживатель удаляет умалчиваемую вершину из множества альтернатив и конструирует из оставшихся альтернатив новое предположение по умолчанию. Если взять конкретный пример, то наша программа составления расписания могла бы
умалчивать о дне для заседания следующим образом:
N1 ПРЕДПОЧЕСТЬ СРЕДУ
ПОНЕДЕЛЬНИКУ ИЛИ ПЯТНИЦЕ
N2 ДЕНЬ (7v4) = ПОНЕДЕЛЬНИК
N3 ДЕНЬ (М) = СРЕДА(SL (N1) (N2 N4))
N4 ДЕНЬ (М) = ПЯТНИЦА
В этой программе предполагается, что днем заседания М является среда, а понедельник и пятница являются альтернативами. В качестве выбранного дня TMS будет давать среду до тех пор, пока программа не предоставит действительного подтверждения для выбора вместо этого понедельника или пятницы.
Если полный набор альтернатив заранее не известен и должен выясняться постепенно, то используется несколько иное множество подтверждений. Такая возможность расширять множество альтернатив необходима, например, в том случае, когда множество возможных альтернатив велико. Сохраняя обозначения, введенные выше, мы представляем отрицание St (Az) новой вершиной ПА/. Мы делаем так, что Az допускается, если ПА/ находится вне, и устанавливаем подтверждения таким образом, что если А/ отлично от Az, то А/ поддерживает ПА/. Мы подтверждаем Az с помощью
(SL(G)(nAt))
и подтверждаем ПА/ с помощью подтверждения вида
(SL (Ау)( ))
для каждой альтернативы А/, отличной от А/. Как и прежде, при отсутствии причин для использования другой альтернативы предполагается А/. В дальнейшем к множеству S могут быть добавлены новые альтернативы просто путем предоставления этим новым альтернативам подтверждения |А/. Как и ранее, если программа решения задач подтверждает не выбранную ранее альтернативу, TMS переводит умалчиваемую вершину в состояние вне. Однако обратное прослеживание приведет к новому эффекту: если А/ поддерживает противоречие, то обратный прослеживатель может подтвердить ПА/ с тем, чтобы перевести А/ в состояние вне. Если это случится, у TMS не будет способа выбрать другую альтернативу для того, чтобы занять место предположения по умолчанию. В тех случаях, когда текущее умолчание исключается, расширяю'щиеся структуры требуют внешнего механизма конструирования предположения по умолчанию. Например, программа планирования семьи
могла бы делать предположения о числе детей в семье F следующим образом:
N1ПРЕДПОЧИТАТЬ 2 ДЕТЕЙ ...
N2#-ДЕТЕЙ (F) = 2(SL (N1)(N3))
N3#-ДЕТЕЙ(Р)^2(SL(N4)( ))
(SL(N5)( ))
□(SL(N6)())
(SL(N7)( ))
N4 #-ДЕТЕЙ(^) = 0
N5 #-ДЕТЕЙ(^)= 1
N6 #-ДЕТЕЙ(^) = 3
N7 #-ДЕТЕЙ(^) = 4
При данной системе подтверждений TMS сделает N2 внутри. мую причину для того, чтобы иметь пять детей, то она должна Если планирующая программа находит какую-то неоспори- создать новую вершину для представления этого факта вместе с новым подтверждением для N3 в терминах этой новой вершины.
Последовательности альтернатив
Линейно упорядоченные множества альтернатив еще больше увеличивают управляющую информацию, имеющуюся в структуре предположений по умолчанию, а именно добавляется порядок, в котором должны быть испробованы альтернативы. Эта дополнительная эвристическая информация могла бы быть использована, например, при упорядочении выбора дней недели для заседания, стратегий планирования или состояний транзистора при анализе предложенной электронной схемы.
Мы представляем последовательность альтернатив через управляемую последовательность предположений по умолчанию. Пусть {Ai, ..., АД—эвристически упорядоченная последовательность альтернативных вершин, и пусть G — вершина, которая представляет причину для данного эвристического упорядочения. Подтверждаем каждое из Az при помощи
(SL (G П А^ДП AJ)
Вначале будет выбрано Ai, и, как только решатель задач отвергает очередную альтернативу путем подтверждения ее отрицания, TMS допускает следующую альтернативу. Например, наша
программа построения расписания могла бы иметь следующую информацию.
N1
N2
ПОСЛЕДОВАТЕЛЬНОСТЬ N2N4N6
ДЕНЬ (М)= СРЕДА
(SL(N1)(N3))
N3
N4
ДЕНЬ (М)^ СРЕДА
ДЕНЬ(М) = ЧЕТВЕРГ
(SL(N1 N3)(N5))
N5
N6
ДЕНЬ (М)#= ЧЕТВЕРГ
ДЕНЬ (М) = ВТОРНИК
(SL(N1 N5)( ))
Это привело бы к выбору дня для заседания М в таком порядке: среда, четверг, вторник.
Заметим, что такой путь выстраивания альтернатив в последовательность не позволяет программе решения задач напрямую пересматривать ранее отвергнутые альтернативы. Если, предположим, мы хотим использовать особые правила для корректировки неправильных выборов виновников системой обратного прослеживания, то для представления линейно упорядоченных альтернатив требуются более сложные структуры. Для каждой альтернативы А, мы создаем три новых вершины: РА/, которая означает, что А/ является возможной альтернативой, NSA/, которая означает, что А; не является выбранной сейчас альтернативой, и ROA/, которая означает, что А/ является исключенной альтернативой. Мы предлагаем включать элементы в множество альтернатив путем подтверждения каждой РА/ причиной цля включения А/ в множество альтернатив. Вершину ROA/ мы оставляем неподтвержденной, а каждую А/ и NSA/ подтверждаем следующим образом:
Az:(SL(PAZNSA1 ... NSA^HROAJ)
NSA,: (SL( )(PA,))
(SL(ROA,)( ))
Здесь подтверждение для А/ является действительным тогда и только тогда, когда А/ является альтернативой, никакой лучшей альтернативы в настоящее время не выбрано и А/ не исключено. Два подтверждения для NSA/ означают, что либо А,- не является действительной альтернативой, либо А/ исключено. Если ввести такую структуру, то различные части ' решателя задач могут независимо включать или исключать альтернативы, подтверждая соответствую'щие вершины для А или ROA. Кроме того, мы можем добавлять к концу такого линейного порядка новые альтернативы, конструируя подтверждения для представляющих новую альтернативу вершин так, как это было описано выше..
Представители классов эквивалентности
Решатели задач, организованные так, чтобы поощрять модульность и дополнимость, часто включают несколько различных методов и правил, которые вычисляют значения одной и той же величины или дают описания одного и того же объекта. Следуя [9, 59], мы называем эти множественные результаты сопряженными. Если при помощи различных методов было получено несколько значений какой-либо величины, то, проверяя эти конкурирующие значения на совместность, часто можно получить ценную информацию. Если такими значениями, например, являются многочлены, то такая проверка на совместность иногда позволяет найти значения одной или нескольких переменных. После проверки сопряженных элементов на совместность и получения новой информации благоразумные программы в дальнейших вычислениях используют только одно из предложенных значений, сохраняя остальные для будущих ссылок. Эти различные значения образуют класс эквивалентности по использованию переданного значения в других вычислениях. Одно из значений в этом классе должно быть выбрано представителем класса, предназначенным для распространения в другие вычисления. Мы можем выбирать представителя, пользуясь предположениями по умолчанию, но это приводит к нежелательному поведению обратного прослеживания. Если, например, система обратного прослеживания находит представителя класса эквивалентности, который вовлечен в несовместность, то следует найти способ отвергнуть этого представителя, понимаемого как точное значение, а не оставлять это значение и одновременно выбирать другого представителя. Это требование означает, что выбор представителя должен быть невидим для обратного прослеживателя, а это исключает и представление через предположения по умолчанию, и представление последовательностью альтернатив.
Для того чтобы спрятать механизм выбора от системы обратного прослеживания, мы выбираем представителя класса эквивалентности, используя подтверждения типа условного доказательства. Для каждой из вершин R/, представляющих членов класса эквивалентности, мы создаем две новые вершины: PR/, которая означает, что R/ является возможным представителем, и SR/, которая означает, что R/ является выбранным представителем. Программа не выводит прямо подтверждений для R-вершин, а вместо этого предлагает значения возможных представителей, подтверждая соответствующие PR-вершины. Приняв эту договоренность, мы подтверждаем каждую R/ и SP; так: SRZ: (SL(PR/)(SR1 ... SR^)) R,: (CPSRJ )(SR1 ... SR^))
Здесь подтверждение для SRr означает, что R/ была предложена как член класса эквивалентности и никакой другой член этого класса не был выбран представителем. Это подтверждение служит предположением по умолчанию о том, что R/ является выбранным представителем. Однако подтверждение для R/ означает, что причиной для допущения R/ будет причина, по которой R, была предложена и выбрана (аргумент для SR/), из которой вычитается причина для выбора R, (предположение по умолчанию). Следовательно, остается только та причина, по которой была предложена R/, т. е. предшественники PR/. Таким образом, селектор для класса эквивалентности выбирает из него альтернативы в том порядке; в котором они добавлялись к множеству альтернатив, пряча этот выбор от системы обратного прослеживания. л
Предположим, например, что программа анализа товаров вывела два значения для предсказываемого урожая 1979 г. (в тоннах) и заметила, что эти результаты сопрягаются.
N1 ПРЕДЛОЖИТЬ УРОЖАИ (1979) =(SL (R57 ...) ( )
-= 5Х + 3000
N2 ПРЕДЛОЖИТЬ УРОЖАИ (1979) = 7У(SL(R60...)( )
N3 У = (5Х + 3000)/7(SL(N1N2)( ))
Эти предложенные значения соответствуют возможным представителям класса эквивалентности. Чтобы избежать использования в дальнейших вычислениях обоих значений, программа выбирает одно из них.
N4 N1 ВЫБРАНО(SL(N1)( ))
N5 УРОЖАИ (1979) = 5^ + 3000 (СР N4( )( )) 3d^6^(SL(Nl)( ))
N6 N2 ВЫБРАНО(SL(N2)(N4))
N7 УРОЖАИ (1979) = 7У(CPN6( )(N4))
Поскольку вершина N1 находится внутри и является первой, согласно порядку, заданному в подтверждениях для селектора, она выбирается в качестве значения для распространения, и TMS переводит N4 и N5 в состояние внутри. Предположим теперь, что возникло противоречие, в основаниях которого содержится N5, и обратный прослеживатель по зависимостям отвергает одно из предположений, являющихся основаниями Ш. В результате TMS сделает N1 (и N3) вне, a N6 и N7 внутри с CP-подтверждением для N7, эквивалентным в данном случае (SL(N2)( )). Такая форма подтверждений, следовательно.
приводит к выбору второго предложенного значения. Если после
этого программа находит третье значение
N8 ПРЕДЛОЖИТЬ УРОЖАЙ (1979) =
= 4^+100 .
N9 У = (4А + Ю0)/7(SL(N2N8)( ))
(SL(N8)(N4N6))(SL(N8)(N4N6))(CPN10( )(N4N6))(CPN10( )(N4N6))N10 N8 ВЫБРАНО
(SL(N8)(N4N6))
(SL(N8)(N4N6))
(CPN10( )(N4N6))
(CPN10( )(N4N6))
Nil УРОЖАЙ (1979) = 4А+ Ю0
то она извлечет всю новую информацию, которую можно получить из этого нового значения, затем добавит это новое значение к списку альтернативных значений, ожидающих распространения. В данном случае N8 и N9 находятся внутри, a N10 и Nil находятся вне.
ИСПЫТАНИЯ И РАСШИРЕНИЯ
Мы испытывали TMS в различных программах и приложениях. В сентябре 1976 г. первая версия TMS была реализована мною как расширение по нескольким направлениям «сбор’щика мусора для фактов», имевшегося в программе ARS Столлмена и Сассмена [53], предназначавшейся для анализа электронных схем. После этого я реализовал много разных версий TMS. В эту программу внесли усовершенствования также Говард Шроуб и Джеймс Стенсфилд. Техника поддержания истинности применялась и в ряде других программ анализа и синтеза электронных схем, включая программы SYN [12] и QUAL [10], а также в языке ограничений Стила и Сассмена [56]. Вокруг TMS мы организовали систему решения задач AMORD [11], которая была использована нами для разработки большого набора самых разнообразных экспериментальных программ — от решателей задач в мире кубиков до компиляторов и программ анализа электронных схем. Макаллистер [31] использовал свою собственную систему поддержания истинности в программах для символьных алгебраических преобразований, анализа электронных -схем и автоматического программирования. Кроме того, Вейнер [62] в процессе изучения структуры естественных объяснений применил AMORD для реализации модельной системы объяснений, а Шроуб [50] использовал AMORD в системе, понимающей программы.
Различные исследователи расширяли базовые методы пересмотра допущений, развитые в TMS, встраивая их в более широкие структуры, включающие время, измерители уверенности и другие концепции и процессы, применяемые при решении задач. Фридман [19] и Стенсфилд [54] соединяют представление о непрерывной оценке допущения с методами поддержа-
ния истинности. Лондон [29] и Томпсон [60] добавляют хронологические контексты к структуре связей по зависимости. Лондон приводит также много подробных примеров использования сетей зависимостей в моделирующей компоненте решателя задач.
Были предложены также усовершенствования основного процесса поддержания истинности. Макаллистер [30] описывает «родственника» TMS, основанного на множестве трехзначных допущений с подтверждениями в виде многонаправленных предложений. Томпсон [60] обобщает структуру «вершина — подтверждение», применяемую в TMS, на незамкнутые аргументы и подтверждения. Шроуб (в [50] и в личных сообщениях) предложил несколько путей улучшения решателя задач за счет рассуждений о структуре аргументов, в особенности при пересмотре множества целей после достижения отдельной цели. В рамках этих идей предлагаются и другие усовершенствования,, включая: (1) модификацию TMS, позволяющую в тех случаях, когда для вершины находится несколько солидных аргументов, использовать и несколько опорных подтверждений; (2) использование TMS для сигнализации решателю задач об изменении аргумента для некоторой вершины; (3) разработка языка для описания и эффективного распознавания образцов в аргументах для вершин (как солидных, так и всех остальных). Изучение того, как можно было бы встроить методы поддержания истинности в «виртуальные копии» систем для представления [17], также представляется весьма ценным.
TMS непрерывно проверяет на действительность СР-под- тверждения в надежде вывести новые эквивалентные SL-подтверждения. Из-за этого реализация становится значительно сложнее, чем можно было бы ожидать. Мне кажется, что полезнее было бы более простое средство, а именно TMS без СР-под- тверждений, но с отдельной процедурой «нахождение независимой поддержки», которая бы вызывалась пользователем. Практический опыт показывает, что в большинстве случаев можно ожидать действительности CP-подтверждения только в той ситуации, в которой оно создано, так что представляется разумным вместо того, чтобы позволять TMS вызывать FIS, возложить ответственность за это непосредственно на пользователя.
И наконец, есть ряд задач, группирующихся вокруг проблемы разрастания системы. Обычно при пересмотре допущений TMS избегает проверки всей базы данных, проверяя вместо этого только последствия измененных вершин. Однако могут встретиться такие неудовлетворимые цикличности, которые требуют проверки вершин, не включенных в эти последствия. Возможно разрастание в другом смысле, когда обстоятельства могут вынудить TMS проверять большое количество вершин лишь
для того, чтобы оставить большинство из них в прежнем состоянии после нахождения других нециклических аргументов для вершин, которые предполагалось изменить. Латомб [27] исследовал способы избежать такого разрастания, но эти проблемы заслуживают дальнейшего изучения. Особенно заманчивой представляется возможность переноса на случай поддержания истинности идей Бейкера [1], связанных с алгоритмами сборки мусора в реальном времени при обработке списков.
ОБСУЖДЕНИЕ
Система TMS решает часть проблемы пересмотра допущений и предоставляет механизм для выдвижения немонотонных допущений. Исследователи, работающие в области искусственного интеллекта (ИИ), рано поняли, что системы ИИ должны выдвигать предположения, и во многих системах для этой цели использовались специальные механизмы. Однако связанная с этим проблема пересмотра допущений осталась менее исследованной. Хейес [21] подчеркивал важность проблемы пересмотра допущений, но, если исключить работу Колби [6], который использовал как систему допущений с причинами для некоторых допущений, так и меры правдоподобности и эмоциональной важности допущений, в большинстве работ по пересмотру допущений ограничивались изучением алгоритмов обратного прослеживания, работающих на весьма простых системах утверждений и действий. Более общая проблема пересмотра допу'щений на основе записей о выводе исследовалась только в более современных работах.
К их числу принадлежит графическая система дедукции Кокса [7], система верификации Крокера [8], программа анализа электронных схем де Клера [9], дедуктивная система моделирования Файкса [18], система планирования путешествий Хейеса [22], система модификации программ Катца и Манна [24], программа Латомба [26, 27] для конструирования, система Лондона [29] для планирования и моделирования, программы Макдермотта [32—34] для понимания языка, базы данных и конструирования, система верификации Морикони [39], до- казатель теорем Невинса [40], система понимания программ Шроуба [50], программы MDS/AIMDS/BELIEVER [47, 51, 52), программа анализа электронных схем Сассмена и Столлмена [53, 59]. Шахматная программа Берлинера [3] использует «леммы» для записи интересных фактов о частичных анализах условных доказательств положения на доске, но в этой программе такие леммы выводятся при помощи техники изменений в позиции, а не при помощи анализа аргументов и подтверждений.
Кроме этого, в философской литературе имеется много работ, связанных с пересмотром допущений и относящимся сюда проблемам. Многие авторы изучали основанные на связи между допущениями оценочные критерии, предназначенные для суждения о том, какой способ пересмотра допущений является наилучшим. Обзор работ в этой области дали Куайн и Уллиан [43]. Другие авторы исследовали проблемы объяснений, законов и противоречащих фактам условий. Основываясь на изложении этих проблем Гудманом [20], Решер [44] строит структуру для пересмотра допущений, которая базируется на принципах «минимума искажений» Куайна [41, 42]. Льюис [28] и Тернер [61] предлагают средства детализации этой структуры. Скрайвен [48] связывает эти вопросы с проблемой исторических объяснений, пользуясь способом, напоминающим наши немонотонные аргументы для допущений. Саппе [57] дает обзор работ по обучению и рациональному изменению допущений. Предложенный в разд. 1.1 взгляд на процесс рассуждения связан с многими вопросами, затрагиваемыми в теориях допущений, действий и практических рассуждений. Минский [37] дает теорию памяти, которая включает более общий взгляд на процесс рассуждения.
Крамосил [25] начал математическое исследование немонотонных правил вывода, но пришел к пессимистическим заключениям. В более поздней работе Макдермотт и я [35] пытаемся формализовать логику, лежащую в основе TMS, при помощи того, что мы называем немонотонной логикой. Мы также приводим исторический обзор соответствующих методов рассуждения. Вейхраух [63] предлагает структуру для метатеорети- ческих рассуждений, в которой могут быть выражены как упомянутые выше, так и другие методы рассуждений. Хинтикка [23] приводит форму семантики возможного в мире для модальных логик знаний и допущений. Мур [38] комбинирует эту семантику для знаний с модальной логикой действий, но не рассматривает допущения и пересмотр допущений.
Можно надеяться, что при изучении того, какие типы аргументов люди находят легкими или трудными для понимания, будут найдены ключевые соображения для организации потенциальных аргументов для допущений TMS. Стетмен [55] указывает, что люди с трудом следуют аргументации, в которой имеется много обратных ссылок на отдаленные утверждения. Он пытается формализовать некоторые понятия, связанные со сложностью доказательств, используя меры, основанные на топологии графа доказательства. Вейнер [62] каталогизирует и анализирует человеческие объяснения и находит, что большинство из них имеет очень простую структуру. Де Клер [10] изучает непреднамеренные объяснения типа тех, которые дают
инженеры, и устанавливает, что большинство этих объяснений подчиняется немногим простым принципам.
В этой статье я свободно пользовался термином «допущение», причем настолько, что заголовок «Система пересмотра допущений» мог бы показаться если не менее претенциозным, то более подходящим, чем «Система поддержания истинности». Однако понятие допущения для многих связано с понятием градуаль- ности, a TMS не имеет никакой нетривиальной градуальной оценки допущений (в разд. 9 упоминаются расширения, у которых такая оценка имеется). Если следовать Деннету [13] различающему бинарные подтверждаемые утверждения (мнения) и лежащие в их основе градуальные желания (допущения), точнее было бы название «Система пересмотра мнений». Как объясняет Деннет, это разграничение позволяет описать те обстоятельства, при которых обоснованная аргументация заставляет индивидуума настаивать на некотором заключении, хотя он сам не верит в это заключение. Таким образом могут быть описаны колебания, самообман и другие сложные состояния, в которых могут находиться допущения и мнения. Мне представляется наиболее точной характеристика TMS как системы, пересматривающей не допущения, а мнения. В TMS процесс выбора того, во что «верить», включает проведений суждений, а не возрастающую непрерывно прочность или уверенность. Новая информация может привести к значительным изменениям в множестве мнений, а новые допущения обычно лишь незначительно изменяют старые.
Это различение двоичных суждений и градуальных аппроксимаций также полезно для отделения немонотонных рассуждений от неточных рассуждений, подобных тем, которые моделируются нечеткой логикой Заде [64]. Я рассматриваю немонотонные возможности TMS как возможности для обработки неполной информации, но здесь неполнота является «точной» — делаются бинарные утверждения о (обычно) точных утверждениях. Аппроксимация в этой логике возникает только тогда, когда множество текущих допущений рассматривается в целом. В логике неточных рассуждений неполнота является «неточной»— неопределенными являются сами утверждения, и не требуется, чтобы эта неопределенность была свойством системы утверждений в целом. Несмотря на то что оба подхода связаны с одним и тем же предметом, на настоящей стадии развития они ортогональны друг другу, что само по себе предполагает изучение возможности их комбинации (см. [19]).
Наконец, последнее замечание: накладные расходы на запись подтверждений для каждого допущения в программе могут показаться чрезмерными. От части расходов можно избавиться, используя методы подытоживания (см. разд. 5), кото-
рые дают возможность замены аргументов меньшими аргументами, или принимая какую-либо (надеюсь, хорошо понятную) дисциплину сохранения только существенных записей, на основе которых легко перевычислить всю отброшенную информацию. Однако самый важный пункт состоит в том, что надо рассматривать не расходы по сохранению записей об источниках допущений, а расходы по несохранению этих записей. Если мы отбрасываем информацию об источниках допу'щений, то непрерывно наказываем сами себя переизвлечением информации при том большом поиске, который будет каждый раз возникать при изменении несущественных предположений. Эта критика, первоначально адресованная системе MICRO-PLANNER (в работе [58]), приложима также и к механизмам контекста в CONNIVER и QA4. Если мы отбрасываем источники допущений, то при развитии баз данных полная коррекция ошибок может стать невозможной. При построении действительно сложных программ и систем становится ясным, что такие методы не только желательны, но и необходимы. Для того чтобы не следовать традициям огромных и не поддающихся исследованию систем, расплодившихся в технологии программного обеспечения, следует, пользуясь термином Джералда Сассмена, создавать «ответственные» программы, которые могут объяснять свои действия и заключения пользователю (см. [46]).
Эта статья основана на диссертации, защищавшейся на факультете электронной техники и вычислительных наук Массачусетского технологического института 12 мая 1977 г. В ртзд. 6 и 7 содержится материал, не вошедший в эту диссертацию. Хотя я и придерживаюсь взглядов, изложенных в разд. 1.1, в течение нескольких лет, я считаю мои предыдущие попытки их объяснения неудовлетворительными, так что точка зрения, высказанная здесь, также появляется в первый раз. Джералд Джей Сассмен (руководитель диссертации), Йохан де Клер, Скотт Фалмен, Филип Лондон, Девид Макаллистер, Дрю Макдермотт, Марвин Минский, Говард Шроуб, Ричард М. Столл- мен, Ги Л. Стил младший и Аллан Томпсон высказали идеи и замечания, за которые я им признателен. Де Клер, Стил, Мерилин Матц, Ричард Файке, Ренделл Девис, Шроуб и рецензенты журнала Artificial Intelligence дали ценные редакторские советы. Я благодарю фонд Ф. и Дж. Герц за стипендию.
ЛИТЕРАТУРА
Backer Н. G., Jr. List processing in real time on a serial computer. — C. ACM, 1978, v. 21, No. 4, p. 280—294.
Belnap N. D. How a computer can think. — In: Contfempoorary aspects philosophy. Ed. by Gilbert Ryle. — Stocksfield: Oriel, 1976.
Berliner H. J. Chess as problem solving: The development of a tactics analyzer.— CMU Comp. Sci. Dept., 1974.'
Charniak E., Riesbeck C., McDermott D. Artificial intelligence programming.— Hillsdale: Lawrence Erlbaum, 1979.
Cohen P. R. On knowing what to say: Planning speech acts. — Dept. Comp. Sci. Univ, of Toronto, TR-118, 1978.
Colby К, M. Simulations of belief systems. — In: Computer models of thought and language. Ed. by R. C. Schank, К. M. Colby. — San Francisco:
W. H. Freeman, 1973, p. 251—286.
Сох Р. Т. Deduction plans: A graphical proof procedure for the first-order .predicate calculus. — Dept. Comp. Sci. Univ. Waterloo, R. R. CS-77-28, 1977.
Crocker S. D. State deltas: A formalism for representing segments of computation.— Univ, of South. Calif., Inform. Sci. Inst., RR-77-61, 1977.
De Kleer J. Local methods for localization of failures in electrical cir- ' cuits,. — MIT AI Lab. Memo 394, November 1976.
De Kleer J. Causal and teleological reasoning in circuit recognition. — Ph. D. Thes., MIT Dept Electrical Eng. and Computer Sci., 1979.
De Kleer J., Doyle J., Steele G. L., Jr., Sussman G. J. Explicit control of reasoning. — In: Proc. ACM Symp. Artificial Intelligence and Programming Languages. — New York; Rochester, 1977; MIT Al Lab. Memo 427, 1977.
De Kleer J., Sussman G. J. Propagation of constraints applied to circuit synthesis. — MIT AI Lab. Memo 485, 1978.
Dennett D. C. How to change your mind. — In: Brainstroms. — Montgomery: Bradford, 1978, p. 300—309.
Doyle J. The use of dependency relationships in the control of reasoning.— MIT AI Lab. Working Paper 133, 1976.
Doyle J. Truth maintenance systems for problem solving. — MIT AI Lab. TR-419, 1978.
Doyle J. Reflexive interpreters.— Ph. D. proposal, MIT Dept Electrical Eng. and Comp. Sci., 1978.
Fahlman S. E. NETL: a system for representing and using real world knowledge. — Cambridge: MIT Press,. 1979.
Fikes R. E. Deductive retrieval mechanisms for state description model.— In: Proc. Fourth Int. Joint Conf, on Art. Intell., 1975, p. 99—106.
Friedman L. Plausible inference: A multi-valued logic for problem solving.— Jet Propulsion Lab., Pasadena, Rep. 79-11, 1979.
Goodman N. The problem of counterfactual conditionals. — In: Fact, fiction, and forecast. — Bobbs-Merrill, 1973, p. 3—27.
Hayes P. J. The frame problem and related problems in artificial intelligence. — In: Artificial and human thinking. Ed. by A. Elithorn, D. Jones. — San Francisco: Josey-Bass, 1973.
Hayes P. J. A representation for robot plans. — In: Proc. Fourth IJCAI, 1975, p. 181—188.
Hintikka J. Knowledge and belief. — Ithaca: Cornell Univ. Press, 1962.
Katz S., Manna Z. Logical analysis of programs. — C. ACM, 1976, v. 19, No. 4, p. 188—206.
Kramosil I. A note on deduction rules with negative premises. — In: Proc. Fourth IJCAI, 1975, p. 53—56.
Latombe J.-C. Une application de 1’intelligence artificielle a la conception assistee par ordinateur (TROPIC). — Thes. D. Sc. Math., Univ. Sci. et Medicale de Grenoble, 1977.
Latombe J.-C. Failure processing in a system for designing complex assemblies. — In: Proc. Sixth IJCAI, 1979.
Lewis D. Counterfactuals. — London: Basil Blackwall, 1973.
London P. E. Dependency networks as a representation for modelling in general problem solvers. — Dept Comp. Sci. Univ. Maryland, TR-698, 1978.
McAllester D. A. A three-valued truth maintenance system. — MIT AI Lab. Memo 473, 1978.
McAllester D. A. The use of equality in deduction and knowledge representation. — M. S. Thes., Dept Electrical Eng. and Comput. Sci. MIT, 1979.
McDermott D. Assimilation of new information by a natural language understanding system. — MIT AI Lab. AI-TR-291, 1974.
McDermott D. Very large PLANNER-type data bases. — MIT AI Lab. Memo 339, 1975.
McDermott D. Planning and acting. — Cognit. Sci., 1978, v. 2, p. 71—109.
McDermott D., Doyle J. Non-monotonic Logic I. — MIT AI L. Ai. 486, 1978.
Minsky М. A framework for representing knowledge. — MIT AI Lab. Memo 306, 1974.'
Minsky M. A-lines: A theory of memory. — MIT AI Lab. Memo 516, 1979.
Moore R. C. Reasoning about knowledge and action. — Ph. D. Thes., Dept Electrical Eng. and Comp. Sci. MIT, 1979.
Moriconi M. A system for incrementally designing and veryfying programs. — Univ, of South. California, Inform. Sci. Inst., RR-77-65, 1977.
Newins A. J. A human-oriented logic for automatic theorem proving. — J. ACM, 1974, v. 21, No. 4, p. 606—621.
Quine W. V. Two dogmas of empiricism. — In: From a logical point of view. — Cambridge: Harvard Univ. Press, 1953.
Quine W. V. Philosophy of logic. — Englewood Cliffs: Prentice-Hall, 1970.
Quine W. V., Ullian J. S. The web of belief. — Random House, 1978.
Reschner N. Hipothetical reasoning. — Amsterdam: North-Holand, 1964.
Reiter R. On reasoning by default. — In: Proc. Second Symp. on Theoretical Issues in Natural Languages Processing, Urbana, 1978.
Rich C., Shrobe H. E., Waters R. C. Computer aided evolutionary design for software engineering. — MIT AI Lab. Memo 506, 1979.
Schmidt C. F., Sridharan N. S. Plan recognition using a hypothesize and revise paradigm: An example. — In: Proc. Fifth IJCAI, 1977, p. 480—486.
Scriven M. Truisms as the grounds for historical explanations. — In: Theories of history. Ed. by P. Gardiner. — New York, Free Press, 1959.
Searle J. R. Speech acts. — Cambridge Univ. Press, 1969.
Shrobe H. E. Dependency directed reasoning for complex program understanding. — MIT AI Lab. TR-503, 1979.
Sridharan N. S., Hawrusik F. Representation of actions that have side-effects.— In: Proc. Fifth IJCAI, 1977, p. 265—266.
Srinivasan С. V. The architecture of coherent information system: A general problem solving sistem. — IEEE Trans. Computers, 1976, v. C-25, No. 4, p. 390—402.
Stallman R. M., Sussman G. J. Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis. — Artificial Intelligence, 1977, v. 9, No. 2, p. 135—196.
Stansfield J. L. Integrating truth maintenance systems with propagation of strength of belief as a means of addressing the fusion problem. — MIT AI Lab. draft proposal, 1978.
Statman R. Structural complexity of proofs. — Ph. D. Thes., Dept of Math. Stanford Univ., 1974.
Steele G. L., Jr., Sussman G. J. Constraints.—MIT AI Lab. Memo 502, 1978.
Suppes P. A. survey on contemporary learning theories. — In: Foundational problems in the special science. Ed. by R. E. Butts, J. Hintikka. — Dordrecht: D. Reidel, 1977.
Sussman G. J., McDermott D. From PLANNER to CONNIVER —a genetic approach.— In: Proc. AFIPS FJCC, 1972, p. 1171—1179.
Sussman G. J., Stallman R. M. Heuristic techniques in computer-aided circuit analysis. — IEEE Trans. Circuits and Systems, 1975, v. CAS-22, No. 11, 857—865.
Thompson A. Network truth maintenance for deduction and modelling. — In: Proc. Sixth IJCAI, 1979.
Turner R. Counterfactuals without possible words. — Univ, of Essex, 1978.
Weiner J. The structure of natural explanations: Theory and application. — Ph. D. Thes., Univ, of California, Los Angeles, 1979.
Weyhrauch R. W. Prolegomena to a theory of formal reasoning. — Stanford AI Lab. AIM-315, 1978.
Zadeh L. Fuzzy logic and approximate reasoning. — Synthese, 1975, v. 30, p. 407—428.
(2\ т(2\ табсолютно непрерывноеабсолютно непрерывное[log (PnlAnW <[log (PnlAnW <оо при некотором тоо при некотором тКромеКроме
(2\ т
(2\ т
абсолютно непрерывное
абсолютно непрерывное
[log (PnlAnW <
[log (PnlAnW <
оо при некотором т
оо при некотором т
Кроме
Кроме
Случайные величины с независимыми1двоичными цифрами1)
Дж. Марсалья)
Пусть X = .bib2... — случайная величина с независимыми двоичными цифрами Ьп, принимающими значения 0 и 1 с вероятностью рп и qn = 1 — Рп. Когда X имеет плотность? Непрерывную плотность? Сингулярное распределение? В этой заметке даются необходимые и достаточные условия того, что распределение X относится к одному из следующих типов: дискретное
[log (pnlqnW ~ 00 при любом т );[log (pnlqnW ~ 00 при любом т );(^ min (рт qn) < оо), сингулярное
[log (pnlqnW ~ 00 при любом т );
[log (pnlqnW ~ 00 при любом т );
того, X имеет плотность, которая отделена от нуля на некотором интервале тогда и только тогда, когда последовательность log(pV^) является геометрической прогрессией со знаменателем 1/2 при п >» к, и в этом случае дробная часть 2АХ имеет экспоненциальную плотность (возрастающую или убывающую, включая равномерную как частный случай).
ВВЕДЕНИЕ
Известно, что можно построить равномерно распределенную случайную величину, отождествляя ее двоичные цифры с исходами последовательных подбрасываний идеальной монеты (р = = 1/2). Подобные рассуждения возвращают нас к истокам теории вероятностей (в действительности — к началу разработки теории меры и интегрирования).
В случае неидеальной монеты (0 < р < 1, р ^ 1/2) результирующая величина имеет распределение, которое является непрерывным, но сингулярным, поскольку оно сосредоточено на множестве лебеговой меры нуль. В этой заметке рассматривается случай, когда двоичные цифры ' независимы, но не одинаково распределены. Существует ли в рамках данной ситуации какие-либо интересные случайные величины? Оказывается, что существуют некоторые интересные сингулярные распределения и распределения, которые имеют плотности.
Marsaglia G. Random variables with independent binary digits. — Ann. Math. Statist., 1971, v. 42, No. 6, p. 1922—1929.
В настоящей заметке будет показано, что в данной ситуации может возникнуть по существу один «приличный» тип плотности— экспоненциальная (возрастающая или убывающая, в частном случае равномерная), если под «приличной» понимать положительную на некотором интервале плотность. Будут также найдены необходимые и достаточные условия сингулярности распределения. Если распределение не сингулярно, оно будет абсолютно непрерывным. Окончательный вывод состоит в том, что требование независимости двоичных цифр приводит к одной из трех следующих возможностей.
Сингулярное распределение. Оно имеет место тогда
и только тогда, когда ряды X 1°£2 kPnlAn^ расходятся при лю' п = т
бом т. При этом получаются некоторые интересные непрерывные, но сингулярные распределения (см. разд. 3). Частным, но не интересным случаем является дискретное распределение, получающееся, когда pnqn = 0 при всех достаточно больших п. В случае когда У min(pn, qn) < оо, существуют нетривиальные дискретные распределения (см. разд. 4).
Кусочно-экспоненциальная плотность с одинаково размещенными частями одной и той же формы. Она имеет место, когда «хвост» последовательности log^/^) является геометрической прогрессией со знаменателем 1/2. Это единственная возможность получить функцию распределения, которая имеет положительную производную на некотором интервале (см. разд. 2).
Распределение с плотностью, но странной плотностью, которая обращается в нуль хотя бы один раз на каждом интервале. Это имеет место, если «хвост» ряда У log2 kpJAn^ схо" дится, но последовательность Iog(pn/9„) не является геометрической прогрессией со знаменателем 1/2.
РАСПРЕДЕЛЕНИЯ С РАЗУМНЫМИ ПЛОТНОСТЯМИ
Наиболее интересным представляется распорядиться вероятностями значений битов так, чтобы результирующая случайная величина имела «приличную» функцию плотности. Мы покажем, что это можно сделать по существу только одним способом. Общим утверждением является приведенная ниже теорема 2, но, сдвигая десятичную точку вправо на соответствующее число двоичных знаков, можно считать, что мы имеем дело с дробной частью случайной величины, принимающей значения из единичного интервала, и в этом случае можно сформулировать основное требование следующим образом.
ес-{П[(1+^)/2]к Z = 1ес-{П[(1+^)/2]к Z = 1
ес-{П[(1+^)/2]
к Z = 1
ес-{П[(1+^)/2]
к Z = 1
Теорема 1. Если X — случайная величина на единичном интервале с независимыми двоичными цифрами
П=1
где независимые Ьп принимают значения 0 или 1, и если функция распределения X, скажем F^, имеет положительную производную в точках 1/2, 1/4, 1/8, т. е. P(,l), ^(.Ol), /^OOl), ... существуют и положительны, то X имеет экспоненциальное распределение с плотностью
f W = Р^7(^р ~ 1), 0 < х < 1, — оо < р < + ОС ,
и вероятности значений битов X задаются формулами
Р[6п = 0] = 1/(1 +еР/2"), Р[6„ = 1] = ^7(1 +е^2").-
Доказательство. Представим вероятности значений битов X в виде
Р[6„ = 0] = 1/(1 +еЧ Р[6„ = 1]=ес"/(1 +ес")
и получим соотношение для сп, представляя F'(, 1) в виде предела двух последовательностей
Т7 (.101) — f (.1)F(.1OO1)-f(J) F (.10001)-F(.l)m
2-3’2-4•2-5’U)
FL^-F^O^ FGO-f (.011) Г (.1) — Г (.0111)
а общий член последовательности (2) имеет вид
схр[с2 + ^з *'
Поскольку Р(.1) существует и положительна, мы заключаем, что бесконечное произведение конечно, так что
Г'(.1) = ед П[0 +ес0/2] J =еСг+Сз+‘7 ГПО+еС<)/2] | ,
и, следовательно, С\ = с^ + ^з + • • • •
Аналогичные рассуждения для ^'(.Ol) показывают, что с^ = Сз + С^ + . . . , ДЛЯ F'COOl) — ЧТО Сз — ^4 + ^5 + • • • , и>
таким образом, мы заключаем, что существует такое р, чтоС1 = = Р/2, с2 = р/4, с3 = р/8, ... . Это приводит к таким формулам для вероятностей значений битов X, которые указаны в формулировке теоремы.
Мы должны еще показать, что если биты X имеют подобные распределения вероятностей, то X имеет экспоненциальную плотность с параметром р. (Заметим, что р может быть либо положительно, либо отрицательно, а при р = О плотность является равномерной.) Записывая X в виде X = Ьх/Ъ + Ь^,^ + + 6з/23 + ..., выразим характеристическую функцию величины X в виде бесконечного произведения
П[(1 +е<Р+“И/(1 +^/?)1-
Используя соотношение 1 — е2 = (1 + е2/2) (1 — ег^ = (1 + + е2/2) (1 + е2/4) (1 — е2/4) = ..., имеем
П(1
и, следовательно,
П I (1 + е^К 1 + е^)] = [(1 - е^К I -^)] К1 + I -^)]. к=\
Правая часть этого выражения в пределе равна
[(1_^)/(1_^)][р/гЬ
что при z = р + it является характеристической функцией величины X с плотностью ^х на интервале 0<х< 1.
Для того чтобы получить более общую теорему, заметим, что если функция распределения величины У, скажем F^y), имеет производную, которая существует и положительна на некотором интервале, т. е. ^'(/^Х), а<у<Ь, то найдутся такие целые г и к, что
а < г]^ < у < (г + 1 )/2fe < 6,
и, следовательно, функция распределения дробной части величины 2*У имеет производную, которая, существует и положительна на единичном интервале. Тогда применима предыдущая теорема, и мы имеем следующий результат.
Теорема 2. Если У — случайная величина с независимыми двоичными цифрами и если У имеет функцию распределения, производная которой существует и положительна на некотором интервале, т. е. F't^ > 0, а <С у < Ь, то Y может быть умножена на подходящую степень 2, такую, чтобы ее дробная часть
имела экспоненциальное распределение с плотностью 0<х<1
(при некотором 0, —оо < 0 < +оо, с равномерной плотностью при 0 = 0).
Иначе говоря, Y может быть представлена в форме 2k (М-[-Х), где случайное целое М не зависит от дробной части X, имеющей плотность уе$х, 0 < х < 1.
СИНГУЛЯРНЫЕ РАСПРЕДЕЛЕНИЯ
Пусть рп = Р \Ьп = 0]. Если некоторая подпоследовательность рп сходится к значению, отличному от 1/2, то распределение X = .616263 • • * будет сингулярным, потому что оно будет сосредоточено на множестве лебеговой меры нуль. Таким образом легко указать много представлений сингулярных величин. В частности, можно указать два сингулярных распределения, свертка которых имеет экспоненциальное или равномерное распределение, записывая
Хх = е620 0640660 ..., Х2 •-= .6^63065067 ..., где Ьп принимают значения с вероятностями, указанными в теореме 1. Тогда Хх + Х2 имеет экспоненциальную плотность уерх на интервале 0 < к < 1.
Для того чтобы получить два сингулярных распределения, сверткой которых является обычная экспоненциальная плотность ае*^, 0 < х < оо, запишем
X == ... d^d2dxdQd_xd~-2.d^ • • •,
где Р [d* = 0] = 1/(1 + еа2/!) и
А\ . d^d 10.б/_ 10б/_з0б/_5 .. .,
Х2 = ... d^d^d^^d_20d_4О ... .
Теперь мы перейдем к рассмотрению основного вопроса: когда распределение величины X = .6i6263 ... является сингулярным, если Ьп принимают значения 0 и 1 с вероятностями рп и qn. Если последовательность рп не сходится к 1/2, то распределение X будет сингулярным, но что произойдет, когда рп-+ *-^1/2, но не в соответствии с формулой из теоремы 1? Мы знаем, что X не может иметь непрерывную плотность, но если рп-+ 1/2 очень быстро, то можно ожидать, что X будет иметь некоторую разновидность плотности, хотя и несколько странную. Ответ положительный: если рл-^1/2 достаточно быстро, то плотность всегда существует.
Прежде всего отметим, что в данной ситуации не существует промежуточных случаев: распределение величины X либо
сингулярно, либо абсолютно непрерывно. Это следует из теоремы Джессена и Винтнера [3], согласно которой любой сходящийся ряд независимых дискретных случайных величин имеет чистый закон распределения, либо сингулярный (включая дискретный), либо абсолютно непрерывный. Теорема основана на законе нуля или единицы, в качестве превосходной элементарной сводки результатов см. Брейман [I]1).
Мы покажем, что распределение величины X является сингулярным (включая дискретный случай) тогда и только тогда, когда £ log2(pn/9п) = оо для каждого т. Для доказательства п = т
этого результата нам потребуется вспомогательная лемма, которая дает формулу для F' (х) в случае существования производной.
Лемма. Пусть X = .616263 . • • имеет независимые двоичные цифры, где Р[Ьп = 0] = рп, P[bn = 1] = Яп, и пусть F является функцией распределения X. Если F' существует в точке и = = .У1У2У3 • • • , ТО
F' (и) = [2g 1 (и,)] [2g2 (v2)J [2g3 (u3)] . ..,(3)
где gn^O) = PnU g„(l) = qn.
Доказательство. Так как РЦиХ существует, она может быть представлена в виде
F'^= lim UHO-F^-s)
S, t->X)8<Д)<1
и можно записать, что
F4vxUoV3 .. .)= lim 2"[f(.u1v2 . • . vn + 2”") — F(.y1v2 ... yj].
M->oo
Тогда (3) следует из того факта, что выражение в квадратных Скобках раВНО gX (X)X)g^(X)^ ... gn^n).
Теорема 3. Пусть X = ,6i6263 ... имеет независимые двоичные цифры Ьп, принимающие значения 0 и 1 с вероятностями рп и qn. Для того чтобы X имела сингулярную функцию распределения (производная которой равна нулю почти везде), необходимо и достаточно, чтобы для каждого положительного целого m
Д [log (pn/gn)!2 = °°-
J) См. также Ламперти Дж. Вероятность. — М.: Наука, 1973. — Прим, перев.
Если, с другой стороны, У \og2{pjqn) конечна при некотором п-- m
m, то распределение X абсолютно непрерывно, но имеет плотность, которая обращается в 0 хотя бы один раз на каждом интервале*, исключение составляет случай, когда последовательность log(pn/qn) имеет вид 0, р/2, 0/4, ... при п^к, причем дробная часть 2kX имеет плотность уе$х {при 0 = О — равномерную плотность).
Доказательство. Пусть F— функция распределения, имеющая конечную производную почти везде. Тогда на основании леммы мы можем представить F' для почти всех х = Л1Х2Х3 ... в виде бесконечного произведения
ЕЧл^Хз [2g, (xj] [2g2 (х2)[ [2g3 (х3)[ .(4)
где gn(0) = рп и gn(l) = qn.
Другая интерпретация того факта, что F имеет производную почти везде, состоит в том, что если .а^г^з*--- выбрано случайно. так что независимые ип принимают значения 0 и 1 с ве-. роятностями 1/2, то с вероятностью 1 произведение (3) сходится к константе (возможно, равной нулю). Согласно стандартной теореме о бесконечных произведениях (см., например, Кноп [4]), «хвост» произведения (4) сходится к ненулевой константе eL тогда и только тогда, когда при некотором m
2 log [2g„ (х„)[ = Л.
Таким образом, вопрос о том, является ли F почти везде положительной или почти везде равной нулю, зависит от сходимости случайного ряда
если ^ log2 (pjqn) сходится при некотором т, то F^x) > 0 для п = т
почти всех х, и F (являясь распределением чистого типа) абсолютно непрерывно; если же ряд расходится при всех т, то Р(х)= для почти всех х и, следовательно, F сингулярно.
ДИСКРЕТНЫЕ РАСПРЕДЕЛЕНИЯ
Полученные выше результаты не проводили различия между сингулярными распределениями, которые являются дискретными, непрерывными или смесями дискретных и непрерывных. Согласно следующей теореме, распределение величины X либо всюду непрерывно, либо чисто дискретно, что определяется следующими условиями.
Теорема 4. Если X = .Ь\Ь2Ьз ... имеет независимые двоичные цифры, Ьп = 0 или 1 с вероятностями рп и qn, то ее функция распределения F имеет точки роста тогда и только тогда, когда Hmax(prt, qn) > 0, или, что то же самое, У min(pn, /2=1/2=1
q^ < оо, и в этом случае F является чисто дискретной со скачками в таких точках и = .и^^з ..., которые только конечным числом двоичных знаков отличаются от s = ,sis2s3 ..., где sn = 0 или sn=i, если pn^qn или pn<qn соответственно.
Доказательство. Снова используя обозначения gn^ = Pn и gn(\)=qni мы находим, что скачок в ЕС^ч^з ...) равен lim |F (.0^2 ... уп + 2~") — F (.с^ ... v„)] = gv (и,) g2 (v2) ... и П->оо
что если Цтах(рл, <7rt) = 0, то F не будет иметь скачков. С другой стороны, если Ц тах(рл, q^ > 0, то F имеет скачок в точке s и скачок в каждой точке и, двоичное разложение которой имеет такой же «хвост», как у s.
Если добавить скачки во всех точках и, совпадающих с s после m-го двоичного знака, т. е. um+i = s^i, У^+г = Sm+2, •••> то получится произведение Ц max(pn, qn\ которое может /2 =/22 4* 1
быть сделано сколь угодно близким к единице. Отсюда мы заключаем, что сумма скачков F равна 1.
РАСПРОСТРАНЕНИЯ НА ОСНОВАНИЯ, ОТЛИЧНЫЕ ОТ 2
Используя идеи, применявшиеся выше в случае двоичного разложения, можно установить следую’щую общую теорему.
Теорема 5. Пусть X = d\d2d3 ... = d\/k-\-d2/k2 — d^/k^ + ... имеет независимые цифры при разложении по основанию к.
Пусть dn принимает значения О, 1, 2, ..., k— 1 с вероятностями рп^ рп2, . рпк- Тогда распределение величины X является либо дискретным, либо абсолютно непрерывным, либо непрерывным сингулярным в зависимости от следующих условий; дискретное — тогда и только тогда, когда У [I — max (/7пЬ . .. ..., РпкА < °°» абсолютно непрерывное — тогда и только тогда, когда X [(1 — крпХУ + (1 — крпгУ + ... + (1 — крпЬ^ < оо.
Доказательство. Применение закона нуля или единицы гарантирует нам, что X имеет чистый тип распределения в соответствии с теоремой Джессена — Винтнера (см. Брейман [1]). Условие дискретности распределения X следует из приведенной выше теоремы 4. Для абсолютной непрерывности по аналогии с теоремой 3 должны сходиться ряды ^ап и У S', где ап и ^п — аналоги выборочных средних и дисперсии, вычисленных по к эл^№тз^\о§крпХ1 \ogkpn2, logkprk- Пусть крщ- = 1 + тщ-,
к
так что У1л/ = 0. Каждое кап. имеет форму yiog(l+rz), / = i
и, используя разложение Тейлора с остаточным членом, имеем кккГ /
£lcg (1= X — (1/2) Ут? + о И Еч) ■
I11$ X 1/ J
Таким образом, существует такое 6, что если У tz = 0 и У т^ < < 6, ТОккк
.49£т2< — £log(l +т;) <.51 ^т?.
Отсюда следует, что У ап сходится тогда и только тогда, когда сходится У (т^ + ... + т2пку а последний из этих рядов фигурирует в утверждении теоремы. Легко показать, что его сходимость влечет за собой сходимость У s2.
Заметим, что условие У log2 (рпА7гг) < 00 в двоичном случае может быть заменено условием У (1 — 2р^2 < оо, поскольку оба ряда сходятся или расходятся одновременно.
Я хотел бы поблагодарить Алберта В. Маршалла и Гордона Б. Кроуфорда за плодотворное обсуждение задачи.
ЛИТЕРАТУРА
[1] Breiman L. Probability. — Reading: Addison-Wesley, 1968.
[2] Fisz M. Probability theory and mathematical statistics. — 3rd ed. — New York: Wiley, 1963.
[31 Jessen B., Wintner A. Distribution functions and the Riemann zeta function.— Trans. Amer. Math. Soc., 1935, v. 38, No. 1, p. 48—88.
[4] Knopp K. Theory and application of infinite series. — London: Blackie and Sons, 1948.
© 1980 by North-Holland Publishing Company
© Перевод на русский язык, «Мир», 1983
X q ) и
/ r^^^rih + n/a Л / 2/г2,5+8 + п Л (зп2-5+е^/а.
Из них видно, что для справедливости (5) достаточно выполнения неравенства п®7 ^ (Зп2,5+в)^а, которое, в свою очередь, равносильно неравенству
п8 ^а-пМп ^ Зл2-5. Поскольку в условиях теоремы 2.3 е(^а — п)/п ^ 2.5 + 62, предыдущее неравенство выполнено, если пь^ ^ 3. Таким образом, (5) выпол
1) См. п. 1 добавления переводчика. — Прим, перев.
2) Fachbereich Mathematik, Johann-Wolfgang Goethe Universitat, Frankfurt am Main, BRD.
1980 by North-Holland Publishing Company Перевод на русский язык, «Мир», 1983
мени вида /(l^l -р*), где /— полином, если рассматривать только первое выра
жение cq los p+iog if i Улучшение здесь состоит в том, что по сравнению с утвер
ждением 3.1 вместо числа q всех кванторов берется лишь число и универсаль
ных кванторов. — Прим. ред.
3) Иначе говоря, найдется допускающий протокол слова w глубиной не более Цпу подробности можно найти в добавлении переводчика.— Прим. ред.
5. КОНЦЕНТРАТОРЫ И ЗАБЫВЧИВЫЕ МАШИНЫ ТЬЮРИНГА
движение ее головки зависит только от длины входа. В [7, 10]
показано, что каждую t{n)-ограниченную по времени много
ленточную машину Тьюринга можно промоделировать
Общий член последовательности (1) имеет вид
5 log [2g„ (»„)],n — m
где Un принимают значения 0 и 1 с вероятностью 1/2. Мы воспользуемся теоремой о трех рядах (см., например, Фиш [2]) после вычисления
Е {log [2g„ (v„)]} = (1/2) log <Apnqn\ var = (1/4) [log (pn/qn^.
Если «ХВОСТ» У log2(/) „/<?«) сходится, то сходится и «хвост» — У log (4р„9п), так как члены первого ряда превосходят члены второго ряда. (Действительно, пусть 2рп = 1 +1, 2qn = = 1 — t; тогда достаточно заметить, что log2 [ (1 + t) / (1 — 01 + + log (1 — /2) ^ 0 при —1 < t <. 1.)
Кибернетическийсборник
НОВАЯ СЕРИЯ
ВЫПУСК
20
Сборник переводов
ПОД РЕДАКЦИЕЙО. Б. ЛУПАНОВА
МОСКВА «МИР» 1983
ББК 32.81
К38
УДК 519.95
Научный совет по кибернетике Академии Наук СССР
Кибернетический^сборник. Новая серия. Вып. 20. Сб. статей: Пер. с англ. — М.: Мир, 1983, 224 с., ил.
Продолжение серии, начатой издательством «Мир» в 1965 г. В выпуске содержатся обзорные статьи и оригинальные работы известных зарубежных ученых по наиболее актуальным проблемам теоретической кибернетики. Большой интерес представляют статьи Д. Маллера и Ф. Препараты по проблемам вычислительной геометрии, Г. Льюиса по теории сложности вычислений и цикл работ по сложности вычисления многочленов (Ф. Штрассен, К. Шнорр и др.).
Для научных работников, инженеров-исследователей, аспирантов и студентов, занимающихся и интересующихся теоретической кибернетикой и ее приложениями.
КК36—83, ч. 136—83, ч. 11702070000—370041(01)—83
К
К
36—83, ч. 1
36—83, ч. 1
Редакция литературы по математическим наукам
кибернетический сборник
Новая серия
Выпуск
20
Ст. научн. ред. Г. М. Ильичева. Мл. научн. ред. Р. И. Пяткина. Художник Н. К. Сапожников. Художественный редактор В. И. Шаповалов. Технический редактор Н. И. Манохина. Корректор Е. Г. Литвак
И Б 3563
Сдано в набор 22,12.82. Подписано к печати 23.09.83. Формат 60x93'/l6.Объем бум. л. 7. Бумага типографская № 2. Гарнитура литературная. Печать высокая. Усл. печ. л. 14. Усл. кр.-отт. 14. Уч. изд. л. 13,41. Изд. № 1/2648. Тираж 3500 экз. Зак. 560. Цена 2 р. 10 к.
ИЗДАТЕЛЬСТВО «МИР» 129820, Москва, И-ПО, ГСП, 1-й Рижский пер., 2.
Ленинградская типография № 2 головное предприятие ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союз- полпграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 198052, г. Ленинград, Л-52, Измайловский проспект, 29.
Отпечатано с набора в Ленинградской типографии № 8 ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 190000 Ленинград. Прачечный переулок, 6.
© «Мир», 1983
СОДЕРЖАНИЕ
Д. МАЛЛ ЕР, Ф. ПРЕПАРАТА. Нахождение пересечения двух выпуклых
многогранников. Перевод О. М. Касим-Заде5
К. ШНОРР. Улучшенные нижние оценки числа умножений/делений, необ- - ходимых для вычисления многочленов. Перевод О. М. Касим-Заде . . . 30
И. ХАЙНЦ, М. ЗИВЕКИНГ. Нижние оценки для многочленов с алгебраическими коэффициентами. Перевод О. М. Касим-Заде16
И. ФОН ЦУР РАТЕН, Ф. ШТРАССЕН. Некоторые многочлены, имеющие высокую сложность вычисления. Перевод О. М. Казим-Заде59
Г. ЛЬЮИС. Сложностные результаты для классов формул с кванторами.
Перевод С. В. Попова64
В. ПАУЛЬ, Э. ПРАУСС, Р. РАЙШУК. Об альтернировании. I. Перевод
А. Мучника107
ПАУЛЬ, Р. РАЙШУК. Об альтернировании. II. Перевод А. А. Мучника 123
А. А. МУЧНИК. Добавление переводчика к статьям «Об альтернировании, I, II»141
ДЖ. ДОЙЛ. Система поддержания истинности. Перевод Л. И. Танен- гольца159
ДЖ. МАРСАЛЬЯ. Случайные величины с независимыми двоичными цифрами. Перевод Б. Б. Походзея216
Нахождение пересечения двух выпуклыхмногогранников)
Д. Маллер), Ф. Препарата')
Разработан алгоритм, который по двум заданным выпуклым многогранникам в трехмерном пространстве 1) проверяет, является ли их пересечение пустым, 2) если да, то находит отделяющую плоскость, и 3) если нет, то сначала находит одну из точек пересечения, а затем полностью строит многогранник, являющийся пересечением двух заданных. Время работы алгоритма есть О (и log и), где п— общее число вершин двух многогранников. Часть алгоритма, связанная с п. 3), т. е. построение пересечения, основана на следующем: если какая-нибудь точка искомого пересечения известна, то для получения всего пересечения можно использовать выпуклую оболочку объединения многогранников, геометрически двойственных (в надлежащем смысле) двум заданным относительно известной точки.