Книга
Книга
ТАВТОЛОГИИ И ПОЛИНОМИАЛЬНАЯ^ сводимость
Зафиксируем некоторый формализм для пропозиционного исчисления, в котором формулы записываются как слова в алфавите S. Так как нам потребуется бесконечное число препозиционных символов . (атомов) ,ч каждый такой символ будет состоять из некоторого элемента S, за кЬторым следует число в двоичной зяписи, чтобы отличить этот символ от других. Таким образом, формула длины п может иметь только около м/log п различных функциональных и предикатных, символов. Логическими связками являются & (и), V (или),】 (не).
Множество тавтологий (обозначаемое через {тавтологии})— это некоторое рекурсивное множество слов в этом алфавите, и мы интересуемся проблемой нахождения хорошей нижней границы для времени его возможного распознавания. Мы не даем здесь такой нижней границы, но теорема 1 будет свидетельствовать о том, что множество {тавтологии} является трудным для распознавания, так как многие кажущиеся трудными проблемы могут быть сведены к определению тавтологичности. Под сводимостью мы понимаем, грубо говоря, следующее: если бы тавто- логичность решалась немедленно (с помощью《оракула》), то эти проблемы можно было бы решить за полиномиальное время. Для уточнения этого понятия мы введем спрашивающие машины, которые подобны машинам Тьюринга с оракулом [1].
Спрашивающей машиной называется многоленточная машина Тьюринга с одной выделенной лентой, называемой лентой вопросов, и тремя выделенными состояниями, называемыми соответственно спрашивающим состоянием, да^состоянием и нет-состоя- наем. Если М — спрашивающая машина и Г — некоторое множество слов, то Т-вычислением машины М называется такое вычисление машины М. при котором М в начале вычисления находится в своем начальном состоянии и входное слово w записано на ее входной ленте; и каждый раз, когда М попадает в спрашивающее состояние и на ленте вопросов записано слово 〃, то следующим состоянием М будет да-состояние, если 〃曰 Т, и нет-состояние, если 〃陡 Т. Мы можем понимать под《оракулом» того, которому известно Т и который переводит М в да-состоя* ние или нет-состояние. -
Определение
Множество слов S называется Р-сводимым (Р означает «полиномиально») к множеству слов Т, если существует некоторая спрашивающая машина М и полином Q(n), такие, что для каждого входного слова w Т-вычисление на машине М со входом w заканчивается в течение Q(|w|) шагов (|切|—длина слова з) и заключительное состояние является благоприятным тогда и только тогда, когда w ^ S.
Нетрудно видеть, что отношение Р-сводимости является транзитивным. Следовательно, отношение Е на мнржествах слов, задаваемое так: (S, Т)巨月 тогда и только тогда, когда S н Т P-сводимы друг к другу, является отношением эквивалентности. Класс эквивалентности, содержащий множество S, будет обозначаться через deg(S) (полиномиальная степень трудности S).
Определение. Обозначим deg({0}) через 2*; через Q здесь обозначена нулевая функция.
Таким образом, 2\ — это класс множеств, распознаваемых за полиномиальное время. Класс 纟* обсуждался в [2], стр. 5. Он является словарным аналогом кобхэмового класса функций [3].
Определим теперь следующие специальные множества слов.
Проблема подграфа заключается в том, что для двух данных конечных неориентированных графов требуется определить, является ли первый изоморфным некоторому подграфу второго. Граф G можно представить в виде слова- G в алфавите {0, 1, *}, выписывая последовательно строчки его матрицы смежности, отделенные друг от друга символами *. Пусть {пара подграфов} обозначает множество слов Gi**G2, таких, что Gi изоморфен подграфу G2.‘
Проблема изоморфизма графов будет представляться множеством, обозначаемым {пара изоморфных графов}, всех слов Gi**G2, таких, что G】изоморфен G?.
Множество {простые числа} — это множество всех двоичных записей простых чисел.”
Множество {ДНФ-тавтсйюгии} — это множество слов, представляющих тавтологии в дизъюнктивной нормальной форме.
Множество /)з состоит из всех тех тавтологий в дизъюнктивной нормальной форме, в которых каждая конъюнкция содержит не более трех членов (каждый из которых — атом или отрицание атома).
Теорема 1. Если множество слов S распознаваемо неко* торой недетерминированной машиной Тьюринга за полиномиаль* ное время, то S P-сводимо к {ДНФ^тавтологии},
Следствие. Каждое из множеств, определенных свойствами 1——5, P-сводится к {ДНФ^тавтологии}.
Это имеет место потому, что каждое множество или его до* полнение распознается за полиномиальное время на недетер* минированной машине Тьюринга. .,
Доказательство теоремы
Предположим, что недетерминированная машина Тьюринга М распознает множество слов S за время Q(n), где Q (几)—поли- ном. Для произвольного данного входа w машины М мы построим пропозициональную формулу Л (ш) в конъюнктивной нормальной форме, такую, что 力(侬)выполнима тогда и только тогда, когда М принимает w. Формула 4(侬)легко переводится в дизъюнктивную нормальную форму (используя законы де Моргана), и полученная д. н. ф. является тавтологией тогда и только тогда, когда 侬柒 S. Так как вся эта конструкция может быть выполнена за время, ограниченное некоторым полиномом от |^| (длины w), то теорема будет доказана. Кроме того, мы
можем предположить, что машина Тьюринга М имеет только одну ленту, бесконечную вправо и имеющую самую левую ячейку. Занумеруем ячейки слева направо числами 1, 2, 3,.... Зафиксируем вход w длины п, и пусть 侬 w S. Тогда существует вычисление машины М на входе w, которое оканчивается менее чем за Г = Q (几)шагов в допускающем состоянии. Формула Л (w) будет построена из многих различных пропозициональных символов, подразумеваемый смысл которых, приведенный ниже, относится к такому вычислению.
Пусть алфавит ленты машины М есть {qi, ..., о» и множество ее состояний {^ь ..., д「}. Отметим, что, так как вычисление имеет не более Т — Q(n) шагов, никакая ячейка с номером, большим Т, не может обозреваться головкой.
Пропозициональные символы,
Р;ь где 1 </</; l&s, /&Т. Р,истинно тогда и только тогда, когда ячейка с номером s на шаге / содержит символ ое・
Q;, где 1《i & г; 1 W f & Т・ Q; истинно тогда и только тогда, когда на шаге f машина находится в состоянии ^.
Ss,b где 1 W s, t & Т, истинно тогда и только тогда, когда на шаге t ячейка с номером s обозревается головкой.
Формула Л (ш) является конъюнкцией В & С& D&E & 尸 & G& H&I, образованной следующим образом. Отметим, что А (ш) является конъюнктивной нормальной формой.
В будет утверждать, что на каждом шаге 7 обозревается одна и только одна ячейка. В является конъюнкцией В】& В? & . • • ・・.& Вт,где Bt утверждает, что на шаге / обозревается одна и только одна ячейка
修= (S/VS2jV ・・・ VSr」)&L普</<#&,» IS/毋
Для l^sWT и iW/gT C§, t утверждает, что на шаге t в ячейке s находится один и только один символ. С является конъюнкцией всех таких Cs,力 一
D утверждает, что для каждого f имеется одно и только одно состояние..
Е утверждает, что выполнены начальные условия
e=q;&s「&p3&p3&・・・&p3&p3i&…&р",
где w =(3i^i2 ... 6“ 91 — начальное состояние и аь— пустой символ.
F, & и Н утверждают, что на каждом шаге / значения Р, Q и S определены правильно. Например, G — это конъюнкция G;, / по всем 力 厶 /, где G;, / утверждает, что если на шаге t машина
находится в состоянии 仇 и наблюдает символ а;, то на шаге / + 1 машина будет в одном из состояний q询,夕修,•・•,夕尼加, где q% задается функцией переходов машины ЛР)・
G 尸&。Q; V q S# V 1PL V Q3 V @羽 V …V Q备).
Наконец, формула / утверждает, что на некотором шаге машина достигает благоприятного состояния. Машину М следует модифицировать так, чтобы после достижения благоприятного состояния она продолжала вычисления некоторым тривиальным образам, так что A(w) будет .выполнимой. /
Теперь можно прямо проверить, что A(w) обладает всеми свойствами, о которых утверждалось в первом^ параграфе доказательства.
Теорема 2. Следующие множества попарно Р^сводимы друг к другу (и, следовательно, имеют одну и ту же полиномиальную степень трудности): {тавтологии}, {ДНФ-тавтологии}, Dz, {пара подграфов}. '
Замечание. Мы не в состоянии добавить к приведенному выше списку ни {простые числа}, ни {пара изоморфных графов}. Для того, чтобы показать, что {тавтологии} P-сводится к {простые числа}, по-видимому, требуются некоторые глубокие результаты из теории чисел, в то время как доказательство того, что {тавтологии} P-сводится к {пара изомбрфных графов}, вероятно, послужит опровержению одной гипотезы Корнеля [4], из которой он выводит, что проблема изоморфизма графов может быть решена за полиномиальное время. ,
Между прочим, из процедуры Девиса — Патнама [5] нетрудно видеть, что множество D% состоящее из всех ДНФ-тавтологий, в которых каждая конъюнкция имеет не более двух атомов, принадлежит В*. Следовательно, 1>2 не может быть добавлено к списку множеств теоремы 2 (если только все множества этого списка не принадлежат 2*):
Доказательство теоремы 2. Согласно следствию теоремы 1, каждое из указанных множеств P-сводится к {ДНФ- тавтологии}. Так как очевидно, что {ДНФ-тавтологии} P-сводится к .{тавтологии}, остается повязать, что {ДНФ-тавтологии} P-сводится к О3 и Оз P-сводится к {пара подграфов}.
')Необходимо еще позаботиться о том, чтобы значения S8, <+i, определяемые в формуле Н, были согласованы (в смысле программы машнт/ы М) со значениями Q:j『 определяемыми в формуле 6. — Прим. ре@.
Для того чтобы показать, что {ДНФ-тавтологии} Р-сводится к D3, предположим, что А — пропозициональная формула в дизъюнктивной нормальной форме. Скажем, Д = Bi V ... V Bki где В、н R、& …& Rs и каждое Ri есть атом или отрицание атома и s>3. Тогда А есть Тавтология тогда и только тогда, когда Л\ есть тавтология, где Af = Р & R3 & ... & & V 1 Р & R & R2 V 32 V ... V 8々 нР — новый атом. Таким образом, мы уменьшили число конъюнкций в Bi, и этот процесс можно повторять до тех пор, покя в конце концов не найдем формулы, которая имеет не больше трех атомов в каждой конъюнкции. Ясно, что весь процесс ограничен по времени некоторым полиномом от длины А.
Остается показать, что Оз Р-своднтся к. {пара подграфов}. Пусть Л — формула в дизъюнктивной нормальной форме, каждая конъюнкция которой имеет длину три, т. е. Д = Ci VС2 V V ... VCft, где Ct = R〃 & Rt2& Кез и каждое R订— атом или отрицание атома. Пусть теперь Gi — полный граф с вершинами {б,・・・ %} и G? — граф с вершинами {山,J, 1 W i W 依 1 W j W 3, такой, что Uij соединена дугой с 4rs тогда и только тогда, когда i ^ г и две буквы (R订,Rr8) не образуют противоположной пары букв (т. е/они не имеют вида (Р, Л 户)или (Л Р, Р)). Таким образом, для формулы Л можно подобрать значения, при которых она становится ложной тогда и только тогда, когда существует гомоморфизм 1)力:Gi —> G2, такой, что для каждого i «(и"= 〃订 для некоторого /. (Гомоморфизм указывает для каждого i, который из атомов Ri, /?协 財з следует считать ложным, а выбор дуг в G2 гарантирует, что истинностные значения для всех атомов совместимы.)
ОБСУЖДЕНИЕ
Теорема 1 и ее следствие являются сильным аргументом в пользу того, что не так-то просто определить, является ли данная препозиционная формула тавтологией, даже если эта формула выражена в дизъюнктивной нормальной форме. Теоремы 1 и 2 вместе указывают на то, что поиск полиномиальной разрешающей процедуры для проблемы подграфа является делом неплодотворным, так как успех в этом деле сразу же дал бы полиномиальные разрешающие процедуры для многих других, по-видимому трудноразрешимых, проблем. Разумеется, подобное замечание относится к любой комбинаторной проблеме, к которой Р-своднтся {тавтологии}.
Более того, эти же теоремы свидетельствуют о том, что множество {тавтологии} является хорошим кандидатом для интересного множества, которое не принадлежит и мне кажется, стоит потратить значительные усилия, стараясь доказать эту
Здесь имеется в виду изоморфное вложение G】в О2. — Прим. ре&
гипотезу. Такое доказательство было бы большим успехом.в теории сложности. '
Принимая во внимание очевидную сложность множества {ДНФ-тавтологии}, интересно исследовать процедуру Девиса — Патнама [5]. Эта процедура была разработана для того, чтобы проверить, когда данная формула в конъюнктивной нормальной форме выполнима, но, очевидно, «двойственная» процедура определяет, является ли данная формула в дизъюнктивной нормальной форме тавтологией. Я еще не в состоянии найти серию примеров, показывающих, что эта процедура (производимая с осторожностью во избежание ловушек) должна требовать более чем полиномиального времени. Я также не нашел интересной верхней границы для требуемого времени.
Если, мы будем рассматривать слова как записи натуральных чисел (или fe-наборов натуральных чисел), используя /п-ич- ную или другую подходящую запись, тогда понятия предыдущего пункта можно отнести к множествам чисел (или к Амест- ным отношениям чисел). Нетрудно видеть, что множество отношений, распознаваемых за полиномиальное время некоторой недетерминированной машиной Тьюринга, является в точности множеством 2+ отношений вида
刊 WgM»R (元 У), (1)
・k
где g々(无) = 2“Зах”)),/ (?) — двоичная длина z и R(x, у) — некоторое отношение из 2* (纟+ —класс расширенных положительных рудиментарных отношений Беннета [6]). Если бы мы убрали границу квантора в формуле (1), то класс В+ превратился бы в класс всех рекурсивно перечислимых множеств. Таким образом, если 2+ рассматривать как аналог класса рекурсивно перечислимых множеств, то определение тавтологичности будет аналогом проблемы останова; следовательно, согласно теореме 1, тавтологии имеют полную степень точно так же, как проблема останова имеет полную рекурсивно перечислимую степень. К сожалению, диагональная, процедура, которая показы- в?ет, что проблема останова не рекурсивна, по-видимому, не может быть приспособлена для того, чтобы показать, что {тавтологии} не принадлежат 2*.
ИСЧИСЛЕНИЕ ПРЕДИКАТОВ
Формулы исчисления предикатов представляются словами подобно формулам пропозиционального исчисления. В дополнение к символам для пропозициональных букв и логических связок нам необходимы кванторные символы V и В и символы
для формирования бесконечного списка индивидных переменных и бесконечных списков функциональных и предикатных символов любого порядка (конечно, полагая, что алфавит S конечный).
Пусть Q — некоторая процедура, оперирующая с такими формулами, которая заканчивается для данной входной формулы А тогда и только тогда, когда А невыполнима. Так как не существует разрешающей процедуры 屈ля распознавания выполнимости в исчислении предикатов, то отсюда следует, что не существует рекурсивной функции Т, такой, что если Л невыполнима, то Q заканчивается в течение Т (и) шагов, где п — длина А. Как же тогда оценивать эффективность процедуры?
Мы применим следующий подход. Большинство из тех, кто занимается автоматическим выводом теорем, исходят из теоремы Эрбрана, которая, коротко говоря, утверждает, что фор* мула 4 невыполнима тогда и только тогда, когда некоторая конъюнкция подстановковых частных случаев функциональной формы fn(4) формулы 4 по истинности функционально несовместна. Предположим, что мы упорядочили термы универсума Эрбрана для fn(Л) по рангам и затем упорядочили некоторым естественным образом подстановковые частные случаи fn(4) из универсума Эрбрана. Это упорядочивание должно быть таким, ятобы, вообще говоря, подстановковые частные случаи, которые используют термы большего ранга, следовали за подстановко- выми частными случаями, использующими термы меньшего ранга. Пусть 4卜 Л2,・• • — это подстановковые частные случаи, упорядоченные таким образом.
Определение. Если Л невыполнима, то пусть Ф(А)—такое наименьшее 々,что конъюнкция Ai & #2 & •・・ & 4^ по истинности функционально несовместна. Если А выполнима, то 中⑷ не определено. ' .
Пусть теперь Q — процедура, которая по данному / вычисляет црследовательность Ль Л2, ... и для каждого i проверяет, верно ли, что А\ &... & А{ по истинности функционально совместна. Процедура заканчивается успехом, если ответ будет 《нет». Тогда, очевидно, существует такая рекурсивная функция T(k), что для всех А и всех формул Л, если длина А ^ k и 力(4) W 也 to'Q оканчивается за T(k) шагов. Мы полагаем, что функция T(k) есть мера эффективности Q.
Для удобства все процедуры в этом Параграфе будут реали* зоваться на одноленточных машинах Тьюринга, которые мы будем называть просто машинами.
Определение. Для данных машины Mq и рекурсивной функции Tq(论)мы будем говорить, что Mq имеет тип Q и работает в течение времени TQ (k) при условии, что когда Mq начи*
нает работу с предикатной формулы 4, записанной на ее ленте, т0 Mq останавливается тогда и только тогда, когда А невыполнима, и для всех 財 если 力(4) W А и |Д | ^ log2 也 то MQ останавливается за TQ(k) шагов. В этом случае мы также будем говорить, что Tq(^) имеет тип Q・ Здесь |А| — длина А.
Мы взяли |Л I ^ log2 k вместо |4|《力 но той причине, что для последнего условия нахождение нижней границы для TQ(k) было бы примерно эквивалентным нахождению нижней границы для проблемы разрешения пропозиционального исчисления» В частности, теорема ЗА стала бы очевидной и тривиальной.
Теорема 3・ А)Для любой ZQ(k) типа Q отношение
⑵⑵Tq的 ,"秋log也)2неограничено.
⑵
⑵
В) Существует такая TQ(k) типа Q, что %3)《左,2尼3吗
Набросок доказательства. А) По данной машине М можно построить предикатную формулу 4(М), которая выполнима тогда и только тогда, когда М, начиная работу с пустой лентой, не останавливается. Эта конструкция описана Ваном [7] в доказательстве, сводящем проблему останова к проблеме разрешения исчисления предикатов. Более того, если М останавливается за s шагов, то 力(4(М))《/・ Таким образом, если, в противоречие с (2) TQ (fe) = О (V^ / log2^), 吧,модифицируя Mq, можно было бы проверить только за 0a◎ /log2s2) шагов, что М остановится за s шагов (при условии, что tn w log s\ где m — длина 4(М))・ Диагональный метод (см. [8], стр/ 153) показывает, что это в общем случае невозможно.
В) Машина Mq работает в течение времени Tq, следуя процедуре, изложенной в начале этого параграфа. Заметим, что формула 41 & А? & ・・・ & 4h имеет длину О (々 log2 也),так как мы можем предполагать, что | W log?汽・ 、
Теорема 4. Если множество S слов распознаваемо недетерминированной машиной за время Т(м)= 2n и если TQ (k) является честной (т. е. вычислимой 6 реальное время} функцией типа Q, то существует константа 电 та%"% что S может быть распознано детерминированной машиной за время TQ(k* 16п).
Доказательство. Пусть М\ — недетерминированная машина, распознающая S за время 2П. Пусть М2 — недетермини* рованная машина, которая моделирует М\ в течение точно 2П шагов и затем останавливается, если М\ не принимает данного
входного слова. В противном случае М2 вычисляет вечно. Таким образом, для всех слов 侬,если w ^ S, то существует вычисление, при котором М2 со входом w не останавливается, и если 也 拉 S, то М2 со входом w останавливается в пределах 4П шагов для всех вычислений. Взяв w длины 几,мы можем построить формулу A(w) длины О (я), такую, что A(w) выполнима тогда и только тогда, когда М\ принимает 侬.(4(如)строится подобно тому, как строится 4(侬)в доказательстве теоремы 1.) Более того, если М2 останавливается за 4П шагов для всех возможных вычислений, то <f>(A(w)) ^ fe(4n)2 = fe 16п. Таким образом, можно построить детерминированную машину М для определения того, что te/ е S, представляя Mq со входом Л(^). Если результат не появится за TQ(k 16й) шагов, то 如 w S, в противном случае 如法 4.
ДАЛЬНЕЙШИЕ ОБСУЖДЕНИЯ
Существует большой разрыв между нижней границей “々/(log々)2 для временной функции Tq(^), которую дает теорема ЗА, и возможной границей TQ(k)=々2跳】°g幻2, которая дается в ЗВ. Однако имеются основания для такого разрыва. Например, если бы мы могли улучшить результат в ЗВ и найти TQ(k)f ограниченную некоторым полиномом от 比 то по теореме 4 мы могли бы моделировать недетерминированную машину, ограниченную временем 2П, недетерминированной машиной за Р(2п) шагов, где Р — некоторый полином. Это противоречит опыту, который показывает, что для детерминированного моделировав ния Т(几)шагов работы недетерминированной машины требуется, вообще говоря,々以”)1пагов.
С другой стороны, если бы мы могли повысить нижнюю оценку, данную теоремой ЗА, и показать, что TQ(k)/2h неогра- ничено, то мы могли бы сделать заключение, что {тавтологии} 陆 В*, \ак как в противном случае общая процедура Эрбрана требовала бы Tq(^), меньшего, чем 2八.Следовательно, такое улучшение в ЗА потребовало бы решения главного вопроса в теории сложности.
Область механического «доказательства теорем сильно нуждается в основе для сравнения и оценки десятков различных процедур, которые появляются в литературе. Выполнение этих процедур на вычислительных машинах является хорошим критерием, но не достаточным (если только данная процедура не является полезной в некотором практическом смысле). Необходимы теоретические критерии сложности, которые дадут нам фундаментальные ограничения и выдвинут новые цели. Критерий, предложенный здесь (функция %("), является, вероятно, слишком грубым. Например, быть может, лучше сделать Tq(力)
функцией от нескольких переменных, одна из которых ——力(4), а другая может быть минимальным числом подстановковых частных случаев fn (Л), необходимых для того, чтобы получить противоречие (заметим, что для этого нужны, вообще говоря, не вее 4,…,4力⑷)•
Tq(&) может быть грубой мерой, но она действительно дает некоторую основу для обсуждения и, я надеюсь, будет стимулировать прогресс на пути к нахождению лучших мер сложности для доказательства теорем.
ЛИТЕРАТУРА,
Kreider К. L” Ritchie R. W., Predictably computable functionals and definitions by recursion, Zeitschrift fur Math. Logik und Gruhdlagen der Math., 10, (1964) 65—80.
Cook S. A., Charakcterizations of pushdown machines in terms of time-bounded computers, Journ.. Assoc. Comp. Mach., 18, № 1, (1971), 4—8. (Русский перевод: Кук С. Характеристики магазинных автоматов в терминах вычислителей, ограниченных во времени, в сб. пер. «Сложность вычислений и алгоритмов», М., 1974, 266—288.)
Cobham. Alan, The intrinsic computational difficulty of functions, Proc, of the International Congress for logic, methedology and the philosophy of science, North Holland Publishing Co., Amsterdam, pp. 24—30.
Corneil D. G., Gotleb С. C., An efficient algorithm for graph isomorphism, Journ. Assoc. Comp. Mach., 17, № 1, (1970), 51—64.
Davis M., Putnam H., A computing procedure for quantification theory, Journ. Assoc. Comp. Mach. (I960) 201—215.
Bennett J. H., On spectra, Doctoral dissertation, Princeton University, 1962.
Hao Wang, Dominoes and the V3V case of the decision problem, Proc, of the symposium on mathematical theory of automata at Polytechnic Institute of Brooklin, 1962, pp. 23—55.
Hopcroft J., Ullman J., Formal languages and their relation to automata, Addison-Wesley, 1969.
Сводимость комбинаторных проблем1)
Ричард М. КарпКалифорнийский университет, Беркли
Большой класс вычислительных проблем включает определение свойств графов, ориентированных графов, целых чисел, массивов целых чисел, конечных "семейств конечных множеств, булевых формул и элементов других счетных множеств. Посредством простого кодирования таких объектов множествами слов над конечным алфавитом эти проблемы могут быть превращены в проблемы распознавания языков и можно исследовать их вьь числительную сложность. Имеет смысл считать, что такая проблема решается удовлетворительно, если найден алгоритм для ее решения, оканчивающий свою работу за время (число шагов), ограниченное полиномом от длины входного слова. Мы покажем, что большое число классических нерешенных проблем покрытия, сочетания, упаковки, нахождения маршрутов, назначе* ния и4упорядочения эквивалентны между собой в том смысле, что или каждая из них обладает полиномиально-ограниченным алгоритмом, или ни одна из них такого алгоритма не имеете
ВВЕДЕНИЕ
Все известные в настоящее время общие методы вычисления хроматического числа графа, определения существования гамильтонова цикла в графе или решения системы линейных неравенств,. в которых переменные принимают значения 0 или 1, требуют вычислений, длительность которых растет в худшем случае экспоненциально по отношению к длине слова. В настоящей статье мы докажем ряд теорем, которые дают повод (хотя прямо из них это не следует) считать, что эти проблемы, а также многие другие будут всегда оставаться трудными для решения.
Нас особенно интересует существование алгоритмов, обеспечивающих, завершение работы за число шагов, ограниченное полиномом от длины входа. Мы укажем класс хорошо известных комбинаторных проблем, включая упомянутые выше, которые эквивалентны друг другу в том смысле, что полиномиально-огра-
.】)Karp R. М., Reducibility among Combinatorial problems, - Complexity of computer computations. Proc. Symp; March 20—22, 1972, 85—103・
ниченный алгоритм для любой Из них будет эффективно порождать полиномиально-ограниченйые алгоритмы для всех. Мы также покажем, что если эти проблемы обладают полииомиаль^ но-ограниченными алгоритмами, то все проблемы из очень широкого класса проблем (грубо говоря, класса проблем, разрешимых путем обратного поиска полиномиальной глубины) обладают полиномиально-ограниченными алгоритмами.
Изложим вкратце содержание настоящей статьи. Ради определенности изложение ведется в терминах распознавания язцкбв на однолецточных машинах Тьюринга/но любая другая модель из довольно широкого множества абстрактных моделей вычислений позволяет развить подобную теорию. Пусть S* ——множество всех конечйых слов, составленных из нулей й единиц. Произвольное подмножество 2* называется языком. Пусть Р — класс языков, распознаваемых за полиномиальное время на рднолен- точных детерминированных машинах Тьюринга, и пусть NP — класс языков, распознаваемых за полиномиальное время на од- нрленточных недетерминированных машинах Тьюринга. Пусть П — класс функций, определенных на S* со значениями из S*, вычислимых за полиномиальное время на одноленточных машинах Тьюринга. Пусть L и М ——языки. Говорят, что L ос М (L сводится к М), если существует функция f е П, такая, что f(x)^M^=>.x е L. Если М^ Р и L ос Al, то 工三 Р. Назовем L и М эквивалентными, если L <х М и М ос Е. Назовем L (полиномиально) полным, если L w NP и любой язык из NP сводится к L. Очевидно, что либо все полные языки принадлежат Р, либо ни один нз них не принадлежит Р・ Цервое имеет место тогда и только тогда, когда 户=NP.
Главное содержание этой статьи заключается в доказательстве того, что большое число классических трудных вычислительных проблем, возникающих в таких областях, как математическое программирование, теория графов, комбинаторика, вычислительная логика, теория переключательных схем, являются полными (и, следовательно, эквивалентными), когда они выражаются естественным путем как проблемы распознавания языков. 二
Эта статья навеяна работой Стефана Кука [1] и опирается на важную теорему из этой работы. Автор признателен Юджину Лоулеру и Роберту Тарьяну за большую помощь.
КЛАСС Р
• Существует большой класс важных вычислительных проблем, включающий, в себя определение свойств графов, ориентированных графов, целых чисел, конечных семейств конечных множеств, булевых формул и элементов других счетццх областей.
Разумная рабочая гипотеза, которую впервые стал защищать Джек Эдмондс [2] в связи с проблемами теории графов и целочисленного программирования и которая поныне широко принята, состоит в том, что такого рода проблема может считаться легко решаемой тогда и только тогда, когда существует алгоритм ее решения со временем работы, которое ограничено полиномом от размера входных данных. В этом разделе мы вводим и начинаем исследовать класс проблем, разрешимых за полиномиальное время.
Начнем с того, что дадим предельно общее определение понятия «детерминированного алгоритма», вычисляющего функцию, определенную на счетном множестве D, принимающую значение из счетного множества R.
Для любого конечного алфавита А обозначим через Л* множество конечных слов алфавита А, для любого % w 4* пусть 1g (%) обозначает длину %.
Детерминированный алгоритм А характеризуется следующим:
счетным множеством D (область определения), счетным множеством R (область значений), конечным алфавитом А, таким, что Д* Г) /? = 0, кодирующей функцией Е:。今 А*, функцией перехода т: Д*~> Д* U R* 9
Вычисление А на входе % w О есть единственная последовательность /л, у?, • • •, такая, что у\ = Е(%), у^ = т〈/Л)для любого Z, и если эта последовательность конечна и заканчивается yki то у丸三 R・ Любое слово, являющееся элементом вычисления, называется мгновенным описанием. Если вычисление Л на входе х является конечной последовательностью длины 力(%), то время работы Л на входе х равно 力(%). Л называется ограниченным, если все его вычисления конечны. Ограниченный алгоритм А вычисляет функцию %: D 一 R, такую, дто %(%) есть последний элемент вычисления А на х.
Если R = {ПРИНЯТЬ, ОТВЕРГНУТЬ}, то 4 называется распознающим алгоритмом. Распознающий алгоритм, для которого D = S*, называется словарным распознающим алгоритмом. Если Л ——словарный распознающий алгоритм, то язык, распознаваемый алгоритмом 4 — это {% w W* | fA (%) = ПРИНЯТЬ}. Если О = 7? = S*, то Л называется словарным отображающим алгоритмом. Ограниченный алгоритм Л с областью определения 0 = 2* работает полиномиальное время, если существует полином р(・),такой, что для любого % w £*,力(%) W p(lg(%))・
Для того чтобы рассматривать алгоритмы в некотором прак-
I) Необходимо потребовать, чтобы кодирующая функция и функция перехода бцли ецчислимыми.
тическом контексте, необходимо конкретизировать понятие детерминированного алгоритма. Различные хорошо известные классы словарных распознающих алгоритмов (алгоритмы Маркова, одноленточные машины Тьюринга, многоленточные и многоголовочные машины Тьюринга, машины со случайным доступом и т. д.) описываются путем наложения ограничений на функции Е и т так, чтобы они принадлежали определенным очень ^простым типам. Эти определения стандартны (Хопкрофт и Ульман [3]) и не будут здесь повторяться.-
В настоящее время принято считать, что различные такие классы эквивалентны относительно возможности распознавания языков, для каждого такого класса алгоритмов класс распознаваемых языков является классом рекурсивных языков. Эта инвариантность относительно изменения определений ——одно из свидетельств в пользу того, что рекурсивность является Правильной математической формулировкой интуитивного понятия разрешимости.
Класс языков, распознаваемых словарными распознающими алгоритмами за полиномиальное время, также инвариантен относительно широкого ряда изменений в классе алгоритмов. Например, любой язык, распознаваемый за время р(・) на многоголовочной или многоленточной машине Тьюринга, распознаваем за время р2( -) на одноленточной машине Тьюринга. Таким образом, класс языков, распознаваемых за полиномиальное время на одноленточной машине Тьюринга, тождествен классу, распознаваемому на, казалось бы, более мощных многоголовочных или многоленточных машинах Тьюринга. Подобные замечания применимы к машинам со случайным доступом.
Определение 1. Р есть класс языков, распознаваемых на одноленточных машинах Тьюринга за полиномиальное время.
Определение 2. П есть класс функций, определенных на S* со значениями из S*, вычисляемых на одноленточных машинах Тьюринга за полиномиальное время.
Читатель не допустит ошибки, если отождествит Р с классом языков, распознаваемых на цифровых вычислительных машинах (с неограниченной периферийной памятью) за полиномиальное время, и П ——с классом словарных отображений, которые выполняются за полиномиальное время на таких вычислительных машинах.
Замечание. Если f: 2* —>S* принадлежит П, То существует полином р(・),такой, что lg(f(%)) W p(lg(x)).
Теперь мы введем понятие сводимости, которое является важнейшим понятием этой статьи.
Определение 3. Пусть L и М — языки. Тогда L ос М (L сводим к М), если существует функция f w 口, такая, что f(x)^M^x^ L.
Лемма 1. Если L ос М и М w Р, то L w Р・
Доказательство. Полиномиально-ограниченный алгоритм, решающий % 曰厶,получается следующим образом: вычислить /(%); затем проверить за полиномиальное время, выполняется ли f (%) w М.
Нас будет интересовать трудность распознавания подмножеств счетных множеств, отличных от 2*. Если такое множество D зафиксировано, то обычно существует естественное взаимно однозначное кодирование с: 0 +>• Например, мы можем представить положительное целое число как слово из нулей и единиц, являющееся двоичным представлением этого числа, одномерный целочисленный массив — как список целых чисел, матрицу—как список одномерных массивов и т. д. Суп|есхвуют стандартные технические приемы кодирования «списков» словами над конечным алфавитом и слов над произвольным конечным алфавитом словами из нулей и единиц. Для данного кодирования е: Of» мы говорим, что множество Т 三 D распознается за полиномиальное время, если е(Т)巨 Р. Пусть также даны множества Т 三 D н U 三 D' и кодирующие функции е: jDf 2* и U: 1У-> 2*. Мы говорим Т ос U, если е(Т)ос er(U).
,Как правило, возможны несколько естественных кодирований данного множества. Например, граф может быть представлен своей матрицей смежности, своей матрицей инцидентности^ или списком неупорядоченных пар вершин, соответствующих дугам. Если мы выбираем одно из этих представлений, то тем самым оказываются принятыми по нашему произволу несколько решений, касающихся, например, формата и пунктуации., К счастью, почти всегда «очевидно», что любые две разумные системы кодирования во и е】данной проблемы эквивалентны, т. е. eo(S)e P<=3ei(S)w Р. Одно важное исключение касается представления положительных целых чисел. Мы оговариваем, что положительное целое число кодируется в бинарной, а не в унарной форме. Исходя из инвариантности распознаваемости в полиномиальное время и сводимости друг к другу разумных кодирований, мы обсуждаем все проблемы в терминах их областей определения, не задавая их в кодах S*. .
Мы завершим этот раздел перечислением проблем, разрешимых в полиномиальное время. В следующем разделе мы рассматриваем несколько родственных по отношению к ним про* блем, о которых неизвестно, разрешимы ли они в полиномиальное время. В приложении 1 приводится система обозначений.
Каждая проблема определяется заданием (под заголовком «ВХОД») элёмента, характеризующего область определения, и (под заголовком «СВОЙСТВО») свойства, которое определяет, следует ли данный вход принять.
2-ВЫПОЛНИМОСТЬ (Выполнимость КНФ не более чем с двумя буквами в каждой скобке) [Кук [1]].
ВХОД: Скобки (элементарные дизъюнкции) Сь С2,…,Ср, каждая из которых содержит не более двух букв
СВОЙСТВО: Конъюнкция' данных скобок выполнима, т. е. существует множество S 三{%i, Х2, ..., %п;元ь х2, • • •,元п}, такое, что
S ,не содержит пары букв, одно из которых является отрицанием другой, и.'
S A Cfo у= 0, fe = 1, 2, ..., р..
МИНИМАЛЬНЫЙ ОСТОВ (накрывающее дерево) графа [Крускал [5]]
ВХОД: G,叽取
СВОЙСТВО: Существует остов веса W 戚.
КРАТЧАЙШИЙ ПУТЬ [Дийкстра [6]]
ВХОД: G, ш, W, s,力
СВОЙСТВО: Существует путь между s и / веса W W.
МИНИМАЛЬНЫЙ РАЗРЕЗ [Эдмондс и Карп [7]],
ВХОД: G, ш, % s, t
СВОЙСТВО: Существует s, t разрез веса W W.
РЕБЕРНОЕ ПОКРЫТИЕ [Эдмондс [2]]
ВХОД: G, k
СВОЙСТВО: Существует множество У 三 4 такое, что IУ| ^ fe и каждая вершина инцидентна некоторому ребру в У.
УДАЛЕНИЕ РЕБЕР
ВХОД: G/
СВОЙСТВО: Существует множество из k ребер, удаление которых разрывает все циклы.
ДВУДОЛЬНОЕ ПАРОСОЧЕТАНИЕ [Холл [8]]
ВХОД: S^ZpXZp
СВОЙСТВО: Существуют р элементов S, любые два из ко торых различаются между собой в обоих компонентах.
УПОРЯДОЧЕНИЯ С ОГРАНИЧЕНИЯМИ
ВХОД: (Т「・・・,Т/ и Z\ (2,・・・,&) w Z* 尼
СВОЙСТВО: Начиная со времени 0, можно в некоторой очередности выполнять работы 1, 2, 3, ..., и со временем выполнения Ti и сроками выполнения О^, причем порядок должен быть таким, что не более чем для 尼 работ нарушаются их сроки выполнения.
РАЗРЕШИМОСТЬ ЛИНЕЙНЫХ УРАВНЕНИЙ'
ВХОД: &•), (%•)
СВОЙСТВО: Существует вектор (у,,такой, что для каждого / £ СцУ1 =
НЕДЕТЕРМИНИРОВАННЫЕ АЛГОРИТМЫ И ТЕОРЕМА КУКА
В этом разделе мы сформулируем важную теорему, доказанную Куком [1] и утверждающую, что любой язык из определенного широкого класса языков NP сводится к конкретному языку S, соответствующему проблеме выполнимости булевой формулы, заданной в конъюнктивной нормальной форме.
Пусть Р^ обозначает класс подмножеств множества S* X », распознаваемых за полиномиальное время. Для данных Z@)w w PR) и полинома р определим язык L следующим образом:
L = {х\ существуют у, такие, что (х, у) м LQ)и
ig(y) V P(lg(无))}•
Будем говорить, что язык L выводим из LQ)путем навешивания р-ограниченного квантора существования.
Определение 4. NP есть множество языков, выводимых из элементов 夕⑶ путем навешивания полиномиально-ограниченных кванторов существования.
Существует другая характеристика NP в терминах недетерминированных машин Тьюринга. Недетерминированный распознающий алгоритм А определяется:
счетным множеством D (область определения),.
конечным алфавитом А, таким, что А Г) {ПРИНЯТЬ, ОТВЕРГНУТЬ} =0, кодирующей функцией Е: D -> А*,
отношением перехода 9 т s Д* (Д* U {ПРИНЯТЬ, ОТВЕР* ГНУТЬ}),
так, что для любого у0 е А* множество {(//о, у) | {уо. у} е т} имеет меньше чем kA элементов, где kA ——константа. Вычисление А на входе 无三万 есть последовательность 勿,從,...,такая,
См. примечание на стр. 18.
что г/1 = £(х),〈玖,玖+1〉тт для всех i, и если последовательность конечна и оканчивается на yki то уп ^ {ПРИНЯТЬ, ОТВЕРГНУТЬ}. Слово, встречающееся в некотором вычислении, называется мгновенным описанием. Конечное вычисление, оканчивающееся словом ПРИНЯТЬ, называется принимающим вычислением. Вход % называется допустимым, если для % существует принимающее вычисление. Если D = 2*, то А называется недетерминированным словарным распознающим алгоритмом и мы говорим, что А работает полиномиальное время, если существует полином р(・),такой, что если А принимает %, то для х существует принимающее вычисление длины Wp(lg(%))・
Недетерминированый алгоритм может рассматриваться как процесс, который, будучи поставлен перед выбором одной из (скажем) двух альтернатив, может создать две копии самого себя и проследить последовательность вычислений обоих способов действия. Такое ветвление может привести к экспоненциально увеличивающемуся числу копий. Вход является допустимым, если некоторая последовательность выборов приводит к его принятию. '
Недетерминированные одноленточные машины Тьюринга, многоленточные машины Тьюринга, машины со случайным доступом и т. д. определяют классы недетерминированных словарных распознающих алгоритмов путем ограничения кодирующей функции 尸 и отношения перехода у до особенно простых форм. Все эти классы алгоритмов, ограниченных полиномиальным временем работы, определяют один и тот же класс языков. Более того, этот класс есть NP.
Теорема 1. L q NP тогда и только тогда, когда L принимается!) недетерминированной машиной Тьюринга, работающей полиномиальное время. -
Доказательство. 1) Предположим, L w NP. Тогда для некоторого 〃2)曰 р(2)и некоторого полинома р язык L может быть получен из £偉)путем навешивания р-ограниченного квантора существования. Можно построить недетерминированную машину, которая первым делом «угадывает» последовательность цифр цепочки у длйны W p(lg(x)) и затем проверяет, будет ли (х, у)曰 £2. Лено, что такая машина распознает язык L за полиномиальное время. /
Предположим, что язык L принимается недетерминированной машиной Тьюринга Т за время р. Предположим, без ограничения общности, что для любого мгновенного описания Z
,)Язык L принимается машиной Тьюринга, если всякое слово из L принимается ею. — Прим. ре&
существует не более двух, мгновенных описаний, которые могут следовать за Z (т. е. применимы не более чем два простых перехода) .Тогда последовательность выборов мгновенных описаний, производимых Т в данном вычислении, может быть закодирована словом у, состоящим из нулей и единиц, таким, что ig(y)w P(lg(%))・
Таким образом, можно построить детерминированную машину Тьюринга 7V со входами из 2* X 2*, которая на〈%, у〉 действует подобно тому, как на входе х действует машина Т с последовательностью выборов у. Ясно, что 7V работает полиномиальное время и L получен при помощи полиномиально-ограниченного квантора существования из множества пар цепочек, принимаемых машиной 7V.
Класс NP весьма широк. Допуская вольность речи, можно сказать, что данная проблема принадлежит классу NP тогда и только тогда, когда она может быть решена путем обратного поиска полиномиально-ограниченной глубины. Большое число важных вычислительных проблем, для которых'неизвестно, принадлежат ли они Р, очевидно, принадлежит NP. Например, проблема определения: могут ли вершины графа G быть раскрашены красками таким образом, что никакие две соседние вершины не имеют одинакового цвета. Недетерминированный алгоритм может просто наугад задать цвета вершин и затем>проверить (за полиномиальное время), имеют ли все пары соседних вершин различный цвет.
Ввиду большой широты класса NP формируемая ниже и принадлежащая Куку теорема является весьма примечательной. Проблема выполнимости определяется следующим образом:
выполнимость
ВХОД: Скобки (элементарные дизъюнкции) С】,С2, ..., С&・ СВОЙСТВО: Конъюнкция данных скобок является выполнимой, т. е. существует множество S 三{无卜尤2, • • •, xn; xb x2, • •・ ...,%4, такое, что
S не содержит никакой буквы вместе с ее отрицанием и
SП Ch = 0, ^ =з I, 2, ..., р.
Теорема 2. (Кук.) Если L r NP, то L ос ВЫПОЛНИМОСТЬ.
> Теорема, установленная Куком [1], использует более слабое понятие сводимости, чем то, которое используется здесь, но доказательство Кука справедливо и для нашего случая.
Следствие 1. Р = NP4=^ ВЫПОЛНИМОСТЬ 巨 Р.
Доказательство. Если ВЫПОЛНИМОСТЬ е Р, то для любого 厶三 NP,厶 е Р, так как 厶 ос ВЫПОЛНИМОСТЬ. Если
ВЫПОЛНИМОСТЬ ^ Р, то Р 唉 NP、так' как ясно, .что BbL ПОЛНИМОСТЬ е Л^Р. '
Замечние. Если Р = ^P, то NP замкнут относительно дополнения^ и полиномиально ограниченного квантора существования. Следовательно, он также замкнут относительно полиномиальноограниченного квантора общности. Из этого следует, что полиномиально-ограниченный- аналог арифметической иерархии Клини (Роджерс [9]) становится тривиальным, если Р = NP.
Теорема 2 показывает, что если бы существовал полиномиально ограниченный алгоритм распознавания ВЫПОЛНИМОСТИ, то любая проблема, разрешимая с помощью обратного поиска полиномиальной глубины, разрешима также с помощью (детерминированного) алгоритма за полиномиальное время. Это сильное косвенное свидетельство в пользу того, что ВЫПОЛНИМОСТЬ 陆p.
ПОЛНЫЕ ПРОБЛЕМЫ
Главная цель этой статьи — установление того, что большое число важных вычислительных проблем может играть роль проблемы ВЫПОЛНИМОСТЬ в теореме Кука. Такие проблемы мы будем называть полными.
Определен_ие 5. Язык L является (полиномиально) полным, если .
L 巨 NP.
ВЫПОЛНИМОСТЬ ос L.
Теорема 3. Либо все полные языки принадлежат^Р, либо ни один из них не принадлежит Р. Первое имеет место тогда и только тогда, когда Р = NP.
Можно расширить понятие полноты, распространив его на проблемы, определенные над cqeTHbrita множествами, отличными от 2*.
Определение 6. Пусть D,— счетное множество, е — «стандартное» взаимно однозначное кодирование с: D ->S* и Т — подмножество О. Т называется полным тогда и только тогда, когда е(Т) полно.
Лемма 2. Пусть D и Df ——счетные множества с взаимно однозначными кодирующими функциями е и е‘. Пусть Т ^ D и 7V 三 £>'・ Тогда Т ос 7\ если существует функция 户:D f D\ tq・ кая, что -
а)尸(%)三厂今х三T "
существует функция,巨□, такая, что/
f(x) = ef (F (е~{ (х))) во всех случаях, когда 廿(尸(《一乂%))) определено.
Оставшаяся часть статьи главным образом посвящена доказательству следующей теоремы.
Основная теорема. Все нижеследующие проблемы полные.
ВЫПОЛНИМОСТЬ
Примечание. В силу двойственности эта проблема эквивалентна определению того, является ли некоторая дизъюнктивная нормальная форма тавтологией.
0-.1 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ ВХОД: матрица целых чисел С и вектор целых чисел 〃 СВОЙСТВО: Существует вектор х из нулей и единиц (0-1 вектор), для которого Сх = d.
КЛИКА
ВХОД: граф G, положительное целое число Е СВОЙСТВО: G содержит множество k попарно смежных вершин.
УПАКОВКА МНОЖЕСТВ
ВХОД: семейство множеств {SJ, положительное целое число I СВОЙСТВО: {S» содержит / попарно непересекающихся множеств.
ВЕРШИННОЕ ПОКРЫТИЕ
ВХОД: граф G', положительное целое число I СВОЙСТВО: Существует множество R 三 N', такое, что |R] W 々 и каждое ребро графа G инцидентно некоторой вершине из R.
ПОКРЫТИЕ МНОЖЕСТВАМИ
ВХОД: конечное свойство конечных множеств {S,, положительное целое число k'
СВОЙСТВО: Существует подмножество {7\}三{S)}, содержащее. 忘 尼 множеств, такое, что U Т九 = 0 Sj.
МНОЖЕСТВО ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ
' ВХОД: ориентированный граф Я, положительное целое число Е、
СВОЙСТВО: существует множество R 三匕 такое, что каждый контур графа Н содержит вершину из R.
МНОЖЕСТВО ДУГ, РАЗРЕЗАЮЩИХ КОНТУРЫ ВХОД: ориентированный граф Н, положительное целое ,число 论
СВОЙСТВО: существует множество S 三 Е, такое, что каждый контур графа Н содержит дугу из S.
ГАМИЛЬТОНОВ КОНТУР
ВХОД: Ориентированный граф "
СВОЙСТВО: Н содержит контур, включающий каждую вершину ровно один раз. *
ГАМИЛЬТОНОВ ЦИКЛ
ВХОД: граф G
СВОЙСТВО: G имеет цикл, включающий каждую вершину ровно один раз. 、
3-ВЫПОЛНИМОСТЬ (ВЫПОЛНИМОСТЬ НЕ БОЛЕЕ ЧЕМ С 3 БУКВАМИ В КАЖДОЙ СКОБКЕ)
ВХОД: скобки £)i, £>2, • • •, Dr, каждая из которых содержит не более 3 букв из множества букв {〃卜 〃2, ..., 〃m} U U {〃1, 〃2, • • • , “m}
СВОЙСТВО: конъюнкция D、& ... &Dr выполнима.
ХРОМАТИЧЕСКОЕ ЧИСЛО
ВХОД: граф G, положительное целое число Е
СВОЙСТВО: существует функция Ф:Z^, такая, что
если и и ^ смежны, то R(〃)#=①(и).
ПОКРЫТИЕ КЛИКАМИ
ВХОД: граф G\ положительное целое число I СВОЙСТВО: М есть объединение I или меньшего числа
КЛИК.'
ТОЧНОЕ ПОКРЫТИЕ,
ВХОД: семейство {S» подмножеств множества {〃厶 i = = 1,2,...,/}
СВОЙСТВО: существует подсемейство {Т九}三{5j}, такое, что множества 7\ не пересекаются и I) Th= U S; = {〃订 i = —1, 2,f}•
МНОЖЕСТВО ПРЕДСТАВИТЕЛЕЙ
ВХОД: семейство {UJ подмножеств множества {sj, / = =1, 2, ..., г}
СВОЙСТВО: Существует множество W, такое, что для каждого f |ГП Ui\= 1.
ДЕРЕВО ШТЕЙНЕРА
ВХОД: граф G, R 三 N, весовая функция w: Л ~>Z, положительное целое число 左
СВОЙСТВО: G имеет поддерево веса W 財 множество вер* шин которого содержит 凡
3-МЕРНОЕ ПАРОСОЧЕТАНИЕ
ВХОД: множество U 三 Т X Т X Т, где Т — конечное множество
СВОЙСТВО: Существует множество W ^U, такое, что I Il^l = I Т| и любые два его элемента отличаются по всем координатам.一亠
РЮКЗАК
ВХОД: (s, &,.・•,% b)w Z^+i
СВОЙСТВО: ^ajXj = bj имеет 0-1 решение.
УПОРЯДОЧЕНИЕ РАБОТ
ВХОД: «вектор времени выполнения» (Ть ..., Tp) wZ&, ” «вектор сроков» (Z)b ..., Dp)^ Z&, 、
«вектор штрафов» (Рь ..., Рр)е положительное целое число /
СВОЙСТВО: Существует перестановка л р-множества р
{1, 2, ... р}, такая, что Е dy < А, где dy = {ря цу если Гл ф +
+『л(2)+ …十 С ⑺ A 4(/)•.
РАЗБИЕНИЕ
ВХОД: 9, &,・•・,Сз)Е Z$
СВОЙСТВО: Существует такое множество /三{1, 2,s}, что 2,% = N%・ Ле/ Л /
МАКСИМАЛЬНЫЙ РАЗРЕЗ/
ВХОД: граф G, весовая функция w: A-^Z, положительное целое число W、
СВОЙСТВО: Существует множество S 三 N, такое, что
e9({弘叫)》 步.
{«, и) е Л, а е S0节S
Ясно, что все эти проблемы (или, более точно, их кодировки в »). принадлежат классу NP. Приступим к осуществлению ряда явных сведений, показывающих, что «выполнимость» сводится к любой из перечисленных проблем. Рисунок 1 (см. стр. 30) показывает структуру множества сведений. Каждая линия рисунка указывает сводимость верхней проблемы к нижней.
Для доказательства сводимости некоторого множества Т ^ D к множеству 厂三 ZX мы определим функцию F: D f D\ удовлетворяющую условиям леммы 2. Всякий раз читателю придется затратить некоторые усилия, чтобы убедиться, что F удовлетворяет этим условиям.
ВЫПОЛНИМОСТЬ ос 0-1 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ1)
'1, если XjWCi,
i = 1,2, ..., р,
с〃 = < —1, если Xj ^ Сi9
/= 1, 2, ..., д,
к 0, в остальных случаях.
bj = 1 — (число переменных с отрицанием в CJ, z = 1, 2, •・・,р. ВЫПОЛНИМОСТЬ ос КЛИКА
^ = {(a, i〉| и есть буква, встречающаяся в CJ, А = {{(а, 0, (б, />}!/¥=/, с ¥=6}, 々=р число предложений.
КЛИКА ос УПАКОВКА МНОЖЕСТВ
Положим ^ = {1, 2, ..., и}. Элементами множеств Si,・•・,Sn являются те двухэлементные множества вершин {% /}, которые не принадлежат 4
S/ = {{/, j}〔{厶 j}亥 &, i = 1, 2,・・.,九, I = й.
КЛИКА ос ВЕРШИННОЕ ПОКРЫТИЕ • G' есть дополнение G, ,,
l^\N\-k.
ВЕРШИННОЕ ПОКРЫТИЕ ос ПОКРЫТИЕ МНОЖЕСТВ
Положим NJ = {1, 2, ..., и}. Элементы — это дуги G',\S/ — множество дуг, инцидентных вершине j,左=Z・
ВЕРШИННОЕ ПОКРЫТИЕ ос МНОЖЕСТВО ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ
V = V,
£ = {〈〃,0〉| {弘 и} W&}, k = /.
ВЕРШИННОЕ ПОКРЫТИЕ ос МНОЖЕСТВО ДУГ, РАЗРЕЗАЮЩИХ КОНТУРЫ 展 №Х{0, 1},
•,尸={《〃,0),〈弘 l》1"wN‘}U {《弘 1〉,〈。,o〉l{",u}w4}, k = l.
См. замечания редактора.
I) См. замечания редактора.
ВЕРШИННОЕ ПОКРЫТИЕ ос ГАМИЛЬТОНОВ КОНТУР Без ограничения общности положим A! — Zm.
У = 3, &,・・・,S} U {〈弘厶 а〉I 〃 w № инцидентно,曰 % и
as {0, 1}},
f={《弘厶0〉,〈弘z, 1》® /, 0〉wV}U
и {《弘厶 а),〈и, /, а)) I и и v инцидентны /, Z е А7 а е {0, 1}}
U {《弘厶 1〉,〈弘 Л 0»|/ и / инцидентны 〃 и ПЭА, / < А < /,
такое, что А инцидентно 吟
U {《弘厶 1〉,а» 11 & f 式 Z и 口三力 > / такое, что Л,инцидентно 辽}
U {〈“"〈〃,/, 0))|1 <f<Z и ПЗЛ < I такое, что А инцидентно 辽}
ГАМИЛЬТОНОВ КОНТУР ос ГАМИЛЬТОНОВ цикл
N =,X® 1, 2},
/ = {{{〈〃,0〉,〈〃,1)}, {〈弘 1),〈弘 2〉}}|〃w,}U
一 и {{〈〃,2), 8, 0〉} |{u, 0 w Е}.
ВЫПОЛНИМОСТЬ ОС 3-ВЫПОЛНИМОСТЬ
Заменим скобку Qi V с2 V ... V ст, где о» буквы и m > 3, на】)一
(6 V a2 V ^i) (a3 V ... У am V %)(备 V 〃i)・・・(М V 斫),
где 〃i — новая переменная. Повторим это преобразование до тех пор, пока ни одна из скобок не будет иметь не более чем три буквы.
3-ВЫПОЛНИМОСТЬ ОС ХРОМАТИЧЕСКОЕ ЧИСЛО) Без ограничения общности можно считать, что m ^ 4.
N = {辽 1,“2,•・.•,〃/n} U {〃1,〃2, • • •, ^m} U Wi,s, . . ., 0加} U
и{,,4,・・・,ai,
A = {{uh 必} |/= 1, 2, ..., n}(J{{vb и» |i,/} (J
U {也・,,} I, * )} U {也・,%/}\i^ j}U {{〃厶 Df} \щ 陆 Df} U U{{年4}g4},
ХРОМАТИЧЕСКОЕ ЧИСЛО ос ПОКРЫТИЕ КЛИКАМИ
G' — дополнение G,l = k.
J) На самом деле можно заменить 6 V 02 V ••• V формулой (S V ста V 〃i) (оз V …V。加 V nJ. — Прим, ped. —--
ХРОМАТИЧЕСКОЕ ЧИСЛО ос ТОЧНОЕ ПОКРЫТИЕ
.Множеством элементов является множество
NU AU {〈弘 е, f〉|e инцидентно и и l&f &々}・
Множества S)определяются следующим образом: для каждого 力 1 W f W 財 и любого и 巨 N
{〃} U {〈〃, ej〉|〃 инцидентно е},
для каждого е^А и любой пары fi, %, такой, что 1 W 力 W 论, 1 & % W々и力耍&,
{e}U {〈弘 % f〉lf =/=fi}U{〈u, e, g〉lg=/=f2},‘
где e инцидентно двум вершинам 〃 и и.
ТОЧНОЕ ПОКРЫТИЕ ос МНОЖЕСТВО ПРЕДСТАВИТЕЛЕЙ “
Проблема множества представителей ймеет множествами U< и элементами §力 такие, что Sj w Ui <=> щ w Sj
ТОЧНОЕ ПОКРЫТИЕ ос ДЕРЕВО ШТЕЙНЕРА
N = So}U{S/}U{〃i},
R R {九о} U {〃»,
“А = {{九о, S,} U {{S/, 〃j 也 w S/}, '
步= (5о, S») = |S/|,
W^=({Sh 吟) = 0,
々=I {勿} I-、
ТОЧНОЕ ПОКРЫТИЕ ос 3-МЕРНОЕ ПАРОСОЧЕТАНИЕ
Без ограничения общности положим JS;| ^ 2 для любого /. Пусть Г = {(/, j)\ui^. SJ. Пусть а — произвольная взаимно однозначная функция из {修} в Т. Пусть л: Т f Т — перестановка, такая, что для любого фиксированного /, {〈厶]}\щ^ Sj} есть цикл л.
U = {^(u^ (f, j〉,& j〉〉l〈i, j〉wT}U{〈B,5 冗⑹〉丨 Для всех
厶 В * а(〃)}・ ТОЧНОЕ ПОКРЫТИЕ ос РЮКЗАК
f 1, если ut е S;, Пусть d = |{S/}|+L Пусть 恥е:ли 〃层 % Пусть г = I ⑹ I,旬=£ е“尸 и Ъ = 4■斗 * РЮКЗАК <х УПОРЯДОЧЕНИЕ РАБОТ
p = r, Ti = Pi = ah Z\ =瓦
РЮКЗАК а РАЗБИЕНИЕ
s = r + 2,
3 =。厶 i = 1, 2, ..., г,
好+1 =及+i,
РАЗБИЕНИЕ ос Л1АКСИМАЛЬНЫЙ РАЗРЕЗ
N = {1, 2, ..., s},
= ({Л /}) = с円,步=后2外
Некоторые из описанных здесь сведений не принадлежат автору этих строк. Кук [1] показал, что ВЫПОЛНИМОСТЬ ос 3-ВЫПОЛНИМОСТЬ. Сведение ВЫПОЛНИМОСТЬ ос КЛИКА намечено у Кука [1] и было известно также Рейтеру. Сведение ВЕРШИННОЕ ПОКРЫТИЕ ос МНОЖЕСТВО ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ было найдено на Семинаре по теории алгоритмов Отделения вычислительных наук Корнель- ского университета. Сведение ВЕРШИННОЕ ПОКРЫТИЕ ос ос МНОЖЕСТВО ДУГ, РАЗРЕЗАЮЩИХ КОНТУРЫ было найдено Лоулером и автором, и Лоулер нашел сведение ТОЧНОЕ ПОКРЫТИЕ ос З-РАЗМЕРНОЕ ПАРОСОЧЕТАНИЕ. Автор обнаружил, что проблема точного покрытия сводится к проблеме коммивояжера на ориентированном графе, дуги которого имеют длину 0 или 1. Усовершенствовав технику, использованную в этой конструкции, Тарьян показал, что ТОЧНОЕ ПОКРЫТИЕ ОС ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ и, независимо, Лоулер показал, что ВЕРШИННОЕ ПОКРЫТИЕ ос ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ. Сведение ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ ос НЕОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ нашел Тарьян.
Ниже мы приводим три проблемы из теории автоматов и теории языков, к которым сводятся все полные проблемы. Неизвестно, являются ли эти проблемы полными, их принадлежность к NP в настоящее время кажется сомнительной. Читатель, незнакомый с теорией автоматов и языков, может найти нео6・ ходимые определения у Хопкрофта и Ульмана [3].
ЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ ВХОД: пара регулярных выражений над алфавитом {0, 1}
2 Зак, 561
СВОЙСТВО: эти два выражения определяют один и тот же язык
ЭКВИВАЛЕНТНОСТЬ НЕДЕТЕРМИНИРОВАННЫХ КОНЕЧНЫХ АВТОМАТОВ
ВХОД: пара недетерминированных конечных автоматов с входом {0, 1}
СВОЙСТВО: эти два автомата определяют один и тот же язык. *
КОНТЕКСТНО-ЗАВИСИМОЕ РАСПОЗНАВАНИЕ ' ВХОД: Контекстно-зависимая грамматика Г и цепочка х.
СВОЙСТВО: х принадлежит языку, порожденному Г. Первым делом покажем, что
3-ВЫПОЛНИМОСТЬ ос ЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ ВЫРАЖЕНИИ
Сведение проведем в два этапа. Сначала построим пару регулярных выражений в алфавите
А ~ {"1,〃2,• • •,〃九;〃1,〃2,• • • , 〃/г}, затем преобразуем эту пару в одно регулярное выражение над алфавитом {0, 1}.丄
Первое регулярное выражение есть А^А* (более точно, А выписывается как (〃i + 〃2上・・・+ 〃冷+方1 +・・・+ йп) и Дп представляет % экземпляров выражения Д, связанных конкатенацией). Второе регулярное выражение есть
А公 U U 6〃£"A U А%А%А*) U 0 6 (2),i=l '无=1
где_
J a*36,если !\ = 5,
I 厶*3厶七2厶* U A*@2A*GiA\ если 0〃 = 5 U 6, 0 (2) = ! A*GiA*&A* U Д^^^зД^и А^гЛ^^^зЛ* U и 厶七2厶齿3厶七公* и Д*азД*^1А*^2Д* и А^зД^зД^^*, если °力=о】U的U Оз・ Пусть теперь т — наименьшее положительное число ^ log2)Д|, и пусть Ф — взаимно однозначное отображение Д в {0, 1}т. Заменяем каждое регулярное выражение регулярным выражением над {О, 1}, производя замену а Ф(а) для каждого вхождения каждого элемента А.
ЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ ос ЭКВИВАЛЕНТНОСТЬ НЕДЕТЕРМИНИРОВАННЫХ КОНЕЧНЫХ АВТОМАТОВ
Существуют стандартные алгоритмы (Саломаа [5]), превращающие регулярное выражение в эквивалентный недетер-
минированный автомат за полиномиально ограниченное число шагов..
В заключение мы покажем, что для любого L w NP
L ос КОНТЕКСТНО-ЗАВИСИМОЕ РАСПОЗНАВАНИЕ.
Предположим, L распознаваем за время р(・) на детерминированной машине Тьюринга. Тогда язык £ в алфавите {0, 1, #} принимается недетерминированным линейно-ограниченным ав- томатдм, который моделирует машину Тьюринга:
Z = {#PUg®)%#”g(%))|£wL}・
Следовательно, L является контекстно-зависимым языком и имеет грамматику Г. Таким образом,尤 三 L тогда и только тогда, когда,
(lg W)x -^р (1g
——допустимый вход для КОНТЕКСТНО-ЗАВИСИМОГО РАСПОЗНАВАНИЯ.
В заключение дадим список следующих важных проблем из NP, для которых неизвестно, полны они или нет.
ИЗОМОР①ИЗМ ГРАФОВ
ВХОД: графы G и G'
СВОЙСТВО: GGr изоморфны.
НЕПРОСТОТА 二
ВХОД: положительное целое число k
СВОЙСТВО:力 составное (не простое) Число.
ЛИНЕЙНЫЕ НЕРАВЕНСТВА
ВХОД: целочисленная матрица С, целочисленный вектор d СВОЙСТВО: Сх ^ d имеет рациональное решение.
ПРИЛОЖЕНИЕ 1
Система обозначений и терминология, использованные в описании проблем..
Пропозициональное исчисление
хь 尤2,・、・,无〃,〃i, 〃2,・・・,^т пропозициональные переменные
元1,元2,・・・,元仆"и 〃2,・・・,〃/« отрицания пропозициональных переменных;
5 а£буквы-
С” С2,・・・, CpD{, £)2, ・・・,D? скобки (элементарные дизъюнкции) e左 ~ {"1,%2, • • •,%九,%1,%2, • • •,%九},
。2 ~ {"1,"2,"m,"1, "2,• • •,"m}•
Никакая скобка не содержит переменной вместе с ее отрицанием..
Скаляры, векторы, матрицы
Zположительные целые числа
Zpмножество р-ок положительных целых чисел
Zpмножество {0, 1,・•・,р —1}
財 Wэлементы Z
〈%, у)упорядоченная пара 〈%, у)
(а) (у) d векторы с неотрицате ль ными целочисленными координатами
(с订)Сматрицы с целочисленными элементами.
Графы и ориентированные графы
G = (M A) Gz = (Af\ 4‘) конечные графы
М Ммножества вершин
Д, &множества дуг
s,九.〃,евершины
е, {弘 и}Дуги
(XX) = {{〃,v}\u^X, и w 身 разрез
Если swX и 力е无 то (X,方 есть s—/ разрез, w: 4f Z, М: 4*f Z весомые функции
Вес подграфа есть сумма весов его дуг
Н =(匕 Е) ориентированный граф
Vмножествовершин
Емножестводуг
%〈弘 и〉дуги
Множества
0пустое множество
ISIчисло элементов конечного множества S
{^/} {ГЛ} {uj конечные семейства конечных множеств.
ЗАМЕЧАНИЯ РЕДАКТОРА ПЕРЕВОДА
Сведение ВЫПОЛНИМОСТЬ ос 0-1 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ неверно. Например, формула %i(%i V х2)х2 выполнима, но соответствующая ей система %i= 1, %] + %2 = 1, %2 = 1 решения не имеет.
Покажем, что РЮКЗАК ос 0-1 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ./
РЮКЗАК
ВХОД: (s,Z^+i
СВОЙСТВО: SajXj = bj имеет .0-1 решение.
0-1 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ
ВХОД: целочисленная матрица С и целочисленный вектор d
СВОЙСТВО: Существует вектор % из нулей и единиц, для которого Сх = d
Возьмем в качестве матрицы С вектор (。卜。2,・・・,。2), в качество вектора d число Ь.
Сведение 3-ВЫПОЛНИМОСТЬ ос ХРОМАТИЧЕСКОЕ ЧИСЛО неверно. Например, формула (〃i V〃2\/〃з)(山 V五2 V〃4) выполнима, но соответствующий ей граф (^, А) содержит полный подграф с вершинами s, у2, из, и% не раскрашиваемый в три цвета.*
Покажем, что.
ПОКРЫТИЕ МНОЖЕСТВАМИ ос ХРОМАТИЧЕСКОЕ ЧИСЛО.
ПОКРЫТИЕ МНОЖЕСТВАМИ
ВХОД: Конечное семейство {SJ конечных множеств, положительное целое число /.
СВОЙСТВО: Существует подсемейство {7\}三 S), содержащее & / множеств, такое, что U7\ = US§.
ХРОМАТИЧЕСКОЕ ЧИСЛО
ВХОД: граф G, положительное целое число /.
СВОЙСТВО: существует функция Ф: ^ —► Z/, такая, что если и и V смежны, то ①(〃),①(и).
Построим граф G'= (^, Д), в котором ^ = U Sj, 4 = ={(г, 0 I существует S), такое, что г, f w S)}. Таким образом, множествам соответствуют полные подграфы графа G'. Пусть G〃 есть дополнение G〃. Пусть G получается из G〃 добавлением / изолированных вершин. Тогда подсемейство {7\}三{S)}, содержащее не более / множеств и удовлетворяющее условию U 7\,U S), существует в том и только том случае, когда вершины графа G можно раскрасить в / цветов так, что смежные вершины раскрашены разными цветами.
ЛИТЕРАТУРА
Cook S. A., The complexity of theorem-proving procedures, Proceedings Third Ann. ACM Symposium on the Theory of Computing, Shaker Heights, N.-Y., 1971, 151—158. (Кук С. А. Сложность процедур доказательства теорем, см. наст, сб., стр.5—15.)
Edmonds J., Path tress and flowers, Canad. J. Math., VIII, 449—467.
Hopcroft J., and Ullman J. D. Formal Languages and Their Relation to Automata, Addison — Wesley, Reading, Massachussets.
Kruskal J., On the shortest spanning subtree of a graph and the traveling salesman problem, Proceedings Amer. Math. Soc., 7 (1956), 48—50.
Dijkstra E., A note on two problems in connection with graphs, Num. Math., 1 (1959),269—271,、
Edmonds J. and Karp R., Theoretical improvements in algorithmic efficiency for network flow problems, /. A. С. M, 19, № 2 (1972), 248—264.
Hall M., Distinct representatives of subsets, Bull. Amer. Amer. Math. Soc., 54 (1948), 922r-926.
Rogers H., Theory of Recursive Functions and Effective Computability, McGraw-Hill, New York. Русский перевод. Роджерс X. Теория рекурсивных функций и эффективная вычислимость, М., Мир, 1972.
Salomaa A., Theory of Automata, Pergamon Press, Elmsford, New York, 1969,
Изоморфизм планарных графов)
Дж. Е. Хопкрофт, /7. Е. Тарьян
В статье предлагается алгоритм установления изоморфизма двух планарных графов, который требует O(V-log V) действий, где V「число вершин в каждом из графов.
ВВЕДЕНИЕ
Установление изоморфизма планарных графов является важным частным случаем общей проблемы установления изоморфизма графов. Эта задача возникает при перечислении различных классов планарных графов, а также при решении ряда технических задач. Целесообразно рассмотреть случай планарных графов отдельно, поскольку в настоящее время изучение более общих случаев имеет мало перспектив. Хотя для общей задачи установления изоморфизма существуют хорошие эвристические способы решения, все известные алгоритмы в худших случаях характеризуются числом действий, зависящим асимптотически экспоненциально от числа вершин.
В данной работе описывается эффективный алгоритм установления изоморфизма двух планарных графов. Асимптотически число действий этого алгоритма определяется как 0(V-log V), где V — число вершин в каждом из графов. Здесь как промежуточный результат приводится также алгоритм установления изоморфизма деревьев, характеризующийся линейным числом действий. Некоторые авторы (Эдмондс, Скойнс, Вейнбург, и др.) описывают подобные алгоритмы, но ни один из них не приводит нетривиальных деталей выполнения сортировок, используемых в предлагаемых алгоритмах.
' Первые результаты об установлении изоморфизма планарных графов принадлежат Вейнбергу, который разработал эффективный алгоритм определения изоморфизма 3-связных планарных графов, требующий число действий, пропорциональное V, а также алгоритмы установления изоморфизма «последовательно-параллельных» графов и деревьев. Эти алгоритмы можно легко скомбинировать для того, чтобы получить полиномиальноограниченный алгоритм решения задачи в случае произвольной
пары планарных графов. Далее, усовершенствованный алгоритм установления изоморфизма 3-связных планарных графов дан Хопкрофтом [1971 А], а затем Хопкрофт и Тарьян [1971 А] описали алгоритм установления изоморфизма планарных графов с оценкой числа действий V2.
Предлагаемая статья состоит из пяти разделов. Введение и определение необходимых понятий теории графов составляют содержание первого раздела. Во втором разделе описывается алгоритм нахождения разбиения графа на однозначно определенные 3-связные компоненты за,число действий, пропорциональное числу ребер графа. В третьем разделе дается алгоритм установления изоморфизма деревьев. В четвертом разделе описывается алгоритм установления изоморфизма 3-связных планарных графов за число действий, пропорциональное V-log V. В пятом описанные алгоритмы объединяются и описывается алгоритм установления изоморфизма произвольной пары планарных графов. В самых плохих случаях число действий алгоритма растет пропорционально V-log V.
Приведем теперь необходимые понятия и сделаем некоторые замечания. Предполагается, что читатель знаком с общепринятыми понятиями теории графов (см. Харари [1969 А]). Граф G определяется конечным множеством вершин V и конечным множеством ребер 君.Если ребрами являются неупорядоченные пары вершин, то имеем понятие неориентированного графа. Если ребра ——упорядоченные пары вершин, то граф называется ориентированным. Если (и,侬)一ориентированное ребро (дуга), то вершина w называется началом дуги, а вершина и — концом. Маршрут (обозначается и今侬)一это последовательность вершин и ребер, идущих из и к 侬.Маршрут называется простым, если все его вершины различные. Циклом называется замкнутый маршрут, у которого все ребра различные и только одна вершина повторяется дважды.
」 Дерево — это связный граф, не содержащий циклов. Корневым деревом называется ориентированный граф, обладающий следующими тремя свойствами: 1) существует точно одна вершина, называемая корнем, в которую не входит ни одна дуга; 2) для каждой вершины дерева существует последовательность дуг из корня в эту вершину; 3) в любую вершину, за исключением корня, входит точно одна дуга. Будем обозначать дугу (у, w) дерева через и-> 侬.Маршрут (ориентированный), иду, щий из вершины и в вершину w, обозначим через иП吼
Если и —> 侬,то будем называть вершину и отцом вершины w, а вершину w — сыном вершины v. Если же иП 侬,то вершину и назовем предком вершины w, а вершину w ——потомком вершины V. Каждая вершина по отношению к себе является и
предком, и потомком. Для вершины и дерева Т обозначим через Tv поддерево дерева Т, все вершины которого являются потомками вершины V в Т.
Пусть G ——ориентированный граф. Дерево Т называется остовным деревом графа G, если Г — подграф графа G и если Т содержит все вершины графа G.
Граф G 2-связен, если для каждой тройки различных вершин и, w, а существует такой маршрут р: и 马叫 что вершина а не принадлежит р. Если существуют такие три различные вершины и, w, а, что вершина а принадлежит любому маршруту р: 侬,то вершина а называется точкой сочленения графа G. Пусть множество ребер 君 графа G разбито на непересекаю- щиеся подмножества {乳} таким образом, что два ребра находятся в одном подмножестве в том и только том случае, когда эти ребра принадлежат некоторому (одному) циклу. Введем подграфы G〃 = (匕他〃),где 齒〃 一множества ребер i-ro подмножества, а 匕一множество всех вершин, инцидентных ребрам из 齒订 Тогда: 1) каждый граф G〃 2-связен; 2) ни один из графов G〃 не является собственным подграфом какого-нибудь 2-связного подграфа графа G; 3) любая вершина графа G, не являющаяся точкой сочленения, принадлежит точно одному множеству 7Й а каждая точка сочленения принадлежит по крайней мере двум различным множествам; 4) для каждой пары i, j (i 耍 j) множество Vi 0 Vj содержит не более одной вершины, причем если I Vt П Vj\ = 1, то соответствующая вершина является точкой сочленения. Подграфы Gi графа G называются его 2-связными компонентами.
Граф G 3-связен, если для.любых четырех различных вершин и, w^a, b из V существует такой маршрут р: и今侬,что вершины а, b не принадлежат р. Если найдется такая четверка различных вершин и,侬,а, Ь, что каждый маршрут р: и 今ну содержит или вершину а, или вершину Ь, то пара а, b называется 2-сочленением графа G. п-угольник — это связный граф, состоящий из цикла с п ребрами, п-связкой назовем пару вершин, соединенных п ребрами, строго говоря n-связка не является графом [см. Харари (1969А)]. Это понятие вводится потому, что при нахождении 2-сочленений и разбиений графа на 3-связные компоненты производится удаление компонент и замена их ребрами, в результате чего возникает необходимость рассматривать кратные ребра.
При соответствующей модификации введенного выше определения, например, такой, как в (Татт [1966А]), или при разбиении только 2-связных компонент можно обеспечить единственность выделения 3-связных компонент.
Для получения оценок числа действий алгоритмов используется модель с произвольным порядком выбора. Чтобы не рассматривать специальные детали этой модели, введем следующее обозначение. Если для вектора 九 и функций /(n), f(n) существуют такие константы 臥,、局,что I f (〃) I &財• I f (九)J + ^2, то будем писать ,丿(九)есть О (f(n))u.
Будем использовать несколько вспомогательных алгоритмов. С помощью одного из них, называемого основной сортировкой (radix sort), размещают п целых чисел %【,%2,• • • ,%九,каждое из которых заключено между 1 и и, по ящикам, за число действий О (п). Каждое число %彳 помещается в ящик 力厶 а затем содержимое ящиков извлекается в порядке возрастания, начиная с ящика 1. ,
В вычислительной машине граф представляется с помощью задания структуры смежности, которая состоит из множества списков вершин, смежных с каждой вершиной (для краткости будем говорить «списки смежности»). Список смежности вершины V содержит все вершины w, такие, что ребро (и, w) принадлежит множеству ребер .齒.Если G ——неориентированный граф, то каждое ребро представлено в структуре смежности дважды; если G — ориентированный граф, то каждая его дуга встречается один раз. Для данного графа структура смежности определяется не единственным -образом, и структур столько, сколько существует упорядочений ребер, инцидентных каждой вершине.
Представление графа с помощью структуры смежности позволяет ускорить обследование графа. Мы будем пользоваться специальным типом обследования, который называется просмотром глубины 1. В просмотре глубины 1 граф предварительно исследуется таким образом, что всегда выбирается ребро, выходящее из вершины, у которой имеются еще не пройденные инцидентные ребра и которую мы достигли позже всех других вершин с таким свойством.
Пусть G — неориентированный граф. При просмотре этого графа каждому ребру приписывается ориентация, в котором оно проходится, когда осуществляется обход графа G. Таким образом граф G становится ориентированным графом G'. Множество ребер, которые входят в новую рассматриваемую вершину, когда юна проходится во время просмотра, определяет осТовное дерево графа G'. Вообще говоря, дуги графа G', не включенные в остовное дерево, соединяют маршруты этого дерева. Однако если используется просмотр глубины 1, то любая дуга (и,侬), не принадлежащая остовному дереву, соединяет вершину v с одним из ее предков ш. В этом случае будем называть граф G' пал^^овым деревом, для краткости п-деревом, а дуги графа G1
не принадлежащие остовному дереву, назовем листьями этого графа. Дугу (и, ш), являющуюся листом графа G', будем обозначать V>w. Используя структуру смежности для получения ребра, которое инцидентно данной вершине, просмотр глубины / можно реализовать за O(V, Е) действий.
ОПРЕДЕЛЕНИЕ 3-СВЯЗНОСТИ
Пусть G = (К 鋁)一граф, имеющий \Т\ = V вершин и \S\ = Е ребер. Опишем в этом разделе алгоритм определения 3-связности графа G, который требует О(У, Е) действий. Ранее известные алгоритмы требуют большего количества действий, например алгоритм, предложенный в работе (Ариёси, Си- ракано, Хироси [1971]), характеризуется 0( V4) действиями. Если использовать определение 3-связной компоненты, которое дано Таттом (см. Татт [1966]), или другое аналогичное определение, то предлагаемый здесь алгоритм позволяет разбить граф на 3-связные компоненты за 0( V, Е) действий. (Определение Татта обладает тем преимуществом, что разбиение графа на 3-связные компоненты единственно; единственность разбиения существенным образом используется для решения задачи об изоморфизме планарных графов.)
Можно предположить, что У > 4 и что граф G не имеет вершин степени 2, поскольку если У W 4 или в G имеется вершина степени 2, то вопрос о трехсвязности решается немедленно. Далее можно предположить, что 匕——2-связный граф. В статье (Хопкрофт, Тарьян [1971 А]) описан метод разбиения графа на 2-связные компоненты за 0(V, Е) действий.
Алгоритм определения 3-связности состоит из трех просмотров глубины 1. С помощью первого просмотра для графа G строится п-дерево Р и находится необходимая информация о листьях этого дерева. Полученная информация используется для построения структуры смежности А n-дерева Р. Во втором просмотре структура Л используется для выбора исследуемых ребер, а также находится последующая необходимая информация о n-дереве Р. В третьем просмотре определяется, существуют ли в графе G 2-сочленения.
Предположим, что граф G обследован с помощью процесса типа просмотра глубины 1 и что вершины графа G занумерованы в этом порядке, в котором они проходятся во время просмотра. Отождествим вершины с приписанными им числами. Пусть Р — n-дерево, построенное с помощью выполненного просмотра. Введем для вершины им / две характеристики Li(u)= min ({и} U U {ш I у* =ф ш}) и 厶(卩)=min [{у} U ({t^jy* ->>ш} — Li(u))].
Таким образом, Li(^)— это наименьшая вершина, в которую можно попасть из вершины у, пройдя no Z ^ 6 дугам п-дерева Р, завершающимся самое большее одним листом. L2(^)——номер
шины, следующий после наименьшей вершины, достигаемой таким, же точно образом из а Если не выполнено &(и) = =厶2(卩)=〃 то L[(v) < L2(v). Номера вершин и значения Ц (у) и 七2(卩)для всех вершин можно легко определить во время первого просмотра графа G. Для дуги и —* з из Р положим 0((у, ш)) = &(ш). Если V► ш, то положим 0((〃 w))=w. Пусть Л — структура смежности n-дерева Р, такая, что списки смежности в 4 упорядочены по значениям функции 0. (Каждый элемент в списке смежности соответствует некоторой дуге n-дерева Р; все элементы списка нужно упорядочить по значениям функции 0 на соответствующих дугах.) Такую структуру смежности 4 можно построить, используя только одну основную сортировку дуг n-дерева Р, см. (Тарьян [1972 В]). Более того, структура 4 зависит только от порядка значений Li(u) и не зависит от способа нумерации. То есть если вершины n-дерева Р занумерованы числами от 1 до V произвольным образом, но так, что из у —> ш для номеров вершин выполняется N(v) < N(w), и если значения функции &(и) вычислены по новым номерам, то возможные структуры смежности, которые удовлетворяют новому упорядочению значений Li(u), совпадают со структурами, которые удовлетворяют старому упорядочению. Это утверждение легко доказать, см. (Тарьян [1972 В]').
Во втором просмотре дуги обследуются в порядке, который определяется структурой смежности Л, начиная с вершины, которая была начальной и в нервом просмотре. Вершины нумеруются числами от V до 1, каждая из них получает номер при последнем прохождении во время просмотра. Из процедуры приписывания номеров следует, что если и f 叫 то N(v) V МЗ, и если 切1, V —> ш2, то N(w、)> N(w2) при условии, что дуга (и,侬 1) проходится раньше дуги (у, ш2) во время второго просмотра. Теперь уже будем отождествлять вершины с номерами, приписанными вершинам во время второго просмотра. По новой нумерации заново вычисляются значения Li(u) и 七2(卩).Введем теперь два множества чисел, важных для последующего изложения. Если ити принадлежит n-дереву Р, то положим й(у) = max ({u} [J {w\v -^>w ^ w►〃})• Значение h(v) является наибольшей (по номеру) концевой вершиной листа, который начинается потомком, а кончается отцом вершины v. Обозначим через Н(и) наибольшего потомка вершины v. Величины h(v) и "(и) для каждой вершины и вычисляются во время второго просмотра.
После завершения второго просмотра получаем n-дерево Р графа G, упорядоченное в соответствии со структурой смежности 4 Мы также определили несколько множеств чисел, которые приписаны вершинам n-дерева Р, Теперь по этим данным можно определить все 2-сочленения графа G.
Лемма 1. Пусть Р — п-дерево 2-связного графа G, полученное просмотром глубины 1, а {а, Ь}——2-сочленение графа G, такое, что @ V Ь. Тогда в остовном дереве Т п-дерева Р существует путь а-^>Ь,
Доказательство. Предположим, что вершина & не является потомком вершины а в 7г-дереве Р. Пусть D(u) —множество потомков вершины и, принадлежащей остовному дереву Т. Подграф графа G, порожденный множеством вершин W = =F— (0(a) П 0(b)), связен. Если вершина v является сыном вершины а или вершины Ь, то вершины из。(и) смежны со всеми вершинами из D(v)U W U {а, Ь}. Но так как {а, Ь} — 2-сочленение, то или вершина а, или вершина & должна быть точкой сочленения, что невозможно, поскольку граф G 2-связен.
Утверждение леммы 1 дает необходимое и достаточное условие того, чтобы пара вершин {а, &} являлась 2-сочленением. Если v->w п вершина w есть первый элемент в списке смежности вершины у, то назовем вершину w первым сыном вершины и. Если в n-дереве Р существует путь иП侬 и каждая вершина этого пути, отличная от и, является первым сыном своего отца, то вершина w называется первым потомком вершины и. Любая вершина является первым потомком по отношению к себе.
Лемма 2. Пусть Р ——п-дерево 2-связного графа G, полученное просмотром глубины 1. Пусть также (а, Ь) — 2-сочленение а а V Ь. Тогда справедливо одно из следующих двух предложений:
Существуют такие различные вершины г 方 а,Ь и s 方 а,Ь, что bf 厂,Li(r) = а,七2(厂j A b 〃 вершина s не является потомком вершины г (пару вершин (а, Ь) будем называть 2-сочленением 1-го типа).
Существует вершина г ^Ь, такая, что: а-> г Д &; вершина b — первый потомок вершины 厂;а 峻 1; для каждого листа ifj,y которого 厂 W i V j, выполняется a W j, а для любого листа if j, у которого aVjVb u bfw bi, выполняется Li(侬)N а (такая пара вершин (а, Ь) называется 2-сочленением 2-го типа). ,
Обратно, любая пара вершин (а, Ь), удовлетворяющая (1) или (2), является 2-сочленением графа G.
Доказательство. Обратное утверждение легко доказывается, поэтому будем доказывать только прямое утверждение. Для этого предположим, что пара вершин (а, Ь) является 2-сочленением графа G и что а <Ь. Из леммы 1 имеем, что в остовном дереве Т n-дерева Р существует путь 4 nM. Пусть bi,匕2, •. •, bn — сыновья вершинь! b, выписанные в том порядке, в котором они встречаются в списке смежности Аъ вершины Ь.
Пусть также 以—。>46・ Для вершины w n-дерёва Р обозначим через D(w) множество потомков вершины 明 принадлежащих остовному дереву Т. ПоложимX = D(v) — 0(b) и ^ = V — О⑷. Если вершина 侬#= и является сыном вершины а, то некоторая вершина из D(w) смежна с какой-либо вершиной из W, так как граф G 2-связен и вершины, принадлежащие множеству D(w), смежны только с вершинами из D(w) U {a} U W. Вершины из множества。(儿)смежны только с вершинами, принадлежащими множеству D ®) U {a, b} U X U 呪—
Если удаление вершин а, b приводит к отделению некоторого подграфа。(九)от остальной части графа G, то легко показать, что пара (а, Ь) удовлетворяет предположению (1), когда г =匕厶 a s ——некоторая вершина из оставшейся части графа G. Если это не так, то удаление вершин а, b должно отделять X и, возможно, некоторую часть подграфа D(bi) от W и остальной части подграфа 0(b). К тому же поскольку 厶(瓦)W 厶他2)W … ...WLi(bn), то существует такое 瓦 ^1, что подграфы Wt D (&J,..., D [bk^отделены от подграфов X, D(bk+i)f..., 0(bn). На самом деле, это число равно 屈=max{i|Li (也)V а}.
Так как W и X не пусты, то а #= 1 и v ^ Ь. Любой листг-> /, у которого V W i V Ь, начинается в вершине из X, поэтому должно выполняться а ^ j. Каждый лист f->/, у которого 4 V j V V 匕 и bf b^Si, должен начинаться в некоторой вершине из D (bQ, k > k0. Отсюда вытекает, что Li(bQ 2 “• Но поскольку граф G 2-связен, то Li(u) V а. Если бы вершина b не была первым потомком вершины и, то некоторый лист из X входил бы в вершину из W. Таким образом, вершина b должна быть первым потомком вершины и, а пара вершин {а, Ъ}——2-сочленением 2-го типа, когда в определении 2-сочленения 2-го типа полагаем г = V. Следовательно, прямое утверждение леммы доказано. Заметим, что одно 2-сочлененйе может быть одновременно как 1-го, так и 2-го типов.
Лемма 2 дает простой критерий определения 2-сочленений графа G. Для нахождения пар 1-го типа мы рассматриваем каждую дугу Ь + и n-дерева Р и проверяем, выполняется ли L2(v) ^ &, а также одно из трех условий: не существует дуги Li(y)->&; LJy) #= 1; вершина b имеет более одного сына. Если это так, то пара вершин (Li(u),匕)является 2-сочленением 1-го типа. Для нахождения 2-сочленений 2-го типа нужно провести третий просмотр. Образуем новый список, состоящий из троек вершин (瓦 а, Ь); для краткости будем называть этот список 3-списком. То, что вершины образуют тройку, означает, что пара (а, &), возможно, является 2-сочленением 2-го типа и что h — самая высокая вершина, которая соединена с вершинами из 0(。) 一 D (b) маршрутом, не проходящим через вершины а и 瓦
(Здесь h = Н (b*Q а вершина 匕爲+i была определена при доказательстве леммы 2.)
Просмотр глубины 1 выполняется так же, как осуществлялся второй просмотр; список троек образуется следующим образом: при прохождении листа (у, ш) из начала 3-списка удаляются все тройки (h, а, b), у которых 切 V а. Если (力卜 а, bj) — последняя удаленная тройка, то в 3-список добавляется новая тройка (历,侬,bi). Если же ни одна из троек не удаляется, то в 3-список добавляется тройка (и, у).
Когда бы мы ни возвращались во время просмотра к вершине у #= 1 по дуге и + з n-дерева, для первой тройки (瓦 а, Ь) 3-списка проверяем, выполняется ли' v = а. Если равенство выполняется, то пара вершин (а, Ь) является 2-сочленением 2-го типа. Удаляем также из начала 3-списка все тройки (瓦 а, Ь), у которых 力(血) > h. Для вершины 侬,которая не является первым сыном вершины и, пусть H{w) —наибольший (самый далекий) ее потомок. Удаляем теперь из начала 3-списка все тройки (瓦 а, Ь), у которых H(w) ^ Ь. Далее удаляем тройки, у которых Li(w) < а. Если на последнем этапе тройки не удаляются и если нет дуги Li(侬)一> 〃 то в 3-список добавляется тройка ("®),厶侬)"). 「
Если граф G имеет не менее одного 2-сочленения 2-го типа, то одно из них будет найдено, когда будет завершен третий просмотр.
Лемма 3. Описанный выше метод позволяет найти 2-сочленение, если граф G не является 3-связным. Если же граф G ^связен, то этим методом 儿〃 одна пара вершин не выделяется.
Доказательство: Если граф G имеет 2-сочленение 1-го типа, то оно находится с помощью первой проверки, описанной выше; если в графе G нет 2-сочленений 1-го типа, то эта проверка не выделяет ни одной пары. Последнее вытекает из предложения (1) леммы 2, а вершина ш, удовлетворяющая (1), существует тогда и только тогда, когда или нет дуги 4(и)~> Ь, или 厶⑻ #= 1, или вершина & имеет более одного сына.
Предположим теперь, что в графе G нет 2-сочленений 1-го типа. Введем в рассмотрение проверку 2-го типа. Если тройка (/ii, S, bi) находится в 3-списке выше тройки (h2, а2, Ь2), причем “2 W。1, и если & = ai, то 历 W 匕2・ Далее, если из 3-списка удаляется тройка (力,а, Ь) благодаря тому, что найден лист VfW、 у которого з V а, то q V Ь・ Эти предложения можно доказать по индукции, используя упорядочение, которое определяется структурой смежности Л. Для любой тройки (ft, а, Ь) из 3-списка имеем аД&, а также то, что вершина а является прямым потомком вершины, которая во время просмотра изучается в текущий момент.
Если рассматривается тройка (й, а,Ь) 3-списка и оказалось, что и = а* 1, когда возвращаемся по дуге и-> 侬 n-дерева, то простым доказательством по индукции получаем, что пара вершин (а, Ь) является 2-сочленением 2-го типа. Обратно, если {а, Ь} — 2-сочленение 2-го типа, то положим h = Н (b^+i), где вершина Ь^+\ определена при доказательстве леммы 2. Пусть а-> у Д Ь, и пусть if j ——первый лист, который проходится в просмотре и удовлетворяет и W i W 瓦 Тогда можно доказать опять по индукции, что тройка (i, /, i) находится* в 3-списке, возможно модифицированном, и в конце концов выбирается как выделяющая 2-сочленение 2-го типа. Таким образом, выделение 2-сочленений 1-го и 2-го типов позволяет правильно определить, является ли граф G 3-связным.
Лемма 4. Алгоритм определения i-связности графа G требует 0(匕 Е) действий.
Доказательство. На три просмотра, включая вспомогательные вычисления, требуется 0(Vf Е) действий. Если использовать основную сортировку, то на построение структуры смежности Л затрачивается 0(R, Е) действий. Выделение 2-сочленений 1-го типа требует 0( V) действий. Таким образом, все число действий, необходимое для выполнения алгоритма, линейно зависит от U и Е.
ИЗОМОРФИЗМ ДЕРЕВЬЕВ
Пусть заданы два дерева Т{ к Т2; требуется определить, изоморфны ли они. Можем считать, что Т{ и Т2 — корневые деревья, поскольку в каждом некорневом дереве единственным образом выделяется вершина 厂储 которую и назовем корнем. Эта вершина находится с помощью одновременного удаления всех вершин степени 1 (висячих вершин) дерева Л и повторения такого удаления до тех пор, пока не останется одна вершина (центр дерева Л) или одно ребро (концевые вершины этого ребра называются бицентрами дерева 7\). В последнем случае в середину указанного ребра помещаем новую вершину и получаем единственный корень. Число действий, необходимых для определения корня в каждом из деревьев, зависит линейно от числа вершин R, если тщательно реализовать процедуру выделения последней вершины или ребра.
Трудность установления изоморфизма деревьев заключается в том, что ребра, инцидентные произвольной вершине, не имеют фиксированного порядка. Если бы нам удалось преобразовать любое дерево к некоторому каноническому упорядоченному дереву, то проверка изоморфизма была бы простой — нужно проверить равенство канонических упорядоченных деревьев. По-
этому нам необходим алгоритм, который упорядочивает ребра, инцидентные каждой вершине дерева. Ряд авторов (Басакер и Саати [1965], Ледерберг [1964], Скойнс [1968], Вейнберг [1965]) предлагают такие способы упорядочения; эти способы мало отличаются друг от друга. Алгоритм Эдмондса (см. Басакер и Саати [1965]) является хорошим примером такого упорядочения. В данном корневом дереве вершины на каждом уровне упорядочиваются, начиная с вершин, которые располажены дальше всех от корня. После того как вершины н@ i-м уровне упорядочены, любой вершине (i— 1)-го уровня приписывается список номеров ее сыновей (смежных с вершинами i-ro уровня). Вершины на (i—1)-м уровне упорядочиваем лексикографически по их спискам в соответствии с порядком, который получили вершины на i-м уровне. После того как вершины упорядочены на каждом уровне, построить каноническое дерево легко. Но ни Эдмондс, ни другие авторы не заметили, что сам процесс упорядочения не так прост, и чтобы получить оценку числа действий O(U), этот процесс нужно тщательно определить и аккуратно реализовать.
Для последующего полезно несколько обобщить задачу установления изоморфизма деревьев. Допустим, что каждой вершине приписано некоторое множество меток. Любая метка / — это целое число из отрезка 1&ZW 匕 где V — число вершин дерева. Два помеченных дерева изоморфны, если можно установить взаимно однозначное соответствие между их непомеченными деревьями, такое, что любые две соответствующие вершины из разных помеченных деревьев имеют одно и то же множество меток. Теперь опишем алгоритм установления изоморфизма помеченных деревьев, который требует 0( V, L) действий, где V — число вершин, a L — число всех меток. Для сортировки применяется процедура основной сортировки или сортировки по ящикам, когда используется не более 2U + 1 ящиков. Алгоритм может быть запрограммирован на вычислительной машине с произвольным порядком выбора.
Если деревья некорневые, то в каждом из них с помощью описанной выше процедуры находится единственный корень. Для всех вершин определяются номера уровней. (Корень находится на уровне 0.) Далее, каждый раз как встречается метка /, строится упорядоченная пара (/, /), где i ——номер уровня, на котором встречается эта метка. Используя две основные сортировки, упорядочиваем лексикографически множество построенных упорядоченных пар для того, чтобы определить список 纟〃 меток, которые встречаются в каждом i-м уровне и которые записаны в порядке их появления.
Далее, применяем алгоритм Эдмондса, начиная с вершин самого высокого уровня и двигаясь к корню. Пусть k ——уровень, рассматриваемый в текущий момент. Вершины {k -^ 1)-го
уровня уже упорядочены, и им приписаны числа от 1 до ^+ь гд^ Na+i W Vfe+i, a k/i+i ——число верщин (右 + 1)-го уровня. Исполь-' зуя список ①左,изменяем метки 々-го уровня. Наименьшую (по номеру) метку заменяем на N^+i + 1, следующую за ней — на Nhz + 2 и т. д. Затем для каждой вершины ^-го уровня строим индексный список, в который записываются номера всех ее сыновей и все их метки. Числа в этих списках будут упорядочены, если списки строились следующим образом: Для каждого сына, имеющего номер i, выделяется элемент в индексном списке его отца. Такое выделение повторяется для каждого Z из 1 W i W W ^+i. Аналогичным образом вводятся номера меток. Сыновья (вершины (々+ 1)-го уровня) будут упорядочены благодаря тем действиям, которые выполнены на (々+ 1)-м уровне.
Теперь нужно упорядочить лексикографически вершины на Ам уровне по их индексным спискам. Каждое число п, которое встречается в индексном списке, преобразуется в упорядоченную пару (i, п), где i — номер позиции в индексном списке, в которой встречается это число. Опять)используя две основные сортировки, упорядочиваем лексикографически множество таких пар для того, чтобы получить список номеров (в соответствующем порядке), которые встречаются в каждой данной позиции i во всех индексных списках. '
Пусть m — длина самого большого индексного списка. Применим теперь m основных сортировок, чтобы получить лексикографическое упорядочение индексных списков. В каждой из этих сортировок используется ^+i + |^| ящиков. Во время iro прохода к частично упорядоченному множеству вершин S добавляем вершины, индексные списки которых имеют длину m — I + 1. Затем помещаем вершину uwS в ящики согласно величине (т — Z + 1) -го числа в индексном списке вершины а Непустые ящики опустошаются в порядке, который определен СПИСКОМ ЛпТ+1・ '
После m проходов вершины k-ro уровня лексикографически упорядочены по их индексным спискам. Эти вершины. получили номера от 1 до Nh для некоторого числа 乂左;не превышающего 力;двум вершитам приписан один и тот же номер, если их индексные списки совпадают. Этим завершается процесс на Ам уровне. После того как вершины на каждом уровне упорядочены, легко построить канонические упорядоченные деревья, после чего установление изоморфизма сводится к определению простого равенства.
Нахождение корня дерева осуществляется за 0 ( V) действий. Построение списков меток Si требует O(L) действий, а на построение индексных списков k-ro уровня тратится 0( V^+i + |«2\|) действий. Лексикографическое упорядочение вершин на 々-м уровне по их индексным спискам требует m проходов и только
0(Vft+1 + \Sk\) действий, поскольку на каждом проходе опустошаются только непустные ящики, а полное число всех размещений вершин в ящики равно величине 丫左+1+|2". Но У (Vk +1 Sk I)《U + L, поэтому число действий алгоритма в целом ограничено O”L). Если деревья не помечены или если каждое дерево имеет самое большее одну пометку, то для установления изоморфизма таких деревьев ^требуется 0( V) действий.
ИЗОМОРФИЗМ 3-СВЯЗНЫХ ПЛАНАРНЫХ ГРАФОВ
В этом разделе описывается алгоритм разбиения всех 3-связных графов на подмножества изоморфных графов. Асимптотически число действий алгоритма пропорционально V • log V, где V — число вершин в графах. Аналогичный алгоритм такого разбиения, основанный на преобразовании графов в конечные автоматы, был ранее разработан Хопкрофтом [1971]. Однако переход к графам приводит к существенным упрощениям, поскольку конечные автоматы, которые выделяются при преобразований только планарных графов, образуют очень небольшое подмножество множества всех конечных графов, и йет нужды находить разбиение всех конечных автоматов.
Пусть G — планарный граф, компонентами связности которого являются ,3-связные графы, отличные от n-угольников и п-свя- зок. Рассмотрим конкретное расположение (вложение) графа G на плоскости. Каждое ребро графа G будем рассматривать как две дуги, имеющие противоположные ориентации. Пусть (уь у2)— одна из таких дуг. Дугу ⑸,5)будем обозначать через ®,该)「. Введем обозначения ®, у2) |—⑶,方)и (s,後)匕(力,⑷,где (и?, из) и (^2,^4)—дуги, которые ограничивают грани соответственно справа и слева от дуги ®,力).
Обозначим через е последовательность нулевой длины. Для каждой дуги е будем писать е\—е. Пусть х — последовательность символов R н L. Если д|三 % и е21— е3 (или е21— е3), то будем писать е{ |— е3 (или соответственно ^ |—е3). Будем использовать также обозначение С] Н е2, когда ясно, какова последовательность х. Интуитивно мы используем запись е{ |— е2 тогда, когда дуга е2 достижима из дуги еь если идти по тому пути (графа), который определяется последовательностью х. Каждый символ из % указывает, в какую сторону нужно повернуть, входя в вершину. Если в. вершину и входим по дуге е, то выходим из V по дуге, которая расположена непосредственно справа или слева от дуги е в зависимости от того, какой символ (соответственно R или L) указан в последовательности %. Заметим, что из Ci 今。2 не обязательно следует et Н е2, поскольку
е[今。2 обозначает произвольный путь, а е{ h е2— обозначение специального пути. Пусть 九一такое отображение множества дуг в множество целых чисел, что 九(@) = Х(е2) в том и только том случае, когда число дуг на грани с правой (левой) стороны от дуги с】 равно числу дуг на грани с правой (левой) стороны от дуги 。2, а также когда степени вершин, являющихся началами дуг в1, 。2, совпадают и степени вершин графа G, являющихся концами дуг еь е2, также совпадают.
Лемма 5. Пусть е — произвольная дуга, a v — вершина из той компоненты связности, которая содержит е. Тогда
существует дуга е^ ориентированная к вершине и, такая, что е I- с】;
если с】——дуга, ориентированная к вершине и, и если вершина V имеет нечетную степень, то е [- з, если же степень вершины V четна, то или е Н ер или е Н е;
Доказательство. Для доказательства первого предложения достаточно показать, что для любой вершины и, смежной с концом дуги е, существует дуга е‘,ориентированная к вершине и, такая, что е I- е\ Пусть 2卜 е2, ..., ет — дуги, ориентированные к вершине, являющейся концом дуги е. Рассмотрим путь, состоящий из дуг с】,е$ после которых идут дуги вокруг грани с левой стороны от дуги % до дуги Сз, затем идет дуга е:, после которой идут дуги вокруг грани слева от дуги е《и так далее, возвращаясь к дуге е】.Этот путь проходит через каждую вершину, смежную с вершиной и.
Следуя по пути к вершине и и проходя затем дважды вокруг вершины V по пути подобно тому, как это было сделано при доказательстве предложения 1, в результате получаем предложение 2.♦-
Лемма 6. Пусть 向,诊,%, е4 — дуги. Тогда
если ех ―电,то % ~°i “ 4『%;
если ех Н е^, то е{ 1%;
если существуют путь %: е{ =^е3 и соответствующий путь 卩2:匈号G (путь р2 соответствует пути pi, если оба пути имеют одинаковую длину 〃 если одинаковы числа дуг, подсчитываемых по часовой стрелке между парами дуа, входящих 〃 выходящих из соответствующих вершин путей, причем соответствующие дуги имеют одно и то же значение X), то или 分 I—% 〃 е2 I—Q, или ех I— е^ u е2 Н е; на одной и той же последовательности правых 〃 левых поворотов.
Доказательство. 1) Рассмотрим путь р из 电 к е2. Пусть е ——предпоследняя дуга в пути р. Не теряя общности, можно
предположить, что дуга 匈 ограничивает грань с правой стороны от е, и нужно только показать, что & Н 仇 Ясно, что соединение е2 Не реализуется путем, который проходит по часовой стрелке вокруг грани справа от дуги е2. Установив, что % 口出,немедленно получаем е; I- е;, если изменить ориентации всех дуг пути e2 -ё1.
Из леммы 5 следует или g Н е2, или ех l-纤. Если же g I- %, то в силу предложения 1 настоящей леммы имеем е; Н %•
Из построения леммы 5 вытекает, что или е{ Не3, или g I-爲 реализуется путем, который содержит только дуги, ограничивающие грани, смежные с р\. Соответствующее построение, в котором используется путь р2, приводит к необходимому результату.
Две дуги & и & называются различимыми в том и только том случае, когда существует такая последовательность %, что в] |—е3, 22 HLe4 и 九(%) =/=九(包)・ Если дуги 内 и 出 не являются различимыми, то будем называть их неразличимыми.
Нам потребуется следующая вспомогательная лемма.
Лемма 7. Пусть G ——2-связный планарный граф, а (S, и?) (^2, из), ..., (уп-1, vn)—простой путь 6 G. Тогда существует грань, имеющая общую дугу с этим путем и обладающая следующим свойством: множество дуг, принадлежащих как грани, так и пути, образуют непрерывный сегмент 〃ут〃1). Более тоао, при проходе по дуге грани 6 движении по пути от s к vn грань остается с правой стороны.
Доказательство см. в (Хопкрофт [1971 А]) •
Теорема 8. Дуги е и ef неразличимы тогда и только тогда, когда существует изоморфизм вложенного графа G, который отображает е на е‘.
Доказательство. Достаточность условия очевидна. Именно, если дуга е отображается на дугу е‘ некоторым изоморфизмом, то, как легко видеть, эти дуги неразличимы. Необходимость доказать труднее; докажем сначала необходимость условия для регулярных графов степени 3.
Пусть G ——регулярный граф степени 3, а е и е‘ ——неразличимые дуги. Покажем теперь, как построить изоморфизм, который отождествляет дуги е и е‘. Если сие' принадлежат одной и той же компоненте связности, то любая дуга, не принадлежащая этой компоненте, отображается на себя. Если дуги е и с'
')То есть общие дуги в рассматриваемом пути образуют также путь. — Прим, перев.
принадлежат различным компонентам, скажем С〔 и С2, то каждая дуга, не принадлежащая ни Ci, ни С2, также отображается на себя.
Отождествим теперь дугу е с дугой е‘. Дуги, обратные дугам е, е‘, также отождествляются; автоматически отождествляются вершины, являющиеся началами и концами этих дуг. Если дуга с】 отождествляется с дугой е2, то производится отождествление дуг。3,。4, где ех |— е3 и е21— е4. Если дуга ез была уже отождествлена с дугой 24, то выбираем некоторую пару дуг 。5,。6, которая также была отождествлена, так что дуги е7,。8 не отождествлены и е51— е7, а еб |— е8. Далее производим отождествление дуг。7,。8, и этот процесс повторяется. Другими словами, для получения новых дуг всегда используем символ R (если возможно такое получение), в ином случае используем символ L. Проведение процесса означает, что мы всегда отождествляем дуги, идя по некоторому пути до тех пор, пока не будет достигнута пара вершин, которая уже была отождествлена.
В силу предложения 2 леммы 5, если не возникает противоречие, то указанная выше процедура позволяет построить необходимый изоморфизм. Противоречие возникает при попытке отождествить вершину и】с вершиной U2, которая была отождествлена с некоторой вершиной из, отличной от 5・ Докажем теперь, что такая ситуация невозможна.
Предположим противное — противоречия возможны, и рассмотрим первый случай наступления такого противоречия. Одна из дуг в последней отождествленной паре дуг должна замыкать некоторый простой цикл. Важно отметить, что дуга, замыкающая цикл, должна кончаться вершиной, которая инцидентна двум другим. уже отождествленным дугам. Соответствующая дуга или не замыкает цикл (т. е. ее концом является неотожде- ствленная вершина), или замыкает другой цикл (концевые вершины двух дуг ранее были отождествлены, но не друг с другом). В последнем случае циклы имеют различные длины. Если обе дуги замыкают циклы, то обозначим через с цикл, имеющий меньшую длину. Если замыкается только один цикл, то обозначим его также через с Пусть р — путь во втором графе, который соответствует вершинам цикла с первого графа. Первой и последней вершине пути р соответствует одна вершина цикла с.
Поскольку имеется цикл, который отображается в простой путь, то можем выбрать цикл с, который отображается в простой путь, но любой другой цикл, состоящий из вершин цикла с и вершин внутри цикла с, не, отображается в простой путь. Из леммы 7 вытекает, что некоторая грань смежна с путем р справа и все дуги этой грани, принадлежащие и пути р, образуют в р непрерывный сегмент. Начинаем отождествлять дуги этой гра*
ни с дугами внутри цикла с. Здесь возможны три случая: 1) возвращаемся в вершину пути р раньше, чем в вершину цикла с; 2) возвращаемся в вершину цикла с раньше, чем в вершину пути р; 3) первый и второй случаи наступают одновременно. В первом случае грань отождествляется с° незамкнутым путем. Это невозможно, так как отображение 九 содержит информацию о числе дуг в грани как справа, так и слева от произвольной выделенной дуги. Второй случай также невозможен, поскольку ни один из циклов внутри цикла с не отображаются в незамкнутый путь. В случае 3 нужно отождествить соответствующие грани. Тогда пути оканчиваются в соответствующих вершинах и цикл с разбивается на два цикла Ci и t?2・ Предположим, что цикл Ci соответствует грани. Тогда цикл с? отображается в путь; пришли к противоречию. Поскольку в каждом случае пришли к противоречию, то вынуждены заключить, что высказанное выше предположение невозможно. ‘
Установив утверждение теоремы для частного случая, для регулярных графов степени 3, докажем теперь теорему в общем случае. Пусть G — укладка планарного графа, все компоненты связности которого 3-связны. Предположим, что дуги ех и & неразличимы, но не существует изоморфизм, отображающий дугу с】 на дугу。2・ Обозначим через G граф, полученный из G с помощью замены каждой вершины степени d > 9 на d-угольник. Пусть С】,02 — дуги графа С, соответствующие дугам @, ” Поскольку G ——регулярный граф степени 3, то дуги 瓦 и 02 должны быть различимыми. Пусть р — путь, различающий ех и ^2. Ясно, что в G существует соответствующий путь. Из леммы 6 (предложение 3) следует, что существует последовательность %, которая различает е〔 и е2. Пришли к противоречию. Теорема доказана. 、 ,
Алгоритм установления изоморфизма за 0( V-log У) действий зависит от эффективного алгоритма разбиения множества дуг планарногЬ графа на подмножества таким образом, что две дуги принадлежат одному и тому же множеству тогда и только тогда, когда эти дуги неразличимы. Разбиение отыскивается следующим образом.
Сначала дуги разбиваются так, что дуги е】и 。2 относим к одному множеству в том и только том случае, когда 九(е〔)= =Х(е2). Номер каждого множества разбиения, за исключением одного, заносим в два списка, один из них называется правым списком (для краткости R-списком), а другой — левым списком (для краткости L-списком). Пусть в данный момент имеются множества разбиения Bi,占2,・• • , Вз Множества разбиения из меняются с помощью предлагаемой ниже процедуры до тех пор, пока не будут опустошены R- и t-списки.
Выберем номер / некоторого множества из R- или L-списков и удалим его из этого списка. Предположим, что / входило в R- список. Для каждой дуги е из множества Bj отмечаем дугу е[ которая определяется с помощью е |— e\ Если множество Bi содержит как отмеченные, так и неотмеченные дуги, то разбиваем его на два подмножества 8九 и В%, так что одно из них состоит только из отмеченных дуг, а другое — только из неотмеченных дуг. Пусть I B»i |《| Bi21. Если номер i уже содержится в R-спис; ке, то заменяем его на номера G и 办,если не содержится, то добавляем в R-список только ii. Аналогично если номер i содержался в L-списке, то заменяем его на 厶 и 必 если не содержался, то в L-список помещаем только 必
Теорема 9. Описанный выше алгоритм конечен, и 6 конце его работы две дуги принадлежат одному и тому же множеству разбиения тогда и только тогда, когда эти дуги неразличимы.
Доказательство. Достаточность. В начале работы алгоритма дуги размещаются в различные множества, если они различаются сразу. Затем множество разбивается так, что пара дуг /, с? переходит в разные множества, если существуют дуги。3,。4, принадлежащие уже различным множествам, такие, что е31— е{ и е4 (— е2 или е31— е{ и ^ре—В первом случае 耳占空 и 稣占 е:, во втором случае е[ |— е^ и 为 |丄珞.В любом случае дуги е〔 и е2 различимы.
Необходимость. Предположим, что дуги ех и。2 различимы. Индукцией по длине п наименьшей последовательности, различающей дуги е; и 纤,докажем, что дуги е{ и е2 отнесены к разным множествам. Предположим, что индуктивное предположение справедливо для последовательностей длины п и что длина наименьшей последовательности, различающей дуги е; и е$ равна n + 1. Не теряя общности, можно считать, что этой последовательностью является xR. Тогда последовательность % имеет длину п и различает некоторую пару дуг 珞 и е[, где %啓与 и е41— е2. В силу индуктивного предположения дуги ез, е《относятся к различным множествам. Номер одного из этих множеств помещается в R-список, и после его удаления дуги Ci и。2 должны быть отнесены к разным множествам разбиения.
Теорема 10. Число действий алгоритма разбиения ограничено величиной k* V-log V, где 々——некоторая константа.
Доказательство. Ясно, что число действий алгоритма не меньше числа действий, затрачиваемых на нахождение разбиения. Предположим, что в некоторый момент Вь В2,・•・,Вт —— множества разбиения. Обозначим через bi число дуг множества
Bi. Введем также обозначения: М — множество натуральных чисел 1, 2, ..., т; / — множество номеров /?-списка; / — множество номеров L-списка. Покажем, что число действий, оставшихся до окончания работы алгоритма, ограничено сверху величиной
瓦log瓦+ £ &log(瓦⑵+ Z瓦log瓦+
+ Z 瓦 log (九/2))・
Ясно, что эта оценка выполняется, когда алгоритм кончает работу. Посмотрим, что произойдет, если номер г0 выбран из множества /. Некоторые множества будут разбиты. Число действий до окончания работы алгоритма будет ограничено новой величиной 7V. Число действий, затрачиваемых на разбиение, оценивается k •瓦q. Нам нужно показать, что
k^bi. + Г^Т.,
Предположим, что множество, содержащее 匕公 дуг, разбивается на подмножества, содержащие q и 仇一Ci дуг, где Ci W 九/2. Имеем
bi • log bi > &•・ log Ci + (瓦亠 &) • log (九一c^
bi • log d/2 > q ・ log //2 + (瓦一&•)・ log (R — q)/2・
Таким образом, нам нужно только показать, что
k^biQ + k- Ь^ • log (b"2) & 々•瓦。・ log 瓦。.
Последнее выполняется в силу того, что
瓦。+ 瓦。■ log biJ2 =仇。(1 + log 瓦。/2) = bi. • log 瓦。.
Этим доказательство теоремы заканчивается.
Описанный алгоритм разбиения можно применить для получения разбиения множества 3-связных планарных графов на подмножества изоморфных графов. Любой 3-связный планарный граф имеет в точности две укладки на плоскости. Одна укладка получается из другой с помощью одновременного изменения порядка всех дуг, инцидентных каждой вершине, на обратный порядок. Сопоставим этим укладкам направление: одна укладка ——по часовой стрелке, другая ——против часовой стрелки. Для данного набора Gi, G2, ..., Gn 3-связных планарных графов образуем составной граф.б, который состоит из пар копий всех графов G^(l WiW〃)・ Граф G〃 вкладывается в плоскость таким образом, чтобы одна копия каждого графа ггмела укладку по часовой стрелке, а другая копия этого графа имела укладку против часовой стрелки. Теперь к укладке графа G применяется алгоритм разбиения. Из теорем 8 и 9 следует, что граф G^
изоморфен графу G)тогда и только тогда, когда для любой дуги в укладки графа Gi существует дуга е‘ в одной из укладок графа Gj, такая, что дуги е, е‘ принадлежат одному и тому же множеству разбиения всех дуг. Теперь легко разбить составной граф G на изоморфные графы G^ именно отнесем граф G】в первое множество разбиения. Выберем некоторую дугу е графа Gb Просматриваем множество разбиения, содержащее дугу е. Для каждого /, такого, что любая укладка графа G; имеет дугу из этого же множества разбиения, размещаем G§ в" множество, которое содержит Gp Выберем наименьшее 左,такое, что граф Gk не помещен в множество 1, и отнесем граф G« к множеству 2. Далее выбираем в Gk некоторую дугу е и так же, как и раньше, просматриваем то множество разбиения, которое содержит дугу е. Процесс повторяется до тех пор, пока каждый граф Gk не будет отнесен к некоторому множеству.
Число действий, необходимое для завершения описанного выше процесса, оценивается следующим образом: сначала определяются планарные укладки графов G». Для каждого графа Gi необходимое число действий пропорционально числу вершин графа Gi (см. Тарьян [1972В]). Таким образом, на этом этапе общее число действий пропорционально числу вершин составного графа G. Число действий, затрачиваемое на нахождение разбиения дуг, оценивается величиной k-E • logf, где 良一некоторая константа, а £ — Нисло дуг составного графа G. Следовательно, число действий в целом ограничивается величиной f-logf, умноженной на некоторую константу. Поскольку в планарном графе Е & 3丿一6, то последней оценкой является величина О(»・log V), где V ——число вершин графа G. 一
5. АЛГОРИТМ УСТАНОВЛЕНИЯ ИЗОМОРФИЗМА
Пусть даны два графа G【и G2. В алгоритме определения изоморфизма этих графов в каждом из них находятся компоненты связности, в каждой компоненте связности выделяются 2-связные компоненты и в каждой 2-связной компоненте определяются 3-связные компоненты. Структура связности любого графа представляется следующим образом: для каждого графа определяется дерево, состоящее из корня и вершин, представляющих компоненты связности. Для каждой компоненты связности определяется дерево, в котором одной вершиной представляется каждая 2-связная компонента и также одной вершиной представляется каждая точка сочленения. Пусть va — вершина, соответствующая точке сочленения a, a vB — вершина, соответствующая 2-связной компоненте В, которая содержит вершину а. Тогда вершины va и vB соединяются ребром. Легко видеть, что определенный таким образом граф является деревом. Ребра этого де*
рева, представляющего компоненту связности, назовем 2-лепестками.
Каждую 2-связную компоненту также представляем деревом. В множестве его вершин одна вершина представляет каждое 2-сочленение и одна вершина представляет каждую 3-связную компоненту рассматриваемого графа. Если вершина vc представляет 3-связную компоненту С, а вершина vab 一 2-сочленение (а, b), то проводим ребро, соединяющее Uc и иаь, если и только если обе вершины а, b принадлежат С. Ребра дерева, представляющие 3-связную компоненту, назовем 3-лепестками.
Рассмотрим деревья, соответствующие" компонентам связности. Каждый 2-лепесток есть 2-связная компонента, которой в свою очередь соответствует структура типа дерева З-связннх компонент. Всем 3-связным компонентам, которые являются 2- листьями и которые содержатся в 2-листьях, приписывается упорядоченная пара числовых кодов, таких, что равенство этих кодов означает изоморфизм. Последнее осуществляется с помощью методики, описанной ниже. Выделенные 3-связные компоненты удаляются, а их коды приписываются новым ребрам, которые соединяют в остающейся части графа 2-сочленения, содержащиеся в удаленных 3-связных компонентах. Этот процесс, создает новые 3-лепестки в имеющихся 2-лепестках. Находим новые 3- лепестки и для них определяем коды. Процесс повторяется до тех пор, пока каждая 2-связная компонента, которая является 2-лепестком, не сведется к одному ребру. Далее такие ребра удаляются, а их коды приписываются соответствующим точкам сочленения в оставшемся графе. Опять находим новые 2-связные компоненты, являющиеся 2-лепестками, и процесс повторяется. В результате каждая компонента связности будет сведена к единственной вершине, которой приписан код, который необходим для установления изоморфизма. Коды компонент связности каждого графа упорядочиваются. Упорядоченные коды разных графов сравниваются на совпадение. Если коды равны (совпадают), то графы изоморфны, если не равны, то графы не изоморфны.
Рассмотрим произвольный 3-лепесток. Отметим, что он имеет ориентацию относительно его 2-сочленений. В силу этого обстоятельства 3-лепестку приписывается именно упорядоченная пара чисел. Числа равны Тогда и только тогда, когда 3-лепесток симметричен относительно замены его 2-сочленений. Для того чтобы приписать пары целых чисел множеству 3-лепестков, устанавливаем сначала планарность компонент с помощью алгоритма, которые характеризуются линейным числом действий (см. Хопкрофт и Тарьян [1972А], Тарьян [1972В]). Если хотя бы одна компонента не является планарным графом, то алгоритм установления изоморфизма графов《не работает», поскольку и весь граф не планарен. Если же все 3-лепестки планарны, то
алгоритм определения планарности строит планарное представление компоненты. В силу 3-связности компонента определяется единственным образом. Алгоритм, описанный в разд. 4 и характеризующийся числом действий 0( V-log V), используется далее для нахождения классов эквивалентности изоморфных 3-лепестков. 2-сочленениям каждого 3-лепестка в соответствии с классами эквивалентности приписываем специальные целочисленные коды таким образом, чтобы изоморфным компонентам приписывались одинаковые упорядоченные пары целых чисел, а неизоморфным компонентам приписывались разные упорядоченные пары.
Число действий алгоритма оценивается числом действий, требуемых для нахождения разбиения 3-связных компонент на классы (эквивалентности) изоморфных графов. Если V — количество всех вершин в каждом из исходных графов, то на получение разбиения затрачивается 0( V-log V) действий. Число действий, затрачиваемых на нахождение 2-связных и 3-связных компонент, на определение планарности всех 3-лепестков и на построение планарного представления, является величиной О (У), которая меньше, чем О "log 7).
ЛИТЕРАТУРА
Ariyoshi A., Shirakawa I., Hiroshi О. [1971] Decomposition of a graph into compactly connected two-terminal subgraphs, IEEE Transactions on Circuit Theory, Vol. CT-18, No. 4, 430—435.
Busacker R. G., Saaty T. L. [1965] Finite Graphs and Networks: An Introduction with Applications, McGraw-Hill, New York, 196—199 [русский перевод: P. Басакер, T. Саати, Конечные графы и сети, М., «Наука》,1974].
Edmonds J. [1965] Paths, trees and flowers, 2 Canad. J. Math., 17, 449—467. Нагагу F. [1969] Graph Theory, Addison-Wesley, Reading, Massachusetts [русский перевод: Ф. Харари, Теория графов, М., «Мир》,1973].
Hopcroft J. [1971 A] An N log N algorithm for isomorphism of. planar triply connected graphs, Tecnical Report STAN-CS-71-192, Computer Science Department, Stanford University, Stanford, California.
[1971B] A N logN algorithm for minimizing states in a finite automaton, Theory of Machines and Computations, Academic Press, New York, 189— 196.
Hopcroft J., Tarjan R. [1971 A] A V2 algorithm for determining isomorphism of planar graphs, Information Processing Letters, Vol. I, North Holland Publishing Company, Amsterdam, 32—34.
[1971B] Efficient algorithms for graph manipulation. Tecnical Report STAN- CS-71-207, Computer Science Department, Stanford University (to appear in C ACM).
[1971C] Planarity testing in V log V steps, Information Processing 1971, Proceedings of IFIP Congress 71.•
Efficient Planarity Testing, Journal of ACM, 21, No. 4, 549—569.
Lederberg J. [1964] Dendral-64: A system for computer construction, enumeration and notation of organic molecules as tree structure and cyclic graphs Part I: Notational algorithm for tree structures, Interim Report to the National Aeronautics and Space Administration, Grant NSG 81-60, NASA Cr 68898, STAR No. N-66-14074.
Scoins Н. I. [1968] Placing trees in lexicongraphic order, Machine Intelligence 3, American Elsevier Publishing Co., New York, 43—60.
Tarjan R. [1971] Depth-first search and linear graph algorithms, Twelfth Annual Symposium on Switching and Automata Theory, IEEE, 114—119.
An efficient planarity algorithm, Ph. D. Thesis. Tecnical Report STAN-CS-244-71, Computer Science Department, Stanford University, Stanford, California.
Finding dominators in directed graphs, SIAM J. Comput., 3, No. 1, 62—89.
Tutte W. T. [1966] Connectivity in Graphs, Oxford Press, London.
Weinberg L. [1965] Plane representations and codes for planar graphs, Proceedings of the Third Annual Allerton Conference on Circuit and System Theory, 733—744.
Статьи, отмеченные значком *, добавлены при переводе. В статье Тарьяна демонстрируется еще одно применение используемой авторами методики. —Прим, перев./
Слабая сингулярная теория второгопорядка функции следованияне элементарно рекурсивна)
А. Р. Мейер
Пусть Lsis — множество формул, выразимых в слабой сингу-1 лярной логике второго порядка, использующей лишь предикаты1 к = У + 1] и [%wX]. Бюхи показал, что множество истинных! предложений в Lsis (относительно стандартной, интерпретации^ 〈N, функция следования) с переменными второго порядка, ин・《 терпретируемыми в области конечных множеств) является ре-^ курсивным. Через 取S1S мы обозначаем множество истинных предложений из Lsis. Мы докажем, что ITS1S не является элементарно рекурсивным в смысле Кальмара. В действительности; мы утверждаем более сильный результат.
Теорема 1. Существует константа £ > 0, такая、что если' 2)? — машина Тьюринга, которая, будучи запущена с произвольным предложением из Lsis на ленте, останавливается е указанном допускающем состоянии тогда и только тогда, когда пред-} ложение истинно, то для всех достаточно больших п существует предложение длины п, для которого вычисление на 耽 требует
2〃
•[е- log2n]
2
2
шагов и клеток ленты.
Пусть f0 W == ^,方々+1 (九)=2‘々(")・ Хорошо известная характеристика элементарно рекурсивных функций, данная Р. В. Ричи, показывает, что множество предложений является элементарно рекурсивным тогда и только тогда, когда оно распознаваемо на ленте, ограниченной при некотором фиксированном k и всех вхо-
дах длины 〃 N 0 величиной
2
(九)=2
Следовательно, WS1S не элементарно рекурсивно.
В этих заметках мы доказываем несколько менее сильный вариант теоремы 1, который, согласно результату Ричи, является все еще достаточным, чтобы установить истинность нашего заголовка.
Теорема 2. Пусть 耽—машина Тьюринга, которая, будучи запущена с произвольным предложением из Lsis на ленте, останавливается в указанном допускающем состоянии тогда 〃 только тогда, когда предложение истинно. Тогда для всякого 々 N 0 существует бесконёчно много п, для которых вычисление на 耽 требует для некоторого предложения длинь^п
2Л '
2
2'
шагов и клеток ленты.'
В основе нашего доказательства лежит идея — показать, что существуют предложения из Lsis, которые описывают вычисления на машинах Тьюринга при условии, что зона, необходимая для вычисления, не больше, чем ^ (размер предложения). Так как машина Тьюринга, использующая данную зону, может моделировать любую машину Тьюринга, использующую меньшую зону, мы заключаем, что короткие предложения из LS1S могут описывать неустранимо длинные вычисления и, следовательно, само Lsis должно быть трудно разрешимым.
В действительности удобно будет развить вспомогательные обозначения для множеств конечных последовательностей, которые мы называем у-выражеииями. Мы покажем, что у-выраже- ния могут описывать в подходящем смысле вычисления на машинах Тьюринга и что Lsis может описывать свойства у-выра- жений..
Определение. Пусть Е — конечное множество, элементы которого называются символами. 2* есть множество всех конечных последовательностей символов из 2. Для 招 ywW* кон&а“
тенация хну, записываемая как х'у или %у, есть последователь^^ ность, состоящая из символов х и следующих за ними симво-J лов у. Элемент %w£* называется словом. Длина % обозначает* J ся /(%). Мы используем 厶 для обозначения пустой последовательности из 2* длины нуль, которая, по определению, обладает : свойством: для всякого xwE* х*= Кх = х (2* есть свободный ; моноид, порожденный 2, с единицей 九).Конкатенация распро % страняется на подмножества 4, В и 2* с помощью правила :
А9В = АВ = {ху I % w 4 у w 8}・:
Для всякого 4 и 2* мы определяем;
A° = {Z}, An+1 = A^Af 4*= О Г.
Эти операции хорошо известны в теории автоматов. Далее мы' | вводим одно отображение.;
Определение. Для любого S функция 丫工:Р(Е*)->Р(Е*) ? определяется с помощью правил 】):丿
丫工({%}) = {у w 2*1/(у) = /(.*)} = #⑴ для % w Е*,* J
Ye(%)= U Y({%})Для 4и".;
Мы опускаем нижний индекс у 丫工,когда S ясно из контекста.;
^-выражения над S суть слова в S (J {у, *, ~|, U, (,)}, где 1 у, *, ~|, (J, (,) — символы, не принадлежащие S. Каждое у-вы- | ражение а определяет множество £ (а) и S*.j
Определение. Для всякого S у-выражения над S и функ-; ция L: {у-выражения над S} -> Р (S*) определяются индуктивно W следующим образом:
о есть у-выражение над S для любого а е S и L (а) = {а}; 1
(а*р), (а U В), ~1 (а) и у (а) суть у-выражения над S) и з L ((«•₽)) = L(ayL(^tL ((a U В)) = L (а) U L ⑹,L (1 (а)) = W* — L (а),; L(Y (a)) = Y (L (a)).彳
Пояснив таким образом различие между у-выражением а и ; множеством Е(а), которое оно определяет, мы часто будем игно-; рировать это различие, если не возникает недоразумение. Так, мы } пишем S* = a U ~1 (ст) вместо S* = £ ((а U ~1 (。)))・ Подобным обра- j зом для любого множества букв V и £:
=】(,*・(2-!/)・,*),?
I) Через Р(М) обозначается множество всех подмножеств множества : 加.一Прим, nepee.{
так как V* состоит в точности из тех слов в S*, которые не содержат символа, не принадлежащего V. Таким образом, существует у-выражение а над S, такое, что L (а) = V*. Законы де Моргана дают нам пересечение, а тогда из тождеств
片= 2%П『 и е%=Y(片)
следует, что из у-выражения длины s для Sn мы можем получить у-выражение длины s + с для Vn при некоторой константе с и всех s, 〃 w N и обратно, от Vn к Sn. Мы покажем ниже, что вообще s может быть много меньше, чем п.
Определение. Empty(S) = {а/а есть у-выражение над S и L (а) = 0}.
Так как регулярные (распознаваемые конечными автоматами) подмножества S* замкнуты относительно •, U, ~1 и у, то отсюда следует, что Empty (S) рекурсивно и в действительности примитивно рекурсивно. Легко построить конечный автомат для L(a) и проверить, допускает ли автомат некоторое слово; для этого существуют хорошо известные процедуры. Априорный анализ такой процедуры, однако, показывает, что из детерминированных автоматов для у-выражений а, В получился бы недетерминированный автомат для а0 или у(а), и тогда пришлось бы применить «подмножественную конструкцию» Рабина — Скотта, чтобы получить автомат для ~1 (tz*|3) или [у(а). Поскольку подмножественная конструкция может экспоненциально увеличить число состояний в автомате, у-выражения, в которых 也 дополнений чередуются с у и конкатенациями, могут привести к автомату с tk(2) состояниями. Время и зона, необходимые машине Тьюринга, которая распознает Empty (S), согласно процедуре, описанной в общих чертах выше, могут быть ограничены сверху при некоторой константе с величиной
2。
•п
2、
加(с) = 2
Для всех у-выражений длины % > 0. Из приводимых ниже результатов следует, что такая абсурдная неэффективность неизбежна.
Определение. Машина Тьюринга ЭЯ распознает множество 4и£*, если, будучи запущена с произвольным словом на ленте, Ш? останавливается в указанном допускающем состоянйи тогда и только тогда, когда х^А.
3 Зак. 561
Пусть f: N-> N+i)・ Емкостная сложность множества 4uE寸 не превосходит f (не превосходит / почти всюду), записываем 扌
Comp (А) < f (Comp (А) < f (п. в.)),'』
тогда и только тогда, когда существует машина Тьюринга, ко・4 торая распознает Л и для всякого х^А (для всех %三4, за ; исключением конечного числа) использует в своем вычислении^ на входе х не более /(/(%)) клеток ленты. Емкостная сложность Л превосходит f бесконечно часто; записываем /'
Comp (А) > f (6・ ч.),
если не верно, что Comp (Л) W f (и. в.).
Мы используем одну исходную тьюринговскую ленту, модель машины Тьюринга с одной считывающе-записывающей головкой и определяем число клеток ленты, используемых в процессе вычисления на входе %, как максимум из /(%) и числа клеток ленты, посещаемых считывающе-записывающей головкой. Тогда по определению на любом входном слове х в вычислении используется по крайней мере max {/(%), 1} клеток ленты.
Мы кратко повторяем хорошо известные факты о вычислениях на машине Тьюринга с ограниченной зоной, впервые установленные Хартманисом, Стирнзом и Льюисом.
Определение. Функция f: Nf N* ленточно конструируе- гма, если f》%n[n + lj и существует машина Тьюринга, которая, •будучи запущена на произвольном входном слове длины п О, останавливается, использовав точно f(〃) клеток ленты.
Факт 1. /о + 1 = %n[n + 1] ленточно конструируема. Для всякого 也 > О В ленточно конструируема. 久
Факт 2. Если /: Nf N* ленточно конструируема и для некоторого 4uW*, Comp (Л) Wf (п. в.), то Comp (4) Wf. В действительности существует машина Тьюринга, которая распознает А и которая останавливается при всяком входе х е 2*, используя не более /(/(%)) клеток ленты. Следовательно, Comp (Л) & & f QComp (2* —4) & 厶 /
Факт 3. Если f: Nf N+ ленточно конструируема, то существует А и {0, 1}*, такое, что Comp (Л) Wf и Comp (4) >g (б. ч.) для любой g: Nf N4", такой, что
:lim =/
П->оо f(〃)
Наше доказательство состоит из последовательности сводимостей одной проблемы разрешения или распознавания к дру*
Здесь N 三{1,2,3-,.}, № = {0 J 2,…}. — Прим, пере%
гой. В противоположность обычным сводимостям теории рекурсивных функций наши сводимости должны быть вычислительно эффективными. Мы вводим особое понятие эффективной сводимости, которое достаточно для наших целей.
Определение. Пусть Sb S2 — конечные множества символов и* А\ и£;, А2 cs SJ. Ai эффективно сводимо к Л2? записываем А{ eff Л2, если существует полином р и машина Тьюринга, которая, будучи запущена с произвольным словом % w 2; на ленте, останавливается со словом у w 员 на ленте, таким, что
х^ А[^у ^ А2 и
число клеток ленты, используемых в вычислении для входа %, не превосходит р(/(%)) (и тем более Цу) &「"(%)))・
Заметим, что все сводимости, которые описаны ниже, требуют лишь линейного полинома по зоне и только по времени произвольного полинома. Однако, чтобы свести к минимуму требования к интуиции читателей (поскольку мы фактически никогда не приводим диаграмму переходов или таблицу четверок для машин Тьюринга, которые описываем), мы допускаем полиномы любой степени. Точно так же eff ограничено гораздо больше, чем это необходимо, чтобы доказать теорему 2.
Факт 4. eff является транзитивным отношением на множествах слов.
Факт 5. Если А \ eff Л2 и Comp(42)Wf (п. в.), то существует полином р, такой, что
Comp (4) & 入九[max {f (m) | m & p (n)} + p (n)] (п. в.).
Факт 6. Если Ai eff A2 и Comp (A 1) > ^+1 (6. qj, to Comp (4) > th (б. 4.).
Доказательство. Непосредственно следует из факта 5и замечания, что для любого полинома р tk(p(ii)) + p(n)^ t^x (п) для всех достаточно больших п.
Теперь можно получить доказательство теоремы 2.
Доказательство теоремы 2. Мы установим ниже,что Empty({0, 1}) eff WSlSf Empty(S) eff Empty ({0, 1}) для любого конечного S и, наконец, что для любого k и любого множества 4 и {0, 1}*, такого, что Comp (Л) & /&> существует конечное S, такое, что 4 eff Empty (S).
'Мы имеем, согласно факту 4, A eff VTS1S для любых 4 и k, таких, что Comp (Л) W 必
Тогда из фактов 1, 3 и 6 заключаем, что для любого 也 Comp "SIS) > th-\ (б. ч.).
Остается лишь установить требуемые сводимости.
Лемма 1. Empty ({0, 1}) eff WSIS.,
Доказательство. Мы покажем, как для всякого у-вы- ражения а над {0, 1} построить формулу Fa 巨 LSIS с двумя свободными числовыми переменными и одной свободной множественной переменной. Для любого множества М и N пусть СМ- N+{0, 1} есть характеристическая функция М(См(п) = 1 <=> <=> п^ М). Формула 尸《 будет построена так, что для n, m е N, конечного М и N
尸 а (九,加,м) истинно^ [[п <т И См (п)* С^ (п + 1)...
・・・ См(т — I) ^L (а)] или [n = m и、三 L (а)]].
尸а строится индукцией по определению у-выражений. Если а есть,0 или 1, то
尸о (%, У,X) есть [у = %+ 1 и 1 (х е X)],
戶 1 (尤,у, X) есть [у = % + 1 и % w X].
Если а есть (Р*6), то
尸а(•*, У,X) есть (Зг)[х<г и г<у и 尸(居 a, X) и 尸己(爲 у, Х)]・
Если а есть 丫⑹,то
& (居 У,X) есть ЗХ0 [尸в (х, у, Хо)]・
Если а есть (BU6) или 1 (Р), то Fa есть [尸§ или 尸J или [~]尸§ (%, yf X) и х^у] соответственно.
Ясно, что существует машина Тьюринга, которая по данному входу а е {0,1, (,) U, у, *, Я}* может проверить, является лн a правильно построенным у-выражением, и если это так, печа* тает в качестве выхода предложение
П(3х) (3y)OX)[Fa(x, у, X)],
используя зону, не превосходящую некоторого фиксированного полинома от Z(a). (Если а не является правильно построенным, машина печатает в качестве выхода (三%)[% = % + 1].) Следовательно, Empty ({0, 1}) eff ITS1S.
Нам будет удобнее работать с более широкими множествами символов, нежели {0, 1}, однако тривиальное кодирование покажет, что это не влечет потери общности.
Пусть 2 ——любое конечное множество символов, 121 ^ 2, скажем, 0, 1 е S, 0 #= 1. Тогда для любого п》1 существует у-вы- ражение над S для (Sn)*. Чтобы убедиться в этом, рассмотрим слово из S*, не принадлежащее (О71'-1!)*. Такое слово либо не начинается с 0п-11, либо не оканчивается на 1, либо содержит подслово из 0 ・ Е'Т (S—0) или 1 ・ Sn-1 (Е— 1). Следовательно, 1 ((Oil)*)U Л= П ((ТУЕ*) 1) 1 (£ Т) U (寸 0工1 (2 一 0) S*) и
U(E*1E〃T(E-1”*), и, замечая,. что X = П (S • £*), мы имеем (()11)*=[(九 U~l((Of)*»UA и Q2* = Y((0f)*).
Если теперь дано любое конечное множество Sb выберем п достаточно большим, с тем чтобы |E'|》|EJ и пусть А: % f —У —любая однозначная функция. Распространим h до однозначного отображения Р(Е;) в Р((£')*) с помощью очевидных правил: h (Z) = Z, h (ха^ = ft (x)* h (а^ для % w Е;, 5 w £, и 用(4)= U {用(%)} Для 4иЕ;. Тогда существует у-выражение над S для /z(SJ), поскольку слово не Принадлежит /г (2*) либо потому, что его длина не кратна /г, либо еще потому, что оно содержит подслово длины /г, не принадлежащее h (SJ, которое начинается с позиции, сравнимой с первой по модулю п:
S* 一 h (Е;) = ~1 ((£» U (Е“)* -^n-h (Ei))・(Е))・
Лемма 2. (Кодирование.) Пусть 2b Е — конечные множества символов, причем |Е|>2・ Пусть для некоторого /г》1 /к P(2J) f Р((£“)*) — распространение однозначной функции из Ei в Е'. Тогда существует машина Тьюринга, которая, будучи запущена с у-выражением а над Sb останавливается с у-выражением В над Е на ленте, таким, что
似厶(a)) =厶偉).
Кроме того, зона, используемая в процессе вычисления с входом а, ограничена полиномом от I (а).
Доказательство. Преобразование а в р происходит путем рекурсивного применения следующих правил:
Если aw』,то В есть выражение, равное некоторому выражению для /г(£(а))・
Если а есть (а*а2) или (% U а?), то р есть (В;^) или (Pi U ₽2) соответственно, где 自,р2 ~" преобразования аь а2. Если а есть у (а^, то § есть
ig(Y©))uk)),
где В[ — преобразование а】 и pSi ——у-выражение над S для S* — ft (S*). (Заметим,, что для 4 и Е; /г (у% (4)) = у2(/г (А)) П 九(£;), что является обоснованием этого правила.) Наконец, если а есть ~] (а) то В есть ~] ((§] U ₽s )), так как для 4 и Е;九(Е;——Д)= =Л (SJ) 一 用(4) = £* 一 (ft (4) U £ -九闾))・
Ясно, что машина Тьюринга может выполнить это рекурсивное преобразование в пределах требуемой границы зоны.
Следствие. Для любого конечного S
Empty (S) eff Empty {0, 1}.
Доказательство, Закодируем S в {0, 1} с помощью А как в лемме 2. Тогда а е Empty (2)Ф^£ (а) = 0 ^h (L (а))= =0 今 £(§) = 0 台§ w Empty {0, 1}. ч. т. д.
Пусть дано у-выражение для 2n. Мы теперь показываем, как можно построить у-выражение приблизительно такого же размера, описывающее любое требуемое вычисление машины Тьюринга при условии, что состояния и символы машины Тьюринга можно представить в S и что вычисление требует только п клеток ленты. Это построение будет выполняться рекуррентно, с тем чтобы получить у-выражения размера и для 2‘女(山,и потом, в конце, будет использовано для того, чтобы сделать вывод, что A eff Empty (S) для любого 4 и {0, 1}*, удовлетворяющего соотношению Comp⑷W凤
Определение. Пусть Эй — произвольная машина Тьюринга с множеством ленточных символов Т 尸 множеством состояний S. Предполагаем, что b w Т, где b обозначает пустую клетку ленты. Мгновенное описание (м. о.) машины Эй есть слово из (Т U (S X Т))\ которое содержит точно один символ из SXT】)・ Если дано произвольное м. о. х = z/e (s, 9'z для у, swT*, следующее м. о., Next肌(х), определяется следующим образом: если 晚,находясь в состоянии s и обозревая своей считывающе-записывающей головкой символ /, переходит в состояние s' и печатает символ f w Т, то Next航(х) есть
乡:〃,,),z, если Эй не сдвигает свою головку,
“,•(s', 〃)•明 если 耽 сдвигает свою головку вправо и z — uw для 〃三т,如巨t\
w9 (/, 〃)», если Эй сдвигает свою головку влево и у —wu для 〃三 Т, з wT*.
Next^ (%) не определено, если (s, /) есть условие останова или если (s, /) есть правый (левый) крайний символ % н Ш? сдвигается вправо (влево). Пусть Next航(%, 0) = х, если х является м. о., и не определено в противном случае; Next耿(%, 〃+1) = =Next耽(Next航优九)).
Наконец, пусть # ——символ, не принадлежащий TU(SXT). Вычисление с航 машины 耽 на % есть следующее слово в (俳} UTIHSXT})*:
с航(%) = #[Next航(%, О)' #• Nex% (%, 1),#'・•・’# Next耽(x,九厂 #, где и ~ наименьшее целое, такое, что (qa, /) встречается в Next (х, п) для некоторого Z w Т и указанного заключительного состояния «д. Вычисление с凱(%) не определено, если такого п не существует. ”
')S X 7 = {(s, f) I s w S и / 三 7}.
Замечание. Заметим, что наше определение вычисления отличается от определения, принятого в литературе. Вычисление с亚(%) определяется для мгновенных описаний х, а не для входных слов х. Более того, все м. о. в с^ (%) имеют в точности одну и ту же длину. Ниже приводится ключевое свойство с耽(%)・
Факт 7. Пусть 峡 задана как в предыдущем определении, и пусть S = {#} U Т U {S >< Т}・ Для любого м. о. % пусть с^ (Z, х)— Z-символ в с航(%), 1 &»《/;0迦(%))・ Тогда существует частичная функция 卜:S3—>2, такая, что для любого м. о. х и любого целого 力,Z (х) + 2 < Z < / (с^ (х)),
區(厶 %) = f£* (i - (Z (x) + 2), x),喝 « -(/(%) + 1), x),c断"/(%); %)0%3,% %)=0,
если OjWSXT является условием останова 耽,Z = 1, 2, 3. Это непосредственно следует из того, что (九——1)-й, n-й и (п + 1)-й символы любого м. о. у единственным образом определяют л-й символ Next航(у) при условии, что Next航(у) определено.
Лемма 3. (Моделирование.) Пусть 3R — машина Гъюринга с множеством состояний S, множеством символов Т и указанным заключительным состоянием qa w S・ Пусть S = {韭} U「U U (S X Л- Существует машина Тьюринга С航,которая, будучи запущена с произвольным словом у・#'а на ленте, где у — м.о, машины 耽〃 а — у-выражение над 2, такое、что L (а)=,九 для некоторого п > 0, останавливается с у-выражением В над S, та- 3儿,что
L (В) = {L (В) = {{с2« (^nybn)}f если с航(b"b九)определено,0 в противном случае.
L (В) = {
L (В) = {
Кроме того, существует полином р, такой, что С耽 использует в своем вычислении не более р (Z (у,а)) клеток ленты.
Доказательство. Мы опишем, как построить из у*#'а, где L (а) = 2^, у-выраж^ние В для {с^ (bnybn)}. Мы начинаем с замечания о том, что слова из 2*, не равные с航(b%b“), т. е. ~1闷(6%喲),можно охарактеризовать следующим образом:
слова, которые не начинаются с ^р bnybn 41=, или
слова, которые не содержат qa, или
слова, которые не оканчиваются на #, или
слова, которые не удовлетворяют функциональному условию, определенному функцией f航 в факте 7.
Эти четыре множества слов можно также описать с помощью формул一
-1(#-(Ь(а)П6Т/(Д(а)Л&У#-2*),-1(#-(Ь(а)П6Т/(Д(а)Л&У#-2*),Г)
-1(#-(Ь(а)П6Т/(Д(а)Л&У#-2*),
-1(#-(Ь(а)П6Т/(Д(а)Л&У#-2*),
3‘)W#),
4‘) U , [E%E。,(б,少*% (a),g - ^ G,%,®)' »]・
Легко, однако, видеть, как построить ^выражение прямо из (Г)— (4‘), и, следовательно, § просто является дополнением к объединению этих четырех выражений. Заметим, что /⑹ & с • / (у 林 а) для некоторой константы с, которая зависит только от 耽,но не от у или а. Кроме того, машине Тьюринга С说,которая строит § из у # а, нет необходимости использовать больше чем Z (В) клеток ленты, и она, таким образом, конечно, двигаете^ в пределах полиномиальной границы зоны.
Определение. Е —加一МТ есть машина Тьюринга, такая, что для некоторого полинома р, некоторой функции fk ^ tk и всех /г > 0, если машина запущена с О' на ленте, она останавливается со словом а на ленте, таким, что
а является у-выражением над S и £(а) = Е“ ⑺,
число клеток ленты, используемых в вычислении, не превосходит р (и).
Лемма 4. Если для какого-нибудь конечного £' существует Е‘一厶一МТ, то 〃 для любого S, такого, что | S 2, существует S —加一МТ.
Доказательство. Как и в лемме 2, кодируем 2’ в S. Детали оставляются читателю.
Лемма 5. Для любого 尼》0 и любого S, |Е|》2, существует Е — tk — МТ.
Доказательство. S — f0 — МТ просто печатает по входу О' некоторое выражение для у (o'), где а е S — любой символ. Продолжая по индукции, предположим, что существует Е—tk——МТ. Пусть ^ — машина Тьюринга, которая, будучи запущена с О' на ленте при произвольном и > 0, отмечает tk (и) клеток на ленте и затем использует эти клетки, чтобы циклически работать в течение некоторого числа^+]仇)》2%⑺=品包) шагов вплоть до окончательного останова. Выберем S как в лемме о моделировании, примененной к 耽” S — ^+1 — МТ работает следующим образом: если дано 0п, используем W —勿一МТ, чтобы получить а, такое, что £(а) = Е“⑺.Применяем 。吗 из леммы о моделировании к (до, 0) 0九一〔・#・ а, где qo — начальное состояние 迦々・ Это дает увыражение р, такое, что L (р) = {。说左(%)}, где 无=6%⑺ q, о) 0n^bfk(n\ Однако с唳(%) определено, поскольку 耽々 при входе 0, останавливается в пределах tk (и)^^ (п) клеток ленты. Кроме того, 2e吗(%))》勿+1(几),так как 耽尼 делает
по крайней мере 〃+〕(〃)шагов. Следовательно, выход S—亳+i—МТ есть просто y(B)・ Так как а получается на зоне р{ (и) для некоторого полинома Pi и § подобным образом получается на зоне Р2(〃 + 1 + Pi (〃)) Для некоторого полинома р2, то весь процесс требует полиномиальной зоны.
Лемма 6. Для любого множества 4 и {0, 1}*, если для некоторого 々^0 Comp (Л)<4,то существует конечное S, такое, что XeffEmpty (S).
Доказательство. Пусть 迦——машина Тьюринга, которая распознает {0, 1}* —4 и для любого % w {0, 1}* 迦 останавливается, использовав не более tk (/ (х)) клеток ленты. Такая ЭК существует согласно факту 2.
Выберем S как в лемме о моделировании, примененной к 耽.
Машина Тьюринга, которая эффективно сводит А к Empty (S), работает следующим образом: если дано %w{0, 1}*, используем 2—tk—МТ, чтобы получить у-внражение а, такое, что L (。) = 2‘々(') для и = / (%). Применяем 。耽―из леммы о моделировании к (方,〃)•财*'а, где ^0 — начальное состояние 耽 н x = uw для 〃三(0, 1},如 w {0, 1}*. (Мы опускаем случай % =九.)Это дает у-выражение р, которое, как мы утверждаем, является искомым выходом.
Так как машине 迦 необходима зона не более tk (и), то вычисление с耽(у), где у = bM⑺ Q/o, и)•加b'h ⑺,определено тогда и только тогда, когда % допускается машиной 迦.Следовательно, х е Л ФФ х не допускается машиной 迦台 с耽(у), не определено 今厶(6) = 0 今 В м Empty (S). Это обосновывает наше утверждение о том, что § является правильным выходом.
Как и в предыдущей лемме, машине Тьюринга, преобразующей % в 6, необходима зона, не превосходящая некоторого полинома от 1(х).
Эта лемма завершает леммы, необходимые для теоремы 2.
Нетрудно обобщить это доказательство так, чтобы получить теорему 1. Мы пользуемся более строгой формой факта 3 для того, чтобы сделать вывод из доказательства теоремы 2 об информации относительно частоты повторения (м. о.)-условия в утверждении о том, что Comp(U/SlS)> tk (б. ч.).
Следствие. Следующие разрешимые полные 〃 слабые теории второго порядка не элементарно рекурсивны*, двух функций следования, счетного линейного порядка, функции одного аргумента со счетной областью определения, единичного интервала относительно 0. (Разрешимая) теория первого порядка двух функций следования с предикатами длины 〃 префикса также не элементарно рекурсивна. Теория первого п&рядка сложения 〃 Р
на неотрицательных целых числах, где Р(х, у) = [х есть степень: двойки, которая делит у], разрешима, но не элементарно. 6
Это вытекает из подходящих прямых эффективных редукций II^SIS к каждой из указанных теорий.
у-выражения сами по себе представляют интерес в качестве разрешимой, но не элементарной словарной проблемы.
Следствие. Empty({0, 1}) не элементарно рекурсивно.
Дальнейшие замечания: (1) Рабин утверждает в своей работе о разрешимости S2S-(полной) сингулярной теории второго порядка двух функций следования, что его процедура элементарно рекурсивна. По-видимому, он был введен в заблуждение тем фактом, что каждый шаг элиминации кванторов в его доказательстве элементарен, и тем, что заключительная проверка, допускает ли автомат на дереве непустое множество, также является элементарной относительно размера автомата. Тем не менее последовательная элиминация кванторов составляет элементарные шаги и дает процедуру, требующую зону приблизительно tn (2) для формул длины п.
У нас еще не было времени, чтобы рассмотреть, для каких разрешимых теорий, кроме тех, которые отмечены в заключительных следствиях, можно этими методами показать неэлемен- тарность. Направления дальнейшего исследования совершенно очевидны. .
Построение в лемме о моделировании можно выполнить с использованием обычных регулярных выражений (с •, U и * в качестве единственных операций), хотя с несколько большим усилием. Стандартные методы теории автоматов показывают, что общая проблема эквивалентности регулярных выражений имеет верхнюю границу по зоне п2 и по времени dn для некоторого d > 1._
Подобным образом, если рассматривать регулярные выражения с сокращением а2 для а*а, то любая процедура для решения; равны ли регулярные выражения с возведением в квадрат выражению {0, 1} *, требует зоны ~сп для некоторого с> i 】). Общая проблема эквивалентности вновь может быть решена с зоной dn и временем dd" для некоторого d〉1. Эти результаты появятся в совместной с Л. Стокмейером статье, более ранняя работа которого по регулярным выражениям подсказала лемму о моделировании.
Таким образом, наша техника не ограничена процедурами, для которых элементарность не известна. Надеемся, что мы
9 Речь идет, конечно, о равенстве множеств, задаваемых регулярными сражениями. — Прим, перев.*
в состоянии получать нетривиальные нижние границы сложности разрешения проблем, для которых элементарность известна.
Некоторые занимательные технические вопросы о увы' ражениях к настоящему моменту остаются открытыми. Мы можем показать, что не все регулярные множества представимы в виде у-выражений, однако наше доказательство привлекает некоторые глубокие результаты алгебраической теории автоматов. Наше доказательство не исключает возможности того, что множество слов в {0, 1} * с четным числом нулей и произвольным числом единиц,у-выразимо, однако мы не смогли найти у-выр,ажение для этого множества. Заметим, что (00) * ——у-вы- разимо (ср. с леммой 2).
Абстрактная теория сложности оставалась открытой для критики из-за невозможности указать «естественные» проблемы разрешения, в которых появлялись такие явления, как ускорение. Применяя результаты Блюма об эффективном ускорении к нашему моделированию машин Тьюринга посредством 仍S1S, мы можем показать, что если дана произвольная разрешающая процедура для 步S1S, то можно эффективно построить новую разрешающую процедуру для WSIS, которая много быстрее (ускорение с помощью при любом &), .чем данная процедура, по крайней мере на одном предложении длины п для всех достаточно больших целых п.
Отношение eff можно охарактеризовать путем, подобным определению элементарных функций или примитивно рекурсивных функций. Класс 齒2戶,названный так потому, что он расположен строго между классами Гжегорчика 齒2 и 齒з, определяется по индукции следующим образом:
. Х — у, 尤 + y, %У,M】og2*w 苏2,5.
.齒2,5 замкнут относительно явных преобразований (подстановки констант и переименования или отождествления переменных),
.齒2,5 замкнут относительно суперпозиции функций и
.齒2,5 замкнут относительно ограниченной рекурсии, ограниченного суммирования и ограниченной минимизации !).
Предположим, что мы отождествляем слова из 2* с целыми числами, которые они представляют в системе счисления с основанием 2, и пусть для любого множества 4 и £* характеристическая функция множества целых чисел, отождествляемого с А, есть С a. N {0, 1}. Тогда В eff А тогда и только тогда, когда Св(х) = Са(/(х)) Для некоторой / е ^2»5 и всех % w N.
')Определения смотри в статье Гжегорчика. Замкнутость относительно ограниченной рекурсии на самом деле влечет замкнутость4 относительно огра^ ничейного суммирования и ограниченной минимизации»
По существу, ^2>5 доставляет язык программирования высокого уровня, в котором можно формально выразить процедуры, о которых мы неформально утверждали, что они могут быть выполнены на машинах Тьюринга с полиномиально ограниченной зоной. Этим способом наше доказательство можно представить в совершенно формальной форме без обращения к интуитивным соображениям относительно потребностей зоны при вычислениях. Мы предпочитаем последний подход.
Доказательство Ларри Стокмейером того, что любая проблема, недетерминированно разрешимая за полиномиальное время, детерминированно сводима за полиномиальное время к регулярному выражению, не равному 2*, дало ключевую идею к лемме о моделировании. Джин Ферранте и Чарльз Раков выполнили эффективные сведения 步S1S к другим упомянутым теориям. Патрик Фишер корректно указал на то, что использование 若 в моем первоначальном доказательстве было несущественным.
Советы и внимание моего коллеги Майкла Дж. Фишера были в высшей степени полезными, как они неизменно бывали и в прошлом.
ПРИМЕЧАНИЯ ПЕРЕВОДЧИКА
Спустя полтора года после выхода в свет настоящей работы появилась новая, работа А. Мейера под тем же заголовком. В ней с небольшими техническими изменениями изложены те же результаты, что и в настоящей работе. Сообщается также, что автором совместно с М. Фишером, М. Рабином, Л. Стокмейером, Дж. Ферранте и Ч. Раковом получены близкие верхние и нижние оценки зоны и времени разрешающих процедур для многих разрешимых теорий в логике и теории автоматов. Ниже мы приводим некоторые из этих результатов.
(А. Мейер.) Проблема выполнимости в теории первой ступени линейного порядка не элементарна. Для подходящих констант с верхняя и нижняя оценки зоны имеют вид tc.n (п).
(Л. Стокмей^р.) Проблема пустоты для выражений, содержащих только операции U, *, ~1, не элементарна.
(М. Фишер — М. Рабин.) Любая разрешающая процедура для теории первого порядка 〈加,+), т. е. для арифметики Прес- бургера, требует t2(c-n) шагов даже на недетерминированных машинах Тьюринга.
Верхнюю границу зоны, равную %2(с'・〃), установили Дж. Ферранте и Ч. Раков.
(М. Фишер ——М. Рабин.) Любая разрешающая процедура для теории первого порядка {N——{0}, •) требует времени 〃(с・м) даже на недетерминированных машинах Тьюринга.
(М. Фишер.) Пусть S ——класс* структур с бинарным ассоциативным оператором *, обладающий тем свойством, что для бесконечно многих п существует s w S w S, такое, что
sn =# sm при 1 <m<n,
где s^ = s*s* ・•• *s. Тогда любая процедура проверки вы-
m
полнимости в S -предложений языка первого порядка сигнатуры {*} требует /1(с・м) шагов. Этот результат применим почти ко всем известным разрешимым теориям в логике, за исключением пропозиционального исчисления и исчисления чистого равенства.
(А. Мейер.) Процедура проверки выполнимости предложений примерно с семью кванторами в сингулярном исчислении предикатов требует времени ^(с-n) даже на недетерминированных машинах Тьюринга. Время /1 (с^п) достижимо на недетерминированных машинах Тьюринга.
(М. Фишер ——А. Мейер.) Проблема выполнимости в теории первого порядка единственной одноместной функции не элементарна.”
ЛИТЕРАТУРА
Blum М., On effective procedures for speed-up algorithms. Jour. Assoc. Comp. Mach., 18, 2, April 1971, 290—305.
Buchi J. R., Weak second-order arithmetic and finite automata, Zeit. Math. Logik und Grund. Math” 6 (I960), 66«—92. (Русский перевод: Д. Р. Бюхи, Слабая арифметика второго порядка и конечные автоматы, Кибернетический с6орннк,В (1964), 42—47.)
Grzegorczyk A., Some classes of recursive functions, Rozprawy Mathematicz- ne, 4, Warsaw, 1953, 1—45. (Русский перевод: А. Гжегорчик, Некоторые классы рекурсивных функций, сб. пер. «Проблемы математической логики», М. (1970), 9—49.)
Rabin М. О. Decidability of second-order theories and automata on infinite trees, Trans. Amer. Math. S。% 141 (1969), 1—35.
Ritchie R. W., Classes of predictably computable functions Trans. Amer. Math. Soc., 106 (1963), 139—173. (Русский перевод: P. В. Ричи, Классы предсказуемо вычислимых функций, сб. пер. «Проблемы математической логики», М., 1970, 50—93.)
Stearns R. Е., Hartmanis J., Lewis Р. М. II, Hierarchies of memory-limited computations, IEEE Conf. Rec. on Switching Theory and Logical Design, Sixth Annual Symposium, (1965), 179—190. (Русский перевод: P. E. Стирнз, Дж. Хартманне, П. М. Льюис II, Иерархии вычислений с ограниченной памятью, сб. пер. «Проблемы математической логики》? М. (1970), 301— 319.)
О формализованных машинныхпрограммах)
Д. 〃。及%3也 Д. М. Парк, М. С. Патерсон
ВВЕДЕНИЕ
В работе [2] Янов ввел простую абстрактную модель машйй* ной программы (под названием схемы программы), основанную на представлении программы в виде конечной линейной последовательности операторов двух типов: вычислительных операторов и операторов условного перехода по одному из двух направлений. Команды перехода, управляющие порядком, в котором выполняются операторы, зависят от значения пропозициональных истинностных функций конечного числа переменных; значения последних (истина или' ложь) могут изменяться при выполнении того или иного вычисления. Ни один из вычислительных операторов и ни одна из булевых функций не интерпретированы (т. е. их значения или интерпретация отсутствуют), так что схема программы может быть представлена как семейство машинных программ, каждый член которого является допустимой интерпретацией схемы. Свойства абстрактных схем этого типа не зависят от какой-либо конкретной машины или языка программирования и выполняются в программах, записанных на любом языке, который обладает последовательностными и контролирующими характеристиками, предполагаемыми в модели. Основные результаты, полученные Яновым, заключаются в существовании двух алгоритмов: алгоритма, который для любой пары схем устанавливает, представляют ли они при всех интерпретациях одни и те же программы (т. е. являются эквивалентными) или нет, и алгоритма, переводящего схему в эквивалентную ей простую каноническую форму. Эти результаты кратко излагаются Ратледжем в [3], где, кроме того, отмечается прямая связь между схемами Янова и конечными автоматами (и, таким образом, результаты, полученные в других областях теории вычислений, могут быть проинтерпретированы «программно-ориентированными» средствами).
Одна из основных целей исследования свойств таких абстрактных программ состоит в подходе на некоторой общей основе к проблеме оптимизаций программ. Алгоритмы, осущест-
вляющие исключение операторов из схем или слияние и укорачивание циклов.в схеме при условии сохранения эквивалентности, должны давать основу для практических упрощений. Однако модель Янова слишком элементарна, и должны быть учтены другие «общие» свойства машинных программ, например зависимость или независимость вычислительных операторов внутри программы. :
В разд. 2 мы предлагаем естественное обобщение схемы Янова посредством введения свободных переменных. Вычислительные операторы и операторы перехода задаются нами в виде функций переменных, и значение каждого вычисления присваивается некоторой переменной. Содержательно абстрактная схема теперь изображает «поток информации» в программе.
Хотя нащ формализм обладает определенными алголо-подобными особенностями, несущественность этого легко показать; схемы программ могут быть заданы, например, совокупностями рекурсивных уравнений, и поэтому результаты, полученные в последующих разделах, сохраняют свою справедливость для программ, записанных и в этом формализме.
Вопрос разрешимости эквивалентности схем программ тесно связан с существованием упрощающих алгоритмов. Если проблема эквивалентности разрешима, то в принципе существует алгоритм для сведения схемы к простейшей (в некотором смысле) возможной форме. В разделах 4 и 5 мы показываем, что для почти всякого разумного,口онятия эквивалентности между машинными программами оба вопроса: об эквивалентности и о неэквивалентности пары схем не являются частично разрешимыми. (Здесь под «частичной разрешимостью» понимается «рекурсивная перечислимость», а именно: отношение г (а, Ь) частично разрешимо, но не разрешимо, если существует алгоритм для порождения списка всех пар (а, Ь), таких, что г (а, Ь) выполняется, но не существует алгоритма, перечисляющего все та” кие пары, для которых г (а, Ъ) не выполняется.) Отсюда следует, что не существует оптимизирующих алгоритмов для пол。 ного сведения схемы 財 так сказать, к кратчайшей возможной форме. Фактически, как будет показано, таких алгоритмов не существует даже в случае строго ограниченных классов схем. В разд. 4 устанавливается основной результат о частичной неразрешимости строгой эквивалентности (работа [3] содержит более раннее доказательство), в разд. 5 этот результат распространяется на более слабые понятия эквивалентности. Доказательства используют некоторые свойства многоголовочных автоматов; последние рассматриваются в разд. 3.
В разд. 6 мы устанавливаем эквивалентность между очень простым классом схем и многоленточными автоматами. Отсюда следует, что схемы Янова эквивалентны схемам программ,
содержащим одну свободную переменную. Наконец, чтобы нейтрализовать отрицательные результаты, полученные в разд. 4 и 5, мы даем сжатый обзор классов схем, для которых проблема эквивалентности разрешима и существуют оптимизирующие алгоритмы, и перечисляем некоторые открытые проблемы.
СХЕМЫ ПРОГРАММ
Введем формальный язык, содержащий следующие символы:
цифры,, °
Fi,尸3,尸;,・・・,尸:,尸;,尸± ... (функциональные символы),
£b 厶2,上3,•・・(символы ячеек),
Г】,「2,尸8,・•• (предикатные символы),-
: = (символ присваивания),
(vi) STOP,
(vii) ( , ) и запятая (вспомогательные символы).
Допустимыми выражениями (или операторами) языка назовем выражения трех типов (символами, отличными от £,尸, STOP, обозначаются числа; в каждом случае 々 называется префиксом или адресом оператора):
Операторы присваивания !)
々.Lt •;±—-尸/L/, •.., Lh}・
Операторы перехода
k. & (L0 m, n, где m, n — числа (адреса перехода).
Оператор STOP
k. STOP.
Схемой программы (обозначим ее символом Р) назовем такую конечную последовательность допустимых операторов, что (i) префикс каждого оператора является его позицией в последовательности, (ii) все адреса перехода являются префиксами в Р н (iii) последним оператором является или переход, или STOP.
Часто будет удобно изображать схемы в виде потоковых диаграмм; диаграммой 1 изображается схема
.厶:=尸 1 «2),
.2. 71(厶)5,5,
.厶:Н尸2 (厶,L2),
Называемые также вычислительными операторами.
. & : = &(厶 J
5・ Ti&)6, 3, 6. STOP.
Заметим, что оператор 2 ——это «безусловный» переход, и поэтому он не воспроизводится в потоковой диаграмме в точности.
Содержательно схема программы призвана изображать семейство допустимых машинных нрогра'мм. Под этим понимается следующее. Как только функциональные и предикатные символы схемы Р получают конкретную интерпретацию (посредством функций и характеристических функций соответственно, причем не обязательно конструктивных), схема превращается в программу, которая может быть выполнена идеализированной машиной. Процесс выполнения состоит в последовательном выполнении операторов в том порядке, в котором они следуют друг за другом в схеме (за исключением случаев, когда встречаются операторы перехода), начиная с первого оператора и при начальной совокупности данных, хранящихся в ячейках схемы Р; пусть это будут 厶卜 厶2, • • •, Ln. На каждом шаге выполняется оператор одного из двух типов: если выполняется 厶@:= 尸/(£〃『...,厶〃「), то результат вполне определенного вычисления, осуществленного над содержимым ячеек 厶〃# ..., Lu (которое остается неизменным), присваивается ячейке 厶①;если выполняется Т必®) и, и, то в зависимости от содержимого 厶① принимается решение: выполнять в качестве следующего u-й или и-й оператор. Если на различных шагах машина выполняет Тj (L^) u, v и " «“)〃',『при одном и том же содержимом ячеек £о и Lw, то на первом шаге переход к оператору Su (u-й оператор) следует разрешать в том и только том случае, если на втором шаге осуществляется переход к оператору S,/: иными словами, решения (относительно выбора следующего оператора) должнц
быть согласованными. Если процесс вычисления останавливается (при выполнении оператора СТОП), то его значением на* зывается последний вектор значений, присвоенных ячейкам Li, ..., Ln. Выполненная последовательность вычислений в общем случае зависит как от интерпретации, так и от природы индивидуальных шагов. Необходимо зам.етить, что схемы программ предназначены для изображения неинтерпретированных машинных программ в том смысле, что нас интересует их поведение над очень широким классом интерпретаций.
Схема, изображенная на диаграмме I, при некоторых ее интерпретациях над целыми числами будет вычислять функцию- факториал; для этого достаточно взять /(尸】)(%)= 1, /(尸2)(%, у)= = %Х, /(尸з) (%) = %—1, /(71)(%)=°, если х = 0, и /(Т1) (х) = I, если х > 0. При других интерпретациях, а именно над списочными структурами, она будет вычислять функцию reverse(x), рассмотренную Мак-Карти в [4]; для этого надо положить /(尸 1) (%) = NIL, /(F2) (х, у) = Cons (Саг (х), у), /(F3) (х) = Cdr(х) и /(7\)(%) есть 0, если Null (х), и / в противном случае.
Формально, интерпретация / схемы Р состоит в сопоставлении ячейкам, функциональным и предикатным символам схемы Р соответственно некоторого множества D и множества функций и характеристических функций, причем
Каждому символу ячейки Lz сопоставляется элемент I(L〉wD.
Каждому функциональному символу 尸7 сопоставляется n-арная Функция /(F?):
Каждому предикатному символу Tf сопоставляется характеристическая функция над DI (Т^ D-> {0, I}. Обозначения•、
Пусть с и Р(с) обозначают соответственно допустимую последовательность операторов схемы Р (т. е. путь в потоковой диаграмме схемы Р) и последовательность векторов значений, присваиваемых ячейкам 〈£】,£2, •…,乙力 в процессе выполнения с. Пусть с (0 — z-й член о, Р (a) (z) — вектор, полученный по выполнении а(г), и Р(а)(/, /) — его /-я компонента. Символом Su обозначим u-й оператор схемы Р. Последовательности а; и Р; (а;), соответствующие данной интерпретации / и называемые последовательностями выполнения и вычисления, определим по индукции следующим образом:
⑴0/⑴=S].
PJs)(0) =〈/(厶),•••,/(()〉•
Если О/«+ 1) есть присваивание
hr厶伊:=尸£ (厶,•・・,l〃)
то
О/Q + 2) = Se+i,
Р/ 9/) « + 1,j) = Р/(6)«,j),если / #= о, и
Р/ (б (i + 1,砌=/ (用)(Р/(S)(厶 〃i),・・・,Pi (^) (i, %))・
Если a; (i + 1) есть переход
T^LJu, у, то
О/ R + 2) = Ss,если / (Тz) (Р, (с7) (i,(о)) = О,
с; (/ + 2) = Ss если / (Т/) (Р/ 9/)亿 со)) = 1 и
Р/9/)«+1) = Р 9/Mi)・
Если 07 конечна (например, длины т), то значением вычисления схемы Р при / (обозначаем через Val(Pj)) назовем последний вектор последовательности Pi(gi), т. е. Val(Pi)= =^j(ai) (m).
Если последовательность о выполнима при некоторой интерпретации, то назовем ее выполнимой последовательностью.
Рассмотрим интерпретацию /, определенную над классом строк функциональных символов и символов ячеек из Р, такую, что /(厶)=厶 и, если ai, ..., av — некоторые строки, то /(F?) (ai, ..., aj = E;ai ... а。, т. e. результату конкатенации строк 尸,ai,…,w,. Такую интерпретацию будем называть свободной..
Легко показать, что любая выполнимая последовательность a выполняется при некоторой свободной интерпретации; для этого рассмотрим ассоциированную с ней свободную последовательность вычислений Р(с):
⑴ Р(о)(0)=〈〃,・・・,
Если a(i + 1) есть присваивание £®: = ГУ(£Mj, ..., Lu^, то Р (о) (i + 1, /) = Р (a) (i, j) при у #= со и Р (ст) (i + 1,(о) берется равным строке, полученной конкатенацией строк 尸;,Р(a) (z, 〃i),.・・ • • •, p (。)(厶 %)•
С каждым предикатным символом Т/ из Р будем связывать два множества: 2/(ст) в 死/(ст); по определению для всякого z, для которого a (i) — это оператор вида TjiLJu, v с и^= vf Р (о)(厶(о) w 2/(ст) в том и только том случае, если a(f + 1) есть Sv. Поскольку с — выполнимая последовательность, 2“сг)П QRj(cr)=0£ Следовательно, существует такая свободная
интерпретация /, что при aw必 “о) /(「)(a)=0 и при a V’ 三现“о) /(「)(a) = 1. Очевидно, что и = о. Условимся обозначать значение последовательности о при свободной интерпретации через Vai (А (о))а
Определение 1. Схемы программ Р в Р' строго эквивалентны (Р = Р‘) в том и только том случае, если при всех интерпретациях / равенство Val(Pz) = Val(P;) имеет место всякий раз, как определено одно из этих значений.-
По-видимому, это самое строгое возможное понятие эквивалентности и интуитивно может быть представлено как требование того, чтобы эквивалентные схемы программ вели себя одинаково на всех идеализированных машинах. Можно спорить по поводу чрезмерной ограничительности этого понятия, хотя легко усмотреть, что оно совпадает с понятием, полученным при рассмотрении только свободных интерпретаций или (при проведении гёделевской нумерации формальных строк) интерпретаций над множеством натуральных чисел. Можно получить более «конструктивно приемлемые» понятия эквивалентности, если в определении / ограничить множество интерпретаций. Среди таких понятий мы упомянем конечную эквивалентность (Р 三 rP, если Р = Рг при всех интерпретациях с конечными областями) 9 и рекурсивную эквивалентность (Р = RP\ если Р = Р при всех таких интерпретациях, в которых область и функции общерекурсивны). Наконец, при обсуждении проблемы упрощения может представить интерес понятие слабой эквивалентности: Р и Pf слабо эквивалентны (P~PZ) в том и только том случае, если при всех интерпретациях / равенство Vai (Pj)= =Vai (Р/) выполняется всякий раз, когда определены оба значения. (Заметим, что слабая эквивалентность не является отношением эквивалентности.) До определенного момента мы ограничимся рассмотрением строгой эквивалентности.
Существует простая синтаксическая характеристика строгой эквивалентности, выраженная в условиях на последовательности выполнений схем Р и Р'・ Множество {oj последовательностей, построенных для одной схемы или нескольких схем, называется согласованным, если для всякого 7力 входящего в схему (в схемы),
U^/^)nU (е) = 0・
Так, а является выполнимой последовательностью в том и только том случае, если одноэлементное множество {о} согласовано. .
) Впредь называемых конечными интерпретациями.
Теорема 2.1. Р = Рг тогда 〃 только тогда, когда для всех согласованных пар последовательностей о в Р и af в Pf равенство Vai (Р (а)) = Vai (Рг (ал)) имеет место всякий раз, как определено одно из этих значений.
Доказательство. (=Ф)・ Предположим, что Р = Р‘ и что о и(/ согласованы.
Согласованность и и о' означает, что существует единственная свободная интерпретация / над областью D, состоящей" из компонент векторов, принадлежащих Р(а) и Pz (У), такая, что О/ = о н сг; =(/. (Просто определим / (Г/) для любого а е D следующим образом: /(「)= 0 при a w Z/ (о) U 必/ (o') и / (Т7) = 1 в противном случае.) Так как Vai (Р;) = Vai (Р/), * если одно из этих значений определено, то отсюда следует, что либо Vai (Р (о)) = Vai (Р ((/)), либо оба значения не определены.
(£). Если / — некоторая интерпретация схем Р и Р‘, то пара {о,, и;} согласована; следовательно, Vai (Р(aj) = Vai (Pz (а/))> если одно и寸 значений определено. Но значение Vai (Р;) представляет собой интерпретацию значения Vai (Р (а7)) (т. е., если а — компонента вектора из P(s), имеющая вид 尸?尸;・・・厶尼•・・, то ее интерпретация есть /(а) = /(尸7) •/(尸;)(・・・ /(厶• • •), и если а = (а,, ..., а»—— вектор из Р(о0, то его интерпретация есть /(а) =〈/(а]),…,/(%)〉). Поэтому Vai (Р/) = Vai (匕),если одно из значений определено.
Можно было бы надеяться, что строгая эквивалентность будет обладать свойством «компактности» (т. е. что конечная эквивалентность и строгая эквивалентность будут определять одно и то же отношение на схемах); однако это не так.
Теорема 2.2. Р = FPf т^=> Р ^ Р\
Доказательство. Пусть Р — это схема, изображенная диаграммой 2, и Р‘ 一 простая цепочка
L厶:=尸(L3),
.厶:=尸(L3),
. STOP.
Прямая индукция по аргументу устанавливает, что если 。工一 бесконечная последовательность выполнения схемы Р, то значениями /(Т) на последовательности выражений F2Lb 尸3厶卜 尸4厶1, ... будут соответственно числа 0, 1, 0, 1, 1, 0, 1, 1,1,0,...
(через FnL\ обозначается конкатенация 尸 и F^Li). Поэтому /{ не может быть конечной интерпретацией. А на всех конечных: интерпретациях Р заканчивает свою работу с теми же значе-" ниями, что и Р. Итак, Р 三 fP, но Р # 展Р・;
厶 2:="А) 4:="匕)厶 2:="А) 4:="匕)Определенные выше четыре отноше^. ния на схемах могут быть выстроены в последовательность строго возрастающей' силы.
厶 2:="А) 4:="匕)
厶 2:="А) 4:="匕)
L产f化,)Теорема 2.3.
4主三F王三R王三
中叫) L2:/化2)中叫) L2:/化2)厶2:="厶3)厶2:="厶3)Доказательство. Первое строгое включение очевидно, второе следует из доказательства теоремы 2.2 и третье доказано в [5].
中叫) L2:/化2)
中叫) L2:/化2)
厶2:="厶3)
厶2:="厶3)
В заключение отметим, что, хотя、нами принят алголо-подобный формализм, схемы программ можно задавать посредством систем рекурсивных уравнений без данных (базисных) функций, например посредством систем, рассмотренных Мак「 Карти в [4], а поэтому результаты о неразрешимости, полученные в разд. 4, остаются верными и для последнего формализма. Пусть задана схема Реп ячейками Li, ..., Ln; построим систему Е (Р) рекурсивных уравнений от п переменных X = (хь ..., %九〉・ Сначала для каждого функционального символа 尸 из Р введем
|$ТОР|функциональный символ fk и для каждо
го предикатного символа 7\ — предикатный символ Ph- Е(Р) будет состоять из уравнений, определяющих функции gu, ..., gin, которые строятся для каждого оператора Sj следующим образом: если Si — присваивание
^•Ью: = Fk (bW1, ..., L%),
то E(P) содержит уравнения
g订(X) = gi+1 j (%i,・• •,%(о-1‘ 九(&i,•一,%) •…,修),j & %;
для всякого перехода
Е(Р) содержит условные формулы
g〃(X)= (А %) f g〃/ 図,т f 勒(勸,/ & n.
Если Si — оператор STOP, то соответствующие уравнения имеют вид gn(^) = X;, jW儿 Значения функций g〃(N), ... ...,gin (X), если они определены, будут равны последним значениям, присвоенным ячейкам L\, ... ,Ln соответственно в останавливающемся вычислении схемы Р, начатом с оператора Si при такой интерпретации /, что /(%)=修,/(尸Q= fk и I{Tk)= =Ph・ Легко видеть, что 尸 三 尸‘ в том и только том случае, если при всех iW п выполняется равенство g{i =g[・
& МНОГОЛЕНТОЧНЫЕ И МНОГОГОЛОВОЧНЫЕ АВТОМАТЫ
Розенберг в [7] и независимо от него авторы установили ряд результатов по неразрешимости, включая результат для автоматов с двумя головками. Оказалось, что для моделирования этих автоматов в известном смысле могут быть использованы схемы с двумя ячейками, и мы воспользуемся этим обстоятельством, чтобы установить неразрешимость разного вида проблем остановки и проблем эквивалентности для схем программ.
Многоголовочные автоматы, рассмотренные Розенбергом, находятся в тесном отношении с многоленточными односторонними конечными автоматами, введенными Рабином и Скоттом (см. [6], определение 15). Многоголовочный автомат может быть получен из многоленточного автомата требованием, чтобы его ленты были идентичными. Ясно, что такая машина может рассматриваться как одноленточный автомат, головки которого не- заЁисимо друг от друга считывают ленту и вначале все находятся над исходной позицией ленты.
Многоленточный или многоголовочный автомат 4 определяется заданием некоторого алфавита S = {s】,S2, ..., sn}, конечного множества состояний Q и таблицы переходов. Q разбивается на множество живых состояний Q' = {夕°,夕卜...,q^ с выделенным начальным состоянием 夕о и множество мертвых состояний Q ——Q' с выделенным заключительным состоянием а. Q' разбивается на попарно непересекающиеся подмножества Q), по одному на каждую считывающую головку (головки находятся на отдельных лентах в случае многоленточного автомата и на одной и той же ленте в случае многоголовочного автомата); если qi 三 Qj, то будем пользоваться записью 夕% чтобы зафиксировать, что Д, находясь в состоянии 夕3 считывает символ /-й головкой. Правила таблицы переходов автомата 4 имекуг вид
或,广小必,$2fs%
для О W i W /п. Каждое правило определяет следующее состояние rih 三 Q, зависящее от символа s^, считанного головкой /) Прочитав символ, головка / сдвигается к следующему символу на ленте (головка может двигаться только в одном направлении). Достигнув мертвого состояния, автомат «останавливается».
Наши автоматы в одном важном отношении отличаются от автоматов, рассмотренных Рабином и Скоттом или Розенбергом; они оперируют с бесконечными лентами (элементами из т. е. бесконечными последовательностями над S). Для каждой ленты будем различать три возможные ситуации. Если достигнуто а, то лента принята. Если достигнуто любое другое мертвое состояние, то лента отвергнута. В остальных случаях автомат расходится на ленте. Следовательно, автомат Л определяет разбиение S® на три множества:夕а ⑷,外⑷,九⑷一классы лент, которые Л принимает, отвергает и на которых он расходится.
Пусть даны машина Тьюринга М и начальная запись на ленте /Т. Существует эффективный метод для построения такого двухголовочного автомата Л, который проверяет, описывает ли его лента вычисление, выполняемое машиной М на /Т. Лента принимается, если ее начальный сегмент, условно выражаясь, «описывает» завершенное машиной М вычисление йа 1Т\ А расходится, если лента «описывает» незавершающееся вычисление, реализуемое машиной Л1 на /7; в остальных случаях автомат Л достигает некоторого мертвого состояния г, и лента отвергается. Чтобы в подразумеваемом здесь смысле «описывать» вычисление, сегмент ленты должен регистрировать последовательность закодированных конфигураций (по Дэвису, см. [1], «мгновенных описаний»), составленных для последовательных шагов вычисления и удовлетворяющих (ради дальнейшего удобства) следующим условиям:
Начальная конфигурация, составленная для /Т, кодируется таким образом, что символ начального состояния не является ни первым, ни последним символом.
Каждая последующая конфигурация получается путем приписывания «пустого» символа к обоим концам записи, которая является результатом применения одного из правил машины М к предшествующей конфигурации (и которая совпадает по длине с предшествующей конфигурацией).
(с) Конфигурации отделяются друг от друга некоторым символом р, не принадлежащим алфавиту машины М.
Работа автомата А определяется следующим образом (для альтернативного описания см. теорему 9(a) в работе Розенберга [7]): сначала А с помощью головки. 1 проверяет начальную конфигурацию; затем А последовательно сравнивает каждую крн-
фигурацию с ей предшествующей, используя головку 1 для считывания следующей конфигурации, в то время как головка 2 считывает предыдущую. После каждого сравнения головки устанавливаются точно в те позиции, из которых начинается следующее сравнение. Сравнение двух конфигураций протекает следующим образом: головкой 1 считывается пустой символ; затем по очереди сравниваются символы из двух конфигураций и так до тех пор, пока одной из головок не будет прочитан символ состояния; тогда в каждой из двух конфигураций считывается следующая пара символов. Если полученные тройки символов не соответствуют подходящему правилу машины Л4, то лента отвергается; например, если Qj, Qi ——символы состояний машины 府,то пара троек должна иметь вид {QjSksp, s^QiS》, или вид〈SpQjSh, QiSpSj^^nJin Вид 〈QjShS&, QiSiSp} в зависимости от того, будет ли соответствующая четверка (в обозначениях Дэвиса, см. [1]) иметь вид QjS^RQz, или вид QjSkLQi, или вид QjShSiQi. Если тройка, прочитанная головкой 1,у свидетельствует о том, что рассматриваемая конфигурация заключительная, то лента принимается; в противном случае вновь сравниваются символы двух конфигураций и так до тех пор, пока головкой 2 не будет прочитан символ р; тогда головка 1 считывает пустой символ, затем символ р и возобновляется процесс сравнения. В течение описанного процесса может встретиться лишь фиксированное конечное число ситуаций, подлежащих различению. Итак, по данным М и IT мы можем построить конечный автомат Л, осуществляющий описанное сравнение. Более того, это построение является эффективным. Дальнейшие детали нами опускаются.
Автомат 4 обладает свойствами:
久(4) = 0 台% (## 0
台 Л4 не останавливается при работе с IT.
Хорошо известно, что последнее свойство не является частично разрешимым. Это приводит к следующей теореме.
Теорема 3.1. Для двухголовочных автоматов А свойства
(а) % (4) = 0,(б) % (4)*0
не являются частично разрешимыми.
Моделирование автоматов схемами особенно легко осуществить в случае бинарных автоматов, т. е. автоматов над алфавитом {0, 1}. Но сначала для бинарных автоматов установим результат, подобный теореме 3.L
Обозначение. Для любого i》0 символам 丄 будем обозначать строку, состоящую из i вхождений символа 《1》, замыкаемых одним символом《0》.
Обозначим через 例 преобразование, переводящее строки, ленты, множества лент и другие объекты над алфавитом S = = {si, S2, ..., sn} в бинарные строки, ленты и другие соответ* ствующие объекты и индуцируемое естественным образом применением следующих правил:■.
例(sj =£,-
阕(s”)=丄例侬)для строк вида s故 и т. д.
Лемма 3.2. Существует такое эффективное преобразование 毋 автоматов над алфавитом S 6 бинарные автоматы, что
% (每⑷)=0 台夕〃 (4) = 0,
2fd^^ = ^^d^-
Доказательство. Пусть правила таблицы, определяющей автомат Л, имеют вид.
4, S[f Gi,0,$2 —乙2, •…,國,%f
Таблица для автомата 例(/) получается заменой каждого правила таблицы Ап + 1 правилами .
必 Off, % 1—93
%,Of%,%,If 必2,
%,。-к,g& if 。3,
%' Of %,必九,if—
где q[k, 1W々《几,——новые состояния, не входящие в таблицу автомата Л, а /, г〃——добавочные мертвые состояния. Остальные живые и мертвые состояния автомата 陽(4) те же самые, что и у автомата А..
Пусть автомат Л, головки которого установлены над позициями 力 и 力2 его ленты, из состояния 夕^ непосредственно переходит в состояние riht причем его головки устанавливаются над позициями /1 и &. Очевидно, что это будет иметь место в том и только том случае, если автомат 毋(/), головки которого установлены над позициями 例(介)и 例(勾),из состояния 行,пройдя последовательно через 力 + 1 состояний, переходит в состояние 厂£八,причем его головки устанавливаются над позициями . 毋(/;)
и 阁(竝)・ Итак, индукцией по числу пройденных автоматом Л состояний доказывается, что А принимает ленту % или расходится на ней в том и только том случае, если 例(4) принимает ленту 毋(/) или расходится на ней. Следовательно, ?d (毋(4))三 з⑨(夕八用)и夕(绒(4))30(%(用)・
С другой стороны, если бинарная лента , не отвергается автоматом 例(4), то ни одно из состояний f я [' не достижимо, и поэтому начальный сегмент, считанный автоматом, является начальным сегментом некоторой ленты 毋(/). Если 毋(4) принимает f, то 豆(4) принимает и ленту ⑨(/), которая отличается от f только несчитанными позициями; следовательно, 4 принимает /・ Поэтому 夕° (豆(4)) #= 0 ^^a (Л) ¥= 0. Если 例(Л) расходится на 八 то 产=毋(力)и 4 расходится на 丄 Следовательно, 夕d (⑨(4))三⑨(夕d(4))・ «Иемма 3.2 доказана. 丿
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ПО НЕРАЗРЕШИМОСТИ
Теперь можно описать метод моделирования схемами двухголовочных бинарных автоматов. Для этих целей достаточно рассмотреть схемы, содержащие один унарный функциональный символ 尸,один предикатный символ Т и ячейки 厶卜 厶2,-・・• • Понятие «интерпретация», «выражение» и т. д. надо понимать теперь как ограничения соответствующих понятий, вызванные рассмотрением таких схем.
Обозначение. Символом 夕不 обозначим класс схем, содержащих не более i ячеек Lb厶2,・・・厶办
Определение. Пусть Е — некоторое выражение и / — некоторая интерпретация. Назовем / ——лентой для Е бинарную ленту
/;(£) = 8^82 ..., где
80 = Т7 (/(£))
И e. = T7(F) (/(£))), j》L
Описываемая ниже процедура строит по заданному бинарному двухголовочному автомату В неполную схему Р(В), в которой каждое живое состояние автомата В представлено парой ему соответствующих операторов (присвоением и следующим за ним переходом). Схема Р(В) неполна потому, что некоторые из ее адресов перехода изображаются символическими метками, которые подлежат определению при ее достраивании. Какой бы ни была интерпретация /, Р(В) моделирует поведение автомата В на ленте 力(尸(&), в следующем смысле. Вычисление,
осуществленное автоматом В, описывается последовательностью^ Я^Лt^i^ • • •» состоящей из пар «состояние ——считываемый^ символ》,в том и только том случае, если последовательность* выполнения。工 схемы Р(3) совпадает с последовательностью пар; операторов, которые соответствуют состояниям q°, q;v qiv ...・ Таким образом, в схеме Р(3) достигается метка, соответствующая мертвому состоянию, если последнее достижимо автома-1 том В, и схема Р(В) расходится 9 в том и только том случае, j когда В расходится на этой ленте. Включением Р(5) в другие^ схемы будут получены преобразования автоматов в схемы, со;осуществленное автоматом В, описывается последовательностью^ Я^Лt^i^ • • •» состоящей из пар «состояние ——считываемый^ символ》,в том и только том случае, если последовательность* выполнения。工 схемы Р(3) совпадает с последовательностью пар; операторов, которые соответствуют состояниям q°, q;v qiv ...・ Таким образом, в схеме Р(3) достигается метка, соответствующая мертвому состоянию, если последнее достижимо автома-1 том В, и схема Р(В) расходится 9 в том и только том случае, j когда В расходится на этой ленте. Включением Р(5) в другие^ схемы будут получены преобразования автоматов в схемы, со;храняющие различныехраняющие различныеПредположим, что правила В, имеют видПредположим, что правила В, имеют видотношения эквивалентности.отношения эквивалентности.таблицы, определяющей автомат"таблицы, определяющей автомат"〃,Of〃,OfiO'iO'4,— j4,— jгде О W i W N. Тогда с乂емагде О W i W N. Тогда с乂емаР(В) получается из (^ + 2)-х,Р(В) получается из (^ + 2)-х,фрагментов, использующих состояния автомата В в качестве 1меток и имеющих следующий вид::фрагментов, использующих состояния автомата В в качестве 1меток и имеющих следующий вид::L^=F(L^ 厶 i:=F(J)L^=F(L^ 厶 i:=F(J)меток Jметок JСхема Р(В) представляет собой результат совмещения
осуществленное автоматом В, описывается последовательностью^ Я^Лt^i^ • • •» состоящей из пар «состояние ——считываемый^ символ》,в том и только том случае, если последовательность* выполнения。工 схемы Р(3) совпадает с последовательностью пар; операторов, которые соответствуют состояниям q°, q;v qiv ...・ Таким образом, в схеме Р(3) достигается метка, соответствующая мертвому состоянию, если последнее достижимо автома-1 том В, и схема Р(В) расходится 9 в том и только том случае, j когда В расходится на этой ленте. Включением Р(5) в другие^ схемы будут получены преобразования автоматов в схемы, со;
осуществленное автоматом В, описывается последовательностью^ Я^Лt^i^ • • •» состоящей из пар «состояние ——считываемый^ символ》,в том и только том случае, если последовательность* выполнения。工 схемы Р(3) совпадает с последовательностью пар; операторов, которые соответствуют состояниям q°, q;v qiv ...・ Таким образом, в схеме Р(3) достигается метка, соответствующая мертвому состоянию, если последнее достижимо автома-1 том В, и схема Р(В) расходится 9 в том и только том случае, j когда В расходится на этой ленте. Включением Р(5) в другие^ схемы будут получены преобразования автоматов в схемы, со;
храняющие различные
храняющие различные
Предположим, что правила В, имеют вид
Предположим, что правила В, имеют вид
отношения эквивалентности.
отношения эквивалентности.
таблицы, определяющей автомат"
таблицы, определяющей автомат"
〃,Of
〃,Of
iO'
iO'
4,— j
4,— j
где О W i W N. Тогда с乂ема
где О W i W N. Тогда с乂ема
Р(В) получается из (^ + 2)-х,
Р(В) получается из (^ + 2)-х,
фрагментов, использующих состояния автомата В в качестве 1меток и имеющих следующий вид::
фрагментов, использующих состояния автомата В в качестве 1меток и имеющих следующий вид::
L^=F(L^ 厶 i:=F(J)
L^=F(L^ 厶 i:=F(J)
меток J
меток J
в вышеописанных фрагментах и содержит «метки выходов», со-《 ответствующие мертвым состояниям автомата В. 曰
Если мертвые состояния автомата В — это а, г, /, ..., r(n), g то результат этого процесса объединения фрагментов будем 1 изображать в виде |
i) Под расходимостью схемы понимается бесконечность процесса ее вы- J полнения. — Прим, перед,' |
Индукцией по / легко показать, что если по выполнении j + 2 актов присваивания в схеме Р(В) достигается метка д^ и при этом ячейки Li и 厶2《хранят》выражения Ei и Е2 соответственно, то по выполнении / переходов из состояния в состояние, осуществленных автоматом В на ленте 力(尸(L»), он находится в состоянии qi и его головки находятся над позициями 力(£\) и //(£2) соответственно. Следовательно, Р(В) моделирует работу автомата В на ленте 力(尸(L】))в смысле, в общих чертах описанном выше.
С другой стороны, какой бы ни была бинарная лента / = 8182 ..., заданная для В, схема Р(В) будет моделировать работу автомата В на этой ленте, если выбрать интерпретацию /, обладающую свойством f = t^F^x)). Чтобы последнее выполнялось, достаточно взять в качестве / свободную интерпретацию (областью определения которой является класс выражений), для которой Тт(Р^Ц) = &,力力 1. Следовательно, все вычисления автомата В й только они моделируются схемой 尸⑻•
Обозначение. Обозначим через D простую схему
Т (厶)1, 1 и через Z — схему
1 .乙:=F(L^
L2:=戶(L3),
STOP.
Теорема 4.1. Для схем Р из 乡2 не являются частично разрешимыми следующие свойства:
(а) Р расходится на всех интерпретациях.
(b),Р расходится на всех конечных интерпретациях.
Р расходится хотя бы на одной интерпретации.
Р останавливается 9 на всех конечных интерпретациях. (е) Р = D.
Р 三 Q
Для схем Р из 俨з не имеет места частичная разрешимость следующих свойств:
Р凄Z,
Р 三 fZ,
PaZ.
Доказательство, (а) Рассмотрим схему Pi (В), представленную на диаграмме 3. Она эффективно строится по В и расходится при всех интерпретациях тогда и только тогда, когда ?а(5,= 0. Утверждаемый результат следует из 3.1 (а) и 3.2(a).
Под остановкой схемы понимается завершение процесса ее выполнения. —Прим, перем
эквивалентно \гтверждению (а). Если Р когда-либо оста』 навливается, то ?то произойдет и на некоторой конечной интер^ претации. . J
Схема 2(3), изображенная на диаграмме 3, эффективна] строится по В и расходится хотя бы на одной интерпретаций в том и только том случае, если 夕d(B)#= 0. Утверждаемый ре胃 зультат следует из 3.1 (Ь) и 3.2(b). :
Вспомним автомат Д, построенный по машине Тьюринга и ее начальной конфигурации, причем эффективно, для доказа- j тельства теоремы 3.1. 4 может расходиться только при условии,彳 что его лентой описывается незавершающееся вычисление, вы- J полняемое машиной Тьюринга. Заметим, что А не будет расхо 金
диться на ленте, которая, начиная с некоторого места, является периодической, так как при расходимости число символов между последовательными вхождениями разделительного символа § неограниченно растет. Следовательно, А останавливается на каждой, начиная с некоторого места, периодической ленте.
Теорема 3.1, как легко видеть, остается верной, если ограничиться рассмотрением только автоматов, обладающих описанным выше свойством. Преобразование 例,применяемое в 3.2, со- храняетЛ это свойство автомата А. Наконец, заметим, что если / ——конечная интерпретация, то при любом £ лента 力(Е), начиная с некоторого места, периодична, так как при некоторых В / 戶;(/(£)) = В (/(£))•
Итак, если 4 обладает описанным выше свойством, то Р (劣(А)) может разойтись лишь на интерпретации, не являющейся конечной. Кроме того, если метка а может быть достигнута в этой схеме, то она может быть достигнута на некоторой конечной интерпретации. Следовательно, если А останавливается на любой, начиная с некоторого места, периодической ленте, то схема Рз(4), представленная на диаграмме 3, останавливается на всех конечных интерпретациях в том и только том случае, если%(瘵⑷ =0. Таким образом, утверждаемый результат следует из теоремы 3.1, рассматриваемой для описанного выше класса автоматов, и из 3.2(a).
(е), (f) эквивалентны утверждениям (а), (Ь).
Схема 尸4(3) эффективно строится по В и Р4 (В)关 Z 台 台声 0. Поэтому рассматриваемое утверждение устанавливается так же, как и утверждение (с).
(h), (i). Соображение, использованное при доказательстве (d), применим к схеме Р5(Д); &(4) 4 Z台2(4)三尸Z台 台% 侈(Д)) = 0. Если метка а может быть достигнута, то она может быть достигнута на конечной интерпретации, которая нарушает эквивалентность Х=^ или —) с Z при подходящим об* разом выбранном значении /(L3).
Заметим, что Р = D всегда верно, следовательно, разрешимо. Заслуживает внимания тот факт, что свойства, дополнительные к тем, что рассматривались в 4.1, все являются частично разрешимыми. Имеются в виду следующие результаты, справедливые для схем Р без каких-либо ограничений.
Теорема 4.2. Пусть Q — схема, которая останавливается при всех интерпретациях, и R ——произвольная схема. Имеет место частичная разрешимость следующих свойств схемы Р.
Р останавливается хотя бы на одной интерпретации.
Р останавливается хотя бы на одной конечной интерпре* тации..
⑹ (d) (е) ⑴ (g) (h) (i)⑹ (d) (е) ⑴ (g) (h) (i)Р останавливается на всех интерпретациях.
⑹ (d) (е) ⑴ (g) (h) (i)
⑹ (d) (е) ⑴ (g) (h) (i)
Р расходится хотя бы на одной конечной интерпретации, Р丰D.
Р 凄 fD (подслучай случая (h)).
Р = Q.
Р ^^ fR・ Р华R.
Доказательство (в общих чертах). На конечной интерпретации /, насчитывающей 拉 элементов, схема Р может рассматриваться как машина с конечным числом, а именно p-nh9 состояний, где k — число ячеек и р ——число операторов в схеме Р. Каждое свойство, за исключением (с) и (g), может быть проверено последовательным просмотром класса конечных интерпретаций до тех пор, пока не будет найдена интерпретация с подходящим свойством. Проверки, выполняемые для каждой конечной интерпретации, являются рекурсивными, в силу хорошо известных свойств машин с конечным числом состояний Проверки, необходимые при установлении (a), (b), (d), (е), (f),— это проверки на остановку или расходимость, при установлении (h), (i) —это проверки на《строгую» и《слабую» эквивалентность соответственно машин с конечным числом состояний (эти понятия определяются по аналогии с соответствующими понятиями, введенными выше).
Чтобы проверить свойства (с) и (g), необходимо эффективно перечислить все возможные последовательности выполнения схемы Р. Если Р сходится на всех интерпретациях, этот процесс будет конечным (можно просматривать конечные пути, начинающиеся во входе схемы Р, отбрасывая те из них, которые, каждый в отдельности, являются несогласованными в смысле, определенном в разд. 2, и выбирая для последующего рассмотрения только пути, которые продолжают предварительно оставленные пути; если этот процесс продолжается бесконечно, то в силу того, что выполнены предположения леммы Кёнига, можно утверждать, что существует бесконечный согласованный путь, и, следовательно, по результатам разд. 2, имеет место расходимость. Свойство (с), таким образом, установлено. Для того чтобы установить свойство (g), необходимо проверять, совпадают ли окончательные выражения, полученные на согласованных парах последовательностей выполнения схем Р и Q.
Заметим, что проблема эквивалентности для класса схем, которые всегда останавливаются, является разрешимой, хотя сама принадлежность этому классу неразрешима.
5. «РАЗУМЫЫЕ> ОТНОШЕНИЯ ЭКВИВАЛЕНТНОСТИ
Теорема 4.1, а именно утверждения (е), (f), (h), (i), устанавливают основные результаты относительно частичной^неразрешимости эквивалентностей между схемами. В этом разделе получены некоторые более. общие результаты. Во-первых (см. 5.1), основной результат обобщен так, чтобы охватить более широкий класс понятий эквивалентности. Во-вторых (см. 5.2), этот результат установлен для более ограниченного класса схем, а именно схем, которые останавливаются на всех конечных интерпретациях.
Представляется разумным принять、такое общее определение эквивалентности между схемами, чтобы, с одной стороны, эта эквивалентность имела бы ме^то для схем, которые ведут себя одинаково на всех интерпретациях, конечных и бесконечных, т. е. для строго эквивалентных схем, и, с другой стороны, она бы не выполнялась для схе"; которые вырабатывают явно различные результаты на некоторой интерпретации( конечной, если нужно), т. е. для слабо неэквивалентных схем. Примером отношений эквивалентности, не удовлетворяющих этим требованиям, могут служить отношения «доказуемой» эквивалентности (относительно некоторой рекурсивно аксиоматизируемой формальной системы). В частности, «доказуемая» строгая эквивалентность сильнее, чем обычная строгая эквивалентность, так как в противовес утверждению 4.1 (е) механизм теорем перечисления, заложенный в формальной системе, позволяет построить процедуру частичного разрешения для отношения Р = D. Мы здесь не будем привлекать эти понятия.
Определение. Пусть 尸〜Q — некоторое отношение между схемами # и Q. Отношение 〜назовем разумным в классе схем 俨,если для всех Р и Q из В
Р三Q今Р~Q,
(ii)P〜Q今PiQ・
Заметим, что отношения 三,er, =г,亠 являются разумными в классе всех схем. Разумное отношение не обязано быть симметричным или транзитивным, но-должно быть рефлексивным в силу (i). Например, отношение 二 симметрично, но не транзитивно. Отношение > является транзитивным, но не симметричным; здесь Р > Q, еслц всякий раз, как определено Val(Qj), определено и Vai (Pj) и имеет место Val(P/) = Val(0i).
Определение. Будем говорить, что бинарная лента (или конечная строка) содержит границу, если она начинается символом 《0》или содержит два соседних вхождения символа 《0》.
Обозначим через У следующую схему:
Очевидно, что У расходится только на таких интерпретациях /, для которых //(尸(Li)) не содержит границы.
Теорема 5.1. Если отношение 〜разумно 6 乡2, то Р Y не является частично разрешимым.
Доказ ательство. Пусть А — некоторый двухголовочный автомат, построенный в 3.1. Напомним, что А имеет только одно отвергающее состояние г и при любом вычислении, проводимом автоматом Д, головка 2 никогда не обгоняет головку L
р6⑷
Р傀⑷)
Рассмотрим теперь схему А(4), эффективно полученную по 4(「‘,厂〃一мертвые состояния, введенные при построении 例 в 3.2). Заметим, что схемы А⑷ и У устроены так, чтобы при любой такой интерпретации /, для которой автомат ⑨(4) не принимает ленты 方(尸(Li)), они вырабатывают одинаковые результаты или одновременно расходятся, если лента %(尸(厶1)) не содержит границы. Отметим, что состояние г7 достигается, если
вычисление, выполняемое автоматом 例(4), обрывается неожиданно ]),если достигнуто состояние г, то предшествующим символом был символ《0》,или вообще не был прочитан никакой символ; если достигнуто состояние 厂〃,то предшествующим символом был символ《1》. Следовательно,
虱例⑷)=0今Рб(4)=У・⑴
С другой стороны, предположим, что 陽(4) принимает некоторую ленту f・ Возьмем такую свободную интерпретацию /, что лента 力(F(&)) совпадает с / на сегменте, считанном автоматом ⑨⑷,и содержит границу (в некотором месте за пределами сегмента). Тогда оба значения Vai (У/) и Vai (Р6(4) j) определены и Vai (У/) #= Vai (Pq(A)i). Следовательно,
%(顕4))*0今4便)华k⑵
Но если отношение ~ разумно, то из его определения и из ⑴ и (2) следуют _
%例⑷)=0今45)〜工
' 冤隰(4))*0 母 Рб(#~У・
Таким образом, % 佛(Л)) = 0 台/^ (%) ~ ?• Согласно результатам 3.1, 3.2, рассматриваемое свойство автомата А не является частично разрешимым, схема же Рб(4) эффективно строится по А. Отсюда следует утверждение теоремы.
В 5.1 существенно то, что У — это схема, которая расходится хотя бы на одной интерпретации, так как при условии, что Q всегда останавливается, из 4.2(g) следует частичная разрешимость отношения Р — Q. Тем не менее заметим мимоходом, что даже в этом случае, каким бы ни было разумное отношение 〜, по крайней мере одно из свойств Р 〜Q, Р+ Q не будет частично разрешимым. Доказательство (детали его опущены) осуществляется описанием некоторого эффективного построения по заданному целому % такой схемы Рх, что
-(px(x) = 0=^Px=Q и
屮为仇)=1今Р为华Q;
здесь фо, Фь 屮2, < * * — гедёлевская нумерация всех частично рекурсивных функций. Если 巳 〜Q разрешимо, то существует такая общерекурсивная функция(pz, что
巳〜Q今% (6 = 1
И обязательно при первой встрече с двумя соседними вхождениями символа «0». Прим,九ере^
Р为华Q今無(%)=。,
Но тогда(р2(г) #= 0<=^ ф2(з) = 1. Существенно, что это является доказательством «рекурсивной неотделимости» множеств {Р/Р 三 Q} н {Р/Р 学 Q}, фактически проходящим при любой схеме Q, которая останавливается хотя бы на одной интерпретации (и не проходящим, если Q всегда расходится).
Следующим результатом мы продемонстрируем, что тот факт, что У расходится на ^некоторых интерпретациях, не является местом, которое нельзя обойти при усилении утверждения 5.1. Будет показано, что результат, аналогичный 5.1, имеет место для частного класса схем, останавливающихся на всех конечных интерпретациях. Принадлежность этому частному классу является разрешимой. Отсюда следует, что в каком-нибудь классе схем может не существовать такого подкласса, который избежал бы угрозы частичной неразрешимости; по крайней мере, этот выбранный класс нё^должен содержать схем, которые, среди других их свойств, всегда останавливаются, когда интерпретируемы как программы вычислительных машин.
Теорема 5.2. Существуют схема У и класс схем 乡三 ^2, такие, что*
俨 содержит схемы, которые останавливаются на всех конечных интерпретациях.
Р 曰俨 является разрешимым.
У 〜Р, где Р 告丸 не является частично разрешимым ни при каком разумном ~,
Доказательство. Как и в случае теоремы 5.1, нужно найти автомат 4 и класс автоматов {%'}, которые могут проверять вычисления, выполняемые машиной Тьюринга, и обладают тем свойством, что любой автомат 4’ повторяет работу автомата А, если последний выполняет расходящееся вычисление машины Тьюринга. Дополнительно к этому автомат А должен сходиться на всех лентах t【(E), построенных для конечных интерпретаций /.
При доказательстве 4.1 (d) нами отмечено, что автоматы 4 используемые в 3.1, обладают этим' последним свойством, так как в каждой ленте, на которой А расходится, последовательные сегменты между вхождениями символа В увеличиваются по длине (в точности на два символа); было отмечено также, что преобразование 毋 сохраняет это свойство, и поэтому описанная выше лента не "ожет соответствовать какой-либо конечной интерпретации. Итак, в качестве А можно взять автомат, который просматривает вдоль ленты промежутки между вхождениями р, расходится на ней, если промежутки увеличиваются правильно,
и отвергает ее, если это не так. Тем не менее приведем два следующих соображения. —
Поскольку автомат А имеет конечный алфавит, класс вычислений машины Тьюринга, проверяемый автоматами из {Л7}, должен иметь конечное ннсло состояний и символов и все еще неразрешимую проблему остановки. Это может быть достигнуто сужением этого класса до вычислений, выполняемых некоторой фиксированной универсальной машиной Тьюринга Мо. Тогда алфавит So автомата 4 и автоматов из {4'} будет состоять из символов, записываемых на ленту, и символов состояний машины Л!。,дополненных разделительным символом р. Предположим, что So = {₽, $2,$3,・• •,5九}・ Автомат 4’ мыслится как такой, который эффективно строится по начальной записи на ленте IT и обладает свойством
“3а (4Z) = 0^MQ расходится на IT.
Последнее свойство, как хорошо известно, не будет частично разрешимым.
Начальные конфигурации, проверяемые автоматами %', неограничены по длине, если 4’ изменяется. При конструировании А необходимо избежать того, чтобы он разошелся, скажем, на ленте, не содержащей вхождений р; а такая лента вынудит его разойтись, если только ленты для 4’ сохранят вид, принятый в конструкции в 3.1. Чтобы обойти эту трудность, подчиним автоматы Z н 4’ следующим требованиям.
Для Любой строки w над алфавитом So символом l(w) будем обозначать ее длину.
А должен расходиться только на лентах вида
/ = WQ^wfiw^ ...,
где wt — это строки над SJ — {р}, a Z (吗)= 2#+1, />0. Д отвергает любую другую ленту. /
. По всякой начальной записи IT некоторым эффективным способом будем выбирать для IT начальную конфигурацию w, такую, что l(w) = 2K + 1 для подходящего К. Тогда 4’ должен принимать всякую ленту с начальным сегментом вида
侬0090・・・WN^WN,
где Wi — строки над So — {р} и “叫)=2i + 1, 0 W i《М такую, что w = wK и 9к0^к+1В …P^n описывает все вычисление машины Мо на IT в соответствии с соглашениями, в общих чертах набросанными при доказательстве 3.1. На любой другой ленте /' ведет себя так же, как А.
Теперь можно описать таблицу переходов для автомата 瓦 Она состоит из следующих правил:
4, В—С, 外,bf%, 或,pf 二, 呢,pf %4, В—С, 外,bf%, 或,pf 二, 呢,pf %瑞’s,f %, 矶,Sjf 二, 國,sl% 璃,Sj f %,瑞’s,f %, 矶,Sjf 二, 國,sl% 璃,Sj f %,2&У儿2&У儿
4, В—С, 外,bf%, 或,pf 二, 呢,pf %
4, В—С, 外,bf%, 或,pf 二, 呢,pf %
瑞’s,f %, 矶,Sjf 二, 國,sl% 璃,Sj f %,
瑞’s,f %, 矶,Sjf 二, 國,sl% 璃,Sj f %,
2&У儿
2&У儿
Автомат Л7 будет сразу же^описан, как только мы сопоставим его работу с работой автомата Л, используемого при доказательстве 3.1. Сначала головкой 1 автомат 4’ проверяет, имеет ли его лента начальный сегмент 侬об侬币...шК-1₽, удовлетворяющий выше описанным условиям; если не имеет, то Л7 переходит в состояние г・ Тем временем головка 2 идет наравне с головкой 1, и если эта начальная проверка закончилась успешно, то обе головки находятся над началом wK. Начиная с этой позиции, автомат 4’ моделирует вычисление, выполняемое автоматом 4 (в 3.1), до тех пор, пока не произойдет переход в отвергнутое состояние г. Автомат Л7 переходит в состояние г, если где-либо встречается символ р, не являющийся ограничителем полной конфигурации, или, наоборот, некоторая конфигурация не завершается символом 0. С другой стороны/всякий раз, как Л переходит в состояние г, 4’ продолжает вычисление, но начиная с этого момента моделирует уже автомат 瓦 Так же как и в 3.1, существует конечное число (эффективно определяемое по IT) ситуаций, которые необходимо различать при работе автомата Л7, а поэтому 4’ может быть построен как конечный автомат.
Заметим, что, если лента отвергается как А, так и 4‘,головка 1 останавливается в обоих случаях в одной и той же точке ленты; последнее имеет место и для ^(Д) и ⑨(总‘).
Пусть теперь 匕⑷ осуществляет преобразование автомат тов Л в схемы следующего вида:
匕⑷匕⑷I Р傢(A))JI Р傢(A))J
匕⑷
匕⑷
I Р傢(A))J
I Р傢(A))J
Пусть 7 =夕7(刃.Тогда из выше описанного_ построения Mq расходится на IT 今 % (扌(&)) = 0 =фР7 (%)三 К.
С другой стороны, если Мо останавливается на /Т, то 4’ принимает некоторую такую ленту 力 которая отвергается автоматом А; например, пусть / — лента, которая отступает от формата, предписанного правилом (i), и имеет начальный сегмент, описывающий вычисление нй /Т; но тогда, выбрав / так, чтобы h(F(LQ) = t, мы получим, что оба значения Vai(Р7(А/)1) и Val(yz) определены (и различны), а поэтому Р7(А') ^ F. Следовательно,
Мо останавливается на IT => Р7 (ЛЭ ^ У.
Объединяя последние два результата, мы получим, что для всякого разумного отношения 〜
Мо расходится на 1Т^Р7 (Л7) У;
к этому приходим так же, как и в случае 5.1. Теорема 5.2 доказана.
Этот раздел мы закончим результатом, который подводит итог следствиям теорем 5.1 и 5.2 в той их части, которая касается упрощения программы. Очевидно, что в силу 5.1 и 5.2 исключается существование любого алгоритма упрощения, по* зволяющего получить каноническую форму схем при таком разумном отношении 〜;которое является в строгом смысле отношением эквивалентности ^; та же ситуация сохранится и при не слишком строгих ограничениях на отношение 〜,лишь бы они позволили такому алгоритму быть включенным в процедуру частичного разрешения отношения Р ~ Q. С другой стороны, достаточно предположить существование некоторого алгоритма «исчерпывающего» упрощения, чтобы обеспечить получение такой канонической формы путем сведения схемы к «наипростейшей» ей эквивалентной. Ниже мы изложим те предпосылки относительно 〜и метода упрощения, которые позволяют применить это рассуждение. Не всякое разумное отношение 〜будет удовлетворять этим предпосылкам. Например, алгоритм, сопоставляющий всякой схеме схему D, которая состоит из одной инструкции и не останавливается ни на каких интерпретациях, при подходящем понимании «упрощения» является алгоритмом исчерпывающего упрощения относительно а;'таким образом, отношением не будет удовлетворять предпосылкам, которые будут даны. Отметим, что из того, что может быть включено в понятие «упрощать», нами взято как.можно меньше.
Напомним, что в общем случае отношение ~ не обязано быть симметричным или транзитивным, т. е. может не быть отношением эквивалентности в строгом смысле. — Прим, перев.
Под методом упрощения для 〜мы будем понимать эффективный метод, который по заданной схеме Р перечисляет бесконечную последовательность Р‘, Р〃, ... схем ——«упрощений» схемы Р (не обязательно различных), такую, что при всех п Р 〜 夕⑺).Исчерпывающим назовем такой метод, что всякий раз, как Р = Q, существуют такие тип, что 夕(加)= Q(n\ В частности, если некоторый метод всегда приводит к «наипростейшей» схеме, если 〜есть отношение эквивалентности и если 。〜Q является (частично) разрешимым для «наипростейших» схем, то этот метод может быть расширен до исчерпывающего в том понимании этого слова, как это было дано выше. Подобные условия можно сформулировать для тех случаев, в которых сущеЪтвование «наипростейших» представлений схем является необязательным.
Теорема 5.3. Если ~ — разумное отношение 〃
Р 〜R&Q 〜R今 PaQ, (*) то для отношения ~ не существует метода исчерпывающего упрощения. .
Доказательство. Предположим, что такой метод существует, и придем к противоречию с 5.2 (или с 5.1] Заметим, во- первых, что для Pw 乡 имеет место У P^Y = P^Y Р. Рассмотрим частичную процедуру одновременного перечисления последовательностей Р[ Р〃, ... и Р7, Р〃, ..., сопровождаемого проверкой на наличие в них общего элемента. Если У 〜Р, то 7 = Р, таким образом, предположение об исчерпываемости ведет к тому, что для такой схемы Р процесс успешно завершается; с другой стороны, если процесс, для Р завершается, то из (*) следует; что Y — Р, и тогда У 〜Р. Следовательно, У 〜Р в том и только том случае, если описанный процесс завершается для Р, что противоречит 5.2. Этим теорема 5.3 доказана.
Заметим, что предпосылка (*) выполняется для любого разумного отношения 〜,более строгого, чем отношение《Vp》, где Р V 尸Q, если Р 4 Q и если Q останавливается на всякой конечной интерпретации, на которой .останавливается Р; и (*) не имеет места для отношения 4 или для отношения >尸,являющегося инверсией отношения Vf (хотя применительно к этим последним понятиям упрощение не заканчивается особенно желательным образом) . .
6. МОНАДИЧЕСКИЕ СХЕМЫ ПРОГРАММ
В части, касающейся развития практической техники для оптимизации машинных программ и построения формальной системы для доказательства утверждений о них, главные резуль-
таты предыдущих разделов могут рассматриваться только как негативные. В этом разделе мы предложим результаты позитивного характера.
Сначала мы рассмотрим связь между схемами программ и другими абстрактными моделями вычислительных процессов. Схемы, все операторы которых используют одноместные символы, будут называться монадическими. Особенно простой под* класс монадических схем получается при том дополнительном ограничении, что все операторы присваивания обладают следующим свойством: ячейка присваивания совпадает с ячейкой обращения ^ (т. е. L):=尸М£))); такие схемы называются схемами разобщенной памяти. Этот класс схем оказался сильно связанным с многоленточными автоматами Рабина — Скотта (см. [6]). Мы покажем, что не только взаимозаменяемы проблемы эквивалентности для многоленточных автоматов и для схем разобщенной памяти (т. е. одна проблема может быть сведена к другой), но что существует алгоритм для построения схемы, которая моделирует поведение данного автомата, и наоборот. Таким образом, можно говорить о том, что многоленточные автоматы являются моделями тех машинных программ, в которых результат всякого вычисления на одном наборе данных никогда не используется при любом ) вычислении на другом наборе данных.
Покажем, что многоленточные автоматы Рабина — Скотта могут рассматриваться как подкласс 现歹 многоленточных автоматов, определенных в разделе 3. Алфавиты автоматов из 5?^ содержат символ 8 — «маркер конца», и эти автоматы обладают свойствами:
Вычисление, выполняемое автоматом А 三 5?^, завершается в том и только том случае, если каждая лента содержит вхождение символа 8.
Всякое такое вычисление завершается в ситуации, когда каждая головка находится непосредственно за первым вхождением символа е на ее ленте.
Тогда класс 现歹 «представляет» автоматы Рабина — Скотта, определенные в [6], в следующем смысле: существует эффективное соответствие между двумя классами, обладающее свойством: автомат Рабина — Скотта принимает или отвергает набор из п 〈3,金2, • • •, ?п) конечных лент в том и только том случае, если соответствующий ему автомат из 现歹 принимает или отвергает некоторый набор из п〈九,友,• • •,力п〉бесконечных лент, такой, что каждая 力 имеет начальным сегментом 备&
Определение: Два автомата Л и В эквивалентны (записываем это в виде А^В), если 5^(4) =3。(3) и ЗтИ)=》「(8)・
В частности, при А, В ^ 我歹 4 三 В в том и только том случае, если /“ (Л)=产。(В), так как 翼(4) = X — 2fa (Л), где X — это множество всех таких наборов п лент над S, каждая компонента которых имеет вхождение маркера конца.
Во-первых, чтобы свести проблему эквивалентности для автоматов из 现歹 к проблеме (строгой) эквивалентности для схем разобщенной памяти, покажем, как по n-ленточному автомату Л 已现歹 сконструировать схему Реп разобщенными ячейками. Эта конструкция исходит из соображений, схожих с теми, что приведены в разд. 3 и 4. —
,Для 4 三笈В рассмотрим ^ (Л), где ^ — преобразование из леммы 3.2; заметим, что при любых Л, 4’
4三大0肅(4)三耳(4)今% (杀(Л)) = % 限(ЛЭ)
по свойствам (i), (ii), данным выше ((i) обеспечивает, что 4 M 三 4㈡/аС4) = ?аС4‘); (ii) обеспечивает, что 例(4) и ⑨(X) достигают состояний 厂 и 厂〃 на множестве лент, в точности том же самом, на котором эти состояния являются мертвыми состояниями, введенными отображением 毋).
Пусть аналогично построению схемы Р(В) в теореме 4.1 схема Р(Л) получена по таблице бинарного автомата ⑨(%) пу^ тем отождествления меток в следующих неполных схемах:
Пусть теперь f = 〈/卜 ^, ..., tQ — некоторая бинарная n-лента и / — такая свободная интерпретация, что f/(Lt) = ^, 1 W i W /г. Очевидно, что для любой заданной бинарной f существует интерпретация /, связанная с f описанным образом, и наоборот. Пусть т^ — длина самого короткого начального сегмента ленты h, имеющего вид ⑨(侬е) для некоторого слова 侬. Предполагая, что каждое s? определено, обозначим через
V (0 九-ку(尸吃+к1,尸%+忆2, ••一尸""+匕) выражений. Из по* строения схемы Р(Д) мы имеем следующую лемму:
Лемма 6.1.
(i)⑨(А) принимает / 6 том и только том случае, если Р7 (X) останавливается и VM(E(4)) = U(f)・
Если ^ (Л) “ ⑨(А‘) отвергают /, то Pj (Л) останавливается 〃 Vai (Р7(Л))=Уа1(Р7(ЛЭ).〜
Если 陽(Л) расходится на f, то Р/ (А) расходится.
Из ® и замечания, сделанного выше относительно отображения ⑨,когда оно ограничено классом Ж7\ вытекает
Лемма 6.2. Для любых Л, dw 死夕 А = А! в том и только том случае, если 乃(4)三戸(&). (Более строго, 4 m 4台广(4)〜 〜А (4) при любом разумном ~, так как Р (Л) ^ Р (AQ 4^ 台0⑷4广(4)・)
Обратная проблема состоит в описании эффективного и сохраняющего эквивалентность преобразования 噴 схем разобщенной памяти в автоматы из 现В. Пусть Р — схема разобщенной памяти, включающая в себя, самое большее, символы ячеек Li,厶2,・・•,Ьп, монодические функциональные символы 尸卜 尸2,・・. ...,Fm и, удобства ради, только один предикатный символ Т (описанное ниже построение может быть очевидным образом модифицировано так, чтобы охватить схемы, содержащие более одного предикатного символа). Предположим, что / — некоторая свободная интерпретация и что Vai (Pj)==〈七卜 Е2, .. •,七汽〉; тогда 噴(Р) должен быть таким n-ленточным автоматом над алфавитом £ = {0, 1, &,丄2,...,厶加尸i,尸2,...,尸m, е}, который принимает любую п-ленту / =〈九,/2, .. •, М,удовлетворяющую некоторому условию, определяемому только интерпретацией / и выражениями 七卜 七2, ..., Еп и не зависящему от Р. Это условие состоит в том, что каждая лента 力 должна иметь начальный сегмент вида ш (/,旦)е, где 侬(/, Е) для любого выражения Е определяется следующим образом: если Е ——выражение
то w (/, Е) — слово '
L川0尸厶仇…尸了自,
такое, что 品=7\(尸九尸九一]...尸九l%). Сущеетвенные свойетва, которыми должен обладать автомат 發(Р), подытожены следующей леммой.
Лемма 6.3.吸(Р) принимает〈厶,勾,• 力〉8 том и только том случае) если каждая лента 力 имеет начальный сегмент вида
w (/, Е)е, где / — некоторая свободная интерпретация, Р/ останавливается и Val(P/)=《£\, £2»
Построение 暝 осложняется технической трудностью;暝(尸) должен быть построен так, чтобы сдвигать каждую ленту непосредственно после чтения с нее символа; поэтому, если символ на ленте должен регулировать более чем один переход из состояния в состояние, то должны быть предприняты специальные шаги, чтобы переписать этот символ во внутреннее состояние автомата. При построении 噴(Р), моделирующем Р, эта трудность встречается всякий раз на символах, фиксирующих значения функции ветвления 7\. Чтобы преодолеть ее, схема Р прежде всего должна быть преобразована в эквивалентную ей и более ограниченную схему, в которой ячейки проверяются только непосредственно после акта присваивания (фактически это и есть по Патерсону (см. [5]) процесс превращения «либеральной» схемы в «свободную»), либо автомат ^ (Р) прежде всего должен быть сделан как автомат с некоторой несущественной дополнительной способностью к переписи предварительно прочитанных символов, либо нужно задавать сразу прямое преобразование. Мы приняли ъторой подход. Мы прежде *всего опишем автомат 嘅*(Р), который будет автоматом в смысле, определенном в разд. 3, но с добавкой некоторых «звездочковых» состояний, преобразования которых подчиняются особым правилам. Эти состояния помечаются ниже приписыванием надстрочного символа《*》во входах таблицы переходов. Преобразования состояния, обозначенного, например, через qJ зависят от лредыдущей буквы, прочитанной с ленты i; в процессе такого преобразования ни одна лента не сдвигается; если же с ленты i еще не была считана ни одна буква, то за «предыдущую» букву принимается, например, символ 《0》. Детали автомата 须*(») выглядят следующим образом:
⑴ Чтобы гарантировать принадлежность автомата 暝(Р) классу ^^, каждая лента прочитывается до ее маркера конца, прежде чем автомат ^*{Р) останавливается. Это осуществляют следующие Зп правила: -
容二…〃,
胃二;,…小
噌,8
喝自f乙,
f С
仪自f厶,
8 f % % g -^rv
•g娱£・
*1,咱,-仆
踪8 f 4 碟,g f乙,
Все переходы, ниже не описываемые, ведут к состоянию 门.
По операторам Si, S?, ..., S@ схемы Р в автомате 电(Р) вводятся соответствующие им состояния Si, §2, • • •, sp, определяемые следующим образом:''
Если Sj ■— это оператор STOP, то S/ — это состояние
5 Ь (Z).
Если Sj — это оператор перехода
/. Т(&)〃,V,
то S; имеет переходы
sf, 0 f % s:, 1 s°・
Если Sj — это присваивание'
j.厶:=%(&),「
то соответствующие правила имеют вид
sj, 6f Sj+i, S = 0, 1.
2T(P) начинает работать в состоянии 力,следуя правилам.
6,厶f九,
Л, 6—> ^2,
现*(Р) «моделирует» схему Р в очевидном смысле: предположим, что в некоторый момент вычисления Р7 ячейки Lb L2, • •. ...,Ln 《хранят》£i, £2, •••, Е'п соответственно и должен быть выполнен оператор /; тогда, если каждая лента 勿 имеет начальный сегмент ш (/, Е。, то в вычислении, выполняемом автоматом 现*(Р) на 〈介,为,• • •, /п〉,рассматриваемый момент достигается, когда головки лежат как раз за этими начальными сегментами и автомат 现*(Р) должен перейти в состояние s* Наоборот, при любом вычислении автомата 现*(Р) всякий раз, как достигается s;, головки лежат как раз за начальными сегментами вида ш (/,用),такого, что существует момент в вычислении Р/, когда ячейки «хранят» Ej, Е£ …,Е% и должен быть выполнен оператор /. Эти два свойства автомата ^(Р) устанавливаются индукцией по длине неполных вычислений, осуществляемых соответственно схемой Р и автоматом 现*(户);6.3 выполняется для 现*(Р), если рассматривать только такие /, которые являются адресами операторов STOP в Р.
Теперь достаточно свести ?Г(Р) и 应(Р) w 笈В, принимающему те же самые ленты. Это осуществляется следующим образом. За состояния автомата 现(户)принимаются а, г и состояния qq, %, индексированные беззвездочковыми живыми состояниями автомата 现*(Р) и наборами из п % 三 2n. Пусть функция f式q) для произвольного состояния q автомата 现*(Р) и произвольного набора из п 工三 2n определяется равенством
'р, если q — звездочковое, где р берется
f主(4)=<из правила д'\ 工(i)f р;
、q в противном случае.
Пусть N — число звездочковых состояний в ?1*(Р). Заметим, что если f* (q) — беззвездочковое, то это первое беззвездочковое состояние, встречающееся в последовательности переходов, которая начинается с q в ситуации, когда последняя буква, прочитанная каждой головкой i, есть /«), и что в противном случае для той же исходной ситуации автомат ?1*(Р) входит в «пустой никл》(т. е. расходится, не передвигая ни одну из своих лент). Пусть g(q, х)——следующая функция, значениями которой яв-/=£»д' беззвездочковое, в остальных случаях,Пусть N — число звездочковых состояний в ?1*(Р). Заметим, что если f* (q) — беззвездочковое, то это первое беззвездочковое состояние, встречающееся в последовательности переходов, которая начинается с q в ситуации, когда последняя буква, прочитанная каждой головкой i, есть /«), и что в противном случае для той же исходной ситуации автомат ?1*(Р) входит в «пустой никл》(т. е. расходится, не передвигая ни одну из своих лент). Пусть g(q, х)——следующая функция, значениями которой яв-/=£»д' беззвездочковое, в остальных случаях,ляются состояния автоматаляются состояния автоматаg(% £)=g(% £)=生 с,生 с,现(Р):现(Р):еслиеслиеслиеслиеслиесли
Пусть N — число звездочковых состояний в ?1*(Р). Заметим, что если f* (q) — беззвездочковое, то это первое беззвездочковое состояние, встречающееся в последовательности переходов, которая начинается с q в ситуации, когда последняя буква, прочитанная каждой головкой i, есть /«), и что в противном случае для той же исходной ситуации автомат ?1*(Р) входит в «пустой никл》(т. е. расходится, не передвигая ни одну из своих лент). Пусть g(q, х)——следующая функция, значениями которой яв-
/=£»
д' беззвездочковое, в остальных случаях,
Пусть N — число звездочковых состояний в ?1*(Р). Заметим, что если f* (q) — беззвездочковое, то это первое беззвездочковое состояние, встречающееся в последовательности переходов, которая начинается с q в ситуации, когда последняя буква, прочитанная каждой головкой i, есть /«), и что в противном случае для той же исходной ситуации автомат ?1*(Р) входит в «пустой никл》(т. е. расходится, не передвигая ни одну из своих лент). Пусть g(q, х)——следующая функция, значениями которой яв-
/=£»
д' беззвездочковое, в остальных случаях,
ляются состояния автомата
ляются состояния автомата
g(% £)=
g(% £)=
生 с,
生 с,
现(Р):
现(Р):
если
если
если
если
если
если
где qf = f^_ (q) и 尸1 ——состояние, введенное выше в (i) (заметим, что /А(Г!)— беззвездочковое). Предположим теперь, что типичное беззвездочковое правило автомата 2r (Р) имеет вид
d,1Р;
тогда для каждого ^wWn соответствующее правило автомата 嘅(Р) будет иметь вид
<£,2-g(P,办
где у получается из х заменой компоненты %(i) буквой 自 Это завершает построение автомата 现(Р). Заметим, что на любой n-ленте последовательность состояний, принимаемых автоматом ^(Р), соответствует последовательности беззвездочковых состояний, принимаемых автоматом 现*(Р), если пренебречь компонентами х состояния автомата 现(Р), с возможным исключением таких n-лент, которые 现(Р) отвергает и на которых ^(Р) расходится. Следовательно, а достигается автоматом %(Р) в том и только том случае, если а достигается автоматом 现*(Р) на той же самой n-ленте; таким образом, оба автомата принимают одни и те же ленты. Это завершает доказательство леммы 6.3.'期
Поскольку ?! (Р) w 灰В, % (Р) w % (Q) в том и только том случае, если ?а (弘(Р)) = ?“ (% (Q)); прямым следствием леммы 6.3 является следующая лемма:.
Лемма 6.4. P = Q в том и только том случае, если %(Р)三 w%(Q)・
Если Р содержит г предикатных символов, то описанное выше построение может быть модифицировано требованием, чтобы слова w(/, Е) после каждого функционального символа содержали бинарные последовательности длины г; /-й член такой последовательности на ленте i интерпретируется как задающий 《новое》значение /-му предикатному символу на 厶.
Можно до некоторой степени свободно говорить о двух вычислительных моделях как об эквивалентных, если проблемы эквивалентности в этих моделях являются взаимозаменяемыми и если существует алгоритм для получения по заданному элементу одной модели элемента другой модели, «копирующего» первый в некотором подходящем смысле. Факты, установленные выше, могут быть подытожены теоремой.
Теорема 6.5. п-ленточные автоматы Рабина — Скотта эквивалентны схемам разобщенной памяти с п ячейками.
Следствие. Схемы Янова эквивалентны монадическим схемам с одной ячейкой.
Следствие можно доказать непосредственно построением, подобным проведенному выше, или обращением к факту эквивалентности схем Янова конечным автоматам, установленному Ратледжем в [8].
В настоящее время неизвестно, является ли разрешимой проблема строгой эквивалентности для схем разобщенной памяти с п ячейками (п > 1); соответствующая проблема для п-лен- точных автоматов является также открытой!
Ниже мы опишем несколько классов схемы, для которых известна процедура разрешения строгой эквивалентности, и несколько таких, для которых ата проблема остается открытой. Детали доказательств нами опущены и могут быть найдены в работе Патерсона [5].
Теорема 6.6. Проблема эквивалентности для монадических схем с непересекающимися циклами является разрешимой.
Мы все еще не в состоянии исключить ограничение, выражающееся в монадичности операторов, но полагаем, что результат сохранит свою силу. Процедура разрешения, применяемая в теореме, выражает эквивалентность двух заданных схем в виде формулы аддитивной теорий натуральных чисел, которая является разрешимой теорией.
Характерной чертой схем с неразрешимыми проблемами разрешения, рассматриваемыми нами, является то, что большая часть вычисляемых выражений позже перевычисляется, что являлось бы необычным и нежелательным в настоящей машинной программе. -Поэтому мы обратимся к различным ограничениям, которые можно наложить на схемы, чтобы предотвратить это свойство повторяемости.-
Определение. Схема Р называется свободной, если любая последовательность в Р является последовательностью выполнения.
Определение. Схема Р называется либеральной, если в любой последовательности в Р ни одно выражение не вычисляется. более чем один раз.
Теорема 6.7. Существует эффективное построение по всякой заданной либеральной схеме эквивалентной ей свободной схемы.
Представляется вероятным, что проблема разрешения эквивалентности свободных схем является разрешимой, и, конечно, никакая из техник, пока что используемых нами для доказательства неразрешимости, здесь очевидным образом неприменима. Теорема 6.7 показывает, что в практических целях любая
либеральная схема может рассматриваться как свободная, хотя обратное не имеет места, как это демонстрируется следующей свободной схемой:
厶:=尸(厶),
Zq: = F (Lj),.
、 匕:=尸(厶),’ 厶:=尸(厶),
T(LJb, a,
STOP.
Различия между этими двумя классами схем выявляются в полной мере следующими теоремами:
Теорема 6.8. Свойство схемы быть свободной — неразрешимое. 、,
Теорема 6.9. Свойство схемы быть либеральной — разрешимое.
Доказательство теоремы 6.8 включает в себе сведение к комбинаторной проблеме Поста. В случае теоремы 6.9 можна показать, что возможен эффективный и исчерпывающий поиск первого проявления нелиберальности.
Дл& начала мы располагаем процедурой разрешения только для подкласса либеральных схем.
Определение. Схема называется прогрессивной, если в любой ее последовательности ячейка присваивания каждого вычислительного оператора берется в качестве ячейки обращения в следующем вычислительном операторе, если таковой существует.,
Теорема 6.10. Проблема эквивалентности для прогрессивных схем является разрешимой.
Процедура разрешения подобна той, что используется при разрешении эквивалентности конечных автоматов, но, кроме того, включает в себя симметрическую группу всех перестановок ячеек схемы.'、
ЛИТЕРАТУРА
Davis М., Computability and Unsolvability, McGraw-Hill Book Co., New York. 1958.
Янов Ю. И., Логические схемы алгоритмов, Проблемы кибернетики, 1 (I960), 82—140.
Lucknam D„ Park D„ The undecidability of the equivalence problem for program schemata, Bolt, Beranek, and Newman Inc., Report No, 1141? SanU ana, Calif., 196&
McCartny J., A basis for a mathematical theory of computation, in Computer] Programming and Formal Systems (P. Braffort and D. Hirschberg, Eds.)# pp. 33—70, North-Holland, Amsterdam, 1963.
Paterson M., Equivalence Problems in a Model of Computation, Doctoral Dissertation, Cambridge University, 1967.
Rabin M., Scott D., Finite automata and their decision problems, IBM Jj Res. Develop. 3 (1959), 114—125.-
Rosenberg A., On multi-head finite automata, Proceedings of the fifth Annual Symposium on Switching Circuit Theory and Logical Design, pp. 221——228, 1963.
Rutledge J., On lanov's program schemata, J・ Assoc, Comput, Mach, 11 (1964), 1-9.
Символ: большая экспериментальная система для изучения возможности погружения программного обеспечения в аппаратуру)
Уильям Р. Смит, Рэкс Райс, Гилман Д. Чеслей, Теодор А. Лей- лиотис, Стефан Ф. Ландстром, Майрон А. Кзлхаун、Лоуренс Д. Джераулд, Томас Г. Кук Фаэрчайлд Кэмера энд Инстрамент Корпорейшн, Пало Алто, Калифорния
ВВЕДЕНИЕ
Система СИМВОЛ ——это результат широких исследований, направленных на увеличение функциональных возможностей аппаратуры. Проект основан на общей ревизии принципов построения вычислительных систем и посвящается следующим вопросам: пересмотру традиционного разделения между аппаратурой и программным обеспечением, пересмотру роли программных команд и памяти данных и методам уменьшения общей сложности и стоимости вычислений [1]. Для того чтобы достаточно точно оценить реализацию принятых принципов, было решено построить реальную работоспособную экспериментальную систему. Система СИМВОЛ, которая в настоящее время уже эксплуатируется, является результатом этих усилий.
При разработке системы вопросы аппаратного и программного обеспечения не разделялись. В сущности никто из работавших над проектом не мог назвать себя чистым специалистом по аппаратуре или программному обеспечению. Например, логическая разработка процессора по работе с полями была сделана человеком с квалификацией хорошего программиста [2]. Автоматизация составления монтажных схем осуществлена инженером, который до этого был узким специалистом по разработке логики.
Многие практические вопросы разработки аппаратуры с большими возможностями были изучены еще до того, как система вступила в действие. Мы не беремся утверждать, что СИМВОЛ представляет собой оптимальную многопроцессорную систему общего назначения с разделением времени. Наоборот, многочисленные упрощения приняты в тех местах, которые не слу-
жили основным целям проекта. Примером эт;ого может служив некоторое ограничение модульности. Однако мы утверждав! что СИМВОЛ представляет собой значительный шаг вперед технике создания систем и закладывает основы для значител| ного уменьшения стоимости вычислений. Так как разработка с@ стемы вступает в такую фазу, когда ее можно оценить по-н# стоящему, нужно показать ее реальную ценность для исследс» вания будущих систем.;
В данной статье представлено схематическое описание си! стемы СИМВОЛ. Вместо того чтобы в общем виде рассматри! вать многие вопросы, мы попытаемся на упрощенных примера^ объяснить основные свойства системы.j
ОБЩАЯ ОРГАНИЗАЦИЯ|
Система включает в себя восемь специализированных про! цессоров, каждый из которых работает как автономное устрой! ство. Каждое функциональное устройство связано с системой при помощи главных шин (см. рис. 1). Некоторые свойства си| стемы и их отношение к общей организации процессоров рас! сматриваются в общих чертах в следующих разделах.习
Динамическое распределение памятиq
Непосредственное распределение памяти аппаратурой, пожа^ луй, наиболее замечательная особенность системы СИМВОЛ^ Распределением памяти занимается специализированный про*; цессор, называемый Управлением Памяти (УП). УП целиком* изолирует главную память от основных шин и других процессор ров, и в нем предусмотрены достаточно сложные операции ра-: боты с памятью, которые он выполняет для других процессоров,; Вместо обычных операций над памятью типа «читать/писать» 牛 УП есть набор из пятнадцати операций, которые доступны др у* гим процессорам системы. УП — это процессор специального на* значения, который распределяет память по требованию, вьшол^ няет адресную арифметику и управляет ассоциативной памятью; с помощью которой осуществляется страничная организация.; Другой процессор, Восстановление Памяти (ВП), дополняетУП; переорганизуя возвращенные области памяти, для того чтобй сделать их пригодными для нового использования. Он оформ-; лен в виде отдельного устройства, работающего как задача с низким приоритетом доступа в память.
Прямая компиляция、
Транслятор (ТР) воспринимает язык высокого уровня СИМВОЛ [3] в качестве входного и создает объектную строку обратной польской записи и таблицу имен, предназначаемые для обработки Центральным Процессором (ЦП). Используя неболь-
шую (порядка 100 слов) таблицу, находящуюся в главной памяти, ТР выполняет и прямую аппаратную компиляцию.
Динамическое изменение длины поля
Внутри Центрального Процессора все операции с полями выполняются как действия над полями с динамически переменной длиной. Обработка всех буквенно-цифровых строк выполняется Форматным Процессором (ФП), а обработка всех чисел производится Арифметическим Процессором (АП). При работе с данными ресурсы УП интенсивно используются ЦП.
Динамическое изменение структур данных
Разрешается любое изменение структур данных. Во время обработки они могут менять размер, формат и глубину. Ссы-
Рис. 1. Общая блок-схема системы СИМВОЛ.
лочный Процессор (СП), являющийся частью ЦП, управляет размещением и выборкой, хранением и ссылкой на массивы и структуры данных. СП интенсивно пользуется операциями УП.
Управление работой с разделением времени
Супервизор Системы (СС) составляет расписание задач для системы. Он управляет всеми переходами от одного режима обработки к другому и управляет очередями ко всем процессорам,
работающим с разделением времени. СС выполняет два важ-^ ных аппаратных алгоритма ——составляет расписание задач н; управляет страничной организацией памяти. При нормировании! дефицитных ресурсов, таких, как время Центрального Процес-^ сора, используются часы реального времени. СС также осуще-1 ствляет ключевые передачи информации, необходимые для свя-^ зи аппаратных алгоритмов с процедурами системы программного обеспечения.
Прямое редактирование текста
Ввод/вывод задач в системе осуществляется Интерфейсным Процессором (ИП) и Управлением Канала (УК). ИП имеет возможность производить общее редактирование текста при интерактивной связи через специальный терминал. Ввод/вывод и редактирование текста не используют ресурсы ЦП.
Управление виртуальной памятью :
Когда УП обнаруживает, что нужная страница отсутствует в главной памяти, он оповещает об этом затребовавший страницу процессор и супервизор системы. Затем СС, используя, страничный алгоритм, выдает соответствующие команды переда-, чи с диска Управлению Дисками (УД). Каждое устройство, использующее память, после получения отказа, указывающего, что нужная страница отсутствует в главной памяти, должно уметь приостановить свою работу, запомнить текущее состояние и начать снова свою работу после того, как нужная страница будет вызвана в память.
КОНФИГУРАЦИЯ СИСТЕМЫ
В системе имеется небольшое дополнительное оборудование для периферии и памяти, связанное с основной стойкой. Этого- дополнительного оборудования дЪстаточно для экспериментальных целей системы. Главная память размера в 8К слов по 64 разряда в слове представляет собой ферритовую память с) циклом в 2,5 мксек. Она разбита на 32 страницы по 256 слов в' странице. Оперативная страничная память находится на малом; диске с фиксированными головками фирмы Барроуз и разделе- ' на на 500 страниц. Массовая память страниц находится на 6оль・; шом диске фирмы Дейта Продакте и разбита на 50000 страниц.'
Управление Каналом разработано с таким расчетом, чтобы:;: оно могло управлять 31 каналом. Считалось, что такое ограничение на количество каналов не помешает правильно оценить экспериментальную систему. В описываемом случае применены ' один высокоскоростной канал (с эффективным быстродействием : 100 000 бит/сек) и три канала телефонных линий со скоростью * до 2400 бод. В дальнейшем могут быть добавлены дополнительные каналы.
Основная стойка содержит около 18 000 сдвоенных нелинейных комбинированных транзисторных микросхем (СТМ). Их физические данные описаны в других статьях [4], [5]. Относительные размеры автономных процессоров показаны на рис. 2.
КОМАНДКОМАНДСИСТЕМЫСИСТЕМЫЦЕНТРАЛЬНЫЙ ПРОЦЕССОРЦЕНТРАЛЬНЫЙ ПРОЦЕССОРСУПЕРВИЗОР ПРОЦЕССОРСУПЕРВИЗОР ПРОЦЕССОР/УПРАВЛЕНИЕПАМЯТЬЮ/УПРАВЛЕНИЕПАМЯТЬЮВОССТАНОВИТЕЛЬПАМЯТИУПРАВЛЕНИЕ ДИСКАМИ УПРАВЛЕНИЕКАНАЛОМ ИНТЕРФЕЙСНЫЙ ПРОЦЕССОРВОССТАНОВИТЕЛЬПАМЯТИУПРАВЛЕНИЕ ДИСКАМИ УПРАВЛЕНИЕКАНАЛОМ ИНТЕРФЕЙСНЫЙ ПРОЦЕССОРССЫЛОЧНЫЙ ПРОЦЕССОРССЫЛОЧНЫЙ ПРОЦЕССОРАРИФМЕТИЧЕСКИЙ процессор/ 中 OPMATHbl^ПРОЦЕССОРАРИФМЕТИЧЕСКИЙ процессор/ 中 OPMATHbl^ПРОЦЕССОР
КОМАНД
КОМАНД
СИСТЕМЫ
СИСТЕМЫ
ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
СУПЕРВИЗОР ПРОЦЕССОР
СУПЕРВИЗОР ПРОЦЕССОР
/УПРАВЛЕНИЕПАМЯТЬЮ
/УПРАВЛЕНИЕПАМЯТЬЮ
ВОССТАНОВИТЕЛЬ
ПАМЯТИ
УПРАВЛЕНИЕ ДИСКАМИ УПРАВЛЕНИЕ
КАНАЛОМ ИНТЕРФЕЙСНЫЙ ПРОЦЕССОР
ВОССТАНОВИТЕЛЬ
ПАМЯТИ
УПРАВЛЕНИЕ ДИСКАМИ УПРАВЛЕНИЕ
КАНАЛОМ ИНТЕРФЕЙСНЫЙ ПРОЦЕССОР
ССЫЛОЧНЫЙ ПРОЦЕССОР
ССЫЛОЧНЫЙ ПРОЦЕССОР
АРИФМЕТИЧЕСКИЙ процессор/ 中 OPMATHbl^
ПРОЦЕССОР
АРИФМЕТИЧЕСКИЙ процессор/ 中 OPMATHbl^
ПРОЦЕССОР
Рис. 2. Схема распределения аппаратуры СИМВОЛа, отражающая относительные размеры различных процессоров.
СВЯЗИ СИСТЕМЫ
Главные шины системы являются основным путем связи и могут использоваться в режиме разделения времени. При их разработке использовались специальные свойства комбинированных транзисторных логических микросхем. Шины включают в себя 111 параллельных линий, которые распределены следую
щим образом:
Шины данных64
Шины адреса24
Шины кода операции6
Шины идентификации терминала 5
.Шины приоритета10
Часы системы1
Сброс системы1
Возможны следующие четыре типа использования шин:
Передачи от процессора к УП
Передачи от УП к процессору
Передачи от процессора к процессору
Циклы обмена управляющей информацией
Передача информации выполняется в соответствии с ее приоритетами. Шины приоритета указывают, для чего собираютс” использовать шины передачи в следующем цикле. Устройство; которое хочет воспользоваться шинами, возбуждает свою лини© приоритета и проверяет, нет ли на шинах запроса с более высо4 ким приоритетом, и если нет, то использует шины в следующем; цикле. W
Рис. 3. Использование главных шин для циклов обмена управляющей ин-1 'формацией.j
Циклы обмена управляющей информацией используются для』 обмена управляющей информацией между СС и другими про-1 цессорами через шины адреса и данных. См. рис. 3. Во время управляющего цикла линии шин адреса и данных используются ; заранее заданным образом. При этом определенные линии ис-] пользуются для запуска ЦП. Другие употребляются для указа- j ния режима завершения работы ТР. Во время данного цикла ; можно использовать любые комбинации путей.' СС имеет такие | свои собственные операции управления интерфейсом, которые ] он использует для связи с процессорами во время управляющего ? цикла, что более чем один сигнал может быть передан за время ; данного цикла..
ОРГАНИЗАЦИЯ ПАМЯТИ
Виртуальная память
Память системы СИМВОЛ организована как простая двухуровневая память с фиксированным размером страницы [6]. Страница состоит из 256 слов, каждое из которых имеет 64 разряда. Слово из виртуальной памяти выбирается по 24-разряд- ному адресу, 16 разрядов которого используются для выборки
страницы, а 8 разрядов — для выборки заданного слова внутри страницы (см. рис. 4).
Главная память экспериментальной системы разделена на 32 страницы. Относительная часть адреса (внутри страницы) используется непосредственно, в то время как адрес страницы нужен для обращения к ассоциативной памяти, из которой получается текущий адрес страницы в главной памяти.
В ассоциативной памяти для каждой страницы главной памяти отведена одна ячейка. Так как ассоциативная память свя> зана с главной памятью, отдельные процессоры освобождаются от работы по определению местонахождения информации. Это ведет к значительному уменьшению логической сложности процессоров, хотя и может повести к некоторому увеличению количества электронных компонентов.
Положение страницы в страничной памяти на диске жестко закреплено (см. рис. 5). По требованию страница переписывается в свободное место главной памяти. При изгнании из памяти страница записывается в то же самое место на диске. Если
1
содержимое страницы не изменялось в главной памяти, то фак《 тическая перепись в этом случае не производится.;
Организация главной памяти показана на рис. 6. Перва^ страница отведена под таблицы системы, которые включают 才 себя таблицу слов, зарезервированных для транслятора, таблицу вызова программного обеспечения и управляющие слова для распределения памяти и постановки в очередь. Следующая группа страниц используется для записи управляющих слов различных терминалов или пользователей системы. Каждый активный терминал имеет 24 слова управляющей информации в этой небольшой памяти. Конечно, если система будет иметь большую мощность по каналам, то большее количество управляющей информации придется помещать в виртуальную память. Для простоты в СИМВОЛе введено следующее ограничение — все таблицы канала помещаются в главную память.
Вуферн ввода/вывода различных активных каналов также находятся в ферритовой памяти. Для каждого активного канала требуется буфер размером в 16 слов. Буферы переменной длины не используются, хотя это и могло бы быть сделано.
Остальная часть главной памяти доступна как буфер для виртуальной памяти. Управление страницами осуществляется аппаратурой, причем выбором страницы, которая изгоняется из памяти, управляет Супервизор Системы. Этот алгоритм представляет собой очень гибкий параметризованный процесс, который позволяет выполнять большинство обычных страничных алгоритмов. Для каждого терминала имеются свои параметры, так что страничная динамика может изменяться при переходе от терминала к терминалу.
В противоположность более сложным схемам сегментации [7], [8] организация виртуальной памяти СИМВОЛа очень проста. Разница заключается в том, что в СИМВОЛе не нужна адресация уровня выше страничного. Это позволяет упростить схему виртуальной памяти в системе. Все пользователи и каналы делят между собой одну и ту же область виртуальной памяти, 24-разрядный адрес используется полностью. Так как память распределяется по требованию и нет ограничения на порядок присваивания страниц пользователю, то можно предсказать, что 24 разрядов в адресе будет достаточно для гораздо большего числа терминалов, чем 31. Если размер файла таков, что для его адресации нужно более 24 разрядов, то к его записям можно адресоваться при помощи специальных блочных передач ввода/вывода.
Списки страниц
Страницы объединены между собой в списки страниц. Свободные страницы организованы в отдельный список свободных
страниц. Если какому-либо пользователю требуется место в памяти, то открывается список страниц пользователя и из списка свободных страниц передается страница в список пользователя. В это же время создается управляющее слово, которое служит отправной точкой во всей дальнейшей работе пользователя со
ГЛАВНАЯ ПАМЯТЬГЛАВНАЯ ПАМЯТЬСТРАНИЧНАЯ ПАМЯТЬСТРАНИЧНАЯ ПАМЯТЬРис. 5. Организация виртуальной памяти, "показывающая фиксированное расположение страниц в страничной памяти.Рис. 5. Организация виртуальной памяти, "показывающая фиксированное расположение страниц в страничной памяти.
ГЛАВНАЯ ПАМЯТЬ
ГЛАВНАЯ ПАМЯТЬ
СТРАНИЧНАЯ ПАМЯТЬ
СТРАНИЧНАЯ ПАМЯТЬ
Рис. 5. Организация виртуальной памяти, "показывающая фиксированное расположение страниц в страничной памяти.
Рис. 5. Организация виртуальной памяти, "показывающая фиксированное расположение страниц в страничной памяти.
списком страниц. Если потребуется дополнительное место в памяти, то добавляются новые страницы, образуя область памяти переменной длины, используемую для самых общих целей (см. рис. 7).
Пользователь может иметь более чем один сшгсок страниц. Типичным методом использования списков страниц для терминала является такой: один список страниц содержит текст исходной программы, другой — скомпилированную объектную программу, третий предназначен для памяти переменных данных. Другие списки страниц могут использоваться для долговременного или кратковременного хранения файлов. Списки страниц
ТАБЛИЦЫ СУПЕРВИЗО-РА СИСТЕМЫТАБЛИЦЫ СУПЕРВИЗО-РА СИСТЕМЫ1 СТРАНИЦА1 СТРАНИЦАТАБЛИЦЫУПРАВЛЕНИЯТЕРМИНАЛАМИТАБЛИЦЫУПРАВЛЕНИЯТЕРМИНАЛАМИ3 СТРАНИЦЫ3 СТРАНИЦЫБУФЕРЫВВОДА/ВЫВОДАБУФЕРЫВВОДА/ВЫВОДА1-2 СТРАНИЦЫ1-2 СТРАНИЦЫСТРАНИЦЫВИРТУАЛЬНОЙПАМЯТИСТРАНИЦЫВИРТУАЛЬНОЙПАМЯТИРис. 6. Схема расположения информации в главной памяти.Рис. 6. Схема расположения информации в главной памяти.СПИСОК СВОБОДНЫХСТРАНИЦСПИСОК СВОБОДНЫХСТРАНИЦСПИСКИ СТРАНИЦ ПОЛЬЗОВАТЕЛЯСПИСКИ СТРАНИЦ ПОЛЬЗОВАТЕЛЯРис. 7. Упрощенная структура списка страниц внутри виртуальной памяти.Рис. 7. Упрощенная структура списка страниц внутри виртуальной памяти.
ТАБЛИЦЫ СУПЕРВИЗО-РА СИСТЕМЫ
ТАБЛИЦЫ СУПЕРВИЗО-РА СИСТЕМЫ
1 СТРАНИЦА
1 СТРАНИЦА
ТАБЛИЦЫУПРАВЛЕНИЯТЕРМИНАЛАМИ
ТАБЛИЦЫУПРАВЛЕНИЯТЕРМИНАЛАМИ
3 СТРАНИЦЫ
3 СТРАНИЦЫ
БУФЕРЫВВОДА/ВЫВОДА
БУФЕРЫВВОДА/ВЫВОДА
1-2 СТРАНИЦЫ
1-2 СТРАНИЦЫ
СТРАНИЦЫВИРТУАЛЬНОЙ
ПАМЯТИ
СТРАНИЦЫВИРТУАЛЬНОЙ
ПАМЯТИ
Рис. 6. Схема расположения информации в главной памяти.
Рис. 6. Схема расположения информации в главной памяти.
СПИСОК СВОБОДНЫХСТРАНИЦ
СПИСОК СВОБОДНЫХСТРАНИЦ
СПИСКИ СТРАНИЦ ПОЛЬЗОВАТЕЛЯ
СПИСКИ СТРАНИЦ ПОЛЬЗОВАТЕЛЯ
Рис. 7. Упрощенная структура списка страниц внутри виртуальной памяти.
Рис. 7. Упрощенная структура списка страниц внутри виртуальной памяти.
постепенно растут по1 мере того, как требуется место в памяти, j А. когда список страниц целиком становится не нужен, он от- / дается назад системе, а та возвращает его в список свободных J страниц. f
Организация страницы
Для того чтобы легко оперировать с областями памяти, имеющими несмежные адреса, некоторое дополнительное количество памяти должно быть отведено для связывания или соединения отдельных частей. В СИМВОЛе около 11 % памяти расходуется для постоянных записей, служащих‘для такой организации памяти.
Каждая страница имеет три отдельных информационных области, как показано на рис. 8. Первая область, называемая заголовком страницы, используется для организации списков страниц и управляет распределением памяти внутри страницы. Вторая область включает в себй 28 слов. Третья область состоит из 28 восьмисловных групп. Каждая группа имеет соответствующее слово групповой связи. Связь между группой и его словом определяется их положением в странице. Примером может служить слово 5 и соответствующая ему группа 5, заштрихованные на рис. 8. Данные пишутся в слова с 28 по 2F. Восьмисловная группа является неделимым квантом памяти. Это минимальный участок памяти, который может быть выдан при запросе.
Если для какой-то цели нужны данные, то память под них выдается целыми группами. Например, если нужно шесть слов памяти для записи вектора данных, то выдается одна группа. Если для записи вектора нужно 14 слов в памяти, то будет выделено две группы. Области информации различной длины образуются при помощи связывания между собой этих основных единиц памяти.
Строки информации
В общем случае для запоминания информации в СИМВОЛе используются списки переменной длины, состоящие из ячеек памяти. Это логически последовательные ячейки памяти, но не обязательно физически последовательные ячейки.
Рассмотрим типичную строку информации переменной длины, показанную на рис. 9. Память данных для 24 слов информации связана между собой при помощи своих групповых слов связи. Если начальный адрес строки известен, то можно выбрать всю строку, выбирая соответствующее групповое слово связи, каждый раз, как встречается конец группы. Можно пройти строку и в обратном направлении, используя ссылку назад, которая также записана в групповом слове связи.
Каждый процессор пользуется аппаратом переменной длины памяти, находящимся в Управлении Памяти (УП), не заботясь о сложной фактической последовательности адресов. Например, когда процессору нужно место в памяти для записи полей вектора данных, он посылает в УП команду Выдать Группу (ВГ)
Рис. 9. Структура строки переменной длины.
вместе с меткой (tag), задающей тот список страниц, в который должна быть записана эта строка. УП затем выбирает свободную группу из списка страниц и возвращает адрес первого слова в группе процессору, давшему запрос. Когда процессор готов записать слово, он передает в УП данные, предварительно полученный адрес и команду Записать и Выдать (ЗВ). УП записывает данные и возвращает адрес следующего свободного слова. После того как встретился конец группы или строки, УП выделяет новую группу и привязывает ее к строке.
В процессе записи строки процессор получает адрес от УП и позднее сам передает этот адрес в УП для дальнейшего нара-
щивания строки. Вся адресная арифметика выполняется в УП. Рассмотрим пример, приведенный в табл. 1. В результате первых пяти команд слова А, В, С и D записываются в строку, начинающуюся со слова А.
Для того чтобы выбрать теперь записанную строку, в УП посылаются первоначальный адрес слова А и команда Выбрать и Продолжить (ВП). Данные из ячейки А возвращаются вместе со следующим логическим адресом. Когда строка больше не нужна, в УП выдается команда Освободить Строку (ОС) и начальный адрес этой строки. После этого строка целиком помещается в список для восстановления. Процессор Восстановления Памяти (ВП) сканирует списки для восстановления различных списков страниц в то время, когда память не занята другой работой и делает группы отданной строки доступными для нового распределения.
Основной процесс использования памяти имеет дело с разновидностями операций ВГ, ЗВ, ВП и ОС. Есть еще одиннадцать других команд памяти, которые вместе с вышеупомянутыми составляют полный комплект команд обслуживания памяти.
При проектировании памяти СИМВОЛа уделялось большое внимание эффективности использования места в памяти. Было
Таблица 1
Упрощенный пример последовательного использования памяти
Мнемоника
Операция
Адрес в УП
Возвращенный адрес
Данные в УП
1 Возвращенные данные
вг
Выдать Группу
—
а
—
一
ЗВ
Записать и Выдать
а
b
А
—
ЗВ
Записать и Выдать
b
с
В
—
ЗВ
Записать и Выдать
с
d
С
一
ЗВ
Записать и Выдать
d
с
D
—
ВП
Выбрать и Продолжить
а
b
—
А
ВП
Выбрать и Продолжить
b
с
—
В
ВП
Выбрать и Продолжить
с
d
—
С
ВП
Выбрать и Продолжить
d
—
—
D
ОС
Освободить Строку
а
1 ~
—
—
проведено исследование по определению оптимального размер* распределяемой группы [9]. Основные усилия были направлен胃 на то, чтобы уравновесить стоимость лишней памяти, затрачи! ваемой на связи, и стоимость неиспользуемых кусков в группам Дополнительные затраты компенсируются тем, что память рас| пределяется по требованию. В большинстве машин выдаете^ фиксированный кусок памяти, равный максимальному размер# массива данных. Когда используются массивы средних размеров! то, несмотря на значительный перерасход памяти на организа^ цию распределения по требованию, этот метод может оказаться) более выгодным, чем обычное распределение фиксированным^ кусками максимального размера.
ФОРМЫ ИНФОРМАЦИИ
Поля данных「
В системе существует два основных типа данных — поля строк и числовые поля. Поле строки можно описать следующим образом. В" начале строки стоит специальный символ Начала Строки (НС ——SS). За ним следует произвольное количество алфавитно-цифровых символов в коде ASCII 】).Заканчивается строка специальным символом Конца Строки (КС ——SE). Это иллюстрирует, пожалуй, самую существенную черту представления данных в СИМВОЛе. Тип и длина данных содержатся вместе с самими данными; Код команды не зависит от динамических атрибутов данных.
Второй тип данных ——это десятичное упакованное число с плавающей запятой переменной длины. Числовая форма имеет еще и указатель класса точности. Числа могут быть точными с бесконечным числом нулей в конце или они могут быть эмпирическими, что означает, что дальнейшие цифры неизвестны. Как и в поле строки, все атрибуты данных содержатся в памяти вместе с самими данными.
Для упрощения разработки аппаратуры другие формы представления данных не использовались. Предстоит еще включить в СИМВОЛ такие формы, как плотно упакованные двоичные строки переменной длины, двоичные числа фиксированной длины, двоичные числа переменной длины и т. д. В любом случае данные должны нести указатель типа и явное или неявное указание длины поля..
Исходные программы
Исходные программы ——это поля строк специального вида. Это строки символов переменной длины в коде ASCII с разде-
】)ASCII (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE) —Американский стандартный код для обмена информацией.
лителями, определяющими длину и тип. Во время подготовки их можно трактовать как поля данных, а позднее использовать как исходную программу для компиляции. Исходные программы могут быть собраны в библиотеки различных форматов, лишь бы они продолжали сохранять атрибуты поля строки для целей компиляции.
Структура данных
Структура данных определяется как группа переменной длины, состоящая из элементов, которые могут быть либо полями строки, либо числовыми полями, либо снова группами элементов. При таком рекурсивном определении структура может быть
“ (John I Alice | Jim | Elizabeth)
Рис. 10. Вектор полей строки и соответствующее представление данныхв памяти.
вектором, матрицей или нерегулярным массивом. За исключением того, что поле или группа во время выполнения программы не должны превышать размера главной памяти, не накладывается никаких других ограничений на глубину или размер массива.
Для примера рассмотрим простой вектор, показанный на рис. 10. Введены специальные знаки <, | и > для обозначения границ поля и группировки полей. Они называются соответственно—левый знак группы, знак поля и правый знак группы. В памяти системы поля строки ограничиваются символами Начала Строки (НС) и Конца Строки (КС). Еще одним специальным символом, называемым Концом Вектора (КВ), заканчивается группа полей. В памяти, представленной на рис. 10, показано несколько полей строк, после которых следует код Конца Вектора (КВ), который снова служит указателем длины,записанным вместе с данными. Поля строки располагаются с начальной границы машинного слова. В случае с Elizabeth, для того чтобы записать поле, требуется два машинных слова.
Представление матрицы на рис. 11 подобно представлению вектора, за исключением того, что существуют два уровня векторов. Теперь определение структуры можно дать следующим образом. Структура — это группа переменной длины, состоящая
5 Зак. 561
из элементов, каждый из которых может быть либо полем стро- 1 ки, либо числовым полем, либо адресной ссылкой на другую I группу.I
Объектная строка и таблицы имен|
При компиляции программы транслятор создает строку о6・ j ратной польской записи и структурную таблицу имен. Польская
<<2N432|PNP|.17>.]
(^N70aAPC14,3|NPN|.38>>」
УРОВЕНЬ СВЯЗИ ГРУППУРОВЕНЬ СВЯЗИ ГРУППРис. 11. Простой двумерный массив и соответствующие ему три строки | переменной длины в памяти./Рис. 11. Простой двумерный массив и соответствующие ему три строки | переменной длины в памяти./
УРОВЕНЬ СВЯЗИ ГРУПП
УРОВЕНЬ СВЯЗИ ГРУПП
Рис. 11. Простой двумерный массив и соответствующие ему три строки | переменной длины в памяти./
Рис. 11. Простой двумерный массив и соответствующие ему три строки | переменной длины в памяти./
строка, называемая объектной строкой, и таблица имен являют-j ся основными формами информации, используемой Централь-1 ным Процессором во время исполнения программы. Употребление;! отдельных таблиц имен во время исполнения программы, воз-Я можно, является самым большим отступлением от традинн•才 онных форм обработки. Тогда как в большинстве систем npoj граммная строка для своего исполнения содержит адресныеЯ ссылки на место в памяти, где находятся данные, в системеЯ СИМВОЛ объектная строка содержит ссылку на запись в таб*Я лице имен, которая служит централизованным местом, где со安 держится вся информация о данном идентификаторе. Это кабЯ раз та особенность системы, которая придает ей исключая тельный динамизм. Как бы ни менялся элемент с данньпЯ
ПАМПАМЯТЬ ИСХОДНОЙ СТРОКИЯТЬ ИСХОДНОЙ СТРОКИА ВА ВIe2aIe2ah石h石ааmmе. ее. еПАМЯТЬ ОБЪЕКТНОЙ СТРОКИПАМЯТЬ ОБЪЕКТНОЙ СТРОКИ*Та*Таn6 7n6 73. £3. £Исходная строкаAlpha — Beta ♦ 3.2 —(Long Name Join Beta);Объектная строкаA[Alpha] A [Beta]3.2 * A [Long Name] A [Beta] joinИсходная строкаAlpha — Beta ♦ 3.2 —(Long Name Join Beta);Объектная строкаA[Alpha] A [Beta]3.2 * A [Long Name] A [Beta] joinПАМЯТЬ ТАБЛИЦЫ ИМЕНПАМЯТЬ ТАБЛИЦЫ ИМЕНРис. 12. Структура информации для простого оператора присваивания.Рис. 12. Структура информации для простого оператора присваивания.
ПАМ
ПАМ
ЯТЬ ИСХОДНОЙ СТРОКИ
ЯТЬ ИСХОДНОЙ СТРОКИ
А В
А В
Ie2a
Ie2a
h
石
h
石
а
а
m
m
е. е
е. е
ПАМЯТЬ ОБЪЕКТНОЙ СТРОКИ
ПАМЯТЬ ОБЪЕКТНОЙ СТРОКИ
*
Та
*
Та
n
6 7
n
6 7
3. £
3. £
Исходная строка
Alpha — Beta ♦ 3.2 —(Long Name Join Beta);
Объектная строка
A[Alpha] A [Beta]3.2 * A [Long Name] A [Beta] join
Исходная строка
Alpha — Beta ♦ 3.2 —(Long Name Join Beta);
Объектная строка
A[Alpha] A [Beta]3.2 * A [Long Name] A [Beta] join
ПАМЯТЬ ТАБЛИЦЫ ИМЕН
ПАМЯТЬ ТАБЛИЦЫ ИМЕН
Рис. 12. Структура информации для простого оператора присваивания.
Рис. 12. Структура информации для простого оператора присваивания.
Значения данных-
Alpha (John Doe|110 Main (30—25|DSR) (39|MS|12|))
Beta 11432.11
Gamma I Heading for a report |.
ПРЕДСТАВЛЕНИЕ В ПАМЯТИ:
Рнс. 13. Пример структуры и двух полей и способа их записи в памяти вместе с таблицей имен.Рнс. 13. Пример структуры и двух полей и способа их записи в памяти вместе с таблицей имен.
Рнс. 13. Пример структуры и двух полей и способа их записи в памяти вместе с таблицей имен.
Рнс. 13. Пример структуры и двух полей и способа их записи в памяти вместе с таблицей имен.
идентификатором: по месту расположения, по размеру, по типу и т. д., достаточно изменять в программе лишь запись в таблице имен, так как все ссылки из объектной строки на идентификатор должны идти через эту запись.
Исходная форма простого оператора присваивания и соответствующая ему объектная строка и таблица имен показаны на рис. 12. Идентификаторы выделены, и, если их до этого не было в таблице имен, то они туда добавлены. Заметим, что сами идентификаторы могут иметь переменную длину и состоять более чем из одного слова. С каждым идентификатором связано управляющее слово. Объектная строка состоит из адресов таблицы имен, литеральных данных (значение 3.2), операторов в обратной польской записи и соответствующих ссылок назад на исходную строку. Эти ссылки используются лишь при диагностике ошибок и игнорируются при нормальном исполнении программы. Объектная строка и таблица имен совершенно не зависят от будущего размера и типа данных переменной.
Теперь рассмотрим таблицу имен после того, как началось исполнение программы, и предположим, что переменные имеют текущие значения. На рис. 13 переменные Beta и Gamma являются простыми полями. Gamma представляет собой строку из нескольких слов, и поэтому она записана в строку памяти вместе с адресной ссылкой, помещенной в соответствующее управляющее слово. Beta является коротким полем и поэтому может быть помещена в одном слове прямо в таблице имен. Alpha представляет собой нерегулярную структуру. Для Alpha в таблице имен содержится ссылка на первую группу, которая в свою очередь содержит два поля строки, две адресные ссылки и знак конца вектора. Адресные ссылки указывают на две группы, одна из которых содержит два поля, а другая — три. В процессе исполнения программы атрибуты и представление в памяти переменных могут меняться. В любом случае таблица имен и сами данные будут содержать все атрибуты переменных.
ОСНОВНОЙ ПОТОК ИНФОРМАЦИИ
Для того чтобы понять, как различные процессоры системы СИМВОЛ участвуют в решении задачи конкретного пользователя, надо временно пренебречь тем, что система многопроцессорная. Пользователь за терминалом работает в различных режимах. Основными режимами являются загрузка программы, ее компиляция и исполнение. Рассмотрим диаграмму состояний на рис. 14. Пользователь начинает работать в режиме, когда терминал не управляется системой (режим АВТОНОМНО) и при помощи какого-то особого управления переводит свои задачи в холостой режим под управлением системы (холостой режим
ОПЕРАТИВНО). Отсюда он может перейти в режим ЗАГРУЗКА, для того чтобы создавать и дополнять свою программу. Когда пользователь готов выполнять программу, то в предположении, что он отличный программист, он начнет компилировать свою программу, а затем ее выполнять. По окончании выполнения программы программист может запустить ее заново или вернуться в режим ЗАГРУЗКА и изменить свою программу.
ОЧИСТИТЬОЧИСТИТЬЗАГРУЗИТЬЗАГРУЗИТЬЗАГРУЗИТЬЗАГРУЗИТЬК0НЕ& ЗАПИСИК0НЕ& ЗАПИСИНОРМАЛЬНОЕ ОКОНЧАНИЕЦПНОРМАЛЬНОЕ ОКОНЧАНИЕЦПРЕЖИМРЕЖИМЗАГРУЗКИЗАГРУЗКИРЕЖИМЫРЕЖИМЫВОДАВОДАНОРМАЛЬНОРМАЛЬНОЕ ОКОННОЕ ОКОНЧАНИЕЧАНИЕАВТО-АВТО-ЗАПУСТИТЬЗАПУСТИТЬНОМНОНОМНОНИЕНИЕНОРМАЛЬНОЕНОРМАЛЬНОЕРЕЖИМРЕЖИМРЕЖИМРЕЖИМкомпиля-компиля-НИИНИИНИЯНИЯРис. 14. Идеалгизированное происхождение задачи с одного терминала.Рис. 14. Идеалгизированное происхождение задачи с одного терминала.ЗАКОНЧИТЬЗАКОНЧИТЬХОЛОСХОЛОСТОЙ ОПЕРА-ТОЙ ОПЕРА-ТИВНЫЙТИВНЫЙЗАПУСТИТЬ ВЫПОЛНЕ- ЗАНОВОЗАПУСТИТЬ ВЫПОЛНЕ- ЗАНОВООКОНЧАНИЕТР1 ВЫПОЛНЕОКОНЧАНИЕТР1 ВЫПОЛНЕЗАПРОС НА ВВОД/ВЫВОДЗАПРОС НА ВВОД/ВЫВОДВВОДА/ВЫ-ВВОДА/ВЫ-
ОЧИСТИТЬ
ОЧИСТИТЬ
ЗАГРУЗИТЬ
ЗАГРУЗИТЬ
ЗАГРУЗИТЬ
ЗАГРУЗИТЬ
К0НЕ& ЗАПИСИ
К0НЕ& ЗАПИСИ
НОРМАЛЬНОЕ ОКОНЧАНИЕ
ЦП
НОРМАЛЬНОЕ ОКОНЧАНИЕ
ЦП
РЕЖИМ
РЕЖИМ
ЗАГРУЗКИ
ЗАГРУЗКИ
РЕЖИМЫ
РЕЖИМЫ
ВОДА
ВОДА
НОРМАЛЬ
НОРМАЛЬ
НОЕ ОКОН
НОЕ ОКОН
ЧАНИЕ
ЧАНИЕ
АВТО-
АВТО-
ЗАПУСТИТЬ
ЗАПУСТИТЬ
НОМНО
НОМНО
НИЕ
НИЕ
НОРМАЛЬНОЕ
НОРМАЛЬНОЕ
РЕЖИМ
РЕЖИМ
РЕЖИМ
РЕЖИМ
компиля-
компиля-
НИИ
НИИ
НИЯ
НИЯ
Рис. 14. Идеалгизированное происхождение задачи с одного терминала.
Рис. 14. Идеалгизированное происхождение задачи с одного терминала.
ЗАКОНЧИТЬ
ЗАКОНЧИТЬ
ХОЛОС
ХОЛОС
ТОЙ ОПЕРА-
ТОЙ ОПЕРА-
ТИВНЫЙ
ТИВНЫЙ
ЗАПУСТИТЬ ВЫПОЛНЕ- ЗАНОВО
ЗАПУСТИТЬ ВЫПОЛНЕ- ЗАНОВО
ОКОНЧАНИЕТР1 ВЫПОЛНЕ
ОКОНЧАНИЕТР1 ВЫПОЛНЕ
ЗАПРОС НА ВВОД/ВЫВОД
ЗАПРОС НА ВВОД/ВЫВОД
ВВОДА/ВЫ-
ВВОДА/ВЫ-
В следующих разделах разбираются примеры потоков информации во время основных рабочих режимов терминала. Более детальная блок-схема, приведенная на рис. 15, поможет лучше разобраться в описании. Свяжите для себя временную последовательность рабочих состояний терминала на рис. 14 со статической блок-схемой аппаратуры на рис. 15?
Режим загрузки
Режим ЗАГРУЗКА — это режим редактирования текстов ввода/вывода. Его основное назначение — загрузка исходной программы. В обычном случае для записи текста, состоящего из строк, используется отдельный список страниц. Эта область в памяти называется Временной Рабочей Областью (ВРО).
ОСНОВНЫЕ ШИНЫОСНОВНЫЕ ШИНЫУПРАВЛЕНИЕУПРАВЛЕНИЕДАННЫХ И УПРАВЛЕНИЯ . (109 ЛИНИИ)ДАННЫХ И УПРАВЛЕНИЯ . (109 ЛИНИИ)УПРАВЛЕНИЕКАНАЛОМУПРАВЛЕНИЕКАНАЛОМ11111212КАНАЛЫ ТЕЛЕФОННЫХ ЛИНИЙ ВЫСОКОСКОРОСТНЫЕ КАНАЛЫКАНАЛЫ ТЕЛЕФОННЫХ ЛИНИЙ ВЫСОКОСКОРОСТНЫЕ КАНАЛЫ131315册」15册」16 DJ-—<16 DJ-—<УПРАВЛЕНИЕУПРАВЛЕНИЕПАМЯТЬЮ 15ПАМЯТЬЮ 15ТРАНСЛЯТОРТРАНСЛЯТОРююИ 15 ПАМЯТЬЮИ 15 ПАМЯТЬЮ■■1616НИЦАМИ ДИСКАНИЦАМИ ДИСКА2828ФЕРРИТОВАЯ ПАМЯТЬФЕРРИТОВАЯ ПАМЯТЬ99flfl1515meme「32 I「32 IПАМЯТЬ ФАЙЛОВНА ДИСКЕПАМЯТЬ ФАЙЛОВНА ДИСКЕ云 IJ9) uh 5XSS wnsCHKUgvduA云 IJ9) uh 5XSS wnsCHKUgvduA3334351536 I 37mi3334351536 I 37miцентральный ПРОФЕССОРцентральный ПРОФЕССОРВОССТАНОВИТЕЛЬ ПАМЯТИВОССТАНОВИТЕЛЬ ПАМЯТИ15 fl16•о15 fl16•о545510545510гагаИнтерфейсный профессорИнтерфейсный профессор
ОСНОВНЫЕ ШИНЫ
ОСНОВНЫЕ ШИНЫ
УПРАВЛЕНИЕ
УПРАВЛЕНИЕ
ДАННЫХ И УПРАВЛЕНИЯ . (109 ЛИНИИ)
ДАННЫХ И УПРАВЛЕНИЯ . (109 ЛИНИИ)
УПРАВЛЕНИЕКАНАЛОМ
УПРАВЛЕНИЕКАНАЛОМ
11
11
12
12
КАНАЛЫ ТЕЛЕФОННЫХ ЛИНИЙ ВЫСОКОСКОРОСТНЫЕ КАНАЛЫ
КАНАЛЫ ТЕЛЕФОННЫХ ЛИНИЙ ВЫСОКОСКОРОСТНЫЕ КАНАЛЫ
13
13
15册」
15册」
16 DJ-—<
16 DJ-—<
УПРАВЛЕНИЕ
УПРАВЛЕНИЕ
ПАМЯТЬЮ 15
ПАМЯТЬЮ 15
ТРАНСЛЯТОР
ТРАНСЛЯТОР
ю
ю
И 15 ПАМЯТЬЮ
И 15 ПАМЯТЬЮ
■
■
16
16
НИЦАМИ ДИСКА
НИЦАМИ ДИСКА
28
28
ФЕРРИТОВАЯ ПАМЯТЬ
ФЕРРИТОВАЯ ПАМЯТЬ
9
9
fl
fl
15
15
me
me
「32 I
「32 I
ПАМЯТЬ ФАЙЛОВ
НА ДИСКЕ
ПАМЯТЬ ФАЙЛОВ
НА ДИСКЕ
云 IJ9) uh 5XSS wnsCHKUgvduA
云 IJ9) uh 5XSS wnsCHKUgvduA
33
34
35
15
36 I 37
mi
33
34
35
15
36 I 37
mi
центральный ПРОФЕССОР
центральный ПРОФЕССОР
ВОССТАНОВИТЕЛЬ ПАМЯТИ
ВОССТАНОВИТЕЛЬ ПАМЯТИ
15 fl
16
•о
15 fl
16
•о
54
55
10
54
55
10
га
га
Интерфейсный профессор
Интерфейсный профессор
Рис. 15. Более детальная блок-схема системы СИМВОЛ, показывающая конфигурацию регистров и основные функции каждого процессора.
1 —Очереди. 2 —Запуск системы и остановка. 3—-Управление вводом/выводом. 4—-Упра- вление страницами. 5 — Контроль времени. 6 — Контроль ошибок. 7 — Регистры данных. 8—Адресные регистры. 9 —Регистры связок. 10—-Общее, управление. 11 — Приемопередатчики телефонных линий. 12 —Высокоскоростные приемопередатчики. 13—Управление общим режимом. 14 —Управление высокоскоростным режимом. 15 —Данные. 16 — Адреса. 17—Синтаксический'"анализ. 18 —Управление стеком. 19— Управление компиляцией. 20 —Сканирование символов. 21 — Таблица имен и поиск в ней. 22 —Таблица зарезервированных слов и поиск в ней. 23 —Выдача страниц и их связывание. 24 —Создание групп и их связывание. 25 ——Управление таблицей страниц. 26 ——Контроль цикла. '27——Таблица ассоциативных страниц. 28 — Специальная логика интерфейса. 29 — 8192 слова, 64 разряда в слове. Цикл 2,5 мксек. 30-—Шины данных и адресов памяти. 31 —-[диск 800 страниц, 120 страниц в сек]. Фиксированные головки. 32 ——Управление передачами. 33 ——Ссылочный Процессор. 34 —Выдача простого адреса. 35 —Выдача адреса по индексу. 36 —Управление оптимизацией. 37 —Присваивание. 38 —Процессор Команд. 39— Выдача операнда. 40 —Выполнение выражения. 41 — Ввод/вывод. 42 —Управление блоками, 43 —Управление последовательностью выполнения. 44 —Общее управление и управление прерываниями. 45 —Арифмети* ческий и Форматный Процессоры. 46 —Сравнение. 47 — Упаковка/распаковка. 48 — Маска. • 49 —Формат. 50 —Управление точностью. 51 — Сложение/вычитание. 52-^Сумматор. 53—Умножение/деление. 54—Восстановление групп. 55—Восстановление страниц. 56—Управление выравниванием. 57 — Управление редактированием. 58 —Генерирование управляющих символов.
Три процессора работают совместно над редактированием текста. Управление Канала (УК) передает символы данных от устройств ввода/вывода в буферы ввода/вывода, находящиеся в главной памяти, и обратно. Когда УК обнаруживает управляющие символы в потоке ввода/вывода, он при помощи цикла обмена передает управляющую информацию в СС. УК является процессором, ориентированным на обработку символьной, информации, и может обслужить в режиме переключения до 32 процессоров. УК также имеет высокоскоростной (поблоковый) ре-
ПАМЯТИПАМЯТИпроцессорпроцессорОБЛАСТИ (ВРО)ОБЛАСТИ (ВРО)ТЕКУЩИМ "УКАЗАТЕЛЬТЕКУЩИМ "УКАЗАТЕЛЬУПРАВЛЕНИЕ КАНАЛОМУПРАВЛЕНИЕ КАНАЛОМПОТОК ВВОДА/ВЫВОДАПОТОК ВВОДА/ВЫВОДАБУФЕРЫ ВВОДА/ВЫВОДА В ГЛАВНОЙБУФЕРЫ ВВОДА/ВЫВОДА В ГЛАВНОЙРис. 16. Потоки информации в режиме ЗАГРУЗКА.Рис. 16. Потоки информации в режиме ЗАГРУЗКА.СУПЕРВИЗОР СИСТЕМЫСУПЕРВИЗОР СИСТЕМЫДАННЫЕДАННЫЕИнтерфейсныйИнтерфейсный-И<ХсПИС0К СТРАНИЦ,|И -^ВРЕМЕННОЙ РАБОЧЕЙ-И<ХсПИС0К СТРАНИЦ,|И -^ВРЕМЕННОЙ РАБОЧЕЙ(ПОМЕЩАЕТСЯ .В ВИРТУАЛЬНОМ ПАМЯТИ)(ПОМЕЩАЕТСЯ .В ВИРТУАЛЬНОМ ПАМЯТИ)
ПАМЯТИ
ПАМЯТИ
процессор
процессор
ОБЛАСТИ (ВРО)
ОБЛАСТИ (ВРО)
ТЕКУЩИМ "УКАЗАТЕЛЬ
ТЕКУЩИМ "УКАЗАТЕЛЬ
УПРАВЛЕНИЕ КАНАЛОМ
УПРАВЛЕНИЕ КАНАЛОМ
ПОТОК ВВОДА/ВЫВОДА
ПОТОК ВВОДА/ВЫВОДА
БУФЕРЫ ВВОДА/ВЫВОДА В ГЛАВНОЙ
БУФЕРЫ ВВОДА/ВЫВОДА В ГЛАВНОЙ
Рис. 16. Потоки информации в режиме ЗАГРУЗКА.
Рис. 16. Потоки информации в режиме ЗАГРУЗКА.
СУПЕРВИЗОР СИСТЕМЫ
СУПЕРВИЗОР СИСТЕМЫ
ДАННЫЕ
ДАННЫЕ
Интерфейсный
Интерфейсный
-И<ХсПИС0К СТРАНИЦ,|И -^ВРЕМЕННОЙ РАБОЧЕЙ
-И<ХсПИС0К СТРАНИЦ,|И -^ВРЕМЕННОЙ РАБОЧЕЙ
(ПОМЕЩАЕТСЯ .В ВИРТУАЛЬНОМ ПАМЯТИ)
(ПОМЕЩАЕТСЯ .В ВИРТУАЛЬНОМ ПАМЯТИ)
жим работы с приоритетами для обслуживания дисков и высокоскоростных устройств -магнитных лент. Поблоковый р^жим не используется в режиме загрузки и в нормальном режиме ввода/вывода. '
Интерфейсный процессор (ИП), работающий во взрывной манере, заполняет или разгружает буферы ввода/вывода и передает соответствующие символы в виртуальную память или в противоположном направлении. При выполнении своих функций ИП работает с текущим указателем текста. ИП выполняет функции для вставки, поиска и показа заданных частей текста, удаления заданных частей текста и перемещения текущего указателя. Основной поток информации во время режима загрузки подытожен на рис. 16. -
Оправданием для перенесения функций редактирования в аппаратуру послужило желание освободить ЦП от многих зала《, перегружающих систему. Кроме того, если бы УК пришлось связываться непосредственно с виртуальной памятью, то время ответа было бы неприемлемым. ИП был разработан для того, чтобы он осуществлял передачи между небольшими буферами и
страничной памятью. После того как для этой цели был создай специальный процессор, было обнаружено, что многие задачу редактирования и двойной буферизации могут быть решены п亜 тем использования той же самой аппаратуры передачи данных:;
Процесс, включающий взаимодействие ИП, УК и СС, можете быть использован как при подготовке данных в режиме загруз-:* ки, так и во время выполнения программы ввода/вывода. Пол-^ ный набор возможностей редактирования текста доступен для; любого оператора программы ввода. ;
Режим компиляции 1
Транслятор (ТР) осуществляет компиляцию программы и I редактирование связи адресов. ТР получает исходную строку, 1 написанную на входном языке, из ВРО или любой другой обла- | сти виртуальной памяти; где находится исходный текст. Язык |
ВРЕМЕННАЯ РАБОЧАЯ ОБЛАСТЬВРЕМЕННАЯ РАБОЧАЯ ОБЛАСТЬОБЪЕКТНАЯ СТРОКАОБЪЕКТНАЯ СТРОКАБИБЛИОТЕКА ПРОЦЕДУРБИБЛИОТЕКА ПРОЦЕДУРРис. 17. Потоки информации в режиме КОМПИЛЯЦИЯ.Рис. 17. Потоки информации в режиме КОМПИЛЯЦИЯ.
ВРЕМЕННАЯ РАБОЧАЯ ОБЛАСТЬ
ВРЕМЕННАЯ РАБОЧАЯ ОБЛАСТЬ
ОБЪЕКТНАЯ СТРОКА
ОБЪЕКТНАЯ СТРОКА
БИБЛИОТЕКА ПРОЦЕДУР
БИБЛИОТЕКА ПРОЦЕДУР
Рис. 17. Потоки информации в режиме КОМПИЛЯЦИЯ.
Рис. 17. Потоки информации в режиме КОМПИЛЯЦИЯ.
высокого уровня преобразуется в обратную польскую запись и ; структурную таблицу имен (идентификаторов). Польская запись,;《 называемая объектной строкой, и таблица имен могут быть за- j писаны в разные или в общий список страниц в виртуальной памяти. Поток информации в режиме трансляции в самом общем виде показан на рис. 17.j
ТР осуществляет однопроходную компиляцию, вырабатывая | объектную строку, по мере сканирования исходной строки. Во 曰
время сканирования программы по принципу блок за блоком он строит также и таблицу имен. В конце прохода исходного текста ТР вырабатывает таблицу имен и разрешает все глобальные ссылки путем создания соответствующих косвенных связей. Во время прохода по таблице имен создаются ссылки на внешние процедуры. Эти процедуры компилируются и включаются в соответствующие места объектной строки.
ТР находит внешние процедуры в библиотеке в их исходном виде и после компиляции включает их в объектную строку. В библиотеки процедур включены процедуры двух типов — привилегированные и непривилегированные. Привилегированные программы отличаются от обычных тем, что они могут содержать привилегированные операторы прямой работы с памятью, использующие операторы УП. Защита памяти осуществляется за счет проверки привилегированного статуса программ пользователя и программ, к которым они могут обращаться. Непривилегированные программы имеют высокую степень защиты по памяти как от других программ, так и от самих себя, благодаря аппаратному управлению памятью и алгоритмам центрального процессора. Программы, использующие привилегированные one- раторы, в какой-то мере теряют свою защищенность. Общей защиты памяти вполне достаточно для многотерминальной работы, так как существует контроль за выборкой привилегированных программ и методом их использования.
Режим выполнения
В этом режиме исполнительным устройством является Центральный Процессор (ЦП). Входными данными для него служат оттранслированная с исходного языка строка и таблица имен с учетом вложенных блоков. Так как ЦП работает с языком высокого уровня, а именно с объектной строкой обратной польской записи, то он использует для операндов стек магазинного типа. То есть при выборке данных осуществляется проход по всем косвенным ссылкам до точки, в которой находится адрес памяти, и затем прямая ссылка помещается в стек. Этот процесс продолжается до тех пор, пока в объектной строке не встретится оператор. Каждый оператор берет одну или две (одноместный или двуместный оператор) записи из верхушки стека, производит обработку и результат(ы) помещает в стек.
Обращение к подструктуре, или, что то же самое, выборка переменной по индексу в СИМВОЛе, является гораздо более трудоемкой задачей, чем в обычных системах-. Это происходит из-за исключительной динамичности и гибкости этих структур. В обычных системах выборка элемента вектора сводится к простому нахождению базы и индекс-регистра, содержимое которого определяется индексом переменной, и во время вьшод^^ния
программы просто делается адресная арифметика для того, что бы найти желаемый элемент. В СИМВОЛе нет возможности] взяв базовый адрес, произвести вычисление адреса из-за дина| мической природы распределения места в памяти, а также j потому, что логически последовательные данные не обязательна расположены в памяти последовательно. Отыскание точек, за# данных индексами, Ссылочный Процессор (СП) осуществляет: в основном методом сканирования, используя некоторые сред-> ства для ускорения поиска.
ЦП имеет и еще одно новшество. Все операции обработки^ производятся над данными переменной длины. Длина строки».,
ВВОДЕ/ВЫВОДЕВВОДЕ/ВЫВОДЕРис. 18. Потоки информации при выполнении программы.Рис. 18. Потоки информации при выполнении программы.ТАБЛИЦА ИМЕНТАБЛИЦА ИМЕНОБЪЕКТНАЯ СТРОКАОБЪЕКТНАЯ СТРОКА
ВВОДЕ/ВЫВОДЕ
ВВОДЕ/ВЫВОДЕ
Рис. 18. Потоки информации при выполнении программы.
Рис. 18. Потоки информации при выполнении программы.
ТАБЛИЦА ИМЕН
ТАБЛИЦА ИМЕН
ОБЪЕКТНАЯ СТРОКА
ОБЪЕКТНАЯ СТРОКА
над которой может быть произведена операция, ограничивается | только размером главной памяти. Обрабатываемые числа могут ? иметь мантиссу длиной до 99 знаков (внутреннее представле- j ние — это нормализованные десятичные числа с плавающей за- | пятой). Более того, при помощи регистра ограничения можно । задать количество разрядов числа, которое будет обрабатывать- | ся. Существует и указатель точности, влияющий на метод вы- | числения. Обработка чисел, помеченных знаком ЕМ (EMpirical— 'I эмпирическое), ограничивается тем количеством знаков мантис- J сы, которое содержится в числе, если только на регистре огра-冃 ничения не установлена еще меньшая величина. 彳
Поток информации для Центрального Процессора показан 中 на рис. 18. ЦП подразделяется на четыре отдельные части: Про- 4 цессор Команд (ПК), Ссылочный Процессор (СП), Арифмети-《 ческий Процессор (АП), Форматный Процессор (ФП). Как по-鼻
казано на рис. 15, у ЦП есть общие управляющие шины, которые используются для управления различными процессорами во время исполнения программы. В следующих четырех разделах дается функциональное описание каждого из процессоров, входящего в ЦП. -
Процессор Команд
Процессор Команд (ПК) —это основная управляющая и переключающая часть ЦП. В задачу ПК входит сканирование объектной строки и накапливание в стеке единиц информации для различных устройств, которые он обслуживает. Например, если во время накопления операндов для обрабатывающего устройства обнаружится, что требуется какое-либо преобразование типа данных, то ПК запрашивает ФП для проведения преобразования. Подобным же образом ссылка на структуру и все ее индексы вычисляются и помещаются в стек, который затем передается СП для обработки.
ПК также подготавливает данные для присваивания, которое производит СП, и данные для вывода на устройства ввода/вы- вода. В первом случае ПК помещает в стек ссылку присваивания и данные, а во втором случае помещает данные в стек и возвращает управление системе.
Динамическое создание вложенных языковых блоков ——еще одна важная функция ПК. Если это понятие незнакомо читателю, то отсылаем его к статье о языке СИМВОЛ [3]. Коротко, блоки — это языковые конструкции, состоящие из программных сегментов, заключенных между зарезервированными словами BLOCK и END (PROCEDURE и ON также создают блоки). Внутри блока все использования идентификатора локальны по отношению к этому блоку, если только нет оператора GLOBAL, и поэтому для каждого блока создается своя таблица имен. Общая структура таблицы имен имеет как статическую сторону, определяемую тем, как написана программа, так и динамическую сторону, определяемую тем, в каком порядке блоки выполнялись. Это последняя из особенностей программы, которой мы касаемся в данном описании. Как только ПК встречает новый блок, обработка старого блока- приостанавливается и вся информация об этом блоке, которая должна быть сохранена для последующей активизации блока (иногда ее называют записью активизации), отправляется в стек. После этого формируются новый стек и его запись активизации на верхушке старого стека. Конечно, новая запись должна содержать - ссылку на старую запись, для того чтобы после окончания нового блока можно было восстановить старый блок вместе с информацией о его состоянии.
Дополнительные трудности возникают, если встречаются процедурные блоки, из-за того, что приходится устанавливать
соответствие между фактическими и формальными параметрам^ : (снова см. статью [3]). ПК передает из объектной строки в стек ссылки на фактические параметры и выбирает таблицу имен нового блока, в первых строках которой находятся формальные параметры. Затем ссылки на фактические параметры одна задругой помещаются в строки формальных параметров таблицы имен. На этом связывание параметров заканчивается, и остальные действия для процедуры выполняются так же, как и 区力号 обычного блока. Когда ПК встречает в таблице имен строку* помеченную как формальный параметр, он при помощи косвенной адресации вызывает на ее место фактический параметр, который может быть переменной, константой, меткой, литералом, процедурой или выражением, но не может быть оператором. Механизм косвенной адресации используется и при работе с этим стеком ПК. В стек помещается очень небольшое количество информации о состоянии. В основном это адрес объектной строки, указывающий, в каком месте было приостановлено ее выполнение. После этого исполняется новая объектная строка фактического параметра, которая пользуется стеком до тех пор, пока не встретится оператор возврата, указывающий на конец строки фактического параметра. Тогда восстанавливается предыдущее состояние, информация о котором хранилась в стеке, и продолжается исполнение прерванной объектной строки, при котором используются результаты, получившиеся после выполнения строки формального параметра и находящиеся на вершине стека.
Ссылочный Процессор
Основной задачей СП является работа со структурами. Дополнительно на него возложена работа по выборке из таблиц имен ПК адресов единиц информации. А именно, встретив в объектной строке адрес, ПК передает его СП вместе с запросом 《найти простой адрес». СП производит некоторые действия, зависящие от типа идентификатора. Если единица данных уже существует, то СП выдает адрес данного вместе с кодом, определяющим его тип. Если этого данного еще нет, то СП, перед тем как выдать адрес, сначала отводит для этого данного место в памяти. Подобным же образом СП выдает ссылки' на метки и* процёдуры, а если какие-нибудь идентификаторы оказываются глобальными, то он, прежде чем вернуть ссылку, прослеживает на требуемую глубину глобальные косвенные ссылки. Любые аномалии в таблице имен приводят к тому, что выдается сообщение об ошибке.
Задача работы со структурами может быть разбита на две части: создание структур и подструктур и создание ссылок на точки подструктуры. Напомним, что структуры динамически изменяются по всем своим характеристикам. Поэтому при созда-
нии структур имеется два дополнительных этапа: создание базовых структур и перестройка подструктур. Дополнительно для ссылки на подструктуру в языке имеется возможность индексации символов. В этом случае последним индексом может быть «граничная пара》индексов, которая указывает начальную точку и количество символов подполя в поле, заданном предыдущими индексами.
СП строит структуру из ее линейного представления, находящегося в стеке ПК. СГ1 должен записать эту структуру в память, заменяя ее линейную форму на иерархическую со ссылками в верхнем уровне на элементы более низкого уровня (см. рис. 10, И и 13). Это преобразование происходит следующим образом. СП отводит новую группу памяти каждый раз, когда встречается новый левый знак группы, и, отведя строку для новой группы в группе более высокого уровня, заполняет группу элементами, сохраняя ссылку на группу более высокого уровня в своем собственном стеке групповых ссылок. Всякий раз, когда в стеке ПК встречается правый знак группы, текущая группа памяти закрывается пометкой «конец вектора» и из стека групповых ссылок выбирается следующая позиция группы памяти более высокого уровня. Этот процесс продолжается до тех пор, пока не будет исчерпана вся структура, находящаяся в стеке ПК, и в результате не будет получена иерархическая структура со ссылками.
Таким же образом осуществляется привязывание новой структуры к существующей точке подструктуры. Старая структура уничтожается (занимаемое ею место в памяти будет позднее обработано Восстановителем Памяти), и новая линейная структура, находящаяся в стеке, структуризуется и привязывается к соответствующей точке подструктуры. Разрешаются все комбинации замены: структура на структуру, поле на поле, структура на поле и поле на структуру. Во втором случае, когда поле заменяется на поле, могут возникнуть сложности в том случае, если новое поле больше, чем старое, так как это ведет к расширению вектора (в противном случае свободное место заполняется нулями). Простое решение, заключающееся в создании неиерархической ссылки на новое место в памяти, не дает хорошего результата, если одно за другим расширяются последовательные слова большого вектора. Решение состоит в том, чтобы использовать новую группу памяти только после того, как будет установлено, что в текущей и последующей группах не осталось необходимого свободного места, а после выдачи новой группы памяти излишек, получившийся в результате расширения, переписать целиком на новое поле. В этом случае при расширении многих полей вектора используется заново отведенное место в памяти.
Общий алгоритм хождения по структуре заключается в том汽 что СП просматривает стек ПК в обратном порядке, пока найдет ссылки на структуру, и затем движется вперед последо-1 вательно по каждому индексу, выбирая каждый вектор и ис-| пользуя соответствующие методы ускорения, пока не дойдет до | последнего индекса. В этой точке СП заменяет индексирован- J ную ссылку в стеке УП на простую ссылку, которая указывает • на подструктуру или на поле, если был достигнут уровень дан-' ных. При обработке индексированной ссылки по предварительно^ построенной структуре в любой точке может оказаться, что структура не распространяется до точки, на которую указывает : ссылка (ошибка по диапазону индексации). Правила языка в этом случае предусматривают, что должно быть отведено новое место, которое требуется, чтобы реализовать структуру до точки, на которую указывает значение индекса (промежуточные свободные поля заполняются нулями). Эта работа выполняется СП.
Если после задания ссылки на структуру до уровня поля в стеке ПК встречается граничная пара индексов, то СП, сканируя поле, выбирает нужные символы в заданном количестве и、 помещает результат в стек ПК. В этом случае, если граничная пара встретилась раньше, чем был достигнут уровень поля, фиксируется ошибка.
Арифметический Процессор
АП — это устройство последовательной обработки данных переменной длины, представляющих собой десятичные нормализованные числа с плавающей запятой. Последовательность выполнения операций ——от старших разрядов к младшим. Такой порядок выполнения операций упрощает обработку данных, так как позволяет использовать сходные операции над регистрами как для строк, так и для чисел. Кроме того, в этом случае операция сравнения выполняется быстрее, так как результат определяется по первому несовпадению цифр. Аппаратура обработки обладает еще двумя важными свойствами: есть регистр ограничения, загружаемый ПК по командам языка и завершающий обработку при достижении заданной точности, и есть указатель точности, который может быть в каждом операнде и определять его действительную точность и таким образом управлять точностью результата.-
Процессором выполняются операции сложения, вычитания, умножения и деления. При сложении и вычитании один или два операнда проходят через устройство (от старших разрядов к младшим) до тех пор, пока их порядки не выравниваются, и с этого момента оба операнда начинают следовать через устрой-
ство синхронно. Так как число есть величина со знаком, то по комбинации знаков операндов и знака операции нужно принять решение, какой из операндов, если в этом есть необходимость, подавать в дополнительном коде. Из-за того, что арифметические операции выполняются последовательно, начиная со старших разрядов, требуется счетчик девяток [10], который задерживает выход строки девяток до тех пор, пока не станет известно, будет перенос или нет. В конце концов либо встретится эмпирический конец операнда, либо будет достигнута величина, заданная на регистре ограничения, либо оба точные числа исчер* паются. В этом месте работа АП заканчивается и управление возвращается ПК.
Умножение выполняется как ряд последовательных сложений или вычитаний со сдвигом, до тех пор пока не окончатся разряды множителя. Только после того, как будет получена полная трапеция всех частных произведений, производится округление для достижения заданной точности. Если цифра множителя, на которую производится умножение, больше чем четыре, то производится ускоренное прибавление единицы к предыдущей цифре множителя и вычитание из частичного произведения. Конечно же, при умножении (и делении) порядки складываются (вычитаются) и никакого сдвига мантиссы не требуется. Деление выполняется как ряд последовательных вычитаний без восстановления остатка до тех пор, пока точность результата не станет равна точности менее точного из двух операндов или со держимому регистра ограничений. .
Так как обработка в этой системе проводится последовательно в десятичной форме с не слишком эффективными методами ускорения, то скорость обработки сильно зависит от размера операндов. Когда в счетчик ограничений заслана небольшая величина, скажем 5, обработка может быть очень быстрой, но деление 99-разрядных тасел идет крайне медленно. Поэтому важно, чтобы пользователь выбирал точность, не превышающую той, которая ему нужна.
Сравнение чисел выполняется в АП как операция вычитания, но оканчивается она, как только будет обнаружено несовпадение, и в качестве результата будет отправлен нуль. В задачу ПК входят комбинирование результата, возвращенного из АП, с заданной операцией сравнения и выработка конечного результата для стека ПК.
Форматный Процессор
Устройство ФП осуществляет операцию СЦЕПЛЕНИЯ (JOIN) строк, двоичные операции над строками И (AND), ИЛИ (OR), НЕ (NOT), операции сравнения строк ДО (BEFORE), TQ
ЖЕ (SAME), ПОСЛЕ (AFTER), операции ФОРМАТ (FORMAT) и МАСКА (MASK), а также автоматическое преобразование типов операндов, необходимое для ПК: число в строку, строку в число и число в целое (используемое в основном при индексации). Все эти операции так же выполняются последовательно. Операция СЦЕПЛЕНИЯ очевидна. Она приписывает второй операнд к концу первого, образуя в результате единый операнд.
Двоичные операции выполняются посимвольно, с применением заданной операций, в результате чего получаются символы О или 1. Более короткий операнд дополняется нулями.
Операция сравнения строк также выполняется посимвольно. Символы сравниваются последовательно до тех пор, пока не будет обнаружено несоответствие (порядок символов определяется ASCII, и в результате возвращается либо 0, либо 1.)
Операции ФОРМАТ и МАСКА представляют собой мощное средство работы со строками для широкого круга применений, начиная от подготовки платежных ведомостей и банковских форм и кончая операциями в системе программного обеспечения для символьных преобразований. Операция ФОРМАТ преобразует упакованное число в строку, так что позволяет пользователю описать формат результата в виде наглядной строки символов. Операция выполняется последовательно в соответствии с видом операндов. Стандартное преобразование из упакованной числовой формы в строку по умолчанию является частью операции ФОРМАТ. Операция МАСКА аналогична операции ФОРМАТ с той разницей, что происходит преобразование из строки в строку. МАСКА может быть использована для вставки и выбрасывания символов и для управления разрядкой (пробелы). Она часто используется для управления длиной поля и ее измерения. И при этой операции символы обрабатываются последовательно.
СУПЕРВИЗОР СИСТЕМЫ
Нагрузка, компиляция, исполнение и ввод/вывод представляют собой основные режимы обработки в системе. Для терминалов существуют три дополнительных режима работы: автономный, холостой оперативный и режим нормального окончания. Все эти режимы пассивные и различаются только тем, какие операторы изменения состояния могут быть выданы в них по прерыванию. Например, состояние нормального окончания является единственным состоянием, в котором может быть выполнена команда НАЧАТЬ ЗАНОВО (RESTART). НАЧАТЬ ЗАНОВО может быть выполнена только в том случае, если объектная строка осталась в состоянии, допускающем ее повторное использование.
На рис. 14 показано несколько переходных состояний терминала. Важно, что все переходные состояния поддерживаются аппаратными алгоритмами. Когда СС получает управляющий код, соответствующий оператору ВЫПОЛНИТЬ (RUN), то переход из режима загрузки в режим компиляции может произойти без вмешательства программного обеспечения. Есть много других переходных состояний, но они, как правило, требуют взаимодействия с программным обеспечением системы. Переход из режима
НАЧАЛО ОЧЕРЕДИНАЧАЛО ОЧЕРЕДИКОНЕЦ ОЧЕРЕДИКОНЕЦ ОЧЕРЕДИРис. 19. Типичная структура очереди задач.Рис. 19. Типичная структура очереди задач.
НАЧАЛО ОЧЕРЕДИ
НАЧАЛО ОЧЕРЕДИ
КОНЕЦ ОЧЕРЕДИ
КОНЕЦ ОЧЕРЕДИ
Рис. 19. Типичная структура очереди задач.
Рис. 19. Типичная структура очереди задач.
загрузки в режим компиляции включает в себя следующие шаги. В случае если ИП находится в активном состоянии, ему должна быть предоставлена возможность закончить работу, чтобы исходная строка ввелась полностью. Задача затем удаляется из очереди в ИП и передается в очередь к ТР. Кроме того, в управляющие таблицы, находящиеся в главной памяти, засылаются начальные значения, что делает доступным для ТР адрес начала исходной строки и адреса библиотек процедур, которые будут использоваться^
Типичная очередь задач показана на рис. 19. Она состоит из связанного списка записей (управляющих слов). Очередь имеет два указателя ——один на начало и другой на конец списка. При помощи этих указателей легко добавлять позиции как к началу? Так и концу очереди. * '
Каждый раз при возникновении управления переходным про粛 цессом СС производит соответствующие действия по добавляя нию и выбрасыванию, обновляя очереди к каждому устройству^ участвующему в работе. Это часть первой фазы работы СС поЯ обработке любой задачи. Вторая фаза работы СС включает себя распределение работ по свободным процессорам, которые! имеют в своих очередях соответствующие задачи.扌
Алгоритм многопроцессорной обработки в основном вклю-1 чает в себя работу с очередями к ЦП, ТР, ИП, ВЦ и УД и ис- $ пользование этих очередей. В СС имеется универсальный про- J цессор для работы с очередями, который позволяет добавлять $ в начало или конец или выбрасывать записи из любой очереди.^
ПРЕРЫВАНИЕ * ПО ВЫХОДУОКОНЧАНИЕ ВВОДА/ВЫВОДАПРЕРЫВАНИЕ * ПО ВЫХОДУОКОНЧАНИЕ ВВОДА/ВЫВОДАРЕЖИМРЕЖИМСТАРТСТАРТИВЫПОЛНЕ-ИВЫПОЛНЕ-НИЯНИЯВЫХОДВЫХОДОТСУТСТВИЕ СТРАНИЦЫОТСУТСТВИЕ СТРАНИЦЫНОРМАЛЬНОЕ ОКОНЧАНИЕ1
ПРЕРЫВАНИЕ * ПО ВЫХОДУ
ОКОНЧАНИЕ ВВОДА/ВЫВОДА
ПРЕРЫВАНИЕ * ПО ВЫХОДУ
ОКОНЧАНИЕ ВВОДА/ВЫВОДА
РЕЖИМ
РЕЖИМ
СТАРТ
СТАРТ
ИВЫПОЛНЕ-
ИВЫПОЛНЕ-
НИЯ
НИЯ
ВЫХОД
ВЫХОД
ОТСУТСТВИЕ СТРАНИЦЫ
ОТСУТСТВИЕ СТРАНИЦЫ
ОШИБКА ОБРАБОТКИ ВЫЗОВ СУПЕРВИЗОРА
Рис. 20. Переходные состояния Центрального Процессора.
Алгоритм имеет режим отказа, который целиком реализуется 1 аппаратурой. Различные параметры, влияющие на динамику pa- J боты, могут быть установлены программным обеспечением. На-司 пример, для каждой записи в очереди к ЦП имеется два счет- 3 чика времени. Один из них измеряет общее время обработки,』 а второй измеряет действительное время нахождения задачи на 3 вершине очереди. Величины, устанавливаемые на эти счетчики, j задаются как параметры при установке задачи в очередь. Когда - эти величины уменьшаются до нуля, генерируется задача СС, $ которая обеспечивает изменение очередей. В большинстве с л у- J
чаев это приводит к тому, что задача из позиции с высоким при- .^ оритетом вблизи начала очереди перемещается в позицию с нмз•斗 ким приоритетом вблизи конца очереди.
Для пояснения общих принципов распределения работ в 1 системе на рис. 14 в сильно упрощенном виде показана последо- f вательность обработки в системе. На рис. 20 показаны управ-, ляющие команды, получаемые и выдаваемые Центральным Про- | цессором. СС может приказать ЦП начать задачу или прекра- 1 тить работу с ней- Как видно, ЦП может прекратить обработку ¥
данной задачи по одной из шести основных причин. Рассмотрим окончание ввода/вывода. В основном при управлении вводом/вы- водом для большинства терминалов достаточно аппаратного алгоритма. С другой стороны, если желательно, чтобы терминал работал в режиме пакетной обработки с устройством ввода/вывода боббинного типа, то в этом случае необходимо, чтобы управление вводом/выводом былд передано процедуре программного обеспечения системы. Для вывода программного обеспечения терминал, требующий обслуживания ввода/вывода, должен установить специальный управляющий разряд в управляющем
Рис. 21. Механизм вызова программного обеспечения по прерыванию изменения состояния.
слове терминала для этого канала. Тогда в СС автоматически возникает вызов программного обеспечения.
Вызов программного обеспечения в СИМВОЛе осуществляется запуском псевдотерминала, использующего в качестве параметра номер требуемого канала. Таким образом управляющие таблицы заголовка запрашиваемого канала могут быть обработаны как данные. Это показано на рис. 21, где прерывание специального класса приводит к выбору нужной программы, которая определяется по таблице вызова программного обеспечения. Управление передается псевдотерминалу с параметром TN. Различные классы прерываний размещены в различных управляющих словах таблицы управления программного обеспечения. Поэтому только необходимые процедуры программного обеспечения будут выбираться в виртуальную память. В СИМВОЛе через таблицу управления программным обеспечением, расположенную в конце главной памяти, может быть вызвано свыше 80 программных прерываний В этом и заключается основа интерфейса между аппаратурой и программным обеспечен нием, '
ЗАКЛЮЧЕНИЕ а
Традиционная граница между аппаратурой и программным обеспечением за последние десять лет была во многом нарушена, и в дальнейшем этот процесс будет идти еще интенсивней. Мы верим, что СИМВОЛ является важным шагом на пути к созданию аппаратуры, обладающей большими возможностями.
Система СИМВОЛ сейчас находится в той фазе, когда ее каждодневное использование позволяет оценить систему всесторонне и выявить ее сильные и слабые стороны. Разработчикй уже смогли оценйть достоинства выбранных принципов. Общий подход к организации и управлению памятью можно рассматривать как очень важный шаг вперед. Перемещение атрибутов данных из команд к данным можно считать принципиальным.
Мы не утверждаем, что система СИМВОЛ оптимально сбалансирована по отношению к производительности и использованию аппаратуры. В некоторых критических местах управления и распределения памяти, а также при распределении ресурсов системы полученная эффективность в 10—100 раз выше обычной. Некоторые аспекты работы со структурами являются большим достижением по сравнению с процессорами, работающими с программными списками, но такого преимущества нет, когда идет обращение к некоторым типам больших массивов. Многие недостатки первой модели СИМВОЛа были обнаружены слишком поздно, чтобы усовершенствования могли быть включены в существующую аппаратуру. Многие другие качества системы, такие, как страничная организация памяти и алгоритмы распределения ресурсов в системе, могут быть оценены только после накопления достаточного опыта в процессе эксплуатации системы.
Специалисты в области вычислительной техники в течение многих лет спорили по вопросам: Можно ли сделать аппаратный компилятор? Может ли сердце системы, ее супервизор, быть зафиксирован в аппаратуре? Может ли аппаратура заниматься управлением и распределением памяти данных? Можно ли разработать аппаратуру, которая -взяла бы на себя основные функции программного обеспечения? Можно ли отладить сложную аппаратуру? С запуском системы СИМВОЛ на эти и многие другие вопросы получен положительный ответ. Самое большое значение всего проекта состоит в том, что общие понятия представлены в виде полномасштабной работающей машины.
Кроме авторов этой статьи, многие другие сотрудники принимали участие в разработке некоторых вопросов системы СИМВОЛ. Решающими факторами в завершении системы были дух сотрудничества и преданность, продемонстрированные на про тяжении всей разработки проекта всеми членами коллектива. *
Авторы хотят поблагодарить Джорджа Пауэрса, Стенли Мейзера и Рассела Бриггса за их участие в разработке аппаратуры, а также Гамильтона Ричардса и госпожу Хилму Мортелл за их участие в начальной стадии разработки программного обеспечения.
ЛИТЕРАТУРА
Rice R., Smith W. R., SYMBOL: A major departure from classic software dominated von Neumann computing systems, Proc. AFI PS, 38 (1971) SJCC.
Mazor S., Programming and/or logic design, Digest of the 1968 Computer Group Conference June 1968 Los Angeles.
Chesley G. D., Smith W. R., The hardware-implemented high-lvel machine language for SYMBOL, Proc. AFIPS, 38 (1971) SJCC.
Cowart В. E., Rice R., Lundstrom S. F., The physical attributes and testing aspects of the SYMBOL system, Proc. AFI PS, 38 (1971) SJCC.
Smith W. R., System design based on LSI constraints: A case history, Digest of the 1968 Computer Group Conference June 1968 Los Angeles.
Kilburn T., One-level storage system, IRE Transactions on Electronic Computer, EC-11, № 2 (April 1962).
Glaser E. L., Couleur J. F., Oliver G. A., System design of a computer for time sharing applications, Proc. AFIPS, 27, part 1, 1965 FJCC.
Corbato F. J., Vyssotsky V. A., Introduction and overview of the maltics system, Proc. AFIPS, 27, part 1, 1965 FJCC.-
Smith W. R., Associative memory techniques for large data processors, PhD Dissertation Iowa State University, 1963.
Mullery A. P., Schauer R. F., Rice R., ADAM: A problem-oriented symbol processor, Proc. AFIPS, 23 (1963) SJCC.,
Вопросы информационного поиска
Автоматический анализ текстови поиск документов)
'Джерард Сэлтон
ЛИНГВИСТИКА И ОБРАБОТКА ИНФОРМАЦИИЯ
В результате многих лет работы специалисты в области вы-Я числительной лингвистики и автоматической обработки текстов才 пришли к убеждению, что наиболее трудные проблемы, возни-團 кающие в этих областях, по-видимому, не могут быть решены Я без привлечения мощных средств лингвистического анализа. Та^Я ким образом, широко распространено убеждение, что первооче-Я редкой задачей должно стать изучение структурных и семан- Я тических свойств естественного языка в надежде достичь такого j их понимания, которое привело бы к решению наиболее трудных Я проблем автоматической обработки текстов [1, 2]. К сожалению,Я как отмечают Пекак и Пратт, вероятность достичь в обозримом 1 будущем необходимой степени владения структурными свой- 1 ствами естественного языка очень мала, так как «до сих пор | явно видны очень существенные недостатки в автоматическом* 1 анализе текстов; все существующие системы и/или модели малы 1 и ориентированы на решение некоторой ограниченной задачи...;寸 нет систем, рассматривающих весь язык, а не некоторое его под-才 множество...; очень мало таких систем, в которых делается по- | пытка выйти при анализе за границы предложения...; все упо- | мянутые теоретические подходы в значительной степени носят | предварительный характер» [3].|
Таким образом, складывается довольно тяжелое положение: J с одной стороны, говорится, что для решения задач, возникаю- | щих при обработке текстов на естественном языке, необходимо 1 лучшее понимание синтаксиса и семантики языка; с другой стороны, перспектива достижения такого понимания, которое дол- ^ жно обеспечить значительные и быстрые успехи вычислительной | лингвистики, является отдаленной.|
Однако при детальном рассмотрении различных задач авто-, матической обработки текстов становится ясно, что несколько.: преждевременно предсказывать полный провал при решении : этой задачи. Во-первых, разнообразны применения методов ав-: тематической обработки текстов, которые отличаются по слож-《 ности и объему задач. Во-вторых, нет никаких оснований пола- 1
Salton G., Recent studies in automatic text analysis and document retrie: val, /. of the Ass. for Comp, Mach. 20, № 2 (1973).
гать, что недостающие средства лингвистического анализа не могут быть чем-либо заменены. .
Тогда, возможно, стоит подойти к решению некоторых задач автоматической обработки текста, возникающих при информационном поиске, пытаясь использовать либо экстралингвистиче- ские процедуры, не опирающиеся на структуру и семантику предложения, либо простые лингвистические средства, с помощью которых можно устранить наиболее неприятные осложнения. Эти два пути исследуются ниже.
УПРОЩЕННЫЙ АНАЛИЗ ТЕКСТА
Первый подход к проблеме анализа текста состоит в том, чтобы оставить в стороне многие из трудностей, относящиеся к области семантики, например многозначность слов, распознавание синонимов, рассмотрение знаков пунктуации, интерпретацию анафорических, эллиптических и идиоматических конструкций, проблему косвенных ссылок, анализ связного текста в пределах абзаца или большего отрезка текста и т. п. Вместо этого особое внимание уделяется структурным свойствам языка.
К сожалению, существующие программы синтаксического анализа не так уж удобны для использования, поскольку не для каждого предложения получается единственный правильный результат анализа. Однако существующие анализаторы, которые представляют предложение в виде так называемых «непосредственных составляющих», с достаточной точностью находят в тексте определенные словосочетания, такие, как именные, предложные группы, группы вида «подлежащее — сказуемое ——дополнение». Поэтому некоторые исследователи делали попытки включить программы выделения простых словосочетаний в программы, предназначенные для автоматического индексирования или реферирования текстов [4——7]. Эти программы можно использовать многими способами. Чаще всего процесс автоматического индексирования складывается из следующих шагов [4]:
Сначала из текста выделяются отдельные слова.
Отождествляются некоторые синтаксические категории, такие, как определения, предлоги, подчинительные союзы.
Образуются словосочетания, представляющие собой цепочку слов/ начинающуюся с одной из уже определенных синтаксических категорий, например с предлога или относительного местоимения, и заканчивающуюся перед началом следующей уже определенной синтаксической категории.
Устанавливаются связи между элементами различных словосочетаний; главным образом находятся антецеденты определенных местоимений и хозяева предложных групп.
Словосочетания, обладающие определенными структурными свойствами, рассматриваются как идентификаторы ^одер-
жания, причем к ним относятся главным образом существительные и прилагательные с некоторыми определенными предло、 гами.
Было проделано несколько экспериментов по оценке систем автоматического индексирования, которые содержали процедуры, аналогичные вышеописанным. Вообще говоря, оказывается, что значительная часть выражений, выделенных автоматически, была бы выбрана и человеком, перед которым стояла бы та же задача [8]. С другой стороны, если сравнить алгоритм выделения словосочетаний, в котором используется упрощенный синтаксический анализ, с другими, более простыми методами анализа содержания, куда не входит ни синтаксический, ни семантический компонент, получается удивительная вещь, а именно: без использования синтаксического компонента получаются в среднем лучшие результаты, чем при его использовании. Например, Клевердон пишет в [9]: «Крэнфилдский эксперимент показывает, что унитермные языки индексирования превосходят языки любого другого типа...; языки индексирования, в которых используются словосочетания, оказались слишком специфичными для текстов на естественном языке». -
Неудачу, которая постигла исследователей, когда они пытались применить простые средства синтаксического анализа при информационном поиске, можно объяснить следующими соображениями. Самое очевидное — это неудачный выбор анализатора, который выделяет словосочетания. Возможно, что не были выделены многие нужные словосочетания, в то время как выделенные словосочетания могли ничего не давать для анализа содержания. Во-вторых, в системах, рассчитанных на разнородный состав потребителей, нецелесообразно слишком подробно описывать содержание документа; в частности, менее точное описание содержания документа с помощью отдельных понятий могло больше соответствовать интересам потребителей, чем более подробное описание с помощью словосочетаний, поскольку довольно трудно учесть заранее интересы всех потребителей. Наконец, большинство систем, оценивающих результаты работы ИПС, используют критерии эффективности, усредненные по многим запросам. Тогда ситуация, при которой достигается эффективность, большая, чем средняя, могла оказаться более предпочтительной, чем ситуация, при которой одни потребители дают системе очень высокие оценки, а другие — очень низкие.
Так или иначе, в результате рассмотрения имеющихся результатов, вероятно, можно было бы сделать вывод о том, что существующие алгоритмы анализа текста, которые можно использовать в системах автоматической обработки текстов, не дают результатов, которые оправдывали бы усилия, затраченные на их разработку и внедрение. Полный анализ текста не・
возможен сейчас, потому что нет еще необходимого для этого понимания структуры языка; простые же методы анализа, опирающиеся на синтаксис, не дают достаточно хороших результатов. .
Остается только выяснить, можно ли ^воспользоваться какими-либо нелингвистическими, машинными средствами, способными в какой-то степени восполнить пробел в наших знаниях о языке, а также пригодными для выполнения интеллектуальной работы, осуществляемой человеком при вводе документов. Этот вопрос исследуется в следующем разделе статьи.
СРАВНЕНИЕ РУЧНОГО И АВТОМАТИЧЕСКОГО СПОСОБОВИНДЕКСИРОВАНИЯ
За многие годы накопилось большое количество материалов, отражающих результаты сравнения автоматического и ручного методов индексирования [8—18]. Если рассматривать ключевые слова, выделенные автоматически, то оказывается, что в 60—80% случаев они совпадают с терминами, вручную приписываемыми специалистом в рассматриваемой предметной области. Более того, результаты поиска, проведенного по документам, заин- дексированным автоматически, в среднем не отличаются значительно от результатов, полученных в случае обычного, ручного индексирования. Как указывает Свонсон [18]: «Если от машин можно ждать, по-видимому, только частичного успеха в индексировании документов, ... то от людей не следует ожидать даже этого».
Именно для того, чтобы выяснить, могут ли полностью автоматические методы обработки текста соперничать в эффективности с обычными поисковыми операциями, осуществляемыми людьми, а также для того, чтобы найти автоматические методы, наиболее перспективные в этом отношении, в течение нескольких последних лет были проведены эксперименты по сравнению информационно-поисковой системы MEDLARS, работающей в Национальной медицинской библиотеке в Вашингтоне, с экспериментальной системой SMART.
В системе MEDLARS осуществляются обычные операции индексирования: всем поступающим документам и запросам специалисты в определенной предметной области приписывают ключевые слова, или термины, используемые при индексировании [19]. Список употребляемых при этом слов контролируется с помощью опубликованного тезауруса, известного под названием Mesh (Medical Subject Headings). Поиск осуществляется путем сравнения списка ключевых слов, приписанных данному доку* менту, с запросом, представленным в виде булевой формулы, состоящей из терминов. Точнее, в ответ на соответствующий за-
прос выдаются все те документы, которые содержат в свое峨 описании подходящую комбинацию ключевых слов, в то время как^ документы, не содержащие этой комбинации, остаются в памяти: машины. Как и в любой ИПС, использующей ключевые слова; процесс поиска просто разделяет все документы на два множества —выданные документы и нёвыданные документы. Не делается никакого разбиения документов по рангам ни для выданных документов, ни для оставшихся, поэтому потребитель, по всей вероятности, не имеет никакого удобного способа выделения наиболее полезных для него документов среди потенциально очень большого массива выданных документов.
Напротив, система SMART работает без какого бы то ни было анализа содержания документа, осуществляемого вручную [20, 21]. Какие-то части текста документа, отражающие его содержание, —обычно рефераты — вместе с текстами запросов вводятся в машину. Затем работают алгоритмы автоматического анализа текста, в результате работы которых для каждого документа и запроса получается некоторый «вектор понятий», содержащий термины, или понятия, которые отражают содержание документа, вместе с приписанными им весами. Обычно для описания некоторого документа используется около 100 различных понятий. Затем идет сравнение векторов запроса и документа, при этом для каждой пары документ ——запрос вычисляется коэффициент близости, или коэффициент корреляции. Потребителю документы выдаются в порядке уменьшения соответствующих коэффициентов близости. Таким образом, потребитель может взглянуть, например, только на первый выданный документ—этот документ считается наиболее релевантным запросу—или на первые 5—10 документов.
Для оценки эффективности автоматических способов обработки текста, применяемых при информационном поиске, особенно уместно сравнить между собой системы SMART и MEDLARS по следующим соображениям. Система MEDLARS представляет собой широко известную ИПС с общепринятыми методами поиска, которая действует уже много лет и оперирует несколькими сотнями .тысяч документов. В системе же SMART применяются автоматические средства анализа текста и итеративный поиск, контролируемый потребителем, т. е. делается попытка заставить машину выполнять интеллектуальную работу по вводу документов, которую делают обычно опытные индексаторы и документалисты. Таким образом, эти две системы особенно ярко отражают тот уровень, который достигнут в этих двух направлениях.
В последующих разделах описывается организация экспериментов по сравнению систем SMART и MEDLARS, а также приводятся основные полученные результаты.
ЭКСПЕРИМЕНТЫ ПО СРАВНЕНИЮ СИСТЕМSMART И MEDLARS
4J. Введение
Если мы хотим, чтобы результаты, полученные в ходе эксперимента, можно было считать достоверными, необходимо поставить обе рассматриваемые системы в одинаковые условия, а также снабдить систему SMART теми же операционными характеристиками, которые присущи системе MEDLARS. Тогда должны выполняться следующие основные условия:
Запросы, которые будут использоваться в эксперименте, должны быть реальными запросами потребителей системы MEDLARS, уже обработанными этой системой.
Экспериментальный массив документов должен состоять из документов, первоначально входивших в банк данных системы MEDLARS и выбранных таким образом, чтобы в эксперименте не использовались никакие предварительные z сведения о том, будет ли выдан любой данный документ какой-либо из систем.
Максимальное число документов, которое должно быть выдано в ответ на некоторый запрос системой SMART (значение предела выдачи), должно соответствовать пределу выдачи в системе MEDLARS, с тем чтобы для оценки обеих систем использовалось одно и то же число документов.
Параметрами, с помощью которых в настоящей работе оценивается эффективность поиска, служат широко известные понятия точности и полноты, которые в прошлом широко использовались в ряде подобных исследований. Полнота определяется как доля выданных релевантных документов среди всех релевантных документов, а точность — как доля релевантных документов среди всех выданных. Точнее,
(1)(1)⑵⑵днсло выданных релевантных документов
(1)
(1)
⑵
⑵
— число релевантных документов во всем массиве
—днсло выданных релевантных документов
ТОЧНОСТЬ — —- чисЛ0 всех выданных документов ,~
В идеале хотелось бы выдавать все релевантные документы, не получая при этом ни одного лишнего. В таком случае полнота и точность достигают своего предельного значения и равны 1. На практике, как правило, получаются результаты, далекие от идеальных, при этом значения полноты и точности значительно меньше единицы. Кроме того, обычно не приводятся оценки эффективности системы для каждого отдельного запроса. Вместо этого, для того чтобы отразить уровень эффективности при работе системы с произвольным заданным запросом» по
большому числу запросов вычисляются некоторые средние знач чения.:
Чтобы вычислить значения полноты и точности, нужно для каждого данного запроса располагать сведениями не только а выданных документах, но и о всех документах в поисковом массиве, релевантных данному запросу. Для небольших экспери<1 ментальных массивов вроде тех, которые используются в дан-5 ном исследовании, довольно часто можно получить исчерпываю-; щие сведения о том, какие документы массива релевантны каж-= дому заданному запросу, т. е. каждому документу массива мо-j жно приписать оценку его релевантности по отношению к каж- | дому запросу. Эти оценки делаются либо авторами запросов,' либо специалистами, знакомыми с данной предметной областью.-
Таблица /М
Основные характеристики массивов, использовавшихся в экспериментах ■ по сравнению систем SMART и MEDLARS二:
Вид массива
Число
Источник
Тип оценки релевантности
貝 1 風
запросов
документов
Исходный массив, взятый из системы亠
MEDLARS
18
273
Часть массива документов, ранее использовавшегося в системе MEDLARS для ее оценки разработчиками системы
Оценка давалась авторами запросов для части выданных документов
T
Массив под названием «расширенный MEDLARS»
Массив по офтальмологии I
29
29
450
852
Получен независимо от обеих систем с помощью указателя цитированной литературы
Документы взяты из 9 журналов по офтальмологии независимо от обеих систем
Полная оценка каждого документа, данная внешним экспертом
Полная оценка, данная внешним экспертом'
Массив по офтальмологии II
17
76
852
1575
Тот же, что и у предыдущего массива
Оценку давали авторызапросов
для 10 выданных документов (5 из них выданы системой MEDLARS, а 5 — системой
SMART)
1
В табл. 1 приводятся все характеристики массивов документов, которые использовались в описываемых экспериментах и которые были взяты из массивов MEDLARS. Среди них первые три массива документов и три множества запросов все разные, общее число запросов равно 76, число документов — 1575. Последний массив под названием Офтальмология II совпадает с массивом Офтальмология I, за исключением различий, касающихся оценок релевантности и числа запросов, использованных в экспериментах.
В следующих разделах дается обзор первых экспериментов по сравнению систем SMART и MEDLARS, а также подробно описывается организация более широкого эксперимента, в котором используются документы из области офтальмологии [22, 23].
Первые эксперименты по оценке систем
Эксперименты по сравнению систем SMART и MEDLARS, проведенные несколько лет назад, базировались на 18 запросах и 273 документах, ранее использованных для оценки работы системы MEDLARS, осуществленной в Национальной медицинской библиотеке самими разработчиками системы [24]. Автором каждого запроса была дана оценка релевантности каждого документа из этого массива именно данному запросу, однако не была проведена оценка релевантности каждого документа по отношению к каждому запросу.
В этих экспериментах работа системы SMART состояла из следующих операций: перфорирования рефератов всех документов и построения трех различных векторов, которые должны были выражать содержание документа или запроса, причем эти векторы находились для каждого запроса и каждого документа. Различались следующие виды векторов понятий:
вектор словоформ с отброшенной конечной буквой s (вектор s), который содержит слова из реферата документа с приписанными им весами, причем конечное s у этих слов отбрасывается;
вектор основ слов, состоящий из выбранных основ слов вместе с их весами, причем эти основы получаются из исходных рефератов с помощью обычной процедуры отсечения суффиксов;
вектор классов тезауруса, который получается с помощью некоторого вручную построенного словаря, или тезауруса, объединяющего родственные слова или основы слов в один и тот же класс тезауруса; в результате просмотра этого словаря всем исходным словам или основам слов приписываются номера соответствующих классов тезауруса, которые и задают соответствующий вектор понятий документа.
После выполнения описанного автоматического анализа век图 торы запроса и документа сравниваются между собой, и каждой пары документ-запрос вычисляется некоторый коэффи^ циент близости. Затем для каждого запроса задается величинаЯ предела выдачи, равная числу документов, выданных систем。碱 MEDLARS в ответ на этот запрос, и подсчитываются значенияЯ полноты и точности. Средние значения полноты, полученные по! 18 контрольным запросам для обеих систем, приведены во bto-J ром столбце табл. 2. Из этой таблицы видно, что в сцстеме-1 SMART получается увеличение полноты на 8——12% по ср а вне- | нию с системой MEDLARS 】).?
Таблица 2 |
Результаты сравнения систем SMART и MEDLARS, полученные ; в первом эксперименте (результаты усреднены по 273 документам ; и 18 запросам, для каждого запроса предел выдачи в обеих системах один и тот же)
Используемые методы анализа
Полнота (КрВ)
Разность (КрЗ) в %
Заведомая (КрВ) точность
Разность (КрЗ) в %
Условная (КрВ) точность Разность (КрЗ) в %
MEDLARS
0,643
0,625
0,625
SMART Словоформы (слова без конечного S)
Основы слов
Тезаурус
0,704 (0,3124)
+9%(0,5000)
0,718(0,2385)
+ 12% (0,5000) 0,695(0,3611)
+8%(0,5000)
0,3680,0007
-41%0,0001
0,3 670,0007
-41%0,0001
0,3930,0011
-37%0,0002
0,571(0,2174)
-9%(0;3145)
0,570(0,1906)
—9%(0,3145)
0,61J (0,3973) —2%(0,5000)
Во всех таблицах, отражающих результаты сравнения двух систем, отмечены статистически достоверные данные. В них отражена вероятность того, что при допущении о статистической эквивалентности соответствующих множеств' значений полноты и точности для разных систем наблюдаемые при этом различия, приведенные в таблицах, были бы чисто случайными. Согласно критерию Вилкоксона [КрВ], величины разностей не играют роли, имеют значение лишь ранговые статистики этих разностей. Кроме того, критерий Вилкоксона требует, чтобы две рассматриваемые случайные величины имели бы функции распределения, принадлежащие одному семейству Критерий знаков [КрЗ] не принимает во внимание ни величину разностей, ни их ранговые статистики, а только знаки этих разностей, при этом не делается никаких предположений о характере распределения этих случайных величин.
В любом из этих случаев, вообще говоря, предполагается, что вычисленное значение вероятности, меньшее 0,05, означает, что различие двух случайных величин (двух сравниваемых методов) статистически достоверно, а гипотеза о статистической эквивалентности множеств значений должна быть отвергнута В тех случаях, когда различие двух методов статистически достоверна, соответствующие значения разностей набраны полужирным шрифтом.
К сожалению, в этих первых экспериментах трудно было подсчитать значение точности, поскольку мы не располагали оценками релевантности каждого документа, выданного системой SMART, по отношению к каждому запросу; соответствующие оценки имелись только для документов, выданных MEDLARS. Обычно наблюдалась такая картина: для любого запроса около 5 документов из 10 выдавались как системой SMART, так и MEDLARS. Для каждого из этих общих 5 документов имелись соответствующие оценки релевантности,,но об оставшихся 5 документах, выданных SMART, но не выданных MEDLARS, ничего не было известно. Значения «заведомой точности», приведенные в третьем столбце табл. 2, получены в предположении, что все документы, выданные SMART и не имеющие оценок релевантности, считаются нерелевантными для данных запросов. В четвертом столбце приводятся значения «условной точности», которая подсчитана в предположении, что доля релевантных документов, выданных системой SMART, среди -неописанных документов будет той же самой, что и их доля среди документов, имеющих оценку релевантности.
Из рассмотрения табл. 2 ясно, что небольшое увеличение полноты в системе SMART по сравнению с MEDLARS компенси- руетсн небольшим уменьшением «условной точности», из чего можно сделать вывод о том, что эти показатели эффективности для обеих систем имеют один и тот же порядок. Этот вывод подтверждается также тем, что в каждом случае различие этих характеристик статистически недостоверно. К сожалению, при подсчете «условной точности» мы были вынуждены воспользоваться допущением, достоверность которого нельзя доказать. Поэтому был проделан ряд новых экспериментов для того, чтобы получить более подробную картину, отражающую эффективность применения различных процедур системы SMART при обработке текста.
- 4.3. Разбиение документов по рангам и поискс обратной связью
Вместо лингвистического анализа, слишком сложного с точки зрения его реализации на машине, можно предложить следующие три машинные процедуры, которые, по-видимому, имеют наибольшее значение:
Разбиение документов по рангам, осуществленное в SMART, дает возможность потребителю получать доступ прежде всего к документам, которые считаются наиболее релевантными; это предполагает установление связи между числом выданных документов, просматриваемых потребителем, и значением соответствующего коэффициента корреляции между документом и запросом.
Открываются новые пути построения словарей и списков:胃 слов, необходимых Хля автоматического анализа содержания.^ благодаря возможности хранить полный массив документов иЯ вычислять коэффициенты подобия между парами векторов, ха-'Я рактеризующих документы.鼻
По-видимому, может быть достигнуто значительное уве- | личение эффективности поиска благодаря итеративцой стратегии j поиска, когда информация о документах, выданных на предыду- I щем этапе поиска, служит для уточнения запроса, для форму- 1 лирования нового, улучшенного запроса, который используется при следующей итерации.1
Рассмотрим сначала вопрос о рангах. Обычно запрос форму- :\ лируется в виде булевой формулы, что, по-видимому, не дает § возможности получить оптимальные результаты поиска, потому »; что число выданных документов обычно зависит не от реальных 二 потребностей специалиста, а от формулировки запроса, которая 》 мало контролируется или совсем не контролируется потребите-门 лем. Так, вполне возможна ситуация, когда для некоторых за-: просов выдается большое количество документов, в то время как | для других не выдается ничего или выдается очень мало доку- | ментов. Возможно, что, ограничивая объем выдачи в системе * SMART рамками MEDLARS, как это имеет место, когда мы ог-[ раничиваем число выданных системой SMART документов числом документов, выданных в ответ на этот запрос системой MEDLARS, мы пользуемся неразумной стратегией поиска, которая приводит к худшим результатам, чем это ожидалось вначале.
Более разумной стратегией для системы SMART было бы использование корреляционного предела выдачи, при этом выда-扌 вались бы все те документы, для которых коэффициент корре-工 ляции между документом и данным запросом превосходил бы некоторую заданную величину. Тогда для того, чтобы можно было сравнивать между собой эти две системы, нужно выбрать коэффициент корреляции таким образом, чтобы общее число документов, выданных системой SMART в ответ на все запросы, совпадало с соответствующим общим числом для системы MEDLARS. Однако можно сделать так, чтобы число документов, выданное на отдельный запрос, могло меняться в соответствии с величиной коэффициента близости запрос-документ.
Существенную роль процедура ранжирования документов играет также в реализации на машине процесса обратной связи с учетом релевантности, когда в системе SMART автоматически получаются улучшенные формулировки запросов [25, 26]. Первый сеанс поиска проводится с помощью исходного заданного запроса. Затем для некоторых документов, выданных в начале этого сеанса, потребитель дает оценку релевантности, и машина
строит новый,аапрос, более похожий на релевантные документы и менее похожий на нерелевантные документы, чем исходный запрос. Точнее, запрос с учетом обратной связи получается путем добавления к исходному запросу терминов из тех документов, про которые известно, что они релевантны, или путем увеличения весов таких терминов; термины же, встречающиеся в нерелевантных документах, получают малый вес или вообще исключаются из запроса.
Формула, с помощью которой получается улучшенный запрос и которая на самом деле использовалась в описываемых экспериментах, может быть представлена в следующем виде:
10 2
где q$ — i-я итерация запроса, а каждый 门一это 厶济 релевантный документ среди первых документов, число которых задается пределом выдачи; S)обозначает один из двух нерелевантных документов среди выданных документов. Таким образом, в процессе обратной связи участвуют до 10 релевантных документов и не более 2 нерелевантных, причем предполагается, что все они находятся в множестве документов, задаваемых пределом выдачи. Если это множество содержит меньше 12 документов, тогда наибольшие значения для i и / должны быть соответственно уменьшены.
Очевидно, что в принципе можно выполнить сколько угодно итераций. На практике по мере увеличения числа итераций получаемая при этом выгода в виде увеличения числа релевантных документов среди выданных будет уменьшаться, поэтому обычно1 будет достаточно двух или трех итераций.
Можно сравнить операции, осуществляющие в системе SMART поиск с обратной связью, с работой некоторой программы анализа текста, в том смысле, что получение улучшенного запроса эквивалентно повторной индексации документов или формулированию заново содержания запроса. В обычных ИПС теоретически возможно использовать поиск с обратной связью — например, попросить потребителя заново сформулировать запрос, пользуясь информацией, выданной ему на предыдущем этапе; на практике же не так-то легко осуществить эту идею. Одна из непосредственно возникающих трудностей состоит в том, что почти всюду используется инвертированный способ организации поискового массива, при котором компоненты вектора понятий данного документа разбросаны по разным частям этого массива. При таких условиях для того, чтобы получить вектор документа целиком, нужно иметь многоканальный доступ к массиву, что затрудняет практическое использование операций типа поиска с обратной связью.
Автоматическое построение словарей
Составление тезауруса, который можно использовать для стандартизации языка документов, можно разбить на два этапа. Во-первых, нужно выбрать те термины, которые действительно используются при описании содержания документов. Во-вторых, выбранные слова, отражающие содержание документа, нужно объединить в классы эквивалентности так, чтобы вое термины, включенные в некоторый данный класс тезауруса2 были представлены в векторе документа некоторым одним общим идентификатором. На первом этапе пытаются исключить из описаний содержания документов все те термины, которые на самом деле не отражают сути документа, или такие термины, которые не способствуют выделению данного документа среди всех документов массива, — обычно это бывают функциональные слова, такие, как артикли, предлоги, союзы и т. п., а также слова, употребляемые с большой частотой в рассматриваемой предметной области. Описанные ниже процедуры позволяют объединять в некоторые классы синонимичные слова или слова, тесно связанные между собой каким-то другим образом. Таким образом, эквивалентность этих терминов обнаруживается при некотором автоматическом анализе текста.
Существует много алгоритмов автоматической классификации терминов [13, 14, 27—31], причем некоторые из них дают возможность получить такую классификацию терминов, которая при информационном поиске не уступает классификации, полученной вручную. Главным^ препятствием на пути развития автоматических методов классификации служит относительно высокая стоимость затрат времени и труда, которые требуются для построения автоматического тезауруса. Во многих случаях приходится разбивать на классы несколько десятков тысяч терминов, а число сравнений векторов из п терминов имеет порядок п2 или по меньшей мере 々〃,т. е. слишком велико для практического применения. Поэтому прежде, чем эти методы будут свободно применяться на практике, нужно разработать более дешевые методы автоматической классификации [32].
В то время как проблема классифйкации еще ждет своего решения, нужные словари могут быть построены без проведения какой бы то ни было классификации путем простого внесения в словарь таких термйнов, которые считаются полезными при анализе содержания, или путем отбрасывания неинформативных терминов; иногда их называют общеупотребительными словами. Обычно выделение общеупотребительных слов является довольно сложной операцией, при которой необходим анализ семантических свойств отдельных слов, а также способов употребления этих слов в документах данного массива. При таких обстоятель-
ствах решение вопроса, использовать ли данное слово для описания содержания или нет, достаточно часто должно приниматься интуитивно. '
Недавно был осуществлен ряд экспериментов, целью которых было нащупывание путей к тому, чтобы превратить сложный процесс отбора общеупотребительных слов в автоматический, управляемый процесс [33, 34]. В основе этих экспериментов лежит следующее наблюдение: если в качестве идентификатора содержания документа взято общеупотребительное слово, соответствующий термин будет встречаться во многих документах, делая их таким образом похожими друг на друга, и наоборот, если документу приписывается некоторый идентификатор, действительно отражающий содержание именно этого документа,
Таблица 3
Изменения, происходящие в пространстве документов
Документы в исходныймоментДокументы в исходныймоментДокументы после того,как к вектору документадобавлены слова-неразличи-тели (общеупотребительныеслова)Документы после того,как к вектору документадобавлены слова-неразличи-тели (общеупотребительныеслова)Документы после того,как к векторам документовдобавлены слова-различи-тели (значимые слова)Документы после того,как к векторам документовдобавлены слова-различи-тели (значимые слова)
Документы в исходныймомент
Документы в исходныймомент
Документы после того,как к вектору документадобавлены слова-неразличи-тели (общеупотребительныеслова)
Документы после того,как к вектору документадобавлены слова-неразличи-тели (общеупотребительныеслова)
Документы после того,как к векторам документовдобавлены слова-различи-тели (значимые слова)
Документы после того,как к векторам документовдобавлены слова-различи-тели (значимые слова)
1. Пространство документов
Пространство в исходный момент
Плотность увеличилась
Плотность уменьшилась
X
X
X
X
X
2. Векторы документов Dz и Ьу
上2k/ у 1
"计2、n n+l y〃+2、
> 为i,...丿"勺,, • ••丿
力j, •••9 尤j, ••♦, (尤 j,尤j, ••• , Ху , •••,汇j,(尤〃 力j,* • •, 力j,••・,
,打,…丿勺,» хj ,•••丿
Вычисление коэффициента близости
(3 одинаковых термина (5 одинаковых терминов) (3 одинаковых термина) из 10)из 12)из 12)
S (Qj, Q/) =S (В, О/) =S О/, D/)=
=—而下1。_3=°」764 = 12 + 12^ = 0,263】=1^2^ == °J428
то это слово позволит выделить данный документ среди других/ при этом векторы отдельных документов имеют меньшую 6〃Q зость. ;
Это положение иллюстрируется примером, приведенным в: табл. 3. В верхней части этой таблицы каждый документ изображается в пространстве документов в виде X, а расстояние между двумя X обратно пропорционально величине близости соответствующих векторов документов. Левая часть табл. 3 изображает исходную ситуацию. Для примера предполагается, что документы & и Dj имеют три общих термина. Тогда коэффициент корреляции, измеряемый числом общих терминов, равен 0,1764. В центре таблицы представлена ситуация, когда к векторам документов Di и Dj добавлено по два общеупотребительных слова, в результате чего эти документы теперь имеют 5 общих терминов и коэффициент корреляции, равный 0,2631. Очевидно, что теперь пространство документов как бы сжалось. В правой части табл. 3 к векторам документов Di и D,добавляется по два информативных слова, причем маловероятно, чтобы они оказались общими для Di и Dj. Теперь эти два документа пересекаются по 3 терминам из 12, коэффициент корреляции равен 0,1428, а пространство документов расширилось по сравнению с исходным.
Теперь ясна стратегия, которой следует придерживаться, чтобы отличить общеупотребительные слова от информативных, или значимых терминов. А именно вычисляется некая функция, представляющая плотность Q пространства документов (например, Q может -представлять собой сумму корреляций между каждым документом и центром пространства). В пространство документов вводится новый термин i; если новое значение функции плотности пространства Qt больше Q, то / — неинформативное слово, или слово-неразличитель, а разность Qt — Q выражает силу этого слова как слова-неразличителя. Наоборот, если в- случае добавления нового термина i пространство расширяется и Qi меньше Q, то термин i — значащее слово, а разность Q — Qi измеряет его силу как значащего слова, или слова-раз- личителя.
Располагая слова-различители в порядке уменьшения разности Q — Qj, мы получаем список, в котором самые сильные слова-различители стоят на первых местах. Аналогично, располагая слова-неразличители в порядке уменьшения разности Q〃— Q, в начале списка мы получаем слова, наименее полезные для выделения любого документа среди других документов. В табл. 4 приведены два таких списка, содержащих по 12 самых сильных различителей и неразличителей из области офтальмологии. Списки получены на массиве нз 852 документов.
Таблица 4
Список слов-различителей и неразличителей, расположенных в порядке убывания их различительной (неразличительной) силы
Неразличители•
Различители
Слово
S « « uis
Слово
1. Patient
201
408
2,03
1. Rubella
10
47
4,70
194
292
1,51
2. Capillary
19
54
2,84
3: Use
179
247
1,38
3. Laser
11
32
2,91
4. Have
194
257
1,32
4. Collagen
12 •
40
3,33
5. Retinal
134
275
2,05
5. Cyst
17
42
2,47
6. Present
184
219
1,19
6. Cholinesterase
6
26
4,33
7. Has
171
231
1,35
7. Fiber
16
50
3,13
8. Effect
150
259
1,73
8. Cyclodialysis
4
12
3,00
9. Result
179
234
1,31
9. Implant
18
36
2,00
10. Found
174
228
1,31
10. U/itis
21
45
2,14
11. Report
141
172
1,22
11. Vessel
36
82
2,28
12. Occular
125
194
1,55
12. Spray
2
25
12,50
Таким образом, для того чтобы построить автоматически словарь значащих слов, или слов-различителей, нужно вычислить значение функции плотности пространства документов для каждого термина из массива документов. Таблица 5 иллюстрирует процесс построения такого словаря для массива документов по офтальмологии. .
Прежде всего из 852 рефератов, содержащихся в массиве по офтальмологии, выбираются все различные слова. После того как у слов, оканчивающихся на s, удалена последняя буква, мы получаем так называемый словарь《словоформ》. Затем из этого списка вычеркиваются слова, встретившиеся по одному разу во всем массиве, а также слова, встретившиеся в 25% документов или более того, поскольку довольно ясно, что термины с частотой 1 не будут иметь значения при сравнении документа и запроса, а термины, встречающиеся с большой частотой, не позволяют выделить из массива нужные документы. К 5100 оставшимся терминам применяется алгоритм в исцеления слов-различителей, в результате чего около 200 терминов вычеркиваются как слова-неразличители. Как показано в последней строке табл. 5, можно удалить дополнительно еще несколько терминов,
если начать с удаления наиболее слабых слов-различителей и вычеркивать слова в порядке увеличения их силы как различителен.
Таблица 5
Построение при помощи машины некоторых списков слов (на базе массива по офтальмологии)
Процедура, применяемая для построения словаря
Вид получающегося словаря
Число единиц в словаре
удаленных из словаря
оставшихся
Составление списка слов, встретившихся в рефератах документов, с последующим отбрасыванием конечной буквы S
Словарь «s> (словоформы без конечного 《S》)
8672
Вычеркивание терминов с частотой употребления, равной 1
—
3535
5137
Вычеркивание терминов, встретившихся в 25% и более от числа всех документов
Автоматический список слов
29
5108
Вычеркивание терминов, определенных машиной как слова-неразличители (минимум плотности пространства документов)
Автоматический словарь слов-различителей
180,
4928
Дополнительное вычеркивание терминов в порядке уменьшения их различительной способности
Сокращенный словарь ・ слов-различителей
3928
1000
В следующем разделе представлены результаты поиска, изучение которых позволяет сравнить эффективность применения различных автоматических процедур, реализованных в системе SMART, — ограничения числа выдаваемых документов с помощью корреляционного предела выдачи, использования автоматических словарей слов-различителей и поиска с обратной связью — с результатами работы системы MEDLARS.
Общие результаты
В эксперименте использовались два массива документов из области медицины, причем эти массивы не зависят ни от системы SMART, ни от системы MEDLARS. Массив под названием
«расширенный MEDLARS》состоит из 450 документов, названия которых были выбраны из Указателя цитированной литературы по точным, естественным и прикладным наукам (Science Citation Index), причем ссылки на эти документы имелись в ряде документов, отмеченных как релевантные некоторым запросам потребителей системы MEDLARS [23]. Массив же документов по офтальмологии состоит из статей, опубликованных в 9 основных журналах по офтальмологии в 1967 году】). Для обоих этих массивов была проведена проверка, введен ли каждый документ в действующую систему MEDLARS. Если некоторый документ не введен в эту систему, то он должен быть исключен из массива до начала эксперимента по сравнению систем.
В эксперименте использовалось 58 запросов, ранее заданных системе MEDLARS ее потребителями, из них 29 запросов по офтальмологии и 29 запросов по биомедицинской тематике. Если авторами запросов являются ученые и врачи, как это имеет место для большинства запросов, поступающих в систему MEDLARS, практически невозможно требовать от них полной оценки релевантности, т. е. оценки релевантности каждого документа каждому запросу. Поэтому мы были вынуждены воспользоваться полной оценкой рёлевантности, данной внешними экспертами; для массива «расширенный MEDLARS》эта оценка была дана студентом-медиком, а для массива по офтальмологии ——специалистом в этой области. В табл. 6 приводятся усредненные результаты поиска по массиву «расширенный MEDLARS》в условиях внешней экспертной оценки, а в табл. 7 ——аналогичные результаты для массива по офтальмологии. Из рассмотрения этих таблиц можно сделать следующие основные выводы:
В том случае, когда число документов, выдаваемых в ответ на запрос, для обеих систем одинаково, алгоритмы автоматического анализа текста, работающие в системе SMART, приводят к потере полноты и точности, меняющейся от 20 до 50%, по сравнению с результатами системы MEDLARS, где применяется обычное индексирование документов. При этом наблюдаемые различия в значениях полноты и точности статистически достоверны, так что ясно, что система индексирования MEDLARS дает лучшие результаты. .
В том случае, когда в системе SMART с помощью корреляционного предела выдача организуется так, чтобы общее число выданных документов в ответ на все 29 запросов было одинаковым для обеих систем и составляло 127 документов для
' 1) Acta Ophthalmologica, American Journal of Ophthalmolagy, Archives of Ophthalmology, British Journal of Ophthalmology, Experimental Eye Research, Investigative Ophthalmology, Ophthalmologica, Transactions of the American Academy of Ophthalmology and Otolaryngology и Vision Research.
Результаты сравнения систем SMART и MEDLARS на массиве «расширенный MEDLARS» (450 документов, 29 запросов, причем в системе SMART использовался корреляционный предел задачи, так что число всех выданных документов равнялось 127)
Используемые средства анализа
Предел выдачи, равный пределу выдачи в системе MEDLARS
Корреляционный предел выдачи
Две итерации при поиске с обратной связью
Полнота Разность в %
(КрВ) (КрЗ)
Точность Разность в %
(КрВ) (КрЗ)
Полнота (КрВ)
Разность (КрЗ) в %
Точность Разность в %
,(網
Полнота (КрВ)
Разность (КрЗ) в %
Точность (КрВ) Разность (КрЗ) в %
Система MEDLARS (контролируемое индексирование)
0,3117
0,6110
Словарь «s》
0,1814
-42%
0,0021 0,0005
0,3867
-37%
0,0007 0,0021
0,2613 (0,2216)
-16% (0,3450)
0,4960 (0,1302) — 19% (0,1050)
0,3525 (0,3383) + 13% (0,5000)
0,6740 (0,2665) + 13% (0,5000)
Словарь основ слов
0,1814
—42%
0,0013 0,0005
0,4141
-32%
0,0009
0,0005
0,2622 (0,2420) — 16% (0,4194)
0,4901 — 19%
0,0494
0,0392
0,3433 (0,3939) 4-10% (0,5000)
0,6892 (0,2021) + 13% (0,3318)
Автоматический словарь слов-разли- чителей А5
0,2462
—21%
0,0051
0,0154
0,4518
—26%
0,0032
0,0154
0,2872 (0,3102)
—8% (0,2781)
0,5879 —4%
(0,4056)
(0,2706)
0,3801 (0,1-870) +22% (0,4223)
0,7230 (0,1216) + 18% (0,3238)
Тезаурус
0,2181
-30%
0,0000 0,0032
0,4512
—26%
0,0018 0.0032
0,3232 (0,4946) +4% (0,3450)
0,6106 0%
(0,3102)
(0,4223)
0,4029 (0,1578) +29% (0,0849)
0,7438 (0,0914) +22% (0,3450)
Результаты сравнения систем SMART и MEDLARS на массиве по офтальмологии (852 документа, 29 запросов, оценка документов дана внешними экспертами)
Средства анализа
Предел выдачи равен пределу выдачи в системе MEDLARS
Одна итерация при поиске с обратной связью
Две итерации при поиске с обратной связью 1)
Полнота (КрВ)
Разность (КрЗ) в %
Точность (КрВ) Разность (КрЗ) в %
Полнота (КрВ)
Разность (КрЗ)
В °/о
Точность (КрВ)
Разность (КрЗ)
В °/о
Полнота (КрВ)
Разность (КрЗ) в %
Точность (КрВ)
Разность (КрЗ) в %
Система MEDLARS (контролируемое индексирование)
0,4272
0,4454
Система SMART
Словарь «s»
Словарь основ слов
Автоматический список слов А4
Автоматический словарь слов-разли- чителей А5
Тезаурус
1) Поиск с обрат заданного таким обра
0,2240 0,0007
—48% 0,0036
0,2802 0,0056
-34% 0,0207
0,2843 0,0134
-33% 0,0318
0,3159 0,0125
-26% 0,0207
0,3355 0,0149
-21% 0,0318
НОЙ СВЯЗЬЮ, ВЫПОЛ1 зом, чтобы выдава.
0,2728 0,0023
—39% 0,0036
0,2932 0,0089
-34% 0,0207
0,3156 0,0109
-29% 0;0318
0,3039 0,0072
-32% 0,0207
0,3262 0,0182
-26% 0,0318
няемый в системе 2 яось 602 документа
0,4025 (0,4861)
-6% (0,5000)
0,4125 (0,4741)
—3% (0,4159)
0,4251 (0,4310)
0% (0,5000)
0,4624 (0,2374)
+8% (0,1050)
0,4230 (0,4851)
-1% (0,2517)
SMART, осуществи
0,4144 (0,1239)
-7% (0,0155)
0,4367 (0,2505)
—2% (0,0388)
0,5249 (0,2821) + 18% (0,5000)
0,4041 (0,1480)
—9% (0,5000)
0,4403 (0,3102)
-1% (0,4223)
[яется с помощью
0,4181 (0,3975) —2% (0,4159)
0,4318 (0,3365) + 1% (0,4159)
0,4440 (0,3195) +4% (0,5000)
0,4794 (0,1650) + 12% (0,1050)
0,4475 (0,3074) +5% (0,0669)
корреляционного п
0,4839 (0,3658) +9% (0,2706)
0,4402 (0,1379)
—1% (0,0539)
0,6055 (0,0892) +36% (0,5000)
0,4456 (0,4144)
0% (0,2207)
0,4727 (0,4445)
+6% (0,4223)
редела выдачи,
массива «расширенный MEDLARS» и 602 документа для массива по офтальмологии, тогда потери в полноте и точности, которые дает система SMART, уменьшаются примерно на 10%, причем эти различия не являются теперь статистически достоверными. Это означает, что, рассматривая полученные результаты, нельзя сделать достоверного вывода о преимуществе той или иной системы.
Поиск с обратной связью, реализованный в системе SMART, дает увеличение эффективности по сравнению с MEDLARS, колеблющееся от нескольких процентов для одной итерации при поиске до 30 процентов для двух итераций, при этом в большинстве случаев различия соответствующих характеристик эффективности статистически недостоверны.
При поиске с обратной связью основной алгоритм, используемый в системе SMART, который дает возможность приписать документам и запросам взвешенные основы слов, уже может соперничать с ручными методами индексирования, применяемыми в MEDLARS. Это означает, что можно успешно применять некоторую процедуру извлечения из текста основ слов, дополненную соответствующими изменениями в процессе поиска.
В том случае, когда в системе SMART используется автоматический словарь слов-различителей, а также при использовании вручную построенного тезауруса получаемые при этом результаты вполне сравнимы с результатами, найденными в MEDLARS, причем эти результаты получаются без учета обратной связи, и для более удобного управления объемом выдачи применяется только ранжирование документов. Если же нормализацию языка, обеспечиваемую автоматическими словарями, дополнить поиском с обратной связью, то можно достичь увеличения эффективности по сравнению с системой MEDLARS до 30%.
Главный вывод, сделанный в результате рассмотрения табл. 6 и 7, можно сформулировать следующим образом. *
Маловероятно, чтобы обыкновенный выбор слов из реферата или текста документа с последующим поиском по запросу, задаваемому в виде булевой формулы, который применяется сейчас во многих ИПС, был бы столь же эффективен, что и обычное индексирование документов, выполняемое человеком. Однако можно легко заставить машину выполнять другие, вообще говоря нелингвистические операции, такие, как ранжирование документов, нормализация текста с помощью машинных словарей и тезаурусов, итеративный поиск, благодаря которым можно будет достичь большей эффективности, чем та, которую дают системы, контролируемые человеком.
Следует отметить, что абсолютные значения цифр, приведенных в табл. 6 и 7, не являются точными значениями ни одногб
конкретного показателя эффективности, но разности этих величин для двух или более методов или систем действительно отражают относительные уровни эффективности. Это происходит потому, что существуют некоторые предельные значения полноты и точности, выше которых эти характеристики не поднимаются.
,Таблица 8
Предельные значения полноты и точности для массива по офтальмологии (внешняя экспертная оценка релевантности, 852 документа, 29 запросов)
Номер запроса
Число документов, выданных системой MEDLARS
Число документов в массиве, релевантных данному запросу
Верхний предел для числа выданных релевантных документов
Предельное значение полноты ‘
Предельное значение точности
1
20
14
14
1,0000
0,7000
2
11
1
1
1,0000
0,0909
3
5
6
5
0,8333
1,0000 '
4
36
92
0,3913
1,0000
5
8
60
0,1333
1,0000
6
16
10
1,0000
0,6250
7
54
59
0,9153
1,0000
8
6
2
1,0000
0,3333
9
19
15
1,0000
0,7895
10
8
8
1,0000
1,0000
П
37
5
1,0000
0,1351
12
12
23
0,5217
1,0000
13
14
1
1
1,0000
0,2000
15
53
7
0,1321
1,0000
16
28
24
24
1,0000
0,8571
\1
20
1
1
1,0000
0,0500
18
19
17
14
14
1,0000
0,8235
20
11
54
11
0,2037
1,0000
21
12
7
1,0000
0,5833
22
10
54
10
0,1852
1,0000
23
6
65
6
0,0923
1,0000
24
10
43
10
0,2326
1,0000
25
10
33
10
0,3030
1,0000
26
11
12 、
11
0,9167
1,0000
27
5
1
1
1,0000
0,2000
28
174
149
149
1,0000
0,8563
29
8
1
1
1,0000
0,1250
30
31
6
4
4
1,0000
0,6667
32
33
34
30
44
30
0,6818
1,0000
Среднее предельное значение|
0,7428
0,7254
Пределы же полноты и точности возникают потому, что числа^ документов, выданных в ответ на данный запрос, как пра/^
вило, не совпадает с числом релевантных документов, опре-Л деленным для этого запроса с помощью внешней экспертной 1 оценки. Данные табл. 8 говорят о том, что из 852 документов но ; офтальмологии только 602 были оценены как релевантные 29 ? рассматриваемым запросам. В случае когда величина, опреде-
ляемая как число документов, релевантных данному запросу, 1 меньше предела выдачи в системе MEDLARS, как это имеет > место для запроса под номером 1 в табл. 8, точность с необходимостью принимает значения меньше 1. Наоборот, когда число релевантных документов больше числа выданных, как в случае запросов с номерами 3, 4 и 5, тогда ограничения налагаются на "Значения полноты. Для массива по офтальмологии среднее значение точности и полноты заключено между 70 и 75%. Таким образом, самые высокие результаты, содержащиеся в табл. 7, составляют 65% максимального значения полноты и 83% макси
мального возможного значения точности.
Эксперименты, опирающиеся на избирательныеоценки релевантности, данные авторами запросов
В предыдущем разделе были приведены результаты поиска, оцененные не авторами запросов, а специалистами в данной предметной области, которые приписывали каждому документу полную оценку релевантности. Если такую оценку дают,непосредственно авторы запросов, то, как правило, эта информация бывает неполной, поэтому необходимо как-то приспособить к этим условиям методы оценки результатов поиска. Кроме того, если оценку релевантности имеют лишь некоторые документы, могут возникнуть трудности при интерпретации результатов, о которых уже говорилось при рассмотрении табл. 2.
Тогда была сделана попытка преодолеть эти трудности следующим образом. Каждому из авторов 29 запросов по офтальмологии было предложено оценить 10 документов, выданных ранее в ответ на его запрос, при этом 5 документов были получены случайной выборкой из документов, выданных системой MEDLARS, а 5 документов ——случайной выборкой из документов, выданных системой SMART с обычным использованием основ слов. Каждого автора попросили оценить все 10 документов с точки зрения релевантности запросу данного автора. При этом разрешалось давать только три оценки: документ имеет важное значение для автора запроса, небольшое значение и не имеет никакого значения. Результаты авторских оценок сводились в таблицы, причем рассматривалось два случая: 1) релевантными считаются документы, имеющие хоть какое-нибудь
Сравнение значений относительной полноты для массива по офтальмологии (усреднение по 17 запросам оценок релевантности, данных авторами запросов, для'5 документов, выданных системой SMART, и 5 документов, выданных MEDLARS)
Средства анализа
Словоформы
Основы слов
Автоматический список слов
Список слов-разли- чит(елей
Тезаурус
Полнота %
(КрВ) (КрЗ)
Полнота %
(КрВ) (КрЗ)
Полнота %
(КрВ) (КрЗ)
Полнота °/о
(КрВ) (КрЗ)
Полнота %
(КрВ) (КрЗ)
(1) Предел выдачи в системе SMART совпадает с пределомвыдачи
в системе MEDLARS
MEDLARS SMART
0,2490 0,2774 + 11%
(0,3283)
(0,2744)
0,2294 0,2509 +9%
(0,4070)
(0,3872)
0,1931 0,2794
+45%、
(0,1870)
(0,2744)
0,1274 0,1696 +33%
(0,2871)
(0,1445)
0,2568 0,3068 + 19%
(0,2108)
(0,5000)
(2) Корреляционный предел выдачи
MEDLARS
SMART
0,1666 0,294Г +76%
(0,0486)
(0,0195)
0,2107 0,2676 +27%
(0,2386)
(0,2539)
0,1588
0,2588 ,+61%
(0,1540)
(0,1719)
0,1372 0,2735 + 100%
(0,1013)
(0,1719)
0,1294
0,3264 + 151%
0,0092 0,0327
(3) Одна итерация при поиске с обратной связью
MEDLARS
SMART
(Г, 1666 0,2372 +42%
(0,1432)
(0,2539)
0,1519 0,1960 +29%
(0,1871)
(0,2539)
(0,1588) 0,2764 +73%
0,0333
0,0547
0,1078 0,2696 + 150%
0,0515 0,0547
0,1294 0,3254 + 151%
0,0017 0,0107
(4) Две итерации MEDLARS SMART
0,1960 0,2754 +41%
(0,0712)
(0,2744)
0,1519 0,1960
+29%
(0,0618)
(0,2539)
0,1588 0,2754 +73%
0,0333
0,0547
0,1078 0,2696 + 150%
0,0515 0,0547
0,1294 0,3254 + 151%
0,0047
* 0,0107
Сравнение значений точности для массива по офтальмологии (усреднение по 17 запросам оценокрелевантности, данных авторами запросов для 10 выданных документов)
Используемые средства анализа
Словоформы
Точность (КрВ) (КрЗ)
Основы СЯОВ
Точность (КрВ) (КрЗ)
Автоматический список слов
Точность (КрВ) (КрЗ)
Список слов-раз- личиТелей
Точность (КрВ) / (КрЗ)
Тезаурус
Точность (КрВ) (КрЗ)
(1) Предел выдачи совпадает с пре-
0,3523
0,0067
0,3705
0,0240
0,3235
0,0087
0,2000
0,0002
0,3117
0,0024
делом выдачи в системе
MEDLARS
Точность системы MEDLARS равна 0,4823
—27%
0,0037
-23%
0,0287
-33%
0,0017
—59%
0,0000
-35%
0,0021
(2) Корреляционный предел выдачи
0,2764
0,0034
0,2882
0,0039
0,3058
0,0093
0,2352
0,0007
0,2823
0,0032
Точность системы MEDLARS равна 0,4823
-43%
0,0032
-40%
0,0112
-37%
0,0032
—51%
0,0001
—41%
0,0009
(3) Одна итерация при поиске
0,2705
0,0014
0,2705
0,0009
0,3294
0,0109
0,2588
0,0009
0,2882
0,0032
с обратной связью
Точность системы MEDLARS * равна 0,4823
-44%
0,0065
—44%
0,0037
一 32 %
0,0287
-46%
0,0017
-40%
0,0009
значение для автора запроса. Пригодные для использования оценки были получены для 17 из 29 запросов. Таким образом, в табл. 9, 10 и 11 приведены значения характеристик эффективности, подсчитанные при выдаче 10 документов из 852 в ответ на каждый из 17 запросов.
Если оценка релевантности документов имеется не для всех документов, нельзя подсчитать значения полноты и точности, пользуясь формулами (1) и (2). Вместо этого нужно выводить значение точности, рассматривая лишь 10 документов для каждого запроса, как это имеет место в нашем случае, а для полноты приходится давать новое определение. В нашем эксперименте точность вычислялась по следующим формулам:
Точность в системе =MEDLARSТочность в системе =MEDLARSТочность в системеSMARTТочность в системеSMART⑷⑷Общее число релевантных документов,выданных MEDLARS (из 10, имеющихоценку релевантности)
Точность в системе =MEDLARS
Точность в системе =MEDLARS
Точность в системеSMART
Точность в системеSMART
⑷
⑷
Общее число выданных документов,имеющих оценку релевантности(равное 10)
Число релевантных документов, выданных SMART (из 10, имеющих оценку релевантности) 、
Общее число выданных документов,имеющих оценку релевантности (рав-ное 10)
Если для вычисления значения точности можно использовать довольно обычную процедуру, значение полноты получить гораздо труднее, поскольку нам неизвестно число всех документов массива, которые были бы отмечены как релевантные автором запроса. Поэтому вводится понятие относительной полноты г), определяемое как отношение числа релевантных документов, выданных системой MEDLARS, к числу релевантных документов, выданных системой SMART, или можно рассматривать обратное отношение. Пусть из 5 документов, выданных MEDLARS и имеющих данную ранее оценку релевантности, М документов были отмечены теперь как релевантные автором некоторого запроса. Пусть SM документов из этих М документов выданы системой SMART, тогда относительная полнота системы SMART определяется как отношение Аналогично рассмотрим 5 документов, выданных SMART и имеющих оценку релевантности. Пусть S из этих документов определены как релевантные, причем Ms из этих S документов выданы системой
1) Предложенное М. Э. Леском из Лабораторий компании Белл,
Относительная полнота и точность для массива по офтальмологии (оценки релевантности, данные авторами запросов, усреднены по 17 запросам, при этом релевантными документами считаются документы, имеющие важное значение)
Средства анализа
Словоформы
ОСНОВЫ слов
Автоматический список слов
Автоматичеекий список слов-раз- личителей
Тезаурус
(1) Предел выдачи совпадает с пределом вы-
дачи в MEDLARS
Полнота: MEDLARS
0,12450,0697
0,1294 (0,1311)
0,1470 (0,1206)
0,0784 (0,1473)
0,1666 (0,0865)
SMART %
Точность: MEDLARS
0,27840,0547
+ 124%
0,25880,0442
0,2098 (0,3769)
+62%
0,0119
0,2705 (0,3770)
+84%
0,0011
0,1607 (0,1094) + 105%
0,3176 (0,0898)
+91%
0,0060
SMART %
(2) Корреляционный пре
0,17050,0176
-34%
0,1529 0,0065
—41%
0,1411 0,0002
—45% '
0,1000 0,0011
-61% 0,0005
0,1588 0,0032
-39%
дел выдачи
Полнота: MEDLARS
0,05390,0086
0,0588 (0,0212)
0,1127 0,0963
0,0882 (0,0253)
0,1176 0,0332
SMART
F%
Точность: MEDLARS
0,33330,0351
+51&%
0,25880,009 3
0,2843 (0,1445)
+384%、
0,0017
0,2333. 0,2539
+ 107%'
0,0040
0,3186 (0,0898) +261%
0,0011
0,3235 0,0195
+ 175%
0,0054
SMART %
0,14110,0032
-45%
0,1176 0,0005
—23%
0,1352 0,0037
—48%
0,1352 “0002
—48%
0,1529 0,0032
-41%
(3) Одна итерация при
поиске с обратной
связью
Полнота: MEDLARS
0,05390,0086
0,0489 0,0086
0,0930 0,0076
0,0588. 0,0122
0,1176 0,0332
SMART % Точность: MEDLARS
0,36270,0352
+573%
0,25880,0115
0,3264 0,0352
+567%
0,0054
0,3509 0,0195
+277%
0,0192
0,2794 0,0195
+375%
0,0011
0,3431 0,0195
+ 192%
0,0072
SMART
%
0,14700,0032
一43%
0,1156 0,0017
—55%
0,1705 0,0065
—34%
0,1352 0,0002
—48%
0,1588 0,0059
—39%
MEDLARS. Тогда относительная полнота системы MEDLARS определяется как отношение -у- . Другими словами,
⑹⑹Число релевантных документов, выданных сSMART, из общего
⑹
⑹
Относительная полнота = числа релевантных =к,системы SMART документов, ранее вы-данных системой
MEDLARS
Число релевантных
Относительная полнота =системы MEDLARSОтносительная полнота =системы MEDLARSдокументов, выданных системой MEDLARS, ■ из общего числа релевантных документов,документов, выданных системой MEDLARS, ■ из общего числа релевантных документов,SS⑺⑺ранее выданных си-стемой SMARTранее выданных си-стемой SMART
Относительная полнота =системы MEDLARS
Относительная полнота =системы MEDLARS
документов, выданных системой MEDLARS, ■ из общего числа релевантных документов,
документов, выданных системой MEDLARS, ■ из общего числа релевантных документов,
S
S
⑺
⑺
ранее выданных си-стемой SMART
ранее выданных си-стемой SMART
Поскольку относительная полнота системы MEDLARS зависит от числа релевантных документов, выданных SMART, используя различные методы поиска в системе SMART, мы будем получать разные значения относительной полноты для системы MEDLARS. '
В табл. 9 приведены значения относительной полноты, при этом релевантными считаются документы, имеющие для автора запроса хоть какое-нибудь значение. Рассматривая эту таблицу, можно сказать, что в том случае, когда размеры выдачи определяются пределом выдачи в MEDLARS, относительная полнота системы SMART в среднем на 25% выше относительной полноты системы MEDLARS. Если же использовать более тонкие методы, разработанные в SMART, такие, как корреляционный предел выдачи и итеративный поиск, то SMART-дает улучшение относительных характеристик эффективности в среднем на 80—90% по сравнению с системой MEDLARS, при этом различие статистически достоверно. При этом наилучшие результаты получаются в том случае, когда в SMART применяются различные машинные словари, а итеративный поиск в этом случае не дает значительного улучшения. Причина этого состоит, конечно, в том, что релевантные документы, на основе которых строится улучшенный запрос, должны входить в множество из 5 документов, имеющих оценку релевантности. К сожалению, последние 5 документов выбирались довольно случайно, т. е. не были
Те запросы, для которых или 財,или S равнялись нулю, были нсклю・ чены из тех 17 запросов, результаты обработки которых имеются в табл, 9—11.
7 Зак, 561 '
первыми пятью документами в выдаче. Поэтому ясно, что поиск с обратной связью в системе SMART, который по существу использует ранжированную выдачу документов, не будет давать никаких преимуществ, если для уточнения запроса брать произвольным образом упорядоченные документы.
Данные табл. 10 показывают, что значения точности, обеспечиваемые системой SMART, примерно на 30—40% ниже соответствующего значения точности (0,4823), которое получается в системе MEDLARS. Здесь опять трудность заключается в том, что при выборе документов, которые затем даются авторам запросов ^ля оценки релевантности, не используется ранжирование документов, предусмотренное в системе SMART. В то время как преимущество в полноте для системы SMART растет от 10% при использовании списка основ слов до 150% для большинства случаев применения тезауруса, проигрыш в точности, однако, остается почти постоянным.
Как это следует из данных, приведенных в табл. 11, та же самая картина наблюдается и в случае, когда релевантными считаются документы, про которые сказано, что они имеют важное значение для автора запроса. Постоянные потери в точности для системы SMART (около 40%) компенсируются преимуществом в относительной полноте, изменяющейся от среднего значения порядка 90% для обычного предела выдачи, принятого в MEDLARS, до среднего значения в 290% для корреляционного предела выдачи и почти до 400% для первой итерации при поиске с обратной связью. Различие показателей эффективности, приведенных в табл. 11, по большей части статистически достоверно. Еще раз подтверждается, что более тонкие процедуры, используемые в SMART, позволяют увеличивать значения полноты, не вызывая при этом больших потерь в точности.
Заключение
В табл. 12 и 13 приведены усредненные разности значений показателей эффективности двух систем, причем в табл. 12 отражены разности соответствующих значений показателей для разных методов поиска, а в табл. 13 ——для разных словарей, применяемых в системе SMART при поиске. Данные табл. 12 и 13 получены на основе данных таблиц 6, 7, 9, 10 и 11, при этом в табл. 12 данные усреднялись по 5 используемым словарям, а в табл. 13 ——по различным методам поиска. Нам кажутся обоснованными следующие выводы:
По сравнению с обычным поиском по^ запросу, задаваемому в виде булевской формулы, значительное улучшение показателей эффективности получается с помощью ранжирования
Значения разностей показателей эффективности Для систем SMART и MEDLARS (усреднение
、по нескольким словарям, используемым в системе SMART) О
Процедура поиска в системе SMART
Массив «расширенной MEDLARS»
Массив по офтальмологии
Внешняя экспертная оценка
Оценка релевантности дана авторами запросов (релевантными считаются документы, имеющие хоть какое-нибудь значение)
Оценка релевантности дана авторами запросов (релевантными считаются документы, имеющие важное значение)
П
т
п
т
П
т
П
т
Предел выдачи тот же, что и в Medlars
—33,75%
-30,25%
-32,4%
-32,0%
+23,4%
—35,4%
+93,2%
—44,0%
Корреляционный предел выдачи
—9,00%
-10,50%
-26,2%
—26,8%
+83,0%
—42,4%
+289,0%
—41,0%
Одна итерация при поиске с обратной связью
+ 13,75%
+ 12,25%
—0,4%
-0,2%
+89,0%
—41,2%
+396,8%
—43,8%
Две итерации при поиске с обратной связью
+ 18,50%
+ 17,25%
+4,0%
+ 10,0%
+88,8%
—40,0%
—
1) П — полнота, Т — точность.
Значения разностей показателей эффективности для систем SMART и MEDLARS (усреднениепо нескольким методам поиска, применяемым к системе SMART)
Вид словаря, используемого в SMART
Массив «■расширенный MEDLARS»
Массив по офтальмологии
Внешняя экспертная оценка
Оценка релевантности дана авторами запросов (релевантными считаются документы, имеющие хоть какое- 、нибудь значение)
Оценка релевантности дана авторами запросов (релевантными считаются документы, имеющие важное значение)
П
т
п
т
п
т
П
т
Слоцарь《S》
-15,00%
— 14,33%
-18,66%
— 12,33%
+42,50%
-38,00%
+405,00%
-40,66%
Словарь основ
— 16,00%
-12,66%
-12,00%
-12,33%
+23,50%
-35,66%
+337,66%
-39,66%
Автоматический список слов
—
—
-9,66%
+8,33%
+63,00%
—34,00%
+ 156,00%
—42,33%
Автоматический словарь слов-различителей
—2,33%
—3,00%
-2,00%
-13,66%
+ 108,25%
-52,00%
+247,00%
—52,33%
Тезаурус
+ 1,00%
-1,33%
' -5,66%
—7,00%
+ 118,00%
-38,66%
+ 152,66%
-39,66%
документов, а также при поиске с обратной связью (см. табл. 12).
Итеративная стратегия поиска, реализованная в системе SMART, дает значительный выигрыш по сравнению с обычными методами поиска, используемыми в MEDLARS (см. табл. 12).
Лучшие показатели эффективности получаются, если использовать словарь слов-различителей и тезаурус, чем в том случае, когда применяются лишь процедуры распознавания основ или самих слов (см. табл. 13).
' 4) Методы нормализации языка документов, используемые в системе SMART для построения словарей и тезаурусов, в среднем дают по меньшей мере такую же эффективность поиска, что и обычное ручное индексирование документов (см. табл. 13).
Возможно, что в ИПС будущего будет использоваться метод сравнения векторов, который позволяет осуществлять ранжированную выдачу, а также итеративный поиск для получения улучшенных формулировок поисковых предписаний. /
Возможно, что в будущем синтаксический и семантический анализ текстов, а также ввод документов, осуществляемый сейчас обычно опытными специалистами-индексаторами, будет заменен некоторыми средствами анализа, которые будут получены при помощи машины на основе уже имеющихся массивов документов.
ЛИТЕРАТУРА <
Garvin Р. L. et al., Some opinions concerning linguistics and information processing. Rep. PB 190 639, Center for Applied Linguistics, May 1969. Available . froni National Technical Information Service, Washington D. C.
Edmundson H. P., New methods in automatic extracting. J. ACM 16, 2 (1969), 264—285.
Pacak M., and Pratt A. W., The function of semantics in automated language processing. Symp. on Information Storage and Retrieval, Univ, of Maryland, Apr. 1971.
Baxendale P., An empirical model for machine indexing. Third Institute on Information Storage and Retrieval, American U., Washington D. C., Feb: 1961, pp. 207—218.“
Clarke D. C., and Wall R. E., An economical program for the limited parsing of English, Proc. AFIP§ 1965 FJCC, Vol. 27, Pt. 1, Spartan Books, New York, pp. 307—319.
Damerau F. J., Automatic -parsing for content analysis. Comm. ACM 13, 6 (1970), 356—360.
Rush J. E., Salvador R. and Zamora A., Automatic abstracting and indexing: ■ Production of indicative abstracts by application of contextual inference and syntactic coherence criteria. /. ASIS 22, 4 (1971), 260—274.
Salton G., Automatic text analysis. Science 168, 3929 (17 Apr. 1970), 335— 343.
Cleverdon С. W., and Keen Е. М., Factors determing the performance of indexing systems; Vol. 2 — test results. Aslib Cranfield Res. Proj., Cran- field, England, 1966.
Salton G., and Lesk M. E., Computer evaluation of indexing and text processing. 7 ACM, 15, 1 (1968), 8—36.
Salton G., Automatic processing of foreign language documents. J. ASIS, 21, 3 (1970), 187—194./
Dennis S. F., The design and testing of a fully automatic indexing-searching system for documents consisting of expository text. In Information Retrieval—A Critical View, G. Schecter, Ed., Thompson Book Co., Washington D. S., 1967.
Giuliano V. E., and Jones P. E., Study and test of a methodology for laboratory evaluation of message retrieval systems. Rep. ESD-TR-66-405, Arthur D. Little, Cambridge, Mass., 1966.
Sparck Jones K., Automatic Keyword Classification for Information Retrieval. Butterworth and Co., London, 1971.
Stevens M. E., Automatic indexing: A state of the art report. NBS Monograph 91, U. S. Bureau of Standards, Washington D. C., March 1965.
Stevens M. E., Giuliano V. E., and Heilprin L. B. Statistical association methods for mechanized documentation. NBS Mise. Pub. 269, U. S. Bureau of Standards, Washington D. C., Dec. 1965.
Swanson D. R., Searching natural language text by computer. Science, 132, 3434 (Oct. 21, I960), 1099—1104.
Swanson D. R., Interrogating a computer in natural language. Proc. IFIP Cong. 1962, North-Holland Publishing Co., Amsterdam, p. 288—393.
The 'Principles of Medlars. National Library of Medicine, Bethesda, Md., 1970. Available from Superintendent of Documents, Washington D. C.
Salton G“,Automatic Information Organization / and Retreival. MsGrawHill, New York, 1968. См. русский перевод: «Автоматическая обработка, хранение и поиск информации». Под ред. проф. А. И. Китова. М., «Сов. радио», 1973. 560 стр.
Salton G., The SMART Retrieval System — Experiments in Automatic Document Processing. Prentice-Hall, Englewood Cliffs, N. J., 1971.
Salton G., A comparison between manual and automatic indexing methods. American Documentation 20, 1 (Jan, 1969), 67—71.
Salton G., A new comparison between conventional indexing (Medlars) and automatic text processing (SMART). /. ASIS 23, 2 (1972), 75—84.
Lancaster F. W., Evaluation of the Medlars demand search service. National Library of Medicine. Bethesda, Md., Jan. 1968.
Salton G., Search and retrieval experiments in real-time information retrieval. In Information Processing 68 (Proc. IFIP Cong.), North-Holland Publishing Company, Amsterdam, 1969, pp. 1082—1093.
Salton G., The performance of interactive information retrieval. Information Processing Letters I, 2 (July 1971), 35—41.
Borko H., The construction of an empirically based mathematically derived classification system. Rep. SP-588, System Development Corp., Santa Monica, Calif., Oct. 1961.
Augustson J. G., and Minker J. An analysis of some graph theoretical cluster techniques. J. ACM, 17, 4 (1970), 571—588.,
Doyle L. B. Breaking the cost barrier in automatic classification, Rep. SP-2516, System Development Corp., Santa Monica, Calif., July 1966.
Gotlieb С. C., and Kumar S., Semantic clustering of index terms. /. ACM, 15, 4 (1968), 493-513.
Dattola R. T., Experiments with a fast algorithm for automatic classification. In The SMART Retrieval System — Experiments in Automatic Document Processing, G. Salton, Ed., Prentice-Hall, Englewood Cliffs, N. J„ 1971.
Johnson D. В., and Lafuente J. М., A controlled single-pass classification algorithm with application to multi-level clustering. Sci. Rep. ISR-18, Sec. XII, Dept, of Computer Science, Cornell U., Ithaca, N. Y., Oct 1970.
Bonwit K., and Aste Tonsman J., Negative dictionaries. Sci. Rep. ISR-18, Sec. VI, Dept of Computer Science, Cornell University. Ithaca, N Y.. Oct. 1970.
Salton G., Experiments in automatic thesaurus construction for information retrieval Proc. IFTP Congress 71, Ljubljana, North-Ho11and Puhlishin? Co., Amsterdam, 1972, pp. 115—123. См русский перевод- Эксперименты по автоматическому построению тезауруса для информационного поиска. Кибернетический сборник, № 11, М.,《Мкр》,1974.
Система аксиом для математическойбиологии1)
Уильям Хоффман
Следующие шесть аксиом могут, по-видимомуэ обеспечить Достаточную основу для построения универсальной и реалистической математической биологии: (1) Любой организм представляет собой (топологическое) объединение тканей. (2) Всякая ткань с математической точки зрения является конечным покрытием, окрестности которого суть клетки ткани. Всякая клетка ткани обладает определенной биологической активностью, математическим эквивалентом которой служит векторное (или тензорное) поле. (3) Ткань с топологической точки зрения можно рассматривать как компактное многообразие. (4) Псевдогруппа может служить математической моделью биологической формы и функции, причем (5) каждая из подобных псевдогрупп характеризуется инфинитезимальным порождающим оператором, представляющим математическую модель биологического действия клетки. (6) Организм приобретает биологические структуру и функцию, обеспечивающие оптимальность его функционирования с точки зрения трофических функций. Первая аксиома, в сущности, трюизм. Вторая легко устанавливается посредством «поименного» сопоставления с общепринятой биологической классификацией клеток: Вкупе аксиомы 1 и 2 утверждают эквивалентность развитой в биологии клеточной теории принципу, согласно которому клетка по отношению к биологическим форме и функции является инфинитезимальным порождающим оператором. Аксиома 3 вытекает из того, что число клеток в любой ткани необходимо конечно. Аксиомы 4 и 5 соответствуют констатации определяющей роли фибрилл и нитевидных фиброзных органелл, универсальности клеточного ядра, наличия «организационных центров» в морфогенезе и сохранения конкретных функций в условиях индивидуальной изменчивости. Кроме того, аксиома 5 отражает то обстоятельство, что анатомические структуры развиваются из более примитивных исходных посредством реализации небольших «дифференцирующих» изменений, а другими словами, посредством продол-
〔)William С. Hoffman, A system of axioms for mathematical biology, Mathematical Biosciences, 16 (1973),11—29.
жений соответствующих лиевых групп преобразований. Аксиома 6 практически перефразирует принцип адекватного проектирования Рашевского, прилагая его, однако, к его «естественной» области — трофическим функциям. Показано применение сформулированных принципов к процессу контактной индукции при эмбриональном развитии тканей и феномену аллометрического роста. 〉
ВВЕДЕНИЕ
Процессы, с которыми сталкиваются биологические науки, представляют собой того или иного рода преобразования. Мышечное сокращение, кровоток, биохимические реакции, даже силы, вызываемые покровными и соединительными тканями,—— все эти явления по природе своей являются векторными тюлями с локальными базисами. Как токовые они могут быть представлены математической моделью, записанной на языке групп преобразований:
G X М -Д> М; определяемая операцией rg (х)=,招
%, gwG, (1)
где G ——непрерывная группа (обладающая стандартными групповыми свойствами замкнутости, ассоциативности, существования единицы и обратного элемента), М ——многообразие (локально евклидово топологическое пространство), а преобразование tg характеризует определяющую операцию группы G на элементах %, ‘%, ... многообразия М. Если множество элементов группы G не включает все обратные элементы для элементов из G, как это было бы, например, в случае необратимого процесса, то тогда группа G называется полугруппой преобразований. 、
Существует множество примеров подобных групп преобразований: фризы на фасадах зданий (группы переносов), снежинки и другие кристаллы (кристаллографические группы), двусторонняя симметрия тела животного (группа отражений) и другие симметрии, наблюдающиеся в растительном и животном мирах (диатомовые водоросли, простейшие, подсолнечники, филлотаксис, спиралевидные морские раковины и т. д.).
Группа представляет собой основной математический объект, обладающий как структурой (множество ее элементов), так и функцией (определяющая операция — закон композиции преобразований, образующих группу). В связи с этим группа исключительно удачно подходит для описания явлений, рассматриваемых в биохимии, физиологии, морфологии и психологии. В самом деле, единый математический принцип, который, по-видимому, обеспечивает общее представление феномена жизни, состоит
в том, что клетка, рассматриваемая в качестве основного компонента ткани, является так называемым ростком группы Ли. Более подробно этот „принцип будет обсуждаться в следующем разделе.
Существо дела здесь состоит в эволюционном приспособлении биологических систем организмов к физическим и геометрическим характеристикам внешнего мира, в котором они себя «проявляют». Биомеханика движений скелета, «константности» психологии восприятия, биохимические универсалии жизненных процессов [8], движения и потоки, связанные с морфогенезом,— все это реакции отдельных видов организмов на соответствующие инвариантности, свойственные геометрико-физико-химиче- ским характеристикам внешней среды, которые организмы «сумели» идентифицировать и включить в свою филогению в процессе эволюции. Чем больше инвариантных, регулярных свойств своего внешнего мира смог распознать и «учесть» организм, тем больше хаоса удается ему устранить из внешней среды, что в конце концов обеспечивает его преимущества с точки зрения принятия решений, уменьшения фрустрации, доминирования и, по существу, собственно выживания.
В данном контексте ключевым понятием . является симметрия——слово со многими значениями; мы, однако, используем его в математическом смысле, т. е. как инвариантность относительно преобразования. Этот подход затрагивает такие периодические и упорядоченные свойства биологической среды, как форма, функция и биохимические процессы. В каждом конкретном случае, однако, соответствующее определяющее векторное (тензорное) поле можно задать, лишь хорошо зная динамику собственно физико-химического процесса. Выяснение последней обычно представляет собой совершенно отдельную задачу, предусматривающую анализ уравнений движения, уравнений химической кинетики и т. п., причем последние в свою очередь снова могут быть представлены в виде «собственных» векторных полей.
Согласно Холдену и Брегману [11]: «Распознавание менее явных (чем у классических групп) симметрий может часто выполнять аналогичную роль, причем иногда ——в более широком смысле. В природе существует множество объектов, общие очертания которых являют симметрии, вызванные формообразующими профакторами. Обнаружение у объекта' симметрии привлекает внимание к силам, вызвавшим ее появление. Частные отклонения от этой симметрии могут в таком случае быть изучены отдельно».
Подобные отклонения от основной симметрии (какую бы форму она ни принимала) часто имеют характер наложенных на нее случайных возмущений и могут рассматриваться как резуль-
тат естественного развития исходной нестатистической, детерминированной ситуации. При таких обстоятельствах данный подход дает возможность изучить основные проявления биологической формы и функции с тем пониманием, что последняя исчерпывается силами, движениями, потоками и биохимическими реакциями. Статистические флуктуации, неизбежно налагающиеся на основной процесс, следует рассматривать отдельно. Основным объектом в этой модели является так называемая структурно устойчивая динамическая система, свойства которой более подробно мы обсудим ниже.
Рис, 1. Многообразие М гомеоморфно некоторому подмножеству 及-мерного евклидова пространства R". Отображение в евклидово пространство к" таково, что якобиан /(%'/%)#=0. Траектория {tg(〃)}, проходящая через точку 〃wM, соответствует преобразованию Ли G X М -^> М; это преобразование индуцирует соответствующую орбиту {т^ [Ф (w)]} и в евклидовом пространстве ₽л.
Рассмотрим вкратце нашу математическую структуру, отложив детали до следующего раздела, в котором будут сфор^ мулированы основные постулаты. Группа Ли преобразований является одновременно дифференцируемым многообразием М (в двумерном случае обычной поверхностью) и группой, действие которой на многообразии должно быть 《гладким》(т. е. непрерывной дифференцируемой) , (рис. 1). Структура группы должна быть согласована со структурой дифференцируемого многообразия М.
Действие группы определяется локально векторным полем X и соответствующей производной Ли Lx [9, 15, 25]. В приложениях данной модели к биологическим феноменам многообразие М, так же как и группа G, является компактным. Свойство
компактности означает, что существует конечное покрытие многообразия окрестностями. В нашем случае это свойство представляется тем фактом, что ткань состоит из клеток. Другим примером могли бы послужить подобласти, образующие многообразие зрительного восприятия и имеющие диаметр, по порядку соответствующий пределу остроты зрения [10]. Каждая из таких окрестностей является «локально евклидовой» в том смысле, что существует взаимное дифференцируемое отображение на соответствующую подобласть евклидова пространства (на рис. 1 эти отображения указаны стрелками). С точки зрения биологических ,приложений эта особенность математической структуры означает, что весь теоретический анализ вплоть до «минуты откровения» может проводиться исключительно в пределах более удобного евклидова пространства Rn, и только на этом этапе, но отнюдь не раньше, следует сопоставлять теоретические выводы (предсказания) с реальными характеристиками исследуемого явления.
Локальное действие группы Ли заключается в том, чтобы соединить соседние точки многообразия лежащей на нем кривой, называемой орбитой, траекторией или линией тока (обтекания) ;форма этой кривой определяется свойствами конкретной группы преобразований. Согласно первой основной теореме Ли, группа Ли преобразований в евклидовом пространстве Rn полностью определяется так называемой производной Ли
Lx = £ X» (%,・・・,х) ^у, ⑵
представляющей собой, по крайней мере в случае обычных функций, обыкновенную производную по направлению, берущуюся в направлении касательной к орбите группы во всех точках последней. В связи с этим и говорят, что действие лиевой производной заключается в «протаскивании потока》[9] по орбите соответствующей группы Ли.
Математический «поток» определяется динамической системой. Последняя является однопараметрической группой, представляющей интегральное многообразие (или, в случае двумерного евклидова пространства R2, кривую) системы обыкновенных дифференциальных уравнений первого порядка [6, 9, 25]. Такая система дифференциальных уравнений называется системой Пфаффа. Согласно известной теореме из теории дифференциальных уравнений [3J, решениями такой системы являются частные решения дифференциального уравнения Лагранжа в частных производных, представляющие инвариантность определяющей операции группы Ли '
LXF (л:!, ..., хд) = 0. .
Следовательно, применение операции взятия производной Ли к любой функции, инвариантной относительно определяющей операции группы Ли, должно приводить к получению нуля.
В то же время алгебра Ли (скобочные произведения), соответствующая группе Ли, индуцирует присоединенное векторное поле X. В таком случае двойственность обеспечивает существование соответствующего множества дифференциальных форм, также определяющих интегральные кривые (орбиты). С другой стороны, те биологические функции, представление которых в связи с их «векторно-полевой» природой оказывается более естественным на языке локальных объектов, можно описывать такими моделями, если речь идет о тканях или иных элементах укрупненной биологической структуры. Так, например, биохимические воздействия, локальные потоки, механические силы, порожденные биологическими причинами,——все эти феномены более естественно отнести к общему классу векторных полей.
АКСИОМАТИЧЕСКОЕ ВВЕДЕНИЕФУНДАМЕНТАЛЬНЫХ БИОЛОГИЧЕСКИХ ПРИНЦИПОВ
Мы выдвигаем несколько математических аксиом, которые по существу являются переформулировкой хорошо известных биологических принципов. Опираясь на них, мы получим с помощью как математических, так и биологических доводов ряд фундаментальных биоматематических результатов. Последние порождают математическую структуру, которая, судя по всему, охватывает общую теорию биологической формы и функции.
Несколько злоупотребляя терминологией, мы будем непринужденно переходить от «группы (преобразований) Ли》к «псевдогруппе» и «псевдополугруппе», в большей или меньшей степени руководствуясь контекстом. Если исследуемое явление имеет необратимый характер или характеризуется бесконечным множеством существенных параметров, то в этих случаях действительно появляется либо псевдогруппа, либо псевдополу, группа.
Аксиома 1. Любой орган (организм) представляет собой объединение тканей ,
Q尸 €м“, (3)
где Mij — хаусдорфово пространство (не обязательно связное).
Аксиома 2. Каждая ткань Mj представляется конечным покрытием клетками определенного типа (или типов), рдссматри^ ваемыми в сочетании с их соответственной деятельностью. Эта интегральная деятельность порождает некоторое преобразование.
характеризующееся соответствующим векторным (или тензор^ ным) полем
M/ = £u& T:UJk^Vfk.⑷
Перёая часть аксиомы 2 по существу перефразирует основное положение развитой в биологии клеточной теории, сводящееся к тому, что клетка является основой жизни [23]. Таким образом, подмножество окрестностей пространства (ткани) Mj реализуется на клетках ткани. Вышеупомянутую деятельность клетки обозначим через Т — стандартное обозначение функтора по направлению. Введение последнего определяется тем обстоятельством, что биологическая функция, осуществляемая клеткой Ujh (или появляющаяся в результате ее деятельности), порождает векторное поле 7^; оно представляет силы, развиваемые клеткой (если они имеются), ее возможные движения, потоки, поступающие из клетки наружу, биохимические реакции, происходящие в клетке, и т. д.
Аксиома 3. Ткань с топологической точки зрения можно рассматривать как компактное многообразие.
В таком случае принимается, что упоминавшееся в аксиоме 2 покрытие является конечным (для любой ткани это в высшей степени разумное допущение), а хаусдорфово пространство аксиомы 1 предполагается локально евклидовым. Другими словами, для любой'входящей в покрытие окрестности Uk и-мер- ного многообразия М существует гомеоморфизм 小左,отображающий окрестность Uk на открытое множество Ek евклидова пространства Rn:
勿:&uR.(5)
Кроме того, функции 6尼«[^ и ^^1 определяют на пересечении Uk А 5 двух подмножеств многообразия М гомеоморфизмы открытых множеств 巾虱 U卜 fl G) и 仇((4 П Ui) в евклидово пространство Rn. На языке клеточных механизмов данное свойство обеспечивает взаимную согласованность тонких клеточных процессов и возможность переключения деятельности клетки с одного процесса на другой.
Следуя Тондьюру [27], не будем требовать обязательной связности многообразия.
Свойства введенного выше гомеоморфизма (5) естественно приводят к понятиям псевдогруппы, карты и атласа, которые будут нужны нам в процессе дальнейшего обсуждения.
Определение псевдогруппы [15, 21]: псевдогруппа преобразований на тополргическом пространстве S представляет собой
совокупность! Г гомеоморфизмов f открытых подмножеств топологического пространства S (областей определения гомеоморфизмов f) в открытые множества топологического пространства S (множества значений f), такую, что
совокупность Г замкнута относительно сужения:
f: Qf S; “uUi; U2 — открытое^>f \и^ Г;
элементы совокупности гомеоморфизмов Г можно „склеивать" в единое целое: если u=Uq
а
f: Uf S, то f е Г при условии, что f |〃 w Г для всех а;
совокупность гомеоморфизмов Г замкнута относительно композиции', fi,f2^ Г, fl: U]f。2;
^f2。订 Г1 ^^fV^^,
тождественный гомеоморфизм входит в совокупность гомеоморфизмов Г: для любого открытого множества
UuS, 3id: U —U, ide Г.
совокупность гомеоморфизмов Г замкнута относительно обратных отображений гомеоморфизмов.
f eT:f еГ^Г^Г.
Если условие (5) не выполняется, то это означает, что мы имеем дело с псевдополугруппой, а не с псевдогруппой.
Если гомеоморфизмы f представляют собой диффеоморфизмы и топологическое пространство S является носителем дифференцируемой структуры, то понятие псевдогруппы есть обобщение группы преобразований Ли. Следовательно, дифференцируемая псевдогруппа образуется совокупностью диффеоморфизмов, локально определенных на многообразии; совокупность элементов группы замкнута относительно операций композиции и получения обратного элемента, если эти преобразования имеют содержательный эквивалент — т. е. область определения второго диффеоморфизма не перекрывает множества значений предшествующего диффеоморфизма.
Пара (Uh,小左),состоящая из окрестности, входящей в покрытие многообразия М, и соответствующего диффеоморфизма в евклидово пространство Rn, образует так называемую карту (или «локальную карту》, «согласованную окрестность») на многообразии М. Атлас дифференцируемого многообразия М, совместный с некоторой псевдогруппой Г, представляет собой множество карт? таких? что соответствующие окрестности U《
образуют покрытие многообразия М. В таком случае из аксиомы 3 непосредственно вытекает следующее положение:
Принцип 3—1. Карта представляет клерку, локализованную в каком-либо конкретном участке ткани. Ансамбль образующих ткань клеток представляется атласом соответствующего многообразия,
Установив содержательные эквиваленты понятий карты и атласа* применительно к нашей проблеме, можно перейти к формулировке аксиомы 4:
Аксиома 4. Псевдогруппа может служить математической моделью биологической формы и функции.
Другими словами, во введенных выше обобщенных представлениях тканей как многообразий и биологической активности как преобразований над тканями, определяемых векторными полями, соответствующие многообразия и действия таковы, что задают псевдогруппу, адекватную исследуемому биологическому феномену* Локальные преобразования, введенные аксиомой 2, не только обеспечивают воздействие на образующие карту окрестности, но также предусматривают существование ассоциированной параметрической группы, действие которой заключается в установлении объема и темпа преобразования [7, 18]. Следующее замечание Боннера прекрасно характеризует действие параметрической группы [4, стр. 271]: «.. .паттерн, к установлению которого привело новое развитие, можно рассматривать как результат взаимодействия образующих процессов с процессами, ограничивающими развитие». -
Последние, т. е. эти «процессы, ограничивающие развитие», образуют параметрические группы, ассоциированные с орбитальными потоками («образующими процессами») данной группы преобразований. По этому поводу мы рекомендуем также обратиться к монографии Уоддингтона [28, стр. 104].
Итак, мы можем идентифицировать биологические воздействия и движения, в том числе биохимические реакции, поставив им в соответствие действия некоторых групп (псевдогрупп) преобразований. Отсюда следует, что биологические потоки можно отождествить с «математическими потоками» (однопараметрические группы преобразований). Локальная структура группы преобразований, определяемая соответствующими векторными полями, производными Ли и дифференциальными формами, отождествляется с гистологией или, проще говоря, микроскопическими элементами, образующими соответствующую ткань. Аналогичным образом общий характер псевдогруппы как неза- внсн旭оро целостного объекта отождествляется с поведением соб-
ственно ткани как макрообъекта в сочетании с ее взаимодействием с другими тканями.
Принцип 4—1. Биологическая форма определяется движением клеток по орбитам соответствующих псевдогрупп.
Обсуждение. Орбита представляет собой траекторию (линию тока), прокладываемую по многообразию посредством реализации преобразований, индуцированных действием псевдогруппы [27, определение 1.3.1]. Следовательно, отдельные связные компоненты образуют связанные траекторией подмногообразия многообразия М, которые представляют разбиение последнего [27г лемма 1.3.2]. Итак, математическое содержание принципа 4—1 непосредственно следует из аксиом 3 и 4 и упомянутой леммы.
Что касается биологического обоснования принципа 4——1, мы рекомендуем читателю обратиться к: (i) соответствующим местам монографии Уоддингтона [28, стр. 81], обсуждающим движение ткани в бластодерме птенца, движение клетки в эмбрионе морского ежа (там же, стр. 97), истечения при гаструляции в яйцеклетках амфибии (там же, стр. 99); (ii) главам IV, V и IX монографии Томпсона [26], в которых приведено много примеров биологической формы в переводе на язык групповых орбит; (iii) статье Стала [24], посвященной изучению процессов новообразования с точки зрения преобразований подобия. Отличные статьи фон Энглхардта, Трол升а и Вулфа в журнале «Studium Generale》(июль 1949 года) по поводу роли симметрии в биологической форме также служат поддержкой нашего принципа. Можно было бы привести множество других примеров биологических форм, соответствующих орбитам разного рода потоков и псевдогрупп, однако вышеупомянутых ссылок должно быть достаточно для установления реалистичности нашего принципа с биологической точки зрения. 、
Принцип 4—1.1. Биологическая форма с точностью до статистических флуктуаций (^индивидуальная изменчивость^ определяется инвариантностью относительно действия соответствующей псевдогруппы.
Обсуждение. Этот принцип представляет собой то, что на языке математики называется непосредственным следствием, в данном случае ——принципа 4——1 и лемм 1.3.2 и 1.3.3 из монографии Тондьюра [27]. По поводу биологического смысла настоящего принципа мы рекомендуем читателю обратиться к соответствующим местам монографии Беррилла [2, стр. 17 и 109 и следующие за ними], касающимся неизменности конфигураций волокон ресничек и жгутиков, встречающихся в биологической структуре простейших, и подавления клеточной индивидуальности однородностью тканей; к описанию дифференциации тканей
in vitro в монографии Уоддингтона [28, стр. 51] (а также к работе Уиллмера [29], посвященной трем основным морфологическим типам клеток, выращенных in vitro); к экспериментальному исследованию направленных микроскопических канальцев протяженных клеток, предпринятому Байерсом и Портером [5]; к исследованию формирования мышечного тракта в миогенезе, выполненному Конигсбергом [16]; к описанию процесса инвагинации, данному Берриллом [2, стр. 140] с позиций клеточных механизмов; к его же [2, стр. 15] анализу первичности роли фибрилл и экстрацеллюлярных (внеклеточных) систем волокон [2, стр. 22]; к тем основным схемам развития многоклеточных организмов: радиальной, с преобладанием двусторонней симметрии и с многократным повторением одной и той же структуры, как это имеет место, например, у сегментированных животных, организмов-колоний и травянистых растений. Классификация Хоумса [12, глава II] типов клеточной специализации также представляет собой сильный аргумент в пользу нашего принципа. Шмитт указал [20], что, по всей, вероятности, именно две разновидности фиброзных органелл, нитевидные и капиллярные, являются во всей живой природе основными структурными элементами клетки. Кроме того, мы хотели обратить внимание на точку зрения Беррилла [2, стр. 16], согласно которой фиброзные белки, весьма вероятно, являются структурной основой организации клеток и тканей.
Пр инцип 4——1.2. Отдельные элементы ткани воспроизводят неподвижные точки функции, представляющей действие ткани, или, другими словами, соответствуют группе (подгруппе) изотропии псевдогруппы.
Обсуждение. Согласно аксиомам 2 и 4, можно считать, что ткань представляется дифференцируемым многообразием и рядом соответствующих векторных полей. Опираясь на известную теорему [1, стр. 550] о существовании конечного множества особых точек векторного поля, определенных на подобном дифференцируемом многообразии, можно прийти к выводу о существовании лишь конечного числа точек, характеризующих тканевую функцию. Это же заключение следует из того обстоятельства, что множество неподвижных точек составляет подмногообразие (не обязательно связное) группы преобразований [17], а также и из представления псевдогруппы как G-структуры [22, стр. 120]; [27, стр. 1].
Для полноты введем определение группы (подгруппы) изотропии: группа (подгруппа) изотропии группы преобразований G >< М — М для элементов многообразия 〃о 巨 М состоит из таких элементов группы преобразований g w G, при которых дей-
ствие группы 八 « с ( 、心
GUo={g^G: Tg(uo)==uo,⑹
не изменяет статуса элементов многообразия и0 как неподвижных точек. Группа (подгруппа) изотропии полной группы преобразований представляет собой прямое произведение групп (подгрупп) изотропии, определенное на всех- точках многообразия М. Преобразование (группу преобразований) называют свободным, если G% сводится к тождественному преобразованию на G, и обозначают 1G. Нас, однако, интересуют группы изотропии более общего характера, а именно — соответствующие особым точкам векторного поля, принадлежащим многообразию М. В таком случае вторая часть принципа 4—1.2 становится очевидной. Первая (математическая) часть принципа непосредственно следует из того обстоятельства, что неподвижные точки групповой операции г
%(〃) = '〃,uWU и М,'〃巨'UuM ' '(7)
определяются преобразованием
xg (u) = и,(8)
следовательно, при выполнении условия (8) не только преобразование g является элементом подгруппы изотропии, но и элемент многообразия и оказывается точкой покоя (неподвижной точкой) группы преобразований.
Биологическое содержание принципа 4——1.2 обосновывается либо тем обстоятельством, что клетка представляет собой некоторый элементарный орган (в плане локализации или функции), характеризующийся разнообразными внутриклеточными процессами и обладающий способностью перемещаться, образовывать новые клетки, порождать силы и т. д. (см. монографию Беррилла, [2, стр. 17, 21——23, 58, 59, 139]), т. е. клетка является неподвижной точкой относительно своей функции, либо, с другой стороны, тем фактом, что клетка сама содержит отдельные элементы, скажем такие, как ядра или ядрышки, которые можно рассматривать в качестве неподвижных точек биологической функции клетки (см. монографии Уоддингтона [29, стр. 18] и Беррилла [2, стр. 20]). В качестве других биологических объектов, которые можно отождествить с неподвижными точками (точками покоя соответствующих преобразований), отметим уоддингтоновские «эвокаторы» [28, стр. 77] и спеманновские (Spemann) организационные центры, полюса и т. п. «образования», проявляющие свое действие в процессе морфогенеза.■
Принцип 4——1.3. Биологическая структура и функция представляют собой реализацию пучка классов смежности.
Обсуждение. Согласно аксиоме 4, биологическая структура и функция представляют собой реализацию групп
преобразований. Последние всегда поддаются факторизации по пространствам траекторий, причем каноническое отображение имеет вид [27, стр. 14, лемма 1.3.2]
otq: Q -> Q/G, 、(9)-
где Q/G — «траекторное» множество Q, характеризующее его разбиение на непересекающиеся подмножества. Итак, налицо все характерные элементы пучка класса смежности: расслоенное пространство С X G, проекция 冗q, базисное пространство Q/G и групповая структура G. Как указывалось выше, первый из этих элементов обеспечивает воспроизведение формы и функции, а проекция и соответствующая факторизация ——специализацию тканей и клеточной морфологии, определяемую характером рассматриваемого биологического явления.
Принцип 4—1.4. Биологическая форма представляется 〃4・ вариантностью относительно действия почти свободной структурно устойчивой группы преобразований.
Обсуждение. Свободная группа преобразований относится к числу тех груцповых объектов, группа изотропии которых является тривиальной, т. е. состоит только из единичного элемента и всей группы. Действие группы называется почти свободным, если группа изотропии строго дискретна; следовательно, группа преобразований является почти свободной, если ее неподвижные точки разделены. В таком случае множество неподвижных точек компактного многообразия является дискретным и конечным. В данном контексте, после того как мы отождествили неподвижные точки с биологическим понятием центра, становится очевидной биологическая значимость условия «быть почти свободной».
Смысл понятия «структурная устойчивость» сводится к тому, что топологические свойства фазового пространства остаются неизменными при воздействии малых возмущений на динамическую систему, являющуюся «источником» фазового портрета. Используй известные соответствия между динамической системой и системой уравнений Пфаффа, а затем — между последней и дифференциальным уравнением Лагранжа в частных производных, приходи^ к соответствию вида
脸= Х(х) —Lx = X・ V (10) или в наиболее общем виде:
М ,
л/ \ л*
тм — гм
Оба построения, таким образом, при данных начальных условиях приводят к одной и той же конфигурации траекторий. Если система Х(х) подвергается воздействию малого возмущения, под влиянием которого она переходит в некоторое состояние Х(х)+Р(х), предположение о наличии структурной устойчивости обеспечивает сохранение общего характера топологии пространства решений уравнения (10) в том смысле, что в подпространствах, входящих в фазовый портрет системы, будут наблюдаться траектории тех же типов. Отсюда вытекает непосредственная связь с явлением индивидуальной изменчивости. Концепция индивидуальной изменчивости сводится к тому, что отдельные особи, принадлежащие одному и тому же или родственным видам, обладают одной и той же биологической функцией, несмотря на значительные структурные различия системы оргатов, обеспечивающих выполнение соответствующей функции. «Головной мозг разных людей столь же неодинаков, как и их лица, их желудки, их печени», тем не менее основные механизмы восприятия и познания у всех нас одинаковы, если только они не нарушены каким-либо поражением, приводящим к негомеоморфному изменению структуры.
Аксиома 5. Любая группа (псевдогруппа) преобразований, введенная в аксиоме 4, имеет инфинитезимальный порождающий оператор, представляющий математическую модель биологического действия клетки.*
Аксиома 5 вводит обобщенное представление, по меньшей мере локальное, биологического механизма в виде действия инфинитезимального порождающего оператора на дифференцируемом многообразии; этот инфинитезимальный порождающий оператор представляет собой лиеву производную 厶р拉,определяемую соответствующим векторным полем (аксиома 2, соотношение (4)). Математическое обоснование выбора такой модели можно найти в монографии Стернберга [25, стр. 89—90] и статье Сингера и Стернберга [21, стр. 10]. Интересующимся биологическим обоснованием модели рекомендуем обратиться к монографии Уоддингтона [28, стр. 9], в частности таким положениям, как:,
、«морфогенез ... требует объяснения в терминах ... сил, переводящих ...вещество из исходной формы в новую》; концепция «эмбрионального поля》(стр. 16 и 96):
《.・・ некоторые клеточные взаимодействия осуществляются через специализированные зоны на поверхности клетки, которые оформляются в так называемые «тела прикрепления» или дес- мосомн》.
Что касается развившейся клетки, то ее активность мы рассматриваем в категориях развиваемых ею сил, совершаемых ею перемещений и реализуемых биохимических реакций. Все эти процессы происходят на микроуровне, и каждому из них можно поставить в соответствие некоторое векторное поле. В целом это явление обладает всеми характерными свойствами инфинитезимального порождающего оператора.
Принцип 5—1. Клетка, рассматриваемая в качестве основного компонента ткани, представляется ростком лиевой группы преобразований.
Обсуждение. Для заданной окрестности единичного элемента лиевой группы преобразований соответствующий росток группы Ли определяется как класс эквивалентности над всеми группами Ли преобразований, имеющими одно и то же инфинитезимальное преобразование (а следовательно, и одну и ту же производную Ли) в этой окрестности. Согласно первой основной теореме Ли, росток группы Ли полностью определяется соответствующей лиевой производной. Из аксиом 4 и 5, однако, следует, что производная Ли представляет собой инфинитезимальный порождающий оператор, который может служить моделью биологических процессов, связанных с деятельностью на микроуровне клеток различных типов. В таком случае предложенная нами математическая модель клетки задает вполне определен^ ный класс локальной эквивалентности, соответствующий заданной окрестности и производной Ли. Следовательно, росток группы Ли определен, если выполнены внутренние условия совместности для ростка группы Ge и алгебры Ли LG. Математическое обоснование обеспечивается второй основной теоремой Ли и соответствующей обратной теоремой, т. е. тем фактом, что некоторая система линейно независимых производных Ли порождает (замкнутую) алгебру Ли в том и только том случае, если скобочные произведения удовлетворяют тождественному преобразованию
[£%., LxJ'] = ^ с^Ьхк, (/, / = I, ..И, (11)
т. е. произведения Ли 《привязаны》к линейному многообразию, покрытому производными Ли. На биологическом языке это означает, что клеточные процессы и механизмы на микроуровне «почти линейны», т. е. любой процесс может реализовываться в произвольной .последовательности с любыми двумя другими процессами, причем результат все равно будет принадлежать тому же самому (локальному) линейному многообразию (положение или биологическое воздействие), не говори уже об инфинитезимальных объектах высшего порядка. Судя по всему,
клетки, из которых образованы ткани, относятся к этой же категории, потому форма или действие клетки должны быть «интегрируемы» в том смысле, чтобы допускалась экстраполяция характерных свойств отдельной клетки на глобальную совокупность клеток, образующую ткань. В случае таких клеток, как кровяные, клетки защитительного действия и другие, не относящиеся к тканеобразующим, можно воспользоваться тем обстоятельством, что их активность реализуется на микроуровне и, следовательно, говоря математически, либо может быть линеаризована, либо является специфической и независимой. В любом случае они 《заполнят》 локальное линейное многообразие типа определенного правой частью уравнения (11). Что касается морфологии подобных клеток, то их очертания отличаются «гладкостью» (по меньшей мере, дважды дифференцируемы) и, следовательно, могут быть представлены поверхностью вида «(%, у, %)= const. Последняя есть решение дифференциального уравнения в частных производных для производной Ли
'хВ = °
и, следовательно,力——функция, представляющая траектории клеточной активности.
Принцип 5——1.1. Биологическая структура представляет собой реализацию лиевой алгебры группы (псевдогруппы) преобразований.
Обсуждение. Первая основная теорема Ли утверждает, что лиева группа преобразований полностью определяется своими производными Ли. Последние, как известно, образуют алгебру Ли; кроме того, они порождают траектории группы преобразований, а в соответствии с принципом 4——1 биологическая форма определяется траекторным движением клеток.
Принцип 5——2. Морфогенез и постнатальное развитие происходят в результате уточнения существующей биологической формы и функции; эти уточнения соответствуют введению дифференциальных инвариантов посредством продолжения производных Ли группы преобразований.
Обсуждение. Ранние стадии эмбрионального развития отличаются наличием нескольких основных видов симметрии, которые при любых обстоятельствах являются реализацией отдельных траекторий полной Линейной группы. Вскоре, однако, эти примитивные типы линейной, осевой и спиральной симметрии вытесняются более сложными формами, что обеспечивается реализацией непрерывной последовательности малых дифференцирующих переходов, уводящих от исходной структуры. Исходя из того, что производные Ли порождают первоначальную
базовую структуру траекторий (аксиома 5), уточнение ее должно определяться продолжением соответствующих производных Ли. Проиллюстрируем эти положения на конкретном примере: контактная индукция в тканях.
Понятие контактной индукции в тканях характеризует такое взаимодействие между различными частями ткани эмбриона, при котором развитие в одной части {индукторе) приводит к изменению характера развития и дифференциации в другой части [14]. Так, например, входящие в состав центральной нервной системы ткани, образующиеся из гаструлярной эктодермы, представляют собой первую группу эктодермальных органов, испытывающих такого рода влияние, причем в роли ткани-индуктора, являющегося источником этого влияния, выступает хордо-мезо- дерма («центр-организатор» по Спеманну). Центральная нервная система в свою очередь превращается в индуктор по отношению к развитию других эктодермальных органов, например, таких, как носовой мешок, хрусталик глаза и внутренняя структура уха.
Реализация морфогенеза и клеточная дифференциация приводят к изменению взаимного расположения тканей в процессе развитий, что вовлекает в процесс индукции различные системы орган — индуктор. Реакция ткани зависит от: (I) «мощности» индуктора; (II) общего итога всех предшествующих индукционных воздействий; (III) продолжительности периода времени, в течение которого ткань находится в контакте с индуктором (индукторами), и (IV) числа индукторов. Если несколько индукторов действуют одновременно, эффекты, производимые ими, суммируются. Любая система индуктор ——орган .характеризуется градиентами индукционной способности (компетенцией), определяющими предрасположение данной ткани к формированию соответствующего органа. Насто о наличии индукции можно судить по изменениям формы и способа объединения клеток, как, например, в плакодах, «стоящих у истоков» развития носа, хрусталика и уха, или по усложнению видов движения и истечения клеток, как это происходит, в частности, при формировании мозговой пластинки. -
Итак, ряд особенностей процесса индукции в тканях эмбриона весьма точно соответствует характерным свойствам (локальной) однопараметрической группы преобразований, индуцированной векторным полем, т. е. группы Ли преобразований. Продолжительность процесса индукции определяется соответствующими параметрическими группами. Индукторы, действие которых проявляется в виде «градиентных полей》, являются локально аддитивными, т. е. обладают свойством, вполне недвусмысленно свидетельствующем о действие линейной комбинации пневнх производных.
Нижеследующая простая модель (плоское сечение) воспроизводит основные особенности явления индукций в тканях. Рассмотрим совокупность горизонтально движущихся клеток; передние образуют (локально) 《плоскую》 ткань. Это движение можно представить с помощью производной Ли:
& =—女負, (12)
Предположим, что еще одна ткань такого же рода движется вертикально; этот поток (движение ткани) определяется следующей лиевой производной:
j=%訝 (⑶
Траектории производной Li представляют собой горизонтальные прямые, траектории производной 厶2 — вертикальные (рис. 2).
Ldy=const)=O
тг
L2 (х = const) =0
Рис. 2. Траектории движения, представляемые производными Ли L】=—у(д/дх) и L2 = х (д/ду) (соответственно у = const и % = const), до возникновения контактной индукции, определяемой результирующей производной Ли Lo = =—у (д/дх) + % (д/ду\ т. е. движения по окружности.
Допустим, что наши ткани вступили в соприкосновение и вторая выполняет по отношению к первой роль индуктора. Можно ожидать, что в «зоне контакта» оба движения (и соответствующие производные Ли) будут аддитивно объединяться, по крайней
мере локально, что приведет к появлению результирующей лиевой производной:
Lo『 — y$ +唸.(14)
Данндя лиева производная характеризует действие группы вращений плоскости. Траектории, соответствующие этой лиевой производной, представляют собой семейство концентрических окружностей. Если для объединения лиевых производных, представляющих исходные движения, использована взвешенная комбинация вида
x^j + %2^2 = - 乂川* + 乂亦矗'、乂1,乂2>0,(15)
то в результате должно появиться семейство эллиптических траекторий, скажем, типа тех, что наблюдаются в плакодах. Параметры ”i и х2, входящие в уравнение (15), пропорциональны значениям групповых параметров, определяющих интенсивность и продолжительность процесса индукции [6, приложение, теорема 1].
Итак, взаимодействие 《плоской》 ткани-индуктора и «плоской» ткани-индукта должно привести к образованию «скривленной» ткани. Степень возникших в результате локальных закручиваний и изгибов определяется продолжительностью взаимодействия тканей. Следовательно, изменения положения (по переменным х и у) в первом приближении пропорциональны продолжительности контакта Sr:
S (х, у) = Ло2 (х,力 6т +。(бт).
В то же время при более продолжительном контакте г преобразование ткани определяется экспоненциальным отображением:
(% F)= exp(tL5)(x, у).
Последовательные конфигурации (тонкие пластинки) плакоды соответствуют отдельным элементам семейства кривых, характеризущимся радиальной симметрией. В таком случае произвольная функция F, определяемая параметрами х2 + У2 и 匂一%*)/(% +缈'),т.е・一
尸(宀Об)
(где х2 + у2 — квадрат радиуса-вектора, а (у — х/)/(х + yyf), \yr = (dy/dx)], — проекция радиуса-вектора на нормаль к кривой у(х) в точке х), инвариантна относительно действия производной Ли, подвергнутой однократному продолжению:
"L(Oa = Lq2 + (1 + /2)-^ *(17)
Другими словами, любая форма, определяемая только двумя переменными ——расстоянием до некоторого полюса («организационного центра》)и расстоянием, взятом по нормали или касательной от того же самого полюса !), инвариантна относительно действия группы вращений плоскости О2, подвергнутой однократному продолжению. Любое семейство тканей, обладающее радиальной симметрией, относится, как отмечалось выше, к этой категории.
Инфинитезимальные порождающие операторы х(д/дх) и у(д/ду) также воспроизводят прямолинейные движения, как в случае продвижения «прямолинейных» тканей. Совместное действие этих производных Ли будет, как и при возникновении контактной индукции, приводить к появлению сжатий и растяжений, т. е. группы растяжений плоскости. Растяжения эти оказываются неравномерными, если объединение представляется взвешенной комбинацией
备+阿击• (18)
Оказывается, что большинство клеток в тканях, участвующих в контактной индукции, образуют поток в направлении, поперечном относительно локальной ориентации самих тканей. Уравнение (18) описывает любые движения такого рода, происходящие в плакоде или инвагинации. Кроме того, уравнения (14) и (18), взятые вместе, определяют спиральные движения, также часто возникающие при росте ткани.
Первое продолжение производной L&, заданной уравнением (18), определяется следующим выражеиирм таблица II]:
L^ = Ld + ^^^y^ (19)
и в общем случае при n = 1, 2,…выражением вида
厶紀=Ld + £ (6 —也а)产 ^^ • (19а)
В наиболее общем виде дифференциальное уравнение, инвариантное относительно действия п раз продолженной лиевой производной 乙夕),определяется выражением i^dP G, у, /,… • • •, ^/(п)) = 0, что эквивалентно задаче нахождения произвольной функции 尸 от 几+l первого интеграла системы дифференциальных
Ср. с замечанием относительно модели д*Арси Томсона, следующим после уравнения (22).
уравнений Пфаффа .
空=d严
ax 削(В —a),(В —〃a)g(")・
Результат определяется выражением
尸[(勿炉,//e・・•,/工"勺=0,(21)
где у = p/a. Аргументами F являются однородные степенные функции.-
Таким образом, любые деформации в тканях, в которых новообразование определяется степенными функциями, характеризуются действием производной Ли L& и ее продолжений. Орбиты, определяемые степенными функциями, и соответствующие дифференциальные инварианты обеспечивают произвольные градации сложности новообразований в тканях.
Правдоподобность развития в соответствии со степенными функциями с биологической точки зрения подтверждается явлением аллометрического роста [24]. Преобразования подобия, аналогичные рассмотренным выше, делают возможной генетическую репродукцию — «копирование» — систем органов. Как 'замечает Стал [24]:
«Представляется вполне правдоподобным, что количественное значение любого биологического критерия подобия может задаваться генетически и прослеживаться в филогенезе. Вероятно, гены переносят наследственную информацию в безразмерной форме, а ее преобразование в переменные, являющиеся размерными величинами, осуществляется ... механизмами, характер которых не совсем ясен…》
Из предшествующего описания следует, что соответствующий переход от генетической информации (параметрической группы) к размерным переменным (многообразие тканей, рассматриваемое как семейство траекторий) оказывается чрезвычайно простым, если его представить как следствие аксиомы 5, т. е. благодаря возможности описывать деятельность клетки с помощью производной Ли.,
Хаксли [13] и д'Арси Томсон, изучая явления подобия при новообразовании, использовали понятие 《потенциала относительного роста》:
(*)/(*)•(22)
В этом выражении переменные М и № представляют, как, правило, длины (поверхностный и радиальный рост соответственно по терминологии д'Арен Томсона)!), а т ——время. Если выраже-
Сравните с обсуждением смысла уравнения (17).
ние (22) воспроизводит некоторую,локальную константу X, то оно оказывается зквивалентннм системе уравнений Пфаффа
dN、a dN2 di/со、
Эта система (23) в свою очередь характеризует инвариантность относительно действия производной Ли
厶a = m 丽■十才aN J(24)
эквивалентной при у = (Р/а) 1/九 производной Ли, определяемой уравнением (18).
Стал [24] отмечает, что ключевая роль в процессе новообразования принадлежит двум основным принципам: сохранения объема и синхронизации во времени (времена реализации процессов, связанных каким-либо образом, также связаны между собой). Первый принцип оказывается непосредственным следствием второго, если принять во внимание инфинитезимальное преобразование, соответствующее уравнению (23):
6У =АаУ^бг,(25)
где V ——элемент объема, спроецированный в пространство ("1, 乂2)・ В результате воздействия производной Ли La на объемный элемент V в течение временного интервала бт будет осуществлено инвариантное изменение дУ величины 匕 а, также, естественно, и любой орбитальной системы (фибриллы и нитевидные органеллы), порождающей этот объем.
Перейдем к нашей последней, шестой аксиоме. Эта аксиома в сочетании с пятью остальными может, по-видимому, обеспечить достаточную основу для построения универсальной и реалистической математической биологии.
Аксиома 6. Организм приобретает биологические структуру и функцию, обеспечивающие оптимальность его функционирования с точки зрения трофических функций.•
Так, например, развитие эмбриона морского ежа на ранних стадиях отражает основные типы симметрий, присутствующие в структуре наружного скелета. Однако с наступлением завершающей стадиц гаструляции (свободно плавающая личинка) пищеварительный канал зародыша начинает интенсивно сворачиваться в спираль, приобретая существенную асимметрию, с тем чтобы обеспечить максимальную площадь поверхности в пределах заданного объема. Следовательно, «конструкция» пищеварительного канала определяется не столько приспособлением к физическим характеристикам внешней среды, сколько условием максимизации всасываемых питательных веществ.
Аналогичным образом сердечно-сосудистая система высших животных должна быть развита таким образом, чтобы обеспечивать адекватный кислородный метаболизм для других систем органов, возникших в результате эволюционного приспособления к. условиям и свойствам внешней среды. Рашевски [19, стр. 66] рассмотрел сердечно-сосудистую систему с точки зрения введенного им же принципа адекватного проектирования, к которому мы также обращаемся в нашем обсуждении. Кроме того, Рашевски утверждает [19], что и минимальная длина кишечного канала у низших животных, и его свертывание в спираль у высших представляют собой проявления того же самого принципа. Принцип адекватного проектирования, являющийся в равной степени и принципом оптимальной структуры (конструкции), заключается в следующем [19, стр. 48]:
«Организм, предназначенный для выполнения определенной совокупности биологических функций, характеризующихся известной интенсивностью, обладает наиболее адекватной (оптимальной) из всех возможных конструкций с точки зрения экономии используемых «материалов» и величины энергетических затрат, необходимых для исполнения предписанных функций».
Совершенно очевидно, что проявления этого принципа относятся к области биоэнергетики, в частности, можно было бы упомянуть трофические функции. Область действия принципа адекватного проектирования должна, однако, и ограничиться биоэнергетикой, ибо в противном случае все животные в конечном счете обладали бы одинаковой морфологией. Как мы убедились, именно приспособление к внешней среде в целом, т. е. как физическое, так и гомеостатическое и трофическое, определяет структуру и функцию, адекватные для выживания вида и удовлетворенности индивидуума.
ЛИТЕРАТУРА
Alexandroff Р. and Hopf Н., Topologie, Chelsea, New York, 1965.
Berri 11 N. J., Growth, Development, and Pattern, Freeman, San Francisco, 1961.
Birkhoff G. and Rota G.-C., Ordinary Differential Equations, Blaisdell, Waltham, Mass. (1962).
Bonner J. T., Morphogenesis, Princeton Univ. Press, Princeton, N. J., 1952.
Byers B. and Porter K. R・,Oriented Mikrotubules in Elongating Cells of the Developing Cells Rudiment After Induction, Proc. Nat. Acad. Sci. U. S., 52, 1091 (1964).
Cohen A., An Introduction to the Lie Theory of One-Parameter Groups, Hafner, New York, 1931.
Eisenhart L. P., Continuous Groups of Transformations, Dover, New York, 1961. Русский перевод: Эйзенхарт Л. П., Непрерывные группы преобразований, М., ИЛ, 1947 (перевод с издания 1933 года).
Green D. Е. and Goldberger R. F., Molecular Insights into the Living Process, Academic, New York, 1967. Русский перевод: Грин Д. Э. и Гольдбергер Р. Ф., Молекулярные аспекты жизни, М., «Мир», 1968.
Guggenheimer Н. W., Differential Geometry, Mc-Graw-Hill, New York (1963).
Hoffman W. C., The Neuron as a Lie Group Germ and a Lie Product, Quart. Appl. Math., 25, 423 (1968).
Holden A. and Bregmann J., Structural and Dynamical Symmetry, Science Teacher, 34, 72 (1967).
Holmes R. L., Living Tissues, Pergamon, Oxford, 1965.
Huxley J. S., Problems in Relative Growth, Methuen, London, 1932.
Jacobson A. G., Inductive Processes in Embryonic Development, Science, 152, 25 (1966).
Kobayashi S. and Nomizu K・,Foundations of Differential Geometry I, Interscience, New York, 1963.
Konigsberg I. R., Clonal Analysis of Myogenesis, Sciense^ 140, 1273 (1963).
Montgomery D., Compact Groups of Transformations, in Differential Analysis, Oxford Univ. Press, Oxford (1964), p. 43.
Racah G., Group Theory and Spectroscopy, Springer tract in modern physics No. 37 (CL Hohler, Ed.), Springer-Verlag, New York (1965), p. 28.
Rashevsky N., Mathematical Principles in Biology, Chas. C. Thomas, Springfield, Ill. (1961).
Schmitt F. O., Fibrous Proteins — Neuronal Organelles, Proc. Nat. Acad. Sci. U. S., 60, 1092 (1968).
Singer I. M. and Sternberg S., The Infinite Groups of Lie and Cartan, Part I (the Trarjsitive Groups), /. d'Analuse Math.^ 15, 1 (1965).
Spanier E. H., Algebraic Topology, MsGraw-Hill, New York (1966). Русский перевод: Спеньер Э., Алгебраическая топология, М., «Мир》, 1971.
Spratt N. Т., Introduction to Cell Differentiation, Reinhold, New York (1964).
Stahl W. R., Similarity and Dimensional Methods in Biology, Science, 137, 205 (1962).
Sternberg S., Lectures on differential Geometry, Prentice-Hall, Englewood Cliffs, N. J. (1964).
Thompson D. W., On Growth and Form, Abridged ed., Cambridge. Univ. Press, Cambridge (1961)..
Tondeur P., Introduction to Lie Groups and Transformation Groups, Sprin- ger-Verlag, Berlin (1965).
Waddington С. H., Principles of Development and Differentiation, Macmillan, New York (1966).
Wilmer E. N., Growth and Form in Tissue Culture, in Essays on Growth and Form Presented to D'Arcy Wentworth Thompson (W. L. L. Clark and P. B. Medawar, Eds.), Clarendon, Oxford (1945), p. 264.
СОДЕРЖАНИЕ
Математические вопросы
А. Кук. Сложность процедур вывода теорем. Перевод А4. И. Кратко .5
Ричард М. Карп. Сводимость комбинаторных проблем. Перевод
* М. И. Кратко 16
Д ж. Е. Хопкрофт, Р. Е. Т а р ь я н. Изоморфизм планарных графов.
Перевод В. П. Козырева39
А. Р. Мейер. Слабая сингулярная теория второго порядка функции следования не элементарно рекурсивна. Перевод С. С. Марченкова . . 62
Д. Л а к х э м, Д. М. Парк, М С. Патерсон. О формализованных машинных программах. Перевод Р. И. Подловченко ........ 78
Вычислительные машины и программирование
Уильям Р. Смит, Рэкс Райс, Гилман Д. Чеслей и др. Символ: большая экспериментальная система для изучения возможности погружения программного обеспечения в аппаратуру. Перевод
Е. И. Котова .115
Вопросы информационного поиска
Джерард С э л т о н. Автоматический анализ текстов и поиски документов. Перевод Н. Г. Арсентьевой .. 4в . 150
Математическая биология
У и .п ь я м Хоффман. Система аксиом для математической биологии. Перевод И. Б. Гуревича 184
КИБЕРНЕТИЧЕСКИЙ СБОРНИК № 12
Редактор А. А. Бряндинская
Художник Н. К. СапожниковХудожественный редактор В. И. Шаповалов
Технический редактор Л. П. Чуркина
Сдано в набор 13/II 1975 г. Подписано к печати 15/IX 1975 г. Бумага № ^бОХЭО1/^»-* 6,5' бум. л. 13 усл. печ. л. Уч.>изд. л. 12,74. Изд. № 1/8253. Цена 1 р. 48 к. Зак. 561.
ИЗДАТЕЛЬСТВО <МИР>
Москва, 1-й Рижский пер., 2
Ордена Трудового Красного Знамени Ленинградская гипография № 2 имени Евгении Соколовой Союзполиграфпрома при Государственном комитете Совета Министров СССР по делам издательств, полиграфии и книжной торговли.
198052, Ленинград, Л-52, Измайловский пр., 29
1) Здесь ячейкой обращения называется ячейка, входящая под знак функционального символа, а ячейкой присваивания — единственная ячейка, не входящая под этот знак. — Прим, перев.
Кибернетическийсборник
НОВАЯ СЕРИЯ
ВЫПУСК
12
Сборник переводов
Под редакциейО. Б. ЛУПАНОВА
ИЗДАТЕЛЬСТВО „МНР“
Москва 197 5
К 519.95
Научный совет по кибернетике Академии наук СССР
Двенадцатый выпуск новой серии кибернетических сборников содержит переводы статей по современным проблемам теоретической кибернетики. Статьи подразделены на четыре части: «Математические вопросы», «Вычислительные машины и программирование», «Вопросы информационного поиска», «Математическая биология». Особый интерес представляют статьи С. Кука, Л. Мейера, Дж. Хапкрофта по математическим вопросам, статья Сэлтона по информационному поиску и статья У. Хоффмана по аксиоматике математической биологии.
* Сборник рассчитан на научных работников, инженеров; асйи- рантов и студентов различных специальностей, занимающихся н интересующихся теоретической кибернетикой и ее приложениями.
20205-021041(01)-75 21~7520205-021041(01)-75 21~75Редакция литературы по математическим наукам
20205-021
041(01)-75 21~75
20205-021
041(01)-75 21~75
© Перевод-на русский язык, «Мир», 1975
Математические вопросы /
Сложность процедур вывода теорем)
С・ А, Кук
Показано, что любая проблема распознавания, решаемая на недетерминированной машине Тьюринга за полиномиально ограниченное время, может быть «сведена» к проблеме распознавания того, является ли некоторая пропозициональная формула тавтологией. Здесь «сведена^ означает, грубо говоря, что первая проблема может быть решена детерминированно за полиномиальное время при условии, что имеется оракул для решения второй. Исходя из этого понятия сводимости, определены полиномиальные степени трудности и показано, что проблема определения тавтолргичности имеет ту же самую полиномиальную степень, что и проблема определения того, верно ли, что первый из двух заданных графов изоморфен некоторому подграфу второго. Обсуждаются и другие примеры. Вводится и обсуждается также метод измерения сложности процедур вывода для исчисления предикатов. 、
Везде в этой статье множество слов означает множество слов в некотором фиксированном большом конечном алфавите 注 Этот алфавит достаточно большой для того, чтобы включить в себя символы всех описанных здесь множеств. Все машины Тьюринга рассматриваются как детерминированные распознающие устройства, если специально не оговаривается противное.