Книга
Книга
0. СТРУКТУРА СТАТЬИ
Статья состоит из пяти разделов. В разд. 1 дается краткое изложение основных понятий метода переписывающих правил. В разд. 2 приводится каноническая переписывающая система для булевой алгебры. Эта система используется в разд. 3 как основа для разработки нескольких полных стратегий доказательства теорем в исчислении предикатов первого порядка. В разд. 4 данные стратегии расширяются на более богатые теории— логику первого порядка с встроенными эквациональными аксиомами. Реализация этих методов и результаты экспериментов обсуждаются в разд. 5.
ВВЕДЕНИЕ
Переписывающая система для термов (term-rewriting system) для эквациональной теории Е есть конечное множество переписывающих правил R = Ui->rA'i=p такое, что {/{ = /■{}"_, и Е эквивалентны (т. е. s — t истинно в {/г = г,}"=| тогда и только
тогда, когда s = t в Е). Терм t редуцируется с помощью правила 1->-г, если некоторый подтерм s из t, являющийся примером левой части /, заменяется на соответствующий пример правой части г. Терм s достижим из t, если / можно редуцировать к 5 конечным числом редукций. Терм называется нередуцируе- мым, если к нему нельзя применить ни одного правила.
Переписывающие системы впервые были использованы Кнутом и Бендиксом [23] для решения проблемы тождества слов в эквациональных теориях. Проблема тождества слов для теории состоит в том, чтобы решить, являются ли два произвольных терма s и t конгруэнтными в Е (s = Et). Переписывающая система R, которая удовлетворительно решает проблему тождества слов в теории Е, должна обладать следующим свойством: для любых термов s и / имеем s = Et тогда и только тогда, когда существует терм г, достижимый с помощью R как из s, так и из t. Для того чтобы процесс редукций в конце концов завершался, мы должны потребовать, чтобы терм г был нередуцируе- мым. Таким образом, для данной переписывающей системы нужно исследовать следующие два свойства:
Свойство универсальной завершаемости (нётеровость): не существует терма, имеющего бесконечную последовательность редукций.
Свойство единственности окончания (конфлюэнтность): для любых различных термов t, г и s, если г и s достижимы из t, существует терм и, достижимый как из г, так и из s.
Переписывающая система, удовлетворяющая свойствам (1) и (2), называется канонической переписывающей системой (или просто канонической системой). Легко видеть, что если R— каноническая переписывающая система, то каждый терм имеет относительно R единственную нередуцируемую форму. Поэтому для проверки истинности равенства s = Et нужно только привести s и / к их нередуцируемым формам и посмотреть, совпадают ли они.
Каноническая система для эквациональной теории, если она существует, будет не только давать ту же теорию, что и Е, но позволит также избежать трудно поддающегося обработке пространства поиска, часто возникающего при доказательстве эквациональных теорем *). Для такого улучшения есть две причины: во-первых, равенства используются только в одном направлении, так что применение переписывающих правил «упрощает» термы, а во-вторых, правила можно использовать в любом порядке, причем не требуется никакого перебора (поскольку все
') Имеется в виду автоматическое доказательство теорем. — Прим, перев.
последовательности редукций ведут к одной и той же нередуци- руемой форме).
Произвольная переписывающая система, вообще говоря, канонической не является, так как правила позволяют использовать равенства только в одном направлении. Кнут и Бендикс [23] дали необходимое и достаточное условие конфлюэнтности (и, следовательно, каноничности) нётеровой переписывающей системы. Мы кратко опишем здесь их метод; его полное изложение можно найти в [14]. Запись /[и] мы употребляем для обозначения того, что и является подтермом I; t* обозначает нередуцируемую форму I.
Определение 1.1. Пусть имеются переписывающая система R и два правила 1х->гх и 12[и]->г2 из R, причем и — не переменная. Если существует (наиболее общий) унификатор о, такой, что 1ха = ио, то (/2 kJ о, г^о) называется критической парой для правил 1х-*гх и 12-*г2. Критическая пара называется дивергентной, если (/2 [rj о)* #= (г2ст)*.
Критические пары можно искать, унифицируя каждый отличный от переменной подтерм левой части одного правила с левой частью другого правила. Этот процесс называется алгоритмом суперпозиции. Например, если дано правило ЦЦх))-> -+g(x, х), то (g(f(x), Цх)), f(g(x, х))) является критической парой, полученной унификацией подтерма f (х) из левой части правила с f (f (х)) в этом же правиле.
Кнут и Бендикс доказали следующую теорему «локального тестирования».
Теорема 1.2 [23]. Нётерова переписывающая система является конфлюэнтной (и, стало быть, канонической) тогда и только тогда, когда не существует дивергентной критической пары для правил этой системы.
Они предложили также процесс получения канонической системы из неканонической путем добавления к последней новых правил, образованных из дивергентных критических пар. Этот процесс называется процедурой пополнения Кнута — Бендикса; схематично его можно описать следующим образом.
Для данной нётеровой переписывающей системы R выполнить:
Шаг 1. Найти дивергентную критическую пару (s, /) для правил из R. Если такой пары нет, перейти к шагу 4.
Шаг 2. Если система 7?U{s*-*^*} нётерова, то R *—/?U U(s*->/*); в противном случае, если нётеровой является система 7?Uk*-*s*}, то R <- R U V* ^ S*Y если же ни один из
этих случаев не имеет места, то «аварийная остановка» — авост.
Шаг 3. Использовать новое правило для упрощения (или вычеркивания правил из) системы R. Перейти к шагу 1.
Шаг 4. Остановка.
Для проверки свойства нётеровости системы обычно используют упорядочение термов, удовлетворяющее условию обрыва убывающих цепей) (см., например, [6, 19, 35]). Приведенная процедура может иметь несколько возможных результатов.
Она успешно завершает работу; в этом случае мы получим каноническую систему.
Она заканчивается неудачно, т. е. происходит авост, и процедура не находит канонической системы. Другими словами, процедура нашла критическую пару, термы которой несравнимы (относительно данного упорядочения). Это может произойти из-за неадекватного выбора упорядочения термов, и в результате его изменения термы могут стать сравнимыми. Имеются, однако, случаи, когда термы по существу несравнимы. Соответствующий пример рассмотрим позднее.
Процедура зацикливается, т. е. все время порождает новые критические пары и никогда не остановится.
Легко видеть, что, когда процедура успешно завершает работу, полученное в результате множество переписывающих правил будет каноническим. Юэ [16] показал, что при условии отсутствия авостов и корректности процесса применения правил), даже если алгоритм не завершается, мы, тем не менее, будем иметь полуразрешающую процедуру для решения проблемы тождества слов. Более точно, при выполнении указанных условий и истинности равенства s=t в данной теории мы в конце концов породим достаточно правил для редукции обоих термов к идентичной форме (которая нередуцируема относительно уже порожденного множества правил).
Примеры канонических систем интересных теорий можно найти в [17].
Типичный пример правила, которое вызывает авост, — это аксиома коммутативности: х*у = у*х. Очевидно, что никакая ориентация этого равенства не сохраняет свойства нётеровости. Данная проблема была решена Лэнкфордом и Баллантайном
£27], а также Петерсоном и Стикелем [34] путем использования в ходе процесса суперпозиции алгоритма коммутативноассоциативной (АС-) унификации, в результате чего соответствующие аксиомы применяются к коммутативным и ассоциативным операторам неявно (не как переписывающие правила). Конечный и полный алгоритм АС-унификации был найден Стикелем [45]. Завершаемость алгоритма была недавно доказана Фейджизом [9]. В [27, 34] показано, что и теорема Кнута — Бендикса и процедура пополнения остаются верными, когда вместо обычной унификации используется АС-унификация.
Примеры канонических систем
Теория групп. Теорию групп можно определить тремя аксиомами. В виде переписывающих правил они выглядят следующим образом:
е*х->х, (rl)
(Г2)(гЗ)(Г2)(гЗ)х 1 * х-^-е,
(Г2)
(гЗ)
(Г2)
(гЗ)
(х * у) * zх * (у * г\
Эта система правил неканоническая, поскольку (г2) и (гЗ), например, дают дивергентную критическую пару (х-1 * (х * у), е*у\ Ее, однако, можно преобразовать в правило (г4) ^е*у с помощью (rl) заменяется на у). На самом деле, в результате работы процедуры пополнения мы получим семь дополнительных правил:
х-1 * (х * у)—>у,(г4)
х*е->х,(г5)
(Гб) (г7) (г8) (г9)(г Ю)(Гб) (г7) (г8) (г9)(г Ю)е 1 ->е,
(Гб) (г7) (г8) (г9)
(г Ю)
(Гб) (г7) (г8) (г9)
(г Ю)
(х-1)”1 ->х, х * х-1 —> е, х + (х“‘ * у)->у,
(х * уУ' ->у-х * х-1
Вместе с тремя исходными эти правила образуют каноническую систему для теории групп [23].
Новые правила могут рассматриваться как «леммы», автоматически порожденные и доказанные процедурой. Так как полученная система каноническая, то мы можем определить тождественность двух термов простой проверкой их нередуцируемых форм на совпадение. Например, (х-1 % у-1)-1 = у» х истинно в
теории групп, поскольку, применяя (гЮ) и дважды (г7), получаем
(х-1 * y-xrv -*^У-ХГХ * (х-Т‘ -► у * (х-1)-1 -* у * х.
Теория абелевых групп. Для абелевых групп мы имеем новую аксиому х»у = у%х, которую нельзя преобразовать в правило, не нарушая свойства нётеровости. Мы можем, однако, использовать процедуру АС-пополнения, которая включает аксиомы коммутативности и ассоциативности в алгоритм унификации. Начиная с правил
(rl)(г2)(rl)(г2)(гЗ)(г4)(г5)(гЗ)(г4)(г5)е * х—* е, х~х * х->е,
(rl)
(г2)
(rl)
(г2)
(гЗ)
(г4)
(г5)
(гЗ)
(г4)
(г5)
процедура порождает е"1 -*е, (х~1Г'-^х, (х*у)"1->х-1*у-х,
и в результате получается каноническая система [34]. АС-ка- ноническая система решает проблему тождества слов, как и прежде, с той лишь разницей, что два терма считаются идентичными, если они AC-эквивалентны. Например, термы x*(y*z) и (z*x)*y идентичны, так как оба они AC-эквивалентны терму x»y*z. В [20] процедура пополнения Кнута — Бендикса обобщена с целью (неявного) включения более общих множеств эквациональных аксиом.
КАНОНИЧЕСКАЯ СИСТЕМА ДЛЯ БУЛЕВОЙ АЛГЕБРЫ
Весьма эффективный при решении проблемы тождества слов метод переписывающих правил в значительной степени игнорировался специалистами в области доказательства теорем из-за относительно малой сферы его применения. Было бы желательно поэтому обобщить эту идею так, чтобы можно было работать с теориями первого порядка. Для достижения этой цели нам нужна каноническая система для логических связок, булевой алгебры и полная стратегия для исчисления предикатов первого порядка.
О попытках найти каноническую систему для булевой алгебры сообщалось в [17, 34], где обычные аксиомы булевой алгебры преобразовывались в переписывающие правила и применялась процедура АС-пополнения. В [17] были использованы также некоторые дополнительные аксиомы, такие, как закон по-
глощения. Тем не менее ни в одном из экспериментов процедура пополнения не завершала работу (т. е. порождалось бесконечное множество правил) из-за хорошо известного факта — неединственности представления булевых термов в виде простых имплпкант.
Проблему неединственности представления можно обойти с помощью выбора более подходящих операторов. В нашем подходе мы будем использовать «ИСКЛЮЧАЮЩЕЕ ИЛИ» вместо обычного оператора «или» и строить каноническую систему для булевой алгебры с помощью этого оператора). Понятие «ИСКЛЮЧАЮЩЕГО ИЛИ» впервые обсуждалось Стоуном в £46]), который определил булево кольцо (В, -]-, *, 0), как кольцо, идемпотентное относительно оператора *, т. е. х»х = х для всех х из В. Он доказал следующую теорему.
Теорема 2.1 (Стоун).
Каждое булево кольцо коммутативно (т. е. х*у = у*х\
Каждое булево кольцо нильпотентно относительно оператора + (г. е. х + х = 0).
Пусть (В, + , *, 0, 1) — булево кольцо с единицей 1. Введем следующие операторы:
х V у — х + у + х * у,
х /\ у = х * у,
1 X = X + 1,
тогда (В, A, V, П, 0, 1) — булева алгебра. Обратно, если для булевой алгебры (В, Д, V, П> 0, 1) определить
а + Ь = (а AH6)V (Ла А 6),
а * b = а /\ Ь,
то (В, + , * , 0, 1) есть булево кольцо.
Оператор +, который употреблял Стоун, позднее стали обозначать через XOR в теории переключательных схем. В этой статье мы используем + для обозначения оператора XOR, V для OR, * для AND, Л для NOT, 1 для TRUE и 0 для FALSE.
Говорим, что терм s является нормальным выражением булева терма t, если s есть 1, 0 или 8 = 8,+ ... + s„, где все s;— различные ненулевые произведения различных положительных литер. Например, нормальным выражением терма Д х V У является х * у + х + 1.
Предложение 2.2. Нормальное выражение каждого булева терма единственно.
Доказательство. Предположим, что терм s имеет два нормальных выражения S] 4- ... + sn и tx + ... + tm. Тогда S] + ... + sn + tv + . . . + tm = 0, поскольку s + s = 0. He ограничивая общности, мы можем считать, что все st и /, различны и 8[ содержит наименьшее число литер. Придадим теперь значение 1 всем литерам, входящим в s1( и 0 всем остальным. Так как 8, содержит наименьшее число литер, в каждое из оставшихся произведений должна входить хотя бы одна литера, не встречающаяся в Sp Следовательно, при заданном означивании s, принимает значение 1, а все остальные произведения принимают значение 0, откуда 0=1, что невозможно.
Мы получим теперь каноническую переписывающую систему для булевой алгебры, образовав сначала каноническую систему для булева кольца. Выпишем аксиомы булева кольца:
А1. х + 0 = х (правая единица по сложению).
А2. х + (— х) = 0 (правый обратный по сложению).
АЗ. х А- у = у -V х (коммутативность сложения).
А4. х + (у + г) = (х + у) + z (ассоциативность сложения).
А5. х* 1=х (правая единица по умножению).
Аб. х*х = х (идемпотентность умножения).
А7. (x + y)*2 = x*z + y*z (дистрибутивность * относительно +).
А8. (х * у) * z = х * (у * г) (ассоциативность умножения).
Т1. х * у = у * х (коммутативность умножения).
Т2. х + х = 0 (нильпотентность сложения).
Замечание 2.3. Оператор — в А2 является обратным к оператору 4- в булевом кольце. Его не следует путать с оператором NOT в булевой алгебре.
Замечание 2.4. Мы добавили Т1 и Т2 в качестве аксиом для того, чтобы можно было использовать алгоритм АС-унификации. По теореме 2.1 (а) и (Ь) включение этих аксиом не изменяет теории.
Применяя процедуру АС-пополнения к этим правилам, мы получим следующую каноническую переписывающую систему
(BR) для булева кольца:
х + 0 -> х,‘
х * 0 —> О,
х * 1 -> х, BR х*х->х,
(X-|-Z/)*Z->X*Z-|-y*Z,',_r •..
x + x—>0,r-:i-ji
— x->x.
Отметим, что * и 4- считаются коммутативными и ассоциативными, хотя это и не указано явно. Последние два правила, порожденные процедурой АС-пополнения, заменяют А2. На самом деле, кроме этих двух правил процедура породила еще несколько правил, но они поглощались вновь порождаемыми и в конечном счете были процедурой элиминированы. Чтобы удобнее было обращаться с обычными обозначениями булевой .алгебры, мы можем добавить 4 дополнительных правила для преобразования булевых операторов: id (импликация), = (эквивалентность), ~] и V. Мы можем также убрать последнее правило —х-*х, поскольку оператор, обратный к +, не имеет важного семантического значения в булевой алгебре. Эти перемены не влияют на полноту нашей системы и не изменят моделей булевой алгебры. Таким образом, мы имеем следующую каноническую переписывающую систему (ВА) для булевой алгебры;
(R1) (R2)(R3) (R4)(R5) (R6)(R7) (R8)(R9) (Rio)(R1) (R2)(R3) (R4)(R5) (R6)(R7) (R8)(R9) (Rio)х\/У ^-х*у + х +у, . X2DZ/->X*Z/ + x + 1, x = y->x-V У + 1,
(R1) (R2)
(R3) (R4)
(R5) (R6)
(R7) (R8)
(R9) (Rio)
(R1) (R2)
(R3) (R4)
(R5) (R6)
(R7) (R8)
(R9) (Rio)
~] X -* X + 1,
В А х -(- 0 х,
х + х->0,
X * 1 —>х,
X * X -> X,
х * 0 -> О, x*(y + z)->x*z/ + x*z.
Нередуцируемой формой каждого булева терма является соответствующее нормальное выражение, определенное выше, которое, конечно, единственно. Эта система, как и всякая каноническая переписывающая система, дает очень простое решение
проблемы тождества слов лежащей в основе теории (в данном случае пропозиционального исчисления). Например, закон поглощения (т. е. pV(pA^) = p) легко доказать, замечая, что
PV(pAp)->P*(P*<7) + p + p*9-^P*9+p + p*<7->
-*0 + р->р.
Описанный процесс редукций на самом деле дает нам эффективный метод решения проблемы истинности в пропозициональном исчислении. Более точно, булев терм является истинным тогда и только тогда, когда его нередуцируемое выражение есть 1; терм будет невыполнимым тогда и только тогда, когда его нередуцируемое выражение есть 0; терм выполним, но не истинен тогда и только тогда, когда его нередуцируемое выражение отлично от 0 и 1. Из NP-полногы проблемы выполнимости [4] вытекает, что любая систематическая процедура редукции булевых термов к канонической форме в худшем случае (т. е. если Р =# NP) требует экспоненциального времени.
Исследовались также и другие множества редукций для булевой алгебры. В [28] использован оператор IF-THEN-ELSE и представлено множество правил, которые редуцируют каждую тавтологию к 1; однако для термов общего вида единственной нередуцируемой формы не получено. Мы изучали также оператор NAND (штрих Шэффера). В этом случае, однако, порождаются «перестановочные» критические пары (два терма содержат одинаковое количество одних и тех же переменных, см. [27]), с которыми невозможно оперировать, и при выполнении процедуры пополнения Кнута — Бендикса должен произойти авост. Легко построить двойственную систему с исходными операторами V и = (а не Л и -]-), которая также будет канонической. В данной статье, однако, в качестве базиса нашего метода доказательства теорем мы будем использовать приведенную выше систему ВА, а не двойственную к ней, поскольку оператор + более естествен, чем =, и поскольку В А обладает хорошими свойствами кольца.
МЕТОД ПЕРЕПИСЫВАЮЩИХ ПРАВИЛ ДЛЯ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ ПЕРВОГО ПОРЯДКА
Полная стратегия опровержения
Мотивация
Описанный выше метод редукций с позиции «грубой силы» не является самым удобным для решения проблемы истинности по нескольким причинам. (1) Сложные предложения, содержащие много импликаций и дизъюнкций, процедура может пре-
вратить (при помощи (R1)— (R4) и (R10)) в длинные выражения до того, как начнется применение «упрощающих» редукций (с помощью оставшихся правил). (2) Этот метод нельзя так просто обобщить для эффективной работы с исчислением предикатов первого порядка.
Чтобы проиллюстрировать первую причину, мы попытаемся доказать следующее истинное предложение, используя метод редукций:
Ф: (р V <?)*П? V $)*("!$ V р)*(1р V r)*Qr V Пр V 0^ td t * г.
Эту задачу можно представить в виде
((р V 9) * (1 q V s) * (Is V р) * П Р V г) * (1 г V 1 р V О =>
дэ t * г) = 1,
и метод редукций сведет левую часть к 1. Нетрудно видеть, что по правилу дистрибутивности (R10) длина левой части значительно возрастет, прежде чем сократиться до 1.
Мы обойдем эти проблемы, преобразовывая отрицание доказываемого предложения в множество дизъюнктов и применяя технику доказательства опровержения. Перед тем как формально ввести этот метод, опишем сценарий и проиллюстрируем его, завершив доказательство приведенного выше примера. Наш метод опровержения схематично можно определить следующим образом. Для доказательства истинности предложения (первого порядка) ф мы сначала скулемизируем его отрицание, приводим результат к дизъюнктной форме Ci А ... А Сп и для каждого дизъюнкта Ci добавляем правило С<->-1, а затем к полученному множеству правил применяем процедуру АС-пополнения до тех пор, пока не будет порождено правило 1->0. Каноническая система ВА используется в этом процессе для того, чтобы булевы термы всегда находились в их нормальной форме. Здесь следовало бы упомянуть, что применение АС-унификации в действительности не является необходимым. Мы займемся этим вопросом позднее.
Чтобы применить данный метод для решения сформулированной выше задачи, возьмем отрицание ф и представим его в следующем виде:
П Ф: (р V </) Л ("19 Vs) A ("1$ V Р) А
Л П Р V г) А (П г V 1 р V 0 Л П t V 1 г).
Заметим, во-первых, что П ф находится в дизъюнктной форме. Допуская истинность ~] ф (т. е. ~|ф=1), мы попытаемся вывести противоречие 1=0. Так как С, Д С2 Л . . . Сп = 1
эквивалентно Ci = 1 и ... и Сп = 1, то “1 ф = 1 можно записать в виде шести равенств:
Р V q = 1,
1?V$=1,
и S V Р = 1,
Пр vr=i,
Пг V Пр v/=l,
п/vnr=l.
С; = 1 означает, что всякий раз, когда дизъюнкт Ct (или пример дизъюнкта С;) встречается в некотором терме, его можно заменить на 1. Мы можем поэтому записать эти равенства как переписывающие правила: Сг->1. Используя каноническую систему для булевой алгебры, представим Ct в их нередуци- руемой форме С*. Каждому равенству С, = 1 мы сопоставим правило (С(+!)*-> О, если 1 является подтермом С\, иС^1 в противном случае. В соответствии с этим соглашением полученным выше шести равенствам сопоставляем правила
pq + P-\-q-*L (el) qs + q->0, (e2) ps + s 0, ' . (e3) pr + p -> 0, (e4) prt + pr -» 0, (e5) rt -> 0 (e6)
(оператор * для простоты опущен).
Следующий шаг заключается в применении к этому множеству правил процедуры АС-пополнения (сводя в ходе ее выполнения все термы к их нередуцируемым формам). Замечая, что rt (левая часть (еб)) является подтермом prt (первого произведения в левой части (е5)), мы образуем критическую пару <рг, 0), которая становится новым правилом:
рг -> 0.(е7)
Равенства (е4) и (е7) дают критическую пару <р,0), которая в свою очередь становится правилом
р—*0.(е8)
После того как порождено правило (е8), его можно наложить на каждое правило, содержащее р в левой части (иначе го-
воря, все вхождения р можно заменить на 0), и мы получаем следующее множество правил:
q->l. (еГ) qs + q -> 0, (е2) s —* 0, (еЗ') г/—>0, (е6) р -> 0. (е8)
Снова с помощью правила (еЗ') (s->0) каждое вхождение s в этом множестве правил заменяем на 0 и вместо (е2) получаем
<7^0. (е2')
Равенства (е2') и (el') образуют критическую пару <1, 0>, которая противоречит тому факту, что 1 #= 0. Процесс пополнения останавливается и сообщает «Доказано».
Тот, кто знаком с АС-унификацией и АС-пополнением [34], должно быть, заметил, что в рассмотренном примере мы породили далеко не все критические пары. Была, например, опущена критическая пара <pq 4-Р, qs + О, которую можно породить из (el) и (расширения правила) (е2) посредством суперпозиции pq + qs + р + q. Отбрасывание таких критических пар было умышленным, поскольку полнота нашей стратегии от них не зависит. Более того, порождение всех критических пар процедурой АС-пополнения требует полного алгоритма АС-унификации и для +, и для *, который довольно неэффективен. Те критические пары, которые нам нужно порождать, образуют лишь небольшое подмножество всех возможных критических пар, и требуемый для их порождения алгоритм унификации значительно проще, чем АС-унификация. Для того чтобы описать, какие же критические пары следует порождать, мы начнем с определения.
Определение 3.1. Булев терм называется N-термом, если он является конъюнкцией литер. Правило /->0 называется N-npa- вилом, если I является N-термом.
Например, pqr есть N-терм, тогда как pqr + pq не является N-термом. Однако каждый нередуцируемый (относительно ВА) терм есть сумма N-термов. Правая часть N-правила всегда 0.
Заметим, что в нашем примере одно из двух правил, используемых в процессе суперпозиции, всегда было N-правилом ((еб), (е7) и т. д.). Фактически порожденные таким образом критические пары — это все, что нам нужно. Более точно, нам нужно образовывать только те критические пары, для порождения которых используется по крайней мере одно N-правило. Благодаря этому мы не только сократим число критических пар, но также
значительно упростим алгоритм унификации, нужный для нашей стратегии. Причина упрощения состоит в том, что процесс унификации, требуемый для нахождения этих критических пар, может быть ограничен только работой с N-термами, и оператор + (который в N-термах не встречается) совсем не нужно рассматривать. В соответствии с этим мы приведем сейчас алгоритм унификации, требуемый для нахождения указанных критических пар.
BN-унификация
Основное различие между обычной унификацией (в смысле [39]) и АС-унификацией заключается в том, что последняя образует более одного наиболее общего унификатора. Например, для термов ab^c и ху (где а, b и с — константы, х и у — переменные, а опущенный оператор * ассоциативен и коммутативен) мы имеем следующие унификаторы:
x-e—ab у*-Ьс,
x<-abc, у<—Ь,
х*—а,у<-Ь2с,
х-<—ас,у*-Ь2,
х*-с, y«—ab\
и каждый из них не зависит от остальных. Было показано [41], что при условии существования единичного элемента каждая такая задача унификации соответствует множеству однородных уравнений, а число наиболее общих унификаторов пропорционально размерности пространства решений. Таким образом, сложность АС-унификации определяется главным образом числом способов распределения подтермов по переменным. Другими словами, АС-унификация была бы значительно проще, если бы термы не содержали переменных.
Обратимся теперь к структуре булевых N-термов. N-терм — это произведение литер. Так как предикатные символы унифицируются только с такими же предикатными символами, то переменные в качестве аргументов оператора -- не встречаются. Поэтому нам никогда не потребуется разделять терм на несколько частей для различных переменных. Нам не нужно также заботиться о кратных вхождениях одинаковых литер, поскольку кратные литеры сольются в одну по свойству идемпотентности оператора *. Для достижения полноты, однако, мы припишем каждому терму переменную (подобный прием нужен также для получения канонических систем АС-теорий; см. [34]).
Проблему унификации можно поэтому переформулировать следующим образом.
Проблема унификации. По двум данным (нередуцируемым) булевым N-термам s' и f найти полное множество наиболее общих унификаторов термов s = us' и t = ut', где и и и — новые переменные.
Этот процесс мы назовем ВN-унификацией. Поскольку и и и могут унифицироваться с чем угодно, каждая пара термов BN-унифицируема простой заменой и на f и и на s'. Мы, однако, более заинтересованы в других нетривиальных унификациях. Например, для термов
s' = P(x, у)Р(у, z)P(z, х) и t' = Р(а, Ь)
в дополнение к тривиальному наиболее общему унификатору (u*-wP(a, b), v<-wP(x, у)Р(у, z)P(z, х)}
имеются еще три наиболее общих унификатора
{х«-а, y*-b, u<-w, v<-wP(b, z) Р (z, а)},
(у<—а, z*-b, u*-w, v<-wP(x, a(P(b, x)},
{z<-a, x<-b, u*—w, u<-wP(b, y)P(y, a)}.
Заметим, что на самом деле в этом примере имеются два типа переменных и два вида унификации. Переменные и, и и w являются булевыми; х, у и z— переменные аргументы предикатов, и унификация предикатов — обычная унификация.
Интуитивное объяснение функции BN-унификации дано в [21]. Там версия этой унификации интерпретируется как нахождение наименьшего общего кратного двух термов; сначала ищутся общие примеры предикатов в этих двух N-термах (наибольший общий делитель1), а затем имеющиеся различия подставляются вместо дополнительных переменных другого терма. Объединенный терм, составленный из наибольшего общего делителя и частей, в которых у исходных термов есть различия, имеет ту же сущность, что и наименьшее общее кратное в арифметике. Из предыдущих объяснений нетрудно видеть, что в пропозициональном случае любые два N-терма имеют единственный наиболее общий BN-унификатор.
Мы приведем теперь непосредственный алгоритм BN-унификации. Вход алгоритма — это термы s' и t', которые являются разделенными (т. е. не имеют общих литер)1) N-термами. На выходе алгоритма получается полное множество 2 наиболее
') Легко видеть, что любая общая литера двух N-термов должна быть частью наибольшего общего делителя.
общих унификаторов. Для простоты обозначений мы всегда предполагаем, что переменные в предикатах соответствующим образом переименованы перед подстановкой.
Proc UNIFY(s',fz):
2:=0;\.
s := us';
t := yt';
; . call UNIFY l(s,#, 0,2);
return 2.
Proc UNIFYl(s J,unifier,2):" ' '
разделить s и t, пусть в результате получаются термы
$ = иРх (sj ... Рп (sn) и / = uQx (t{) ... Qm (tm)\ ’ ' r
2 := 2 + unifier U {u <- wQ, (/,) ... Qm V^,• ■>
v<-wPx (sO ... P„(s„));
for z" = 1 to n do
for / = 1 to m do
if За такой, что Pt (s^ ст = Qj (tj) ст (* a — унификатор литер *)
then UNIFYl(scr, to, unifier Uo,2).
Унификатор о в алгоритме — это наиболее общий унификатор литер, а не унификатор N-термов. Число циклов в приведенном алгоритме может быть значительно сокращено, если все литеры в термах заблаговременно отсортированы. Один такой алгоритм, где литеры сортируются лексикографически, дан в
Предварительная обработка булевых термов
Термы, записанные с помощью булевых связок Л, V и П, можно преобразовать в термы булева кольца (с операторами * и +), применяя первые три правила системы ВА. Мы укажем здесь более прямой и эффективный метод преобразования.
Определение 3.2. Для дизъюнкта С = Lx V ... V Lk, где Д —литеры, определим
если С пуст,
г(С) = -
^ + 1,
Р,
если С есть Р, если С есть “1 Р,
г (/.,)* г (Д V •
. V Д) в остальных случаях.
Равенство г(С) = 0 тавтологически эквивалентно С = 1. Данное r-преобразование использует семантику булева терма и является более эффективным, чем прямое преобразование редук-
циями с помощью ВА. Проиллюстрируем это на следующем примере.
Преобразуем терм ~р V П 7 V г в терм булева кольца. Используя первые три правила ВА, получаем терм
(р + !)*(<? + 1)*г + (р 4- 1)*г + (<? + 1)*г + (р+1)* (<?+!)+
+ (Р + 1) + (<7 + 1) + Л
который может быть далее редуцирован к pqr + pq + 1 с помощью остальных правил. Однако, используя г-преобразование, получим, что исходный терм ') эквивалентен p*q*(r + 1), или, что то же самое, pqr + pq. Следовательно, правило П pV”19 V \/г->\ перейдет в pqr -\- pq ->д прямо из /"-преобразования. В качестве другого примера рассмотрим терм ipSHq. С помощью /"-преобразования он перейдет в р * q, что дает нам N- правило pq->0. Это показывает, что каждый дизъюнкт, все литеры которого отрицательны, может быть преобразован в N- терм и обратно. Теперь мы уже можем формально определить полную стратегию для исчисления предикатов первого порядка, использующую метод Кнута — Бендикса.
N-стратегия
В приводимом методе мы пользуемся определенным выше алгоритмом BN-унификации. Из практических соображений мы всегда будем заменять дополнительную переменную w, которая была введена как «степень свободы» в наиболее общем унификаторе из BN-унификации, на 1. Правило /->6 будет обозначать булево правило, правая часть которого 0 или 1.
Определение 3.3. Пусть Zt [Z]—*д и /2->0 —два булевых правила. Если (1) /2->0 есть N-правило и (2) существует (наиболее общий) BN-унификатор ст, такой, что (и/) ст = (о/2) ст (где и и и— дополнительные переменные в BN-унификации), то ((и (/, [0] + д)) ст, 0 ) называется N-критической парой для правил /, ->д и /2->0, a (u (/i [/] + 6)) ст — ее суперпозиция; N- критическая пара называется дивергентной, если терм ((«(/i [0] + + 6))ст)* отличен от 0.> и-
Теперь мы дадим схему N-стратегии., .
N-стратегия. Для доказательства истинности предложения Ф: Преобразовать (скулемизированное) отрицание Ф в множество дизъюнктов S;
Представить S в виде множества переписывающих правил из R посредством ВА (и /--преобразования);
’) Точнее, его отрицание.—Прим, перев.
repeat
Найти дивергентную N-критическую пару для правил из R;
Пусть t* = f + д, где 6— либо 0, либо 1, Превратить (/*, 0) в правило /'—>6;
7? : = У? U > д};
Использовать /' >д для упрощения и вычеркивания правил из R;
until (не существует ни одной N-критической пары) или (порождено правило 1 —> 0);
if порождено правило 1—>0 then return «доказано»
velse return «непротиворе
чиво»
N-стратегия по существу совпадает с процедурой пополнения Кнута — Бендикса; отличие состоит в том, что (1) N-стратегия ищет только N-критические пары и (2) заканчивает работу, если порождено правило 1->-0. Каноническая система ВА используется в этом процессе для сведения каждого терма (например, термов в порождаемых критических парах) к его нере- дуцируемой форме. Заметим, что для нахождения критических пар ВА не применяется. Как и процедура пополнения, N-стратегия может давать различные результаты. Она может
породить правило 1—>0, в этом случае входное множество дизъюнктов противоречиво;
породить конечное число правил и остановиться, множество дизъюнктов тогда непротиворечиво;
породить бесконечно много правил, т. е. никогда не остановиться; множество дизъюнктов в этом случае также непротиворечиво.
Отметим, что в N-стратегии никогда не происходит авост (т. е. порождение критической пары с несравнимыми термами), поскольку один из термов в любой N-критической паре всегда О или 1.
Полнота N-стратегии устанавливается следующей теоремой.
Теорема 3.4. Множество дизъюнктов S исчисления предикатов первого порядка противоречиво тогда и только тогда, когда с помощью N-стратегии можно получить правило 1^-0.
Доказательство этой теоремы будет дано ниже. Сейчас мы рассмотрим несколько примеров.....
Пример 3.5. Пусть
= {Д р V Д q V “1 г, р v “1 г, q V 1 г, s V г, I/ V Д s, Д t Vr).
(el) (e2) (e3) (e4) (e5) (e6)(el) (e2) (e3) (e4) (e5) (e6)Дизъюнкты превращаются в следующие правила: pqr -> О, рг + г -* О, qr + г -> О, rs + г + s —> 1, st + s —> О, rt + t -* О.
(el) (e2) (e3) (e4) (e5) (e6)
(el) (e2) (e3) (e4) (e5) (e6)
Среди этих правил только (el) является N-правилом и может быть использовано для начала процесса. Однако в отличие от примера из п. 3.1.1 левая часть (el) не является подтермом левой части никакого другого правила. Мы, следовательно, должны применять BN-унификацию. Согласно BN-уни- фикации, терм pqr унифицируем с рг-подтермом левой части (е2) подстановкой q вместо дополнительной переменной и терма рг. В дальнейшем мы будем помечать индексом BN правило, когда при унификации используется дополнительная переменная. Например, (е1)вн —это vpqr -* 0, а (е2)вк — это и(рг + г)-> —>0, или, эквивалентно, ирг + иг -*0. Правила (el) и (e2)BN имеют суперпозицию qr + pqr (и заменяется на q\ которая дает критическую пару (_qr, 0) или в виде правила
qr->0 (из (el), (e2)BN). (е7)
Правило (е7) можно сразу использовать для упрощения (еЗ):
г 0 (из (е7), (еЗ)).(е8)
Правило (е8) применяется для вычеркивания лишних правил.
Упрощенное множество правил таково:
s—>1,(е4')
st + s -> 0,(е5')
/ —> 0,(еб)
г->0.(е8)
Правила (е5') и (еб) дают нам правило s—>-0, которое вместе с (е4') образует 1-*0— противоречие.
Пример 3.6. Условие верификации в программе Хоара FIND
{Vx, у (х < у V у < х) Л j < i Д m^p^q^n
Л Vx, у (m^x < i A j < у < n zd Л [x] ^ Л [z/])
Д ух, у (m^ x < у < j zd A [x] < A [z/])
A VM z/(z<-K<y<zzZD Л [x]< Л[г/])} zd ЛМ^Л^].
О первом механическом доказательстве этой теоремы сообщалось в [43], где использовались резолюция и ряд специальных правил для частичного упорядочивания. Доказательство было завершено после порождения 62 резольвент. Проводились также эксперименты с помощью чисто синтаксических методов (таких, как резолюция, не использующая специальных знаний о предметной области). В [11] обсуждались результаты, полученные благодаря применению лок-резолюции и некоторой версии натурального вывода (упрощенный формат редукции задач [36]). Первый метод (лок-резолюция) породил 173 резольвенты и остановился, не получив доказательства1). Второй метод нашел доказательство в результате образования 223 подцелей. Используя N-стратегию, отрицание этого предложения можно представить в виде 9 правил
л [р] < л Мо, ' (cl) q < п -> 1, (с2) P^q^X, (сЗ) т ^р -> 1, (с4) 1<1-*\, (с5)
(Л [х] < Л [у]) (z < х) (х < у) (у < п) + (/ <х) (х < у) (у<п) -* О,
(сб)
(Л [х] ^ Л [у]) (т ^ х) (х ^ у) (у ^ z) + (т ^ х) (х ^ у) (уС/Н-0,
(с7)
(Л [х] < Л [у]) (щ < х) (у < и) (/ < у) (х < z) +
+ (т<х)(у<я)(/<у)(х<1)->0, (с8)
<Л < у) (у<Л < у) (ух) + (х < у) + (у < х) -> 1.х) + (х < у) + (у < х) -> 1.(с9)(с9)
<Л < у) (у
<Л < у) (у
х) + (х < у) + (у < х) -> 1.
х) + (х < у) + (у < х) -> 1.
(с9)
(с9)
Единственным N-правилом, которое мы имеем на данный момент, является (cl), и, унифицируя р и q из (cl) с х и у из (сб), мы получаем критическую пару ((г ^ р) (р ^ у) (у ^ и), 0). Эту критическую пару, однако, нельзя сразу превратить в правило, поскольку терм (/^ р) (р ^ у) (у ^ п) еще можно редуцировать с помощью (сЗ) и (с2). Правило, получаемое в конечном счете из этой критической пары (после сведения термов к их нередуцируемым формам), таково:
iiPP->0.->0.Кроме того, (cl) и (с7) дают новое правило У С / -* О,Кроме того, (cl) и (с7) дают новое правило У С / -* О,(с Ю)(сП)(с Ю)(сП)
i
i
P
P
->0.
->0.
Кроме того, (cl) и (с7) дают новое правило У С / -* О,
Кроме того, (cl) и (с7) дают новое правило У С / -* О,
(с Ю)
(сП)
(с Ю)
(сП)
Ч Этот метод позднее был значительно усовершенствован, и доказательство было найдено после порождения 25 резольвент [12].
тогда как (cl) и (с8) образуют
(j < q) (р < i) -> 0.(с12)
Теперь (сЮ), (ell) и (с12) являются N-правилами, которые мы можем использовать. Единственную нетривиальную критическую пару правило (сЮ) образует с правилом (с9) унификацией i и р с х и у.
р <1-*\.(с13)
Правило (с13) упрощает (с12):
j<q->0.(cl 2')
Правило (сП), подобно (сЮ), также вместе с (с9) образует новое правило
i<q->\.(с14>
Противоречие получается непосредственно из (с 12') и (с14). Отметим, что доказательство получено в результате порождения только 5 правил (правило (с12')— упрощение (с12)), и это доказательство исчерпывающее! Причину такой эффективности относительно пространства поиска мы обсудим ниже.
Пример 3.7. Пусть Р— подмножество группы G, такое что, если х и у принадлежат Р, то ху-1 также принадлежит Р. Тогда Р вместе с каждым элементом содержит и его обратный.
Мы начинаем со следующих правил:
М (е, х, х) -> 1,(el)
М(х, е, х)-> 1,(е2)
М (х, Цх), е)->1,(еЗ)
М (i (х), х, е) -> 1,(е4)
PW^l,(е5)
Р(ЦЬ))-*0,(еб)
Р (х) Р (у) М (х, i (у), г) (Р (z) + 1) -> 0.(е7)
Функция / дает обратный элемент, призведение первых двух аргументов М равно третьему аргументу, а Р(х) означает, что х принадлежит Р. Имеем следующее доказательство:
Р(х)Р(у)М(х, Цу),ЦЬ))-*0(из(еб), (е7)),(е8)
РЦ)->0(из(е8), (el)BN),(е9)
Р(х)Р(у)М(х, Цу),е)->0(из(е9), (е7)),(еЮ)
Р(х)-^-0(из(еЮ), (e3)BN),(ell)
1->0(из(ell), (е5)).(е12)
Более короткое доказательство этой теоремы можно получить, используя комбинацию N-стратегии с канонической переписывающей системой для теории групп. Это явление будет детально обсуждаться в разд. 4.
Доказательство теоремы 3.4
Для более эффективного представления доказательств вместо правил /—>-6 мы будем использовать равенства / = 6. Для доказательства нам понадобится также модифицированное понятие семантического дерева [24, 40].
Определение 3.8. Е-атомным множеством для множества дизъюнктов S является множество
{^(fli, . а„) = 0, Р^ах, .а„)=1:
ач принадлежит эрбрановскому универсуму, а Р — предикат из S}.
Элементы Е-атомных множеств называются Е-атомами. Например, Е-атомным множеством для ^Р^а^ HQ(fx)} является множество
^^ = 0,?^= 1, Q (а) = О, Q (а) = l,E(ftz) = O,E(ftz)=l, ...}. Е-семантическое дерево над множеством дизъюнктов S— это обычное семантическое дерево, за исключением того, что двум исходящим из узла ребрам приписаны взаимно дополнительные Е-атомы из Е-атомного для S множества (т. е. L = 0 и L = l, а не Л и ПЛ). Узел N Е-семантического дерева называется опровергающим узлом, если существует основной пример G = 0 равенства С* = 0 (С — дизъюнкт из S, а С* — нормальное выражение С), нормальное выражение которого принимает вид 1 = 0, когда каждая литера L из G заменяется на 0 (соответственно на 1), если Е-атом Л —0 (соответственно L = 1) приписан некоторому ребру в пути, ведущем от корня дерева к N, Е-семантическое дерево закрыто, если каждый его лист является опровергающим узлом. Подобным же образом вводятся остальные определения, относящиеся к семантическим деревьям. Для новых определений также имеет место теорема Эрбрана.
Теорема 3.9 (Эрбран). Множество дизъюнктов S невыполнимо тогда и только тогда, когда каждое полное Е-семантическое дерево имеет конечное закрытое поддерево.
Мы докажем теперь полноту N-стратегии (теорема 3.4). Достаточность очевидна, поскольку каждый шаг редукции сохраняет истинность. Необходимость мы докажем индукцией по размеру закрытого Е-семантического дерева. Для простоты обозна-
чений рассмотрим только пропозициональный случай. На исчисление предикатов первого порядка это доказательство можно обобщить без затруднений.
Базис индукции. Если Е-семантическое дерево содержит только один узел, то этот узел должен быть 1=0, и все доказано.
Шаг индукции. Мы упорядочим закрытое Е-семантическое дерево таким образом, чтобы правое ребро было всегда положительным, т. е. L = 0 Л L = 1. Так как каждый лист (опровер-
Рис. L Е-семантическое дерево. Рис. 2. Е-дерево после удаления Л-ветви.
гающий узел) закрытого Е-семантического дерева является примером Нормального выражения дизъюнкта из S, самый правый лист должен быть равенством с N-термом в левой части (что соответствует отрицательному дизъюнкту из S). Пусть LL\ ... Ln = 0 — лист из самого правого пути с последним ребром L=1 (рис. 1). Если каждый из листьев его соседнего поддерева не содержит литеры L, то последнюю вилку, помеченную L, можно элиминировать и Е-семантическое дерево сократится до дерева, изображенного на рис. 2 (поддерево D' совпадает с D). Тогда по индукционной гипотезе все доказано. Нам нужно, стало быть, рассмотреть единственный случай, когда некоторый из листьев D содержит L. Пусть
L * sv -Е L * $2 -Е • •. ~Е L * sm -Е t = 0
такой лист, где st суть N-термы и t не содержит L. Согласно BN-унификации, термы L* Si и LLV . .. Ln имеют наиболее общий унификатор, который унифицирует дополнительную
переменную и из L*sx с частью терма Lx ... Ln (или со всем термом Lx . . . Ln, если ни одна из литер L, не встречается в $i). Без потери общности мы можем считать, что только литеры Li+X, ..., Ln содержатся в S] и и унифицируется с L, ... Li. Тогда имеем суперпозицию
LLX ... Lt* S[ + . . . + LLX .. . Li * sm + Lx ... Lt * t,
и новое равенство (из соответствующей критической пары)
LL\ ... Lt* s2 + ... + LLX ... Li* sm-V Lx ... Li * t = 0.
Отметим, что (1) этот шаг —законный шаг порождения правил в N-стратегии, (2) первый подтерм L*sx был элиминирован, так как LLX ... Lt * sx содержит терм LLX . .. Ln, равный 0. Нетрудно показать, что потребуется не более т суперпозиций для полной элиминации литеры L из этого листа и что новый опровергающий узел будет иметь поэтому вид Ltx ... Lif*t = O для некоторых / и ix, ..., ij. В результате применения описанного процесса к каждому листу из D, содержащему литеру L, поддерево D станет новым деревом D', листья которого вхождений L не имеют. Вилку, помеченную L, можно тогда элиминировать, и Е-семантическое дерево в соответствии с этим также сократится (до дерева, изображенного на рис. 2). По индукционной гипотезе теорема доказана.
Полная бездизъюнктная стратегия
Так как каноническая система для булевой алгебры всегда дает нам нередуцируемую форму для любого булева терма, кажется излишним требовать приведения каждого предложения к дизъюнктной форме. Первая бездизъюнктная стратегия доказательства теорем, использующая ВА в переписывающем методе, была дана в [8]. Здесь мы приведем одну версию этого метода.
Бездизъюнктная стратегия. Для доказательства истинности предложения Ф:
Скулемизировать П Ф; пусть в результате получается формула MX^M2^... LM„ (Mi не обязательно дизъюнкты).
Добавить переписывающие правила VHj—* 1, М2->1,..., Мп->\.
Применять АС-алгоритм пополнения Кнута — Бендикса к этому множеству правил и ВА до тех пор, пока не найдется ни одной критической пары или не породится правило 1-*0.
Если найдено правило 1 —»-0, то результат «доказано»; в противном случае результат «непротиворечиво».
Алгоритм АС-унификации (с двумя АС-операторами * и -|~), нужный для нахождения критических пар так же, как и в N-стратегии, является более слабым, чем полная АС-унификация, поскольку переменные не могут быть аргументами АС-оператора. Полнота стратегии непосредственно следует из основной теоремы работы [15].
Мы продемонстрируем использование этой стратегии следующим примером.—
Пример 3.10. Пусть имеется формула Ф: . ' .
Vx [А (х) = В (х)] 2з [VxA(x) = VxB(x)].
Скулемизируя отрицание Ф, получаем
И (2) = В (z)] Д [А (х) V В (у)] А [п В (а) VI А (6)]
А [В (а) лэ В (у)] А [А (6) =э А (х)],
где а и b— новые скулемовские константы. Так как первое вхождение = осталось неизменным, мы можем применить правило (R4) из BA: х = у—>-х + у + 1. Формулы, преобразованные в правила, выглядят следующим образом:
(П) (г2) (гЗ)(г4)(г5)(П) (г2) (гЗ)(г4)(г5)А(2) + В(2)->0,
(П) (г2) (гЗ)
(г4)
(г5)
(П) (г2) (гЗ)
(г4)
(г5)
А (х) В (у) + А (х) + В (у)-> 1,
В (а) А (6) -> 0,
В (а) В (у) + В (а)-> 0, А (6) А (х) + А (6)0.
Из (rl) и (г2), унифицируя х и у с 2, мы получаем суперпозицию А (2) В (2) + А (2) + В (2) и критическую пару ( А (2) В (2), 1). Поскольку Мх . .. Мп = 1 можно расщепить на равенства Мх = = 1Mn = 1, то вместо преобразования критической пары в одно правило имеем
(Гб)(г?)(Гб)(г?)А (2)^1, В(2)-^1.
(Гб)
(г?)
(Гб)
(г?)
Правила (гб) и (г?) означают, что каждый пример А (2) и В (2) в нашем множестве правил можно заменить на 1. Поэтому все пять исходных правил вычеркиваются, а (гЗ) преобразуется в 1-^-0 — противоречие.
Подстратегия редукции
Как отмечено выше, редукции с помощью ВА не дает полной стратегии для логики первого порядка. Однако этот метод, конечно, эффективен для доказательства (или опровержения) простых фактов, к которым он применим. Хорошей стратегией поэтому является использование метода редукций в качестве подстратегии для быстрой проверки ложности предложения перед тем, как будет вызвана основная процедура. Чтобы наиболее полно воспользоваться этой возможностью, разрешим также однократную подстановку вместо предметных переменных.
Определение 3.11. Формула <р первого порядка называется квазитавтологией, если существует подстановка а вместо переменных скулемовской формы ф формулы Пф, такая, что о(ф) тавтологически эквивалентна 0.
Квазитавтологии обсуждались в работе [5]. В следующем примере отрицание формулы уже скулемизировапо:
(1 Рх (х„ х2) V ■ •. V1 Рп Um Ч)) A Pi (а, а) А ... А Рп (я, а)-
Доказательство в одну строку может быть получено преобразованием этого предложения к виду
Р\ Ux, х^ Р2 (х2, х3) . . . Рп (х„, х,) Рх (а, а) ... Рп (а, а) +
+ Рх (а, а) ... Рп (а, а) -* 1
и унификацией всех переменных х, с а.
Стратегия редукции полна для квазитавтологий первого порядка. Доказательство этого факта — просто следствие теоремы 2 из [18]. Связь между линейной стратегией и теоремой Юлло впервые замечена Дершовитцем [7].
МЕТОД ПЕРЕПИСЫВАЮЩИХ ПРАВИЛ ДЛЯ ВСТРОЕННЫХ ТЕОРИЙ ПЕРВОГО ПОРЯДКА
Введение
Хотя N-стратегпя эффективно работает на довольно широком множестве задач, другое, даже еще более важное, преимущество, достигаемое благодаря применению переписывающего метода к доказательству теорем первого порядка, — это возможность решать задачи с предикатами, аргументы которых определены на специальных областях. Пример 3.7, в котором аргументы определены на группах, является задачей такого рода. Этот пример можно преобразовать в следующее множество дизъюнктов:
{ДР(х)УДР(у) VPCxy"1), Р(«), ДР^1)},
где аргументы предиката Р удовлетворяют групповым аксиомам ех = х, хх-1 = е,
кху^ 2 = X <уг\
В дальнейшем мы будем использовать Т для обозначения теории предметной области. В настоящем разделе обсуждение будет сконцентрировано на специальном классе проблем, который предполагает существование канонической переписывающей системы для Т. Например, мы можем иметь дело с приведенным выше примером, поскольку теория групп имеет каноническую систему. Данное ограничение будет несколько ослаблено в следующем разделе.
Имеется очевидное решение для класса интересующих нас проблем: представить все (и доказываемое предложение, и 7) в виде дизъюнктов и равенств и применить комбинацию резолюции с парамодуляцией. Этот метод, однако, очень неэффективен.
Другое возможное решение состоит в следующем: поскольку переписывающий метод весьма эффективен при обращении с термами, почему бы не применять резолюцию к дизъюнктам, а переписывающий метод (с канонической системой для 7)— к аргументам? Несмотря на кажущуюся правдоподобность, этот подход не полон. Исследования в этом направлении проводились Плоткиным [37], который погружал аксиомы области в алгоритм унификации (та же идея была позже приспособлена в [27, 34] для расширения метода Кнута — Бендикса), Слэглом [44], Лэнкфордом [26], а также Лэнкфордом и Баллантайном [29], которые ввели понятие «сужения» для поиска полезных примеров аргументов в дизъюнктах. Мы продемонстрируем неполноту прямой резолюции и переписывающего метода на следующем примере. Пусть
R = ^х-1х -> е, хх""1->е^, S = {f(x, х), ~]Л(ии-1, и~М}, где R — множество переписывающих правил для аргументов Р. Легко видеть, что R— каноническая система, и R U S противоречиво. Однако к аргументам предикатов нельзя применить ни одного переписывающего правила, и резолюция также невыполнима.
Теперь мы покажем, как эту задачу можно легко решить с помощью ВА, используя только переписывающий метод. Сначала приведем дизъюнкты к их нередуцируемым формам:
Р(х, х) —> 1, (с1)
Р^ии-1, u^lv)^Q, ' (с2) х-1х-*е, (Н) хх"1->е. (г2)
Будем рассматривать их как обычные правила и применим к ним процедуру пополнения Кнута — Бендикса. Правила (с2) и (rl) имеют суперпозицию Р^хх-Х, х-1х), соответствующая критическая пара которой после редукции превращается в правило
Р (е, е) -> 0.(сЗ)
Правила (cl) и (сЗ) сразу же дают противоречие (и, следовательно, доказательство) 1—>0.
RN-стратегия
Эту идею можно использовать в качестве общей полной стратегии. Для формального ее описания начнем с нескольких определений. Впредь через S будем обозначать множество переписывающих правил, полученных из множества дизъюнктов, а через R— (каноническую) переписывающую систему для Т.
Определение 4.1. Правило 1-^г называется RN-правилом, если оно является N-правилом из S или правилом из R.
Определение 4.2. Пусть /,[$]->■ 6 — правило из S, 1->г ест,. RN-правило; если либо
l-*r есть N-правило и существует N-критическая пара (/2, 0) для этих двух правил; либо
/-> г —правило из R и существует наиболее общий унификатор а, такой, что so = la (пусть 1^ = Ri [г]) ст + д), то (/2> °) называется RN-критической парой.
В определении 4.2 (ii) подтерм s в 6(s) является отличным от переменной подтермом аргумента некоторого предиката из ti, а наиболее общий унификатор аргумента дизъюнкта и правила из R получен применением какого бы то ни было алгоритма унификации, подходящего для Т. Единственное различие между образованием N-критических пар и RN-критических пар заключается в том, что в последнем случае разрешена также суперпозиция между правилом, полученным из формулы, и правилом, полученным из аксиом области.
Требуя порождения RN-критических пар, N-стратегию можно обобщить до RN-стратегии:
RN-стратегия.
Для заданных множеств S и R•
repeat
Найти дивергентную RN-критическую пару (t, 0) для правил из R U 5;
Преобразовать (I, 0) в правило s —* 6;
S: = SU{s->6};
Использовать s-*d для упрощения и вычеркивания правил из S;
until (не существует ни одной дивергентной RN-критической - пары) или (порождено правило 1—>0);
if порождено правило 1->0 then return «доказано»
else return «непротиворечиво». Возможные результаты работы алгоритма такие же, как и в случае N-стратегии, и этот метод также полон.
Теорема 4.3. Пусть S —множество дизъюнктов, R —каноническая система, S U R является Е-невыполнимым тогда и только тогда, когда из S\3R с помощью RN-стратегии можно получить
Доказательство. Достаточность следует из того, что все шаги редукции сохраняют истинность. Для доказательства необхо
димости проведем индукцию по размеру Е-семантического дерева. Как и в доказательстве полноты N-стратегии, мы будем употреблять равенства вместо правил. Рассмотрим сначала случай основных формул. Пусть В = {/[а1; . .. , ат] = 0} —противоречивое множество основных примеров правил из S, где aY, ... , am — все аргументы литер из I. При помощи RN-стра- тегии из В получается другое противоречивое множество В* = = {/ [а*, . . . , а‘Д = 0), где а* — нередуцируемая форма а^ (Для этого ищутся RN-критическне пары для правил из R и «правил» из В. Заметим, что терм а*. единственный, поскольку система R каноническая.) Согласно теореме 3.4, равенство 1 = 0 можно вывести из В*, используя N-стратегию (так как В* со-
3 Зак. 854
... , ату и выполним... , ату и выполнимРис. 4. Е-дерево после удаления Р(ар .... аш)-ветви.Рис. 4. Е-дерево после удаления Р(ар .... аш)-ветви.держит только основные правила). Е-семантическое дерево, соответствующее такому доказательству, изображено на рис. 3. Так же, как и в доказательстве теоремы 3.4, мы предполагаем, что правая ветвь, исходящая из каждого узла, всегда положительна. Пусть ЦЦ .. . LnP (zz*, .. . , zz^) = 0 — лист самого правого пути Е-семантического дерева. Возьмем все листья соседнего с этом листом поддерева D, содержащие Р (zz*, . ..
... , ату и выполним
... , ату и выполним
Рис. 4. Е-дерево после удаления Р(ар .... аш)-ветви.
Рис. 4. Е-дерево после удаления Р(ар .... аш)-ветви.
суперпозиции между каждым из них и ЦЬ2 .. . LnP (zz*, . .. , zz^) = O аналогично тому, как это сделано в доказательстве теоремы 3.4. Литера Р(а*, ..., а^) будет тогда элиминирована из дерева D и соответственно будет элиминирована ветвь, помеченная Р(а\, ... , а^ (рис. 4). По индукционной гипотезе в рассматриваемом случае все доказано.
При применении изложенных выше рассуждений к неосновным формулам из В* может возникнуть, однако, следующая проблема. Может случиться так, что имеет место равенство Р(Ь*, ..., ^’„р, + ^ = О, причем Ь*.= = а*, но Ь. ^ аг Более точно, если Р (sjsm) — неосновная литера, соответствующая Ptbp ..., bm), а Р^, ...,tm) — неосновная литера, соответствующая Р (zzp . .., zzm), то Р (b*, ..., 6^) = = р (zz*а^ еще не гарантирует, что st и tt унифицируемы. В этом-то и состоит трудность, для преодоления которой Слэгл и Лэнкфорд ввели дополнительные технические средства (такие, как сужение).
Мы утверждаем, что, накладывая правила из R на Р (/н ...,/т) (т. е. находя RN-критические пары для правил из R и правила из S, содержащего Р (tu ..., /ш)), мы в конце концов породим некоторую литеру Р (/,,. .., /^), имеющую Р (zz*,. .., zz*J своим примером. Если это в самом деле так, то пусть Р ^t'v . . ., ^п) и P(s(, . .., s^) — порожденные таким образом литеры, соответствующие P(zz*, ..., а^) и Р(6р .... Ь*^. Они, разумеется, унифицируются и дают нужную нам критическую пару. Стало быть, остается только доказать наше утверждение. Для простоты бы будем использовать в качестве правила Р Rb ..., /т) —> 0.
Лемма 4.4. Если R — каноническая система, Р (/ь .. ., /т) —> О — дополнительное правило, а Р(а{, ..., ат)->0 — его основной пример, то, применяя RN-стратегию к множеству правил RUVP^x, ^m)-**}}, мы породим правило Р (/, имеющее P(a*v ..., а^-^О основным примером.
Доказательство проведем индукцией по числу п шагов, необходимых для сведения всех at к а*. Если п = 0, то ничего доказывать не надо.
Если aL #= а*, т. е. at редуцируем в R, то обязательно найдется подтерм с терма аь являющийся основным примером левой части некоторого правила 1->г из R. Мы обозначим терм at через at [с], а соответствующий неосновной терм — через tt [/'] (где /' — пример /). Правила Р1Д, ... , /;[/'], ... , /т) —> О и 1->г дадут критическую пару ^PRX, ... , tt [г'], ... , tm\ 0) и, следовательно, новое правило Р(/ь . .. , /, [г'], .. . , /т)->0. Так как соответствующий основной пример терма /г [г'] по крайней мере на один шаг редукции ближе к а*, чем at, то по индукционной гипотезе все доказано.
Итак, мы завершили рассмотрение случая неосновных аргументов. Теорема 4.3 доказана.
Эти теоремы (и методы) можно обобщить также на тот случай, когда R является AC-канонической системой (как, например, для теории абелевых групп).
Примеры и обсуждения
RN-стратегия улучшит эффективность (по сравнению с резолюцией и парамодуляцией) по крайней мере в следующих направлениях:
Элиминируются дизъюнкты, описывающие аксиомы области; поэтому уменьшается число дизъюнктов и резольвент.
Замена термов в литерах при помощи эквациональных аксиом делается строго в одном направлении, и поскольку каждый терм имеет единственную нередуцируемую форму, нет необходимости в тщательно разработанном порядке выбора подходящих подтермов. Таким образом, значительно сокращается пространство поиска.
Как только найдена каноническая система для теории области, ее можно использовать всякий раз, когда нужно доказать какую-либо теорему, причем никаких дополнительных действий с аксиомами области не потребуется. Экономия особенно значительна, если одновременно надо доказать несколько теорем. При доказательстве же теорем с помощью резолюции (па-
рамодуляции) резольвенты аксиом, а также аксиом и похожих дизъюнктов в теоремах будут, как правило, порождаться каждый раз.
Полезные для теории Т леммы, которые порождаются процедурой пополнения Кнута — Бендикса, используются полностью.
Мы теперь заново докажем теорему из примера 3.7, используя RN-стратегию. Пусть G— группа, а Р— подмножество G, такое, что
Если Р Ф 0 и Vx, уеР, ху~х е Р, то
ееР и
из х е Р следует x~veP.
Для доказательства (1.1) мы начнем со следующих правил:
Р(х)Р(д)-\-Р(х)Р^)Р(ху-1)->0,(cl)
Р (а) -> 1 (т. е. Р непусто),(с2)
Р (е) -> 0,(сЗ)
GP (указанная выше каноническая система для теории групп).
Накладывая правило хх-1->е из GP на правило (cl), мы получаем критическую пару ( Р (х) Р (х) + Р (х) Р (х) Р (е), 0), которая после редукций с помощью ВА и (сЗ) становится новым правилом
Р (х) -► 0.(с4)
Как только будет порождено (с4), правила (cl)
и (сЗ) автома-
тически вычеркиваются алгоритмом (поскольку
они являются
частными случаями (с4)), и 1 ->- 0 немедленно (с2) и (с4). Для (1.2) имеем правила
получается из
(cl), как и прежде, Р^->\,
(с2)
Р(ц-,)->0, GP.
(сЗ)
Правила порождаются следующим образом:
Р (х) + Р (х) Р (е)-> 0((d) и хх-‘->
е),(с4)
Р (е) Р (у) + Р (е) Р (у) Р (у *)->0 ((d) и ех-*х\(с5)
Р (е) Р (а) -► 0((сЗ) и (с5)),
(сб)
Р^-*0((с4) и (сб)),
(с7)
1^0((с7) и (с2))_
(с8)
Доказательство было бы даже проще, если бы мы использовали для доказательства (1.2) уже доказанное утверждение (1.1) (в данном случае Р(е)->1) в качестве леммы. Вторая часть примера была проверена с помощью применения обеих стратегий (а также в сравнении с другими стратегиями). N-стра- тегия завершила доказательство после порождения 18 правил, тогда как RN породила только 7. Применение канонической системы теории дает, видимо, явное преимущество.
Другие более общие стратегии
КМ+-стратегия
Хотя во многих случаях для теории существует каноническая система, обратная ситуация также может иметь место. Поэтому требование наличия канонической переписывающей системы для данной теории представляется довольно сильным. Как было уже упомянуто, если процедура пополнения Кнута — Бендикса не дает канонической системы для эквациональной теории, то происходит это вследствие двух причин: зацикливания, когда алгоритм порождает бесконечно много правил, или авоста, когда он порождает критическую пару с несравнимыми термами. В данном разделе мы приведем стратегию для случая зацикливания, а случай авоста обсудим позднее.
Напомним, что в разд. 1 мы упоминали результат Юэ [16] о том, что при условии отсутствия авоста во время процесса пополнения истинное равенство s = Et может, тем не менее, быть доказано с помощью неполного множества переписывающих правил благодаря порождению правил процессом суперпозиции и одновременно с этим приведению s и t к их нередуци- руемым формам (относительно текущего множества правил). Это полуразрешающая процедура для подходящих проблем тождества слов. Она не является разрешающей процедурой, поскольку процесс может не закончиться, если s У= Et.
Доводы Юэ можно естественным образом применять и в RN-стратегии. Мы назовем новую стратегию RN+-cтpaтeгueй. Ее отличия от RN-стратегии заключаются в следующем: (1) кроме порождения RN-критических пар она ищет также критические пары для правил из R (переписывающей системы теории предметной области) и (2) как только такая критическая пара найдена, соответствующее ей правило также используется для упрощения и вычеркивания правил из R. RN+'Стратегия полна для исчисления предикатов первого порядка с (неполной) переписывающей системой для теории предметной области при условии отсутствия авостов в процессе суперпозиции между правилами из R.
Очевидно, что все до сих пор обсуждавшиеся стратегии являются на самом деле частными случаями RN+'СТратегии; она становится RN-стратегией, когда система R каноническая, jV-стратегией, когда R = 0, и исходной процедурой пополнения Кнута — Бендикса, когда S = 0 (где S— множество дизъюнктов) .
RN+’Стратегия имеет и иное применение. Когда доказывается истинность предложения ф zd Y, ф может содержать конъюнкцию равенств. Следующий пример типичен. Если в группе с тремя образующими а, b и с
а3 = е /\ Ь3 = е Л с4 = е Л са 1 = ас Л аЬа~1 = bcb~l,)
то Vxx = e.
Так как всегда более эффективно использовать там, где это возможно, переписывающие правила, а не равенства, может возникнуть желание представить допущения в виде а3 —>■ е, Ь3в, с4 ->е, са~‘->ас, aba-1 ^-bcb~l.
Включение этих правил, однако, меняет каноничность исходного множества правил (т. е. канонической системы для теории групп), и требуется образовывать новые критические пары. RN+'Стратегия с ее способностью расширять множество правил дает естественное решение такого рода задач. Приведенный выше пример будет решен в следующем разделе при помощи RN+'Стратегии с некоторыми усовершенствованиями.
Здесь следует сделать одно замечание, касающееся свойства нётеровости. Когда к переписывающей системе добавляются новые правила, должно изменяться также и упорядочение термов. Поэтому в ходе выполнения RN+'Стратегии может возникнуть необходимость постоянно регулировать это упорядочение. (В RN-стратегии это делать не обязательно, потому что авосты в ней никогда не случаются.)
Стратегии в случае авоста
Когда происходит авост (либо в процедуре пополнения Кнута—-Бендикса, либо в КМ+-стратегии с неполной переписывающей системой), ситуация полностью меняется, поскольку само понятие переписывающих правил, по-видимому, больше неприменимо. Одно возможное средство, неявно предложенное не-
сколькими исследователями и недавно реализованное Лесканом [30], заключается в выполнении алгоритма пополнения с привлечением дополнительных средств. Более точно, если встречается несравнимая критическая пара, следует посмотреть, нельзя ли разрешить ее путем
использования более сильного упорядочения термов, либо
путем добавления нового функционального символа или «массажа» критической пары, либо
путем включения более мощного алгоритма унификации, выполнения затем всего того, что еще необходимо, и повторения процесса пополнения.
Метод (i) достаточно понятен. Так как для множества переписывающих правил может быть бесконечно много упорядочений термов и возможна такая ситуация, что мы выбрали упорядочение, которое работает для исходного множества правил, но оказывается непригодным, когда порождаются более сложные правила, то мы можем снова получить свойство нётеровости, выбрав более хорошее упорядочение. Идея, лежащая в основе метода (ii), состоит в следующем: поскольку термы в (несравнимой) критической паре <Цхь хп), s(xb ..., xm)> эквивалентны в теории Е, то мы иногда можем добавить новый функциональный символ f(xb .... хп) (предполагаем, что tn ^ п) и ввести два правила, редуцирующих оба этих терма к /(х1; ..., хп). В ходе повторного процесса пополнения с новой функцией С и двумя новыми правилами iA-)^tV) и s(-)—>-)(•) может проясниться значение функции ) (в теории Е); этот процесс может завершиться и дать в результате каноническую систему. Заметим, что теория Е не изменилась из-за добавления нового символа, поскольку функцию мы никак не интерпретировали (т. е. не добавляли никаких новых аксиом для f). Подобную технику можно использовать также в случае зацикливания процедуры пополнения: если после порождения ряда правил появляется вероятность, что алгоритм не закончит работу в приемлемое время, то мы можем остановить процесс и поискать полезные примеры среди уже порожденных правил или изменить некоторые правила (не изменяя теории), добавить эти новые правила и начать процесс заново. Разумеется, такой «массаж» требует человеческой изобретательности, и получающиеся доказательства поэтому не полностью автоматические. Тем не менее алгоритм оказывается полезным для уточнения деталей и порождения большинства правил.
Метод (ii), однако, работает не всегда. Простым примером является ситуация, когда порождается пара <х*у, у*х>. Как бы мы ни определяли функцию f (за исключением выбора в ка-
честве f константы, что скорее всего изменит теорию), конфлю- энтность не получится. В этом простом случае можно использовать метод (iii). Так как критическая пара (х*у, у * х> указывает на коммутативность оператора *, то мы можем заменить исходный алгоритм унификации на алгоритм С-унификации (или АС-унификации, если в теории есть также ассоциативность) и повторить процесс пополнения. При возможности могут быть использованы и другие известные алгоритмы Г-унификации (где Т— теория; список см. в [42], см. также [22]).
Теперь мы включим обсуждавшиеся выше идеи в RN+-cTpa- тегию и попытаемся решить пример из предыдущего раздела. Для удобства уберем скобки, полагая, что все они ассоциированы вправо. (Например, с4— это в действительности с(с(сс)).) Начиная с канонической системы GP для теории групп (см.
разд. 1.1) и пяти правил
а3^е,(al)
b3 -* в,(а2)
с4->е,(аЗ)
соГх->ас,(а4)
aba-1 ^-bcb-x,(а5)
КМ+-стратегия порождает правила
a2-*a-1((al)и(г4))(вычеркнуть(al))(аб)
b2-»b-x((а2)и(г4))(вычеркнуть(а2))(а?)
с3->с-1((аЗ)и(г4))(вычеркнуть(аЗ))(а8)
с~хас-»сг'((а4)и(г4))(а9)
с~хсГх -*ас-х((а4) и (г 10))(а 10)
cTxbcb~x-^ЬсГх((а5)и(r4))(all)
ab-xa~x —> bc-xb~x((а5)и(г10))(а12)
сас-х-^сГх((а 10) и (г9))(а 13)
bc~xb~xa-^ab~x((all) и (rlO))(а14)
Кроме того, будут порождены еще десять других правил. Так как все применявшиеся до сих пор правила из системы GP ((г4), (г9) и (гЮ)) только увеличивают размеры термов в критических парах, то маловероятно, чтобы какое-либо полезное правило было порождено за короткий срок. Поэтому мы остановим процесс пополнения и попытаемся найти среди правил такое, из которого с помощью «массажа» можно получить полез-
ное правило. Хорошим кандидатом является правило (а9), в правой части которого нет операции умножения. Поскольку порядок с равен 4, мы возведем обе части (а9) в четвертую степень и получим термы
(c-iac)4 = (с-1)4 а4с4 = а4 = а 9, (аГ1)4 = а7х ^а™1)3 = сГх.
Эти термы эквивалентны, поэтому (а9) можно теперь представить в виде
дГ1 ->а.(а 9 )
После упрощения правил (а4)—(а8) ((а!)"—(аЗ) уже вычеркнуты), используя (а9') и отбрасывая все остальные, получаем следующее множество правил:
са—>ас,(bl)
aba -> bcb"~\'(Ь2)
а2 -> а,. (ЬЗ)
Ь^ЬЛ(Ь4)
с3—\ .(ь5)
(Ь6)
Теперь мы начнем снова выполнять алгоритм с этими новыми правилами. Унифицируя, во-первых, д-1 из (Ь6) с х”2 из (г2), мы имеем (нетривиальную) критическую пару <а, е> и соответствующее правило
(Ь7)
которое еще больше упростит множество правил:
bcb1 —> 6,(Ь2 )
б2-^1,(Ь4)
(ь5)
а-^е.(Ь7)
!) Это преобразование неправомерно, так как
(с-1 ас)4 = с-1асс-1асс-1асс“1ас = с“’а4с.
По-видимому, «массаж» лучше применить к правилу (а5), возводя обе его части в третью степень:
^аЬа-хУ = ab3a-Y = е,
<bcb~vf = bc3b~l = бс^'б-1.
Мы можем образовать тогда правило Ьс—Х Ь — х ->е, из которого нетрудно уже получить с —> в, а—^е, Ь-^е.—Прим, перев.
Правила (Ь2') и (г4) дают новое правило
cb-x-e,(Ь8)
которое упрощает (Ь2'):
6->е]).(Ь2")
Последнее правило в свою очередь упрощает (Ь8):
с—>е.(Ь8')
Окончательное множество содержит тринадцать правил: десять из исходной системы GP, а также (Ь7), (Ь2") и (Ь8Л). Последние три правила указывают, что все элементы группы совпадают, или, другими словами, в группе, удовлетворяющей заданным аксиомам, имеется только одни элемент — единица. Мы доказали, таким образом, теорему.
Еще один более общий метод был предложен Лэнкфордом [26J. В своем подходе он использует специальный предикат EQ (для равенства), аксиому EQ(x, х)->-1 (т. е. х = х) и дополнительное правило вывода, называемое «специальной парамодуляцией». Если в ходе выполнения КП+-стратегии порождается критическая пара <t, s>, которую нельзя преобразовать в правило, то она включается в правило EQ(s, £)->-!. В то же время к термам s и / применяется также специальная парамодуляция, т. е. если имеется суперпозиция между левой частью некоторого правила и s, то все примеры терма s в этой суперпозиции можно заменить на t, и наоборот. Отрицание равенства также представляется в виде правила EQ(s, /),->-О (которое в специальной парамодуляции не нуждается). Лэнкфорд доказал, что при этих условиях получается полная стратегия для теорий с равенствами (и их отрицаниями), встречающимися только в виде единичных дизъюнктов.
Бездизъюнктные стратегии
Все обсуждавшиеся в этом разделе стратегии можно модифицировать в бездизъюнктные стратегии таким же способом, как и в разд. 3.2.
ОБСУЖДЕНИЕ
Реализация и результаты экспериментов
Реализация этих стратегий была осуществлена Аланом Джозефсоном в Иллинойсском университете. Программа поиска доказательства (названная TeRSe) была изначально написана
на языке UTLISP для ЭВМ CYBER 175, а затем переписана на FRANZLISP для VAX 11-780. В данном разделе мы обсудим некоторые полезные технические приемы, применяемые в этой программе. Мы приведем также более эффективную N-страте- гию, которая используется в TeRSe.
Еще о предварительной обработке термов
Как уже было упомянуто ранее, перед выполнением N-стра- тегии входные дизъюнкты должны быть сведены к их нереду- цируемым в булевом кольце формам с помощью г-преобразо- вания и ВА. В ходе этого предварительного шага может возникнуть неприятная ситуация. А именно положительный дизъюнкт, такой, как Р} V • ■ • V Рп> будет г-преобразован в дизъюнкт Ф1 + 1) Фг + 1) ••• (^п+0» длина нормальной формы которого экспоненциально зависит от п. Для сохранения малых размеров правил мы используем следующую технику расщепления. Замечая, что длина преобразованного выражения, состоявшего из отрицательных литер, линейна (П Pi V • • • V- ~I Рп преобразуется в Рх* ... * Рп\ мы можем расщепить положительные литеры Pi V • • • V Рп в дизъюнкте на два дизъюнкта:
Pi V • • • V P\ni2\ V Q и Р[п/2+ц V • • • V PnV 1 Q
при некоторой новой литере Q и повторять расщепления до тех пор, пока в каждом дизъюнкте останется не более двух положительных литер. Несмотря на то что при расщеплении появятся дополнительные символы и мы образуем из дизъюнкта более одного правила, общая сложность, тем не менее, будет значительно уменьшена, а каждое полученное правило будет суммой не более четырех произведений.
Классификация правил
В TeRSe булевы правила разделяются на три множества: N, Р и О. Множество N содержит все N-правила, которые требуют особого обращения для эффективного нахождения N-кри- тических пар. Множество Р включает в себя другие правила, называемые P-правилами, которые имеют единственную литеру в левой части и 1 в правой. Причина выделения P-правил среди правил, не являющихся N-правилами, состоит в том, что они имеют простой вид Р(-)—>-1 и оказываются очень полезными для быстрой редукции термов. Мы пользуемся также следующим метаправилом.
Правило 5.1. Если порождается правило Рх * ... * Рп-+ 1, то оно представляется в виде правил Рх —»1, Р2—>1, ... . .. , Рп-»\, которые помещаются в Р.
Это делается по той причине, что равенство РХЛ ... /\Р„= 1 эквивалентно Рх = 1 и Р2=1 ... и Рп=1. Остальные правила, которые будут называться О-правилами, помещаются в О. Ясно, что О-правило имеет вид /—»б, где / — сумма произведений, а б — либо 0, либо 1.
Сортировка термов и правил
В TeRSe сортируются две структуры: термы и правила. Сортируя термы, мы можем эффективно находить предикаты во время редукций и избегать большого числа безуспешных попыток унификации. Благодаря сортировке правил более короткие и полезные из них могут быть найдены на ранних стадиях процессов суперпозиции и упрощения.
В каждом произведении терма предикаты упорядочиваются лексикографически. Сами произведения упорядочиваются сначала по убыванию в соответствии с количеством входящих в них предикатов, а затем, среди произведений одинаковой длины, лексикографически. Например, левая часть правила
R (У) + Р (а) Р W + Р (х) Q(g)R(aHR(x)->l представляется следующим образом:
Р (х) Q (у) R^aHP № Р W + Р (х) + Р (у) -> 1.
Такое обратное упорядочение касается только О-правил, поскольку только они содержат суммы произведений в левых частях. Более длинное произведение помещается в начале для того, чтобы сократить в процессе суперпозиции число BN-уни- фикаций, которые менее эффективны, чем обычный алгоритм унификации.
Правила из множеств N, Р и О сортируются следующим образом. Правила из N упорядочиваются сначала по числу предикатов в каждом правиле (по возрастанию), а затем лексикографически. Правила из Р упорядочиваются лексикографически. Правила из О упорядочиваются сначала по числу произведений (по возрастанию) в каждом правиле, затем по общему числу предикатов, общей длине (числу символов) и, наконец, лексикографически.
Упрощение
Упрощение — это процесс быстрой редукции правил, не использующий процедуру суперпозиции. Он играет решающую роль в повышении эффективности N-стратегии. Упрощение правила l\-^bi с помощью другого правила 12 —>б2 означает замену каждого подтерма 1Х, являющегося примером U, на б2.
Строго говоря, шаг упрощения — это шаг суперпозиции. Основное различие заключается в том, что при упрощении используется сравнение с образцом, а не унификация, что более эффективно. Например, правило Р(х, у)-*Х может упростить Р^х, b^Q^c, х) —» О до правила l*Q(c, х)->0 (которое затем преобразуется в Q(c, х)->0), а Р(а, у)—>1— нет, поскольку в первом случае требуется сравнение с образцом, а во втором нужна унификация. Отделение процесса упрощения от суперпозиции производится с целью образования быстрого модуля для эффективной редукции правил. Поэтому в качестве «упрощающих» следует выбирать только те правила, для которых легко распознаются их примеры. В TeRSe в качестве упрощающих используются правила из множеств N и Р, поскольку каждое правило из Р имеет единственный предикат в левой части, а левые части правил из N — упорядоченные произведения предикатов, и в обоих случаях легко находятся нужные примеры. Правила из О, однако, для упрощения не употребляются, потому что они содержат суммы произведений, которые требуют больше времени для сравнения и не способствуют значительному повышению эффективности. В дальнейшем, говоря о N- и Р-прави- лах, мы иногда будем использовать термин упрощающее правило.
Процедура упрощения имеет более высокий приоритет, чем процедура суперпозиции. Другими словами, мы всегда сначала упрощаем правила (и термы), насколько это возможно, а уже потом делаем какую-либо суперпозицию. И как только порождается новое упрощающее правило (новое правило из Р или А), оно сразу используется для упрощения всех существующих правил.
Применение P-правил для упрощения придает нашей системе доказательства некоторые характерные черты доказательства на основе прямых рассуждений.
Использование ВА в качестве правил вывода
В дополнение к упрощающим правилам булевы термы, разумеется, упрощаются также правилами из ВА. Фактически булевы термы на протяжении всего времени содержатся в их нередуцируемых (относительно ВА) формах. В TeRSe правила из В А (в частности, (R5) — (R10)) реализованы в виде правил вывода, а не правил редукции. Различие между этими двумя понятиями можно увидеть из следующего примера. Предположим, что порождается терм Р (х) + 0 + Р(х). Его можно упростить до 0, применяя правила (R5) (х + 0 —> х) и (R6) (у + у -> 0). Используя (R5) и (R6) в качестве правил редукции, это можно сделать либо (1) путем упорядочения исходного терма и при-
ведения его к виду Р (х) + Р (х) + 0, подстановкой Р (х) + Р (х) вместо х из (R5) и редукцией, затем подстановкой Р(х) вместо у из (R6) и снова редукцией, либо (2) двухкратным применением ассоциативно-коммутативного алгоритма сравнения с образцом.
С другой стороны, когда эти правила реализованы как правила вывода, (R5) означает просто, что надо вычеркнуть всякий 0, который явлется подтермом суммы, a (R6) — что при сортировке терма следует выбросить каждую пару одинаковых подтермов какой-либо суммы. Поэтому Р (х) + 0 + Р (х) можно свести к 0, вычеркивая просто 0 из этого терма и отбрасывая пару подтермов Р(х).
Еще раз подчеркнем, что система ВА не используется в процессе суперпозиции для нахождения критических пар. (Помимо порождения ненужных критических пар применение ВА в процессе суперпозиции может вызвать также побочный эффект — порождение правил вида х^-0, где х— булева переменная.)
Процедура SIMP
Описанные выше методы упрощения реализуются подпрограммой SIMP(S, R). Программа SIMP — это по существу while-цикл по правилам из S (множества упрощающих правил), который использует их для упрощения всех правил из R. Если некоторое правило из R упрощается и само становится упрощающим правилом, то оно в свою очередь добавляется к S и используется для упрощения. Процедура заканчивает работу, когда использованы все правила из S и дальнейшие упрощения невозможны, либо когда R становится пустым, либо когда порождается противоречие 1^-0.
В N-стратегии второй аргумент R в SIMP обычно включает все правила данной системы, a S есть М (J Р. Если некоторое правило упрощается и становится правилом другого класса, например О-правило в результате упрощения становится N-прави- лом или множеством P-правил, то это новое правило помещается в подходящий класс на место, соответствующее описанному выше упорядочению. ' , ■ .
Снова N-стратегия
Мы приведем теперь описание N-стратегии, реализованной в TeRSe. Поясняющие замечания даются в следующем разделе.
N-стратегия. Для доказательства истинности предложения первого порядка ф:
скулемизировать Й ф, пусть результат есть конъюнкция дизъюнктов;
преобразовать дизъюнкты в правила и поместить их в множества Р, N и О;
U: = 0; ^:=PU^l)OU^;
(3)* SIMP(PUN,R);
Repeat
взять правило rN из N;
for г? из Р do
* if существует дивергентная N-критическая пара (/, 0) для rN и гр then
N:=NUU-*0V
(8)*SIMP({Z->0},R);
if правило rN упрощается,then перейти к (4)
od;
for го из О do.
(11)* for каждой дивергентной N-критическои пары (Z, о) для rN и г0 do
if/^d есть О-правило
then О := О U {/->6}
(14)*else SIMP ({Z->d},R);
if rN упрощается, then перейти к (4);
if r0 упрощается, then перейти к (10);
od;
od;
t/:=UU{rN}
until (N — 0} или (порождается правило l->0);
if порождается правило 1 —* 0, then return «противоречие»;
else return
«непротиворечиво».
Замечания об этом алгоритме
Нам хотелось бы отметить, во-первых, что процесс перейдет к шагу (19) всякий раз, когда порождается противоречие 1^-0. Противоречие 1->-0 может быть получено на шагах, помеченных звездочкой, т. е. на шагах (3), (6), (8), (11) и (14).
Еще одно общее замечание: множество ВА используется в этом процессе (в виде правил вывода, как описано выше) для редукции всякого вновь порожденного терма.
Мы прокомментируем теперь каждую строчку алгоритма. Номер замечания соответствует номеру строки программы.
Здесь применяется описанная ранее техника предварительной обработки булевых термов.
В множестве U хранятся N-правила, уже использованные для порождения критических пар.
Перед выполнением какой-либо суперпозиции все правила упрощаются в соответствии с описанным выше процессом упрощения SIMP. Это предварительное упрощение оказывается очень полезным. В ряде случаев, особенно для задач из исчисления высказываний, доказательства могут быть получены только предварительным упрощением без суперпозиции.
— (16) Каждое N-правило rN из N используется для нахождения N-критических пар со всеми правилами из PUO. Ради эффективности мы разбили этот процесс на два цикла. Первый ищет критические пары для гы и правил из Р (шаги (5) — (9)), а второй — критические пары из rN и правил из О (шаги (10) — (16)). Причина разбиения заключается в том, что в первом цикле не нужна BN-унификация. Мы можем просто применять обычный алгоритм унификации, чтобы унифицировать левую часть г? (содержащую по определению единственный предикат) с каждым предикатом из rN. Легко видеть, что использование в первом цикле BN-унификации не даст нам новых критических пар.
— (16) На шагах (6) и (11) N-критические пары для двух правил порождаются по одной, а не все сразу, как это сделано в системе REVE [30]. Если данная критическая пара преобразуется в упрощающее правило (N-правило или несколько P-правил), то оно тогда сразу используется для упрощения всех остальных правил (шаг (8) или (14)). В случае когда упрощается одно из родительских правил, соответствующий цикл прерывается (шаги (9), (15) и (16)), поскольку не имеет смысла искать критические пары для правила, которого больше нет. Эта стратегия значительно сокращает число порождаемых критических пар (в особенности из множества О).
— (7) Нетрудно показать, что все критические пары для гм и гр имеют вид <1, 0) или </, 0>, где / есть N-терм.
и (13) Когда к множеству правил добавляется новое, его место определяется в соответствии с описанным ранее упорядочением.
и (14) Если упрощается правило из U, то оно удаляется из этого множества, а упрощенное правило помещается в N в качестве нового N-правила. (Процедура SIMP, разумеется, будет также использовать это новое упрощающее правило для упрощения всех остальных правил.)
Некоторые N-критические пары могут быть найдены без применения BN-унификации, а для других это невозможно. Первыми следует искать те, для порождения которых BN-унификация не потребуется. Пусть, например, даны правила
P(a)Q(x)^0 и P^QVWtA + Q^R^l.
Имеются четыре потенциальные дивергентные N-критические пары
(Q (6) R (а), 1), (Q (6) Q (х) R (а) + Q (х), 0)),
(Р (а) Q (6) R (у) + Р (а), 0) и (Р (а) Р (у) Q (6) R (у) + Р (а), 0), причем первую из них можно образовать без использования BN-унификации (унифицируя просто P(a)Q(x) с P(y)Q(6)). Следовательно, шаг (11) первой породит пару (_Q(b)R(a), 1). В данном примере остальные N-критические пары никогда не будут порождены, поскольку (Q(b) R(a), 1) преобразуется в два P-правила Q (&)->! и R(a)->1, которые сразу же используются для упрощения на шаге (14) и упрощают родительское правило
P(yWbWyWQWR^-*\ до P^R(yWR^-*Y-
Из Z->6 может получиться, как показано выше, более одного правила.
Снова, поскольку правило r0 (P^QW Rt.y') + QW R(y’)-* —* 1 из приведенного только что примера) упрощается, весь цикл прерывается и ищется другое правило г0, если, конечно, оно существует.
RN-стратегия
RN-стратегия, реализованная в TeRSe, в сущности подобна N-стратегии, за исключением того, что вводится новое множество Т (каноническая система для лежащей в основе теории аргументов в предикатах) и вместо N-критических пар ищутся RN-критические пары. Правила из множества Т также используются в качестве упрощающих правил в подпрограмме SIMP.
Здесь следует сделать одно замечание, касающееся корректности процесса применения правил. Корректность не является проблемой в N-стратегии, потому что для каждого правила существует лишь конечное число правил, имеющих меньший «размер» (напомним, что в п. 5.1.3 правила сортируются в соответствии с числом произведений, затем числом предикатов и т. д., и меньшее правило имеет более высокий приоритет). Поскольку в RN-стратегии аргументы предикатов могут использоваться для выполнения суперпозиции, то возможна такая ситуация, что булево правило никогда не будет применено, если не принять некоторых мер предосторожности. Пусть, например, Т = {(ах) у-*а (ху^, и пусть Р содержит правила Р(ху)->1 и Q(xt/)->l. Тогда из RN-критических пар для Р(ху)->1 и (ах)\у -> а (ху) можно образовать бесконечно много новых правил, а именно
P(a(xz/))-> 1, Р (а (а (ху))) -> 1, Р (а (а (а (ху))))-► 1 и т. д.,
которые «меньше», чем Q^xy1)-^-1 (мы предполагаем, что Р < Q). Поэтому Q(xy) —>1 никогда не будет использовано для нахождения критических пар.
Мы решаем проблему корректности в RN-стратегии путем нахождения RN-критических пар по уровням. Это значит, что только аргументы в «текущем» множестве правил используются для нахождения критических пар (все вновь найденные упрощающие правила используются, однако, для упрощения). Вновь порожденные правила не применяются для образования новых RN-критических пар до тех пор, пока все правила из текущего множества правил не будут использованы для суперпозиции.
Некоторые эксперименты
Мы проведем теперь сравнение TeRSe с реализациями лок- резолюции с абстракцией и системы натурального вывода, выполненными в Иллинойсском университете [11, 12].
Пусть S — непустое подмножество некоторой группы н х, yeSD ху"1 е S,
CLEX5 — тогда eeS.
CLEX6—и xeS, тогда x“*eS.
CLEX7 — если а—простое число и a = b2lc2, то b делится на а.
CLEX 8— всякое целое, большее единицы, имеем простой делитель.
CLEX 9 — существует бесконечно много простых чисел.
ЕХО — задача об отношениях из [32].
VERCOND — условие верификации из программы Хоара FIND.
GEO — запрос к географической базе данных из [36].
PLAN — проблема планирования из [36].
LATIN — не существует латинского квадрата порядка 2.
Первые пять примеров взяты из книги [3] (CLEX6 решался как с канонической системой для теории групп, так и без нее при помощи RN- и N-стратегий соответственно), LATIN взят из [38], ссылки на VERCOND имеются в [1, 43]. ЕХО утверждает, что если симметричное и транзитивное отношение R обладает свойством ^x3yR (х, у), то R рефлексивно. Остальные четыре задачи из [3] (CLEX1 — CLEX4) системой TeRSe не решались, поскольку они являются задачами на тождество слов и их лучше рассматривать как таковые и решать с помощью редукций.
Таблица 1
Эксперименты с RN- и N-стратегиями
Входные правила
Порожденные правила
Вычеркнутые правила
Упрощенные правила
CLEX 5*
3
3
0
1
CLEX 6*
3
7
2
3
CLEX 6
7
18
12
0
CLEX 7
7
17
0
1
CLEX 8
9
31
1
1
CLEX 9
8
10
0
2
EXO
4
5
4
0
VERCOND
9
5
0
2
GEO
28
21
3
1
PLAN
17
7
10
5
LATIN
16
192
73
27
’Использована каноническая система для теории групп в качестве встроенной теории.
Таблица 2
Сравнения с лок-резолюцией и SPRF по размерам пространства поиска
RN/N
Лок-резолю- ЦИЯ
SPRF*
CLEX 5
3
32
15
CLEX 6
7
44
52
CLEX 7
17
21
79
CLEX 8
31
15
60
CLEX 9
10
19
95
EXO
5
7
24
VERCOND
5
25
223
GEO
21
130
50
PLAN
7
26
84
’Число порожденных подцелей.
Таблица 1 содержит количества входных правил, порожденных (суперпозицией) правил, а также вычеркнутых и упрощенных (процессом упрощения) правил. Наши методы сравниваются (табл. 2) с лок-резолюцией и натуральным выводом (SPRF— упрощенный формат редукции задач [36]).
Результаты этих экспериментов показывают, что наш метод эффективен относительно размеров пространства поиска. Наибольшее число порожденных правил 192 (LATIN), причем 73 из них были вычеркнуты в ходе процесса упрощения (а 27 упрощено). (Доказательство Робинсона из [38] имеет глубину 56;
данных о числе порожденных резольвент не приводится.) В других примерах также все обстоит благополучно; максимальное число порожденных правил 31. Во всех случаях, за исключением CLEX8, наша система показала себя лучше, чем другие стратегии. Объяснение этого явления дается в следующем разделе.
Интересно сравнить результаты доказательства CLEX6 с помощью RN- и N-стратегий. Включение канонической системы для теории групп позволяет сократить число порожденных правил на 11. Это, по-видимому, показывает, что, как мы и предполагали, метод более эффективен в том случае, когда для лежащей в основе теории используется каноническая система.
Обсуждение
N-стратегия по своей сути подобна методу отрицательной резолюции (т. е. один из предков резольвенты должен быть отрицательным дизъюнктом). Она имеет также некоторые характерные черты единичной резолюции, поскольку константа 1 помещается в правую часть и P-правила используются для упрощения. (Эти черты могут быть усилены использованием Р-пра- вил также и для суперпозиции.) Таким образом, в ряде случаев (например, на хорновских дизъюнктах) TeRSe работает хорошо, тогда как отрицательная резолюция показывает себя не лучшим образом.
Как мы уже видели, по сравнению с другими методами система TeRSe более эффективна относительно размеров пространства поиска. Два фактора способствуют такому повышению эффективности. Один из них заключается в том, что N-стратегия в качестве основного правила вывода использует суперпозицию (в противоположность резолюции). Тогда как резолюция иногда порождает резольвенты, содержащие больше литер, чем родительские дизъюнкты, суперпозиция обычно дает правила меньшего размера, чем их родительские правила.
Более важное различие между N-стратегией и другими ре- золюционными методами состоит в том, что N-стратегия в своей основе — это метод редукции, а революционные стратегии — нет. Точнее, N-стратегия (а также RN-стратегия) требует, чтобы все было редуцировано, насколько возможно. Возьмем в качестве примера VERCOND. Методы резолюционного типа ([43] и лок- резолюция) дают деревья доказательства большой глубины (высоты), поскольку многие лишние резольвенты не могут быть отброшены эффективным образом, и они в свою очередь образуют еще больше ненужных резольвент. Даже в том случае, когда в эти методы включается поглощение, поглощающие дизъюнкты не будут порождены на ранней стадии в системе
доказательства, использующей, как правило, поиск в ширину. С другой стороны, в N-стратегии термы в критических парах редуцируются до минимума перед тем, как они окончательно будут представлены в виде правила. Это решительно сокращает число промежуточных «резольвент», которые нужно хранить и использовать. Поэтому в большинстве проведенных экспериментов TeRSe образует довольно маленькое пространство поиска, что можно увидеть из приведенных выше таблиц.
Еще одно преимущество системы TeRSe по сравнению с другими резолюционными методами — это ее гибкость. Как мы уже видели в одном из примеров, аксиомы теории могут быть представлены в виде дизъюнктов (при помощи N-стратегии) или правил (при помощи RN-стратегии). TeRSe можно применять также для прямого доказательства, доказывая предложения путем редукции (с помощью ВА) соответствующих булевых термов к 1 (истине). Как описано в п. 3.3, эта особенность дает возможность получить быструю эвристику для доказательства пропозициональных формул, а также предложений первого порядка, доказательства которых содержат не более чем однократную подстановку вместо предметных переменных. Бездизъ- юнктные стратегии, реализованные в TeRSe, могут также предоставить удобный выбор средств для решения задач, содержащих эквивалентность ( = ), поскольку формула х = у может быть прямо преобразована в х + у + 1.
Пространство против времени
Платой за повышение эффективности в памяти является время. В табл. 3 дается сравнение процессорного времени (в секундах), затраченного TeRSe и новой системой доказательства, основанной на лок-резолюции (данных о системе SPRF не- имеется).
Как можно видеть, N-стратегия во всех случаях работает
Таблица 3
Сравнение по времени с локрезолюцией
RN/N
Л ок-резолю- ЦИЯ
CLEX 5
0,55
1,583
CLEX 6
1,016
2,816
CLEX 7
3,386
0,75
CELX 8
8,616
0,85
CLEX 9
1,45
0,733
EXO
0,566
0,35
VERCOND
1,083
0,833
GEO
7,366
4,9
PLAN
1,45
0,983
медленнее, чем лок-резолюция (в двух примерах, которые TeRSe решила быстрее, была использована RN-стратегия). Помимо разницы во времени и усилиях, затраченных на реализа- дию, имеется по крайней мере еще два внутренних фактора. Во-первых, это различие в механизме вывода. Выполнение суперпозиции— основного правила вывода в N-стратегии— требует больше времени, чем выполнение резолюции, поскольку первая включает унификацию и редукцию, тогда как последняя — только унификацию. Более того, когда доказательство близко к завершению, большинство суперпозиций не приведет к порождению новых правил; однако в TeRSe эти суперпозиции будут выполняться. С помощью сортировки и упорядочения термов и правил в TeRSe мы несколько уменьшили число суперпозиций; тем не менее выполняется все еще больше ненужных суперпозиций (которые не порождают новых правил), чем полезных.
Один способ сокращения числа суперпозиций состоит в том, чтобы как можно раньше порождать те из них, которые дают упрощающие N- и P-правила, потому что они могут упростить другие правила, такие, как «беспорядочные» О-правила, способные образовать много суперпозиций. Мы планируем ускорить порождение упрощающих правил, изменив порядок суперпозиций во втором цикле N-стратегии (шаги (10) — (16) в приведенном выше алгоритме) следующим образом. Предположим, что О-пра- вило гх порождает (вместе с некоторым N-правилом) суперпозицию, которая становится другим О-правилом г2. Тогда для нахождения дальнейших суперпозиций вместо использования того же самого О-правила гх вновь порожденное правило г2 помещается в множество О и для следующей суперпозиции берется наименьшее О-правило из О. Заметим, что поскольку для суперпозиции использовалось ri, то оно должно быть наименьшим в О. Но так как г2 может быть меньше, чем гь то следующим правилом для суперпозиции может быть выбрано либо гх, либо г2.
Идея, лежащая в основе такого изменения, заключается в том, чтобы для следующей суперпозиции всегда использовать наименьшее О-правило, поскольку меньшее правило имеет большие возможности для порождения упрощающих правил1). Этот метод выбора О-правил для суперпозиции требует тщательно разработанного бухгалтерского механизма учета того, все ли возможные суперпозиции исчерпаны для каждого конкретного О-правила. Видимо, однако, это стоит усилий, потому что таким способом возможно более раннее порождение упрощающих правил. Другой возможный подход к сокращению чис-
*) Это было впервые предложено Д. Плейстидом.
ла суперпозиций — это общая модификация методов образования суперпозиций в процедуре пополнения Кнута — Бендикса,, как, например, подход, обсуждаемый в [25].
Редукция является еще одной операцией, требующей затрат времени, поскольку операция редукции выполняется en masse. Повторяющиеся редукции можно элиминировать путем хранения хэш-таблицы, содержащей термы, которые редуцировались в течение процесса, и их соответствующие нередуцируемые в данный момент формы. Могут быть использованы также общие методы, как, например, метод из [48]. Кроме того, для уменьшения числа безуспешных попыток унификации и для устранения дублирования унификаций мы планируем использовать схемы индексации.
Автору хотелось бы поблагодарить Д. Плейстида и Н. Дершовитца за многочисленные предложения и стимулирующие беседы, Д. Лэнкфорда за обсуждения в ходе переписки и поддержку и А. Джозефсона за реализацию TeRSe.
ЛИТЕРАТУРА
Bledsoe W. Е. Non-resolution theorem proving. — Artificial Intelligence.— 1977, v. 9, p. 1—35.
Brand D. Proving theorems with the modification method. — SIAM. J. Comput., 1975, v. 4.
Chang C. L., Lee R. T. Symbolic Logic and Mechanical Theorem Proving.— New York: Academic Press, 1973. [Имеется перевод: Чень Ч„. Ли Р. Математическая логика и автоматическое доказательство теорем.— М.: Наука, 1983.]
Cook S. A. The complexity of theorem proving procedures. — In: Proc.. Third ACM Symposium on Theory of Computing, 1971, p. 151—158.
Davis M. Obvious inferences. — In: Proceedings National Conference om Artificial Intelligence, 1980.
Dershowitz N. Orderings for term-rewriting systems. — Theoret. Comput.. Sci., 1982, v. 17(3), p. 279—301.
Dershowitz N. Частное сообщение, 1983.
Dershowitz N. Applicatiens of the Knuth — Bendix completion procedure.— In: Proc. Seminaire d’Informatique Theorique, Paris, 1983.
Pages F. Associative-communitative unification. — In: Proc. "Seventh- Conference on Automated Deduction, Nappa Valley, CA, 1984.
Goguen J. A. How to prove algebraic inductive hypothesis without induction. — In: Proc. Fifth Conference on Automated Deduction, Les Arcs,. France, 1980, p. 356—372.
Greenbaum S., Nabasaka A., O’Rorke P., Plaisted D. A. Comparison of natural deduction and locking resolution implementations. — In: Proc.. Sixth Conference on Automated Deduction, 1982.
Greenbaum S., O’Rorke P., Plaisted D. A. Comparison of abstraction- and a robust resolution strategy. — Rept., University of Illinois, Urbana, IL, 1983.
Hsiang J., Josephson N. A. TeRSe: a term rewriting prover.— In: Proc.. Rewrite Rule Laboratory Workshop, Schenectady, N. Y., 1983.
Huet G., Oppen D. C. Equations and rewrite rules: a survey. — In:. R Book (Ed.), Formal Languages: Perspectives and Open Problems.— New York: Academic Press, 1980.
Huet G., Hullot J. M. Proofs by induction in equational theories with constructors. — In: Proc. 21st IEEE Symposium on Foundations of Computer Science, 1980, p. 797—821.
Huet G. A complete proof of correctness of Knuth—Bendix completion algorithm. — J. Comput. System Sci., 1981, v. 23, p. 11—21.
] Hullot J. M. A catalogue of canonical term rewriting systems. — Rept. CSL-113, SRI International, Alenlo Park, CA, 1980.
Hullot J. M. Canonical forms and unification. — In: Proc. Fifth Conference on Automated Deduction, Les Arcs, France, 1980, p. 318—334.
] Jouannaud J. P., Lescanne P., Reinig F. Recursive decomposition ordering. — In: Proc. Conference on Formal Description of Programming Concepts, 1982, v. 11, p. 331—346.
] Jouannaud J., Kirchner H. Completion of a set of rules modulo a set of equations. — In: Proc. Eleventh Symposium on Principles of Programming Languages, Salt Lake City, UT, 1984.
Kapur D., Narendran P. An equational approach to predicate calculus.— Unpublished manuscript, GE Research Lab, 1984.
Kirchner C. A new equational unification method: a generalization of Martelli — Montanari’s algorithm. — In: Proc. Seventh Conference on Automated Deduction, Nappa Valley, CA, 1984, p. 224—247.
Knuth D. E., Bendix P. B. Simple word problems in universal algebras.— In: J. Leach (Ed.), Computational Algebra. — New York: Pergamon Press, 1970, p. 263—297.
£24] Kowalski R. A., Hayes P. Semantic trees in automatic theorem proving.— In: B. Meltzer and D. Michie (Eds.), Machine Intelligence 5.— New York: American Elsevier, 1969, p. 181—201. [Имеется перевод: Ковальски P., Хайс П. Семантические деревья в автоматическом поиске доказательства. — В кн.: Киберн. сб. — М.: Мир, 1972, вып. 9, с. 66—83.]
£25] Kuchlin W. A. criterion for constraining critical pair formulation in Knuth — Bendix algorithm.—Unpublished manuscript, ETH-Zentrum,
£26] Lankford D. S. Canonical inference. — Rept. ATR-32, University of Texas at Austin, TX, 1975.
7] Lankford D. S., Ballantyne A. M. Decision procedure for simple equational theories with commutative-associative axioms. — Rept. ATP-39, University of Texas at Austin, TX, 1977.
] Lankford D. S., Musser D. R. On semideciding first order validity and invalidity. — USC-ISI Rept., 1978.
] Lankford D. S., Ballantyne A. M. The refutation completeness of blocked permutative narrowing and resolution. — In: Proc. Fourth Conference on Automated Deduction, Austin, TX, 1979.
] Lescanne P. Computer experiments with the REVE term rewriting system generator. — In: Proc. Tenth ACM Symposium on Principles of Programming Languages, 1983.
] Livesey M., Siekmann J. Unification of bags and sets. — Int. Ber. 3/76, University of Karlsruhe, West Germany, 1976.
Manna Z. Mathematical Theory of Computation. — New York: McGraw- Hill, 1974.
Musser D. R. On proving inductive properties of abstract data types.— In: Conference Record Seventh ACM Symposium on Principles of Programming Languages, Las Vegas, NA, 1980, p. 154—162.
Peterson G. E., Stickel M. E. Complete sets of reductions for some equational theories. — J. ACM, 1981, v. 28, p. 233—264.
Plaisted D. A. A recursively defined ordering for proving termination of term rewriting systems. — UIUCDCS-R-78-943, University of Illinois, Urbana, IL, 1978.
Plaisted D. A. A simplified problem reduction format. — Artificial Intelligence, 1982, v. 18, p. 227—262.
Plotkin G. Building in equational theories. — In: B. Meltzer and D. Michie (eds.), Machine Intelligence 7. — New York: American Elsevier,. 1973, p. 73—90.
Robinson J. A. Theorem proving on computers. — J. ACM, 1963, v. 10, p. 163—174.
Robinson J. A. A machine oriented logic based on the resolution principle.—J. ACM, 1965, v. 12(1), p. 23—41. [Имеется перевод: Робинсон Дж. Машинно-ориентированная логика, основанная на принципе резолюции. — В кн.: Киберн. сб. — М.: Мир, 1970, вып. 7, с. 194—218.]
Robinson J. A. The generalized resolution principle. — In: D. Michie (ed.), Machine Intelligence 3, —New York: American Elsevier, 1968, p. 77—94.
Siekmann J., Szabo P. Universal unification and a classification of equational theories. — Lecture Notes in Computer Science, 138.— Berlin: Springer, 1982. [Имеется перевод: Зикманн И., Сабо П. Универсальная унификация и классификация эквациональных теорий. — В кн.: Киберн. сб. — М.: Мир, 1984, вып. 21, с. 213—234.]
Siekmann J. Universal unification.— Lecture Notes in Computer Science, v. 170. — Berlin: Springer, 1984.
Slagle J., Norton K. Experiments with an automatic theorem prover having partial ordering inference rules. —Comm. ACM, 1973, p. 682—688.
Slagle J. Automated theorem-proving for theories with simplifiers,'commutativity, associativity. — J. ACM, 1974, v. 21, p. 622—642.
Stickel M. E. An unification algorithm for associative-commutative functions.—J. ACM, 1981, v. 28, p. 233—264.
Stone M. The theory of representations for Boolean algerbra. — Trans. AMS, 1936, v. 40, p. 37—111.
Watts D. E., Cohen J. K. Computer implemented set theory. — Amer. Math. Monthly, 1980, v. 87(7), p. 557—560.
Winkler F. A criterion for eliminating unnecessary reductions in the- Knuth — Bendix algorithm. — Colloq. Algebra, Combiatorics, Logic Com-
' put. Sci., 1983.
О существованиигамильтоновых циклов в одном классеслучайных графов1)
Т. Феннер2), А. Фриз3)
Орграф с п вершинами и фиксированной полустепенью исхода m порождается случайным образом так, что каждый из таких графов появляется «с равной вероятностью. Рассматривается вероятность существования гамильтонова цикла в графе, получаемом игнорированием ориентации. Доказано, "что существует такое m $5 23, что вероятность существования гамильтонова цикла стремится к 1, когда п стремится к бесконечности.
ВВЕДЕНИЕ
Рассматриваются орграфы без петель и кратных дуг. Обозначим для ориентированного графа D через GD граф, получаемый заменой каждой дуги (у, ш) на (неориентированное) ребро {у, т}. Для положительных целых чисел пит (^т <, п) обозначим через S^m, п) множество всех орграфов с п занумерованными (помеченными) вершинами и тп дугами, причем полустепень исхода (т. е. число выходящих дуг) каждой вершины равна т. Пусть М = | Ф (т, п) | = ("~‘ )". Рассмотрим следующую задачу: если D выбирается случайным образом из 3)(т, п) так, что вероятность выбора произвольного орграфа равна 1/М, то какова вероятность того, что граф GD имеет гамильтонов цикл? Основной результат статьи — доказательство существования такого /па ^ 23, что lim Р {GD— гамильтонов граф} = 1, если и только если т ф т0.
Причиной обращения к этой задаче является то обстятель- ство, что когда случайный граф выбирается с помощью выбора ребер независимо и с одинаковой вероятностью, то гамильтоновы циклы появляются (в вероятностном смысле) только в том
') Fenner Т. I., Frieze Л. М. On the existence of Hamiltonian cycles in a class of random graphs. — Discrete Mathematics, 1983, v. 45, No. 2-3, p. 301 — 305.
Department of Computer Science, Birkbeck College, University of London, England
Deprtment of Computer Science and Statistics, Queen Mary College, University of London, England.
© Elsevier Science Publishers В. V. North-Holland Publishing Company, 1983
случае, если минимальная степень вершин достигает величины 2 (см. [2]). Для достижения последнего события требуется примерно V2nlogn + я log log п ребер, и для понижения этой оценки нужно каким-то образом обеспечить, чтобы степень каждой вершины была бы не меньше некоторого определенного значения.
В предыдущей своей работе [1] авторы изучали возможную связность таких графов; это изучение стимулировалось результатами Валкупа о паросочетаниях в случайных регулярных двудольных орграфах [5].
ОСНОВНОЙ РЕЗУЛЬТАТ
Обозначения. Пусть У„ = {1, ..., п) и У (а, п) == {S = Упг |5|^ап} для а > 0. Для орграфа D с множеством г’вершин V и множеством дуг Е и для подмножества S S У определим до(5) = {гуеУ— S: существует такая вершина ueS, что (у, ш^ е EY Аналогично для графа G с множеством вершин V и множеством ребер Е для S с у определяется dG (S) = (ty е У — — S: существует такая вершина и е S, что {у, да) е Е).
Лемма 2.1 [1]. Если m^S и С (m, п) = {D е Ф (т, пу. GD — связный граф, то
lim Р (D е С (т, п)} = 1.
П~^ОО
Здесь под P(DeC(m, п)} понимается отношение | С(т, п) |/| Ф (т, п) |.
Пусть теперь Р = (уь ..., у^— самый длинный путь в графе G = (У, Е). Если t#=k—\ и (у^, у<) е Е, то Р' = (уь ... .Ut, у и, y^-iУг+1) также является самым длинным путем в графе G. Если же s #= t, / + 2 и (у/+1,у$)е£, то с помощью аналогичного «перескока» можно получить другой самый длинный путь Р".
Для фиксированной вершины yz обозначим через ЕР^и^ множество других концов самых длинных путей, образованных с помощью выполнения всевозможных последовательностей перескоков.
Лемма 2.2. [4]. Если w ^ Р — ЕР (у^, то w смежна с некоторой вершиной ЕР (vt) в G, если и только если w смежна с какой-либо вершиной ЕР (yz) на Р.
Следствие 2.3. | дс (ЕР (у У К 21 ЕР (yz) | — 1.
Замечание 2.4. Можно взять, конечно, каждую вершину у е ЕР(vi) и использовать ее в качестве фиксированной концевой вершины для создания другого множества концевых вер-
шин ЕР (o'), удовлетворяющего утверждению следствия 2.3.
Лемма 2.5. Пусть Л (a, m, п) = (D е Ф^^п): S е V (а, п) требует |дд (S) |^ 3| S |}. Тогда для любого а< 1/4 найдется такое пг(а), что при т^пг^
Р {D g Ф (т, п) — А (а, т, п^ = О (1/п).
Доказательство. Если D е Ф (пг, п) — А (а, т, п), то сущест" вуют такие S G Vn и Т ^у п — S, для которых | S | ^ ап и | Т | = -=3|S|—1, что дд (S) s Т. Вероятность этого события оценивается сверху следующим образом:
3(1 + о(1))6 п — 46 + 13(1 + о(1))6 п — 46 + 1п XV2 ип / 46 \kln 362 (п - 46) )6,= (36)3,= (п-46)'г_4,=)п XV2 ип / 46 \kln 362 (п - 46) )6,= (36)3,= (п-46)'г_4,=)
3(1 + о(1))6 п — 46 + 1
3(1 + о(1))6 п — 46 + 1
п XV2 ип / 46 \kln 362 (п - 46) )6,= (36)3,= (п-46)'г_4,=)
п XV2 ип / 46 \kln 362 (п - 46) )6,= (36)3,= (п-46)'г_4,=)
1 у /3 (1 + о (1)) «У'2// 46 у-4 256 у (П— 46\tk-n (п-46)3 )'27/ ( п )
Пусть пг такое, что
4/ (1-4х) log (1-4х)-х log (256/27) \ .
о<х<Лxlog4x;
Тогда для l^^^an имеем
«46 \т—1 256 у п )~27~)«46 \т—1 256 у п )~27~)п — 46 ^ Мг-п пп — 46 ^ Мг-п п46 \е646 \е6
«46 \т—1 256 у п )~27~)
«46 \т—1 256 у п )~27~)
п — 46 ^ Мг-п п
п — 46 ^ Мг-п п
46 \е6
46 \е6
гкгк= 0(пЧн^. □= 0(пЧн^. □Таким образом, оцениваемая вероятность ограничивается сверху суммой
гк
гк
= 0(пЧн^. □
= 0(пЧн^. □
1 у /3(1 +о(1))п2Л ^ \ kn — 46)3
Определение. Граф G обладает свойством LC, если длиннейший цикл G имеет такое же число вершин, как и самый длинный путь G.
Лемма 2.6. Пусть В — В (m, п) = {D ^ Ф (m, п): GD не обладает свойством LC}. Тогда для а>0 и m^mta)
Р {D ^ В} ^ ((mf(m - 2VI2U - а)а)" + О (1/п).
Доказательство. Пусть Ф (пг, п) = (Dx, ..., DM}; предположим, что А = А (а, пг, п^ = (Di, ..., D,wV Из леммы 2.5 следует, что 1—М'[М = О (1/п). Для данного DteA построим N = пгп раскрашенных орграфов Dn, ..., DiN следующим образом: в
Dt для каждой вершины и выбираем одну дугу, выходящую из и, и раскрашиваем ее в зеленый цвет; остальные дуги раскрашиваем в голубой цвет;
Отметим, что для D^eA голубой подграф Az/ орграфа Вц удовлетворяет условию
Из Sg У (а, п) вытекает | дд (S) | ^ 21 S |, где А = А;/. (2.1)
Положим а^ — 1, если нет дуги, соединяющей две концевые вершины самого длинного пути графа GAt/; в противном случае аг/ = 0. Докажем, что если В(еВ, то
^aij^N^^m-W^N.(2.2)
/=i
Для этого предположим, что Dt е В и GBt имеет самый длинный путь Рек вершинами. Найдется по крайней мере одна раскраска t, определяющая граф GBlt, в котором все ребра Р голубые. Ясно, что ait=\, поскольку DteB.
Зафиксируем теперь в орграфе Bit к — 1 дуг Q, которые вместе образуют Р. В подграфе, порожденном этими к — 1 дугами, обозначим через kt число вершин, имеющих полустепень исхода z = О, 1, 2. Для любой раскраски / орграфа В;, в которой дуги множества Q раскрашены голубым цветом, выполняется а(/=1. Так как существует
2.
т^НДт-П ^пг^Чт-^i = 0
таких раскрасок, то отсюда непосредственно следует (2.2). Таким образом, если Afj = | Л Г) J31, то
М N
LaalNi.(2.3)
i = l / = 1
Чтобы оценить двойную сумму, строим следующее разбиение: для ХеЗДт—1, п) положим Ха = {О,/: Ац = А). Пусть АГд = | {Du е Ад: г^М', а,/=1}|. Далее покажем, что
Na ^ (1 — а)"" (и — trif для всех А.(2.4)
В результате
М' N
У у ац = У Мд
^ = 1 /=1А е S (m— 1, п)
<(1 -аГ(п-тЛЗДт- 1, га)| = (1 -af1 MN.
Таким образом, из (2.2) и (2.3) получаем ЛГ|^(1—a)an(m/(m — — 2))п/2Л4. Последний результат получается тогда в виде |S|^ < М1 + (Л1 — М').
Для доказательства (2.4) выберем определенный орграф А. Пусть Р = (vb ..., ий) — самый длинный путь в графе GA. Положим ЕР = ЕР кщ} U (vi), а для и е ЕР множество EP(v) определяется так же, как это делается в замечании 2.4. Из следствия 2.3 и предложения (2.1) вытекает, что если Л/д > О, то | ЕР | ^ an и | ЕР (и) | ^ an для всех и е ЕР.
Рассмотрим теперь всевозможные способы добавления одной новой дуги зеленого цвета к каждой вершине орграфа А. Существует (п— т)" способов выполнить такие добавления и из них не более (1 — a)“" (п — т)" способов, таких, что они не содержат соединения какой-нибудь вершины и е ЕР с некоторой вершиной и' е ЕР ки). Последнее необходимо, если построенный раскрашенный орграф должен быть орграфом D^, у которого а^=1. Отсюда непосредственно следует неравенство (2.4). □
Используя утверждения приведенных лемм, теперь можно доказать основной результат.
Теорема 2.7. Пусть Н кт, п) = фе2)кт, п}; граф GD имеет гамильтонов цикл}. Тогда существует такое т0, что для m^m0
im Р ф е И km, n)} = 1.
Доказательство. Зафиксируем а>0 и mQ^m(a) так, чтобы 1 — 2/т0>(1 — a)2a, и выберем случайным образом орграф De еЗ) кт0, п). Предположим, что самый длинный путь в графе GD содержит к вершин. Из леммы 2.6 имеем, что с вероятностью, стремящейся к 1 при п—>оо, в GD содержится простой цикл С с к вершинами. Тогда если к < п, то GD не связан и ни одна вершина из С не соединена ни с одной вершиной, не принадлежащей С, поскольку в GD нет пути с к + 1 вершиной. Но для т^2 по лемме 2.1 вероятность того, что GD — связный граф, стремится к 1 при п-^-оо. Следовательно, равенство к = п выполняется с вероятностью, стремящейся к 1 при п->оо, и отсюда следует утверждение теоремы. □
Замечание 2.8. Если в леммах 2.5 и 2.6 положить a = 0.202, то получаем оценку т» 23.
Предполагаем, что наименьшее значение величины то равно 3.
Замечание 2.9. Проблема выяснения, когда орграф D (а не граф GD} имеет гамильтонов контур, решалась в [3]; требуемое значение т оказалось приблизительно равным т = log п.
Используя такую же методику, авторы доказали [6], что вероятность того, что случайный r-регулярный граф с п занумерованными вершинами содержит гамильтонов цикл, для г ^796 стремится к 1 при п->оо. В [7] получен аналогичный результат ).
ЛИТЕРАТУРА
Fenner Т. I., Frieze А. М. On the connectivity of random m-orientable graphs and digraphs. — Combinatorica, 1982, v. 2.
Romies J., Szemeredi E. Limit distribution for the existence of Hamiltonian cycles in random graphs. — Discrete Math., 1983, v. 43, p. 55—63. J3] McDiarmid C. J. H. General percolation and random graphs.—Adv.
Appl. Prob., 1981, v. 13, p. 40—60.
Posa L. Hamiltonian circuits in random graphs. — Discrete Math., 1976, v. 14, p. 359—364.
Walkup D. W. Matchings in random regular bipartite digraphs. — Discrete Math., 1980, v. 31, p. 59—64.
Fenner T. I., Frieze A. M. Hamiltonian cycles in random regular graphs. — J. Combin. Theory (будет опубликовано).
Bollobas В. Almost all regular graphs are Hamiltonian. — European J. Combinatorics, 1984, v. 4, No. 2, p. 97—106.
О радиусе покрытия
линейных циклических кодови арифметических кодов)
Т. Хеллесет )
Показано, что проблема нахождения радиуса покрытия и минимального расстояния алгебраических и арифметических кодов связана с проблемой Баринга и теорией циклотомических чисел. Предложенные методы приводят к новым результатам для радиуса покрытия некоторых кодов БЧХ, исправляющих t ошибок. Кроме того, получены новые результаты для радиуса покрытия и минимального расстояния некоторых классов арифметических кодов, порожденных простыми числами.
ВВЕДЕНИЕ
Пусть Н— проверочная матрица (п, £)-кода С над полем -GF(<y), т. е.
tf =[sb s2s„]
для некоторых вектор-столбцов s,, t= 1, 2, ..., п, размерности п— к, так что
С = {с е GF (<?)" | Нст = 0} =
= {с е GF (?)" | c1s1 + c2s2 + • • • + cnsn = О}.
где с = (сь с2, • • - , сп\
Пусть т = п— к, тогда мы имеем изоморфизм векторных пространств
GF(<7)n/C-*GF (q)m, задаваемый следующим образом:
а -К На.
Здесь будут рассмотрены такие важные параметры кода, как:
Минимальное расстояние кода С, определяемое как минимальное расстояние Хэмминга между двумя различными векторами кода С.
(И) Лидер смежного класса а. + С, определяемый как век- гор минимального веса Хэмминга, лежащий в этом смежном классе.
Радиус покрытия кода С, определяемый как максимальный вес лидеров всех смежных классов, или иначе как наименьшее целое число р, такое, что сферы радиуса р, описанные вокруг всех кодовых слов кода С, покрывают все пространство GF(<7)".
Легко видеть, что имеет место следующее утверждение.
Лемма 1.1. Для любого (п, кУкода С над полем GF (<?) имеем
Минимальное расстояние кода С есть наименьшее натуральное d, такое, что существует представление
О = avstx + a2st2 4- ... 4- adstd,
где at s GF (<?) \ {0}, st. e {sb ..., sn} и h tj, если i ^= j.
Вес лидера смежного класса a 4- С есть наименьшее натуральное I, такое, что существует представление
На = aisti 4- ... 4- aistt,
где at е GF (9), s<. e (sb s2, ..., s„}, если \<Л<Л.
Радиус покрытия кода С есть такое наименьшее натуральное р, что каждый вектор-столбец размерности ш является линейной комбинацией не более чем р векторов sb s2, sn
Задача определения указанных выше параметров для произвольного (и, й)-кода является очень сложной. Берлекемп, Мак- Элис и ван Тильборг [3] доказали, что проблема нахождения минимального расстояния произвольного линейного кода является NP-полной. Задача нахождения радиуса покрытия произвольного линейного кода представляется даже еще более сложной. В частности, мы покажем в следующем разделе, что более простая задача нахождения радиуса покрытия двоичных циклических кодов с иенриьодимым порождающим многочленом эквивалентна проблеме Баринга в поле GF(2m).
В разд. 3 мы найдем верхнюю границу для радиуса покрытия некоторых длинных двоичных кодов, в частности для кодов БЧХ.
Наконец, в разд. 4 мы докажем аналогичные результаты для арифметических кодов; в частности, устанавливается аналогия между алгебраическими кодами с неприводимыми порождающими многочленами и арифметическими кодами, порождаемыми простыми числами.
5 Зак. 854
КОДЫ, ИСПРАВЛЯЮЩИЕ ОДНУ ОШИБКУ, И ПРОБЛЕМА ВАРИНГА
Пусть g(x) е GF (</) [х] — минимальный многочлен некоторого элемента у порядка п. Пусть иг — порядок q по модулю п. Тогда циклический код с порождающим многочленом g(x) является (и, &)-кодом со следующей проверочной матрицей:
Н = [1, у, у2, . . ., у"-1], элементы которой, принадлежащие GF(^m), будем представлять m-мерным вектор-столбцом.
Если положить N = (qm — Y^n, то у = Ч^ для некоторого примитивного корня Ч1" из 1 степени qm — 1. Следовательно, столбцы матрицы Н состоят из элементов
S = {x v | х е GF (</т) \ {()}}.
На основании утверждения (ill) леммы 1.1 получаем, что радиус покрытия кода С есть наименьшее целое р, такое, что каждое s е GF 'qm\ может быть представлено в виде линейной комбинации не более чем р N-x степеней элементов поля GF (</т). Другими словами, для любого s е GF (</т) мы можем найти такие а, е GF (</), xt е GF^т\ l^t^p, что
s = ахх^ + а2х2 + ... + %х”,
причем р — минимальное целое с таким свойством.
Оригинальная проблема Баринга состоит в нахождении в кольце целых чисел Z такого наименьшего g(N), что любое натуральное число есть сумма не более чем g(N) N-x степеней.
Представляется вполне естественным рассмотреть проблему Баринга в конечном поле, т. е. найти такое наименьшее gf.N'), что каждый элемент поля представляется в виде суммы не более чем g(N) N-x степеней элементов этого поля.
Для </ = 2 код С является кодом БЧХ, исправляющим одну ошибку, и кодом Хэмминга, если и = 2'п—1. Так как аг е е {0, 1), то нахождение радиуса покрытия кода С эквивалентно решению проблемы Баринга в GF (2т).
Результаты по проблеме Баринга по модулю пив конечном поле читатель может найти в работах [8, 19, 20, 22].
Теорема Дельсарта [7] утверждает, что радиус покрытия кода не превосходит числа ненулевых весов в двойственном к нему коде.
В работах [1, 2, 11] было определено распределение весов некоторых классов кодов с неприводимым проверочным многочленом (т. е. кодов, двойственные к которым имеют неприводимый порождающий многочлен). Комбинируя эти результаты с указанным выше результатом Дельсарта, получаем верхнюю
границу для радиуса покрытия многих кодов с неприводимым порождающим многочленом. Следовательно, это также дает вернюю границу для постоянной Варинга g(N) поля GF(2m).
Другой путь, приводящий к хорошим верхним границам радиуса покрытия, основан на теории циклотомических чисел.
Пусть N\ qm — 1, a W — примитивный корень степени qm — 1 из единицы в поле GF(<7m). Положим
C. = yvl\o^t<(vq'n- 1)М 0<i<^- 1.
Циклотомическое число (i,/) определяется для O^i<AT и 0^/<Л/ следующим образом:
(С /) = # {(G> с/) I (ci> cf) ^QX Ch cz + 1 = CjV
Хотя значения (i, j) зависят от выбора примитивного элемента Т, система циклотомических чисел является единственной с точностью до изоморфизма.
Для данного 2eGF|/)\{0} число решений уравнения
ct + Cj = z, Ci^Ch С/^Cj,(2.1)
зависит только от циклотомического класса, который содержит z, и равно (i — j, k — j), если zeC^. В случае z = 0 число решений уравнения (2.1) обозначим через а^.
Произведение классов С,С/ определим, как в работе Сторера [21], следующим образом:
N-1
CiCl = ail{Q}+^i (i-j,k-!)Ck:(2.2)
&=о
(Мы полагаем (i, /) = («', /), если z = i'(mochV) и j = f (mod JV)). Произведение классов удовлетворяет дистрибутивному и ассоциативному законам, так что, зная циклотомические числа, мы можем вычислить произведение для С< С<2 . . . Cir для любых i\, i2 . .. ir. Следовательно, мы можем получить точное выражение для числа решений (хх, ... хг) уравнения
Ч^х? + Ч^х" + . . . + W‘rxr = с
для любого ceCF(<7m). В частности, если мы выберем ix, /2 ... .. ir всеми возможными способами, так что V'1, Чг‘2, .. ., Чг‘г е е GF(</)(т. е. выберем каждое ij из множества
{/(</т—!)/(<? — 1) |0</ < q— }), мы можем найти радиус покрытия и минимальное расстояние кода С, если только известны циклотомические числа.
Прцмер. Пусть С является (91, 85)-троичным кодом с проверочной матрицей Я=[1,Чг8Ч'"720]*
6868Т. Хеллесет
68
68
где V — примитивный корень 728-й степени из 1, т = 6 есть порядок 3 по модулю 91. Минимальное расстояние кода С не меньше 3, так как любые два столбца Н линейно независимы над полем GF(3). Минимальный полином V равен х6— х—1. Из (2.2) мы получаем
x-i
Сосо = а00 {0} + Е (0,6) Сй.
Применим лемму 30 работы Сторера [21], которая дает циклотомические числа для N = 8. В нашем случае это приводит к соотношениям а^ = 0,
(0,0)= 12, (0,4) =19,
(0, 1) = (0, 2) = (0, 3) = (0, 5) = (0, 6) = (0, 7) = 10.
Так как (0, й) #= 0 для 0^&<AZ, мы заключаем, что любое а е GF (З6) \ {0} можно представить в виде
а = W&i + V87
для некоторых I и /, 0^Z, /<91. Следовательно, С имеет радиус покрытия 2.
Далее, в частности, имеем
для некоторых I и /, 0 ^ Z, / < 91. Следовательно, С имеет минимальное расстояние 3.
Циклотомические числа были определены для некоторых малых значений N. Дальнейшие ссылки можно найти в работе Сторера [21].
Все предложенные нами методы могут быть применимы для любого q, но для простоты мы в дальнейшем рассматриваем только двоичный случай q = 2.
ВЕРХНЯЯ ГРАНИЦА РАДИУСА ПОКРЫТИЯ НЕКОТОРЫХ ДЛИННЫХ двоичных кодов
Пусть mt (х) е GF (2Дх] обозначает минимальный многочлен элемента Ч^, где Т имеет порядок 2т — 1.
Теорема 3.1. Пусть g (х) — порождающий полином кода С. Предположим, что
0) g to = to mt2 to ■ • •, ^ (x);
gto не имеет кратных корней;
D = max {Zh Z2, .itV
6969О радиусе покрытия линейных циклических кодов
69
69
Если 2т ^ф — l^^"2, то радиус покрытия кода С не превосходит 2/ + 1.
Доказательство. Из (i) матрица имеет видДоказательство. Из (i) матрица имеет види (И) мы получаем, что проверочнаяи (И) мы получаем, что проверочная11ii(п-1) 1Х -(п-1) 1Х -
Доказательство. Из (i) матрица имеет вид
Доказательство. Из (i) матрица имеет вид
и (И) мы получаем, что проверочная
и (И) мы получаем, что проверочная
1
1
i
i
(п-1) 1Х -
(п-1) 1Х -
S (х + у) = 5 (х) S ^у\S (х + у) = 5 (х) S ^у\
S (х + у) = 5 (х) S ^у\
S (х + у) = 5 (х) S ^у\
L 1L 1(n-l) i*
L 1
L 1
где n|2m — 1. По лемме 1.1 (Ш) р есть минимальное положительное целое г, такое, что для любых 6Ь ..., 6^eGF(2m) мы можем найти ^EGF(2m), l^i^r, для Которых
Х^‘+ +х'1 = 6],
(ЗЛ)
Пусть Nr = Nr(bh ..., 6/) означает число решений (х^ хг) системы уравнений (3.1). Обозначим через
m—1tr (х) = ^ х2‘i=0
след элемента х и определим вещественнозначную функцию
„, . ( — 1, если tr(x)= 1,
Тогда имеемТогда имеемW — 11, если tr(x) = O.
Тогда имеем
Тогда имеем
если а = О, если а #= 0.
£ S (ах) -
X е GF (2m)
Следовательно,
Значения ^= ... =af = 0 дают вклад 2тг в правую часть,
2mtNr — ^2mtNr — ^так что
2mtNr — ^
2mtNr — ^
Е SM+ ...+а^)Х
(а,а()е GF (2т/ \ (°)
£ Sfa^ + .-.+a/''
\х е GF (2/
Применим оценку Карлица — Утиямы [4], которая дает
<(Д- 1)2т<2,<(Д- 1)2т<2,Е 3 (а^1’1 + .. . + а^'О
<(Д- 1)2т<2,
<(Д- 1)2т<2,
х е GF (2т)
когда (аь ..., а,) е GF (2т)< \ {0}, где 2) = max(il, i2, • Отсюда имеем
| ^N, - ^ | < (2mi - 1) ф - 1У ^
и, следовательно,
| У г — 2т (г“° | < ф — 1У 2mr/2.(3.2)
Таким образом, Nr > 0, если выполнено неравенство
1у2тг'2,
которое эквивалентно следующему неравенству:
2"* > фyyiV-ib
Следовательно, если г = 2/+1 и 2т"^ф—l)4t+2, то Nr > О, что и завершает доказательство.
Замечание. Предположение (ii) теоремы 3.1 эквивалентно условию, что все t минимальных многочленов в предположении (1) попарно различны. Для получения как можно более сильного результата каждое // должно быть выбрано как наименьшее положительное целое число I, такое, что Чг‘ есть нуль этого многочлена.
В дальнейшем будет использоваться следующий результат Горенштейна, Петерсона и Цирлера [9].
Лемма 3.2. Если СсС'и С^С', то радиус покрытия кода С не превосходит минимального расстояния кода С'.
Доказательство. Утверждение леммы следует из того, что слово и еС' \ С удалено от каждого слова кода С не менее чем на минимальное расстояние кода С'.
Следствие 3.3. Пусть С — код Б ЧХ, исправляющий t ошибок длины п = (2т — У'УМ, чей порождающий полином имеет вид
g (х) = mN (х) ШЗМ (X) . . . Щ(2<-1) n (х).
Тогда, если
2т>((2/- l)^- 1)4/+2>(3.3)
то имеем
2t — 1 <р<2/ + 1,
где р — радиус покрытия кода С.
Доказательство. Прежде всего заметим, что из (3.3) вытекает, что (2/ — 1)7V < 2ml\ Следовательно,
а2‘^ 6 (mod 2m — 1)(3.4)
для всех i и а =4= b, a, b е \_N, 3N, ..., (2/ — 1) ^}.
В частности, отсюда вытекает, что все нули g (х) простые. В силу теоремы 3.1 имеем р^2/ + 1.
Пусть С' — код с порождающим многочленом
g' (х) = шя (х) m3N (х) ... m(2t-3) к (х).
Из (3.4) следует, что СсС'и С^С'. Так как С' имеет минимальное расстояние не менее 2/— 1, то из леммы 3.2 получаем р ^ 2/ — 1.
Для /=1, 2, 3 радиус покрытия р двоичных кодов БЧХ, исправляющих t ошибок, длины 2m — 1 известен и равен 2/ — 1 (см. работы [9, 10, 12]). Для t > 3 о радиусе покрытия ранее было известно очень немного. Следующие примеры показывают, что радиус покрытия не всегда равен 2/— 1.
Лемма 3.4. Пусть m^l нечетное, и пусть С — код БЧХ, исправляющий / ошибок, длины 2m— 1. Тогда для t = 2m~3— 1 радиус покрытия кода С не меньше 2/+ 1.
Доказательство, Существует код БЧХ С', исправляющий (/—1) ошибок, длины 2m — 1, такой, что СсС'и С=#С'. Из работы [14] следует, что истинное минимальное расстояние кода С' равно 2t + 1 = 2m-2 — 1 (т. е. на 2 больше, чем конструктивное расстояние). На основании леммы 3.2 мы заключаем, что код С имеет радиус покрытия не менее 2/+ 1.
Можно построить другие примеры такого типа с условием р^2/-f-l, используя коды БЧХ, у которых истинное минимальное расстояние превосходит их конструктивное расстояние. Однако вопрос о том, будет ли р = 2/ — 1, когда т достаточно велико по сравнению с t, остается открытым.
Замечание. Титавайнен [23] недавно сообщил мне, что он усилил теорему 3.1 (и, значит, следствие 3.3). С помощью изящного обобщения предложенных в работе методов он доказал, что р ^ 2/, если т достаточно велико по сравнению с D.
Другой задачей, близко связанной с рассмотренной, является определение минимального расстояния приведенных выше кодов. Хорошо известен следующий результат (см. [17, стр. 314]): код БЧХ, исправляющий / ошибок, длины 2т— 1 имеет минимальное расстояние 2/-)-1, если только m достаточно велико по сравнению с t. Этот результат обычно доказывают, когда выводят, что код С инвариантен относительно аффинной группы преобразований. Другое доказательство дано В. М. Сидельниковым [18]. Используем предложенные выше методы для нового вывода этого результата. Аналогичный результат получим также для кодов БЧХ других длин.
Теорема 3.5. Пусть С — двоичный (п, кукод длины п = = ^m—V)IN с порождающим многочленом sto‘> предположим, что
g to = rnix (х) ... mit (х),
S(x) не имеет кратных корней,
Z) = max(il, i2ity
Тогда существует такая постоянная KoW, D, N), что при т^ >K0(t, D, N) минимальное расстояние кода С не превосходит 2Z+ 1.
Доказательство аналогично доказательству теоремы 3.1. Минимальное расстояние кода С есть такое минимальное целое г > О, что система уравнений
^-+...+х'- = 0,
:: :(3,5)
• •. + xlrt = О
имеет по крайней мере одно решение (хь ..., хг), у которого все х. ненулевые, а все векторы (х'1х1^ попарно различны,
^ t ^ г. Обозначим через Мг количество таких решений. Тогда, если Nr — число решений системы (3.5), то
Mr^Nr-rN^-CX^-l^^-^n^N^, так как число решений системы (8.5) с хотя бы одним х, = 0 меньше, чем rNr~i, a Cr((2m — 1) (2m — l)/n) Nr~i не меньше, чем число решений системы (3.5), у которых хотя бы два из векторов (х,1, ..., хр) равны и ненулевые.
Из (3.2) мы получаем
2m Vr-tA^rp <Nr<^+ (О _ 1)г 2mr/2,
следовательно,
Mr>^<r-tA_^_ 1)Г 2^/2 _г(2-(-'-') + ф_ у^^-^-
- с?((2m - 1) (2m - 1 ^п) (^ V-t~^ W-^r1 ^^^ >
> ^m (r-t) г^ (r—#— 1) ^ A ^ l'r-t^ (£) 1)Г ^mr^
_r(D_ l)-Am<'",,/2-C2l(O~ 1)^^^
Пусть r = 2/+l, тогда M2t+i > °, если только tn достаточно велико по сравнению с t, D и N. Это завершает доказательство.
В качестве следствия теоремы 3.5 мы видим, что для достаточно больших по сравнению с / и N значений m код БЧХ длины n = (^m—\MN имеет минимальное расстояние, равное конструктивному расстоянию 2/+ 1.
4. АРИФМЕТИЧЕСКИЕ КОДЫ
Арифметический вес (по основанию г) N^T, есть наименьшее число членов в представлении вида
N = axrlx + ... -(-а/*, 0 < | az | < г.
Модулярный вес N по модулю М был определен Клафком и Ляном [5] следующим образом:
rM(A) = min{U7(A)|A^ A(modM)}, .
где W (А) означает арифметический вес X.
AN-код Кд по модулю М, где А | М, есть следующее множество:
Ka=(AN\0< N < B = M/A)(modM).
Модулярное расстояние между двумя кодовыми словами определим как модулярный вес их разности. Минимальное модулярное расстояние D АА-кода есть наименьшее модулярное расстояние между всеми парами кодовых слоев в коде. Лидером смежного класса назовем элемент наименьшего модулярного веса в смежном классе с + КА по модулю М. Радиус покрытия р(Кд) кода Ка есть максимальный модулярный вес лидеров всех смежных классов. Определим
Н = {аг‘(ОС (а) < г, 0 ^i < е(М)} (mod М), где (г, М) = 1 и е(М) означает порядок г по модулю М.
Через Lt(N) обозначим число решений (й,, . .., й,) сравнения
^ + ... + й( = О (mod Ny где ht gH, 1 ^ t ^ /.
Мы можем установить следующую лемму, которая аналогична лемме 1.1.
Лемма 4.1. Для любого AN-кода Кд имеем
D = min {/1 Lt (Д) — Lt (М) > 0).
(И) Модулярный вес лидера смежного класса с +' К а есть такое минимальное целое I, что сравнение
hi + ... + ht = с (mod Д)
имеет решение h^ Н, 1 ^ t ^/.
Радиус покрытия р(Кд) кода Кд есть такое минимальное целое р, что для каждого с сравнение
hi А- ... + йр = с (mod Д)
имеет решение Д ~Н, 1 ^ t ^ р.
= 0 (mod Д), ^ 0 (mod МУ= 0 (mod Д), ^ 0 (mod МУAi + •.. + й#Ai + •.. + й#Доказательство. (1) По определению имеется кодовое слово веса t тогда и только тогда, когда существуют такие hi, ... ..., ht<= Н, что
= 0 (mod Д), ^ 0 (mod МУ
= 0 (mod Д), ^ 0 (mod МУ
Ai + •.. + й#
Ai + •.. + й#
Так как А^М, это эквивалентно условию Lt (Д) — Lt (М) > 0. Доказательство (ii) и (iii) мы оставляем читателю.
Для того чтобы получить код, исправляющий одну ошибку, выберем для данного А в качестве М наименьшее целое число, удовлетворяющее условиям
М = аг1 + Ь, 0 <а <г, 0 < | b ] < г, i > 0;
М = 0 (mod Д).
Для простоты предположим, что г = 2, но иаш метод в принципе применим для любого г.
Если е = е(Д) нечетное или е(Д) четное и ДТ2е/2+ 1, положим М = 2е—1. Тогда
КА = {AN 10 < N < (2е - 1)/Д} (mod 2е - 1) имеет минимальное модулярное расстояние не менее 3. Если е = е(А) четное и А)2е,2А-1, положим Af = 2e/2+l. Тогда
Ka = VAN IО < N < (2е/2 + 1 )/Д} (mod 2е/2 + 1) имеет минимальное модулярное расстояние не менее 3.
Эти результаты доказаны в работе Мэсси и Гарсии [16].
Код Кд по модулю М = 2е — 1 и код Ка по модулю М = = 2е/2+1 аналогичны двоичным циклическим и негацикличе- ским алгебраическим кодам соответственно.
Далее предположим, что А = р простое, и найдем достаточные условия для того, чтобы Кд и Ка имели минимальное расстояние, равное 3. Заметим, что М = 2е—1, когда в нечетное, и Af = 2^24-1, когда е четное.
Лемма 4.2. Имеем
Код Кр по модулю 2е — 1 содержит слово веса 3 тогда и только тогда, когда существуют такие at, о2е{—1, 1], что
., f = 0 (mod р),
-.2'+a82'+l(^0(mod2._,)
для некоторых i, j, 0 ^ z, / <е.
(И) Код Кр по модулю 2е/2 + 1 содержит слово веса 3 тогда и только тогда, когда существуют такие а{, а2е{—1, 1), что
,,О (mod р),
а‘2 +аг2 +1l^0(mod2e/2+l)
для некоторых i, j, 0 ^ i, j <е.
Пусть а^ а2е{—1, 1}, meZ, тогда определим
Тт (а\> «г) = * {О < I, 1 <е (р) | а^1 + аД? + 1=0 (mod /и)}.
Лемма 4.3. Предположим, что е = е(р)^4, тогда
Если Af = 2e — 1, то
Тм(1, 1) = 0, Тл,(1, — 1) = ГМ(— 1, 1) = TM(— 1, — 1)= 1.
(и) Если M = 2ei2+ 1, го
^(1, 1) = ТЛ1(1, — 1) = ГМ(— 1, 1) = ТМ(— 1, — 1) = 3.
Доказательство. (1) Предположим, что
^ + й2+ 1 = 0 (mod 2е — 1),
где |/г|| = 2‘, |Лгг| = 27 и O^z, j<e (т. е. Нх,Н2еН\ Тогда единственными значениями для (/z^ Л2) будут следующие: (1,-2), (—2,1), (— 2е-1, — 2е-1), поскольку й| + й2 + 1 = О либо + й2 + 1 = ~ 2е + 1. Так как 2'—1 (mod (2е — 1)) для всех z, мы получаем требуемый результат.
Предположим, что
^,+ ^2+1 =()(mod2e/2 + 1),
где | А, | — 2 , | ^21 _ 2Z, 0 < i, j ^ е/2. Тогда единственными зна
е/"'), (1,-2), ^1 + ^2 + 1 = получаем до-е/"'), (1,-2), ^1 + ^2 + 1 = получаем до-чениями для (fc„ &2) будут следующие: (2е/2 *, 2 (— 2, 1), поскольку либо ^ + /г2 + 1 = 0, либо = 2е/2+1. Замечая, что 2е/2= — 1 (mod 2е/2 + 1), казательство леммы.
е/"'), (1,-2), ^1 + ^2 + 1 = получаем до-
е/"'), (1,-2), ^1 + ^2 + 1 = получаем до-
Лемма 4.4. Число решений Ur уравнения xf + ... + х” — Ь, где ххxr, 6eGF*(<j), удовлетворяет оценке
IUr-qr~'^(M-l)rq{r~'V2.
Доказательство можно найти, например, в работе Джоли [13]. Заметим, что непосредственно из оценки Карлица — Утия- мы вытекает только, что
\Ur-q^\<VN -\Xq12.
Теорема 4.5. Если р>((р — 1)/е — I)4, то код Кр по модулю М = 2в— 1 имеет минимальное модулярное расстояние 3.
Доказательство. В соответствии с леммой 4.2 и леммой 4.3 (1) достаточно показать, что 7^(1, 1)>0. Так как порядок 2 по модулю р равен е, то существует примитивный элемент g по модулю р, такой, что при N — (p — 1)/е
gN = 2 (mod р).
Тогда
^(1, l) = #{0<t, / <е|2< + 2/+l = 0(modp)} =
= * {о < i, j <е \gNi + gNi + 1 = 0 (mod р^ =
= -^ ^ {(хр ха) е GF* (р)21Х^ + х" + 1 = 0 (mod д)).
По лемме 4.4 получаем |№ТР(1, 1)-р| <(#-№,(4Л)
откуда вытекает, что ТрЦ, 1) > 0 при p>(N — I)4.
Теорема 4.6. Пусть N = (р— 1)/е; тогда если р > 1 ((АГ - 1 )2 + V^-l)4+12№)2, mo код К*р по модулю 2е/2 + 1 имеет минимальное расстояние 3.
Доказательство. По лемме 4.2 и лемме 4.3(11) достаточно доказать, что ^(1, 1) > 3. В силу (4.1) получаем, что Тр^, 1) > 3,
Таблица 1
р
е
р
е
р
е
р
Р
р
р
89
8
1103
38
2687
34
4999
14
7151
22
151
10
1289
8
3191
58
5209
24
7351
14
233
8
1433
8
3391
30
5279
14
7487
38
337
16
1609
8
3943
18
5471
10
7753
24
431
10
1721
8
4057
24
5711
10
8713
24
439
6
1801
72
4177
48
5737
24
8761
24
601
24
1913
8
4271
14
6353
16
9511
30 .
631
14
2089
72
4513
96
6361
120
9623
34
881
16
2143
42
4721
16
6553
56
9719
226
911
10
2351
50
4751
10
6679
42
937
8
2593
32
4871
10
6959
14
Таблица 2
р
р
р
Р
р
D
р
р — 1 N = - Р
р
Р
43
3
1613
31
3541
15
5569
12
8317
27
331
11
1657
18
3761
20
5581
45
8353
18
397
9
1753
12
3881
10
5641
10
8581
13
433
6
1777
24
4051
81
5669
13
8681
70
457
6
2281
12
4153
12
5821
15
8929
18
673
14
2657
16
4421
13
5981
13
9413
13
683
31
2689
12
4523
17
6043
19
9521
20
953
14
2731
105
4643
11
6337
22
9649
24
1013
И
2833
24
4657
12
6529
64
9721
12
1163
7
2857
28
4733
13
6563
17
9781
15
1217
8
2971
27
5113
12
7001
14
9929
34
1249
8
3061
15
5153
46
7057
18
1321
22
3121
20
5347
27
7393
28
1429
17
3331
15
5419
129
7489
16
1553
8
3361
20
5441
10
8101
81
если только
N2TP(1, l)>p-(N- 1)2V? > 3N2, или
Р > т № - I)2 + 7(^1УТТ2Л^)2.
Применим теорему 4.5 вместе с таблицами Уэстерна и Миллера [24] для е(р) ко всем простым числам р < 104, для которых W (р) > 3. Оказывается, что все коды Кр по модулю 2е — 1 имеют минимальное расстояние 3, кроме нескольких исключений, приведенных в табл. 1. Точно так же мы находим, что коды Кр по модулю 2е/2 + 1 для всех простых р< 104 имеют минимальное расстояние 3, кроме нескольких исключений, приведенных в табл. 2.
T-rЛ2 илб(р) 1
Простое число р назовем 2-регулярным, если р{2—1.
Для любого 2-регулярного числа р выполнено соотношение
е(рс,) = ра~|е(р)
для всех целых а ^ 1.
Теорема 4.7. Пусть р есть 2-регулярное простое число. Если код Кр по модулю М = 2е~ 1 имеет минимальное расстояние 3, то код К^ по модулю 2е (р“) — 1 также имеет минимальное расстояние 3 для любого целого а^ 1.
Доказательство. По предположению, р и е(р) нечетные. Так как р 2-регулярно, то мы имеем е (р“) = ра~1 е (р) и, следовательно, е(р“) нечетное. Отсюда следует, что достаточно найти такие целые i и j, что 0 ^ t, j <е ^р?^ и
,( = 0 (mod рА,),
612 + б22' + 1 |0 (mod 2е(Рл1) _ 1)>
где Av=p°-V и в,, е2е{—1, 1}.
Доказательство проводится индукцией по а. При а= 1 доказываемое утверждение выполнено по предположению.
Выберем еи е2е{—1, 1} и <2, /2 так, что 0^t2<e(A1), О^/гСеШ и
е^’ + е22/: + 1е^’ + е22/: + 1= 0 (mod А]), ^ 0 (mod 2е(Л‘) — 1).
е^’ + е22/: + 1
е^’ + е22/: + 1
Это возможно в силу предположения индукции. Далее положим
i — i\e (^i) + г'г> 0 ^ Ч С р,
/— /1е(А) + /2> 0<di<P>
где t2, /2 указаны выше. Заметим, что
2ге(д,)= j + ^
для некоторого ₽r е Z. Когда г пробегает полную систему вычетов {0, 1, . .., р—1} по модулю р, то и рг пробегает полную систему вычетов по модулю р. Следовательно, можно выбрать такие ix и jv, что
eip,,2'2 + г^ь2к= - ^—Х22' + 1 (mod Р)-
где О^й<р, 0<Д\<р. Тогда
е^ + е22/ + 1 = е|2‘‘е(Л1)2‘2 + б22у,е(Л,)2/’ + 1 =
= 6, (1 + ₽,Л) 2‘2 + 62 (1 + Р/Л) 2Л + 1 =
= еЛ'2 + е22л + 1 + (ср^12 + б2рл2Л) Ах ^ sO(mod рАх),
6|2, + е22/+ 1^е12(! + е22л+ 1 ^ 0 (mod 2е(Л,) - 1).
Отсюда б|2! + е22у +1^0 (mod 2е(рЛ|) — 1), что и завершает доказательство.
Теорема 4.8. Пусть р есть Ч-регулярное простое чисао. Если код Кр ио модулю М = 2е/2 + 1 имеет минимальное расстояние 3, то код К* по модулю 2®^р°^24- 1 также имеет минимальное расстояние 3 для любого целого а ^ 1.
Доказательство полностью аналогично доказательству'теоремы 4.7, и мы предоставляем читателю провести его в деталях.
Коды, исправляющие / ошибок, называются совершенными, если радиус покрытия равен t, и квазисовершенными, если он равен /4-1.
Из леммы 4.1 (iii) и леммы 4.4, используя метод доказательства теорем 4.5 и 4.6, можно вывести следующее утверждение.
Теорема 4.9. Коды Кр по модулю 2е — 1 и К*р по модулю 2е/2 4~ К определенные в теоремах 4.5, 4.6 соответственно, являются совершенными или квазисовершенными (т. е. их радиус покрытия не превосходит 2).
Далее мы можем, используя теорию циклотомических чисел, найти число решений сравнения
ахх” 4- ... 4* агх^ = с (mod р)
для любого с. В частности, полагая ах 6 {—1,1}, мы можем найти минимальное расстояние и радиус покрытия кодов
и К*Р.
Мы ссылались выше на относящийся к алгебраическим кодам результат Дельсарта [7], утверждающий, что радиус покрытия кода не превосходит числа ненулевых весов в двойственном коде. В связи с этим возникает естественный вопрос, справедливо ли аналогичное утверждение для арифметических кодов. Мы приведем контрпример, показывающий, что в этом случае ответ отрицательный.
Для данного арифметического кода
К а — М^ 10 ^ ^ < 5 = М[А\ (mod М) двойственный код Кв определяется следующим образом:
Кв = (BN | 0 ^ N < А = MfB} (mod М).
Пусть ZA означает кольцо классов вычетов по модулю А. В Z^ определим отношение эквивалентности: а ~ b тогда и только тогда, когда а = be2l (mod Л) для некоторого ее{—1, 1} и О^г<е(Л). Через Са обозначим класс эквивалентности, содержащий вычет а по модулю А. Число классов эквивалентности обозначим через пд.
Теорема 4.10. Пусть р(Ад) и N (Кв) обозначают радиус покрытия кода Кд и число ненулевых весов, встретившихся в двойственном коде Кв соответственно. Тогда
ДКАКпА, К(КвХпА.
Доказательство. Через Ft обозначим такое подмножество Zл, что любое ft е Ft можно представить в виде суммы не более чем t элементов из множества
Н А = {A (mod Л) | h е Ну
Далее, если fteFt, то ftcx eFt для любого cv еСь так что Ft есть объединение нескольких классов эквивалентности. По лемме 4.1 (iii) р(Кд) есть такое наименьшее целое р, что F0 = ZA. Тогда
cv = fv<5... ^f9=za,
где все включения собственные, так как из Ft+i = Ft следует, что Ft+i = Ft для всех i > 0. Так как Ft есть объединение нескольких классов эквивалентности, то р^пл.
Неравенство N (Кв) ^^д хорошо известно (см. [5]), но для полноты мы приведем здесь доказательство. Имеем
WM(a)=WM(ae‘21), е е {— 1, 1}, 0^/< е (М).
Пусть sB — кодовое слово кода Кв\ предположим, что s лежит в классе Са по модулю А. Тогда существуют такие ее(—1, 1} и I, что s = аб2‘ (mod Л). Следовательно,
WM (sB) = WM (аЙ1В) = WM (аВ).
Таким образом, число ненулевых весов, встретившихся в коде Кв» ограничено числом классов эквивалентности пд.
Пример. Пусть Л = 49; тогда е(Л) = 21 и мы положим М = 221— 1; ZA разбивается на следующие классы эквива-
лентности:
<?! = {!, 2, 4, 8, 16, 32, 15, 30, И, 22, 44, 39, 29, 9, 18, 36, 23, 46,
43, 37, 25),
С3 = {3, 6, 12, 24, 48, 47, 45, 41, 33, 17, 34, 19, 38, 27, 5, 10, 20, 40, 31, 13, 26},
С7 = {7, 14, 28},
С2| = {21, 42, 35}.
Мы видим, что Fi = CiUC3, F2 = Ci U C3 U C7 U C2I = Z49, следовательно, р(/(л) = 2. Для определения N (Кв) используем следующий результат (см. [16]):
WM (сВ) = (i | с2; е (А/3, 2Л/3), 0 < t < е (Л)},
что равно 7 для всех с е Zл. Поэтому М(Кв)=^- Следовательно, N (Кв) < Р (Кд); это означает, что указанный выше результат Дельсарта [7] для алгебраических кодов неверен для арифметических кодов.
Автор благодарит д-ра А. Титавайнена за его полезные замечания при подготовке этой статьи, в частности за сообщение об усилении теоремы 3.1. Автор благодарен рецензенту за многие предложения, способствовавшие улучшению изложения работы.
ЛИТЕРАТУРА1)
Baumert L. D., McEliece R. J. Weights of irreducible cyclic codes.— Inform, and Control, 1972, v. 20, p. 158—175.
Baumert L. D., Mykkeltveit J. Weight distributions of some irreducible cyclic codes. — JPL Technical Report 32-1526, v. 16.
Berlekamp E. R., McEliece R. J., van Tilborg H. C. A. On the inherent tractability of certain coding problems. — IEEE Trans. Inform. Theory, 1978, v. 24, p. 384—386.
Carlitz L„ Uchiyama S. Bounds for exponential sums. — Duke Math. J., 1957, v. 24, p. 37—41.
Clark W. E., Liang J. J. On modular weight and cyclic nonadjacent forms for arithmetic codes. — IEEE Trans. Inform. Theory, 1974, v. 20, p. 767—770.
Clark W. E., Liang J. J. Weak radix representation and cyclic codes over euclidian domains. — Commun. in Algerbra, 1976, v. 4, p. 999—1028.
Delsarte P. Four fundamental parameters of a code and their combinational significance. — Inform, and Control, 1973, v. 23, p. 407—438. [Имеется перевод: Дельсарт П. Четыре основных параметра кода и их комбинаторное значение. — В кн.: Кибернетический сб., вып. 14.— М.: Мир, 1977, с. 46—77.]
Dodson М. М„ Tietavainen A. A note on Waring’s problem in GF(p).— Acta Arithmetica, 1976, v. 30, p. 159—167.
Gorenstein D. С.., Peterson W. W., Zierler N. Two-error correcting Bose — Chaudhuri codes are uuasi-perfect.— Inform, and Control, i960, v. 3, p. 291—294.
Helleseth T. All binary 3-error-correcting BCH codes of length 2m—1 have covering radius 5.— IEEE Trans. Inform. Theory, 1978, v. 24, p. 257—258.
Helleseth T., Klave T., Mykkeltveit J. The weight distribution or irreducible cyclic codes with block lengths гц^д1—1)/A.— Discrete Math., 1977, v. 18, p. 179—211.
van der Horst J., Berger T. Complete decoding of triple-error-correcting BCH codes.— IEEE Trans. Inform. Theory, 1976, v. 22, p. 138—146.
Joly R. Equations et variety's algebrique sur un corps fini. — L’Einseigne- ment Math., 1973, p. 1—117.
Kasami T., Tokura N. Some remarks en BCH bognds and minimum weights of binary primitive BCH codes. — IEEE Trans. Inform. Theory, 1969, v. 15, p. 408—413.
MacWilliams J., Sloane N. J. A. The Theory of Error-correcting Codes.— Amsterdam: North-Holland, 1977. [Имеется перевод: Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих ошибки. — М.: Связь, 1979.]
Massey J. L, Garcia О. Error correcting codes in computer arithmetic. — In: Advances in Information System Science, v. 4. — New York: Plenum Press, 1971.
Peterson W. W., Weldon E. J., Jr. Error-correcting Codes. 2nd ed.— Cambridge, MA: MIT Press, 1972. [Имеется перевод: Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. — М.: Мир, 1976.]
Сидельников В. М. О спектре весов двоичных кодов Боуза — Чоудхури— Хоквингема. — Проблемы передачи информации, 1971, т. 7, вып. 1, с. 14—22.
Small С. Solution of Waring’s problems mod л. — Amer. Math. Monthly, 1977, v. 84, p. 356—359.
Small C. Waring’s problem mod л. — Amer. Math. Mounthly, 1977, v. 84, p. 12—25.
Storer T. Cyclotomy and Difference Sets.—Chicago: Chicago Press, 1967.
Tietavainen A. On diagonal forms over finite fields. — Ann. Univ. Turku., Ser. A, 1968.
(
23]Tietavainen А. (частное сообщение).
Western A. E., Miller J. С. P. Tables of indices and primitive roots.— Royal Society Math. Tables, v. 9. — Cambridge: Cambridge Univ. Press, 1968.
] Mordell L. J. On a sum analogous to a Gauss sum. — Quart. J. Math., 1932, v. 3, p. 161—167.
] Скоробогатов A. H., Влэдуц Л. Г. Радиус покрытия длинных кодов. БЧХ. — Проблемы передачи информации, 1989 (в печати).
ДОБАВЛЕНИЕ ПЕРЕВОДЧИКА
Здесь мы покажем, что некоторые из приведенных выше результатов могут быть усилены при помощи некоторых дополнительных соображений. В частности, мы получим упоминавшийся выше результат Титавайнена [23], причем в более точной форме. Это достигается за счет того, что для среднего
значения встречающихся тригонометрических сумм известна достаточно точная оценка Морделла [25*], а также за счет того, что систему (3.1) удается заменить аналогичной однородной системой, содержащей уже г + 1 неизвестных.
Справедливо следующее усиление теоремы 3.1.
Теорема. Пусть код С удовлетворяет условиям теоремы 3.1. Тогда существует такая абсолютная постоянная 0 > 1, что при
2т>№2(1х i^HWlW
радиус покрытия кода С не превосходит 2t.
Доказательство. Мы будем пользоваться обозначениями, введенными при доказательстве теоремы 3.1. Рассмотрим среднее значение
лглгУa(eGF(2m)Уa(eGF(2m)У, S (й[Х 1 -[- ... -[- atx ^ XEGF(2m)У, S (й[Х 1 -[- ... -[- atx ^ XEGF(2m)Г=яДч4).Г=яДч4).
лг
лг
У
a(eGF(2m)
У
a(eGF(2m)
У, S (й[Х 1 -[- ... -[- atx ^ XEGF(2m)
У, S (й[Х 1 -[- ... -[- atx ^ XEGF(2m)
Г=яДч4).
Г=яДч4).
Морделл [25*] получил следующую оценку:
^di,.... ^х^/, ... it(2t)wy.
(Заметим, что в [25*] рассматривался случай простого поля, но приводимые там рассуждения дословно переносятся на случай произвольного конечного поля.)
Если bi = ... = bt = 0, то система (3.1), очевидно, имеет решение хх = ... = хг = 0. Пусть далее хотя бы одно из Ьхbt отлично от 0.
Поскольку при любом фиксированном у г GF* (2") произведение ху-х пробегает вместе с х все поле GF (2т), то
NAbv .... ^^^Л-^МД^, .... b^.
где Мг (Ьхbt) — число решений однородной системы уравнений
Д v 4- ... 4-*>v = bxy\ v = 1t,
Xi, ..., хг г GF (2m), у e GF* (2m).
Положим r = 2t. Как и прн доказательстве теоремы 3.1, получаем;
Мг (Ьх, ..., bt) = 2~mt (2mr (2m - 1) 4- A).
гдеД< агдеД< аУУ... a(sGF(2m) 1еСР(2И)... a(sGF(2m) 1еСР(2И)У S(a1x1*4- ... 4~а<х <) XУ S(a1x1*4- ... 4~а<х <) X
где
Д< а
где
Д< а
У
У
... a(sGF(2m) 1еСР(2И)
... a(sGF(2m) 1еСР(2И)
У S(a1x1*4- ... 4~а<х <) X
У S(a1x1*4- ... 4~а<х <) X
уЕОрЧг'”)
8484Т. Хеллесет
84
84
Пусть Ьц, ..., bjk — все нулевые элементы среди 6Ь ..., bt. Разобьем сумму А на две: A = Aj + A2, где в первой сумме А, суммирование проводится по всем наборам ах, ..., at е GF (2т) с условием ахЬх = ... = atbt = 0, а во второй по всем остальным наборам.
Для первой суммы, используя тривиальную оценку
2 зО^х^Ч- . .. A-atbty'^
У EOF* (2m)
получаем
А^ГЧф/,,)<2"(О2"'Т2‘^(-,
< D-»2« (НЩ-Н2Н (;> . у (2,)|/(Л)=.
Далее, так как D2^.2m и I — 1 то
А! < ^"D2 <ц ... /а (2/)!/(Л)2 < D2Mm+ml2 ^v ... /а (2/)!Д/!)2.
D2m‘2D2m‘2Для второй суммы мы можем применить оценку
D2m‘2
D2m‘2
Е S W\4' + ■ • • + atbty^ ye GF* (2m)
(см. [4]). Таким образом,
A2 <,D2ml2ar (zb ..., it) < D2ml22mt (z, ... it) ^XKtYf = = DTHm12 <ix . za(2/)!(H)2.
Следовательно,
A = A! + A2 < D^i+mp+\ ^ , , , /() (2/)|/(/f)2-
Откуда после простых вычислений получаем
NM (6i, • ■ •, bt) = -^пТТу^м« (6b • • •, bt) > О
при2"‘>e[D(z1 ...it)^t)MW\\
тем самым теорема доказана.
Отметим, что при достаточно большом m постоянная 0 может быть выбрана сколь угодно близкой к 1. Кроме того, в работе [26*] для некоторых случаев получено точное значение для радиуса покрытия длинных кодов БЧХ.
Об обобщенномдистанционном преобразованиицифровых изображений1)
С. Екои^, Дз.-И. Ториваки3), Т. Фукумура4)
В данной статье предложено обобщение дистанционного преобразования цифровых изображений в двух различных направленяих. Сначала определяется обобщенное дистанционное преобразование бинарного изображения (ОДПБ). Подробно рассмотрен подкласс ОДПБ, названный семейством фильтров по локальному минимуму (ФЛМ-ОДПБ), характеризуемый с помощью последовательности фильтров по локальному минимуму с переменными окрестностями. Для преобразований из ФЛМ-ОДПБ введено понятие остова бинарного изображения и показано, что любое бинарное изображение может быть восстановлено в точности по информации о его остове и дистационным значениям на нем. Затем дано обобщение полутонового взвешенного дистанционного преобразования (ПВДП) на более общий случай, обозначаемое как ОПВДП, путем введения произвольного начального изображения. После вывода основного уравнения ОПВДП н нахождения его решения доказано, что произвольное полутоновое изображение порождается посредством итеративного применения ОПВДП по однозначно заданному элементарному изображению и последовательности начальных изображений.
Указатель терминов — бинарное изображение, дистанционное преобразование, полутоновое изображение, анализ изображений, обратное дистанционное преобразование, срединная ось, сжатие зрительных данных, операторы над изображением, признак формы, остов.
ВВЕДЕНИЕ
Дистанционное преобразование (ДП), или преообразование к срединным осям, исследовалось главным образом с двух точек зрения — как метод сжатия зрительных данных и как средство для утончения изображения или получения его «скелета». Что касается первой точки зрения, для нее наиболее важным является представление изображения посредством его остова и восстановление исходного изображения по остову. Розенфельд
’) Yokoi Shigeki, Toriwaki Jun-Ichiro, Fukumura Teruo. On generalized distance transformation of digitized pictures. — IEEE Trans, on Pattern Analysis and Machine Intelligence, July 1981, v. PAMI-3, No. 4, p. 424—442.
Department of Electronics Engineering, Faculty of Engineering, Mie University, Mie, Japan.
Department of Information and Computer Sciences, Toyohashi University of Technology, Toyohashi, Japan.
Department of Information Sciences, Faculty of Engineering, Nagoya University, Nagoya, Japan.
© 1981 IEEE Translated from the English, with permission, from The IEEE Trans, on Pattern Analysis and Machine Intelligence, vol. PAMI-3, No. 4r. July, 1981, pp. 424—443.
и Пфалтц [5] ввели понятия дистанционного преобразования и остова дискретного бинарного изображения и доказали, что исходное бинарное изображение точно восстанавливается по его остову и дистанционным значениям всех элементов изображения остова. Были исследованы случаи определения расстояния по 4-связке (расстояние по крестообразной окрестности) [5], 8-связке (расстояние «городских кварталов») [51 и 6-связке [11, 16].
Согласно второй точке зрения, понятие остова, или срединной оси, было впервые предложено Блюмом [6] при рассмотрении бинарного изображения на непрерывной двумерной плоскости. Оно исследовалось также Калаби и Хартнеттом [7], Мотт-Смитом [8] и Лантье [18]. Остов цифрового изображения изучался Рутовичем [10], а также Розенфельдом и Пфалт- цем [5]. Дистанционное преобразование на основе квазиевкли- дова расстояния подробно рассмотрен Монтанари [12].
ДП обобщалось различными способами многими авторами. Следует отметить два новых обобщения ДП применительно к преобразованию бинарного изображения. Одно из них состоит в дистанционном преобразовании линейного объекта (ДПЛО), определяемого на бинарном объекте, все участки которого имеют единичную ширину, в то время как ранее ДП применялось всегда к бинарному объекту некоторой конечной ширины с целью его утончения. ДПЛО было разработано Ториваки, Като и Фукумурой [3, 4]. Другое обобщение ДП сводится к построению остова, а не самой бинарной фигуры. Для случая непрерывных изображений оно изучалось Лантье [18] и применялось Престоном [17] для анализа изображений срезов тканей.
В даной работе изложены результаты дальнейших обобщений или расширений ДП в двух различных направлениях. Первое из них, обобщенное дистанционное преобразование цифрового бинарного изображения (ОДПБ, Б обозначает бинарное изображение), определяется при помощи последовательности операторов утончения с различными конфигурациями окрестностей. Подробно исследуется семейство ОДПБ, заданных с помощью последовательности фильтров по локальному минимуму -с различными конфигурациями окрестностей. Обобщенный остов определяется как некоторая разновидность набора точек локального максимума дистанционого изображения. Доказана теорема о восстановлении, описывающая способ восстановления исходного бинарного изображения по его обобщенному остову, дистанционным значениям на нем и последовательности конфигураций окрестностей, используемых в соответствующем дистанционном преобразовании.
Второе направление соответствует обобщению ДП до полу-
тонового взвешенного дистанционного преобразования (ПВДП). Это сделано посредством перехода от обычного ПВДП, предложенного Леви и Монтанари [9], к обобщенному ПВДП (ОПВДП) добавлением некоторой процедуры инициализации. Преобразование, обратное к ОПВДП (ООПВДП), полученное- с помощью арифметического подхода к операциям над изображениями, играет более важную роль. Доказано, что произвольное полутоновое изображение порождается итеративным применением ООПВДП, исходя из однозначно заданного элементарного изображения и последовательности начальных изображений.
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И СВОЙСТВА ОПЕРАЦИЙ НАД ИЗОБРАЖЕНИЯМИ
В данной работе рассматриваются лишь цифровые изображения, квантованные в точках прямоугольных упорядоченных массивов. Пусть (t, /) обозначает элемент изображения (пиксел),, расположенный на г-й строке и /-м столбце, F = {/;/} — цифровое изображение, на котором значение оптической плотйоста на элементе (г, /) равно fq. Множество всех изображений называется пространством изображений и обозначается через 9. Если для всех элементов (t, /) значение яркости fij = O или 1, то F = (M называется бинарным изображением. Множество всех бинарных изображений обозначается через 9В. Полутоновое изображение F = {fi/) называется положительным, если fij^O Для всех I и j, и постоянным изображением со значением С, если tn = С (С — константа) при всех I и /. Элементы бинарного изображения со значением 0 или 1 называются, соответственно 0-элементами и 1-элементами.
Далее будут использоваться следующие обозначения.
Определение 1. (Унарным) оператором на изображении называется отображение пространства изображений 9Х на 9г, т. е. О: 9Х^>-9Ъ где 9V 9>— подмножества пространства 9, которые называются соответственно областью определения и областью- значений отображения. Совокупность всех операторов называется операторным пространством и обозначается через О. Изображение, полученное путем применения оператора О к изображению F, записывается в виде О (F).
Определение 2. Для любых двух изображений F = {fi/} и: G = ко)
р = йо!ч = §И \Ц1,»е1Х1,(1)
F^G^fti = gu Hj^cIXI, F>Gohi> Кц V (i, i^IX I,(2>
где / — множество всех целых чисел, ^ — подмножество
Определение 3. Для любых двух операторов О] и О2
•с областью определения 5%
(3)(4)(3)(4)O1 = O2^O1(F) = O2(F) VFe^o,
(3)
(4)
(3)
(4)
O1>O2^O1(F)>O2(F) VFe^0.O1>O2^O1(F)>O2(F) VFe^0.O1^O2^O1(F) = O2(F) VFe^'c^,
O1>O2^O1(F)>O2(F) VFe^0.
O1>O2^O1(F)>O2(F) VFe^0.
Определение 4. Оператор О, заданный на области ^o, называется монотонным тогда и только тогда, когда
О (G)^ 0(F) VF, VGe^, G>F.(5)
Определение 5. Оператор / называется тождественным оператором тогда и только тогда, когда
/(F) = F VFe^.(6)
.Далее будут определены операции на множестве изображений и операции на множестве операторов.
Определение 6. Операция, с помощью которой изображение Я = №/} получается из двух изображений F = {/г/} и G = {g^} по правилу вида
ни = Ф (ftj, gi^ ^(i, he I XL(7)
где -ф (x, у) — произвольная вещественная функция от двух переменных, не зависящая от i и /, называется поточечной операцией на F и G. Она обозначается через F * G. Исходя из различных функций ф (х, у) в (7), можно ввести многие поточечные операции на изображениях. В каждом конкретном случае будет использоваться подходящее обозначение вместо * для представления выбранной поточечной операции. Часть наиболее широко используемых примеров этих операций определена в табл. I.
Определение 7. Параллельной композицией (посредством поточечной операции) двух операторов Oi и О2 с общей областью определения ^о называется операция
(О[ * О2) (F) = О[ (F) * О2 (F) VFe^0.(8)
В общем случае параллельная композиция обозначается через Ov * О2, хотя для обозначения конкретного типа композиций может использоваться более подходящий символ (например, O1+02)(F) = 01(F)+02(F)).
Таблица Г
Точечные операции иад изображениями и параллельныекомпозиции операторов
F=(M\
;->н = {а.л = р*о, G = ^ijV^-^(fii’Sii)
Обозначение
Функция Ф (x, и)
Определение
Соответствую щая* параллельная композиция операторов
H = F ± G
X ± у
кИ = ^и±8и
О] ± Ог
H = FXG
хХу
hU = hi'Xgii
01 хо2
H=FV G
max (х, р)
h.-max ^1Г gif}
0, V О2
Н = F Д G
min {х, у}
hu = mXnVir 8a}
01 д 02
H = F V G
XV У
hH = hi V 6ц
0, vo2
h = fa g
х М
hH = hi g*a
01 Д 02
H = F © G
XV у
ha = hj v s a
о, © 02
* Задано иа области ^в (V логическая сумма, Д логическое произведение, — логическое отрицание).
Определение 8. Последовательная композиция двух операторов О] и О2, обозначаемая через О[оО2, задается следующим образом:
(О[ о О2) (F) = О[ (О2 (F)) VFe^2,(9)
где ^2— область определения оператора О2. Кроме того, необходимо, чтобы ^^^ здесь ^ — область определения О,, ^' — область значений О2.
Определение 9. Если для данного оператора О существует оператор О', такой, что
О'о 0 = 0 = 0' = !,(Ю)
то оператор О' называется обратным к О оператором и обозначается через О-1. Далее п-кратная последовательная композиция одного и того же оператора О называется м-й степенью оператора О и обозначается через О". Таким образом,
Оп=ОоОо ... оО.(11)
п раз
•Оператор О™" также задается описанным образом, если существует О-1.
Для применения одного и того же оператора (или композиции) к более чем двум изображениям (или операторам) будут использованы обозначения, аналогичные тем, которые используются для вещественных чисел или переменных, т. е.
Е *01 = 01 * о2 * ... * Оп. i-1
(Например, Е+О, = О1 + О2 ++ О„. )(12)
Xi = l/
П Ot = Оп °О„_[ о ... оО2°О1. ( = 1
"Порядок применения операций в этих выражениях нельзя из- менить, за исключением специальных типов операторов, рассматриваемых ниже.
Практическая интерпретация композиции операторов следует из их определений. Например, Ох = О2оО2 означает, что применение оператора О[ к произвольному изображению F дает тот же результат, что и применение оператора О2 к результату применения О3 к изображению F (рис. 1). В качестве второго примера рассмотрим OV = O2* О3, который означает, что применение 01 к произвольному изображению F всегда дает то жег, самое изображение, что и поточечная композиция изображе-' ний O2(F) и O3(F).
При выводе результатов данной статьи на основе арифметических операций над операторами весьма полезным окажется следующее свойство.
Свойство 1 (правило ассоциативности и дистрибутивности -справа).
(О[ ° О2) ° Оз = О, ° (О2 ° Оз),(13)
(О1*О2)оОз = (О1оО3)*(О2оО3) VOh VO2, V03g0. (14)
Оно выводится непосредственно из определений 7 и 8. Его доказательство дано в [1].
Наконец, введем два специальных типа операторов — оператор сдвига и точечный оператор, которые будут часто использоваться в последующих разделах работы.
Определение 10. Оператором сдвига Т^р, q] называется оператор, преобразующий изображение F = ^ftj^ в изображение 43 = (gz/) в соответствии с соотношением
4(f,i^IXL(15)
Иными словами, оператор сдвига Т [р, р] производит сдвиг изображения на р точек по оси i и на q точек по оси /. Часто- Т [р, q\ будет сокращенно обозначаться через Т. Множеств» операторов сдвига обозначается через S’t-
°г'°7°г'°7
°г'°7
°г'°7
(Ь)(Ь)Рис. 1. (а) Последовательная композиция и (Ь) параллельная композиции- операторов.Рис. 1. (а) Последовательная композиция и (Ь) параллельная композиции- операторов.
(Ь)
(Ь)
Рис. 1. (а) Последовательная композиция и (Ь) параллельная композиции- операторов.
Рис. 1. (а) Последовательная композиция и (Ь) параллельная композиции- операторов.
Свойство 2 (свойства оператора сдвига).
Т [р, qA = DpoR- ^(p,q)ElXI,(16)
где £> = Т [1, 0] и /? == Г [0, 1],
Т [р, 91 ° т [“.^1 = 7 [и, и] о Т [р, q] = T [р + и, q + у]
V.(p, q), V (и, у) е / X Л (17)
IT (F * G) = T(F)*T(G) VF.VGe^,(18)
To(O1*O2) = (ToO,)>(ToO2) VOb VO2g<7, VTe^, (19) T(F)>T(G) Vre^r и VF, VGs^, где F>G. (20)
Определение 11. Точечным оператором называется оператор, преобразующий изображение Р = {/£/} в изображение G = (gi/) по уравнению
gti = W ^(.i.nelXLgti = W ^(.i.nelXL(21>
gti = W ^(.i.nelXL
gti = W ^(.i.nelXL
где т](х) — произвольная вещественная функция, не зависящая от I и /. Множество всех точечных операторов обозначается через Ур.
Различные функции т)(х) задают различные точечные операторы. Некоторые из них приведены в табл. II. В последующих разделах данной работы для обозначения конкретных точечных операторов вместо г] будут использоваться соответствующие символы (табл. II).
Таблица II Точечные операторы
Функция для задания 11 (х)
Определение
Обозначение
Умножение на константу
СХ
8а=с‘Ьн
М[С]
Выделение характерных точек
f 1, если х гт rv\ J истинно, иj 0, если х
| ложно
। 1, если данное высказывание истинно
811 = на элементе (б /)
0 в противном
( случае
Подходящие символы, соответствующие смыслу высказывания
Абсолютное значение
1*1
8ij = \ hj 1
I..I
III. ОБЩЕЕ ДИСТАНЦИОННОЕ ПРЕОБРАЗОВАНИЕ ДИСКРЕТИЗОВАННОГО БИНАРНОГО ИЗОБРАЖЕНИЯ
Определение
В этом разделе будет рассматриваться обобщенное дистанционное преобразование на дискретизованном бинарном изображении (ОДПБ сокращенно). ОДПБ определяется по последовательности операторов утончения следующим образом.
Определение 12 (оператор утончения). Оператор ср, удовлетворяющий условию ф (F) С F VF g 5®B, и такой, что ф#=/, называется оператором утончения.
Операция утончения, введенная сейчас, имеет гораздо более широкую трактовку по сравнению с известными из литературы операциями, так как она включает в себя все операции (за исключением тождественного оператора), применение которых .никогда не увеличивает число 1-элементов на входном изобра-
жении. Его скорее следует рассматривать как средство для задания ОДПБ, а не как средство, имеющее самостоятельное применение в обработке изображений.
Определение 13 (ОДПБ). Преобразование, отображающее входное бинарное изображение F = {^/} в изображение D = = {d//} в соответствии со следующим правилом, называется
Рис. 2. Обобщенное дистанционное преобразование бинарного образа (ОДПБ). Указанные числа являются значениями ОДПБ.Рис. 2. Обобщенное дистанционное преобразование бинарного образа (ОДПБ). Указанные числа являются значениями ОДПБ.
Рис. 2. Обобщенное дистанционное преобразование бинарного образа (ОДПБ). Указанные числа являются значениями ОДПБ.
Рис. 2. Обобщенное дистанционное преобразование бинарного образа (ОДПБ). Указанные числа являются значениями ОДПБ.
обобщенным дистанционным преобразованием дискретизованного бинарного изображения (ОДПБ):
( k тогда и только тогда, когда gW = 0 и ^-1)=1, Лц=л(22>
I 0 в противном случае, где
(F) = (ф„ о фп1 о фп 2 о ... о ф2 о Ф1) (F) (23)(F) = (ф„ о фп1 о фп 2 о ... о ф2 о Ф1) (F) (23)С<"> = {^'">} = (Пфг
(F) = (ф„ о фп1 о фп 2 о ... о ф2 о Ф1) (F) (23)
(F) = (ф„ о фп1 о фп 2 о ... о ф2 о Ф1) (F) (23)
я ф,— данная последовательность операторов утончения; п должно быть достаточно большим числом, чтобы выполнялось равенство "^ = 0 для любого элемента (z,/) каждого из изображений, принадлежащих рассматриваемому множеству изображений.
ОДПБ допускает естественную физическую интерпретацию (рис. 2). Когда к входному изображению применяется оператор <р*. по крайней мере один из 1-элементов преобразуется в 0-эле- мент. Таким образом, если элемент (z,/) впервые преобразуется в 0-элемент при применении ф*, то этому элементу приписывается дистанционное значение к. Если последовательность операторов {фД выбрана с тем условием, что 1-элементы, расположенные на краях фигуры (в некотором смысле), преобра-
зуются последовательно, то дистанционное значение для каждого элемента изображения равно расстоянию от края фигуры до этого элемента изображения. Определение 13 достаточно общо, чтобы охватить дистанционные преобразования, основанные на различных метриках на цифровых изображениях, поскольку в качестве фб можно выбирать широкий набор операций.
Операторное представление ОДПБ
Операцию получения результата дистанционного преобразования D = М из бинарного изображения F = {/г/} можно рассматривать как пример операции над изображением. Обозначим ее через DT, т. е. D = £)7'(F). Оператор DT представляется посредством операторов {ф^}, как это будет отражено свойством 5. Прежде чем подробно рассмотреть DT, удобно ввести два других оператора для выделения элементов изображения с заданными дистанционными значениями.
Определение 14. Оператором DL[n] назовем оператор, который выделяет на бинарном изображении F все элементы с дистанционными значениями, большими или равными п.
Свойство 3. Оператор DL[n] представляется следующим образом:
DL№ F = {fj;}-^G = {gi;},
( 1, если йц^п,
®l!1 0 в противном случае,(24)
п-1
DL [га] = П фг = ф„_, ° ф„_2 о ... ° ф2 оФ1 ;=1
при га^2 и DL[1] = /.
Определение 15. Оператором £)/S[ra] называется оператор, который выделяет на бинарном изображении F все элементы с дистанционными значениями, равными п.
Свойство 4. Оператор DISV^A представляется следующим образом:
Я/ЭД: F = {fi/}^G=^{gz/},
( 1, если dtj = n,^0 в противном случае,
DIS\n\ = DL\n\-DL\n^- 1]=^
п-1п/п-1 X
= П Фг — П Фг = U — Фп) ° ( П Фг
г=1г=1\г=1 /
где {ф<.} — последовательность операторов утончения, используемых в ОДПБ.
Доказательство. Свойства 3 и 4 следуют непосредственно из определения ОДПБ.
Свойство 5. Оператор DT получения ОДПБ D = ^di^ из бинарного изображения F = {fz;} можно представить в виде
DT = £ + (М [i] о DIS [г]) =(26)
N /1-1 х
= S+ ( П Ф4 ) = / + Ф1 + (ф2 ° Ф1) + ( = 1 \Ь = 1/
+ (Фз°Ф2°Ф1)+ • •• + ГПф4) + •(27)
\ft = i /
где M[z] — оператор умножения на константу, {фг}— последовательность операторов утончения, используемых в ОДПБ.
Доказательство. Из определения ОДПБ и свойства 4 имеем
2)7' = ,М [1] ° £)/S [1] + Л1 [2] ° Д/S [2] + ... =
= (7 — Ф1) + М [2] □ (/ — ф2) о ф1 + М [3] о (/ — ф3) о ф2 о Ф1 4- ... =
= / + (М[2]-/)оф, + (М[3]-М[2])оф2оф1+ ... +
+ (Л1[^-Л1^-1])о^Пф,)+...=
. = 7 + Ф1 + (ф2 ° Ф1) + (фз ° Фг ° Ф1) + • • • + /к-1\/К-1\ К /1-1 х
+ (П Фг)+ . • • + (Пфг)=2+(2 Фь)-
Чтобы проиллюстрировать разнообразие типов дистанционных преобразований, включаемых в ОДПБ, рассмотрим дистанционное преобразование линейного образа (ДПДО), введенное в работах [3] и [4].
Определение 16. Дистанционным преобразованием линейного образа F = {f^} типа 1 (ДПЛО — тип 1) назовем преобразование, заданное в терминах итеративного локального оператора S’ [А]:
G(*> = {g<*>) = S’[А — 1](G<*-')), ^=1, 2, 3, ...,
I ^/-1)+1> если ^(г/-1)>^ и Nc^-V^>2, ^1![ §а-^ в противном случае.
Nс (z$-‘>)— значение числа связности [24] на элементе (z, /) изображения Y(Ai) = {z/<^"‘>^, где
( 1, если
рч I 0 в противном случае.
Итерации прекращаются, если не остается элемента изображения (z, /), такого, что ^“° = g^-^ + 1 и g^ = gV,^ для любого значения 1г. Тогда величина g$ является значением ДПЛО для элемента (z, /). Подробное рассмотрение этих вопросов содержится в [3] и [4].
Свойство 6. ОДПБ, которое определяется с помощью следующей последовательности операторов утончении ф^, совпадает с дистанционным преобразованием линейного образа (ДПЛО) первого типа, введенным выше (а также в [3]):
Фд = 7-£ V^,(28)
где / — тождественный оператор, Е — оператор выделения краевых точек линейного образа ’), т. е.
Е; F = (fij)^G = {^/),
( 1, если элемент (z, /) — краевая точка, ®l*1 0 в противном случае.
Подробнее изложение свойства ДПЛО требует большого объема материала и поэтому здесь не приводится.
Семейство ОДПБ по фильтру локального минимума
Более важное семейство ОДПБ, которое будет в центре внимания в данной работе, может быть построено путем использования фильтра по локальному минимуму в качестве ф*. Для исследования этого семейства дадим определение фильтра по локальному минимуму в общей форме.
Определение 17. Оператор для получения выходного изображения G = {gz/} из входного изображения F = {^/} в соответствии со следующим уравнением называется фильтром по локальному минимуму (ФЛМ):
ф: F = {/</}-> G = (M
gq = min ypq I (p, q) g N ((z, /))} V (z, /), "(29)
где У((/, h^^p, q)\(.P — i, q — H^S), S — подходящее под-
') Строго говоря, Е — оператор для выделения точек, удовлетворяющих условию st в [3, 4]. Подробностей мы не приводим.
множество множества I XI, включающее пару (0, 0). Отметим, что окрестность элемента (г, /) содержит элемент Ц, j).
Фильтр по локальному минимуму, введенный выше, присваивает элементу (г, /) минимальную яркость по множеству яркостей элементов входного изображнния F, которые составляют окрестность N ((z, /)) элемента (г, /). Для полного задания фильтра можно произвольно выбрать форму окрестности М ((7, /)). Следует подчеркнуть, что N ((i, j)) всегда содержит элемент (z, /).
С помощью последовательности фильтров по локальному минимуму можно ввести следующее семейство ОДПБ.
Определение 18. ОДПБ, в котором используются следующие операторы утончения в качестве {q>z} (см. определение 13), называется семейством ОДПБ по фильтру по локальному минимуму (ФЛМ-семейством ОДПБ):
Ф»: F = {/„} -> G = (g,,).
§ц = min Vpq I (p, q) g Nfe ((i, /))},(30)
(i, /) = VkP, q)\{p~ i, q ~ 1) Skcz IX I},
где Sfe — подходящее подмножество множества IXI, включающее (0, 0).
Можно показать, что ФЛМ-семейство ОДПБ полностью определяется выбором последовательности окрестностей {S*} (или Nk((i, /)))• Исходя из этого, ФЛМ-семейство можно представить в терминах минимального пути, длина которого выражается с помощью обычного дистанционного преобразования.
Свойство 7. ФЛМ-семейство ОДПБ можно представить следующим образом. Пусть F = f/^} и D = td^ обозначают соответственно входное бинарное изображение и его ФЛМ-семейство ОДПБ1). Тогда
_ Г min {| л |}, если (2, /) е/?+(F),
11 I 0, если (z, /)e/?0(F), где
7?+(F) = {(p, g) \fpq > 0} — множество всех 1-элементов в F,
A*0(F) = {(р, q) | fpq = 0} — множество всех (J-элементов в F, л — цепочка элементов POPV ... Рп, таких, что Ро г Ro (F), Рп — U, 1) и Pi-yg N^Pt) при z=l, . .., п, | л | — длина этого пути, равная п. Здесь окрестности Nt должны полностью совпасть с окрестностями операторов ф, (см. определение 15).
Доказательство; см. приложение I.
Следует отметить, что используемое нами понятие пути является обобщением обычного пути в том смысле, что окрест-
’) Точнее, D — результат ОДПБ изображения. — Прим, перев.
7 Зак. 854
ность Р,-!, в которой должна содержаться Р{, может зависеть от номера I, и конкретный элемент (р, q) изображения, отличный от (/, /"), может несколько раз входить в минимальный путь до (г, /): n, = P0Pv ... Рп.
Наиболее известные в литературе дистанционные преобразования могут быть получены подходящим выбором Nt, описываемым в следствии.
Следствие 1. Определим 4-окрестность и 8-окрестность элемента (;, /) изображения следующим образом:
S' W, ’^ = Ш - 1, /), О' + h П, kb 1 - 1), (Л / + 1), О', /))
(4-окрестность),
/» и W-1, /- п, (/—!,/ + 1), о+ l /- п, О' + 1, / + 1)} (8-окрестность).
Тогда обычное дистанционное преобразование получается следующим образом:
Nk((i, 1^ = 9"^, /')) для каждого & с метрикой «городских кварталов» (расстоянием по 4-окрестности) *).
Nk(U, i^ = 8^i, /)) для каждого к с чебышёвской метрикой (расстоянием по 8-окрестности).
Если
( S (Ц, /)) для каждого нечетного к, Nk((i, /)) = ) ;ххl
( е (О, /)) для каждого четного к, то получим дистанционное преобразование с октагональным расстоянием [16].
Таким образом, в рамках принятых нами общих определений и подхода можно выразить в единой форме ряд различных дистанционных преобразований. Дистанционное преобразование, связанное с расстоянием по 4-окрестности или по 8-окрест- ности, было впервые введено в [5], и в этой же работе был описан последовательный алгоритм для его выполнения. Дистанционное преобразование с октагональным расстоянием было рассмотрено в [16].
Остов и восстановление бинарного изображения
Перейдем к получению основного результата этого раздела — к построению остова и основной теоремы, устанавливающей возможность однозначного восстановления исходного бинарного изображения по его остову.
Остов цифрового бинарного изображения был определен в [5] как для расстояния по 4-окрестности, так и расстояния по
’) То есть с расстоянием Хэмминга. — Прим, перев.<
8-окрестности, где была доказана и теорема о восстановлении исходного изображения по его остову. В ряде других работ [5—8, 12] обсуждались остов или преобразование к срединным осям бинарного изображения. Однако остовы, для которых дистанционное преобразование было основано на отношениях смежности, отличных от 4- или 8-окрестности, остались неисследованными. Мы дадим определение остова для ОДПБ и покажем, что исходное изображение может быть точно восстановлено по его остову.
Определение 19 (остова). Множество элементов (z,/) изображения, удовлетворяющих следующему условию, называется остовом бинарного изображения F = {///}:
dt, > max {dpq | (z, /) г Nk ((p, q^, k = duV (32) где D = VM — результат ОДПБ изображения F.
Кратко прокомментируем это определение. Первоначально остов был определен как множество точек локального максимума соответствующего дистанционного преобразования [16]. Эта интерпретация сохраняется и для введенного выше определения в том смысле, что остов все еще остается множеством точек локального максимума. Однако следует принять во внимание использование последовательности различных окрестностей в соответствующем ОДПБ. Поэтому для проверки принадлежности элемента (z, /) изображения к остову (или проверки того, является ли (z, /) точкой локального максимума) необходимо сравнить дистанционное значение dig с дистанционными значениями всех элементов (р, q^ изображений, таких, что элемент (z, /) содержится в их окрестностях. В данном случае следует использовать окрестность Nk((p, р)), где k = dtg> поскольку ФЛМ фй с указанной окрестностью и был выбран в тот момент, когда определялось значение dig в процессе выполнения ОДПБ.
Прежде чем перейти к выводу теоремы о восстановлении, установим два вспомогательных свойства.
Свойство 8. Оператор S^[^] для выделения элементов остова с дистанционным значением N из исходного изображения F= {Л/} задается следующим образом:
SKW: F = {fi/}->G = {gi/},
' 1, если (z, /) принадлежит остову и его g _, дистационное значение равно N,(gg^
О в противном случае.
z/V-1\
SK [АГ] = (1© (PN ° ФлО) ° (П Ф,).(34)
ГДР Рй — оператор, определенный в виде
це: A = {a1/)^B = {Z>i/),
Ьч = max (apq I (Б /) г Nk ((p, q))),(35)
и поточечная операция А © В двух бинарных изображений А=(аг/) и В = {Ь(/} задается выражением А © В = (аи V ЬцУ Здесь Nk — окрестность, совпадающая с окрестностью, которая используется в операторе ф6 из последовательности (ф6) в соответствующем ОДПБ; p,ft называется фильтром по локальному максимуму.
Доказательство. Перепишем соотношение для рассматриваемого свойства zN—\ хzN х
SK [АГ] = ( п фг I © I ц„ ° п ф, )• (36) Х1=1 /х<=1 /
Пусть Rn и R — множество всех 1-эле- / N хzN X
ме нтов в П Ф J (F) и ( gjv ° П ф/ ) (F) Х< = 1 /Xi=l /
СОБ) :^кРис. 3. Остов с расстояниемN (а); элементы из RN_\и окрестности RN ие могутсодержаться в остове с рас-стоянием N.СОБ) :^кРис. 3. Остов с расстояниемN (а); элементы из RN_\и окрестности RN ие могутсодержаться в остове с рас-стоянием N.соответственно. Дистанционные значения всех 1-элементов из RN-y больше или равны N, а дистанционные значения 1-элементов из RN больше или равны N + 1 (свойство 3) (рис. 3). Поскольку оператор Цд, расширяет фигуру, состоящую из 1-элементов, до размеров, определяемых по ок
СОБ) :^к
Рис. 3. Остов с расстояниемN (а); элементы из RN_\и окрестности RN ие могутсодержаться в остове с рас-стоянием N.
СОБ) :^к
Рис. 3. Остов с расстояниемN (а); элементы из RN_\и окрестности RN ие могутсодержаться в остове с рас-стоянием N.
рестности Nn оператора Цд,, множество R содержит 1-элементы с дистанционными значениями больше N, т. е. множество Rn и 1-элементы в окрестности (в смысле Nn) множества RN. Отметим, что Nn должен в точности совпасть с окрестностью, используемой в фд,. Любой 1-элемент с дистанционным значением N, расположенный в окрестности RN (в смысле Nn), не является точкой локального максимума в ОДПБ. Таким образом, результат применения SA([A] должен содержать лишь те 1-элементы, которые принадлежат Rn-v- но не принадлежат R (рис. 3). Таким образом, доказано соответствующее соотношение для рассматриваемого свойства, что и требовалось доказать.
При доказательстве теоремы о восстановлении нам понадобится следующая лемма.
(37)(37)Лемма 1. Для фильтра по локальному минимуму ф,, (определение 18) и фильтра по локальному максимуму у* (свойство 8) выполняется следующее неравенство;
(37)
(37)
Рй°Фй^/ V&.
Заметим, что окрестности, используемые в операторах <р^ и ц», должны совпасть.
Доказательство. Операторы и* и <р* представляются с помощью операторов сдвига следующим образом:
<р»= Sa TV, А,(38)
(<•. hest
ц» = Sv П— Р, — 91-(р. v)eS6
Следовательно, согласно свойству 2,
^оФл = Г Sv т\-р, Sa т[t /П^\(р, <peSk),
= Sv ( Sa Т [i — р, j' — dY(р, Р) е sk \(1. 7) е skJ
Преобразуя выражение в скобках, получим
Sa Hi-Р, /-^^^[О, 0] д Еа TV-P, y.peSkliJ> = Sk
U. h * (0, 0)
V(p, q^sk,
где / — тождественный оператор (т. е. Г[0,0] = /). Применяя этот результат к выражению (40), сразу получим требуемое неравенство.
Теперь докажем основную теорему, указывающую способ восстановления исходного бинарного изображения по его остову и дистанционным значениям его точек.
Теорема I. Исходное бинарное изображение F = {/),} можно точно восстановить по его остову дистанционным значениям, заданным на нем.
Доказательство. Для данного остова с соответствующими дистанционными значениями можно получить множество бинарных изображений {S/<[i](F); 1=1, 2, ..., N^, где S/C[t] (F) — остов, все точки которого имеют дистанционное значение i. Покажем, что изображение F можно получить посредством применения некоторого оператора к этому множеству. Действительно, мы установим справедливость соотношения
fs ( П lxJ°SOl(F) = F,(41)
- . 07 .\i = l V \* = <-I //
где
П.... °Pt-i
и N — наименьшее целое число, такое, что (П^ =1Ф<)(р) —°- Если число 1-элементов в F конечно, то всегда можно найти такое N. Используя свойство 8, соотношение (41) перепишем в виде
Пусть Av есть N-й член в логической сумме в левой части, тогдаПусть Av есть N-й член в логической сумме в левой части, тогда(W-1 чП Фл ) (F) =Л-1/(W-1 чП Фл ) (F) =Л-1/так как I Цтак как I Ц/ 1\fc=N-/ 1\fc=N-/ N хЧ°|П Фл®^о(Пфл)рР) =/ N хЧ°|П Фл®^о(Пфл)рР) =(1ч /N-\XП П <pfe 1(F), k=N—\/ \fe=l7(1ч /N-\XП П <pfe 1(F), k=N—\/ \fe=l7в силу выбора N.в силу выбора N.\Л = 1/Дизъюнкция полученного результата с (^—1)-м членом Av_i дает\Л = 1/Дизъюнкция полученного результата с (^—1)-м членом Av_i даетN-\N-\^■n V Aw_] — I И\fc = W-l^■n V Aw_] — I И\fc = W-lfc=i 7/N-2fc=i 7/N-2k-N-2k-N-2•(/©(tbr-i•(/©(tbr-i°(^-i 0Ф^-l) V ( П Ц6\k = N-2Ч /N-2 х°(^-i 0Ф^-l) V ( П Ц6\k = N-2Ч /N-2 х(/ 0 (ц^_l(/ 0 (ц^_l( П Hfc ) ° {(Цу-1 ° Фу-1) V \k=N-27/ЛГ-2 чV (/©(Рлг-1 °Флг-1))}°(П Фл)(Р).( П Hfc ) ° {(Цу-1 ° Фу-1) V \k=N-27/ЛГ-2 чV (/©(Рлг-1 °Флг-1))}°(П Фл)(Р).По лемме 1 второй член можно привести к следующему виду:Hw-i 0 Фаг—1 V {/ О (Hw-iе Фл-i)} = / V (t*w-i 0 Флг-i) — ^’» •По лемме 1 второй член можно привести к следующему виду:Hw-i 0 Фаг—1 V {/ О (Hw-iе Фл-i)} = / V (t*w-i 0 Флг-i) — ^’» •
Пусть Av есть N-й член в логической сумме в левой части, тогда
Пусть Av есть N-й член в логической сумме в левой части, тогда
(W-1 ч
П Фл ) (F) =
Л-1/
(W-1 ч
П Фл ) (F) =
Л-1/
так как I Ц
так как I Ц
/ 1
\fc=N-
/ 1
\fc=N-
/ N хЧ
°|П Фл®^о(Пфл)рР) =
/ N хЧ
°|П Фл®^о(Пфл)рР) =
(1ч /N-\X
П П <pfe 1(F), k=N—\/ \fe=l7
(1ч /N-\X
П П <pfe 1(F), k=N—\/ \fe=l7
в силу выбора N.
в силу выбора N.
\Л = 1/
Дизъюнкция полученного результата с (^—1)-м членом Av_i дает
\Л = 1/
Дизъюнкция полученного результата с (^—1)-м членом Av_i дает
N-\
N-\
^■n V Aw_] — I И
\fc = W-l
^■n V Aw_] — I И
\fc = W-l
fc=i 7
/N-2
fc=i 7
/N-2
k-N-2
k-N-2
•(/©(tbr-i
•(/©(tbr-i
°(^-i 0Ф^-l) V ( П Ц6
\k = N-2
Ч /N-2 х
°(^-i 0Ф^-l) V ( П Ц6
\k = N-2
Ч /N-2 х
(/ 0 (ц^_l
(/ 0 (ц^_l
( П Hfc ) ° {(Цу-1 ° Фу-1) V \k=N-27
/ЛГ-2 ч
V (/©(Рлг-1 °Флг-1))}°(П Фл)(Р).
( П Hfc ) ° {(Цу-1 ° Фу-1) V \k=N-27
/ЛГ-2 ч
V (/©(Рлг-1 °Флг-1))}°(П Фл)(Р).
По лемме 1 второй член можно привести к следующему виду:
Hw-i 0 Фаг—1 V {/ О (Hw-iе Фл-i)} = / V (t*w-i 0 Флг-i) — ^’» •
По лемме 1 второй член можно привести к следующему виду:
Hw-i 0 Фаг—1 V {/ О (Hw-iе Фл-i)} = / V (t*w-i 0 Флг-i) — ^’» •
тогда получим
Kn^ ^n-\ = \ П На)°( П Фй 1(F).
Аналогичным способом установим, что
AWV V VAM= П hJoSKH^
I = М \k = i~]/
/1 х /М-\ х
= ( П Hfe ) 0 ( Пфи (F) при N>M^3. \k=M-l / \fe = l /
При M = 2
Адг V Адг-i V ■ • ■ V А2 = (pi ° Ф1) (F),
AvVAv_| V ... V A2V A,=(h,oV1)(F) 7(/©(Р1 = ф1))(Р) =
= U V p,oV1)(F) = F,
что и требовалось доказать.
Последовательные алгоритмы для дистанционного преобразования и преобразования,.
обратного к нему по 6-связке
Исходя из результатов предыдущих разделов, можно сразу построить параллельные алгоритмы для выполнения ОДПБ и преобразования, обратного к нему. Для выполнения ОДПБ на обычной цифровой ЭВМ необходим быстрый последовательный алгоритм. К сожалению, остается открытым вопрос о существовании таких последовательных алгоритмов ОДПБ, если не считать нескольких частных случаев. Действительно, для дистанционного преобразования по 4-связке или 8-связке имеются последовательные алгоритмы [5]. Сейчас мы изложим последовательный алгоритм для дистанционного преобразования по 6-связке (ОДП), рассмотренный в следствии 1.
Пусть F = (f;/) и D = {d//} обозначают исходное бинарное изображение и его ОДП соответственно.
Алгоритм 1.
Построим изображение D<0) = Wy} следующим образом: .до) I М* если hj= 1,
4 I 0, если hi = ^
где М — достаточно большая константа (превосходящая ожидаемое максимальное значение при применении ОДП к данному входному изображению F).
Вычислим последовательность изображений D0), D<2), D(3), D<4) в указанном порядке в соответствии со следующими уравнениями. При вычислении D(fc) (£=1, 2, 3, 4) следует использовать k-й способ сканирования растра (рис. 4):
min и» + d»,,, f„ + dm.^J,, + dSli,_,},
^ = min(dS>, fe + dRKP ^-h^,, /„ + ««>,.„}, ^ = min{dgl, f„ + <,a, !„ + »»,„, f„ + d^ ,+1), 4?-min№f„ + dWl.v +
Здесь d^ (£=1, 2, 3, 4) определяется следующим образом:
dwt d^r еслиpq ( M, еслиdwt d^r еслиpq ( M, еслиd^ нечетно, dW четно.d^ нечетно, dW четно.
dwt d^r еслиpq ( M, если
dwt d^r еслиpq ( M, если
d^ нечетно, dW четно.
d^ нечетно, dW четно.
Свойство 9. Изображение D(4), полученное с помощью алгоритма 1, равно результату ОДП D = ^d^} бинарного изображения F = {/,•/}.
Доказательство: см. приложение II.
Вариант IВариант IВариант НВариант Н
Вариант I
Вариант I
Вариант Н
Вариант Н
Вариант IVВариант IVРис. 4. Варианты сканирования растра.Рис. 4. Варианты сканирования растра.Вариант HJВариант HJ
Вариант IV
Вариант IV
Рис. 4. Варианты сканирования растра.
Рис. 4. Варианты сканирования растра.
Вариант HJ
Вариант HJ
'*1
Исходное бинарное изображение может быть точно восстановлено по его остову и дистанционным значениям, полученным в результате применения ОДП с помощью следующего алгоритма.
Алгоритм 2.
Построим начальное изображение А<0) = ^а^ по правилу
г dtj, равное дистанционному значению по ОДП, если а№ = < элемент (i, /) принадлежит остову по ОДП,
10 в противном случае.
Вычислим последовательность изображений А*1*, А<-), А^ и Aw в этом порядке в соответствии со следующим уравнением. При вычислении AW (6=1, 2, 3, 4) воспользуемся к-м способом сканирования растра (рис. 4):
aW = max ^, а"\,. - 1, ^Нх - 1, а^х_ ^х - 1}, а^ = max ^,), а^,. - 1, a^j+x - 1, <b /+1 - 1), a») = max {a^, a«lx.,. - 1, a^w - 1, a®x, /+1 - 1}, ai^max^), <b/-l, а^._х-\, <b/_,-l}.
Здесь a^ (&=1, 2, 3, 4) задается в виде {аД\ если aw нечетно, 0, если a.w четно.
Свойство 10. Изображение А|4) = {а™}, полученное вышеописанным образом, совпадает с ОДП исходного бинарного изображения F = {/,/}. Изображение F получается из него сразу же путем замены всех ненулевых элементов в Л|4) на 1-элементы, нулевые элементы при этом не изменяются.
Доказательство аналогично доказательству свойства 9.
F. Примеры и приложения
В данном разделе рассмотрим ряд примеров. Во-первых, на рис. 5 приведены иллюстративные примеры, включающие в себя дистанционные образы и остовы для квадрата для некоторых последовательностей окрестностей. Во-вторых, на рис. 6 представлены примеры остовов реального изображения, полученных посредством различных окрестностей. Для этого изображения число точек остова, полученных по последовательности циклических окрестностей на рис. 5(e), составляет примерно половину числа соответствующих точек по обычной фиксированной окрестности (расстояние по 8-связке). В табл. III приведено отношение числа точек остова к числу 1-элементов для различных окрестностей. Последовательность окрестностей на рис. 5(e)
Исходная бледная фигура
Таблица III
11111 1 1 2 22 2 1
123321 123321
1 2 3 3 2 1
1 2 3 3 2 1
(а) *^—^ ^^.^"Vr ^'W# (’\ Vj hpu любом к
(Ы ^ = {(°, 0), (-1, у^при любом к 111111 2 2 2 2 2 1 3 3 3 3 2 1 4 4 4 3 2 1 55432 1 65432 1
Окрестность
Отношение числа точек остова к общему числу 1-элементов (в %)
Комментарий
Число точек остова при дистанционных преобразованиях с различными последовательностями окрестностей
1 1 1 1 1. 1
12222 1
1 2 3 3 2 1
Sk
W
то
ж
ш
(С) Sp = [ № ол Л о;, + у, f-1, о;, /о, - у J nfU любом к
123321
1 2 2 2 2 1
111111
null 122221 123321 123321 122221 111111
Ж
W ^к ~ {(Д ЧУ (Д + У Г"1, ОЛ (А,\),(\й)^при любом к
W ^Д^оШи}, k=km*t (W.l-^.k^kmtZ {(о,о),и,-о)},4-.4/тпз (№°У0,01]+-4/7/
22222 1 366651
3 7 10 3 5 1 3 7 11 9 5 1
378651 344441
Рис. 5. Примеры семейств ОДПБ по фильтру локального минимума, (а) — (е) задают семейства фильтров по локальному минимуму для ОДПБ с указанными последовательностями окрестностей {Sfe}. Выделенные числа обозначают остов.
1
(1, 0), (0, 1), (-1, 0), (0, -1) Чк
19.1
4-окрестность
DT
2
(1, 0), (0, 1), (-1, 0), (0, -1),
(1, 1), (-1, -1), (-1, 1), (1, -1)
Чк
21.6
8-окрестность
DT
3
Совпадает с п. 1 при к = 2m + 1
Совпадает с п. 2 при к = 2m, m—Q, 1, 2, ...
22.2
6-окрестность
DT
4
{(-1,-1)} Чк
17.3
5
{(-1,0)} Чк
9.32
6
{(-1, -1), (-1,0), (-1, 1)} Чк
18.4
7
{(-1, 1), (1, 1)} Чк
20.6
8
{(-1, 1), (1, -1)} Чк
21.3
9
{(-1,0), (1,0)} Чк
14.1
10
{(1, 0), (1, 1), (0, 1)} Чк
14.2
11
{(0,-1), (-1,1), (0, 1), (1,1)} Чк .
22.4
12
{(0, 1)}при к = 4ш + 1,
{(—1,0)} при к = 4/п + 2, {(0,-1)}при к = 4m + 3
{(1.0)}при к = 4m, /п = 0, 1,
2, ...
6.35
Такая же, как рис. 5(e)
на
13
{(0, 1)}прик = 8m + 1
{( —1, 1)}прик = 8т + 2
{(—1,0)}прик = 8т + 3
{(—1, — 1)}при/1 = 8/71 + 4
{(0,-1)}при/1 = 8/п + 5
{(1,-1)}прик = 8/71 + 6
{(1,0)}при к = 8т-^7
{(1, 1)}при к = 8т m — G, 1.
2, ...
8.06 У
Примечание: (0,0) всегда включается
в Sk, ио в
таблице III он
не
указан.
соответствует наименьшему числу точек остова в множестве 26 различных последовательностей окрестностей, исходя из соседей в пределах (3X3)-окна. Вопросы, связанные с отысканием последовательностей окрестностей с наименьшим чис-
(b)
(а)
ВхоЗное изображение
Результат обработки*
(о)
(Ь)
Рнс. 7. Применение ОДПБ (семейства ФЛМ) к структурному текстурномуанализу [4].
Рис 6. Примеры остовов, (а) Остовы, полученные по дистанционному преобразованию по 8-окрестностям (с фиксированной 8-окрестностью). Число точек остова равно 169. (Ь) Остовы, полученные по дистанционному преобразованию с последовательностью окрестностей на рис. 5(e) (циклическая переменная окрестность). Число точек остова равно 85. Непрерывная линия: граница связных компонент 1-элементов. Числа задают дистанционные значения для соответствующих элементов остова. Исходное входное изображение было получено из рентгенограммы грудной клетки путем применения разностного линейного фильтра и пороговой операции [26]. Размер изображения = = 1440 (32 X45) элементов. Число 1-элементов равно 531. (с) Входное изображение, использованное в эксперименте, представленном в табл. III.
лом точек остова и их свойств, представляют интерес для будущих исследований.
Наконец, преобразование с последовательностью окрестностей вида, аналогичного приведенному на рис. 5(b), может применяться к структурному текстурному анализу, так как длина серий в заданном направлении может быть легко найдена путем использования подходящей последовательности окрестностей. Соответствующие примеры показаны на рис. 7. Подробности, касающиеся этого примера, даны в (14].
IV. ОБОБЩЕННОЕ ПОЛУТОНОВОЕ ВЗВЕШЕННОЕ ДИСТАНЦИОННОЕ ПРЕОБРАЗОВАНИЕ (ОПВДП)
В данном разделе рассматриваются свойства полутоновых взвешенных дистанционных преобразований (ПВДП), которые впервые были введены Леви и Монтанари [9] Исходя из понятия полутонового взвешенного остова (ПВО), мы расширим ПВДП на более общий случай путем введения начального изображения. Это обобщение, а также определение преобразования, обратного к нему, приводят к новой связи между ОПВДП и структурой полутонового изображения. В частности, будет доказано, что любое положительное избражение можно разбить на последовательность начальных изображений и обратно, любое положительное изображение можно восстановить по его элементарному изображению и последовательности начальных изображений. Указанный процесс восстановления основан на итеративном применении ОПВДП.
А. Определения
Обобщенное полутоновое взвешенное дистанционное преобразование (ОПВДП) определяется следующим образом.
Определение 20. Преобразование с целью получения изображения G = {g,-,} по произвольному положительному изображению F = {/,,} (fi/^0 V(Z, /)) по следующему правилу называется обобщенным полутоновым взвешенным дистанционным преобразованием (ОПВДТ) и обозначается черес ^[А]:
ЛЛ^[А]: Р = {^}->О->{5[.у},min {II л ||); л— путь от элемента изображения,
Л
Л
ба = <ба = <аапринадлежащего Я0(Р)П Яо (А), до элемента (Z, Г), если (Z, /) е Я+ (F), если (Z, j) g Яо (F),(42)
ба = <
ба = <
а
а
где (1) || л || обозначает сумму яркостей fpq всех элементов (р, q), принадлежащих л (которую называют весом пути), (2) К=Ц<чД—
данное изображение, такое, что а^^О при любом (z, i^eRo^F) и аИ произвольно при V (z, j) е R+ (F) (это изображение называется начальным и обозначается через НИ), (3) путь л представляет собой цепочку элементов РОРХ . . . Рп, таких, что Р,_\е N (Р{) (4-соседей или 8-соседей) для любого I, и (4) /?+(F) = {(p, qHfpq>OL Яо (F) = {(P, <7)1^9 = °)- Путь, соответствующий дистанционному значению dtj, называется минимальным путем до (z, у).
В дальнейшем дистанционное изображение D также будет называться ОПВДП изображения F.
Интерпретация ОПВДП на интуитивном уровне такова: простое преобразование ОПВДП, предложенное Леви и Монтанари, становится его частным случаем при п^ = 0 для любых (z, /'). Для каждого элемента изображения (z‘, у) s R+ (F) в этом преобразовании отыскивается путь с минимальным весом по всем путям до (z, у), начиная с элемента изображения из 7?0(F). Затем элементу (z, у) присваивается минимальный вес. Этот вес равен дистанционному значению d^. Всем элементам (z, у) е e/?0(F) °но присваивает значение 0. Определенное нами преобразование ОПВДП отличается от преобразования ПВДП Леви — Монтанари лишь вычислением расстояния для элемента из Яо(Р). Для некоторых элементов Яо(Р) производится подстановка положительных значений для их яркостей из начального изображения А=(пг/}, в то время как в ПВДП яркости всех элементов из 7?0(F) остаются неизменными. Эта подстановка скалярного значения не влияет на дистанционные значения в R+ (F), однако, как мы увидим, она приводит к важным результатам. Очевидно, что ОПВДП с начальным изображением А = (л,/), где «,/ = 0 при любых (z, у), совпадаете обычным ПВДТ. Далее рассмотрим лишь конкретный тип начального изображения (НИ) А = {аг/), удовлетворяющего следующим условиям:
ciit -=cipq, если (z, у)еУ?0(Г) и (р, q) г N ((/, у)),
(z, у)—точка локального минимума ОПВДП G = (#,,), где точка локального минимума описывается в определении 21 (рис. 8).
Первое из этих двух условий состоит в том, чтобы всем элементам из общей связной компоненты 0-элементов изображения F было присвоено одно и то же значение в G.
Указанные требования к НИ естественным образом выводятся из следующих соображений. В последующей части статьи под НИ будет подразумеваться начальное изображение указанного типа, если оно не будет явно задаваться иначе.
Определение 21. Элемент (/, /) полутонового изображения F = {fjj} называется граничной точкой, если
fh>0 3(р, q)eN((i, j)), fpq = 0; внутренней точкой, если
fi/^O, fpi?>0 V(p, q)^N((i, hY, точкой локального минимума, если
fa^fpq V(p, q)eN((i, ПУ, нулевой точкой, если 1и = 0.
Рис. 8. Примеры начальных изображений.Рис. 8. Примеры начальных изображений.(с)(с)
Рис. 8. Примеры начальных изображений.
Рис. 8. Примеры начальных изображений.
(с)
(с)
Отметим, что точка в «локально пологой» части изображения рассматривается как точка локального минимума.
Определение 22. Оператор для получения исходного полутонового изображения F и НИ из ОПВДП изображения F, G = Uo)= ^[A](F) называется обратным преобразованием ОПВДП (ООПВДП) и обозначается через ^-1.
Основные уравнения
Теперь мы выведем один из главных результатов этого раздела— основное уравнение, связанное с ОПВД. Соответствующая теорема декомпозиции приводится в разд. IV, С. Сначала построим основное уравнение, которое связывает полутоновое изображение F с его ОПВДП G.
Теорема 2. Полутоновое изображение F и его ОПВДТ G с начальным изображением X удовлетворяют следующему уравнению-.
(43)(44)(43)(44)G V Ф(О) + Р, .
(43)
(44)
(43)
(44)
G ^ А, где
I AD ^D ' ARA R"1 ADRAD-'R a DR-'aD^R"1^ (тип 8-окрестности).I AD ^D ' ARA R"1 ADRAD-'R a DR-'aD^R"1^ (тип 8-окрестности).( I A D A D 1 Д R A R 1 (тип 4-окрестности),
I AD ^D ' ARA R"1 ADRAD-'R a DR-'aD^R"1^ (тип 8-окрестности).
I AD ^D ' ARA R"1 ADRAD-'R a DR-'aD^R"1^ (тип 8-окрестности).
Доказательство. Рассмотрим случай 4-окрестности. Исходя из определения ОПВДП и того факта, что оно совпадает с простым ПВДТ в R+ (F), получим
8ц =8ц =min{g,_u, giaa, gia_x, gta^-Vhj V (i, j)sR+(F), ам V(i, h^R^Fy(46)
8ц =
8ц =
Таким образом, ясно, что G^^'a. Теперь учтем, что минимальный путь к (г, /) проходит всегда по одному из элементов, принадлежащих его 4-окрестности, т. е.
gtl> min ^_ха, gt+ia, gta_x, gta+1V
Тогда первое из уравнений (46) можно записать в виде gij = min {gi/, gi-\a, gi + \a, gi,j—l> gij*^ + tip
В соответствующем операторном представлении имеем
D *^ (G Л D4 (G) Д D (G) А /Г' (G) Л R (G)) + F = = ^D~' ^D^RЧ Л/?) (G) + F = ф (G) + F. -
Для случая 8-окрестности доказательство теоремы проводится аналогичным образом. Теорема полностью доказана.
Поскольку мы располагаем уравнением, которое связывает F, G и А, то путем его решения можно получить метод определения G по F и А или метод восстановления F и А по G. Сначала займемся вычислением G, исходя из F и А, или, что то же самое, методом для выполнения ОПВДП. Поскольку соотношения (43) и (44) не зависят друг от друга, определение G в /?о(Р) тривиально. Однако нельзя решить уравнение (43) в явной форме относительно G, так как G входит в обе части уравнения. Поэтому мы должны сначала воспользоваться итеративным методом его решения.
Алгоритм 3. По полутоновому изображению F вычисляется R+(F) следующая последовательность: (Gfc, k — 0, 1, ...,}, Go = М, где М — изображение-константа, в котором все элементы имеют яркость М. Считается, что М достаточно большое целое число, превосходящее ожидаемое максимальное дистанционное значение:
Gfc = <p(G&_1) + F, 6 = 1, 2, 3, ... .
Если GN = GN_X при некотором значении к (например, при к = N), то GN— искомое дистанционное изображение в R+ (F). Следующая теорема подтверждает корректность этого алгоритма.
8 Зак. 854
Теорема 3. Если число ненулевых элементов во входном изображении F конечно, то алгоритм 3 всегда сходится. Значения яркости в R+ (F) предельного изображения G,v равны дистанционным значениям ОПВДП § [A] (F). Если все значения яркости в F — целые числа *), то требуемое количество итераций всегда конечно.
Доказательство см. приложение III.
Выбор константы М в алгоритме 3 не представляет трудности, так как достаточно взять число, большее суммы всех яркостей в наибольшей связной компоненте F, даже если мы не располагаем априорной информацией о значениях ОПВДП.
Мы не приводим строгого обоснования того, что этот алгоритм равносилен алгоритму параллельного типа, представленного в [9] и [16].
Теперь обсудим обратное ОПВДП. Для обратного преобразования уравнения (43) и (44) должны быть решены относительно F и А по заданному ОПВДП G. Задача состоит в нахождении R+ (F) и 7?0(F), так как G может принимать положительные значения вне /?+(F) (см. (44)), т. е. R+(G) = = R+ (F) U (Ro (F) П R+ (А)). Теперь, если R+ (F) известно, то легко решить уравнение (43), тогда имеем
F ^F)G-<p(G) = (/-q))(G).(48)
Для дальнейшего изложения необходимо сформулировать следующее свойство оператора /—ф.
Свойство 11. Пусть А = (а,/) — положительное изображение и В = {Ь,;} — результат применения оператора / — ф, т. е. В = = (/— ф)(А). Тогда выполняются следующие соотношения: bll = aij1если (i, f)— нулевая или граничная точка в А,
Ьц = б,если (i, j)— внутренняя точка и точка локаль
ного минимума в А,
О^Ь^^а^ в противном случае.
Доказательство. По определению оператора 1 — ф
6,v = а,/— min {«,/. ар<71 (р, ^) s Л^ ((Z, /))}.(49)
Данное свойство легко выводится из этого уравнения и определения 21. Исходя из этого свойства, зададим ООПВДП следующей теоремой. ■
Теорема 4. Преобразование, обратное к ОПВДП, задается следующим образом. Пусть F — полутоновое изображение, G — его ОПВДП с начальным изображением К. Тогда
F = (Z —Ф)(С),(50)
( 0, если Ц, /)eZ?0(G),
А={аг/), ctij = < йц, если (i, j) е R+ (G) и hj — O,(51)
I произвольное число в остальных случаях.
Доказательство. Все элементы изображения принадлежат к одному из трех попарно непересекающихся множеств: (1) tf+(F), (2) Я0(Р)ПЯ+(А) и (3) 7?О(Р)П7?О(АГ Для первого случая уравнение (43) решается сразу, т. е. F = (/ — ф) (G). Более того, по условиям (1) и (2) для А из определения 20 и свойства 11 легко получить
fq = 0 и gtj > 0 тогда и только тогда, когда Ц, /)e7?o(F)O7?+(A),
fij = §ц = 0 тогда и только тогда, когда
Таким образом, если применить оператор 1 — ф ко всему G, все элементы из /?0(F) будут иметь значение 0 в результирующем изображении. Наконец, из определения 20 следует, что если fij — O и gtj > 0, то gij = a{j, что и требовалось доказать.
Таким образом, мы доказали две теоремы, указывающие параллельный способ выполнения преобразования ОПВДП и ООПВДП.
Декомпозиция и синтез полутоновых изображений
Теперь займемся декомпозицией и синтезом полутоновых изображений с помощью ОПВДП и ООПВДП. Обозначим итеративное применение оператора ^[А] (ОПВДП) и S’-1 (ООПВДП) через $w и ^-п^ соответственно, где п — число итераций *). Тогда справедлива следующая теорема.
Теорема 5. Пусть {НД и {АД — последовательности результирующих изображений и начальных изображений, полученных итеративным применением ООПВДП ^~' в (50) и (51) к поло-
') Строго говоря, 8^ обозначает $ [An] ° $ [An_i] о ... = 8 [АД; начальное изображение А^ часто не указывается ради простоты обозначений.
жительному изображению F. Таким образом,
^'(Н^,)п=\, 2, 8,,
( Н 1(52)
H0^F, т. е. ^'(Г)-{ Ч.
Тогда последовательность изображений {Н„} сходится. Если все значения яркости в F — целые числа, то число итераций всегда конечно, т. е. для любого положительного изображения F существует такое конечное целое число К, что все изображения {Н„} совпадают друг с другом при п^ К- Более того, если все значения яркости ft; в F — целые числа, то
К^ max {fijKi, j) — внутренняя точка F).(53)
Доказательство. Из свойства 11 следует, что Н„_1^Н„^ О где 0 есть изображение-константа со значениями 0. Отсюда следует
1
1
Рис. 9. Пример фигуры, для которой в (53) выполнено равенство.
сходимость последовательности изображений Н„. Далее, пред положим, что все значения яркости — целые числа. Итерация прекращается, если все элементы Н„ становятся равными 0. Это означает, что число итераций не может превышать максимального значения яркости внутренних точек F. (Отметим, что яркость граничной точки никогда не может изменяться преобразованием ^~'.) Легко построить изображение, для которого выполняется равенство (53) (рис. 9). Теорема доказана.
Назовем элементарным изображением предельное изображение для последовательности {Н„} и обозначим его через Н*. Прежде чем дать интерпретацию этой теоремы, установим некоторые свойства последовательности НИ и элементарных изображений.
Свойство 12. Элементарное изображение Н* состоит лишь из нулевых и граничных точек, но не содержит внутренних точек.
Доказательство. Если (/,/)— внутренняя точка Щ, то яркость точки (z, )) уже была изменена в результате применения ООПВДП (свойство 11). Этим и завершается доказательство.
Свойство 13. Никакой элемент (z,)) не может иметь положительное значение более чем в одном из различных НИ в последовательности Ап, т. е.
^+ (Ар) П Я+ (АД = 0 Vp, Vq при p=#q.
Доказательство. Без нарушения общности предположим, что р < q. Тогда, если (г, /) г R+ (Ар), то значение на (/, /) в Нр равно нулю. Поэтому (г, j) не может принадлежать R+ (Afe) при k> р.
Свойство 14. Для данного положительного изображения F последовательность {Н„, An|zz= 1, 2, ..., Д} и Н* определяются однозначно.
Доказательство. Это утверждение сразу следует из определения ООПВДП.
Эти теоремы и свойства отражают новую точку зрения на анализ и синтез положительных и полутоновых изображений. Произвольное положительное изображение допускает однозначную декомпозицию на последовательность НИ и элементарное изображение. Обратно, положительное изображение может быть восстановлено по соответствующему элементарному изображению и последовательности НИ путем итеративного применения ОПВДП. Элементарное изображение может рассматриваться как разновидность линейной структуры с полутоновыми значениями на ней, так как она состоит лишь из граничных точек. НИ Аа определяет области, в которых распределение полутоновых значений в некотором смысле однородно. Соответствующее элементарное изображение содержит границы вокруг этих областей. Таким образом, произвольное полутоновое положительное изображение порождается итеративным применением ОПВДП путем замещения некоторых связных компонент 0-элементов положительными константами в соответствующем НИ. По свойству 13 каждое НИ в последовательности (АД содержит специфическую информацию, отсутствующую в других НИ.
Указанные свойства и теоремы также подчеркивают то обстоятельство, что взвешенное дистанционное преобразование, первоначально введенное как средство для утончения изображения, связано со структурой полутонового изображения в значительно большей степени, чем это можно было ожидать.
JD. Применения
Пример 1. Если F — бинарное изображение, то элементарное изображение Н] = Н* состоит из граничных точек F, а НИ А] состоит из всех внутренних точек F.
Пример 2. Примеры НИ и элементарного изображения F для реального изображения показаны на рис. 10.
V. ЗАКЛЮЧЕНИЕ
В данной работе рассмотрено обобщение дистанционного преобразования цифрового изображения в двух различных аспектах. Во-первых, введено обобщенное дистанционное преобразование бинарного изображения (ОДПБ). Общая структура используемого определения допускает широкий класс алгоритмов, включая как обычные дистанционные преобразования, так и дистанционное преобразование линейных образов, введенное недавно. Подкласс класса ОДПБ, называемый семейством фильтров по локальному минимуму (СФЛМ-ОДПБ), был охарактеризован последовательностью фильтров по локальному минимуму с переменными окрестностями. Для подкласса СФЛМ-ОДПБ было определено понятие остова и было доказано, что любое бинарное изображение можно точно восстановить по его остову и дистанционным значениям элементов изображения. СФЛМ-ОДПБ включает в себя все дистанционные преобразования, которые до сих пор рассматривались; дистанционное преобразование по 4-окрестности, 8-окрестности, 6-окрестности и многие другие новые преобразования. Указывалось на применение СФЛМ-ОДПБ к сжатию данных.-
Во-вторых, обсуждалось обобщение полутонового взвешенного дистанционного преобразования (ПВДП). Оно расширялось до обобщенного ПВДП (ОПВДП) путем введения произвольного начального изображения. Было выведено основное уравнение, связывающее исходное полутоновое изображение с его ОПВДП. На основе решения этого уравнения было по-
Рис. 10. Пример декомпозиции полутонового изображения с помощью обратного ОПВДП. (а) Входное изображение F (сглаженный вариант данных практической оценки земельных участков [25]). (Ь) Обратное'ОПВДП изображения F: H|=S-1(F). (с) Начальное изображение Ар (d) Обратное ОПВДП изображения Иц H2 = ^-1(Hi). (е) Начальное изображение А2. (f) Обратное ОПВДП изображения Н2: Н3 = ^-1(Н2). (g) Начальное изображение А3. (h) Элементарное изображение Н* (= обратное ОПВДП изображения Н3: ^-1(Н3)). Этот пример был представлен одним из авторов на американояпонском семинаре по исследованиям параллельного анализа и распознавания изображений в реальном времени в ноябре 1978 г. [27].
ieehiH*tm*iiH*MtHUieehiH*tm*iiH*MtHU
ieehiH*tm*iiH*MtHU
ieehiH*tm*iiH*MtHU
(в)
строено преобразование, обратное к ОПВДП (ООПВДП). Затем было доказано, что произвольное полутоновое изображение порождается посредством итеративного применения ОПВДП к однозначно заданному элементарному изображению и последовательности начальных изображений. Указывалось на применение ОПВДП и ООПВДП к выделению структурной информации из полутонового изображения и приводился соответствующий пример.
ПРИЛОЖЕНИЕ I. ДОКАЗАТЕЛЬСТВО СВОЙСТВА 7
Доказательство состоит из трех лемм.
Лемма А1. Если на элементе (i, j) выполняется dtj = к, то существует элемент (р, q), такой, что (р, q) е Nk ((i, /)) и dpq^k — \.
Доказательство. По определению 13
0№ = {^} = Ф6(0(*-,)),
= / если diS>k+\,li 1 0, если d^^-k.
Таким образом, если d.^k, т. е. g^-1^! и g^ = 0, то существует элемент (р, q), такой, что g^~n = 0 (это означает, что dpq<Lk — 1) и (р, ^)e;Vt((i, /)), поскольку фильтр по локальному минимуму назначает элементу (г, /) значение 0.
Лемма А2. Если для элемента (i, j) выполняется dij = k, то существует путь (последовательность элементов изображения) ni = PQPx ... Pk, такой, что Pk = (i, j), Pos/?o(F) (т. е. dPo = O) и P^eNAPtY
Доказательство. Согласно лемме ,41, если dti = k, то существует элемент изображения Q, такой, что dq = mx^k — 1 и Q е Nk (Рк), где dQ — дистанционное значение на элементе Q.
Поэтому, если для любого i, где гщ^Д^к— 1, выбрать в качестве Pt элемент Q, то Р^х^ МДР^ при любом I, таком, что mx < i ^к. Опять по лемме А1 учитываем существование элемента изображения R, такого, что R е Nm, (Pmi) и dR(s m2)^ ^.Шх — 1, поскольку dP =шх. Таким образом, если в качестве Pt выбрать R при любом i, где тг ^ i ^ тх — 1, то Р1-х е е Nt (Р^ при любом I, таком, что т2 < i <.тх. Повторяя эту процедуру до нахождения элемента изображения Z со свойством dz =0, можно получить последовательность элементов
РОРХ ... Pk, удовлетворяющих условиям Pk — P, P,j^Rq(P) и Рх_х g Nt (Pt) при любом i = 1, . . . , к.
Лемма АЗ. Пусть dp = k. Тогда не существует последовательности элементов изображения Л] = РОРХ ... Рт, такой, что m < к, Рое РДЕ), dpm = k и Pt_x е Nt (Р^ при любом 1=\, ... , т.
Доказательство. Допустим, что элемент изображения (г, /) удовлетворяет вышеуказанному условию. Тогда g^ = 0 в G(m) = = V^qY так как значение на элементе (г, /) должно быть заменено на 0 после применения последовательности фильтров по локальному минимуму фн ф2, .... Фт. Это означает, что «Д/^ ^гп<к, а это противоречит допущению dp = k.
Свойство 7 сразу выводится из этих трех лемм.
ПРИЛОЖЕНИЕ II. ДОКАЗАТЕЛЬСТВО СВОЙСТВА 9
Для доказательства окажется полезной следующая лемма из [23].
Лемма А4. Пусть D (Р, Q) — расстояние по б-окрестности между элементами изображения Р и Q. Если D (Р, Q) = d, то существует элемент изображения R, такой, что
D(R, Q) = d— I, DX(R, Р)=1, если d — нечетное число,
D (R, Q) = d — 1, D2 (R, P) = 1, если d — четное число,
где Dx (R, P) и D^ ^R, P) — расстояния no 4-окрестности и 6-окрестности соответственно.
Приведем набросок доказательства свойства 9. Сначала рассмотрим расстояние от элемента (0, 0) до (г, /); £>((0,0), 4£ /)). Покажем, что истинное дистанционное значение для всех элементов (г, /) из области Si на рис. 11 получается посред- .ством первого варианта сканирования растра.
Из определения расстояния по 6-окрестности
dM = D ((0, 0), (г, /)) = max {[ Z |, | /1, [у (I i I + I i I + 1))} ■
Так как dQi = \i\, doa_x = \j — 1 | и dM_x уже определено при вычислении dor, вычисление dor осуществляется по третьему члену в правой части уравнения
d<y = min№ ^ + ^1,./. ^z + ^-p ^+ <.,/->}
в алгоритме 1. Расстояние dm находится этим же способом.
Когда расстояние d^ при (£ /) g S! вычисляется по предыдущему уравнению, для всех трех элементов (г — 1, /),
(i, j—1) и (z—1, /—1) находятся истинные дистанционные значения. Поэтому, согласно лемме А4, существует (р, р) е e{(i- 1, /), (i, /- 1)}
d^ = ^п1 — * (четное число), если d^ нечетно,
существует (р, р) е {(г — 1, /), (г, j — 1), (г — 1, / — 1)}, d^q = d^ — 1 (нечетное число), если d^ четно.
Таким образом, значение d^, определяемое ниже, является истинным дистанционным значением на элементе (г, /):
= Г min да f^ + d^, fM + d№._v если d^,^ четно,
min № ftl + d^, p fit + d^_p fif + d^,,_.}. если
cZz-j,;_] нечетно.
Таким же способом устанавливается, что дистанционные значения элементов в Sa, S3, S4 находятся с помощью об-
Рис. 11. ИллюстрацияРис. 11. Иллюстрациядоказательства свойства 9.
Рис. 11. Иллюстрация
Рис. 11. Иллюстрация
работки при сканировании растра типов 2, 3 и 4 соответственно. Начальное множество значений в D<°> может быть изменено во время обработки на любые значения. Например, каждому элементу из S3 и S4 во время вычислений можно назначить любое целочисленное значение, отличное от истинного дистанционного значения, используя второй тип сканирования растра. Однако такое промежуточное значение не создает трудностей, так как оно всегда больше истинного дистанционного значения.
Предыдущие рассуждения могут применяться к вычислению расстояния от произвольного 0-элемента (р,р) до элемента (i, j). Требуемое дистанционное значение dij задается в виде d;/ = min{D((i, /), (р, р))|(р, p)e^0(F)}.
(Р. <7)
Эта минимизация выполняется во время вычисления изображения D(1>, D<2), D(3) и D(4) в приведенном выше алгоритме.
Свойство 10, связанное с восстановлением изображения по его остову, доказывается аналогичным образом. Следует отметить, что в данном случае элемент (0, 0) в приведенных рассуждениях принадлежит остову и дистанционное значение уменьшается на единицу до тех пор, пока расстояние от элемента (0, 0) увеличивается на единицу.
ПРИЛОЖЕНИЕ III. ДОКАЗАТЕЛЬСТВО ТЕОРЕМЫ 3
Для всех к справедливо соотношение G'= ф (Gfc _J + F. Поэтому, если при k = N имеет место равенство GjV = GJV_1, то отсюда сразу следует Gv = ф (G^) + F. Это означает, что указанное изображение является решением основного уравнения опвдп.
Таким образом, для доказательства теоремы достаточно установить сходимость последовательности изображений {GA}. Докажем это для случая 4-окрестности. Обозначая значения яркости элемента х в Gt и F (входном изображении) через g^ и /х соответственно, получим
gx = min {g^-1) | у ■= £Г (х)} +/^(Al)
Пусть элемент х есть п-й элемент на строке от левой границы связной компоненты. Обозначим и—1 элементов изображения левее х через blt b2, bv_i, где Ьг е R+ (F) для любого 1=1, ..., п — 1; тогда
gV^Sfb, для любого i^n, где b„ = x.(А2)
/=1 1
Доказательство. Воспользуемся методом математической индукции по п. При п=1, согласно (Al), g(bn = fb = 2*_Д • Поэтому соотношение (А2) выполнено. Допустим, что (А2) выполнено при п = к, т. е.
к
при любом i^k.(АЗ)
/-1 /
Так как
g<6+] = min {^-*> | Р е Т (b6+i)} + /bft+i,'
b^^(bfc+1)-(A4>
Из (АЗ) следует
СЧ1Л. ^^-^>к ^i>k+V\(А5)
Подставляя (А5) в соотношение (А4), получим к6+1
С,<,?Л + 'ь.+ =,?А(Аб)
Так как х = Ь„, то из (Аб) следует (А2).
О^Ог+1^Ог для любого i'^N, где N— максимальная горизонтальная ширина рассматриваемой связной компоненты.
Доказательство. Для произвольного элемента изображения ai
^1, = min{g<pi-1)|pe5"(a,)} + fai,(А7)
g^ = min {^) | p e 9 (a;)} + fa(A8)
Поэтому в 9" (aj содержится a2, такой, что gO'-i) = min {g<;-» | p e 9 (aj}, или
g^-gV^(A9)
- Для указанного a2 (АЮ)
Покажем, что предположение о выполнении неравенства g^+1) > gai ПРИ некотором I приводит к противоречию.
Если ga^x^>g^ для некоторого I, то из (А9) и (АЮ) получим gW -I- f g*‘ + 1> > а(‘) — rr(i-l) _L f
Поэтому ^^‘аД1’, a2S^(ai)-. (АП)
Кроме гого, из (А9) следует g^g^--(А12)
Аналогичным способом можно установить существование элемента а3 из ^"(а2), такого, что
yt^*-!) "^ пС^—З)(jU — 1)a(t*-2)6 аз^аз ’^а2о азyt^*-!) "^ пС^—З)(jU — 1)a(t*-2)6 аз^аз ’^а2о аз(А13)
yt^*-!) "^ пС^—З)(jU — 1)a(t*-2)
6 аз^аз ’^а2о аз
yt^*-!) "^ пС^—З)(jU — 1)a(t*-2)
6 аз^аз ’^а2о аз
Повторяя ту же процедуру, мы должны получить последовательность элементов а^ а2, ... , а1 + 1, таких, что
Sal ^Sa2 ‘ ‘ ‘ /6ai /Sai + 1
^>^-l).(А14)
cr(^~l) > д<Л~2)rr(l) > rr(O)
*аз Sa3 ’ • • • ’ 6a(+1
Следует отметить, что ни один из элементов ан а2, ..., ai+1, ... не может быть граничной точкой, так как если элемент а — граничная точка, то
gw = niin{g<pn-1’|ps^(a)} + fa = ^(А15)
(для граничной точки min {£<,"""111 р s ^ (а)} = 0).
Уравнение (А15) означает, что g("+1) = g^ при любом п^О. Отсюда и из (А14) следует, что в последовательности аь а2, ... , а<+1 нет граничной точки. Иначе говоря, все аь а2, ... , ai + 1 принадлежат R+ (F). Поэтому по определению G в алгоритме 1 g^ = М.
Теперь рассмотрим элемент х = Ь„ в (А2) в качестве элемента а! в приведенных рассуждениях. Тогда
g^=g^iaH w>n.(Ai6)
i п k=x *
Поскольку M — достаточно большое число (такое, что ^*=1 ^ь6< < Му неравенства g^^ g» ^^ ••• ^Sa\ = М из (А14) не могут быть совместимыми с (А16). Таким образом, при любом i^n неравенство g^w>g^ не выполняется. Иными словами, g^^^g^ при любом i^n. Отметим, что возможное максимальное значение п в (А2) равно N (максимальная горизонтальная ширина)
g,i+1)(х) ^^б(х) Vi^ N для всех элементов х.
Отсюда следует, что Gu+1)^G(/) и G(i+1)^0, где 0 есть изображение-константа с яркостью 0.
Таким образом, мы доказали, что 0 ^ G(‘+1> ^ G(i) при любом i ^ N, что гарантирует сходимость последовательности {G(fc)}.
Наконец, если все значения яркости в F — целые числа, яркость по крайней мере одного элемента G<‘+6 меньше на единицу его яркости в G(6 до тех пор, пока G(Z+1)=g(O_ Отсюда следует, что число итераций, необходимых для сходимости, всегда конечно, что и требовалось доказать.
Авторы выражают признательность проф. Н. Хонде из Нагойского университета за его ценные советы и поддержку и
проф. С. Цукеру из Мак-Гиллского университета за весьма тщательное чтение рукописи статьи. Они также благодарят коллег из своих лабораторий за многие ценные обсуждения. Все эксперименты выполнялись на вычислительной системе Вычислительного центра Нагойского университета с помощью библиотеки программ для обработки изображений SLIP.
ЛИТЕРАТУРА
Yokoi S., Toriwaki J., Fukumura T. Algebraic structure of the operation system of digitized pictures and its application (1)—Formulation and properties of fundamental operations. — Trans. IECE, June 1977, v. 60-D, p. 411.
Yokoi S., Toriwaki J., Fukumura T. Theoretical analysis of parallel processing of pictures using algebraic properties of picture operations.— In; Proc. 3rd, IJCPR, 1976, p. 723.
Toriwaki J., Kato N„ Fukumura T. Parallel local operations for a new distance transformation of a line pattern and their applications.— IEEE Trans. Syst., Man, Cybern., Oct. 1979, v. SMC-9, p. 628.
Toriwaki J., Kato N., Fukumura T. Parallel local operations for a new distance transformation of a line pattern and their applications. — In: Proc. 4th IJCPR, 1978, p. 649.
Rosenfeld A., Pfaltz J. L. Sequential operations in digital picture processing.— J. Ass. Comput. Mach., Dec. 1966, v. 4, p. 471.
Blum H. A transformations for extracting new descriptors of shape. — In: Models for the Perception of Speech and Visual Form, W. Wather- Dunn, ed. — Cambridge, MA: M. I. T. Press, 1967, p. 362.
Calabi L., Hartnett W. E. Shape recognition, prairie fires, convex deffi- ciencies and skeletons. — Amer. Math. Month., 1968, v. 75, p. 335.
Mott-Smith C. Medial axis transforms. — In: Picture Processing and Psychopictorics, B. S. Lipkin and A. Rosenfeld, eds. — New York: Academic, 1970, p. 267.
Levi G., Montanari U. A gray-weighted skeleton. — Inform, and Control, Aug. 1972, v. 17, p. 62.
Rutovitz D. Data structures for operations on digital images. — In: Pictorial Pattern Recognition, G. C. Cheng et al., eds. — Washington, DC: Thompson, 1968, p. 105.
Rosenfeld A. Connectivity in digital pictures. — J. Ass. Comput. Mach., 1970, v. 17, p. 146.
Montanari U. A method for obtaining skeletons using a quasi-Euclidean distance. — J. Ass. Comput. Mach., Oct. 1968, v. 15, p. 600.
Galloway M. M. Texture analysis using gray level run lengths. — Comput. Graphics Image Processing, June 1975, v. 4, p. 172.
Yokoi S., Toriwaki J., Fukumura T. Directional distance transformation of a binary pattern and its application to texture edge detection. — In: Proc. Annu. Meeting Inst. Elec. Commun. Electron. Eng. Japan, Mar. 1973, p. 1155.
Toriwaki J., Fukumura T., Naruse T. Fundamental properties of the gray weighted distance transformation. — Trans. IECE, Dec. 1977, v. 60-D, p. 1101.
Rosenfeld A. Picture Processing by Computer. — New York: Academic, 1969.
Toriwaki J., Preston K., Jr. Applications of neighborhood logic operation in medical image processing. — In: Proc. 3rd USA-Japan Comput. Conf., Oct. 1978, p. 104.
Lantuejoul С. La squeletisation et son application aux measures topologi- ques des mosaiques polycristallines. — Ph. D. dissertation, I’Ecole. Nat. Superieure des Mines de Paris, June 1978.
Yokoi S., Toriwaki J., Fukumura T. Properties of fusion, distance transformation and skeleton for processing of gray pictures. — Trans. IECE, Japan, Sept. 1978, v. 61-D, p. 613.
Ban T„ Toriwaki J., Fukumura T., Yokoi S. Octagonal distance transformation and its applications. — Paper Tech. Group on Pattern Recognition and Learning, IECE, Japan, PRL 78-77, Feb. 1979.
Moore D. J. H., Seidl R. A. On the medial axis function for visual patterns.— IEEE Trans. Syst., Man, Cybern., July 1974, v. SMC-4, p. 396.
Philbrick O. Shape description with the medial axis transformation. — In: Pictorial Pattern Recogniton, G. C. Cheng et al., eds. — Washington DC: Thompson, 1968, p. 395.
Rosenfeld A., Pfaltz J. L. Distance function on digitized pictures. — Pattern Recognition, 1968, v. 1, p. 33.
Yokoi S., Toriwaki J., Fukumura T. An analysis of topological properties of digital binary pictures using local features. — Comput. Graphics Image Processing, Mar. 1975, v. 4, p. 63.
Toriwaki J., Fukumura T. Extraction of structural information from digitized gray pictures. — Comput. Graphics Image Processing, 1978, v. 7, p. 30.
Preston K-, Jr., Duff M. J. B., Leviadi S., Norgren P„ Toriwaki J. Basics of cellular logic with some applications in medical image processing.— Proc. IEEE, 1979, v. 67, p. 826.
Yokoi S., Toriwaki J., Fukumura T. Theoretical consideration on distance transformation family and their applications.— In: Proc. USA-Japan Seminar on Research Towards Real-Time, Parallel Image Analysis and Recognition, K. Preston, Jr., and M. Onoe, eds. — New York: Plenum (будет опубликовано).
Максимальные замкнутые классыв множестве частичных функциймногозначной логики)
Ло Чжукай^
Пусть Ек = {0, 4, ..., к — 1} и f(x„|..., хп) —некоторая функция, определенная на Ек со значениями также в Ек. Функцию f(xb ..., х„) будем называть всюду определенной ^-знач- ной функцией, если для всякого набора (аь ..., а^^а^ Е , z= 1, ..., я) значение Наь .... а„) определено, и не всюду определенной, если это условие не выполнено. Если функция / не определена на наборе (аь ..., ап), будем писать f(ab ..., ап) = *. Нигде не определенную функцию будем обозначать *. Как всюду, так и не всюду определенные функции будем называть частичными функциями й-значной логики. Множество всех частичных функций й-значной логики будем обозначать через Р"к.
Пусть f(/b ... , Q и g^xv ... , *„)(* = 1, ... , ^-функции из Рк. Определим композицию h(xv ..., х„) = / ^ (хр ... , хп\ ••• ' £т(хг • ■ • ’ -М) следующим образом:
( f(gl(“b ••• , “J.. gm (“1«п)), если
h (хь ... , х„) = j все g, (а„ ... , а„) (i = 1, ... , m) определены, I * в противном случае,
где а, (Z= 1, ... , л)— произвольные элементы из Ек.
Пусть А г Р\, f (/„, /т)еА и g, (хр ... , х„) либо
принадлежат А, либо совпадают с одной из переменных хь ... , х„. Тогда будем говорить, что функция f (g! (х), . ..,gm(x)), где х = (хь ...,хп\ получена суперпозицией функций из А. Множество всех функций, которые можно получить из А путем суперпозиции, будем обозначать А'. Множество А называемся замкнутым классом, если А'= А. Замк-
нутый класс A (cP*) называется максимальным, если не существует другого замкнутого класса между Л и Р*к.
Пусть Л s Р*к, тогда положим Sp (Л) = Л' U A" U A'" U ... . Множество А называется полным, если Sp(A) = P*.
Определение полноты систем функций из Р*к является важной задачей, полное решение которой зависит от нахождения всех максимальных замкнутых классов в Рк. Используя теорию групп, Ван Сянхао [1] предложил необходимое и достаточное условие полноты и на этой основе определил все максимальные замкнутые классы в Р^ и Р*. Однако ему не удалось решить эту задачу при к > 3. Позднее в [2] было доказано, что произвольный максимальный замкнутый класс в Р^ должен быть множеством функций, сохраняющих й2-арное отношение, и с помощью этого были определены все максимальные замкнутые классы в Р*; Б. А. Ромов [3] нашел некоторые специальные максимальные замкнутые классы в Р* и, в частности, все в Р*3. Большинство из этих результатов получено в [1].
В данной работе определены 6 семейств максимальных замкнутых классов в Рк, а именно ТЕ (классы функций, сохраняющих £), Lp (классы псевдолинейных функций), Fs,m (классы полностью симметричных функций), 8/>т (классы простых разделимых функций), 8^ m (классы регулярных разделимых функций) и 7g42 (классы У-типа).
Основные понятия, результаты и обозначения, если нет специального указания, взяты из [1]. В дальнейшем предполагаем к >4.
Произвольное множество m-к (ахат\ а{еЕк, называется m-арным отношением на Ек и обозначается Gm,
Определение. Будем говорить, что й1 = (а{> ... , а^) аот = (а^, ... , а^^ сохраняют m-арное отношение Gm, если а)а^ е Gm для всех i= 1, .. . , п. Будем говорить, что функцияf(xp ... , x^eF^ сохраняет Gm, если для любых а1ат, сохраняющих О'”, либо некоторое из значений На1)На'") не определено, либо (На1),, На'")) —Gm.
Множество всех функций, сохраняющих Gm, называется множеством функций, сохраняющих Gm, и обозначается Г (Gm).
Очевидно, Т (Gm) — замкнутый класс. Отношение Gm называется полным, если 1(0^ = ?^. Пустое отношение является полным.
Пусть Ri = {1, ... , m), \Ri\^2, 1=1, ... , п, и Ri^R,= = 0 при i^=i. Положим Gm(Rx, ...,/?„) = {( хь ..., хт)| хь ... , хт е Ек и Xi = Xj, если / и / лежат в одном и том же RhY
Предложение 1. Gm — непустое полное отношение тогда и только тогда, когда либо Gm содержит все наборы длины m над Ек, либо Gm есть Gm ^Rx, ... , RnY
Через Рк (соответственно Q6) будем обозначать множество всех всюду определенных (соответственно всюду определенных одноместных) функций. Согласно [1], справедлива следующая теорема.
Теорема 1. (1) Множество А (с ^) полно тогда и только тогда, когда оно не содержится ни в одном максимальном замкнутом классе из Р*ь; любой максимальный замкнутый класс в Р*к, за исключением PfcU{*}, должен быть множеством Т (G^ функций, сохраняющих некоторое m-арное отношение Gm, m^k.
Имеется ровно к + 1 максимальных замкнутых классов, содержащих Qk, а именно
m
^U{*}; T^GmY Gm = U Gm№, HY m = 3,...,k;
i>!
Ц0м\ G4,2 = G4({1,2}, {3, 4})U C4({I, 3), (2,4));
T (G4,3Y G4,3 = G4 ({1,2}, {3, 4}) U G4 ({1, 3}, {2, 4}) U G4 ({1,4}, {2, 3}).
Из этой теоремы следует, что для описания полных множеств достаточно определить все максимальные замкнутые классы среди Т (Gm), где Qk $ Т (GmY m^k.
Пусть Е — непустое собственное подмножество из Ек. Будем говорить, что функция / сохраняет Е, если для любых п элементов ах, .. ,,апизЕ либо/ (/2h ..., ап) = *, либо/ (ah .. ..а^еЕ. Множество всех функций, сохраняющих Е, обозначается ТЕ и называется множеством функций, сохраняющих Е. Очевидно, что если одноместное отношение Gx неполно, то Т (G^ — множество функций, сохраняющих Е.
Теорема 2. ТЕ — максимальный замкнутый класс.
Доказательство. Пусть / (xh ..., хф^ТЕ, тогда должен существовать набор a = (U], ..., a„), а.еЕ, 1=1, .... п, такой, что /(a) — ^^Е. Пусть g^Xp ..., xm) е Р*к. Построим следую-
щую (т + 1)-местную функцию:
( «1, если xm+i ¥= ₽,
Х1’ Хт+1 | g^, . .., х,„) в противном случае.
Очевидно,чтоh(хь ..., xm,f (a))=g (хь ...,хт)иЦхь ...,хт+1)еТЕ. Так как функции-константы az принадлежат ТЕ, то g (xh ..., xm) — <= Sp(f (а:,, ..., xJU^j), откуда следует, что TE — максимальный замкнутый класс.
Обозначим через Sm симметрическую группу на множестве £т = {1, .... т^ и через е — ее единичный элемент. Пусть <т е Sm. Положим
Ст = ^аащ, ..., aa(m)>l<aiа^еСт}.
В дальнейшем мы везде будем предполагать, что m ^ 2.
Предложение 2. Т (Gm) = Т (Gт) для любого oeSm.
Пусть Н — подгруппа группы Sm. Будем говорить, что Gm симметрично относительно Н или что Н есть группа симметрий отношения Gm, если Gm = Gm для любого а е Н. Очевидно, что множество {a|aeSm и Gm = Gm} является максимальной группой симметрий отношения Gm.
Предложение 3. Пусть Н = ^е, оь ..., o,ft_1}—подгруппа группы Sm и Gm состоит только из таких пг-к, все элементы которых попарно различны. Тогда Н является группой симметрий отношения Gm в том и только том случае, если существует такое Gm, что
Gm = GmUGm‘U ... UGm1-', I Gm | = | Gm | • h, где | Gm | и | Gm | — мощности Gm и Gm соответственно.
Определение. Отношение Gm называется вполне симметричным, если
Gm = ; P=i Gm №,/}) U G^,i>i
где G’m — либо пустое множество (за исключением случая m = 2), либо некоторое множество m-к с различными элементами и Gm симметрично относительно Sm. Множество всех функций, сохраняющих Gm, называется множеством вполне симметричных функций и обозначается Fs, m.
Теорема 3. FSim — максимальный замкнутый класс.
Доказательство. Пусть f (хь . .., xn)^.Fs, m- тогда должны существовать пг наборов, скажем
«-=(«•„а'),а-=<а-а"),
сохраняющих отношение Gm и таких, что () (а1), ..., f (ат)) ^ Gm. Пусть
f(a[) = a,, Ham) = am и Е* = ^ ...,ат}.
Предположим, что функция g(xx, ..., xt) такова, что всюду, где она определена, g(xb ..., xt) е Е*. Построим следующие/г
функций:
п.п.( af, если g(x,, . .., x,) = a
п.
п.
(xb ..., x()=Ji=l
v *, если g(xb ..., xt) = *,
Очевидно, НДххxt) e Fs, m и
g(xb ..., xt) = f (A, (xb .... x^A„(xb .xt)).
Поэтому g (xb ..., xt) e Sp (f (X]x„) u FSj m\
Пусть все /n-элементные подмножества из Ek суть ^еп, ...,etm^, i—\р. Определим р одноместных функций
х( aj, если х = еи, /= 1, ..., т,
^t й] в противном случае.
Положим p* = (pf, ..., Рр) и построим функцию Ф(х,, . .., Хр), где
( если (хь . .., х0) = 8\ г = Оk — 1, Ф (Хь . . ., Хр) = Т
' 1 р * в противном случае.
Если набор значений (еА1, ..., ehr^ функции Ф(хь ..., хр), который получается при подстановке в Ф т наборов длины р, сохраняющих Gm, не принадлежит Gm, то эти т наборов должны быть наборами
рел,=(р;л1р?')^hm=^hm,...,
По определению р^ имеем $kl=av ..., PftAm = am, следовательно, рв/г1, ..., рвлт не сохраняют Gm, т. е. получаем противоречие. Отсюда Ф(хь ..., Хр) е Fs
Пусть /г(хг ..., х() е Рд. Построим следующие р функций:
Si (xltSi (xlt1=1Р-1=1Р-f Рр если /г(хр ..., x() = s,{ *, если А(хь ..., xt') = *,
Si (xlt
Si (xlt
1=1Р-
1=1Р-
Очевидно, что
Мхх, ..., х() = Ф(§1 (Хн ..., х^, .... gp(Xixt^. Поскольку все значения функций §^хх, ..., х^, отличные от *, принадлежат Е*, то получаем, что
gAxx, .... х^е 8р№, .... xJU^s.J. t= h .... Р, и, следовательно,
Л(*1x#)ESp(f(xh .xJU^.J.
Это означает, что Sp (/(х,, .... х„) U Fs> m) = Р\, т. е. FSm- максимальный замкнутый класс.
В приводимых ниже четырех определениях все отношения, обозначенные Gm (соответственно G4), состоят только из наборов, содержащих т (соответственно 4) попарно различных элементов. Через Н = {е, ах, ..., <тл_1) обозначена произвольная подгруппа группы Sm (соответственно S4).
Определение. Пусть Gm = Gm U G^ (J ... UG^-; Gm называется простым разделимым отношением, если существует прямое разбиение Ек:
Ек = А + ... + Лт; Л, fl Aj = 0, I =#= j; i, j = 1, ..., m, такое, что для любого набора (аь ..., а^ебщ выполняется аг е Л^ (1=1, ..., т). Если Gm — простое разделимое отношение, то Т(Gm) называется классом простых разделимых функций и обозначается Sj, т.
Определение. Пусть Gm = Gm(#p ..., ^?„) U G^, // — группа симметрий для Gm(Rv .... R^ и G*m = Gm U G"> U • • • U^-'. В соответствии с предложением 2 можно считать, что
Ri = {!>••., rj, R2 = {r, + 1, ..., r2}, ..., Rn = {rn_! + 1, ..., r„). Отношение Gm называется регулярным разделимым, если существуют прямые разбиения
D/. Е» = Л' + Л'+ ... +Л^, 1=1, q, такие, что для любого набора (а^ ..., nm)eGm существует прямое разбиение Dh(l^h^q) со следующими свойствами:
^еЛ*1, Z=l, ..., /и;
если h ^=2, то существуют 1Хih-f, ...; !х, ..., к_х, такие, что
«1аг е Л> Л Л| Л ... Л Л?-1 ; ...; аг аг е
1 . 112^-1ГП-1 + 1ГП
Если Gm — регулярное разделимое отношение, то Т (От) называется классом регулярных разделимых функций и обозначается SRint.
Определение. Пусть G4 = G4 3 U G*, где
G43 = G4({1,2}, {3,4})U G4({1,3}, {2, 4}) U G4({1,4}, {2,3})
и___
g; = g4ug"-u ису1,
и пусть // — максимальная группа симметрий отношения G4|3. Отношение G4 называется регулярным разделимым степени 3, если существуют прямые разбиения
D.: & = А‘ + ... + А‘, i= 1, ...,</,
такие, что для любого набора (#[, ..., a^eG4 существует прямое разбиение Dh (\<Л<^ со следующими свойствами:
8.Е Л}, 1=1,4;
если й^2, то для любого г (1 ^г < й) найдутся Air, А'г, такие, что аь а2 (или аь аз. или аь а4) лежат в Аг1г и а3, а4 (или а2, й4, или а2, а3) лежат в 4/г.
Класс Т (G4) называется классом псевдолинейных функций и обозначается Lp, если G4 — регулярное разделимое отношение степени 3 или G4 пусто.
Определение. Пусть G4 = G4 2UG4, где
G4,2 = G4({1,2}, {3,4})UG4({1,3}, {2,4}),
Н — максимальная группа симметрий отношения G4 2 и G4 = G4U
UG4‘U ... UG4h-‘. Отношение G4 называется регулярным разделимым степени 2, если существуют прямые разбиения
D.: Ek = A\+•••• Я,
такие, что для любого набора (fl!, ..., a4)eG4 существует прямое разбиение Dh (1^й^#) со следующими свойствами:
at е А^, i = 1, ..., 4;
если h ^2, то для любого г (1 ^г < й) найдутся А^, А1^ такие, что аь а2 (или ah а3) лежат в Air и а3, а4 (или а2, а4) лежат в A”jr.
Класс Т (G4) называется классом V-типа и обозначается Vq4 2> если G4— регулярное разделимое отношение степени 2 или G* пусто.
Семейство прямых разбиений, указанное в каждом из данных выше определений, называется семейством разделяющих прямых разбиений для данного отношения. В таком семействе все лишние прямые разбиения должны быть удалены, т. е. для любого прямого разбиения Dh (1^/z^^) должны существовать ^еА^, i"=lпг (или 4), такие, что
(аь ..., ajEGJQ
Предложение 4. Классы S{ m, Sp m, Lp (в случае, когда G* непусто^ и VG (в случае, когда G\ непусто^ не содержатся ни в одном из максимальных замкнутых классов в Р*к, упомянутых в п. (2) теоремы 1.
Пусть N cQk- Будем говорить, что функция f(tx/т) сохраняет N, если для любых gi (х), . .., gm(x')eN либо функция f (gx (х)gm (х)) принадлежит N, либо эта функция не всюду определена. Множество всех функций, сохраняющих N, обозначим через Т^Му Очевидно, Г (Я) — замкнутый класс. Замкнутый класс N называется регулярным множеством одноместных функций, если NcQh и х е N.
Теорема 4. Классы простых разделимых функций S^ m, классы регулярных разделимых функций SRi m, классы псевдо- линейных функций Lp и классы V-типа Vq4 2 являются максимальными замкнутыми классами.
Доказательство. Согласно теореме 1, можно считать, что G4 непусто. Для удобства выразим отношения, сохраняемые этими четырьмя семействами классов функций, единым образом:
G = G . G*, i = 0, ..., 3,
G* = G UG^U ... UG"»-1,
H = ^e, ax, ..., ah_xy
где Gm>o=0, Gm>1 = Gm(/?!Rn\ и если i = 2, 3, то m = 4. Очевидно, что Я —группа симметрий для Gm. Из [1] и предложения 4 следует, что существует регулярное множество одноместных функций N, такое, что Г(Gm) s Г (М) и Г (Я)— максимальный замкнутый класс. Положим
Gm = {(щ, •.., Qm) 1 (di, . • •, а^ — Gm
и для любой функции
h^eN (й (аО, h (am)> е Gm}.
Тогда Gm, t s Gm = G,n и Gm = Gm для любого a e H.
Если Gm = Gm, то T (Gm) = T (AQ и, следовательно, T (G,^— максимальный замкнутый класс.
Действительно, пусть N' = Qk П T(Gm), тогда из того, что х е N и Gm = Gm, вытекает, что N = N' и Т (.V) = Т (N'). Пусть семейство разделяющих прямых разбиений отношения Gm имеет вид
D- Ek = A\ + ... + А‘п, /=1q.
Для каждого р = (а,, ..., а„)еСт построим одноместную функцию йр(х) следующим образом: йр(х) = а;, если х е Аь i=lm. Из разделимости Gm следует, что hp (х) е N\ Обратно, если h (х) е N' и й(х) = аг при х е A1., i = l, ..., m, то можно утверждать, что (ah . .., am)sGm, так как в Gm должен существовать набор (а,, ..., ат), такой, что а, е А\, i = 1, ..., пг.
Пусть 6' = {(й(0), ..., й (й— Y$)\h^ е N'Y Если пг = к, то существует перестановка ае56, такая, что G* = G^; тогда, согласно предложению 2, Т ^G fc^ = Т ^G'ky Если m < к, то без ограничения общности можно считать, что Л}, ..., Д). —все множества среди Л}, ..., А\., содержащие более одного элемента, Тогда легко показать, что
ТН^Т^О^А\, .... Д-)) = Г(Ст).
Таким образом, если пг^.к, то Т (N) = Т (N') = Т (G'^ s Т (Gm), откуда следует, что Т (N) = Т (Gm).
Если Gm = Gm> h то Т (Gm) не содержится в Г (Af).
Действительно, пусть р = (а)ат) — любой набор с m попарно различными элементами. Если р е G*m, то из равенства Gm = G,n> i следует, что существует такая функция hp (х) е N, что (йр (а,), ..., йр(ат))^Ст. Определим одноместную функцию gp (х) следующим образом:
, х Г Лр(х)> если 9еС*т’gp W = )с х в противном случае.
Ясно, что gp (х) е N и (g3 (aj, ..., gp (am)) ^ Gm. Пусть I (x) ^ N, где /(x) — всюду определенная функция, и пусть Pi, .... р$ —
все наборы, состоящие из т попарно различных элементов из Ек. Определим следующую s-местную функцию:
I (i), если (хь ..., х^ = (gPi (1)gp$ (0),
**Z=l, к- 1, в противном случае.
*
*
Очевидно, что f(gP1(x), .... gPs (х)) = I (x).
Пусть pz = (Pf, ..., p‘^ (z = 1, ..., m) — произвольные m наборов, сохраняющих Gm. Если набор (HP1), ■ f(Pm)) полностью определен, то существуют ah ..., am, такие, что
НР') = Н«»), р^^рДау)£рДаг)), z=l, .т, и, следовательно,
(gPjHgp/(aJ)EGm, /=1, ..., s.
Если (ab . .., am) = pr, 1 ^ г ^ s, то
(§РГ(а1)> gpr (°m)) ^ Gm.
Поэтому должны найтись i и /, такие, что а; = ау. То есть (gPj^xY •••, gpy(am)) (/=1, • ••> s) лежат в Ст,ь но не в G*m. Отсюда получаем, что (ПР1)f(pm))eGm, если г= 1, 2, 3, и (ПР1), •HP”1)) не может быть полностью определенным набором, если г = 0. Следовательно, Нхь ..., х„) е Г (Gm).
Так как / (gPi (х), ..., gPs (х)) = I (х) ^ N и gP1 (х), ..., gPs (х)^М, то f (xv, ..., Xs^^T^NY Следовательно, Т (Gm) не содержится в Т (N).
Если Gmi tciGmci Gm, то Т (Gm) не содержится в Т (Af).
Действительно, пусть G* = G~ — G„ ,. Для любого оеН ГП-ПТПТ) t
имеем Gm = G*m, поскольку Gm = Gm и, следовательно, Gm = (Gm Л G^) и (Gm n G*^ u • • • U (Gm n G*^-.(*)
Пусть семейство прямых разбиений для Gm имеет вид
D{: Ек=А‘+ ... +ДП г=1, q.
Из разделимости Gm следует, что должно существовать Dh^ ^h<.q^ со следующими свойствами:
для любого набора (сцam)eG„f|Gm имеем: если аг е Дь г=1, ..., т, то r^h",
существует такой набор (ар ..., ат^ е Gm(\G*m, что *ai е А^, /= 1, ..., т.
Возьмем (6[6m)EGm-Gm и определим одноместную функцию Ф(х) следующим образом: Ф(х) = й;, если х е Л^, г = 1, ..., пг. По определению Gm, существует h^eN, такая, что {h(bx), ..., МЬ^ ^ Gm и, следовательно, (й (Ф (aj), ... , h (Ф (am))) Gm. Отсюда следует, что Ф (х) ^ N, так как ^О • • • > ^m) ^ Gm.
Пусть ^ = {й] (х), ..., йг(х)}. Определим (г + 1)-местную функцию следующим образом:
Ф(0, если (х, х,, ..., х^ =
(х, хь ..., xr) = 5 = у, hx tjY ..., hr(i)), i = 0k— 1,
в противном случае.
Очевидно, что f (х, hx (х), ..., hr (х)) = Ф (х) ^ N, следовательно, / (х, хь ..., хг) не лежит в Т (NY
Пусть рг = (Р‘, ..., Р'+1) (г = 1, • • •, m) — m наборов, сохраняющих Gm. Если набор (ИР1), • • • - ПР'")) полностью определен, то существуют такие ан . .., ат, что
Нр‘) = Ф(а(), Рг = (ай Ма,)Аг(«,)), 1’=1. "С и, следовательно,
(аь . . ., cxm), (hj (ai), • • •, йу (ат)) е Gm, /1, • • •, г.
Из определения Gm следует, что (аь ..., «m)EGm, и из (*) и разделимости Gm легко получить, что
(f (Р1), (О = (Ф («1). • • • - Ф М е Gm.
Окончательно получаем, что Т (Gm) — максимальный замкнутый класс.Окончательно получаем, что Т (Gm) — максимальный замкнутый класс.Следовательно, f (х, хх, ..., xr) е Т (Gm) и Т (Gm) не содержится в TW-
Окончательно получаем, что Т (Gm) — максимальный замкнутый класс.
Окончательно получаем, что Т (Gm) — максимальный замкнутый класс.
ЛИТЕРАТУРА
Wang Xianghao. Structure theory of total and partial functions defined in a finite set (на кит. яз.). — Acta Sci. Natur. Univ. Jiliensis, 1963, v. 2, p. 295—316.
Фрейвалд P. В. Критерий полноты для частичных функций алгебры логики и многозначной логики. — ДАН СССР, 1966, т. 167, с. 1249— 1250-.-
Ромов Б. А. О максимальных подалгебрах алгебры частичных функции многозначной логики. — Кибернетика, 1980, т. 1, с. 28—35.
Теория полнотыдля частичных функциймногозначной логики ’)
Ло Чжукай2)
В 6-значной логике распознавание полноты систем функций является основной и важной задачей, полное решение которой зависит от определения всех максимальных замкнутых классов в множестве всех функций 6-значной логики.
В множестве Pk всех полностью определенных функций 6-значной логики все максимальные замкнутые классы среди множеств So самодвойственных функций, среди классов 7-типа TEi о и среди множеств М монотонных функций были определены в [1, 2]; все максимальные классы среди множеств LG линейных функций и многие среди множеств TDr (множеств функций, сохраняющих разбиение Dr множества £*) были определены в [4, 5].
В 1964 г. автор статьи доказал, что произвольный максимальный замкнутый класс в Рк должен быть одним из классов типа So. ТЕ^ М, Lg и TDr. Отсюда следует, что для определения всех максимальных замкнутых классов в Рк достаточно определить все такие классы среди классов TDr. Окончательное решение этой проблемы принадлежит Розенбергу [7]. Полное решение данной проблемы привело в последние 10 лет к широкому и глубокому развитию конструктивной теории полностью определенных функций 6-значной логики [9].
Профессор Ван Сянхао был первым, кто изучал теорию полноты для множества Р*к частичных функций 6-значной логики. Используя методы теории групп, он получил необходимое и достаточное условие полноты. На этой основе он определил все максимальные замкнутые классы в Р^ и Р*. Однако ему не удалось определить все такие классы в общем случае в Р*к (6^4). Позднее авторы работ [8, 10] также нашли все максимальные замкнутые классы в Р* и Р*. Автор данной
*) Lo Czukai. The completeness theory of partial many-valued logic functions (на кит, яз.).— Acta Math. Sinica, 1984, v. 2 7, p. 676—683. Перевод выполнен с английского варианта, предоставленного переводчику автором.
2) Факультет компьютерных наук, университет г. Сянтань, провинция Хунань, КНР.
статьи описал 6 семейств максимальных замкнутых классов В Р\ в [11].
В данной работе, используя систематическую идею «сохра- нения отношения», мы определяем все максимальные замкнутые классы в Р\. Все основные понятия, результаты и обозначения, встречающиеся ниже, такие же, как в [11], если не оговорено противное. Кроме того, в дальнейшем предполагается, что 6^4.
Определение. Пусть /п>2. Будем называть /n-арное отношение Gm нормальным, если Gm— неполное отношение, и для любого T(Gi) Ц^Кпг), если Т(Gm) £ т (G^, то T^G^ = P\.
Согласно теоремам 1, 2 из [11], все максимальные замкнутые классы будут найдены, если найти все максимальные замкнутые классы, определяемые нормальными /п-арными (2^/л^^) отношениями.
Пусть 1 ^ tj < t2 < ...<ir^m. Положим G1^/'=
= {(«;,«;г)| существует (аь . .., а,,, ..., а,2а.г, ...
...,а^еСту Через G*m (Ri, • • •, R») обозначим множество всех наборов из Gm(Rb ..., Rn), состоящих из (m + n —
— 2 I Ri I) различных элементов *).
<=1/
Предложение 1. Пусть Gm = Gm(\Gm(Rb ..., R^. Тогда 7-(6„) = Г(С„) = Т(д;
где
г,еКь i=\,...,n; {rn+lr„+J = {l,m}- URl
Предложение 2. Пусть G^ —нормальное отношение. Если G*in(Rv Рп)ПСт#=0, то Gm(Rv ..., Rn) £ Gm.
Обозначим через Srn симметрическую группу на множестве £т = {1, ..., т.у Пусть // — подгруппа в 8т. Тогда отношение Gm = {(ab amX<h> am^Gm и для любого о е Н
(роц^ ..., а0^пг^) е Gm)
>) G*m (Яр ..., R^ — это те наборы из Gm ^Rv ..., Rn)> которые принимают одинаковые значения только на позициях, принадлежащих одному и тому же Ri. — Прим, перев.
будем называть подотношением отношения Gm относительно Н. Очевидно, Н— группа симметрий отношения Gm [11].
Предложение 3. Если Gm — подотношение отношения Gm относительно Н, то Т (Gт) г Т ^Gт).
Определим С = {G^ ({/, /}) |i > /; i, / = 1, ..., m}.
Предложение 4. Пусть ш^З и Gm — нормальное отношение, содержащее все наборы из С*. Тогда Т(О,ф содержится в некотором множестве Fs,m вполне симметричных функций [11].
Предложение 5. Пусть m~^4, Gm — нормальное отношение и С {}Gm^C*, CF^Gtn^ 0. Тогда найдется Gm ({i, /}), такое, что
G =G Ui, U G* , i> i,
где G*m состоит только из разнозначных наборов длины т, т. е. наборов, в которых все элементы различны. (См. п. 1 *) дополнения переводчика в конце статьи.)
тп
Рассмотрим отношение G,n (£m) = {(а, . .., а)|ае£*}. Если Gm — нормальное отношение, то, по предложению 2, либо Gm (£'”) с Gm, либо G,n состоит только из разнозначных наборов.
Предложение 6. Пусть Gm — нормальное отношение, Gm(Em)^Gm, m>4 и С* П Gm = 0. Тогда
Gm = Gm(Ro Rn^G^ или G = G'^ G\,
где G*m состоит только из разнозначных наборов длины т, G* — некоторое множество разнозначных наборов длины 4 или пустое множество и G' — объединение двух или трех множеств наборов G4({1,2), {3,4}), G4 ({1,3}, {2, 4}) и G4({1,4}, {2, 3}). (См. п. 2 дополнения).
Предложение 7. Пусть G3 = G3 ({1,2}) (J G3 ({1,3}) (J G*, где G* — либо пустое множество, либо некоторое множество разнозначных наборов длины 3. Тогда Т (G^ содержится либо в Т (G3), либо в Т (G^, где G3 = G3 ({1, 2)) (J G3, G3 — некоторое непустое множество разнозначных наборов длины 3, G4 = G4({1,2}, {3, 4}) U
U G4({1, 3}, {2,4}) (J G* и G* — либо пустое множество, либо множество разнозначных наборов длины 4. (См. п. 3 дополнения.)
Предложение 8. Пусть Gm — нормальное отношение, содержащее хотя бы один разнозначный набор длины пг, и N = Т (Gm) П Qk- Тогда N — регулярное множество одноместных функций (т. е. N aQk, xeN, и N — замкнутый класс) и T(Gm)^T<N)^P*k.
Из сформулированных выше предложений, теорем 1, 2 и предложения 2 из [11] вытекает1), что достаточно исследовать на предполноту только следующие 4 семейства нормальных отношений, где Gm)G4) непусто и состоит только из разнозначных наборов, т^2.
Семейство 0. Gm = Gm, Gm = Gm U G"1 U • • • U G"A-1, где H = = (e, <TiOh-i] — некоторая подгруппа группы S^.
Семейство 1. Gm = Grn^R\, ..., /?n)UGm, Gm = Gm U Gm U ...
. ..UG^1-1, где H = {e, oi, . .., ак_х) — группа симметрий отношения Gm)R;Rn). Учитывая предложение 2 из [И], можно считать, что
/?1 = {1, ..., ri}, 7?2 = {ri + l, .... Гг), ...,
Rn = {Гп-1 + 1, • • •, гп}-
Семейство 2. G4 = G42 U G4, G4 = G4 U G4‘ U ■ • ■ U G4h-1, G42 = = G4({1,2J, {3, 4}) (J G4({’1,3), {2,4}) и H = {e, atoa-i) - максимальная группа симметрий отношения G^.
Семейство 3. G4 = G43(JG4, G4= G4 U G4* U ■ • • U G4h-1, 643 = = G4,2UG4({1,4}, {2, 3}) и Н = ф, ab ..., cr^—i} — максимальная группа симметрий отношения G4,3 (т. е. H — St).
Пусть Gm — отношение из семейства 0. Будем говорить, что набор (аь ..., am)^Gm разделим относительно Gm, если существует такое прямое разбиение Ек = Д, + .. . + Ат, что Uj^Aj, j=lт, и для любого фх, ..., Ьт)ЕСт выполняется bj^Aj, j=\, ..., т.
Пусть Gm — отношение из семейства I, /=1, 2, 3. Будем говорить, что набор фх, ..., am) G Gm разделим относительно Gm, если существует такое прямое разбиение D-. Ек = Ах + .. .
') Использовано также предложение 3 из [11].—Прим, перев.
10 Зак. 854
• • • + Ащ, что aj е Aj, / = 1, ..., т, и для любого набора ДИ, ..., 6m)eGm либо существует перестановка а^Н, такая, что ЬащеАр /=1, ..., т, либо набор (Ьх, .... Ьт^ частично разделим относительно D, т. е. при1=1 существуют такие Л. , ... ..., Ain, что 6Ь ..., Ьг^А.^ ..., 6г„_1+1, ..., brneAtn; при 1 = 2 существуют такие А^ и Л<2, что Ьь Ь2 (или 6Ь 63) оба лежат в А^, а Ь3, Ь4 (или 62, Ь4) оба лежат в Л,-2; при / = 3 элементы 6,, . .., Ьт ) можно разбить на две пары так, что каждая пара целиком входит в некоторое Aj (1^/^щ).
Теорема 1. Пусть Gm— одно из отношений четырех указанных выше семейств, ‘Zs^m^k. Тогда, если Т(Gm) — максимальный замкнутый класс, то существует отношение Gm s Gm со следующими свойствами:
Gm также входит в одно из указанных четырех семейств-, ^T(G^ = T(Gmy,
существует набор (сц, ..., am)eGm, разделимый относительно Gm.
Доказательство. Обозначим единым образом все четыре семейства нормальных отношений:
Gm-Gm,^G*m, 1=03; G*m = Gm U G^ U •. • U G0^,
H = ^e, Qi, ..., ah-i),
где Gm, o=0, Gm, 1 = Gm(Ri, ..., Rn) и m = 4 при i = 2, 3. Положим снова N = T (Gm) П Qk- Тогда из предложения 8 и предполноты Т (Gm) получаем, что T(Gm) = T(N) и N — регулярное множество одноместных функций.
Случай I: m = k. Определим отношение Gk, n = {(6 (0), . .. . .., /i(ft-l))|/i(x)G,V}. Очевидно, что Т (Gk, n) = Т (Gk) и (0, . .., k — 1) g Gk, n. Учитывая предложение 2 из [11], можно также считать, что (0, ..., k — 1) е Gk, тогда Gfe, к s Gfe. Обозначим
L = NftSk, L = Ve, Titz-!}, G*k =
-{(6(0), .... A(6-l))|6(x)eL}cG6,Jv.
Тогда L — подгруппа в Sk и
G*k= (0, .... l) + (0k- 1)T1 + ... +(0k- I/'-'.
Пусть Gk — подотношение отношения Gk, n относительно L. Легко доказать, что Gk = Gk,iUGk, Gk, i ^ Gk, i, ~Gk— неполное отношение и L — группа симметрий отношения Gk, t. Учитывая предложение 3 и предполноту Т (Gk), имеем
T4Gk) = 14Gk.N> = T(Gk).
В случае, когда Gk, t — неполное отношение, рассмотрим его максимальную группу симметрий L'. Очевидно, L = L'. Пусть Gk — подотношение отношения Gk относительно L’. Тогда Gk = Gk, i U Gk, Gk ^G*k, откуда, учитывая предложение 3 и предполноту Г (G&), получаем, что Т (Gk) = T(Gk) = Т (Gk). Отсюда следует, что Gk непусто. Учитывая предложение 3 из {11], имеем |Ga |>| L'|>l £| = |G*J, следовательно, U = L. Таким образом, L— максимальная группа симметрий отношения Gk, i-
Мы доказали, что Т (Gk) = Т (G6), Gk — одно из отношений указанных выше четырех семейств нормальных отношений и набор (0k— 1)еб1 разделим относительно Gk.
Случай II: 2^m<k. (1) Существует прямое разбиение D: Ек = А; + ... + Ат (2 ^ т < к), такое, что Т (Gm) = Т (От,л)< где
Gm.-N = «h(A1),h(An)}\h(x)^N},
"N = (h (х) \ h (х) = h(y), если х и у лежат в одном и том же подмножестве Ab 1^/^/п, и h(x)eN)._
Действительно, легко доказать, что Т (Gm) = Т (N) = Т (N) S sT(Gm n)- Предположим, что для любого прямого разбиения отношение Gm^ полно. Выберем (щ, ..., a;1^eG*m и (Ь\, ... ..., bm^^G.n. Рассмотрим функцию f (х);
. f bi, если x = at, l=\, ..., m, f (x) = {
'(* в остальных случаях.
Очевидно, что f (х) ^ Т (Gm).
Пусть g(x) s N. Если функция f(g(x)) всюду определена, то существует прямое разбиение Ек = В{ + ... + Вт, такое, что g(x) = ct, если х е В,, t=l, ..., т. Положим
N = {A(х) | h (х) = h (у), если х, у ^ В{, i — , ..., т, и h(x) е N),
Gk,N = «h(0), ..., h(k-l))\h(x)^N},
G,n-N = «h(Bv), ..., h(Bm))\h(x)^N}.
i о*
Очевидно, что g(x)eW, поэтому (g (0), ..., g (k — 1)) е Gh -^. Из полноты отношения Gm ^ следует, что Gfc ^ — также полное отношение. Поэтому <f(g(O)), ..., f (g (к — 1))) е Gk -^ и, следовательно, f (g (х)) е N = N. Таким образом, / (х) е Г (W), что противоречит условию Т (Gm^ = Т (NY В результате мы заключаем, что существует такое прямое разбиение, что T^Gm,N^ а Р*к и, следовательно, Г (Gm) = Т (Gm, ^).
GmjcGm и в Gm у есть хотя бы один разнозначный набор длины пг.
Действительно, если в Gm ^ не существует разнозначных наборов длины пг, то из предложения 2 легко вытекает, что любая одноместная функция сохраняет Gm $, а также Gm, что противоречит тому, что N — регулярное множество одноместных функций. Следовательно, в Gm к существует разнозначный набор длины пг (с,, ..., ст), и в N существует функция /г(х), такая, что /i(Xf) = cb i=l, ..., пг.
Предположим, что (аь ..., ат)еСт и среди а\, ..., ат имеется по меньшей мере два элемента, лежащих в одном множестве ЛД1 ^/ ^т). Тогда очевидно, что (k(av\ ..., к (am)) лежит в Gm, i, но не в G.^. Отсюда получаем, что если Gm — отношение из семейства 0, то среди аь ..., ат не может быть двух элементов, принадлежащих одному и тому же Aj (1 ^ ^/^т), т. е. существует такая перестановка а е Sm, что aieAow, i=l, ..., т; в противном случае набор (ах, ..., ат) частично разделим относительно прямого разбиения D.
Пусть <61, . . ., bm} ^ Gm ,^. Определим функцию g (х): g (х) = — Ьь если х е Ар Z= 1, ..., т.
Очевидно, что g(x) не входит ни в N, ни в Т (АД Если Gm — отношение не из семейства 0, то для любого набора <Оь . .., am)eGm, в котором хотя бы два элемента принадлежат одному и тому же Ар из частичной разделимости его относительно D следует, что (g (щ), ..., g ^ат^ g Gm, t S Gm. Если все наборы из G*,n частично разделимы относительно D, то получаем, что g (х) еТ (Gm), а это противоречит тому, что Т (Gm) — T(N). Следовательно, если Gm — отношение не из семейства 0, то существуют набор (щ, ..., ат)е6т и а е Sm, такие, что а^Аощ, i = lm.
Учитывая предложение 2 из [11], можно считать, ч то в любом случае существует набор (aiam) е G^, такой, что сц е At, /=1, ..., пг. Тогда
Gm. n = ^к (01), ..., к (а|71)> | к (х) е N} г G..n.
Существует отношение Gm S Gm -ц, удовлетворяющее заключению теоремы.
Действительно, (1) показывает, что Gm ^ — нормальное отношение. Выберем подотношение G,n в Gm ^ следующим образом:
подотношение отношения Gm ^ относительно Н,
^ если пг = 4 и Gm -^ содержит Gw (или со- m держит С412, но не С413);
Gm jy в противном случае,
где Н — максимальная группа симметрий отношения G4,3 (илж G4,2). Учитывая предложение 3 и предполноту Т (Gm), имеем
Т (Gm) = T(N) = T(N) = T (Gm. „) = Г (Gm).
Положим
У = {А(х)|(/?Ш, .... h<Am))eGm и h^eNY
Очевидно, что Gm = {(A(X1), ..., h (Лт)) I h (х) е NY
Так же как при доказательстве (2), можно доказать, что- существует функция h(x)eN, такая, что h(Ai) = ct, i=Y •■• ..., пг, и (cb ..., cm) е Gm, c, ^ c2 ф ... ^= cm. Поэтому Gm — также одно из отношений указанных выше четырех семейств; нормальных отношений, т. е.
Gm = Gm, i U Gm’ Gm, i SGm, i’ Gm £ Gm, Z = 0, . . ., 3, где Gm состоит только из разнозначных наборов длины пг;. Gm, 0=0; Gm, \ = Gm<R\, • RnY и если z = 2, 3, то ГП = 4, G4,2 = G4,2> G4,3 = G4,3.
Опять аналогично (2) можно доказать справедливость следующих утверждений (i) и (ii).
Пусть (6Ь . .., bm^eGm и среди 61, . .., bm хотя^бы два элемента принадлежат одному и тому же Aj. Тогда Gm — отношение семейства i (i = 1, 2, 3) и набор (6]bm) частично разделим относительно D.
Существуют (6Ь ..., bin)^G*m и те8т, такие, что bxWe At, z = 1т.
Если (6i, ..., bm) eGm и существует такая перестановка Те8т, ЧТО 6т(/)е/1г, Z=l, .... m, ТО Gm = Grn.
Действительно, так как bte.Ax_\w 1=1т, и любая -функция из N сохраняет Gm, то
G™ ‘ = {(А (Лт_1(1)), ..., А (Лт_1(т))) [ А (х) е jV) = = {(А (6,), ..., А (6т)) | А (х) е N) е Gm.
■Очевидно, что | Gm | = | Gm |. Поэтому Gm ' = Gm и, следовательно, Gm = Gm.
Из (ii) и (iii) получаем, что существует такой набор (гц, . .. ..., а„^ в Gm, что at е At, 1=1т. Докажем теперь, что шабор (а,, . .., а^) разделим относительно Gm. Положим
Ст = ^сЬ Cm>l<Cu . .., Ст^ебт И Среди С\Ст
имеются хотя бы 2 элемента, принадлежащих одному и тому же множеству Лу],
Gm = Uc\Cm)|(ci, . .., Cm^eGm И Ci <= Ai, 1=1Ul}>Gm = Gm U Gm U • • • U Gm”', L = (б, T], . . . , T;_i},
где L— максимальная группа симметрий отношения G4]2 (или •64.3), если Gm — отношение семейства 2 или 3, в противном ■случае L — группа, порожденная множеством перестановок М = (т|т gS™, и существует набор (ciст) е G*m, такой, что Cx^eAi, t=l, ..., m}. Ясно, что L — группа симметрий ■отношения Gm, а, значит, и отношений Gm, р О*т> G'm.
Очевидно, Gm U Gm с Qm. Предположим, что (61, ..., 6m)e eGm- Gm. Тогда существует такая перестановка т е Sm, что bx^e^Ai, z=lт, откуда, учитывая (ill), получаем, что Gm = Gm. Следовательно, те L и <6Т(i), ..., bx^eGm, т. е. (Aibm^eGm ^Gm- Таким образом,
Gm = Gm и Gm = (Gm U Gm) U (С^ U G^)'* U • - - U (C^ U Gm)4”'.
Так как (a,am)eGm, то, учитывая (i), получаем, что набор (a,, . .., a^) разделим относительно Gm.
Применяя теорему 4 из [11] и теорему 1 настоящей работы, получаем следующую теорему.
Теорема 2. Пусть Gm — нормальное отношение, состоящее только из разнозначных наборов длины пг, и гп^2. Тогда Т (Gm) — максимальный замкнутый класс в том и только том случае, если он является классом Si, m простых разделимых .функций.
Пусть далее
Gm = Gm,zUGL i= 1, 2, 3,
G^G^U UG^1,H = ^e, oi, ..., <тА-1}.
По теореме 1 можно считать, что существует набор (а,, ...
..., a^eGm, разделимый относительно Gm, т. е. имеется такое прямое разбиение Do; Ek = А°A°m, что _а, G Л р
i=l, ..., т, и для любого набора (6,, ..., 6m)eGm либо существует перестановка оеН, такая, что 60</) ^ Л/, j = 1, . ..
..., т, либо набор (6,, ..., Ьт) частично разделим относительно Do. Положим
Gm = «а,, ..., ат> |<ai, . • •, ат} g Gm и существует а G Н, такое, что а^еА®, 1=1, ..., mV
Gm, i = Gm — Gm> Gm,\ = Gm, i U Gin, i U • • • U Gm, i
G^ = Gm,i DGm^, 1=1, 2, 3.
Очевидно, Gm =) Gm ._
Предположим, что набор (ci, . .., am} G Gm, i разделим относительно Gm, т. e. существует такое прямое разбиение Df; Ek = Л} + ... + Am, что_а, g A*, 1=1, ...,m, и для любого- набора (6iMeG^.i либо существует перестановка оеН, такая, что ba^e Au Z = 1, ..., т, либо набор (6Ь .... ..., 6т) частично разделим относительно Dx. Положим
Gm, 1 = {<а„ •-., am)l(aiam)GGm>1 и существует аеН, такое, что аащ g Л', i = 1, ..., m}>
Gm, 2 = Gm, 1 — Gm, P Gm, 2 = Gm, 2 U Gm, 2 U • • • U Gm, 2 •
G® = Gm,iUGm,2, 1 = 1, 2, 3.
Очевидно, Gm => Gm.
Продолжая этот процесс, мы получим убывающую цепь, для Gm:
Р /^(0) — Л^1^ —11
Urn — Um ^ ^тСгт >
тде
G^ = Gm,, UG;.;, 1=1, 2, 3; / = 0га;
Dp. Ek = A\+ AU
Gm, i = Gm,i\5Gm,l^ • • • U G°m7jX\
Gm, / = Gm, j-l Gm, j-V,
<?m,/-i = {(ai, ОтЖ^ь . am)eGm,/_p и существует o^H, такое, что аащ е Л{-1, 1 = 1, .гаг}
Gm, 0 == Gm1 Gm, 0 =: Gm’ Gm, 0 === Gm*
В силу конечности Gm найдется такое целое положительное га, что либо GXm =Gm, и либо никакой набор из Gm.n неразделим относительно G^; в последнем случае будем говорить, что G^m -строго неразделимо.
Теорема 3. Пусть Gm— одно из отношений семейств 1, 2 или 3, и существует набор (ab ..., am) в Gm, разделимый относительно Gm* Если Т (Gm) — максимальный замкнутый класс, то в убывающей цепи для Gm найдется такое G^m, что Gm1 = = Gm, i*
Доказательство. Предположим, что G^ строго неразделимо. Положим N = Т (Gm) П Qk, N = T(G{m)0Qii* Тогда из предложения 8 следует, что Т (Gm) = Т (N). Докажем, что Т (N) с сЦМ).
Существует функция h(x), которая входит в N, но не входит в N.
Действительно, так как набор (а,ат) разделим относительно Gni, то at е A®, i = 1, ..., m, и для любого (th, ... ..., bm) из Gm либо найдется аеН, такое, что Ьо^ е Л?, 1 = 1, . .., гаг, либо набор (bt, ..., 6m) частично разделим относительно Do. Выберем (сь . .., с^ Gm и определим функцию Ь.(х)‘. h(x) = ct, если х е А °, 1= \, . . ., ш. Очевидно, что •^(а^, ..., Ь(ат))^От, поэтому h(x)^N. Кроме того, если (Ьх, ..., bm^e. Gm.n, то, согласно Gm^>GXm, имеет место (Ь\, ... . .., Ьт) Ф Gm, следовательно, этот набор должен быть частично разделим относительно Do. Отсюда легко доказать, что ^(х)^!^, и, следовательно, h. (х) g N.
Если h (Gm') = {(A(6i), .A(6m))l(6i, .... 6m) Gm'} с sGm, то 6 (Gm') s Gm'.,
Докажем, что для любого / (0 ^ / ^ и—1), если 6 (Gm ) S с Gm', то h^Gm^G^. Отсюда, очевидно, будет следовать- (2).
Если h (Gm, „) г G^\ то «G^sG^1'. Поэтому достаточно доказать, что h(Gm. „) s Gm+1'. Предположим, что (ci, . .. .Cm) е Gm, п И (6(d), .h (cm)) ^ G^. Докажем, что на- бор (с,ст) разделим относительно Gm .
Согласно предположению, h. (Gm') ^ Gm, поэтому
(h (ci), . . . , h (cm)) G (Gm, i — Gm, /+ 1) = Gm, I U Gm, / U ■ • • U Gm, / ' и, следовательно, существует a e H, такое, что ft (ci) e Л«)|- t=l, ..., m. Положим
Bi = {с | h (c) e Aa (i), c e Ek\ i = 1, ..., m;
Db. Ek — B; "V ... "V Bm- Очевидно, что DB — прямое разбиение и
de Bi, h(Bi) ^ A!a {i}, t=lm.(*)
Пусть
От,п = ^, .... bm^^bibm)^Gm,n, И Существует о e H, такое, что ba^eBi, t=l. ..., m},
Gm,n = «61,6m) I (61bm)^Gm,n И СреДИ 6]6m
имеются хотя бы 2 элемента, принадлежащие одному и тому же Bi (l^i^/л)}. Очевидно,
X—
(С], . . . , Cm) ^ Gm, tv {Gm, п U Gm, п) S Gm.'n-
Предположим, что (6]bm) е (Gm> п — Gm, п)- Тогда существует такое т g Sm, что bieBxm, i = l, .... тп, откуда с учетом (*) получаем, что h^b^ г A1^^, i=l, ..., т. Таким образом, поскольку (6(6]), ..., fi^b^eG^, то можно утверждать, что
h(ib„)-)e(G„ilUG^lU U8”^) '
и, следовательно, найдется такое реН, что h (b ?) е А^ Wr t=l, ..., т. Отсюда получаем, что р = ат и поэтому т е Н.
Так как 6т~' № G Вг то (bv ..., bm^eGm п. Таким образом,
Gm, п == ^т, п U Gmj п, Т. е.
G*m, П = (Gm, п U Gm, п) U Фт, п U Gm, „)°> U • • • U Фт. n U Gm, nfh-\
Предположим, что (6^ . . ., bm)^ Gm<n, т. e. среди bx, . . ., bm имеются хотя бы 2 элемента, принадлежащие одному и тому же В,. Тогда с учетом (*) можно утверждать, что среди htb^, ..., h(bm) также найдутся хотя бы 2 элемента, принадлежащие одному и тому же AjaW, поэтому (h (6,, ..., h(bm^e. е Gm>,-, либо существует такое tgH, что
Ф«М Нфт^ефта-Ст,Ф-
Предположим, что (h(bC), ..., /i(6j)eGmi. Если /= I, то Gm, x = Gm(Rx, •RnY Тогда
W = ... = 6(6,,),..., 6(6rn_i + i) = ... =h(brny
Отсюда с учетом (*) получаем, что существуют такие Bi , . .. ..., Bin, что Ь;, . . ., Ьгх е В,;, . . .; ЬГп_^х, ..., brne Bin, а это означает, что набор фх, ..., 6т) частично разделим относительно DB. Используя тот же метод, можно также доказать, что набор (6Н ..., Ьт) частично разделим относительно DB и в случаях t = 2, 3.
Предположим, что (А (А,), .. . ,6 кЬтУ е (Gm<, — Gm, jV, т. е. существует набор ^йх, d^ е (Gm,; — Gmi ^, такой, что
(А (61)6(6m)) = (dT(1), ..., dT(m)>
и набор (dx, ..., d^ частично разделим относительно D,. Если t = 1, то
о^ = От,хио*т,,. = ст^,..., /?„)UG;,r
Тогда найдутся такие Л^Atn, что
dx, ..., dr G Л; ; . . .; dr +1, .. ., dr g Л;
n, следовательно, учитывая определение H, можно утверждать, что найдутся такие Л^, ..., Л/п, что
^т(1), •dx(ri)eX^; ...; dT(rn_1)+i, ..., d^^^s Afin.
Отсюда следует с учетом (*), что
Ьр .... Ьг^Ва-Х(/у ...; 6Гп_+1, ..., Ьг^е Во-> ^.^,
т. е. набор (6,6m) частично разделим относительно DB.
Используя тот же метод, можно также доказать, что набор- (6,, . .., 6т) частично разделйм относительно DB при Z = 2, 3.
Мы доказали, что набор (с1; ..., ст)ЕСП]„ разделйм относительно Gm', а это противоречит предположению о том,, что Gm' строго неразделимо. Таким образом, h (Gm, n) s G%+1).
T (Gm) — T (N) ST (N).
Предположим, что f(xt, ..., хД e T (Gm) и к,;шеМ, i=l, ..., n. Если функция f(A,(x)hn (x)) = ф (x) всюду определена, то для любого набора (bv ..., b^eG^ из того, что
h.^s»*/=1п,
получаем
(ср^О, ..., ср(6т)> =
= (f(M6i), йпф^, ..., f(Mbm\ .... hjbj^ eGm, Т. е. ф^т) Gm.
Тогда из (2) имеем ф (х) е N и, следовательно, / (х,хп) е Г (М). Поэтому Т (М) s Т (М).
Из (1) и (3) получаем Т (М) cz Т (jV); кроме того, очевидно, Т(ДГ) cz Pk, а это противоречит предполноте класса Т (М). Таким образом, G*m =Gm,i-
Теорема 4. Пусть Gm — одно из отношений семейств 1, 2 и 3, Тогда Т (Gm) — максимальный замкнутый класс в том и толька том случае, если это класс SRim регулярных разделимых функций, класс Lp псевдолинейных функций или класс V-типа Va4 2*
Доказательство. Достаточность следует непосредственно на теоремы 4 из [И].
Предположим, что Т (Gm) — максимальный замкнутый класс. Тогда по теоремам 1 и 3 можно считать, что убывающая цепь для Gm имеет вид
Ст = 0^=э0^о ... ^G^ = Gm,b
где G^-Gm,^GVp ^=l.j. 3; / = 0n-V,
Gma = Gmj U G^U UG^J1; Н = ^ "." и существует набор (а{a^eG^j, разделимый относительно Gm, т. е. существует такое разбиение Dp Ek— А\ + ... . .. + Am, ЧТО Gm, j = Gm, / U Gm, j, ГДС
Gma = ^av, °т)1<°ь • a^eG^j и найдется такоеоеН, что aoW е Ai, i— 1, ..., т),
Gma = ((al, ..., am>|<a,ат) е Gma и этот набор частично разделим относительно D^,
-и aie Ai, 1= 1, ..., т.
Пусть
6„., = {<“«„>|("«„)е(с„.,ис^,иUG^')
и ateAi, t=l, .m}. Очевидно, (а{, ..., а’т^гСта, т. е.
Gm, j непусто; кроме того, можно проверить, что
с^ис^и ... иейг-Ж.^^.д ... иб"*7'-
"Поэтому
G*m, j = (Gm,, U Gm, ф U (Gm, / U Gm, ^ U U (Gm, / U Gm, /^-i,
и легко получить, что Gm — регулярное разделимое отношение [11], если 1=1, и 2- (или 3)-разделимое отношение, если t = 2 (или 3). Отсюда следует необходимость.
Теорема 5. При 6 = 3 список максимальных замкнутых классов в P*k исчерпывается классом ^Uf*}, классами ТЕ функций, сохраняющих Е, классами Fs> m полностью симметричных функций, классами 811ГП простых разделимых функций, классами SRim регулярных разделимых функций, классом Lp псевдолинейных функций и классом V-типа Vo4 2- (См. [3].)
Из теорем работы [11] и теорем 2, 4 и 5 данной статьи получаем следующую основную теорему.
Основная теорема. При 6^3 список максимальных замкнутых классов в Р*к исчерпывается классом P6U(*)> классами ТЕ функций, сохраняющих Е, классами FS m полностью симметричных функций, классами 8^ m простых разделимых функций, классами SRi m регулярных разделимых функций, классами Lp псевдолинейных функций и классами V-типа Va4,2.
Следствие. Пусть АгР^. Тогда А полно в том и только том случае, если А не содержится целиком ни в одном из классов P6U(*), ТЕ, Fs>m, SI>m, SR,m, Lp и VG< 2.
ЛИТЕРАТУРА
Яблонский С. В. Функциональные построения в fe-значной логике.—■ Тр. МИАН им. В. А. Стеклова, 1958, т. 51, с. 5—142.
Мартынюк В. В. Исследование некоторых классов функций в многозначных логиках. — В сб. «Проблемы кибернетики», 1960, вып 3 с. 49—60.
Wang Xianghao, Structure theory of total and partial functions defined in a finite set (на кит. яз.). — Acta Sci. Natur. Univ. Jiliensis, 1963, v. 2, p. 295—316.
Lo Czukai. The precompleteness of the linear function set and the ring (на кит. яз.). —Acta Sci. Natur. Univ. Jiliensis, 1963, v. 2, p. 1—14.
Lo Czukai. On the precompleteness of the classes of functions preserving a partition (на кит. яз.). —Acta Sci. Natur. Univ. Jiliensis, 1963, v. 2, p. 105—116.
Lo Czukai. The problem of determination of all maximal closed sets in multi-valued logics (на кит. яз.). —Acta Math. Sinica, 1980, v 23 p. 152—156.
Rosenberg I. G. La structure des fonctions de plusieurs variables sur un ensemble fini. — C. R. Acad. Sci. Paris, Ser. A, B, 1965 v 260, p. 3817—3819.
Фрейвалд P. В. Критерий полноты для частичных функций алгебры логики и многозначной логики. — ДАН СССР, 1966, т. 167, с 1249— 1250.
Rine David С. Computer Science and Multiple Valued Logic, 1977.
Ромов Б. А. О максимальных подалгебрах алгебры частичных функций многозначной логики. — Кибернетика, 1980, т. 1, с. 28—35.
[И] Lo Czukai. Maximal closed sets in the set of partial many-valued logic functions (на кит. яз.).—Acta Math. Sinica, 1984, v. 27, No. 6, p. 795—800. [Перевод см. в настоящем сборнике.]
ДОПОЛНЕНИЕ ПЕРЕВОДЧИКА
Доказательство предложения 5. Согласно условию, С* f) Gm не пусто. Не ограничивая общности, будем считать, что GmnG^((l, 2}) 5^0. Тогда, согласно предложению 2, ^т({1- 2}) = Gm. Докажем методом от противного, что Gm = = Gm((l, 2}) U G*m. Допустим, что это не так. Тогда в Gm найдется набор (а,, . .., ат\ такой, что а, =/= а2 и а^а, для некоторых i =/= /. Рассмотрим два случая.
{/, /} Л {1, 2} #= 0. Не ограничивая общности, можно считать, что (i, /} = {1, 3}. Так как (ах, ..., am)<=Gm ({1, 3}), то GmHGm({l, 3})#= 0. Так как Gm — нормальное отношение,
то, используя предложение 1 из данной работы и предложение 1 из [11], получаем, что
Gm П Gm((l, ^ = Gm(Rx, R^
для некоторых подмножеств Rb ..., Rn. Так как Gm({l, 2}) S — Gm, то
Gm({l, 2, 3}) = Gm({l, 2})QGW({1, 3})sGmnGm({l, 3}) == Gm(Rx, R^.
Если l^p^/и и 1^^^/и и хотя бы одно из чисел р, /у отлично от 1, 2, 3, то в Gm((l, 2, 3}) содержится набор 0!, . .., 6т), такой, что bp #= bq. Следовательно, такие р и q не могут лежать в одном R,. Так как (а,, ..., am)eGm И Gm ({1, 3}), то 1, 2 не могут лежать в одном R] и то же для пары 2, 3. Поэтому Gm П Gm ({1, 3}) = Gm (1, 3]. Если р ^ 3, то в Gm ({1, 3}) имеется набор (с,, . .., ст\ такой, что с, =# с2 и с, = ср. Отсюда так же, как выше, получаем, что Gmf)Gm((l, p}) = Gm({l, р^\ Пусть теперь 2<р^ш, 2^^<ш и p^q. Выберем такое t, что 1 ^ / ^ т, t #= 1, / =#= Р, t ^= q (это возможно, так как т ^ 4). В Gm((l, 0) имеется набор Цх, ..., dm\ такой, что dx ф dp и dp = dq. Отсюда так же, как выше, получаем, что
GmnGm((p, 7}) = Gm({p, qW
В результате имеем СтПС* = С* — противоречие.
V. /}П{1, 2} = 0. Так как Gm П Gm ({i, /})=/= 0, то так же, как в (а), получаем
Gm Q Gm ({/, m = Gm(Rx, Rn).
Так как
(ах, .. ., am) е Gm f] Gm ({i, /}) и ах ^= аг,
то 1, 2 не могут лежать в одном Rq. Поэтому в Gm(.Rx, .... Rn) найдется набор (Ьх, ..., Ь^, такой, что Ьх ^ Ь^ и bx = bp или Ь2 = Ьр для некоторого р^З. Приходим к случаю (а).
Доказательство предложения 6. Пусть
Согласно условию, М не пусто, так как (Em) е М. Будем говорить, что (R'xR'p) мельче, чем (R", ..., R"), если из того, что г, ] лежат в одном R's, следует, что i, j лежат в одном R". Пусть
N ={(/?!Rn)WRv,--» Rn^eM
и в М нет (/?]К'рУ более мелких, чем ^Rv ..., Rn^y Пусть (,RV . ., Rn)^N. Тогда
Gm0G^№, Rn)^ 0.
Отсюда, согласно утверждению 2, Gm^Rx, Rn) — Gm.
Пусть <RX, ..., Rn)^N и i, j лежат в одном Rs. Тогда
GmDGm((t, j^G^, ..., R^.
Так как Gm — нормальное отношение, то по предложению 1 данной работы и предложению 1 из [11]
с„пс„№,/))=о„(«;ед.
Тогда
° ЖR^g^r,ед.
Это возможно только, если ^R'v . . ., R'^ мельче, чем ^Rv ..., R^, или они совпадают. Но (/?]R^eN, поэтому
GmQGm((i, /}) = Gm №,..., Rn).
Если |^|=1 и (RvRn)^N, то любой неразнозначный набор в Gm лежит в Gm(/?b . .., Rn^ и предложение 6 справедливо.
Пусть теперь | N | > 2, и пусть (R'v .. ., Rp^ g N и (R", . .. ..., R") G N. Допустим, что i, j лежат в одном R' и в одном R". Тогда
Gm П Gm ({/, m = Gm (R{, .... R'p) = Gm (R", ..., R'^
—-противоречие. Следовательно, если i, j лежат в одном R's, то они должны лежать в разных R',', R".
Допустим, что I^J^S и (t, j, ^sR'v Тогда i, j, I лежат в разных R", R"^ R'V Но тогда в Gm ^R", ..., R"'} существует набор (щ, . .., ат\ такой, что at = aj и ai^=aL. Тогда
<а1^^Gm №. /}) и (av a^G^ (R', ..., R'py Но это противоречит тому, что
С„ПСШ№, m = G„^R',R-,).
Следовательно, |7?Д = 2 для любого (.Rt, .... R^eN.
Допустим, что (/?],...,/?') = ({£,/}, {г,s],...) и в (R",..., R") г не лежит в одном R" ни с I, ни с j. Тогда в Gm (^R", ..., R"^ существует набор (6Ь ..., Ьт\ такой, что b^b,, br #= bs. Это
противоречит тому, что
GmnGm(V, /}) = Gm№ R'p).
Следовательно, г должен лежать в одном R" с i или с /.
Допустим, что
(^;,.... R'p) = (V, ft, к,s). (“. yL
Тогда г, s, и, v должны лежать в тех же R", где лежит I или /. Но тогда существует такое R", что | R" | ^ 3 — противоречие.
Так как Gn f) С* = 0, то в результате получаем, что (/?[, ..., R'^ и (/?" .... R"q^ имеют вид ({i, /}, (г, s}) и ({i, г), {/, sj).
Если т > 4, то существует t, отличное от t, /’, г, s. Так как Gm<V, ft AV, s})DGm({s, AW 0,
то по предложению 1 данной работы и предложению 1 из [11] получаем
GmnGJ(S, l}) = Gm(^,R7>
Но для любой пары элементов х, у, таких, что l^x^m, • l^y^m, х #= у и {х, у} ф {s, /} в Gm(_V, П, (г, s}) или в ’ Gm({/, г}, {/, s}) найдется набор (db ..., d^, такой, что ds = dt и dx ^= dy. Следовательно, Gm f) Gm ({s, /}) = Gm ({s, /}). Но это означает, что Gm QC* ^ 0 — противоречие.
Таким образом, т = 4 и любые два набора из N имеют вид ({i, /}, {г, s}) и ({/, г}, {/, s}). Отсюда очевидно следует предложение 6.
Доказательство предложения 7. Пусть G3 — подотношение отношения G* относительно подгруппы // = {(1, 2)}. Рассмотрим два случая.
G3 #= 0. Пусть feT(G3), и пусть тройка наборов (а, Р, у) сохраняет отношение G = G3 ({1, 2}) [J G3. Тогда тройка i (р, а, у) также сохраняет отношение G. Пусть f(a) = a, f(f}) — b, [ f (у) = с. Таккак G s G3 и f е Т (G3), то (a, b, с) е G3 и (6, а, c)gG3,f
либосредиа,Ь, с есть *. Пусть среди а, Ь, снет *. Тогда,|
есливсе а,Ь,с различны, то получаем, что(а, Ь, с) е 63,у
Еслиa=i^=bисреди а, Ь, с не все различны,то (а, 6, с)=н
= (а, Ь, а). Но тогда (6, а, с) = (6, а, а) е G3 — противоречие. 1 Следовательно, если среди а, Ь, с не все различны, то (а, Ь, с) е з е63({1, 2}). В любом случае получаем, что (а, 6, c)eG J
или среди а, Ь, с есть ». Поэтому feT(GY Следовательно, 7'(G3)eT(G) и предложение 7 справедливо.
G3=0. Рассмотрим все четверки разных элементов (а,, Рн р2, а2), такие, что все тройки вида (аг, Ру, 6е) и (Р;, ау, ае), где / #= /, входят в G3. Пусть 64 — множество всех таких четверок. Положим
G = G4({1, 2), {3, 4})UG4({1, 3), {2, 4})UGL
Пусть / еТ (G3) и четверка наборов (йк рь р2, й2) сохраняет G. Пусть
f^ = ax, f^ = bt, tk^ = b2> t^ = a2
и все аь bx, b2, 02 отличны от *. Так как четверка (йь рь р2, а2) сохраняет G, то все тройки наборов (а,, Рр, Р9) и (рг, ар, а,) сохраняют G3, и, поскольку f еТ (G3), то все тройки (а;, bp, bq) и (6г, ар, aq^, где p=£=q, входят в G3. Если среди ab Ьх, Ь2, а2 все различны, то получаем, что (ab bb b2, а2) g б4. Если а1=а2 и bi 5?^ а, при t = 1 или i = 2, то (6;, at, а2) eG3 — противоречие. Аналогично получаем противоречие, если bx = b2 и ах 5^ bx. Если ах = Ьх и среди ах, Ьх, Ь2, а2 три различных элемента, то (62, а2, а^ sG* и (а9, 62, 6,) е G*. Но это противоречит тому, что G* пусто. Аналогично получаем противоречие, если at = bp и среди ах, Ьх, Ь2, а2 три различных элемента. Остаются случаи, когда ах = Ьх = Ь2 = а2 и когда среди аХ1 Ьх, Ь2, а2 два различных элемента, причем ах ^= а2 и Ьх Ь2. Тогда
(аь Ьх, Ь2, а2)еС4({1, 2}, {3, 4})U G4({1, 3}, {2, 4}).
Окончательно получаем, что либо среди ах, Ьх, Ь2, а2 есть *, либо (a,, bx, b2, a^eG, т. е. feT(G). Следовательно, T^G^s £ Т (G) и предложение 7 справедливо.
И Зак. 864
Современные способы проверкипростоты чисел
Обзор
О. Н. Василенко
ВВЕДЕНИЕ
Задача проверки простоты натуральных чисел издавна привлекала внимание математиков. Эта задача имеет как теоретический, так и практический интерес. Например, простота чисел Ферма Fk = 2^k + 1 связана с возможностью построения циркулем и линейкой правильных многоугольников. В настоящее время возникает необходимость проверять простоту чисел с десятками и сотнями десятичных цифр. Для этого нужны быстрые алгоритмы. Теоретически оптимальным можно считать алгоритм, работающий за полиномиальное от длины входных данных время; в задаче проверки простоты натурального числа п подобный алгоритм делал бы O((logn)c) шагов с некоторой абсолютной постоянной с. Такой алгоритм есть, однако для его обоснования нужно доказать расширенную гипотезу Римана (см. § 4, алгоритм Миллера).
Несколько лет назад Адлеман, Румели, Ленстра и Коэн предложили быстрые алгоритмы проверки простоты натуральных чисел. Например, алгоритм Адлемана проверяет простоту п за О ((logn/log log log”) шагов, где с — абсолютная постоянная. Использование этих алгоритмов позволяет проводить проверку простоты чисел с сотнями десятичных цифр.
Данная статья представляет собой обзор методов проверки простоты чисел. Особое внимание в ней уделено методу Адлемана — Румели.
Из предыдущих обзоров по алгоритмам проверки простоты чисел мы рекомендуем работы [17, 22, 29].
Мы будем использовать следующие обозначения. Для простого числа р и целого k символ ир^ обозначает кратность вхождения р в разложение к на простые сомножители в кольце целых чисел Z; Ус (21) — кратность вхождения простого идеала $1 в разложение идеала 21 на простые сомножители в дедекиндовом кольце R; (Z/mZ)* — мультипликативная группа кольца вычетов Z/mZ; ind^/— индекс элемента / е (Z/^Z)*, вычисленный по отношению к некоторому фиксированному первообразному корню tq (^>2 — простое число); Фр (х) = хр~1 + . . .
© «Мир» 1938
4-х 4-1; (-2-) —символ Якоби (см. [2, гл. 5]); (а, ^ — наибольший общий делитель целых чисел а и b; Gal (K/Q) — группа Галуа поля алгебраических чисел К над Q; [х] — целая часть числа х.
ПРОСТЕЙШИЕ ТЕСТЫ. РАЗЛОЖЕНИЕ НА МНОЖИТЕЛИ.
ЧИСЛА 2" ± 1
Простейшим методом проверки простоты натуральных чисел п является метод пробных делений: для d = 2, 3, 4, ... мы проверяем выполнение условия (d, м)>1. Существует ряд модификаций этого метода (подробнее см. [5, § 4.5.4]).
Другой простой и хорошо известный метод — решето Эратосфена. В последовательности чисел 1, 2, 3, ..., п мы вычеркиваем все числа, кратные 2, кроме 2, затем кратные 3, кроме 3, и т. д. В итоге остается последовательность простых чисел, не превосходящих п. Для реализации этого метода на ЭВМ нужен большой объем памяти.
Оба указанных метода работают медленно (для метода пробных делений, например, нужно О(п1/2) операций). Поэтому уже для чисел порядка 1030—I040 они неприменимы. По существу, эти методы не только проверяют простоту, но и находят нетривиальный делитель в случае составного п. Методы, предназначенные для разложения чисел на множители, пригодны, конечно, и для проверки простоты натуральных чисел. Однако мы не будем здесь рассматривать алгоритмы разложения на множители. Интересующимся этим вопросом рекомендуем работу [26], где дан обзор алгоритмов разложения, работающих за О(ц“) шагов (а = const), и работу [23], где дан обзор алгоритмов разложения за О (е« Viog n log log п) шагов.
Для проверки простоты чисел п < 25-109 можно пользоваться тестом работы [21]. Предварительно дадим одно определение.
Определение. Пусть п — нечетное число, п — 1 = d • 2s, d нечетно. Число п называется строго псевдопростым в базе а, qeN, если ad=l (mod/г) или ad2r = — 1 (mod п) при некотором г, 0 ^ г < s.
Для проверки простоты чисел п< 25-109 в работе [21] приводится следующий алгоритм:
Проверить, является ли п строго псевдопростым в базе 2? Если нет, то п составное и алгоритм останавливается.
То же в базе 3.
То же в базе 5.
То же в базе 7.
п = 3215031 751? Тогда п составное.
Если не было обнаружено, что п составное, то п — простое число.
Для проверки простоты чисел специального вида, например чисел Ферма или Мерсенна, существуют особые тесты.
Теорема [17]. Пусть n = 2m+l, m> V отчетно. Число п простое тогда и только тогда, когда
3*п 1)/2 = — 1 (modn).
что правенчто правенДоказательство. Из выполнения сравнения следует,
что правен
что правен
простое, поскольку п - 1 = 2”.простое, поскольку п - 1 = 2”.в этом случае порядок 3 в (Z/nZ)*
простое, поскольку п - 1 = 2”.
простое, поскольку п - 1 = 2”.
Пусть п — простое число. Из условия теоремы следует, что п > 3, 3 Т п, n = 2(mod3), ns 1 (mod4). По квадратичному закону взаимности (см. [2, гл. 5])
z О х ,."-1 3-1
(т)=Ш<-1“ ^(iHl)—1.
= 3 2 (modn).
Теорема доказана.
Теорема [5, § 4.5.4]. Пусть m — нечетное число, п = 2'" — Г, последовательность {LJ определена по формуле
^0 = 4, Lt+X s (Ц — 2) (mod п), 0^.Lt<n.
Число п простое тогда и только тогда, когда Lm_2 — 0.
Для проверки простоты чисел вида k • 2Z • 3m — 1 в работе [29] предложены некоторые специальные тесты.
(л ± О-МЕТОДЫ
Как мы видели в § 2, для чисел 2m + 1 и 2т —■ 1 существуют специальные быстрые методы проверки простоты. Отметим, что в данном случае для числа п— 1 или для числа n-V- 1 нам известно полное разложение на простые сомножители.
Описываемые в данном параграфе тесты используют полное или частичное разложение чисел n± 1 на множители. Этим методам посвящена интересная работа [11].
Предложение 1 [11, теорема 1]. Пусть п — натуральное число, п — 1 =П^=1 pV — разложение на простые сомножители.
Если для каждого t= 1, ..., к существует натуральное число аь такое, что
a4-Y = 1 (mod п),(3.1)
■ ■■п-1:
п/‘ ^l(modn),(3.2)
то п — простое число.
Доказательство. Пусть mz — порядок а, в (Z/nZ)*. Из (3.1), / ai
следует, что р“‘ делит mz. Следовательно, число a(m‘ Pi ~bt имеет порядок р“* в (Z/nZ)*, а число bY ... bk — порядок р“' ... р^ = « — 1. Значит, п — простое число.
Предложение 1 есть так называемый (/г—1)-метод. Для проверки простоты п надо разложить п — 1 на множители и затем искать (путем перебора а = 2, 3 ...) числа «1, ..., ак, удовлетворяющие (3.1) и (3.2). Если же для некоторого а в процессе перебора окажется, что (п, n) > 1 или ап-' Д= 1 (mod пу то п составное.
Дальнейшие усовершенствования (п—1)-метода заключаются в использовании частичного разложения числа п—1 на множители. Типичным примером служит следующий результат.
Предложение 2 [11, теорема 4, следствие Т\. Пусть n—\=FxRv, где (Fx, Rx)=\, и известно полное разложение Рх на простые сомножители. Пусть для каждого простого pt, pt\Fx, существует натуральное число ах, такое, что
(
И — 1X
а^1 — 1, п) = 1.
Тогда, если Fx>-^n, то п— простое число.
Возможно дальнейшее уменьшение нижней границы для Fx (т. е. для разложенного на множители делителя числа п—1), например, до Л> (4)1/3 <см-111^
Перейдем к рассмотрению тестов, использующих разложение п + 1 на множители.
Пусть Р, Q — целые числа. Рассмотрим последовательности Лукаса {(/,), \ViY
, Uo = O, Ux = \, Ul+2 —PUl + x — QUt, l>0;,,.Д л
Vo = 2, VX = P, Vl+2 = PV^x-QVt, l>0. ;
Число D = Р2— 4Q #= О называется дискриминантом последовательностей Лукаса. О свойствах этих последовательностей см. для справок [11].
Следующее предложение аналогично предложению 1 с заменой п — 1 на п + 1.
Предложение 3 [11]. Пусть п + 1 = Ц?=1 qV", пусть D — натуральное число, (-^-) = —1. Если для каждого i=l, ..., к существует последовательность Лукаса (И/'*} дискриминанта D, такая, что
n\Un\.\, n-VU^n+iyq.,
то п — простое число. Если же найдется последовательность {Ui} дискриминанта D, такая, что n^Un+1, то п — составное число.
Замечание. Предложение 3 есть тест проверки простоты числа п. Аналогично можно использовать последовательности {V/}. Также, аналогично предложению 2, можно использовать частичное разложение п + 1 на множители (подробности см. в [11])-
Дальнейшее развитие (п + 1)-методов можно найти в работах [20, 27 — 29]. В частности, для проверки простоты п используется разложение на множители не только м±1, но и П2 + 1, п2 ± п + 1.
ТЕСТ МИЛЛЕРА. ВЕРОЯТНОСТНЫЕ ТЕСТЫ
Пусть п — нечетное натуральное число, простоту которого нужно проверить. Рассмотрим следующий алгоритм.
Алгоритм Миллера
Проверить, является ли п степенью целого числа, n = ms, 8^2. Если да, то п составное.
Проверить условия (а), (б), (в) для каждого натурального числа а ^ f (м) (где f (п) — некоторая функция от п, которую мы определим ниже).
а | п;'
ап-х 1 (mod);
для одного из чисел 6Ь . .., bU1(.n~n, где bk = atn-nE — — 1 (mod n), 0^bk<n, выполнено неравенство 1 < (bk, п)<п.
Если хоть одно из этих условий выполнено, то п — составное число.
Если мы дошли до этого шага и не было обнаружено, что п составное, то п — простое число.
Так выглядит алгоритм Миллера [19]. Если f (п) = с • п0-133 (где с — некоторая абсолютная постоянная), то этот алгоритм делает О (п1/7) шагов и правильно определяет, является ли п простым или составным. В работе [8] предложена некоторая модификация алгоритма Миллера, требующая О («1/10-89) шагов.
Если допустить справедливость одной недоказанной гипотезы (так называемой расширенной гипотезы Римана), то можно положить f(n) = Ci log4 п (где ci — некоторая абсолютная постоянная). Тогда для проверки простоты нужно сделать лишь O(log6n) шагов.
Замечание. Расширенная гипотеза Римана заключается в следующем. Пусть ^а^— либо неглавный характер по модулю п, либо х(а)= 1 для всех зе N. Тогда нули функции
L (s, х) = Е X НКа=1
в полуплоскости Res>0 лежат на прямой Res = 1/2.
В работе (29) приведен тест Селфриджа — Уайнбергера, сходный с методом Миллера и заключающийся в проверке сравнений
р(п-1)/2 = _j_ 1 (mo(j n)
для всех р, меньших некоторой границы, зависящей от п.
Существуют также так называемые вероятностные тесты проверки простоты. Для работы этих тестов нужна последовательность равномерно распределенных случайных чисел из отрезка [1,п]. Для каждого очередного случайного числа проверяется выполнение некоторых условий. Если какое-либо из этих условий не выполнено, то п — составное число. Если же условия выполнены, то с некоторой вероятностью можно утверждать, что п— простое число. Эта вероятность тем ближе к 1, чем большее количество случайных чисел мы проверим.
Рассмотрим в качестве примера вероятностный тест Соловея— Штрассена [25]. Пусть п — составное число. Тогда количество натуральных чисел а, 1 ^ а ^ п—1, удовлетворяющих условиям
К п)=1,
а("-1,Р= (-^-) (mod п),
не превосходит /г/2. Поэтому, если мы проверим выполнение условий (i) и (ii) для к случайно выбранных значений а из [1, п—1] и не обнаружим, что п составное, то п — простое число с вероятностью, не меньшей, чем 1 — 1/2*.
Еще один вероятностный алгоритм рассмотрен в [24]. Схема его работы та же, что в алгоритме Миллера, только вместо проверки условий (а), (б), (в) для всех a^f(n) проверяются случайно выбранные значения а. Теоретическая оценка вероятности в этом методе лучше, чем в методе Соловея и Штрассена.
Существуют также вероятностные алгоритмы разложения на множители (см. [13]).
5. НЕКОТОРЫЕ ОПРЕДЕЛЕНИЯ И ТЕОРЕМЫ
ИЗ АЛГЕБРЫ И ТЕОРИИ ЧИСЕЛ
При дальнейшем обсуждении способов проверки простоты чисел нам придется пользоваться некоторыми результатами из алгебры и теории чисел. Для большей ясности изложения мы сформулируем их в данном параграфе.
Кольцо Z [у и его идеалы. Рассмотрим поле Q(CP), полученное присоединением к полю рациональных чисел корня £р степени р из единицы.
Предложение 1 [15, гл. 4], [4, гл. 3].
Степень поля Q (£,,>) над Q равна р — 1; многочлен Фр(х) = = хр~1+ ... 4-.г 4-1 является примитивным для £р; кольцо Z [Ср] — целое замыкание Z в Q (£„) (следовательно, оно дедекиндово [3, гл. 5]).
Группа Галуа поля Q (Ср) над Q изоморфна группе (Z/pZ)*- элементу m(Z]pZ(* соответствует элемент ou G Gal(Q(Cp)/Q), определяемый равенством аи (£ ) = С“-
Предложение 2 [4, гл. 3]. Пусть р, q— простые числа, q 4= р, и f есть порядок q в группе (Z/pZ)*.
Идеал (р) s Z [£р] есть степень простого главного идеала (1-СР): (р) = (1-СРГ1.
Идеал (qisZ[y есть произведение g = (p — V^ простых идеалов:
(q^Q-x ... &g, при этом норма
№t = * (Z (Ц^ = qf^\ (mod pY
W В кольце (Z/qZ) [х] справедливо разложение
‘ “IФр (х) = Й A, W (mod q'),
deg*z(x) = f, i = 1, . ..,g, ht(x^ —неприводимы в (Z/^Z)[x].
Простые идеалы &(, лежащие над (q) в Z[£p], определяются по формиле
^ = (4, М^, i=V g-
(4) Пусть, кроме того, р \q—1, tq— число, являющееся первообразным корнем в T^ql. Тогда g = p—^, р-1 / JL1L /\
®pto=nU- V y(modp),
^i = Vq,^p-tqP ), 1=\,р-\.
Пусть G = Gal (Q ЫОУ Кольцо Z [G] по определению состоит из формальных линейных комбинаций
g = Е йоа, где а0 г Z, о g G. Если х е Q ^т), g = 2 ао° s ^ [G], то мы полагаем по определннию
О
2° Символ Якоби и суммы Якоби. Пусть р — простое число.
Определение. Пусть & — ненулевой простой идеал в Z [у, не делящий (р). Для элемента aEQ(y, такого, что Va(a) = 0, выполнено сравнение
a(N-Qi)/PsS/p(modQ)j о</<р-1
(/ определено однозначно; сравнение следует из предложения 2, п. 2). Определим символ вычета р-й степени (^-)р равенством
(£)
х V /р
СИМВОЛ 1WIBHI р-» степени можно продолжить по мультипли- катмеоети яд элементы veQ(Cp):
п Ш?1”- '
Очевидно, что для любого а г Gal(Q(£p)/Q) справедливо равенство
Предложение 3.
Пусть q— простое число, p\q— 1, tq — первообразный корень по люд улю q,
Тогда для xeZ, (х, р)=1, справедливо равенство
(Доказательство см. в работе [9], формулы (3.5).)
Пусть р> 2; пусть а и \ — элементы поля Q (^р), взаимно простые с К=\ — ^р и друг с другом. Пусть далее а = 1 (mod V), у = 1 (mod V), i + j^ р + 1. Тогда
(П-(Н-
(Это частный случай закона взаимности р-х степеней. Доказательство см. в [10]; см. также для справок [9].)
Пусть О.— простой идеаг в Z[£p], не делящий р; пусть а, b — целые числа. Определим сумму Якоби, ассоциированную с идеалом О.:
где суммирование ведется по множеству представителей классов вычетов Z [Ср]/&, отличных от 0 и 1.
Предложение 4. [6, гл. 1], [14]. Пусть р > 2.
Пусть a, beZ, ab (а + b)^ 0 (mod р). Для каждого heZ положим
p-i(7а,6(&))= n^W^
и=1
есть разложение идеала (,1а^ь(^У) в произведение простых идеалов в кольце Z[£p] (здесь ой* — элем°нт Gal(Q(^p)/Q), обратный, к ои).
Если D. не делит главный идеал (2) в Z [$р], то
~/o,6(Q)=l(mod(l-^)2).
3° Характеры, суммы Гаусса и Якоби. В этом пункте q — простое число, q > 2. Характером % по модулю q называется гомоморфизм группы (ZlqT,)* в группу корней степени q— 1 из 1. Порядок характера % есть наименьшее натуральное число ш, удовлетворяющее равенству хт==Е О свойствах характеров см. [7, гл. 4].
Сумма Гаусса т(х), ассоциированная с характером х п0 модулю q, определяется равенством 9-1
т(х) = — £ xW^-
Х=1
Если порядок х равен т, то t(x)eZ^,„, 5J.
Если Xi и х?— характеры по модулю q, то сумма Якоби, ассоциированная с Xi и х», определяется равенством
9-1
/ (Xi, Ха) = £ Xi W х2 (1 — х\
Х=2
4° р-адические числа и степени. Пусть р— простое число. Целыми р-адическими числами называются формальные ряды вида
а0 + ахр + а2р2 + ..., пг е Z, О^П/^р— 1, i = О, 1
О свойствах р-адических чисел см. [1]. Они образуют кольцо, обозначаемое Zp.
Пусть G— мультипликативная группа, i£G = pm. Тогда ее элементы можно возводить в р-адическую степень: если g е G и п = а0 + ахр 4- .. . Е Zp, то
g0_gao+aiP+"-+om-lPW-li
Очевидно, ga = ga°+ +°*р при всех к^т—1.
Рассмотрим множество 1 + pZpsZp, состоящее из элементов 14-0:^+ .... Оно образует группу по умножению; ее элементы также можно возводить в р-адическую степень по следующему правилу: если / е Zp, ael 4-pZp, a=\4~aiP+ •••> т0
я1 = 1 4" bxp 4-... e 1 4- pZp, где числа bx, bi, ... определяются из сравнений
4- bxp 4- ... 4- Ь^‘ = (1 4- axp 4- ... 4- сцрУ (mod pz+1)
(здесь возведение в степень I определено, так как 1 4- ахр 4- ... ... 4- atp‘ имеет порядок, равный степени числа р, в группе (Z/p'+'Z)*).
СХЕМА МЕТОДА АДЛЕМАНА. АЛГОРИТМ НОД
1° Несколько лет назад Адлеман и Румели [9] предложили алгоритм, который при вводе натурального числа п определяет, является ли п простым, за О ((logn)clogloglogn) шагов, где с—абсолютная постоянная. Мы приступаем к описанию этого алгоритма.
В дальнейшем п будет обозначать нечетное натуральное число, га>1, простоту которого надо проверить. Мы будем предполагать, что задан набор различных простых чисел pi, ..., ps, называемых начальными простыми, и набор простых чисел q\, ..., q.M, называемых евклидовыми простыми, таких, что
qt — 1 |pi .. . ps, i = 1, ..., М(6.1)
(в частности, q,-—1 свободны от квадратов) и
»i ••• qM>Vn.(6.2)
Пусть также (га, рг) = (га, q^=\, иначе вопрос о простоте га решается тривиально.
В дальнейшем р будет обозначать одно из начальных простых, a q — одно из евклидовых простых.
Основная идея метода Адлемана такова. Пусть г — простой делитель п, г <л^п. Знание г эквивалентно в силу (6.2) знанию г (mod qx ... qM), что в свою очередь по китайской теореме об остатках эквивалентно знанию г (mod q^, z = l, ..., М. Пусть tt — первообразный корень по модулю q^ Мы можем найти r(mod^;), если знаем ind9. г (mod (^г — 1) (индекс вычислен по отношению к первообразному корню t,). В силу (6.1) и китайской теоремы об остатках достаточно знать ind,. г (mod р,\ j=i, ..., М. Основной факт, используемый в алгоритме Адлемана, заключается в следующем; если фиксировать р — р,, то индексы ind9 г (mod р^, где p\q—1, при различных q связаны между собой так, что, зная один из них, можно вычислить остальные и в конечном счете найти г. Поэтому в алгоритме Адлемана га подвергается серии тестов, в ходе которых либо обнаруживается, что га составное, либо накапливается информация, необходимая для вычисления индексов и нахождения простого делителя числа п.
2°. В этом пункте мы опишем алгоритм НОД, используемый в ходе работы алгоритма Адлемана.
Пусть га > 1 — нечетное натуральное число, р — простое число, (га, р) = 1. Пусть / — порядок га в (ZjpZy. Пусть, наконец, заданы числа с^аА е Z [£р], не принадлежащие простым
идеалам 91, делящим (п) в Z[y. Описываемый здесь алгоритм НОД либо показывает, что п составное, либо строит нетривиальный идеал 91 е Z [£„] и числа s, А, ..., jh, обладающие следующими свойствами:
ps\ns — 1;‘
а<"^~1)/р$ = ^р (mod 21),'
где 1 < А<Р> i = 1, . •., А;
либо существует А такое, что £р‘#=1, либо ps+l-f nf — lr- -"
идеал 21 разлагается в произведение некоторых простых идеалов, делящих (п) в Z[£p]., п
Алгоритм НОД для р > 2.* ;
Мы строим последовательность идеалов 21(0 в кольце ^М пока не дойдем до идеала с нужными свойствами.
Шаг 1. Положим 2l<0) = («), g0 (х) = 0, s = 1.
Шаг 2. Построим 21(1), .
Допустим, что l^z^A и 21*1"1* построен. По построению он имеет вид
= gl_x (£„)),
где g,-_| (х) е Z [.t]. Поскольку ^-eZ^], то справедливы par венства
a(V-i)/P _ £/ — g^, /= 1, р,(6.3)
где gij (х) е Z [х], deg gi;(x) ^ р — 1. Рассмотрим идеалы ,
^Р = (п, gt-x^, gtl№ /=1-Р-'" ' /
Очевидно, что если п — простое число, то. ■
^ = (п, иИО, /=1, .... р,
где Нц (х) — наибольший общий делитель многочленов gi-xM и gtj (х) в кольце (Z/nZ) [х]. Этот многочлен ы^ (х) может быть вычислен с помощью обычного алгоритма Евклида, примененного к gz_i(x) и gtj^, если только не окажется, что старший коэффициент одного из многочленов, возникающих в алгоритме Евклида, имеет нетривиальный общий делитель с п, т. е. необратим по модулю п. В этом случае, очевидно, алгоритм НОД обнаруживает, что п — составное число.
Если мы нашли «//(Ср), /=1, ..., р, и оказалось, что Л^> = (1)) /=1, ..., р, то п — составное число (обоснование этого будет дано после алгоритма НОД). В противном случае
мы полагаем 21<‘* равным первому (по /) нетривиальному идеалу й^ и
gi^p^U.j (^р).
Шаг 3. Пусть построены идеалы 31(1>, ..., 91(Л>. По построению выполнены сравнения
a^-'^—^Cmod^), г=1, А.
Если хотя бы одно из чисел /\ отлично от р или если р2 \п^ — 1, то алгоритм НОД заканчивает работу, так как условия (а) — (г) выполнены для 31 = 31<Л) и s = 1.
Шаг 4. Предположим, что ix—...=jh = p и p2[nf — 1. Тогда полагаем s = 2 и строим идеалы 2i(h+1\ ..., 21<ЗЛ> так же, как на шаге 2, начиная с идеала вместо 21<0); для построения у(А+!| вместо соотношения (3) используем соотношение
р, ' (6.4) где s = 2.
Шаг 5. Далее тем же методом строится набор 2И2А+1\ ... ..31<ЗА> с помощью (4) и s = 3 и т. д. В конечном счете либо будет обнаружено, что п составное, либо будет построена последовательность идеалов ЗБ1», ..., 2l(sh), такая, что s и 91 = = 9l(sA) удовлетворяют условиям (а) — (г).
На этом заканчивается описание алгоритма НОД для р > 2. Условие (г) выполнено для 2l = 9l(sW: по построению ЗБ'* zd zd 3l(i-1> zd (п), следовательно, так как Z [£р] — дедекиндово кольцо, то № | (п), что и требовалось доказать.
Для завершения обоснования алгоритма НОД осталось показать, что если при построении идеала 31<‘> все идеалы 31</> оказались единичными, то п— составное число. Пусть п простое, и пусть построен идеал 21<Z->) = («, gt_x (£р)) =/= (1). Пусть Я? — один из простых идеалов, делящих "SU1—D. По построению 91 |п. Будем считать, что / ^ й, так как в общем случае доказательство аналогичное. Тогда (см. определение символа Якоби)
a/"/-1)/p = £р (mod 91)
при некотором /, 1^/^р. Следовательно, при этом / идеал 3l/Z) = (а*^-1-1^-1 — ^р, Зl<z'-|,) будет делиться на 9?, т. е. не будет единичным, что и требовалось доказать.
Алгоритм НОД для р = 2.
Пусть T=v2(n — 1). Пусть для всех j, 0^/</0^Т, выполнены сравнения
а(”-о/2 _ । (тос|п^ г = I, ..., h.
Если при некотором I а?-х^2!° ^ ± 1 (mod/г),
то п — составное число. Если
а;"'”1^2,0= 1 (mod rt), i=\, .h,
и /о < Т, то переходим к /о + 1. В противном случае останавливаемся, полагая s = j0.
АЛГОРИТМ ПРОВЕРКИ ПРОСТОТЫ
Пусть задано нечетное натуральное число п>1, простоту которого требуется проверить.
1° Подготовительная стадия.
Шаг 1. Выбрать положительное свободное от квадратов целое число Ди), такое, что
П 7 > V«
»-1 I f (п) q простое
(чем меньше /(и), тем быстрее работает алгоритм; поэтому желательно брать наименьшее возможное /(«))• Взять в качестве начальных простых чисел р простые делители числа f(n), в качестве евклидовых простых простые числа q, q—1|/(п).
Шаг 2. Для каждого начального простого числа р и каждого евклидова простого q проверить условия
(и, р) = 1, (n, q) = 1.
Если они не выполнены, то п составное (либо равно одному из р или q, т. е. простое).
Шаг 3. Для каждого евклидова простого q найти первообразный корень tq, q > tq> 0..
Шаг 4. Для р = 2 положить
а = Ь=\, 8О)6= 8М(2)= 1.
Для каждого начального простого р > 2 найти целые числа а, Ь, 0 < а < р, 0 < b < р, такие, что а 4- b ^ 0 (mod р) и
р-1
8а,ь (/>) = 80, ь = £ ([^7^ "1 ~ [у "3 ” ["р" "D (m°d ^ * ' и=1
0 (mod р).
Шаг 5. Для каждого начального простого р и евклидова простого q > 2, p\q— 1, фиксировать простой идеал
^t = Vq, JeZ[^,
где t,p = enilp. Вычислить сумму Якоби /р(^) EQ(y: для р = 2 положить
9-1
■^р(^) = (—1) 2 q = ~ q;
для р > 2 положить 9-1
X XJ.q /р \ ХДд )р
где числа а и b соответствуют р и вычислены на шаге 4.
2° Стадия вычисления переходных данных.
Шаг 1. Для каждого начального простого числа р выполнить алгоритм НОД из § 6 для числа п, беря в Качестве набора ct)aft множество чисел aJp^q\ Здесь ст пробегает Gal (Q (£P)/Q), q пробегает множество евклидовых простых, таких, что p\q— 1, числа Jp(q) найдены на шаге 5 подготовительной стадии.
В результате выполнения этого шага может оказаться, что п составное; тогда алгоритм заканчивает работу. В противном случае для каждого р будет построен идеал 9IpsZ[£p], целое число s = s (р) ^ 1 и целые числа / (ст, q), 1 ^ / (ст, 7) ^ р, также зависящие от р, такие, что выполнены сравнения
^1р»>(mod Я„)
(здесь / порядок п в ZjpZy Кроме того, либо р-V ^—l)/ps, либо одно из чисел £Н°' ^ отлично от 1 (т. е. /(ст, q1) ^ р\
Шаг 2. Для каждого начального простого числа р вычислить набор чисел m(cr, q\ зависящих от р, где q пробегают множество евклидовых простых, таких, что p\q—1, а а пробегает Gal (Q (gp/Q). Вычисляем m(cr, q^ по следующим правилам.
Если все числа /(ст, q^, найденные на шаге 1 для данного р, равны р, то положить все т(ст, ^) = 0.
Если, напротив, найдется / (ст0, q^ #= р, то положить у = = aJP(qo) и в качестве m(cr, q) взять числа, удовлетворяющие условиям
(Y<«f-i)/p jMa.»^ (0jp^nt-l^p (modЯр), 0<m(o, gXp— 1.
3° Стадия построения делителей п. Для каждого k, 1 ^ ^ к ^ f (м) (где f(n) — произведение начальных простых чисел) проделать следующие вычисления.
Шаг 1. Вычислить /(к, д) для всех евклидовых простых д, полагая I (к, 2) = 1,
р-1
I (к, д^ = к^аЛГх £?) (mod р) (7.1)
= 1
для каждого р\д — 1. Здесь числа 90>ь, зависящие от р, найдены на таге 4 подготовительной стадии, а числа пг(а, д), также зависящие от р, — на шаге 2 стадии вычисления переходных данных. Вычисление 1(к,д), удовлетворяющих (7.1), проводится с помощью китайской теоремы об остатках.
Шаг 2. Для каждого евклидова простого числа д вычислить наименьшее положительное целое число
r(k, д) = tq(l1'ч} (mod д).
Шаг 3. Вычислить (с помощью китайской теоремы об остатках) наименьшее положительное целое число г (к), такое, что
г (к) = г (к, д) (mod д)
для всех евклидовых простых д.
Шаг 4. Если г(к)\п, 1<г(к)<п, то п составное. В противном случае перейти к следующему значению к.
Если ни для одного к, 1 ^ к ^ f(n), не было обнаружено, что п составное, то м — простое число.
На этом заканчивается описание алгоритма.
ОБОСНОВАНИЕ АЛГОРИТМА АДЛЕМАНА. ВРЕМЯ РАБОТЫ
1° Подготовительная стадия. Пусть fi(n)— наименьшее натуральное свободное от квадратов число, такое, что
(8.1)(8.1)П д>^п.
(8.1)
(8.1)
q-\ 1 fi(n) q простое
Теорема [9, теорема 3]. Существуют абсолютные положительные вычислимые постоянные с\, с-2, такие, что для всех п > 100
(log nf108108108 " < А (п) < (log п)с*108108106 ".
Анализируя алгоритм, нетрудно видеть, что время его работы есть О (f (/г)Сз), где с3 — некоторая постоянная. Поэтому, если выбрать f (n) = f, (п), то алгоритм выполняет проверку простоты за О ((log nf*108 108108 п) шагов. Эта оценка неулучшаема, поскольку для простого числа п алгоритм делает не менее / (м) шагов.
Существование элемента 0а> ь = 0а> 6 (р) ^ 0 (mod р) на шаге 4 подготовительной стадии обеспечивается предложением 7 из [9].■
В работе [9] также указано, что для 2 < р < 109, р у= 1093, 3511, можно взять а = Ь=\.
2° Стадия вычисления переходных данных. Нужно показать, что числа a.j = ajp^ не принадлежат простым идеалам, лежащим над (п) в Z[£p] (условие применимости „алгоритма НОД“). Но Jp (р) вычисляется с помощью символа Якоби, соответствующего простому идеалу 91^, лежащему над (р) в Z[y. По предложению 4, § 5, простые идеалы, содержащие Jp (р), лежат ' над идеалом (р). Идеалы (р) и (п) взаимно просты, следовательно, лежащие над (п) простые идеалы не содержат (^)’
и поэтому не содержат Jp(q), что и требовалось доказать.
3° Стадия построения делителей п. В этом пункте мы будем предполагать, что п — нечетное составное число, г — фиксиро- L ванный простой делитель п, г < -\/п; предположим также, что ; алгоритм дошел до выполнения «стадии построения делителей /г» (т. е. до этой стадии не было обнаружено, что п составное). Покажем, что на этой стадии г = г(^) при некотором к, \ ^к^^пу;
Как указывалось в § 6,1°, для нахождения г достаточно знать (ind^r) (mod р) для каждого начального простого р и евклидова простого q, p\q—1 (индекс вычисляется по отношению к первообразному корню tq, который мы считаем фиксированным).
Предложение. Существует натуральное число к, 1 ^ к ^ f (п), такое, что для каждого начального простого р и каждого евклидова простого q>2, p\q— 1, выполнены сравнения
Р-1
(8.2)(8.2)ind^ г = к (0а 6)-1 ^ m (of1, р) (mod р).z = i
(8.2)
(8.2)
(Здесь 0а Ь, щ(а, р) — числа, зависящие от р, вычисленные соответственно на шагах 1 и 2 алгоритма Адлемана.)5
Это предложение служит обоснованием последнего шага алгоритма. Действительно, на этом шаге, где перебираются все значения к и, следовательно, рассматриваются все потенциально возможные значения (ind, г) (mod р), из которых затем строятся все потенциально возможные делители г(^) числа п, г (к) <-^п. Заметим также, что выбор числа Цк, 2) = 1 на этой стадии произволен, поскольку далее вычисляется
г (k, 2) ; ^ *’2) (mod 2) = 1 (mod 2),
что, очевидно, должно выполняться в силу нечетности г.
Для доказательства предложения нам понадобится следующая основная лемма.
Основная лемма [9, стр. 192]. Пусть f обозначает порядок п в ZfpZ и 91 идеал в Z [£р], делящий п. Пусть заданы аь ..., аА е eZ[£p], целое число s^l и целые числа j[t ..., ih, такие, что
Wps\nf-\;
а("^-1)/р$ = ^р (mod 91), z=l, ...,к;
либо р^-^-^-, либо при некотором i, l^z^/z, t.p^L
Тогда для любых а, р е {а,, ..., аД и любого целого числа m из выполнения сравнения
ps (mod2i)
следует выполнение утверждения: для любого простого идеала 31 с: Z[^p], 3?| 91,
Доказательство предложения. Пусть г — простой делитель п.
Случай 1. Докажем, что для начального простого числа р > 2 выполнено сравнение (8.2).
Фиксируем начальное простое р > 2, евклидово простое q, p\q — X, и рассмотрим кольцо Z^pY Из того, что г, р, q — различные простые числа, и из предложения 4 (§ 5) следует, что г и Jp(q) взаимно просты в дедекиндовом кольце Z^p] друг с другом и с X = 1 — ^р. Далее
г- (p-d = 1 (mod р) = 1 (mod (Х)р-1)
в Z[£pY и по предложению 4 (§ 5)
4 (?) =1 (mod Л2)-
Следовательно, выполнены условия предложения 3 (п. 2, § 5). Пользуясь этим предложением, получаем
/ г \ / р-^-^Ч/ ^р(у) \ .-„.
Мр№ — X Mq) )р Vr-^Up-к г )р (символ Якоби не меняется при умножении входящих в него элементов на р-ю степень). По предложению 3 (§ 5) при
/JL_l\
& = U ^p-tqP справедливо равенство
Ш,= П(^)’°М=П-Ш^
U = \ 4 “ ' Рц=1-
р — 1
_ Д ^j^y-^jUXmodp) _ ^2_у«, »(mod р) (8 4)
Из предложения 2 (§ 5) следует, что существует натуральное число d, такое, что
p-i
(r)d = П 0/81,/=1
где 91 — некоторый простой идеал, делящий г в Z (Ср1- Поэтому
По основной лемме, применяемой при данном р к числам а/ = а/p (7), где q пробегает евклидовы простые, такие, что p\q— 1, а о е Gal (Q OQ, и по выбору чисел т(о, q) на шаге 2 алгоритма имеем
(^р^А _ л ух^ (°/ *’’) к 91 JP V^Jp
Следовательно, ,>p-i
(8.5)(8.5)f JpWlX / у X Е !т^о-1, д^ (mod*» V Г» )p-V5Up
(8.5)
(8.5)
Из формул (8.3) — (8.5) находим
/ J_V6dib(m°dp) / г \d_ / rd х
\ £1 / рx^p^q^/p х / р (q) ) р
p-i
,,?./"• (V1. ») (mod р) (8 б)
По выбору идеала £1 имеем
=r ₽ (mod С) ^Г* Г) (mo*&) = ind_ r .. _ .
= ^p 4 (mod tA.-
Значит, ^V^'-<8'7>
Пусть (да") — £*'» 1 ^^i^P- Тогда из (8.6), (8.7) следует, что (ind,r)deo ь^А:, £ /щ (ар ?)(modp)
(так как p\q — 1). Из последнего сравнения вытекает утверждение доказываемого предложения: искомое к удовлетворяет сравнению
к = kid~} (mod рр(8,8)
Правая часть сравнения (8.8) зависит от р. Если теперь р пробегает все начальные простые р, то число к, 1 ^k^f(n), существование которого утверждается в доказываемом нами предложении, определяется из сравнений (8) с помощью китайской теоремы об остатках. Осталось лишь рассмотреть р = 2.
4—1
Случай 2. р = 2. Тогда £P=—Y 72(^) = (_0 2 q=~q в в силу бесквадратности q — 1 при q > 2; Q(£P) = Q. Проверим выполнение формул (8.3) — (8.7). Тогда, как и в случае р > 2, будет выполнено сравнение (8.8) для р = 2; это завершит доказательство предложения.
По квадратичному закону взаимности
q — \ г—1
\iPkqv Vq ) ' ’
4-1/±L1 X
/-1 А 2 р V (-1) 2 д L
т. е. справедлива формула (8.3). формула (8.4), очевидно, верна, поскольку Cl = (q) = Цр (у)) и 0О, b = 1. Формула (8.5) справедлива при j— 1 и 91= (г); значит, справедлива и формула (8.6). Формула (8.7) верна по определению символа квадратичного вычета.
Этим завершается доказательство предложения и обоснование алгоритма Адлемана.
ДАЛЬНЕЙШИЕ УСОВЕРШЕНСТВОВАНИЯ АЛГОРИТМА АДЛЕМАНА
1° Алгоритм Ленстры: использование сумм Гаусса и Якоби. Как и прежде, п > 1 — нечетное натуральное число, простоту которого нужно проверить; рх, ..., рт— начальные простые числа, pv ... рт = t, qv, .... ^ — евклидовы простые числа, такие, что
s _
qt—WPv ... р,п, AYqi>^n.(9.1)
Ленстра [16] предложил усовершенствованный алгоритм проверки простоты, использующий суммы Гаусса и суммы Якоби, ассоциированные с числовыми характерами. За счет этого удается избежать использования символов Якоби в кольцах алгебраических чисел и высших законов взаимности, что приводит к теоретическим и алгоритмическим упрощениям.
Пусть % — числовой характер по модулю q порядка р, т(х)— сумма Гаусса (определения см. в § 5).
Предложение 1. Если п — простое число, (n,p) = (n,q) = 1, то выполнено сравнение
T(x)" = X(n)-"T(x")mod(nZ[^p, ^]).
Алгоритм Ленстры основан на проверке двух следующих условий.
Для каждого простого делителя г числа п <
Up(rP-‘— l)>vp(nP-* — 1);
для каждого характера % по модулю q порядка р выполнено сравнение
т (х)" = Т^ (х") mod (nZ [gp, ^]), где ц — корень степени р из единицы.
Условие (а) выполняется, например, когда np"v ^ 1 (mod р-).
Условие (а) также может быть проверено с помощью условия (б), согласно следующему предложению.
Предложение 2 [16, предложение 2.7]. Если условие (б) выполнено при ц#=1, то число р, равное порядку характера х, удовлетворяет условию (а).
Проверка условия (б) может быть осуществлена непосредственно. Однако она упрощается за счет использования сумм ■ Якоби, которые принадлежат к меньшим (по степени) числовым
полям, чем суммы Гаусса, что значительно облегчает вычисления. Проверка выполнения некоторых сравнений в кольце Z [£р], включающих суммы Якоби J (х, х)> либо показывает, что п составное, либо приводит к заключению, что выполняется условие (б).
В работе алгоритма Ленстры существенно используется также следующее предложение.
Предложение 3 [16, предложение 2.6]. Пусть условия (а} и (б) выполнены для начального простого р, евклидова простого q, p\q—\, и характера х по модулю q порядка р. Тогда для любого простого числа г, г\п, справедливо равенство
X^ = xWp^> где
гр-' _ 1
1Р (г) = -yq—- (mod pY
— 1
В целом алгоритм Ленстры работает по следующей схеме. Для всех начальных простых чисел р, евклидовых простых q и характеров х по модулю q порядка р проверяется выполнение условий (а), (б). При этом может быть обнаружено, что п — составное число. Если условия (а) и (б) проверены и не было обнаружено, что п составное, то по предложению 3 для каждого простого г, г\п, существует число I = I(г) (/ = lp (г) (mod р) для каждого р), такое, что X (r) = X (п') Для каждого характера х, по модулю q. Отсюда по свойствам характеров следует, что г = nl (mod q) для каждого q; отсюда
Г = П1 (mod qx ... qs\
Поскольку qv...qs>sjn, то г есть наименьший неотрицательный вычет числа п1 по модулю qx ... qs- Поэтому после проверки условий (а) и (б) алгоритм Ленстры проверяет выполнение неравенств
n>kry n)> 1, / = 0, 1, .... pv ... pm—l,где Tj — наименьший неотрицательный вычет числа п* помодулю qx .. . qs- Если на этом шаге делитель не будет найден,то п— простое число. Такова схема алгоритма Ленстры [16].
2° Алгоритм Ленстры и Коэна: снятие условия бесквад- ратности чисел q— 1. Как мы видели в § 8, время работы алгоритма Адлемана есть О(Ц/Р/)С), где П/Р/ обозначает произведение начальных простых чисел, с — некоторая абсолютная постоянная. Чем меньше Л/Р/, тем быстрее работает
алгоритм. Уменьшению этой величины, однако, препятствует неравенство (9.1). Ленстре и Коэну удалось снять условие бесквадратиости чисел q—1, что приводит к существенному уменьшению величины Ц/Р/ и ускорению работы алгоритма.
Рассмотрим функцию е^ от натурального аргумента t;
е^ = <е^ = <2,2 П q^', q простое<7-1112,2 П q^', q простое<7-111если / нечетно;если / четно.если / нечетно;если / четно.
е^ = <
е^ = <
2,
2 П q^', q простое
<7-111
2,
2 П q^', q простое
<7-111
если / нечетно;
если / четно.
если / нечетно;
если / четно.
Предложение 4 [12, предложение 4.1]. Пусть t и s —нату
ральные числа. Условие
7/=l(mods) для всех a^Z, (a, s) = 1,(9.2)
. -выполнено тогда и только тогда, когда s|e(/).
В описываемом ниже алгоритме число t играет роль произведения начальных простых из алгоритма Адлемана, а е^ — роль произведения евклидовых простых. Если
/ = 5040 = 24 • З2 • 5 ■ 7, то е^> 1,5- 1052;
поэтому с такими t и е^ можно проверять на простоту числа л < 10100; начальных простых при этом всего четыре: 2, 3, 5, 7.
Алгоритм Ленстры — Коэна основан на следующей теореме.
Теорема [12, теорема 6.3]. Пусть t и s— натуральные числа, удовлетворяющие условию (9.2); п — натуральное число, п> 1, (п, s/) = 1. Обозначим
Ys = И
q простое
где Yq — множество характеров по модулю q, порождающих мультипликативную группу всех характеров по модулю q (можно считать
Yq = (Хр, »! Р I q — 1> порядок ХР, q равен vp(q—\^.
Допустим, что для каждого простого делителя г числа п выполнены следующие два условия-.
(а) для каждого простого числа р | / существует целое р-ади- ческое число 1р(г\ такое, что
гр~1 = (пр~1ур<г) в группе 1 + pZp;(9.3)
* (б) дЛЯ каждого характера хе Ks выполнено равенство
Х(г) = х(пУр'г\1 (9.4)
где /р (г) то же, что в (9.3), и порядок характера х есть степень числа р.
Тогда для любого делителя г числа п существует целое число I, O^i^Z—1, такое, что
r^n1 (mods).(9.5)
На этом заканчивается формулировка теоремы. Алгоритм Ленстры — Коэна проверяет выполнение условий (а) и (б) теоремы и либо обнаруживает, что п составное, либо приходит к заключению, что все простые делители г числа п удовлетворяют сравнению (9.5). Тогда при s > V^ эти делители легко найти, испытывая наименьшие неотрицательные вычеты по модулю з чисел п‘, t = 0, ..., /—1, на взаимную простоту с п.
Типичным примером того, как в алгоритме Ленстры и Коэна проводится проверка условий (9.3) и (9.4) теоремы, служит следующее предложение (см. [12, теоремы 7.8, 7.19, 8.5]).
Предложение 5. Пусть р, q -— простые числа, р^З, к = = vp(q—V)^l, % — характер по модулю q порядка pk. Пусть
a, b eZ, (а 4- 6)р ^ ар + bp (mod р2), ab (а + Ь) Ф 0 (mod р\
Пусть элемент «е Z[G| (где G = Gal (Q(Cp)/Q)) определен равенством
(.X, р)-1
Если выполняется сравнение
(J(X^ X6))a^mod(nZ[£pt]), (9.6).
где t,— примитивный корень степени рк из 1, a J (х“, X6) — сумма Якоби, то для данного р выполняется условие (9.3), а для х— условие (9.4) теоремы. Если (9.6) не выполнено ни для какого корня £ степени рк из 1, то п составное.
Проверяя сравнение (9.6), мы проверяем выполнение условий теоремы. Случай р = 2 требует отдельного анализа (см. [12])-
Для алгоритма Ленстры — Коэна в настоящее время нельзя установить оценку времени работы, подобную той, которая имеется для алгоритма Адлемана. Дело в том, что для начальных простых чисел р > 2 проверка сравнений с суммами Якоби
вида (9.6) может и не привести к заключению, что для р выполнено условие (9.3) теоремы (так бывает, когда £ в (9.6) не является примитивным корнем из 1). Тогда для проверки (9.3) нужно найти простое число q, такое, что
q = 1 (mod р\ п^-’1^ ^ 1 (mod q). (9.7)
Однако в настоящее время отсутствует такая верхняя оценка для q, удовлетворяющего (9.7), которая дала бы оценку времени работы алгоритма, аналогичную верхней оценке времени работы алгоритма Адлемана.
Несмотря на теоретические трудности, возникающие при оценке времени работы, алгоритм Ленстры — Коэна на практике работает быстро. Согласно [12], для проверки на простоту числа п < 10100 требуется в среднем не более 45 секунд.
3° Ослабление условия s>-y/n. Чем меньшее количество начальных простых чисел р и евклидовых простых q участвует в работе алгоритмов Адлемана, Ленстры, Ленстры — Коэна, тем быстрее они производят проверку простоты. В алгоритме Ленстры — Коэна уменьшение количества чисел р происходит за счет снятия условия бесквадратности чисел q— 1. Дальнейшему уменьшению количества чисел р и q препятствуют неравенство (9.1) или соответственно неравенство е (/)> Vrt (алгоритм Ленстры — Коэна).
Предположим, что в алгоритме Ленстры — Коэна
8 = е0^‘ ... рУ) <л/п.
Тогда на последней стадии работы алгоритма мы будем знать лишь вычеты возможных делителей г числа п, т. е. числа г (mods), но не сами г. Оказывается, что если все же s достаточно велико, скажем s > п|/3, то по числам r(mods) можно найти и сами числа г.
Предложение 6 [18]. Пусть г, s, п— целые числа, удовлетворяющие условиям
0^Г<5<П, s > п'^, (г, s)=l.
Тогда существует не более 11 положительных делителей числа п, сравнимых с г по модулю s; есть полиномиальный алгоритм для нахождения этих делителей.
Алгоритм, упоминаемый в теореме, описан в работе [18]. Однако не ясно, будут ли алгоритмы проверки простоты рабо-
тать быстрее, если выбирать s так, что п1/2 > s > n'/з, и применять алгоритм предложения 6, или если сразу выбирать s > /г1/2 и не пользоваться этим алгоритмом.
ЛИТЕРАТУРА
123 4’[5]61 s;[9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24]123 4’[5]61 s;[9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24]Боревич 3. И., Шафаревич И. Р. Теория чисел. — Мл Наука, 1972. Виноградов И. М. Основы теории чисел.—Мл Наука, 1972.
1
2
3 4’
[5]
6
1 s;
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
1
2
3 4’
[5]
6
1 s;
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
Зарисский О., Самюэль П. Коммутативная алгебра, т. 1,-—Мл ИЛ, 1963. Касселе Дж., Фрелих А. (ред.) Алгебраическая теория чисел. — Мл Мир, 1969.
Кнут Д. Искусство программирования для ЭВМ. Т. 2. Получисленные- алгоритмы. — Мл Мир, 1977.
Ленг С. Алгебраические числа. — Мл Мир, 1966.
Прахар К. Распределение простых чисел.— Мл Мир, 1967.
Adleman L., Leighton F. Т. Ап O(n1/10M) primality testing algorithm.— Math. Comput., 1981, v. 36, No. 153, p. 261—266.
Adleman L., Pomerance C., Rumely R. S. On distinguishing prime numbers from composite numbers. — Ann. Math., 1983, v. 117, p. 173—206. Artin E., Tate J. Class Field Theory. — New York, Amsterdam: W. A. Benjamin, 1967.
Brillhart J., Lehmer D. H., Selfridge J. L. New primality criteria and factorizations of 2m±L —Math. Comput, 1975, v. 29, No 130, p. 620—647.
Cohen H., Lenstra H. W. (Jr.) Primality testing and Jacobi sums.— Math. Comput., 1984, v. 42, No. 165, p. 297—330.
Dixon J. D. Asymptotically fast factorization of integers. — Math Corn- put., 1981, v. 36, No. 153, p. 255—266.
Iwasawa K. A note on Jacobi sums. — Symposia Math., 1975 v. 15, p. 447—459.
Lang S. Cyclotomic fields. — Berlin: Springer, 1978.
Lenstra H. W. (Jr.) Primality testing algorithms (after Adleman, Rumely and Williams), Sem. Bourbaki, vol. 33, 1980/1981, Expose 576, p. 243—257.— In: Lecture Notes in Math., v. 901, 1981.
Lenstra H. W. (Jr.) Primality testing. — In: Lenstra H. W. (Jr.), Tijde- man R. (Eds.). Computational Methods in Number Theory, Part L — Amsterdam: 1982, p. 55—77.
Lenstra H. W. (Jr.) Divisors in residue classes. — Math. Comput, 1984, v. 42, No. 165, p. 331—340.
Miller G. L. Rieman’s hypothesis and tests for primality. — J. Comput. and System Sci., 1976, v. 13, No. 3, p. 300—317. [Имеется перевод: Миллер Г. Л. Гипотеза Римана и способы проверки простоты чисел.— В кнл Кибернетический сб., вып. 23.— Мл Мир, 1986, с. 31—50.] Morrison М. A note on primality testing using Lucas sequences. — Math. Comput., 1975, v. 29, No. 129, p. 161—182.
Pomerance C., Selfridge J. L., Wagstaff S. S. (Jr.) The pseudoprimes to 25-109. — Math. Comput., 1980, v. 36, No. 151, p. 1003—1026.
Pomerance C. Recent developments in primality testing. — Math. Int., 1981, v. 3, No. 3, p. 97—105.
Pomerance C. Analysis and comparison of some factoring algorithms. — In: Lenstra H. W. (Jr.), Tijdeman R. (eds.) Computational Methods in Number Theory, part 1, Amsterdam, 1982, p. 89—139.
Rabin M. O. Probabilistic algorithm for testing primality. — J. Number Theory, 1980, v. 12, No. 1, p. 128—138.
[25][26][27][28][29][25][26][27][28][29]Solovay R., Strasses V. A fast Monte-Carlo test for primality.— SIAM J. Comput., 1977, v. 6, No. 1, p. 84—85; erratum, 1978, v. 7, No. 1, p. 118.
[25]
[26]
[27]
[28]
[29]
[25]
[26]
[27]
[28]
[29]
Voorhoeve M. Factorization algorithms of exponential order. — In: Len- stra H. W. (Jr.), Tijdeman R. (eds.). Computational Methods in Number Theory, Part 1. — Amsterdam, 1982, p. 79—87.
Williams H. C., Judd J. S. Some algorithms for prime testing using generalized Lehmer functions.— Math. Comput., 1976, v. 30, No. 136, p. 867—886.
Williams H. C., Holte R. Some observations on primality testing.— Math. Comput., 1978, v. 32, No. 143, p. 905—917.
Williams H. C. Primality testing on a computer. — Ars Combin., 1978, v. 5, p. 127—185. [Имеется перевод: Уильямс X. Проверка чисел на простоту с помощью вычислительных машин. — В кн.: Кибернетический сб., выл. 23. — М.: Мир, 1986, с. 51—99.] ■ -
Сложность умножения матрицОбзор
В. Б. Алексеев ,
В данном обзоре приведены результаты, связанные с построением асимптотически быстрых алгоритмов для умножения двух произвольных матриц. Основное внимание уделено новым методам, развитым в последние годы для решения этой задачи. Результаты, относящиеся к главному направлению, приведены с доказательствами, смежные вопросы освещены реферативно.
ВВЕДЕНИЕ
В 1961 г. в [5] был приведен алгоритм для умножения двух чисел длины п с асимптотической сложностью О (п10®23) битовых операций вместо О {п2) для стандартного алгоритма умножения «в столбик». Этот результат, улучшенный затем в работах [18, 78] (в последней работе приведен алгоритм со сложностью О (п log п • log log п)), вызвал интерес к поиску алгоритмов, асимптотически более быстрых, чем известные алгоритмы, для различных алгебраических задач, в частности связанных с операциями над матрицами.
Первые результаты в этом направлении, относящиеся к ограниченным классам алгоритмов, оказались отрицательными. Отметим сразу, что такие алгоритмы, как алгоритм умножения двух матриц порядка п, соответствующий определению произведения матриц, алгоритм Гаусса для решения системы п линейных уравнений с п неизвестными и связанный с ним алгоритм вычисления матрицы, обратной к матрице порядка п, имеют сложность порядка п3 арифметических операций. Клюев В. В. и Коковкин-Щербак Н. И. в работе [7], опубликованной в 1965 г., рассматривали число арифметических операций, необходимых для преобразования матрицы А в матрицу D, где
л =
61ц •
•• aVn
bl
, D=
1
1 .
0
di d>
Ц„1 .
• ®пп
bn
1
dn
0 .
0
1
0
1
© «Мир» 1988
и вектор (dt, ... d„) — решение системы линейных уравнений 2/=i ацх] = Ь£, t=l, • п. При этом разрешалось производить либо только элементарные операции над целыми строками, либо элементарные операции над целыми столбцами. Было показано, что в классе таких алгоритмов количество умножений и сложений чисел (каждое из них) по порядку не может быть меньше, чем /г3.
Клосс Б. М. в работе [6], опубликованной в 1966 г, рассматривал задачи вычисления определителя порядка п и решения системы п линейных уравнений с п неизвестными над полем GF(2) с двумя элементами. Он показал, что в классе параллельно-последовательных контактных схем эти задачи имеют сложность по порядку не меньше /г3, а в классе произвольных контактных схем и в классе суперпозиций — по порядку не меньше n3/logn.
В 1967 г. Коновальцевым И. В. в [8] был приведен алгоритм для решения системы п линейных уравнений с п неизвестными над полем GF(<?), в котором число всех операций (арифметических и вспомогательных) асимптотически не превосходило н3/3 log, п.
Виноград в [87], существенно используя коммутативность элементов матриц, модифицировал обычные алгоритмы для умножения матриц, обращения их и решения систем линейных уравнений, уменьшив количество умножений и делений примерно вдвое по сравнению с числом умножений и делений в обычных алгоритмах.
Определим класс алгоритмов, которые будут рассматриваться в дальнейшем.
Определение. Пусть xv, ..., хп — входные переменные и /1 • • •, /т — дробно-рациональные функции от переменных хн ... . .., хп над некоторым фиксированным полем F. Тогда арифметическим алгоритмом, вычисляющим семейство fb . .., fm над F, будем называть любую последовательность gY, g2, . . ., gq, для которой выполнены следующие свойства: 1) для каждого / 0 </<<?) либо gj^F, либо gj = Xi., либо gj = gk°gi, где k < j, I < / и ° — арифметическая операция (т. е. сложение, вычитание, умножение или деление) над F; 2) для каждого г (l^r^m) найдется jr, такое, что fr = gjr. Общее число арифметических операций будем называть сложностью данного арифметического алгоритма. (Это определение соответствует понятию неветвящейся программы [1] и близко к понятию схемы из функциональных элементов. Отметим, что для каждого фиксированного п строится своя последовательность gx, ..., gq, при-
чем способ ее построения не оговаривается. Таким образом, рассматриваются так называемые неуниформные алгоритмы.)
Определение. Сложностью задачи вычисления семейства /1, • ■ •, fm дробно-рациональных функций над полем F будем называть наименьшую сложность арифметических алгоритмов, вычисляющих fb ..., )m над F.
В задаче об умножении матрицы размером тХп на матрицу размером пХр над полем F требуется вычислить тр функций
2ц=Цхцуп, i=l, ..., т, /=1р, (1.1) /=1
по заданным переменным xz/(t=l, . .., m; /=1, ..., п) и tiki (А = 1, . . ., п; / = 1, . . ., р). Сложность задачи об умножении матриц над полем F будем обозначать MMF(m, п, ру Для ММр^п, п, п) будем также использовать обозначение MMF^ny В тех случаях, когда поле F фиксировано или несущественно, какое поле рассматривается, индекс Р будем опускать. Аналогично определяются задачи об обращении матрицы, вычислении определителя матрицы, о решении системы линейных уравнений и сложность этих задач.
КОНСТРУКЦИЯ ШТРАССЕНА
Важным шагом в поиске асимптотически быстрых алгоритмов для задач, связанных с матрицами, явилась работа Штрас- сена [79], опубликованная в 1969 г. В этой работе автор привел алгоритм для умножения двух квадратных матриц порядка п со сложностью менее чем 4.7nlo8=7 арифметических операций (log27 « 2.807). Приведем здесь алгоритм Штрассена, поскольку он является основой многих последующих результатов.
Пусть заданы две матрицы А и В размером 2 X 2 с элементами соответственно Ац(1 = 1, 2; /= 1, 2) и В^\к = \, 2-, 2=1, 2). Нетрудно проверить, что следующие равенства определяют новую матрицу С с элементами Crs(r=l, 2; s=l, 2), такую, что С = А • В.
D\ = (Дп + Д22) (Дп + В22), О5 = (Аи -[- А\А В22,
D^ = (^21 4* А22) Вн,D6 = (—Аи + А21) (Вн + В12),
Ds = 4ц (^12 В^,D7 = (Д12 — А22) (В21 + В22),
D4 = А22(—ВИ + В21),
Сц = D, + D4-D5 + D7,■(2Л)
С21 = D2 4- d4,
C\2 = d^-vds,
С22 = D\ ~V Ds D2 4- D§.
Эти равенства порождают арифметический алгоритм для умножения двух матриц порядка 2 с использованием 7 умножений и 18 сложений. Важным здесь является то, что не используется коммутативность умножения элементов Л,/ на элементы Вы. Это позволяет рассматривать Ац и Вы не как отдельные элементы, а как подматрицы одного и того же порядка р, а операцию умножения — как умножение матриц порядка р. При этом равенства (2.1) определяют матрицу С, составленную из подматриц Crs, причем опять будет С = А-В. Таким образом, равенства (2.1) позволяют получить арифметический алгоритм для умножения двух матриц порядка 2п, если имеется арифметический алгоритм для умножения двух матриц порядка п. Из (2.1) следует, что
ММ ^ < 7 ММ W + Сп?(2.2)
для некоторой константы С. Так как ММ (п)— монотонно неубывающая функция (из арифметического алгоритма для умножения матриц порядка п можно получить арифметический алгоритм той же сложности для умножения матриц порядка п—1, положив некоторые входные переменные равными 0), то из (2.2) получаем [1, стр. 80]
ММ (п) = О (nlogi7).
Отметим, что в алгоритме Штрассена в качестве коэффициентов используются только 0, 1, —1. Поэтому алгоритм Штрассена решает задачу об умножении матриц над любым полем (и даже над любым кольцом с 1).
Определение. Величину
co(F) = inf {t|MMf (n) = O(nT)}
называют экспонентой матричного умножения над полем F.
Очевидно, что co(F)^2. Результат Штрассена показывает, что для любого поля F
со (F) ^ log2 7 < 2.808.
В дальнейшем в тех случаях, когда поле F зафиксировано или несущественно, мы вместо to(F) будем писать просто со.
ЭКВИВАЛЕНТНОСТЬ РАЗЛИЧНЫХ ЗАДАЧ
В [79] Штрассен привел также алгоритм для обращения матрицы порядка п со сложностью менее чем 5.64 и10®27. Там же указано, что, используя полученные результаты, можно
построить алгоритмы со сложностью O(nlog27) для решения системы из п линейных уравнений с п неизвестными и вычисления определителя матрицы порядка п. Правда, алгоритм для обращения матрицы в [79] не всегда срабатывал корректно: для этого требовалось, чтобы ряд матриц, появлявшихся на промежуточных шагах, обязательно был обратим, что могло не выполняться, даже если исходная матрица обратима.
Этот недостаток был устранен в работе [33], где рассматривалось так называемое НВП-разложение матриц [1]. Заданная матрица представлялась в виде М = LUP, где L — нижняя треугольная матрица с единицами на диагонали, U — верхняя треугольная матрица и Р—матрица перестановки. Тогда ЛН = — P-VU-XL~V. Матрица Р~х вычисляется легко, а для вычисления LH и L~x можно использовать алгоритм Штрассена, который в этом случае работает корректно. Было показано, что если задача об умножении матриц порядка п имеет сложность О (/?“), где а > 2, то для задачи построения НВП-разложения для матрицы порядка п существует арифметический алгоритм со сложностью О(и™), в котором во всех операциях деления делитель отличен от 0, если исходная матрица невырожденна. Отсюда легко получить, что в этом случае и для задач об обращении матрицы порядка п, о вычислении определителя порядка п и решении системы п линейных уравнений с п неизвестными существуют арифметические алгоритмы со сложностью O^naY Результаты, связанные с НВП-разложением, на русском языке подробно изложены в [1].
В работах [33, 24] были установлены и другие импликации, которые позволяют, в частности, сформулировать следующую теорему.
Теорема 3.1. Пусть над некоторым полем F для одной из задач — умножения матриц порядка п, обращения матрицы порядка п, вычисления определителя порядка п — существует арифметический алгоритм сложности О(/га), где ос > 2. Тогда для любой из этих задач над F существует арифметический алгоритм сложности О^пау.
В соответствии с теоремой 3.1 в дальнейшем будем рассматривать только задачу об умножении матриц.
БИЛИНЕЙНЫЕ АЛГОРИТМЫ
Определение. Пусть заданы два вектора переменных: х = = (хь ..., xm) и y = (t/i, . •■, Уп), и пусть требуется вычислить семейство билинейных форм (над полем F")
91 = ^Вк (х, у) = 2 ацкХШр 6=1, .... ?у
Билинейным алгоритмом для вычисления семейства 91 называется последовательность следующего вида:
Dv (х, у) = Ц (х) • L" (у)Dr (х, у) = Lr (х) • L" (у),
гг(4.1)
61 (х, У)=£у?Цс(х, у), . .., Вр(х, y)=SVp6d(x, у), d=ld=l
где все t\ и L" — линейные формы от переменных х и у (над полем F) соответственно. Число г называется мультипликативной сложностью билинейного алгоритма.
Формула (1.1) показывает, что задача об умножении матриц является задачей о вычислении семейства билинейных форм, если в качестве вектора х рассматривать вектор, состоящий из всех элементов первой матрицы, а в качестве у — вектор, состоящий из всех элементов второй матрицы.
Определение. Мультипликативной сложностью задачи об умножении матрицы размером тХ« на матрицу размером п\р над полем F называется наименьшая мультипликативная сложность билинейного алгоритма, вычисляющего семейство билинейных форм (1.1) над F. Эту мультипликативную сложность будем обозначать Mf(m, п, р), а для MF(n, п, п) будем также использовать обозначение MF^ny Индекс F, когда это не вызывает недоразумений, будем опускать.
Нетрудно видеть, что алгоритм Штрассена для умножения двух матриц порядка 2 является билинейным. Очевидное обобщение конструкции Штрассена приводит к следующей теореме.
Теорема 4.1. Если для умножения двух матриц порядка к над полем F существует билинейный алгоритм мультипликативной сложности г и logfcr>2, то MMF(n') = O ^п'°8кГ\ т. е. co^^log^r.
Из этой теоремы следует, что для любого фиксированного к
m^^logkMpW.(4.2)
Пусть й (F) = inf (т | MF (п) = О (ит)}. Из (4.2) легко получить что со (F) й (F).
В [82] показано, что для любого арифметического алгоритма 91, вычисляющего семейство билинейных форм, можно построить арифметический алгоритм без делений для решения той же задачи, в котором число умножений будет не больше общего числа умножений и делений в 91.
Операция умножения в арифметическом алгоритме называется активной (или нескалярной), если оба сомножителя отличны от константы.
Нетрудно показать [42, 82], что если для задачи вычисления семейства билинейных форм существует арифметический алгоритм без делений, использующий р активных умножений (и, возможно, учитывающий коммутативность умножения), то для той же задачи существует билинейный алгоритм с мультипликативной сложностью не более 2р.
Из приведенных результатов легко получить, что ю (F) ^ св (F). А так как выше было получено, что со (F) ^ со (F), то co(F) = = m(F). Это равенство показывает, что для нахождения co(F) достаточно рассматривать только билинейные алгоритмы для умножения матриц, причем учитывать только их мультипликативную сложность.
Теорема 4.1 породила интерес к определению мультипликативной сложности задачи об умножении матриц порядка А при небольших к. В [42, 41] показано, что любой алгоритм для умножения двух матриц порядка 2 без учета коммутативности требует не менее 7 активных умножений, а в [88] показано, что тот же результат справедлив и для алгоритмов, использующих коммутативность.
В работах [42, 52, 83, 50] имеются билинейные алгоритмы для к = 3. В [52, 83, 50] построены такие алгоритмы с 23 активными умножениями. Заметим, что это не улучшает результата Штрассена, так как log321 <log27 <log322.
В [75] предложен билинейный алгоритм для умножения матриц порядка 5, использующий 103 активных умножения. В [13] это число понижено до 100.
Тривиальной нижней оценкой для мультипликативной сложности Мр (п) является Мр (п) ^ п?. В [32] получена оценка Мркп^^ 2п2—1 над любым полем F. В [48] для поля GF(2) получено более сильное неравенство: М(п)^2п2 + [Зп/46] —2. Отсюда следует, что такое же неравенство справедливо и для любого поля бесконечной характеристики, если в качестве коэффициентов в билинейном алгоритме разрешается использовать только целые числа.
ПЕРЕХОД К ТРИЛИНЕЙНЫМ ФОРМАМ
Прежде чем продолжать рассмотрение задачи об умножении матриц, введем ряд понятий, эквивалентных понятию мультипликативной сложности системы билинейных форм, но более удобных для использования. Пусть в (4.1)
mп
ь^^^уь d=xr>
Тогда (4.1) можно более компактно записать в виде
BJx, уНЕ а^х^- Е у^Х^^(5.1)
1 Jd=l \i = l / Xj = l/
k = 1, . . ., p.
Нетрудно видеть, что равенства (5.1) эквивалентны тождествам ailk=i^ ■ ^ • N^ i = 1, • - т; j= 1, ..n; k = 1, ..р, (5.2)
а эти тождества в свою очередь эквивалентны тождеству
(5.3)
где х = (лг^ ..., хт\ у = (уь ..., у„), z = fo, ..., гр) — три вектора различных переменных.
Определение. Пусть
F (х, у, z) = § £ Е ailkxiyjZki=i;=i& = i
— трилинейная форма. Тогда тождество вида
F (х, у, z) = £ Ld (х) • I/ (у) ■ L" (z),d = l
где все Ld, Ld, Ld — линейные формы от х, у, z соответственно, называется трилинейным представлением формы F (х, у, z), а наименьшее г по всем таким представлениям называется рангом трилинейной формы F (х, у, z).
Поскольку тождества (5.3) и (5.1) эквивалентны, то получаем следующее утверждение.
Лемма 5.1 [15]. Мультипликативная сложность системы» билинейных форм
2ч = 2 Е ацк^Шь 1, • ■Р,совпадает с рангом трилинейной формы
■* Е Е Е ^акМУ^ь-
1 = ! j-l к=1
Система билинейных форм (1.1), соответствующая задаче об умножении матриц, может быть записана в виде
m п рч.
^ьи == 52 Е Е ^(К /')(*, Щи, р^иУкЬ V 1, • • •, /И, U ■= t, , р,
1 = 1 1,к=1 1 = 1
< (5.4)
где■ !’ ‘С '/
Г 1, если I = к, 1 = и, ц = 1|
ацн (ki) <uu) = ।d/^d/udyi, (5.5)
(Ов противном случае )
где d — дельта Кронекера.
Трилинейная форма, соответствующая системе билинейных форм (5.4), будет иметь вид
прmпг п р
52 2 2 ^jk^lu^vi^1]Ук1*-ир == 2 2 52 ^кУки^и!1 ($-®)
Lk=\ 1,и=\ и,t = l1 = 1^=1м = 1
Про трилинейную форму (5.6) говорят, что она соответствует задаче об умножении матрицы размером mX« на матрицу размером пУ^р. Согласно лемме 5.1, мультипликативная сложность М^т, п, р) совпадает с рангом трилинейной формы (5.6), т. е. с наименьшим г, для которого возможно представление формы (5.6) в виде
т п Р-.. л 6- ?•. ■
52 52 52 ^1кУки^и1 1 = 1 к = 1и = 1
г / т пх / п рх / р тх
= 52 (52 52 J (Е Е ^klyklJ (Е 52 т^„Д (5.7)d = l \1 = 1; = 1/Хк=\1=\/ Xu=Vv=\/
Переход к трилинейным формам делает задачу об умножении матриц более симметричной, что можно использовать, например, следующим образом.
Нетрудно видеть, что если в равенстве (5.7) всюду заменить х на у, у на г и 2 на х, а затем во всех произведениях в левой и правой частях циклически сдвинуть сомножители (первый на место второго, второй на место третьего и третий на место первого), то получится трилинейное разложение трилинейной формы, соответствующей задаче об умножении матрицы размером р X т на матрицу размером m X я. Если же в равенстве (5.7) всюду сделать замену Хц->хц, ум-^Zih, гиу-^Уии и затем во всех произведениях поменять местами вторые и третьи сомножители, то получится трилинейное разложение трилинейной формы, соответствующей задаче об умножении матрицы разме-
ром пХт на матрицу размером тХр. Отсюда и из леммы 5.1 вытекает следующее утверждение о двойственности [15, 43].
Теорема 5.2. М (т, п, р) = М (п, р, т) = М (р, т, и) = = М(т, р, п) = М(р, п, т) = М(п, т, р).
При т = п = р теорема 5.2 теряет смысл, но зато в этом случае трилинейная форма (5.6) обладает симметриями, которые могут использоваться при поиске разложения (5.7) с малым г. Первое улучшение оценки Штрассена для экспоненты матричного умножения было получено Паном [60] через 10 лет после результата Штрассена именно на пути рассмотрения разложения (5.7). Поскольку конструкция Пана является достаточно громоздкой, а результат, полученный с ее помощью, уже улучшен другими методами, мы приведем лишь ее идеи.
Основой конструкции является следующее тождество: Х1кУки%и1 4~ ^киУт^Чк 4~ ^uiPlk^ku ==
к-^ik 4~ ^ки 4~ ^ui) кУки 4“ У ui 4~ У1к) ^ui 4"" ^ik 4~ ^feu) ^IkPik kzui 4~ Z^ 4* zkuk ^киУки ^ui 4~ ^1к 4” Z^^ %и1Уи1 kzui 4- ^ifc 4“ ^&4 ^ik кУки 4“ Hulk ^ik ^ku кУи{ 4" Уik) ^ku^ui кУ in 4~ Уки) ^ui
k^ui 4* -Чк) Уки^ки k^ik 4* Xkuk yui^ui
k^ku “i- ^ui) У1к^1к ^1кУи1^ки ^киУik^ul ^и1Уки^1к- (8.8)
Это тождество позволяет заменить 3 слагаемых в (5.6) одним слагаемым (первое слагаемое в правой части), допустимым в разложении (5.7). Правда, при этом преобразовании, названном автором агрегированием, появляется 12 новых слагаемых, но с ними можно бороться. Например, все слагаемые вида xikyikkzui 4" z‘k 4- 2кик при фиксированных i, к и различных и можно объединить в одно слагаемое, поскольку
S ^ikPik kzui 4- Z^ 4"" zku) ^IkPik ^ (zui 4" Z^ -|- Z^UVиих/
Такую же операцию, названную автором объединением, можно применить еще к 8 слагаемым в (5.8). Если в (5.8) некоторые переменные х, у, г умножить на —1 так, чтобы левая часть не изменилась, то в правой части получится одно основное слагаемое, 9 слагаемых, которые опять допускают объединение, и 3 последних слагаемых, в которых знак может оказаться как минус, так и плюс. Используя этот факт, автор так применяет тождество (5.8) к агрегированию различных троек слагаемых, чтобы последние три слагаемых, получаемые при агрегировании различных троек, взаимно сократились. Этот прием назван автором сокращением. В результате Паиу [60] удалось построить
разложение (5.7) для m = п = р с г = (п3— 4п)/3 + 6п2. Согласно (4.2), отсюда следует
,/ п3 — 4п , с
to < log„ зЬ .
Минимум правой части достигается при п = 70 и дает ю < 2.796, что лучше оценки Штрассена. В [59] Пан построил разложение (5.7) для т = п — р с г = ^п?— и)/3-|-9п2/2. В этом случае logn г достигает минимума при п = 48 и дает оценку со < 2.78041.
ПЕРЕХОД К ТЕНЗОРАМ
Почти одновременно с результатом Пана улучшение оценки для со было получено группой итальянских математиков [28, 27], причем они предложили совершенно новый подход. Для его изложения нам потребуется наряду с языком билинейных и трилинейных форм также язык тензоров. Нам достаточно будет считать, что /г-мерный тензор — это просто /г-мерная матрица Л = (Л<11аУ где каждый индекс ij пробегает свое множество значений If (/= 1, ..., /г). В дальнейшем будут рассматриваться только трехмерные и одномерные тензоры. Напомним некоторые понятия из теории тензоров.
Если A = ^Ait<) есть /г-мерный тензор и а—константа, то под аА понимается /г-мерный тензор с координатами **>• V=aA> V Всл" АЧ .«)"S = (S-„, •> то их произведением А • В называется тензор С с координатами С/,,..., ifr ift+1...., <9=Л^ih-Bth+xiq. Два тензора одинаковой размерности A = ^Aiv .... i ^ и В = (В/р .... /А) будем называть подобными, если для любого I (1^/^/г) индексы it и jt пробегают одно и то же множество It. Два тензора Лив считаются равными, если [юни подобны и Л^ih = Btxtk для всех (zlt ih) е IYX •■• X к- Для подобных тензоров можно определить операцию сложения. Суммой подобных тензоров Л = (Л/1i^ и В = (Biv .... i^ называется тензор С с координатами Ctv .... ik = Atxik + Bixik.
Нетрудно проверить, что введенные операции сложения и умножения тензоров и умножения тензора на константу обладают свойствами ассоциативности, дистрибутивности, а сложение также коммутативно. Заметим, что операция умножения тензоров некоммутативна.
Равенство (5.2) можно рассматривать как равенство для тензоров
A=iltdidT,(6.1)
d= 1
где A = (aijfe)— трехмерный тензор и td, td, td—одномерные тензоры.
Определение. Наименьшее возможное г в представлении (6.1) для тензора А над полем F называется рангом тензора А над полем F и обозначается гк^Л).
В тех случаях, когда поле F несущественно или зафиксировано, мы будем писать просто гк(Л).
Так как равенства (5.1), (5.2) и (5.3) эквивалентны, то мы можем расширить лемму 5.1 следующим образом.
Лемма 6.1. Мультипликативная сложность системы билинейных форм
^k ^ ^ ®1]кМУh ^1» • • ■ > Р>
i=l/=1
совпадает с рангом трилинейной формы
Е Е 2 &ЦкМУ j^k ; = 1/ = i fe = i
и совпадает с рангом трехмерного тензора A = (ailk).
Понятие ранга трехмерного тензора (или трехмерной матрицы) является прямым обобщением понятия ранга обычной двумерной матрицы. Но в отличие от ранга двумерных матриц для нахождения ранга трехмерных тензоров в общем случае алгоритма пока не найдено.
Для задачи об умножении матрицы размером m X п на матрицу размером пХ р соответствующий тензор, согласно (5.5), имеет вид
А = кап, о (k, оы, v))> где ац, р^к, ipu, щ — bihbiubVi, (6.2)
причем тензор А рассматривается как трехмерный и первая координата (t, /) пробегает множество {1, ..., m} X {1п},
вторая координата (А, /) пробегает множество {1, ..., п} X Х{1, ••■.₽} и третья координата (и, и) пробегает множество {1, ..., р} X {1, •••, /и}- Этот тензор принято обозначать (уп, п, р\ Заметим, что теорема 5.2 может быть записана в виде rk«m, п, р)) = гк((п, р, т)) = гк «р, т, п)) = ул
= гк«т, р, п)) = гк«р, п, т^ = гк ^'Ш, ^}^ (6.3) а теорема 4.1 — в виде
® ^ log*rk ((А, к, к^.(6.4)
Определение. Два тензора Л = (Л/1i^ и В = (В/,, ..../А), где it^Ib heli, /=1, ..., h, будем называть эквивалентными и писать А ^ В, если существуют такие взаимно однозначные отображения <pz: E^-Ji, Z= 1, . . ., h, что
А^^ = Вф] (^)ф^ ^^ для всех (/), ..., Д) (= /| X • • ■ X Д. Поскольку из равенств
Bp,q,s = ^a^
для всех р, q, s вытекают равенства
о—ad -yd
;1C,“ф1(<), ф2(/), ф1(*)ф1(«Гф2(/) 'ф> W
то получаем следующее утверждение.
Лемма 6.2. Если А и В — трехмерные тензоры и А = В, то гк (Л)'= rk (5).
Определим теперь наряду с рассмотренным выше обычным произведением тензоров тензорное произведение двух тензоров одинаковой размерности.
Определение. Пусть А = ^и;J и В = (Ь,/J —два A-мерных тензора, причем /; пробегает значения из множества 7; (/= 1, ..., A), a j[ пробегает значения из множества Jt U = 1, ..., А). Тогда тензорным произведением А® В называется A-мерный тензор С с координатами
cVr Л)Uh- ih^^tV bhД’
где (ч, h) пробегает декартово произведение ЛХ7/ (/=1, ..., А). Важность тензорного произведения тензоров для задачи об умножении матриц определяется следующей теоремой.
Теорема 6.3. (mx, пх, рх} ® \т2, гь, р^^<пгхтг, пхп.,, рхр2\
Доказательство. Пусть тензор Qnx, пх, рх) имеет координаты аць /,). (*,. ю. (и,, и,), где й, и, принимают значения от 1 до пгх; jx, kx принимают значения от 1 до пх; 1Х, их принимают значения от 1 до рх, и пусть аналогично й(1;,/2), (*../2),(и2, о:) — координаты тензора (т2> ^2, Рг\ Согласно (6.2),
aUl, /1), (*1, UP (Ml, Vi)~ ^idti^liUi^thh, . . ^02, jit, (*2, 1Л, (42, V;) ~ ^hk^hUi^i,,
где 6 — дельта Кронекера. По определению тензорного произведения координаты тензора С = (дгх, пх, р^^^гп^, п-г, Рг) будут
иметь вид
^((О, /1), Цъ БР. №\. h>, (k:, z.)), ((U,. О,), (U;, О,)) = blJt^ltU^y^ej^.b^uSoti,. (6.5) Упорядочивая первые, вторые и третьи индексы тензора С по-другому, равенство (6.5) можно переписать в виде
^((Zl, «Ц, (/ь /2», ((ЙЬ М, Ц\, Б)), ((Ul, Uz), (01, 0;)) =
= ^НкЛрк^ри^иибохийо_i. = byb j.^k,, k^(h, Щи,, u^(v,, o>)(ib i2).(6.6)
Обозначив (/], z2) через z3, (в, J2) через /3 и т. д., получаем из (6.6)
Z-(Z1, /), (fc>. z), (и, oj == 6/,&,д/ ы doj ,(6.7)
где /3, &3 пробегают некоторое множество мощности пхп2, Ц, иа — множество мощности рхр2 и v3, z3 — множество мощности тхт2. Занумеровав элементы первого множества натуральными числами от 1 до пхп2, элементы второго множества — числами от 1 до рхр2 и третьего — числами от 1 до тхт2, мы получим, согласно (6.7) и (6.2), тензор {тхт2, пхп2, рхр2). В соответствии с определением эквивалентности тензоров получаем (т,, пх, р^^^пг.^ п2, р->)= = (т.хт2, пхп2, рхр2\ и теорема 6.3 доказана.
Из теоремы 6.3 вытекает, в частности, что
(т, п, р1)®^, р, т)®{р, т, п^^^тпр, тпр, тпр}. (6.8) Это соотношение, называемое симметризацией тензора (т, п, р\ позволяет переходить от тензора, соответствующего умножению прямоугольных матриц, к тензору, соответствующему умножению квадратных матриц.
Пусть А', В', А" и В" — тензоры с координатами соответственно
< t ,Ь\а" , , Ь" , ,
Р(m+i1п '1т Jm+i‘п
и пусть С = (А' • В') ® (Л" • В"^ и D = (А' ® А") • (В' ® В"\ Тогда С имеет координаты
(‘р Л)Vn1 1 п)е1‘т*т+1*п 11*т^т+1 *п
a D — координаты
(;р Л)Vn’ 'п)Ч1тЛ!т ‘m+i‘п<т+1^п
•Отсюда получаем, что С = D, т. е.
(Л' • В'^ ® (Л" • В") = (Л' ® А") • (В' ® В").(6.9)
Аналогично можно проверить, что
(6 ЛО)(6 ЛО)(Л + В)®С = (Л®С) + (В®С), С® (Л + В) = (С® А) + (С®В)
(6 ЛО)
(6 ЛО)
для любых трех тензоров А, В, С одинаковой размерности, среди которых А и В подобны. Также легко проверить, что а • (Л ® В) = (а • Л) ® В = Л ® (а • В).(6.11)
Теорема 6.4. Пусть А и В —два трехмерных тензора. Тогда гк (Л ® В) ^ гк (Л) • гк(В).
Доказательство. По определению ранга существуют представления
гк(Л) _гк(В) _; ,
Л = 2 udvadlud', В = 2 udvd-udl,d^ld.= l
где все и, й, и, v, о, и — одномерные тензоры. Тогда# согласно (6.10) и (6.9), получаем
гк(Л)гк(В)__
Л®В= 2 2 [(ud,udiudl) ® (vd=vd2vd2)] =
di=i d.= l
гк(Л)гк(В)==
= 22 [(“dl ® yd0 (“^ ® yd0 (“^ ® уй?2)]- d, = l d2=l
Так как все тензоры, заключенные в круглые скобки, являются одномерными, то гк (Л ® В) ^ гк (Л) • гк (В), что и требовалось доказать.
Из теорем 6.3 и 6.4 и леммы 6.2 вытекает следующее неравенство:
rk(m,m2, «i«2> PiPzX^k^t, пх, р,»-(гк(т2. «2- Рг)\ (6-)
Теорема 7.1 позволяет получить хорошую оценку для со, если найти хорошее разложение для тензора <т, п, р>, или, что то же самое, билинейный алгоритм с малой мультипликативной сложностью для задачи об умножении прямоугольных матриц, размером т X я и пХр. В [42] показано, что для умножения матрицы размером рХ2 на матрицу размером 2Хи существует билинейный алгоритм с мультипликативной сложностью Г (Зрп + max(р, п)) /2]. Показано также, что эта оценка не- улучшаема для класса билинейных алгоритмов для случаев р = 2 или р = п = 3, если умножение производится над полем GF(2) с двумя элементами или если в качестве коэффициентов в алгоритме разрешается использовать только целые числа. В [21] показано, что при р = 2, п = 3 оценка И неулучшаема над произвольным полем в классе билинейных алгоритмов.
МЕТОД ПРИБЛИЖЕННЫХ РАЗЛОЖЕНИИ (К-АЛГОРИТМЫ)
Новый подход к получению верхней оценки для экспоненты матричного умножения со обнаружила группа итальянских математиков [28, 27]. Отправной точкой для их результатов явилась следующая конструкция.
Пусть требуется перемножить две матрицы А = (а(/) и В = фк^ размером 2X2 над полем F рациональных или вещественных чисел, и пусть а22 = 0. Тогда если АВ = С = kcuy\ то
(8.1)(8.1)Сц —+ 16ц ++2621, С21— Й21^11>^12 "— + 1^12 + +2^22,^22 === + 1^12’
(8.1)
(8.1)
и равенства (8.1) задают билинейный алгоритм для вычисления сцо с мультипликативной сложностью 6. Рассмотрим теперь сле-
параметр.параметр.дующий билинейный алгоритм, где е — некоторый
параметр.
параметр.
D, — (+2 + 8Яц) (6,2 + ббу),
£>2 = («21 + 8tZu) 6ц,
(8.2)(8.2)(8.3)(8.3)О3 — «12^12»
(8.2)
(8.2)
(8.3)
(8.3)
D4 = a21(6H+ 6|2 + е621),
D5 = (а12 + а21) (612 + е621);
"5" ^2+ ^354 + ~ ^5 — + 1^11 + + 2^21 = сп,
~ ^1~ ^3 = «11^12 + + г622 + 8031^22 = <0 2 + 8СИц622,
, • D2 = а216н + еацбц = c2i + БЦцбц,
— П3 + ^5 — +1^12 + 8 (+2 + а21) ^21 — с22 + в (fl|g + й21) Ь2\.
Можно выбрать ееЕ сколь угодно близким к 0. Тогда равенства (8.2) и (8.3) будут задавать билинейный алгоритм над F с мультипликативной сложностью 5, который вычисляет билинейные формы, сколь угодно близкие к требуемым, т. е. перемножает данные матрицы сколь угодно точно. (Заметим, что любой билинейный алгоритм, задающий точное умножение двух матриц А и В порядка 2 при условии, что а22 = 0, имеет мультипликативную сложность не менее 6 [41].) Пусть теперь требуется умножить матрицу А = (а^) размером 3X2 на матрицу у = (bkI) размером 2X2. Тогда А можно представить как ■сумму двух матриц А' + А", где а,!1 = а1и я]2 = а12, “zi — ^p я22 — я31 = й'2 = 0 и = а12 = а21 = 0, а22 — а^, й31 = а31, а32 а32. Каждое произведение А'В и А"В является фактически умножением матрицы порядка 2, в которой один элемент равен 0, на другую матрицу порядка 2. Как указано выше, это можно выполнить с любой степенью точности билинейным алгоритмом с мультипликативной сложностью 5. Объединяя эти билинейные алгоритмы для вычисления А'В и А"В, мы получим билинейный алгоритм, который вычисляет сколь угодно точно произведение матрицы размером 3X2 на матрицу размером 2 X 2 и имеет мультипликативную сложность 10. (Заметим, что любой билинейный алгоритм, который точно вычисляет это произведение, имеет мультипликативную сложность не менее 11 [21].) Используя симметризацию (6.8), Бини и др. [28] получили далее билинейный алгоритм для приближенного умножения матриц порядка 12 с мультипликативной сложностью 1000. Аналогично теореме 4.1 отсюда они получили, что при п-*оо можно приближенно умножать матрицы порядка п со сложностью О^п*^, где а = 1п,2 1000 <2.7799. Однако основным достижением этого направления явился результат Бини [28], согласно которому в теоремах 4.1 и 7.1 для оценки <о может использоваться не точная, а приближенная мультипликативная сложность. Для изложения результата Бини потребуется следующее определение.
Определение. Пусть F [е] — кольцо многочленов от переменной е с коэффициентами из поля F. Пусть td> fd> t d, d = 1, . . ., r — одномерные тензоры с элементами из F [е], и пусть имеет место равенство
f №=гл + г+1л,1)+...+е6+'л№, ■ (8.4) 1
где А, А(|), ..., Aw — трехмерные тензоры с элементами из F. Тогда это равенство будем называть приближенным разложением порядка А и длины г для трехмерного тензора А. Наименьшую длину приближенного разложения порядка А для
тензора А над F называют приближенным рангом порядка А тензора А и обозначают гкЛ(Л|В). Если F фиксировано или несущественно, будем писать просто гкЛ (Л).
Так же как в случае точного ранга, можно доказать следующее свойство двойственности для приближенного ранга: гкЛ ^т, п, р) = гкЛ (п, р, пг) = гкЛ (р, т, п) =
= гкЛ (т, р, п) = гкЛ (р, п, пг) = гкЛ (/г, т, р)
Умножив в (8.4) все элементы всех тензоров td, d = 1, ..., г, на е, мы получим разложение для А той же длины, но порядка h + 1. Отсюда очевидно, что гк (Л) = гк0 (Л) ^ rkj (Л) ^ .... Так как все rk(- (Л) — натуральные числа, то в этой последовательности должна наступить стабилизация с некоторым значением гк (Л). Это значение называется граничным рангом тензора А.
Следующая теорема связывает приближенный и точный ранги тензора.
Теорема 8.1. Для произвольного поля F
гк (Л) ^ (1 + А) (1 + А/2) гкЛ (Л).
Доказательство. Рассмотрим приближенное разложение (8.4) порядка h и длины г = гкй(Л) для тензора А. Так как элементами тензора Iй являются полиномы из F [е], то td можно пред- ставить в виде / =t ++ ... +е/, где все/ —одно-
мерные тензоры с элементами из F. Аналогично можно представить тензоры td и td. Тогда
А = f u^kr. 1йа1йаТ'к.(8.5)
d = l i / 4" & =/1
Но число троек (/, j, k), таких, что i + / + к = h, равно (1 + А) (2 + А)/2. Таким образом, (8.5) задает разложение тензора А над F с (1 + А) (1 + А/2) rkA (Л) слагаемыми, откуда^и следует утверждение теоремы.
Отметим, что теорема 8.1, как и многие другие утверждения в этом обзоре, справедлива не только для полей, но и для любых коммутативных колец. Используя интерполяционную формулу Лагранжа, Бини [27] получил более сильное неравенство гк(Л) ^ (1 + 2A)rkh(A), но его доказательство проходит только для полей с числом элементов не менее 2А + 2. Оценка из теоремы 8.1 имеется, например, в [36].
Пусть наряду с (8.4) имеется приближенное разложение для тензора В:
7_
2 и^гЛ = еЯВ + еб+'В11» + .. . + es+^B^).(8.6)
f-i
Перемножая тензорно левые и правые части в (8.4) и (8.6) и используя (6.9) — (6.11), получаем
2 2 (^d® yf) (td® уГ) (^d® yf) =
d=lf=1= еА+еЛ®В + еЛ+£+1С(1> + . .. -f-8*+<+1+юС<'+®>.
Отсюда
гкА+й(Д® BXrkh(X)rkg(B).(8.7)
Из (8.7) вытекает, в частности, что
гк(Л® ВХгк(Л)гк(В).(8.8)
Следующая теорема связывает сложность точного умножения матриц с приближенным рангом.
Теорема 8.2 [27, 76]. Пусть го — экспонента матричного умножения и щ, п, р — любые натуральные числа. Тогда
го < 3 logm„p rk (m, n, pY
Доказательство. Пусть s и. h — произвольные натуральные числа. Согласно теореме 6.3, (m, п, p)®s = {ms, ns, psY где ®s означает s-ю тензорную степень. Используя лемму 6.2, теорему 8.1 и неравенство (8.7), получаем
rk (ms, ns, ps) = rk((m, п, p)®s)^
(1 +As) (1 + 4г) rkfts((m, п, p)®s)<
(1 + hs) (1 + -у-) (rkh(m, n, pYf.
Отсюда, используя теорему 7.1, получаем
®<31ogmsrespsrk(ms, п\ р^
31og(m„p)S[(l + As) (1 + -y)(rkft(m, п, <] =
= 3 logm„p rkft (m, n, p) + y logmnp[0+As)(l + "t)]-
Поскольку „со не_зависит от s и (3/s) logm„p^(l + hs) (1 + -у)] -* 0 при s—>oo, получаем
a < 3 logm„p rkft (m, n, p\
Так как последнее неравенство справедливо для любого натурального hf-YO
№<31ogm„prk<m, п, pY
и теорема доказана.
Отметим, что при доказательстве теоремы 8.2 нигде не использовалось, что е — малая величина. Чтобы оттенить этот факт, авторы многих работ заменяют е на X и говорят не о приближенных, а о Х-алгоритмах.
Заметим, что при рассмотрении приближенных матричных алгоритмов, так же как и точных, можно с равным успехом использовать язык тензоров, билинейных форм или трилинейных форм. Действительно, пусть равенство (8.4) в координатной форме имеет вид
t;W = shAijk + sh^ ... +^+!AWk,
z= 1, ..., т; j=l, ..., n; k — 1, ..., р. (8.9)
Нетрудно видеть, что эта система равенств эквивалентна равенству
г z m \ / п\ / р \
2 (2 «^J (2( 2 Vkza =
4 = 1 \Z = 1/X/ = l/ \fc = l /
= e*(iZ/,MW») + '*t'(|S/«AV»)+ ••• +
+ «»'(£,»№). <8|0>
а также системе равенств
+ е^1 2 А^х1ц; + • •• + £hH 2 А^кх1Ур k=\,...,p. (8.11) i, / i
Поэтому можно естественным образом ввести понятия приближенного ранга трилинейной формы и приближенной мультипликативной сложности системы билинейных форм так, что они будут совпадать с приближенным рангом соответствующего тензора.
Выше было объяснено, как получить приближенный билинейный алгоритм для задачи умножения матрицы размером 3X2 на матрицу размером 2X2, используя дважды равенства (8.2) и (8.3). Умножив при этом все равенства (8.3) на е, мы получим выражения вида (8.11) с А = 1 и г =10, где тензор Aljk будет тензором (3, 2, 2). Поскольку (8.11) эквивалентно (8.9), то для тензора (3, 2, 2) мы имеем приближенное разложение порядка 1 и длины 10. Отсюда rk(3, 2, 2)^10 и, согласно теореме 8.2, ю ^ 3 logio 10 < 2.7799. Этот результат получен в [27].
Теорема 8.2 дает больше возможностей для получения верхней оценки для го, чем теорема 7.1. Так, например, для умножения двух матриц порядка 3 пока не найдено билинейного алгоритма с мультипликативной сложностью, меньшей 23. В то же время Шёнхаге [76] предложил следующий приближенный билинейный алгоритм для этой задачи, где I, je {1,2,3}:
Ui, i = (ае, 1 + ®2°i,2) (Е2^!, i + ^2, j>
Щ, i = kat, i + е2аг,3)63-Z,
Wi = ai, 1 (^2,1 + ^3,j,
Ui,/ = (ai,i+e2ait2)(b2>i — ebl>i), i^j, уг,/ = (°»,1 + е2а/>3)(63>г + е611/), i Ф j, di,i=:^2^i,i + Ui, i — wt\
di,i = ~^ ^i,i + ut, j — wt^ Jrl^lil-uh/), i ф j.
Этот алгоритм вычисляет матрицу D, такую, что АВ = D-^ + О(е), и имеет мультипликативную сложность 21. Используя эквивалентность (8.11) и (8.9), отсюда можно получить приближенное разложение для тензора <3, 3, 3> порядка 2 и длины 21. Тогда теорема 8.2 дает
to<3 log27 21 = log3 21 < 2.772,
что лучше оценок Пана и Бини.
Шёнхаге [76], применяя рассуждения, подобные тем, которые были использованы при доказательстве теорем 8.1 и 8.2, показал, что любое расширение заданного поля F не может уменьшить «ДРу Отсюда он получил следующий результат.
Теорема 8.3. Для любых двух полей Ft и F2 одинаковой характеристики со (F1) = со (F2).
ЧАСТИЧНОЕ МАТРИЧНОЕ УМНОЖЕНИЕ
Выше уже говорилось, что оценка для ю, полученная в работах [28, 27], была основана на приближенном билинейном алгоритме с мультипликативной сложностью 5 для задачи умножения двух матриц порядка 2, где в одной из матриц один из элементов равен 0. Этот алгоритм был использован как составная часть в построении приближенного билинейного алгоритма для умножения двух матриц порядка 12, и оценка для со получалась затем через параметры последнего алгоритма. Шёнхаге [76] показал, что можно было получить оценку для со непосредственно по исходному алгоритму, причем эта оценка ока-
зывается лучше, чем в [27]. Изложим метод Шёнхаге, который он назвал частичным матричным умножением.
Пусть требуется ’перемножить две матрицы Л(|> = (а(О^ i= 1,1.. .Дт,*] = 1,”... ."п, и'В^^^Ь^, k = 1, ..., п, 1= 1, ..., р, причем часть элементов в Л(|> и Bw положены равными 0. Пусть I s [1, .. ., т} X {1, • • •, «} и / — это множество всех позиций, соответствующих элементам матрицы Л'1*, которые не обнуляются. И пусть / с {[, . .., «} X {1, • • •, р} и J определяется аналогично по матрице Bw. Положим хД^ /) = 1, если (z, /) е/, и %/(z, j) = 0, если (z, /) ^/. Аналогично определим хДк, IY Пусть Л^^1» = со = (с^), и = 1,...,т, и = = .1, ..., р. Тогда
п
^ = Z Ч/ • X/(V, /) • b^ -Xjki.uV и = 1, ..., т, и=1, ..., р. (9.1)
Пусть -в /-м столбце матрицы Л(|) т{ необнуленных переменных, а в /-й строке матрицы B(l) pj необнуленных переменных. Тогда для этого фиксированного j во всех равенствах (9.1) будет т, ■ р, ненулевых слагаемых, а общее количество ненулевых слагаемых во всех равенствах (9.1) будет равно
f = mvpv + m2p2 + . . . +тпрп.(9.2)
Заметим, что равенства (9.1) описывают естественный билинейный алгоритм для вычисления всех сО и его мультипликативная сложность равна Д
Равенства (9.1) можно переписать в форме
^ - Ё £ 2 VAA о; П г, №. I) «>„
I ” 1 / I к — I t =s 1
у = 1, ..., т, «=1, ..., р, (9.3) откуда следует, что тензор, соответствующий рассматриваемой задаче, имеет вид
Д1, /)(6. Щи, в) = б/kblubviXi V» j)Xj(b, I).(9.4)
Так как (9.3) эквивалентно (9.1), то в (9.3) имеется f ненулевых слагаемых, а значит, тензор (9.4) содержит ровно f ненулевых элементов (все они равны 1).
Теорема 9.1 [76]. Пусть тензор частичного матричного умножения (9.4) содержит f единиц, и его граничный ранг не превосходит г над полем F. Тогда для экспоненты матричного умножения со справедлива оценка со^) ^ 3 logf г. (Заметим, что эта теорема обобщает теорему 8.2.)
Доказательство. Зафиксируем некоторое натуральное з. Набор (ч, ..., is) будем обозначать i. Аналогично будем использовать 7. k. I, й, и. Положим
7S = № J)|Vo[(ia, /а) Z]},J
,T=={(M)|Va[(fca,/a)eJ]}.
Положим х/ (4 7) = L если )i, J) E Г, и 1,8 (i, 7) = 0 в противном случае. Аналогично определим х/(&, П- Возводя тензор (9.4) в s-ю тензорную степень, получим
*U. i')(k. 1Мй. »)= 6/Л • ■ • ^is^li"! • ‘ ‘ 6zs“s6"i‘"i ‘ ' ‘ ^sls X
X П X/ (^ ia) II X/ ^a- l^ = Ми^ХД V, J) Xl® (k, I). a=la=l
(9.5)
Поскольку, согласно условию, rkf(/)^r, то, учитывая (8.8), получаем
rk(/®s)<rs-(9.6)
Сравнение (9.5) и (9.4) показывает, что тензор /®5 есть снова тензор частичного матричного умножения некоторой матрицы A(s> размером ms X ^ на матрицу В^ размером ns X Р®, причем ненулевые элементы матриц A(s) и B(s> задаются соответственно множествами I® и 1®. (Строки и столбцы матриц А<$) и В^ «занумерованы» пока наборами длины з. Чтобы их упорядочить, достаточно взять любые взаимно однозначные отображения {1, ..., т}$->{1, ..., m®), {1, ..., /г}$->{1, .... п®\ и {!,..., рГ->{1, .... р®).)
Зафиксируем теперь некоторое разбиение числа з в сумму п целых неотрицательных слагаемых з = З] + з2 + ... + sn. Пусть ^ — множество всех таких наборов 7 = (Л» •••> js), что среди /ь •■•,is ровно 3] раз встречается 1, ровно з2 раза встречается 2 и т. д. Тогда
|ЛГ| = —-.(9.7)
11 Si!s2! ... sn\
Нетрудно видеть, что число пар (i, j) в Is с фиксированным 7=(/ь ..., js) равно m.iim.i2 ... mjs. Поэтому в любом столбце матрицы A(s), «номер» которого 7 = (/ь •••, is) принадлежит N, имеется ровно /ra®1^2 • • • ^п ненулевых элементов. Аналогично, в любой строке матрицы В11^, «номер» которой k = )kv, ..., ks)
принадлежит N, имеется ровно р^р^2 .. . ps^- ненулевых элементов.
Обозначим гк(/®$) через w. Тогда для некоторого К для тензора t®s имеется разложение вида (8.9), где t®s=A = = (Д,/6) и r = w. От этого равенства можно перейти к равенствам вида (8.11), где опять r = w. Получим
m\ /А
У yd _ I £ а^ -а^- 1I £ Р- -^ _ I = ^c^n + О (еА+1), гм
С^й = £ ^j^f,^ ("> /) 1jSki,U>.' .
Положим теперь а^- = 0 и Ь^_ = 0 для всех j ^ N и k ^ N. ]k, I
Тогда получим
Ev^JS £^ S Pf ^и = еЧ.й + °(е'1+1)-
d=l 4 i 1 е N' 4 ке N I'
(9.8) где
с., и = 2 аТ1ьТЛ8 (5> йу
Эти равенства задают приближенный алгоритм для частичного умножения А-В —С некоторой матрицы А размера msX\N\ на матрицу В размера \_N | X р\ причем, поскольку оставлены только такие /, что / е ^, то в каждом столбце матрицы А имеется ровно
М = m^m^2 ■ • • m«"(9.9)
ненулевых элементов, а в каждой строке матрицы В имеется ровно
Р=--Р^р22 psn"(9.10)
ненулевых элементов. Занумеровав строки матрицы X<s) числами от 1 до ms, столбцы матрицы В1-^ числами от 1 до ps и множество N числами от 1 до (A^j, можно считать, что равенства (9.8) имеют вид
= йксвц + О (e,t+l), и—1, ..., ms, иps, (9.11)
где ati, bkt и сви — элементы матриц А, В и С соответственно.
Пусть G = (gz0), и=\,...,М, о = 1, .... ms — числовая матрица с элементами й'иа = ^-1, где е0 — некоторые различные элементы поля F (согласно теореме 8.3, от поля F всегда можно перейти к такому его расширению, которое будет содержать нужное нам количество различных элементов). И пусть А = (хрт), р=1, ...,М, т=1, .... | ЛЧ, — матрица, составленная из независимых переменных. Рассмотрим равенство
GA = X.(9.12)
Пусть А1 и X* суть /-е столбцы в матрицах А и X соответственно. Тогда (9.12) равносильно системе равенств
GA‘ = X*, j=l, .... IW|.(9.13)
Так как в Aj ровно М ненулевых переменных, то равенство (9.13) при фиксированном /" можно рассматривать как систему уравнений относительно этих переменных, причем матрицей этой системы уравнений будет некоторый минор порядка М из матрицы G. Так как любой минор из G представляет собой определитель Вандермонда, то определитель этой системы уравнений будет отличен от 0. Это значит, что переменные из А' при всех /" можно выразить как линейные комбинации переменных из Xi так, что будут выполняться равенства (9.13) и (9.12).
Аналогично, если У = (z/pv), ц = 1, .. ■, I АГ |, v = 1, ..., Р, — матрица, составленная из независимых переменных, то можно так подобрать числовую матрицу Н, что из равенства ВН = У элементы Ьк1 будут определяться как линейные комбинации элементов у^. При этом, если XY = 7 = (гфф), то Z = GABH = GCH, т. е. элементы гфф являются линейными комбинациями элементов cDU. Подставив в (9.11) вместо а^ их линейные выражения через хрт, вместо bkt их линейные выражения через у^ и складывая равенства (9.11) с соответствующими коэффициентами так, чтобы при еЛ получилось гфф, мы придем к системе равенств
ГУ
£ Y^XpJ Ld - е*ги + О ^+1> d=l
Ф= 1М, ф= 1, .. ., Р, (9.14)
где Ld, Ld — линейные формы. Равенства (9.14) задают приближенный билинейный алгоритм для умножения матрицы размером MX|zV| на матрицу размером | Af | X ^ с мультипликативной сложностью w. По теореме 8.2 получаем, что
где, согласно (9.7), (9.9) и (9.10),
м ■ । ^ । ■ р= «т^ ^ ■ ■ ■ ^v? ■ ■ ■ <«=
Подберем теперь подходящим образом s,s„. Из (9.2) получаем
Г = ктхРх + .. • + тпРпУ = £ ™” (m1P1f' ... (mnPn)Sn .
где суммирование производится по всем наборам (sb . .., sn) неотрицательных целых чисел, таким, что Sj + ... + sn = s. Число таких наборов равно C?^-i < (s + n — I)"-1, Поэтому по крайней мере для одного набора (sb . .., s„) будет
М • | N | • Р = ^^у UnvPvf' ... ^mnPnfn > fs/(s + п - I)"-1.
(9.16)
Будем считать, что выбран именно такой набор. Так как через w был обозначен rk(/®s), то, согласно (9.6), w<_rs. Тогда из (9.15) и (9.16) получаем
3 In.3s In г
Ю In (M • | N | • P) s In f — (n — 1) In (s + n — 1) ’
Так как это неравенство справедливо для любого s июне зависит от s, то, устремляя s к бесконечности, получаем ю ^ ^31пг/1п/, что и требовалось доказать.
Отметим, что при переходе от тензора полного матричного умножения (6.2) к тензору частичного матричного умножения (9.4) обнуление производится только по первой и второй координатам (i,/) и (&,/). Можно ожидать, что теорема 9.1 останется справедливой и в том случае, когда обнуление в (9.4) производится по всем трем координатам, но это утверждение пока не доказано и не опровергнуто.
Обычный алгоритм для умножения двух матриц порядка 2, в одной из которых один элемент равен 0, требует 6 умножений, а в [28] показано, что приближенная мультипликативная сложность этой задачи равна 5. Используя теорему 9.1, Шёнхаге [76] отсюда получил со ^ 31og6 5 < 2.695, что лучше всех предыдущих оценок. Однако ему удалось найти и более хорошие конструкции частичного умножения, что позволило понизить оценку для со до со <; 2.6087. Шёнхаге [76] получил еще более сильную оценку для со, используя новый метод, который можно назвать методом прямых сумм.
МЕТОД ПРЯМЫХ СУММ (т-ТЕОРЕМА)
Пусть f = U'iikY ieh, jeh, k^Ki и t" = (t"jkY 1еЬ j ^ Г, к e Ki — два трехмерных тензора, и пусть /^^г — 0> ЛП^О, К.П^2=0.
Определение. Прямой суммой /' ® I" тензоров f и t" называется тензор / = (/,/<:), где /е/^72, /eAUA> keKtUKz и
(ЮЛ).(ЮЛ).1ць, если i е /ь / €= /ь & Е KvЦ]к"' tuk, если / Е 7г, / G 7г, k ^ Ki’
(ЮЛ).
(ЮЛ).
в остальных случаях.
Система билинейных форм, соответствующая тензору (10.1), имеет вид
т. е. распадается в два семейства билинейных форм с непересе- кающимися множествами переменных. Поэтому естественной выглядит гипотеза, высказанная в [82], о том, что мультипликативная сложность совместного вычисления семейства билинейных форм (Ю.2) и (10.3) равна сумме мультипликативных сложностей каждого из семейств (10.2) и (10.3). На языке тензоров это можно выразить следующим образом.
Гипотеза о прямой сумме [82]: г к (^ © t") = гк (Г) + гк (t").
(Ю.4)
В работах [23, 38, 49] равенство (10.4) установлено для некоторых частных случаев. В общем случае гипотеза о прямой сумме пока не доказана и не опровергнута. Шёнхаге [76] показал, что аналогичная гипотеза для граничного ранга неверна. Пусть, например, тензор (&, 1, п) соответствует задаче умножения вектор-столбца ат = (а,, ..., а^ на вектор-строку Ь = = (6Ь .. ., Ьп\ Пусть m = (k — l)(n — 1) и тензор (1, пг, 1) соответствует произведению вектор-строки и длины пг на вектор- столбец vT длины пг. Для удобства занумеруем координаты векторов и и v парами (i, /) так, что i=l, ...,к — 1, / = = 1, ..., п — 1. Тогда
к-1 п-1
U • vT= £ 2 имоц.i=l /=1
Также для удобства введем вспомогательные переменные, положив их равными
«к п = 0, у1-п = — ^ Via ДЛЯ всех 1^й,i<n
ииа — -^ uia, «м = 0 для всех j^n. i<k
Тогда имеет место следующее равенство:
Е Е («г + «Ч^ (6, + euq) <е?си + w) — ( Е ( Е ® =
•i=l /=1\i-l / \/=I/
= e2 E E kaibjCji + u{ivifw) + О (a3). (10.5) i=l / = 1
Равенство (10.5) задает приближенное разложение порядка 2и длины kn + 1 для трилинейной формы, соответствующей тен-зору (&, 1, /г)ф(1, (к — 1)(«— 1), 1). Таким образом,rk((&, 1, п} ф (1, (к — 1) (н — 1), 1)^ кп + 1.
Нетрудно показать, что если тензору / соответствует задача вычисления системы р линейно независимых билинейных форм, то rk(O^ Р- Поэтому [76]
rk«fe, 1, п> ф<1, (^ — 1) (га — 1), V^ = kn+V (10.6)
По той же причине rk{&, 1,«)^^н, а значит, rk (к, l,n) = kn (так как rk(fe, 1,н)^гк(&, 1, п) = кп\ Аналогичногк(1, \к — 1) X X(и — 1), !)=(£ — I)(н — I). Таким образом, rk«£, 1, п>ф<1, (к- l)(n- 1), 1)) ^
^гк((^, 1, п}) + гк«1,(& — 1)(Л— 1), 1» и разность между правой и левой частями равна (/г—1)(н— — 1)—1, т. е. может быть сделана сколь угодно большим числом.
Шёнхаге [76] показал, как использовать граничный ранг прямой суммы тензоров матричного умножения для получения верхней оценки для со. Пусть
/ = (/«!, пь PvW ••• пк, р^, и пусть rk(/)<>. Это значит, что rkA(/)^r для некоторого к. Нетрудно проверить, что для любых трех трехмерных тензоров А, /2 и /3 справедливы равенства
(/1 ф <2) ® <з = (<i ® ^з) Ф (^2 ® ^з), h ® (^Ф<з) = (^®УФ(^®^).
Зафиксируем некоторое натуральное з и возведем тензор / в s-ю тензорную степень. Получим
S1 + ...+S6 = $\=1(.= 1,.= | /
где cQf означает прямую сумму с копий тензора f. Так как rkft (/) ^ г, то, согласно (8.7), гкАз (t®s) ^ rs. Зафиксируем одно какое-нибудь разбиение з = з,+ ... + sft и положим
£=ij^r "-П^ р=П^- (10-8) г=1<=1/=1
Выделим в (10.7) Е слагаемых, относящихся к выбранному разбиению (3[. ..., хД. Так как rkhs (t®8) ^ rs, то для трилинейной формы с тензором /®$ существует приближенное разложение (8.10) порядка hs и длины не более rs. Эта трилинейная форма является суммой &s трилинейных форм с непересекаю- щимися переменными. Положив переменные во всех этих трилинейных формах, кроме Е выделенных форм, равными 0 и переходя обратно к тензорам, получим
rkhs(£O<m, п, р^<Р.(10.9)
Производя перестановки координат, из (10.9) получим
гккДЕ0<п, р, тД^г, гкаДЕО^р, пг, n^^P. (10.10)
Используя (8.7), из (10.9) и (10.10) можно получить
rk3fts(£3O(Q,Q,Q»<r3S,(10.11)
где к
Q = mnp=II(imintp1ft.(10.12)
г-1
Из (10.11) по теореме 8.1 получаем
rk(£30(Q, Q, Q»<(l+3As)(l + |^)r3s.(10.13)
Лемма 10.1 [76]. Пусть Е и Q определяются равенствами (10.8) и (10.12) и q— такое натуральное число, что мультипликативная сложность М (q) ^ Е3, тогда
M(<7Q)<(1 + ЗЛз) (1 + уЛз)^.
Доказательство. Пусть требуется перемножить две квадратные матрицы Л и В порядка qQ. Разобьем матрицы А и В на блоки порядка Q. Тогда билинейный алгоритм для умножения матриц порядка q с мультипликативной сложностью не более
Е3 можно использовать для вычисления АВ, если в качестве переменных в этом билинейном алгоритме рассматривать соответствующие блоки матриц А и В. При этом задача сведется к вычислению не более Е3 произведений матриц порядка Q. Но, согласно (10.13), Е3 независимых умножений матриц порядка Q можно выполнить с мультипликативной сложностью, не превышающей (1 + 3As) (1 + 3/2/is)r3s, и лемма доказана.
Следующую теорему принято сейчас называть в литературе т-теоремой.
Теорема 10.2 [76]. Пусть
t = ^mb пх, а>® ... ® (mk, nk, рк),
где хотя бы для одного i тщп^ > 1 u г к (/) ^ г. Пусть т0 — корень уравнения
kmxttxpxf + •.. + <mknkpkf = г.
Тогда <d^3t0.
Доказательство. Обозначим mtrLipi через fi, t=l, ..., k. Пусть т — любое число, такое, что т0 < т и ® < Зт. Пусть s — фиксированное натуральное число и s = s!+ ... + sk — некоторое его разбиение в целые неотрицательные слагаемые. Определим Е и Q согласно (10.8) и (10.12). Тогда
t==l
Поскольку это одно из слагаемых в разложении (£ь = 1/?У по обобщенной формуле бинома Ньютона и число слагаемых равно Cs+L-i < (s + & — I)6-*, то найдется такое разбиение (sb ..., s6), что
\t=l / /\t=l / /(10.14)
\t=l / /
\t=l / /
Зафиксируем это разбиение. Пусть q — наибольшее целое, такое, что М (q) ^ Е3. Если М (q)Ч8Е3, то Л1 (2q) ^ Е3 и полу
чаем противоречие с максимальностью q. Поэтому М (q) ^'/s^3- Так как Зт > cd, то в соответствии с определением cd найдется такое Е0(т), что при всех Z^L0(t) выполняется МЦ^<13х. При увеличении s будет расти Е, а вместе с ним и q. Будем считать, что s выбрано настолько большим, что ^>Л0(т). Тогда М (q) < q3x. Отсюда q3x > ДЕ3 и qx > ХДЕ. Поэтому
(10.15)(10.15)W > 42eq\
(10.15)
(10.15)
Согласно условию, найдется такое h, что rkh(/)^r. Тогда, учитывая, что М^-^Е?, по лемме 10.1 получаем
M(<7QX(1 + М(1 +yAs)r4
ю < log^M (gQ) <ю < log^M (gQ) <3s In г + In [(1 +/is) (1+ 4ihs^In qQ3s In г + In [(1 +/is) (1+ 4ihs^In qQСогласно (4.2), отсюда следует, что
ю < log^M (gQ) <
ю < log^M (gQ) <
3s In г + In [(1 +/is) (1+ 4ihs^In qQ
3s In г + In [(1 +/is) (1+ 4ihs^In qQ
Используя неравенства (10.15) и (10.14), отсюда получаем
to ^тto ^т3s In г + In [(1 + As) (1 + ViAs)]
to ^т
to ^т
s In f У — (A — 1) In (s + к — 1) + In Чг
Так как это неравенство выполняется при всех достаточно больших s и о не зависит от s, то, переходя к пределу при s —»оо, получаем
® < Зт In г/1п(Ю.16)
Положим
g (т) = Т 111 г/1п (^ /?У
Мы доказали, что если т > т0 и Вт > ю, то m^3g(T). Предположим теперь, что теорема неверна, т. е. Зт0 < со. Тогда, поскольку хотя бы одно f; > 1, то
кк
i — 1i«I
и -g (ю/З) < co/3. Так как функция g (т) непрерывна, то можно взять такое б > 0, что g (со/3 + д) < ю/З. Но для т = ю/3 + б имеем Зт > со и т > т0. Следовательно, согласно (10.16), должно выполняться со/З ^ g (т) = g (<о/3 + б). Но выше записано обратное неравенство. Полученное противоречие доказывает теорему.
Комбинируя идеи из доказательств теорем 10.2 и 9.1, Шён- хаге [76] получил следующую теорему, обобщающую обе эти теоремы.
Теорема 10.3 [76]. Пусть 1 = ^® ••• ®tk, и пусть каждый тензор 4 — это тензор частичного матричного умножения с f, единичными компонентами. Пусть хотя бы одно f{ больше 1 и rk(/)^r. Тогда ®^Зт0, где т0 — корень уравнения
fi + • • • + ft— г •
Из равенства (10.6), используя теорему 10.2, Шёнхаге получил (о^3то, где т0 — корень уравнения
(&п)т + [(& — 1) (и — 1 )]т = kn + 1.
При к = п = Х получаем уравнение 16х + 9х = 17, откуда получается оценка ® ^ Зт0 < 2.548.
Пан [56] предложил более сложную и интересную конструкцию для приближенного разложения порядка 20 и длины г = 2 (к + 1) (п + 2) для тензора (1, к, 2п)^{п, 2, к^ф^к, п, 1). Отсюда (о^3то, где т0 — корень уравнения 3 (2&п)х = 2 (&+1) X X (и + 2). Наименьшее значение т0 получается здесь при к = 5, п=11. Тогда уравнение имеет вид 3- 110т=156, откуда ю^31п11052 < 2.5219.
Шёнхаге [76] получил оценку для и чуть меньше, чем 31п11052, но улучшение было достигнуто только в пятом десятичном знаке. Романи [73] сумел понизить оценку для ю до 2.5166, а Пан [58] — до 2.5161. Эти результаты отражены в обзоре [57].
ПЕРЕХОД К ПОЛЮ F(e) И НЕДОСТИЖИМОСТЬ ю
В -Приближенном разложении (8.4) элементы тензоров Iйtd, td брались из кольца Е[в] многочленов от е над полем F. Однако удобнее оказывается использовать тензоры с элементами из F (в) — поля дробно-рациональных функций (отношений двух многочленов) от в над полем F. Если / — тензор над F (в), то запись / = О (ей) будет означать, что все элементы тензора t имеют порядок О (ел) при в->0.
Лемма 11.1. Граничный ранг трехмерного тензора А над полем F равен наименьшему г в представлениях вида
^“tT—A + O^,(11.1)
d=l
где td, ~td, td — тензоры над F (г).
Доказательство. Пусть г0 — наименьшее значение г в (11.1). Поделив в (8.4) правую часть на вА, а в левой части все тензоры td на 8h, получим равенство вида (11.1) над F (в); Поэтому r0^rkX. С другой стороны, пусть выполнено равенство (11.1) с некоторым г. Пусть р(в)— общий знаменатель всех элементов всех тензоров td, р(е) и р (в) — общие знаменатели соответственно для всех элементов тензоров td, td, и пусть
p(e)p(e)p(e) = eft(l + с,е + .^. + сХ). Домножив обе части равенства (11.1) на р(е)р(е)р(е) и положив tdp (е) = td, idp (е) = = id> ldp(e)=td, получим
2 tdtdtd = е^Д + Ар d=l
где Д1 = О(еА+1). Поскольку элементы всех тензоров td, id, td, А принадлежит кольцу многочленов Е[е], то элементы Д, также принадлежат /7[е]. Расписывая At по степеням е, приходим к разложению (8.4) с тем жег, что и в (11.1). Отсюда rk Д ^ г0. Так как выше получено r0 ^ rk Д, то лемма доказана.
Конструкцию Шёнхаге (10.5), (10.6) можно рассматривать как добавление к тензору / = (&, 1, н) тензора (1, 7?, Недостаточно большим 7?, так чтогк(/®(1, R, 1)) не сильно отличается от гк/. Эта конструкция была обобщена Копперсмитом и Виноградом в [36].
Так же как и в случае точного ранга, легко показать, что рассмотрение разложений (11.1) для тензора Д=(Д,/б) равносильно рассмотрению следующих разложений для семейства билинейных форм:
г / m х / п х
= И А^хр^ + СЦе), к = \,...,р, (11.2)
где все а4, $4, у^ принадлежит полю F (е).
Пусть для системы билинейных форм
Вк = 5 Ащ^у,, к = \,...,р,(11.3)
/
над полем F существует приближенный билинейный алгоритм
длины г над полем F^, и пусть существуют такие ca е F(e), d = 1, ..., г, все отличные от 0, что
£ cd [ Е а?х, j^у( J = 0.(11.4)
Если через a обозначить матрицу размера пгХг с элементами aid = a^, а чеРез Р— матрицу порядка г\п с элементами ^<//~Р/ и чеРез С диагональную матрицу порядка г с диагональными элементами с4а = са, то матрицей билинейной формы, стоящей в левой части в (11.4), будет матрица аСр и равен-
ство (11.4) будет равносильно равенству
аС0 = О,(11.5)
а условие, что все Cd^O, будет равносильно невырожденности С.
Теорема 11.2. [36]. Пусть над полем F дана система билинейных форм (11.3) с тензором А = (Аць). Пусть для нее существует приближенный билинейный алгоритм (11.2) длины г над полем F^, такой, что указанные выше матрицы а и 0 имеют соответственно ранг тип над полем F(e). И пусть существует невырожденная диагональная матрица С порядка г с элементами из поля F^, для которой выполняется равенство (11.5). Тогда
гк(А®(1, R, 1»<г,
где R = r — т — п^О.
Доказательство. Все матрицы и пространства ниже рассматриваются над полем F ^е\ Через Rk будем обозначать ранг матриц над полем F(e). Тан как по условию Rk(a) = m, Rk(C) = г, то Rk(aC) = m. Поэтому подпространство L вектор-столбцов z длины г, таких, что aCz = 0, имеет размерность г — т. Так как, согласно (11.5), аС0 = О и Rk(0) = n, то, во-первых, г — т — п^О и, во-вторых, в L можно выбрать базис, включающий в себя все вектор-столбцы из 0. Пусть V = (V | 0) — матрица размера г X (г — т\ столбцы которой являются базисными векторами в L. Тогда Rk (Р) = г — т, Rk (V) = г — т — п и аСр = 0.(11.6)
Аналогично существует матрица О размера (г — п)Х/", такая, что
&С0 = О,(11.7)
[/=(£), Rk((/) = r-n и Rk(U) = г — т — п.
Рассмотрим матрицу W = UCV размера (г-л)Х(г-т). Так как Rk (U) = г — п, Rk (С) = г и Rk (Р) = г — т, то Rk (^) ^ г — — т — п. При этом
(UCV UC^\0\
^ = (т-)с(^10)= = -
4 7ХаСУ аС0 / X 0 0 /
где W = UCV — матрица размером (г — т — n) X (г ~ ^ — »)• Так как г — т — п ^ Rk (U7) = Rk (1Р) ^ г — т — п, то Rk(U7) = = г— т — n — R. Таким образом, матрица W невырожденна и можно считать, что
(Н.8)(Н.8)W = UCV = /r
(Н.8)
(Н.8)
(единичная матрица), так как в противном случае можно заменить V на
р = (v^ 1Ю-
Vo /„ /
Пусть матрица U имеет элементы ырф, a”V — элементы оха. Добавим к множеству переменных хи /=1, ..., tn, переменные ^р, р = 1, ...,/?, а к множеству переменных ys, j=l, ..., п, переменные т]0, а=1, . .. R. Если выбрать I достаточно большим, то, согласно (11.2), (П.5)— (11.8), будут справедливы
равенства
т/ mRX
Е ^(Е^г + 6' S«pA)x
4=1 \i = lP=I7
G
n/?'
В P^ + e' E ОЛ
= Е Aijk-XiUj 4- О (e), k = 1, . .., p,
r/ m^\
L (e-2'^) (^ E afx. + e' E % Д ) X
z nR\
x( E ii^+e' E «dono)=\/ = l'0=1/
R R / rxR
= E E E 4pd^d^do ) 5рЛа == E ^рЛр'
.i . p=l p = l \d=l/p=l
Эти равенства задают приближенный билинейный алгоритм длины г над F (е) для вычисления семейства билинейных форм Вк, к=\, ..., р, совместно с билинейной формой Ep=i^pT)p> которая описывает умножение матрицы размером 1 X R на матрицу размером RX^- Отсюда по лемме 11.1 получаем утверждение теоремы.
Следствие 1. Пусть при условиях теоремы 11.2 для матрицы С вместо равенства (11.5) выполнено условие Rk(aCP) = p. Тогда гк(Д®<1,/?, 1» ^г 4- р,
где R = r— т — п + р^О.
Доказательство. Рассмотрим билинейную формуг / m \ / п \Е cJEafxjf Е ^уа-d-V \i=l / \/=1 1 V
Матрица этой билинейной формы есть аСр, и, согласно условию, ее ранг равен р, т. е. эту матрицу можно представить в виде суммы р матриц ранга 1. Это значит, что для некоторых а^, р^ из F (е) (t = 1, ..., т; / = 1, ..., п; d = г + 1г + р) справедливо равенство
г/ тх / п хг+р г т\/ п \
Ем ЕЕ Е (ЕЕ <1L9)
d=l\i = lV \/=11 Vd=r+l\i —1/\j = l1 V
Можно считать, что слагаемые, стоящие в правой части в (11.9), фигурируют в левой части в (11.2), но с нулевыми коэффициентами. Но теперь из (11.9) получаем равенство
аналогичное равенству (11.4), и приходим полностью к условиям теоремы 11.2, Отсюда легко получается доказываемое следствие.
Следствие 2. Для любых т, п, р справедливо
rk ((m, п, р}®{}, R, 1)) ^ rk ((m, п, р)) + п,
где R = rk ((m, п, ^)) — п (т + р — 1).
Доказательство. Пусть rk ((m, п, р)) = г. Тогда справедливы равенства
Е хму,к = Е Ч^Дх^М^, i=\,...,m; k=\,...,p, /=1
(11.10)
где Md (х) — некоторые линейные формы над F от множества всех переменных х, Nd (у) — линейные формы от множества всех переменных у и у^ — некоторые константы из F. Рассмотрим билинейную форму
Ф = Е (Е ^/V Е bkytlA = Е Е Е а.ЬкХцУр,. (11.11) /=1 XZ = 1/ \к-1/г —1 / = 1 <6-1
В соответствии с (11.10) получаем
m р/ г\
Ф = Е Е а(ЬД Е
1=1 fe=l\d=l/
г / m р\
= Е (Е Е aibk^k) ма (х) Nd (у)- d=l\i-l fe=l B
Так как rk(m, n, p} — r, то для любого d (l^d^r) найдутся такие l и к, что у^ ^ о (см. (11.10)). Так как F (е) содержит
бесконечно много элементов, то можно подобрать а^ Ьк из F (е) так, чтобы при всех d выполнялось условие
cd = £ Е ¥= о.
= 1 k=l
Возьмем в качестве матрицы С диагональную матрицу размером г X г с диагональными элементами cd (d = 1, . .., г). Тогда RkC = r и ^=TJd=vCdMd№ Nd^fY Но из (11.11) нетрудно получить, что ранг матрицы билинейной формы ф равен п. Следовательно, р = Rk (аСр) = п, где аир — матрицы, построенные по коэффициентам линейных форм Md(x) и Л^(у) так же, как при получении равенства (11.5). Далее применяем следствие 1, где Л = (т, п, р\ пг заменяется на тп, п— на пр и р = п. Получаем следствие 2.
Следствие 3. Пусть вместо точного значения rk((m, п, р)) известна оценка rk((m, п, р))^г. Тогда
rk((m, п, р)ф(1, R, 1»<г + п,
где R = r -n^m-Y р— 1 )■
Доказательство. При увеличении R на 1 в тензоре (т, п, р)ф ©(1, R, 1) добавляется всего один ненулевой элемент, поэтому rk((m, п, р)ф(1, R, 0) увеличивается не более чем на 1. Увеличивая R в следствии 2 на г — rk((m, п, р)) единиц, получим следствие 3.
Следующая теорема показывает, что экспонента матричного умножения о) недостижима ни в каком конкретном примере.
Теорема 11.3 [36]. Если г к ((п, п, п)') = п1"" для некоторого фиксированного п, то со < со0, где со — экспонента матричного умножения.
Доказательство. Так как rk((n, п, n))^2n2 — 1 [32], то (о0 > 2, поэтому (i)2/3 > 1. Учитывая (6.12), получаем rk ({ns, ns, nsY ^ ^И6>«» для любого натурального s. Используя следствие 3, получаем
rk ((ns, ns, ns) ф (1, Rs, 1)) ^ nS(Oa + n3,(H-12)
где Rs = n3®6 — 2n2s + ns. Так как м0 > 2, то в последнем выражении доминирует (при $—>оо) ns®\ Выберем s настолько большим, что Rs°13 > ns (это возможно, так как (оо/3> 1). Тогда из неравенства (11.12) по т-теореме получаем (о^3т0, где т0 — корень уравнения
n3st-YRxs = nStoHns.
Если т = (»0/3, то
И Т Ks = п "Т Ks / Т1 + п .
Поэтому То < too/З Н to < (ОО.
Аналогичный результат получен в [36] и для более общего случая. А именно, показано, что в т-теореме (теорема 10.2) также всегда имеет место строгое неравенство и С Зто.
С недостижимостью и связано то, что можно строить бесконечную последовательность алгоритмов, каждый последующий из которых дает верхнюю оценку для и, лучшую, чем предыдущий. На этом пути Копперсмит и Виноград получили в [36] оценку го < 2.495548. Следует отметить, что процесс получения новых оценок предложенным способом очень быстро сходится и уже на третьем-четвертом шагах оценка улучшается очень незначительно.
ОТНОСИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ
Новый подход к получению верхней оценки для и предложен Штрассеном в [81].
Пусть А = (A,/ft) — трехмерный тензор и i s I, / е J, k е К Пусть заданы прямые разбиения / = Ix -V • • • -Wm> / = А + ... ...+/„, К = К\ А- • • • А-Кр. Тогда тензор А разбивается на блоки
Эти тензоры мы будем называть внутренними тензорами для данного разбиения тензора А. Внешним тензором для данного разбиения будем называть трехмерный тензор В порядка m X п X Р, такой, что Bqrs = 0, если AiqirKs = 0, и Bqrs = 1 в противном случае.
Определение. Пусть 6 и Г — два множества трехмерных тензоров. Тензор А называется 0-тензором над Г, если существует разбиение тензора А, при котором внешний тензор принадлежит Г, а все внутренние тензоры, отличные от 0, принадлежат 9.
Это определение является обобщением понятия тензорного произведения.
Пусть 0, и 02— два множества трехмерных тензоров. Тогда через 0! ®02 будем обозначать множество тензоров {/, ® 6 16 ^0,, /2ge02}. Пусть А = (Ацк) и л — произвольная перестановка трех индексов I, /, к (и соответственно множеств /, I, К). Тензор, получаемый из А такой перестановкой, будем обозначать лА и положим л0 = {л/|?е0). Непосредственной проверкой доказывается следующее утверждение.
Лемма 12.1. Если А' и А" — соответственно В'-тензор над Г' и В"-тензор над Г", то А' ® А" является 0' ® В"-тензором над Г'® Г" и лА' является лВ'-тензором над лГ'.
Основой конструкции Штрассена явилось следующее равенство. Пусть g— некоторый параметр. Тогда
п п п
22X
Х(г^-я)2+2<*-я>0= 2 xuUlkzkl-VO^ (12.1)
Z+/ + fe=gV^l.i.k^n
поскольку показатель у е равен
Р + 2// + j2 + 2/ (Г- g) + (к - gf + 2 (k - g) i = (z + j + к - gf.
Равенство (12.1) показывает, что если мы имеем приближенное разложение над F(е) для трилинейной формы
п п п^
2 2 anbjkcki,
Z = 1 / = 1 к=\
соответствующей тензору <п, п, ri), то, делая простые замены переменных, мы получим приближенное разложение над F^ той же длины для трилинейной формы
Т =2 Xi/Uikzki-
i+i+k-g1 < i, j, к < n
Поскольку в этой форме значения любых двух из трех индексов i, j, к однозначно определяют значение третьего индекса, то каждая переменная встречается в Г не более одного раза. Это значит, что Т является суммой / независимых трилинейных форм вида xyz, где / — число решений уравнения i-\- iA-k = g при условиях 1 <z, /, £<п. Взяв g = [3n/2], получим / = [Зп2/4]. На языке тензоров это означает, что если мы имеем приближенное разложение (11.1) длины г над полем F (б) для тензора А = (п, п, п\ то, выполнив замены
(12.2)
Л<1 Td „(k~g)2+2 (fe-g) iI ki l ki®’
мы получим приближенное разложение над F (е) той же длины г для тензора, являющегося прямой суммой [Зп2/4] тензоров <1, 1, 1).
Теорема 12.2 [81]. Пусть В —некоторое множество тензоров и А является В-тензором над тензором {п, п, п\ Тогда если
существует приближенное разложение длины г над F (F) для тензора А, то существует приближенное разложение длины г над F (е) для некоторого тензора, являющегося прямой суммой [Зп2/41 тензоров из 0.
Для доказательства теоремы 12.2 достаточно в приближенном разложении (11.1) для тензора А сделать замену переменных, аналогичную (12.2), в соответствии с внешним тензором (л, п, л) (т. е. показатели у е будут определяться только значениями индексов внешнего тензора). Тогда мы получим приближенное разложение той же длины над F (е) для тензора, состоящего из [Зц2/41 независимых блоков, каждый из которых есть тензор из 0.
Пусть 9g = {(m, п, p)\mnp = у}. Используя теорему 12.2, Штрассен [81] доказал следующее утверждение.
Теорема 12.3. Пусть t является 9 „-тензором над (е, h, f) и rk (/) ^г. Тогда (ehl)2 q^^r3.
Доказательство. Пусть л — циклическая перестановка координат i, j, к тензора t. Рассмотрим тензор ^ = (/ ® л/ ® л2/)® N. Учитывая (8.8) и двойственность для граничного ранга, получаем rk^^^r3". Согласно лемме 12.1, tx является ©^-тензором над тензором ((ehl)N, (ehl)N, (ehl)N\ Тогда из теоремы 12.2 следует, что для некоторого тензора t2, являющегося прямой суммой [3 (eA/)2'v/4"| тензоров из 9?ы, выполняется rk^^^r3".
Отсюда по т-теореме получаем ю^Зт0, где т0 — корень уравнения т. е.
(ehl^ j ^н^3 ^ гзм
Извлекая из обеих Частей корень N-й степени и устремляя N к бесконечности, получаем утверждение теоремы.
Штрассен [81] применил теорему 12.3 к следующей конструкции. Рассмотрим тождество
4Г4\
У, кч + вх,) (у0 + бу^ ^ 4- ХоУо ( - У ) =
i=l\ 1=1/
q
= £ (x^qZ, + Хоу^ + О (е).(12.3)
Это тождество задает приближенное разложение длины q 4- 1 над F^ трилинейной формы
'5= Е (xiyoZt + Хоу.г^.
i = l
Положив /[ = {!, 2, ...,</}, /2 = {0}; Л — {0}* Л— {1<?},
К, = {1, .... qV мы получим разбиение тензора, соответствующего S, на 4 блока. При этом во внешнем тензоре В будет ВН1 = 1, В221 = 1 и 0 в остальных случаях. Поэтому В = (1, 2, 1). Два ненулевых внутренних тензора соответствуют трилинейным, формам д.
Е x^oZi и Еx^tZth
i=ii=i
и, следовательно, являются тензорами (9, 1, 1) и (1, 1, 9) из 0?.. Таким образом, тензор, соответствующий S, есть 0„-тензор. над тензором (1, 2, 1). По теореме 12.3 из (12.3) получаем 417ю ^ (q + I)3. При 9 = 5 отсюда следует оценка со < 2.4785 [81]..
Отметим, что в теоремах 12.2 и 12.3 от внешнего тензора требуется только, чтобы по любому его приближенному разложению можно было определенным образом построить приближенное разложение той же длины для тензора, являющегося прямой суммой некоторого (достаточно большого) числа тензоров вида <1, 1, 1 >. Поэтому в качестве внешнего тензора можно рассматривать любой тензор, обладающий таким свойством, а не обязательно матричный тензор. Кроме того, доказательство теоремы 12.3 сводилось к применению т-теоремы к прямой сумме тензоров <m,, n,, pf) с одинаковым «объемом» miHipi. Однако- т-теорему можно применять и при разных «объемах» слагаемых.
Используя эти идеи, Копперсмит и Виноград [35] получили
оценкуоценкусо < 2.376.со < 2.376.(12.4>(12.4>
оценку
оценку
со < 2.376.
со < 2.376.
(12.4>
(12.4>
Естественно, ожидается, что со = 2, но на момент написания данного обзора оценка (12.4) является наилучшей.
НЕКОТОРЫЕ РЕЗУЛЬТАТЫ, СВЯЗАННЫЕ
С УМНОЖЕНИЕМ МАТРИЦ
Результаты, описанные в предыдущих разделах, имеют большое теоретическое значение. Однако их невозможно пока использовать для практических целей, поскольку в оценках сложности матричного умножения вида ММ (п) = О (иа) константы оказываются астрономическими. Поэтому наряду с попытками уменьшить асимптотическую сложность умножения матриц изу-
чается и мультипликативная сложность этой задачи при небольших значениях параметров. Часть результатов этого направления отмечалась в разд. 4 и 7. В [70] рассмотрены методы получения верхних оценок для мультипликативной сложности М (п) и приведена таблица наилучших известных оценок для М(п') при п ^ 40. Пан [65] получил общую верхнюю оценку для М(п), несколько улучшающую его оценки, приведенные в разд. 5.
Отметим, что алгоритм Штрассена для умножения двух матриц порядка 2 обладает следующим интересным свойством: любой билинейный алгоритм для этой задачи с мультипликативной сложностью 7 в определенном смысле эквивалентен алгоритму Штрассена [15, 41].
В работах [31, 34, 54] изучается асимптотическая сложность умножения прямоугольных матриц. В [31] показано, что матрицу размером п X Р можно умножать на матрицу размером рХ^ за /г2 + о(п2) операций при p^log2n. В [34] показано, что за О (п2 log2 ri) операций можно умножать матрицу размером пХ^ на матрицу размером паХ«, где а = 2 log 2/(5 log 5) ~ 0.17227. В [54] получен ряд свойств функции
В (х, у, z) = inf {6 | rk ^пх, п4, п3^ = О (пь) при п -* оо).
В разд. 8 показано, что rk ((3, 3, 3))^2L В [76] указано, что rk ((4, 4, 4)) ^ 47. Поскольку rk ((2, 2, 2)) = 7, то rk((2, 2, 2)) ^ ^7 и не известно, можно ли эту оценку понизить. В [53] показано, что rk((n, п, n^'^ltn2 + '^п — 1.
В [84, 85] показано, что непосредственное использование приближенных алгоритмов, описанных в разд. 8, может приводить к неустойчивости. Вопросы, связанные с получением устойчивых приближенных алгоритмов, обсуждаются в [30, 29, 71]. С этими проблемами связано и изучение не арифметической, а битовой сложности умножения матриц и близких задач, при которой элементы матрицы считаются заданными в позиционной системе счисления и рассматривается число действий над разрядами (см. [62—64]). Полученные верхние оценки битовой сложности в основном определяются арифметической сложностью и слабо зависят от длины чисел. Интересным здесь является результат о том, что битовая сложность умножения матриц по порядку меньше, чем битовая сложность вычисления определителя (напомним, что арифметическая сложность этих задач одинакова по порядку).
В работах [25, 46, 11] рассматривается умножение матриц с учетом коммутативности. В [И] построен алгоритм с 22 умножениями для умножения двух матриц порядка 3 с учетом ком-
мутативности переменных. В [46], в частности, показано, что для коммутативного случая не выполняется двойственность: умножение матрицы размером 2Хп на матрицу размером «Х2 тоебует не менее [27п/8] умножений над кольцом целых чисел Z или над полем GF(2), а для умножения матрицы размером 2X2 на матрицу размером 2Хп над Z или GF(2) достаточно Зя + 2 умножений. В [25] рассматриваются приближенные алгоритмы в коммутативном случае. Показано, что в этом случае для умножения матрицы размером nXm на вектор длины m необходимо и достаточно х12т^п + 1) умножений (при точном умножении это число равно пт [89]). Показано также, что для умножения двух матриц порядка 2 приближенным коммутативным алгоритмом достаточно 6 умножений. В [25] для сложности умножения матриц приближенными коммутативными алгоритмами введен параметр а, аналогичный и для точного умножения, и доказано, что а < 2.3211.
В работах [69, 61] изучается аддитивная сложность, т. е.. наименьшее число сложений, в задаче умножения матриц.
Оценки сложности умножения и обращения матриц из некоторых специальных классов имеются в [10, 14, 55].
В ряде работ показано, что некоторые известные задачи, например нахождение транзитивного замыкания графа [19], нахождение кратчайших путей в графе [90, 72, 64], нахождение максимального паросочетания в двудольном графе [45], распознавание контекстно-свободных языков [86], сводятся к умножению матриц и, следовательно, уменьшение сложности умножения матриц приводит к уменьшению сложности и для этих задач. В работе [51] показано, что построение характеристического полинома не сложнее по порядку, чем умножение матриц, а в [77] аналогичные результаты получены для приведения матриц к специальному виду. В [17] метод НВП-разложений (см. разд. 3) обобщен на прямоугольные матрицы.
Умножение булевых матриц с булевыми операциями легко- сводится к умножению матриц над полем рациональных чисел (см. [1]), поэтому уменьшение сложности умножения матриц над этим полем приводит к уменьшению сложности схем из функциональных элементов, реализующих умножение булевых матриц. В [67, 66] показано, что схемы для умножения двух булевых матриц размера тХп и пХр, включающие только элементы конъюнкции и дизъюнкции, содержат не менее тпр конъюнкций и тр(п— 1) дизъюнкций.
В [4, 47], кроме времени Т (т. е. числа операций), учитывается и память S. Для умножения двух матриц размером т X « и п X Р получены нижние оценки вида TS = й(тпр). Для обращения матрицы порядка п в [47] получена оценка TS = = Q(n4).
Соотношение между площадью и временем работы больших интегральных схем, реализующих умножение матриц, рассмотрено в [68, 74].
Легко построить параллельный алгоритм для умножения двух матриц порядка п со сложностью O(logn). Параллельные алгоритмы со сложностью O(log2n) для различных матричных задач построены в [37].
В заключение отметим, что результаты, появившиеся вокруг задачи об умножении матриц, привлекли большое внимание к изучению общих свойств билинейных алгоритмов, к рассмотрению сложности умножения в различных ассоциативных алгебрах, к исследованию точного и приближенного ранга произвольных тензоров, и в этих направлениях в настоящее время имеется обширная литература (см., например, [20, 22, 39, 44, 2, 26, 80], а также работы обзорного характера [16, 3, 12, 9, 40]).
ЛИТЕРАТУРА
[1][1][2][2]13]13]14]14][5][5]16]16]17]17][8][8][9][9]Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.Григорьев Д. Ю. Алгебраическая сложность вычисления семейства билинейных форм. — Журн. выч. матем. и матем. физики, 1979, т. 19, № 3, с. 563—580, 796.Григорьев Д. Ю. Нижние оценки в алгебраической сложности вычислений.— В сб.: Теория сложности вычислений. I. — Записки научн. семинаров ЛОМИ АН СССР, 1982, т. 118, с. 25—82, 214.Григорьев Д. Ю. Применение понятий отделенности и независимости для доказательства нижних оценок сложности схем. — Зап. научн. семинаров ЛОМИ АН СССР, 1976, т. 60, с. 38—48.Карацуба А. А., Офман Ю. П. Умножение многозначных чисел на автоматах. — ДАН СССР, 1961, т. 145, № 2, с. 293—294.Клосс Б. М. Оценки сложности решения систем линейных уравнений — ДАН СССР, 1966, т. 171, № 4, с. 781—783.Клюев В. В., Коковкин-Щербак Н. И. О минимизации числа арифметических операций при решении линейных алгебраических систем уравнений.— Журн. выч. матем. и матем. физики, 1965, т. 5, № 1, с. 21—33. Коновальцев И. В. Об одном алгоритме решения систем линейных уравнений в конечных полях. — В сб.: Проблемы кибернетики, вып. 19 — М.: Наука, 1967, с. 269—274.Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.Григорьев Д. Ю. Алгебраическая сложность вычисления семейства билинейных форм. — Журн. выч. матем. и матем. физики, 1979, т. 19, № 3, с. 563—580, 796.Григорьев Д. Ю. Нижние оценки в алгебраической сложности вычислений.— В сб.: Теория сложности вычислений. I. — Записки научн. семинаров ЛОМИ АН СССР, 1982, т. 118, с. 25—82, 214.Григорьев Д. Ю. Применение понятий отделенности и независимости для доказательства нижних оценок сложности схем. — Зап. научн. семинаров ЛОМИ АН СССР, 1976, т. 60, с. 38—48.Карацуба А. А., Офман Ю. П. Умножение многозначных чисел на автоматах. — ДАН СССР, 1961, т. 145, № 2, с. 293—294.Клосс Б. М. Оценки сложности решения систем линейных уравнений — ДАН СССР, 1966, т. 171, № 4, с. 781—783.Клюев В. В., Коковкин-Щербак Н. И. О минимизации числа арифметических операций при решении линейных алгебраических систем уравнений.— Журн. выч. матем. и матем. физики, 1965, т. 5, № 1, с. 21—33. Коновальцев И. В. Об одном алгоритме решения систем линейных уравнений в конечных полях. — В сб.: Проблемы кибернетики, вып. 19 — М.: Наука, 1967, с. 269—274.1Ю]1Ю]Латышев В. Н. Комбинаторная теория колец. Сложность алгебраических алгоритмов. — М.: Изд-во Моск, ун-та, 1987.Ленин А. И., Макаров О. М.Латышев В. Н. Комбинаторная теория колец. Сложность алгебраических алгоритмов. — М.: Изд-во Моск, ун-та, 1987.Ленин А. И., Макаров О. М.Ускоренные алгоритмы умножения транс-Ускоренные алгоритмы умножения транс-[И][И]понированного вектора наМатематика, 1980, № 1(212), Макаров О. М. Алгоритмпонированного вектора наМатематика, 1980, № 1(212), Макаров О. М. Алгоритмматрицы с. 34—38.матрицы с. 34—38.и GGT.— Изв. вузов,и GGT.— Изв. вузов,[12][12]умножения матриц 3X3. — Журн. выч. матем. и матем. физики, 1986, т. 26, № 2, с. 293—294.умножения матриц 3X3. — Журн. выч. матем. и матем. физики, 1986, т. 26, № 2, с. 293—294.[13][13]Макаров О. М. Введение в теорию оптимизации вычислений билинейных форм. — Киев: Наукова думка, 1983.Макаров О. М. Некоммутативный алгоритм умножения квадратных матриц пятого порядка, использующий сто умножений.—Журн. выч. матем. и матем. физики, 1987, т. 27, № 2, с. 311—315.Макаров О. М. Введение в теорию оптимизации вычислений билинейных форм. — Киев: Наукова думка, 1983.Макаров О. М. Некоммутативный алгоритм умножения квадратных матриц пятого порядка, использующий сто умножений.—Журн. выч. матем. и матем. физики, 1987, т. 27, № 2, с. 311—315.
[1]
[1]
[2]
[2]
13]
13]
14]
14]
[5]
[5]
16]
16]
17]
17]
[8]
[8]
[9]
[9]
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.
Григорьев Д. Ю. Алгебраическая сложность вычисления семейства билинейных форм. — Журн. выч. матем. и матем. физики, 1979, т. 19, № 3, с. 563—580, 796.
Григорьев Д. Ю. Нижние оценки в алгебраической сложности вычислений.— В сб.: Теория сложности вычислений. I. — Записки научн. семинаров ЛОМИ АН СССР, 1982, т. 118, с. 25—82, 214.
Григорьев Д. Ю. Применение понятий отделенности и независимости для доказательства нижних оценок сложности схем. — Зап. научн. семинаров ЛОМИ АН СССР, 1976, т. 60, с. 38—48.
Карацуба А. А., Офман Ю. П. Умножение многозначных чисел на автоматах. — ДАН СССР, 1961, т. 145, № 2, с. 293—294.
Клосс Б. М. Оценки сложности решения систем линейных уравнений — ДАН СССР, 1966, т. 171, № 4, с. 781—783.
Клюев В. В., Коковкин-Щербак Н. И. О минимизации числа арифметических операций при решении линейных алгебраических систем уравнений.— Журн. выч. матем. и матем. физики, 1965, т. 5, № 1, с. 21—33. Коновальцев И. В. Об одном алгоритме решения систем линейных уравнений в конечных полях. — В сб.: Проблемы кибернетики, вып. 19 — М.: Наука, 1967, с. 269—274.
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.
Григорьев Д. Ю. Алгебраическая сложность вычисления семейства билинейных форм. — Журн. выч. матем. и матем. физики, 1979, т. 19, № 3, с. 563—580, 796.
Григорьев Д. Ю. Нижние оценки в алгебраической сложности вычислений.— В сб.: Теория сложности вычислений. I. — Записки научн. семинаров ЛОМИ АН СССР, 1982, т. 118, с. 25—82, 214.
Григорьев Д. Ю. Применение понятий отделенности и независимости для доказательства нижних оценок сложности схем. — Зап. научн. семинаров ЛОМИ АН СССР, 1976, т. 60, с. 38—48.
Карацуба А. А., Офман Ю. П. Умножение многозначных чисел на автоматах. — ДАН СССР, 1961, т. 145, № 2, с. 293—294.
Клосс Б. М. Оценки сложности решения систем линейных уравнений — ДАН СССР, 1966, т. 171, № 4, с. 781—783.
Клюев В. В., Коковкин-Щербак Н. И. О минимизации числа арифметических операций при решении линейных алгебраических систем уравнений.— Журн. выч. матем. и матем. физики, 1965, т. 5, № 1, с. 21—33. Коновальцев И. В. Об одном алгоритме решения систем линейных уравнений в конечных полях. — В сб.: Проблемы кибернетики, вып. 19 — М.: Наука, 1967, с. 269—274.
1Ю]
1Ю]
Латышев В. Н. Комбинаторная теория колец. Сложность алгебраических алгоритмов. — М.: Изд-во Моск, ун-та, 1987.
Ленин А. И., Макаров О. М.
Латышев В. Н. Комбинаторная теория колец. Сложность алгебраических алгоритмов. — М.: Изд-во Моск, ун-та, 1987.
Ленин А. И., Макаров О. М.
Ускоренные алгоритмы умножения транс-
Ускоренные алгоритмы умножения транс-
[И]
[И]
понированного вектора на
Математика, 1980, № 1(212), Макаров О. М. Алгоритм
понированного вектора на
Математика, 1980, № 1(212), Макаров О. М. Алгоритм
матрицы с. 34—38.
матрицы с. 34—38.
и GGT.— Изв. вузов,
и GGT.— Изв. вузов,
[12]
[12]
умножения матриц 3X3. — Журн. выч. матем. и матем. физики, 1986, т. 26, № 2, с. 293—294.
умножения матриц 3X3. — Журн. выч. матем. и матем. физики, 1986, т. 26, № 2, с. 293—294.
[13]
[13]
Макаров О. М. Введение в теорию оптимизации вычислений билинейных форм. — Киев: Наукова думка, 1983.
Макаров О. М. Некоммутативный алгоритм умножения квадратных матриц пятого порядка, использующий сто умножений.—Журн. выч. матем. и матем. физики, 1987, т. 27, № 2, с. 311—315.
Макаров О. М. Введение в теорию оптимизации вычислений билинейных форм. — Киев: Наукова думка, 1983.
Макаров О. М. Некоммутативный алгоритм умножения квадратных матриц пятого порядка, использующий сто умножений.—Журн. выч. матем. и матем. физики, 1987, т. 27, № 2, с. 311—315.
Макаров О. М. О нижней границе числа операций умножения при вычислении произведения ганкелевых матриц. — Журн. выч. матем. и матем. физики, 1977, т. 17, № 5, с. 1298—1301.
Пан В Я. О схемах вычисления произведения матриц и обратной матрицы, —УМН, 1972, т. 27, № 5, с. 249—250.
Слисеико А. О. Сложностные задачи теории вычислений. — УМН, 1981, т. 36, № 6, с. 21—103.
Солодовников В. И. Распространение оценки Штрассена на решение произвольных систем линейных уравнений. — Журн. выч. матем. н матем. физики, 1979, т. 19, № 3, с. 581—593.
Тоом А. Л. О сложности схемы из функциональных элементов, реализующей умножение целых чисел. — ДАН СССР, 1963, т. 150, № 3,. с. 496—498.
Фурман М. Е. О применении метода быстрого перемножения матриц, в задаче нахождения транзитивного замыкания графа. — ДАН СССР, 1970, т. 194, № 3, с. 524.
Alder A., Strassen V. On the algorithmic complexity of associative algebras.— Theoret. Comput. Sci., 1981, v. 15, No. 2, p. 201—211.
Alekseyev V. B. On the complexity of some algorithms of matrix multiplication.— J. Algorithms, 1985, v. 6, No. 1, p. 71—85.
Atkinson M. D„ Stephens N. M. On the maximum multiplicative com- lexity of a family of bilinear forms. — Linear Algebra and Appl., 1979, v. 27, p. 1—8.
Auslander L„ Feig E„ Winograd S. Direct sums of bilinear algorithms.— Linear Algebra and Appl., 1981, v. 38, p. 175—192.
Baur W„ Strassen V. The complexity of partial derivatives. — Theoret. Comput. Sci., 1983, v. 22, No. 3, p. 317—330.
Bini D. A note on commutativity and approximation. — Theoret. Comput. Sci., 1984, v. 28, No. 1—2, p. 135—150.
Bini D. Border rank ok a p X q X 2 tensor and the optimal approximation of a pair of bilinear forms. — Lecture Notes in Computer Science, v. 85. — Berlin: Springer-Verlag, 1980, p. 98—108.
Bini D. Relations between exact and approximate bilinear algorithms, applications. — Calcolo, 1980, v. 17, p. 87—97.
Bini D„ Capovani M., Lotti G„ Romani F. O(n27799) complexity for approximate matrix multiplication. — Inform. Process. Lett., 1979, v. 8, No. 5. p. 234—235.
Bini Dario, Lotti Grazia. Stability of fast algorithms for matrix multiplication.— Numer. Math., 1980/81, v. 36, No. 1, p. 63—72.
Bini Dario, Lotti Grazia, Romani Francesco. Approximate solutions for the bilinear form computational problem.— SIAM J. Comput., 1980, v. 9, No. 4, p. 692—697.
Brockett Roger W„ Dobkin David. On the number of multiplications, required for matrix multiplication. — SIAM J. Comput., 1976, v. 5, No. 4, p. 624—628.
Brockett Roger W„ Dobkin David. On the optimal evaluation of a set of bilinear forms.— Linear Algebra and Appl., 1978, v. 19, No. 3, p. 207—235.
Bunch J., Hopcroft J. Triangular factorization and inversion by fast, matrix multiplication. — Mathematics Computation, 1974, v. 28, No. 125,. p. 231-236.
Coppersmith D. Rapid multiplication of rectangular matrices. — SIAM. J. Comput., 1982, v. 11, No. 3, p. 467—471.
Coppersmith D„ Winograd Sh. Matrix multiplication via arithmetic progression. — IBM Thomas Watson Research Center, Preprint, 1986.
Coppersmith D„ Winograd S. On the asymptotic complexity of matrix multiplication. — SIAM J. Comput., 1982, v. 11, No. 3, p. 472 492.
Csanky L. Fast parallel matrix inversion algorithms. — SIAM J. Comput., 1976, v. 5, No. 4, p. 618—623.
Feig E., Winograd S. On the direct sum conjecture. — Linear Algebra and Appl., 1984, v. 63, p. 193—219.
Grigoryev D. Yu. Some new bounds on tensor rank. — LOMI Preprint E-2-78, 1978.
J40] de Groote H. F. Lectures on the complexity of bilinear problems. — Lecture Notes in Computer Science, v. 245. — Berlin: Springer-Verlag, 1986.
J41] de Groote H. F. On varieties of optimal algorithms for the computation of bilinear mappings. II. Optimal algorithms for 2X2 matrix multiplication.— Treoret. Comput. Sci., 1978, v. 7, No. 2, p. 127—148.
Hopcroft J. E., Kerr L. R. On minimizing the number of multiplications necessary for matrix multiplication. — SIAM J. Appl. Math., 1971, v. 20, No. 1, p. 30—36.
Hopcroft J. E., Musinski J. Duality applied to the complexity of matrix multiplications and other bilinear forms. — SIAM J. Comput., 1973, v. 2, No. 3, 159—173.
Howell T. D. Global properties of tensor rank. — Linear Algebra and Appl., 1978, v. 22, p. 9—23.
Ibarra Oscar H., Moran Shlomo. Deterministic and probabilistic algorithms for maximum bipartite matching via fast matrix multiplication.— Inform. Process. Lett., 1981, v. 13, No. 1, p. 12—15.
Ja’Ja’Joseph. On the complexity of bilinear forms with commutativity. — SIAM J. Comput., 1980, v. 9, No. 4, p. 713—727.
Ja’Ja’Joseph. Time-space trade-offs for some algebraic problems. — J. Assoc. Comput. Mach., 1983, v. 30, No. 3, p. 657—667.
Ja’Ja’Joseph, Takche Jean. Improved lower bounds for some matrix multiplication problems.— Inform. Process. Lett., 1985, v. 21, No. 3, p. 123—127.
Ja’Ja’Joseph, Takche Jean. On the validity of the direct sum conjecture.— SIAM J. Comput., 1986, v. 15, No. 4, p. 1004—1020.
Johnson Rodney W., McLoughlin Aileen M. Noncommutative bilinear algorithms for 3X3 matrix multiplication. — SIAM J. Comput., 1986, v. 15, No. 2, p. 595—603.
Keller-Gehrig W. Fast algorithms for the characteristic polynomial.— Theoret. Comput. Sci., 1985, v. 36, No. 2-3, p. 309—317.
Laderman J. A noncommutative algorithm for multiplying 3X3 matrices using 23 multiplications. — Bull. Amer. Math. Soc., 1976, v. 82, No. 1, p. 126—128.
Lickteig T. A note on border rank. — Inform. Process. Lett., 1984, v. 18, p. 173—178.
Lotti Grazia, Romani Francesco. On the asymptotic complexity of rectangular matrix multiplication. — Theoret. Comput. Sci., 1983, v. 23, No. 2, p. 171—185.
Makarov О. M. Using duality for the synthesis of an optimal algorithm involving matrix multiplication. — Inform. Process. Lett., 1981, v. 13, No. 2, p. 48—49.
Pan V. Ya. Field extension and trilinear aggregating, uniting and canceling for the acceleration of matrix multiplications. — Proc. 20th Annual Symposium on Foundations of Computer Science, 1979, p. 28—38.
Pan V. How to multiply matrices faster? — Lecture Notes in Computer Science, v. 179. — New York — Berlin: Springer-Verlag, 1984.
Pan V. Ya. New combinations of methods for the acceleration of matrix multiplication.—Comput. Math. Appl., 1981, v. 7, No. 1, p. 73—125.
Pan V Ya. New fast algorithms for matrix operations. — SIAM J. Corn- put., 1980, v. 9, No. 2, p. 321—342.
Pan V. Ya. Strassen’s algorithm is not optimal — trilinear technique of aggregating uniting and canceling for constructing fast algorithms for matrix operations. — Proc. 19th Annual Symposium on Foundations of Computer Science, Ann Arbor, Mich., 1978, p. 166—176.
Pan V. Ya. The additive and logical complexities of linear and bilinear arithmetic algorithms. — J. Algorithms, 1983, v. 4, No. 1, p. 1—34.
Pan V. Ya. The bit complexity of matrix multiplication and related computations in linear algebra. The segmented Л-algorithms. — Comput. Math. Appl., 1985, v. 11, No. 9, p. 919—928.
Pan V. The bit-operation complexity of approximate evaluation of matrix and polynomial products using modular arithmetic. — Comput. Math. Appl., 1982, v. 8, No. 2, p. 137—140.
Pan V. The bit-operation complexity of matrix multiplication and of all pairs shortest parth problem. — Comput. Math. Appl., 1981, v. 7, No. 5, p. 431—438.
Pan V. Ya. Trilinear aggregating with implicit canceling for a new acceleration of matrix multiplication. — Comput. Math. Appl., 1982, v. 8, No. 1, p. 23—24.
Paterson M. S. Complexity of monotone networks for Boolean matrix product. — Theoret. Comput. Sci., 1975, v. 1, No. 1, p. 13—20. [Имеется перевод: Патерсон M. С. Сложность монотонных схем для булева умножения матриц. — В кн.: Кибернетический сб. — М.: Мир, 1978, вып. 15, с. 28—37.]
Pratt V. R. The power of negative thinking in multiplying Boolean matrices.—SIAM J. Comput., 1975, v. 4, No. 3, p. 326—330.
Preparata F., Vuillemin J. Area-time optimal VLSI networks for parallel matrix multiplication. — Inform. Process. Lett., 1980, v. 11, No. 2, p. 77—80.
Probert Robert L. On the additive complexity of matrix multiplication.— SIAM J. Comput., 1976, v. 5, No. 2, p. 187—203.
Probert R. L., Fischer P. Decomposition techniques for matrix multiplication problems.— Utilitas Math., 1980, v. 18, p. 257—267.
Romani F. Complexity measures for matrix multiplication algorithms.— Calcolo, 1980, v. 17, No. 1, p. 77—86.
Romani Francesco. Schortest-path problem is not harder than matrix multiplication.— Inform. Process. Lett., 1980, v. 11, No. 3, p. 134—136.
Romani Francesco. Some properties of disjoint sums of tensors related to matrix multiplication. — SIAM J. Comput., 1982, v. 11, No. 2, p. 263—267.
Savage John E. Area-time tradeoffs for matrix multiplication and related problems in VLSI models. — J. Comput. and System Sci., 1981. v. 22, p. 230—242.
Schachtel G. A noncommutative algorithm for multiplying 5X5 matrices using 103 multiplications. — Inform. Process. Lett., 1978, v. 7, No. 4, p. 180—182.
Schonhage A. Partial and total matrix multiplication. — SIAM J. Corn- put., 1981, v. 10, No. 3, p. 434—455.
Schonhage A. Unitare Transformationen grosser Matirzen. — Numer. Math., 1973, B. 20, No. 5, S. 409—417.
Schonhage A., Strassen V. Schnelle Multiplikation grosser Zahlen. — Computing, 1971, v. 7, No. 3-4, p. 281—292. [Имеется перевод: Шён- хаге А., Штрассен В. Быстрое умножение больших чисел. — В кн.: Кибернетический сб. — М.: Мир, 1973, вып. 10, с. 87—98.]
Strassen V. Gaussian elimination is not optimal. — Numer. Math., 1969, B. 13, No. 4, S. 354—356. [Имеется перевод: Штрассен В. Алгоритм Гаусса не оптимален. — В кн.: Кибернетический сб. — М.: Мир, 1970, вып. 7, с. 67—70.]
Strassen V. Rank and optimal computation of generic tensors. — Linear Algebra and Appl., 1983, v. 52/53, p. 645—685.
Strassen V. Relative bilinear complexity and matrix multiplication.— J. reine und angew. Math., 1987, B. 375/376, S. 406—443.
Strassen V. Vermeidung von Divisionen. — J. reine und angew. Math., 1973, B. 264, S. 184—202.
Sykora Ondrej. A fast non-commutative algorithm for matrix multiplication. — Lecture Notes in Computer Science, v. 53. — Berlin: Springer- Verlag, 1977, p. 504—512.
Tsao N. Error complexity analysis of algorithms for matrix multiplication and matrix chain product. — IEEE Trans. Comput., 1981, v. 30, No. 10, p. 758—771.
Tsao Nai-kuan. The numerical instability of Bini’s algorithm. — Inform. Process. Lett., 1981, v. 12, No. 1, p. 17—19.
Valiant L. G. General context-free recognition in less than cubic time.— J. Comput. and. System Sci., 1975, v. 10, No. 2, p. 308—315.
Winograd S. A new algorithm for inner product. — IEEE Trans. Comput., 1968, v. C-17, No. 7, p. 693—694.
Winograd S. On multiplication of 2 X 2 matrices. — Linear Algebra and Appl., 1971, v. 4, 381—388.
Winograd S. On the number of multiplications required to compute certain functions.— Proc. Nat. Acad. Sci. USA, 1967, v. 58, No. 5, p. 1840—1842.
Yuval G. An algorithm for finding all shortest paths using №-81 infinite precision multiplications.— Inform. Process. Lett., 1977, v. 4, No. 6, p. 155—156.
55864851311421621895586485131142162189
5
58
64
85
131
142
162
189
5
58
64
85
131
142
162
189
Содержание
ЖЕ СЯН. Доказательство теорем с помощью переписывающих систем. Перевод М. В. Захарьящева •
Т. ФЕННЕР, А. ФРИЗ. О существовании гамильтоновых циклов в одном классе случайных графов. Перевод В. П. Козырева ..
Т. ХЕЛЛЕСЕТ. О радиусе покрытия линейных циклических кодов и арифметических кодов. Перевод И. Е. Шпарлинского С. ЕКОИ, ДЗ.-И. ТОРИВАКИ, Т. ФУКУМУРА. Об обобщенном дистанционном преобразовании цифровых изображений .Перевод Т. М. Да- дашева .. . .
ЛО ЧЖУКАЙ. Максимальные замкнутые классы в множестве частичных функций многозначной логики. Перевод В. Б. Алексеева ЛО ЧЖУКАЙ. Теория полноты для частичных функций многозначной логики. Перевод В. Б. Алексеева
О. Н. ВАСИЛЕНКО. Современные способы проверки простоты чисел. Обзор
В. Б. АЛЕКСЕЕВ. Сложность умножения матриц. Обзор
УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-ПО, ГСП, 1-й Рижский пер., 2, издательство «Мир».
Научное издание
КИБЕРНЕТИЧЕСКИЙ СБОРНИК ВНП. 25
Сборник статей
Зав. редакцией чл.-корр. АН СССР В. И. Арнольд
Зам. зав. редакцией А. С. Попов
Старший научи, ред. П. Я. Корсоюцкая
Младший научи, ред. Т. А. Денисова
Младший научи, ред. Н. С. Полякова
Художественный редактор В. И. Шаповалов
Художник И. К. Сапожников
Технический редактор Л. П. Емельянова
Корректор Л. Д. Панова
ИБ № 6787
Сдано в набор 30.12.87. Подписано к печати 10.06.88. Формат 60X90/16. Бумага типографская ЛЪ 1. Печать высокая. Гарнитура литературная. Объем 7.50 бум. л. Ус л. печ. л. 15,00. Усл. кр.-отт. 15,00. Уч.-изд. л. 13,38. Изд. № 1/6101. Тираж 3 400 экз Заказ № 85 4. Цена 2 руб. 50 коп.
ИЗДАТЕЛЬСТВО «МИР» В/О „Совэкспорткнига** Государственного комитета СССР по делам издательств, полиграфии и книжной торговли. 129820, ГСП, Москва, И-110, I-й Рижский пер., 2
Ленинградская типография № 2 головное предприятие ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» нм. Евгении Соколовой Союз- полиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 198052, г. Ленинград, Л-52. Измайловский проспект, 29.
Отпечатано с набора в Ленинградской типографии № 4 ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» нм. Евгении Соколовой Союзполнграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 190000, Ленинград. Прачечный переулок, 6. Зак. 427.
* Результат обработки: (a) D [(—1, 1)] + D [(1, —1)]. (b) {D [0, — 1] + 4- D [0, 1] } X {D [(1, 0)] + D [(—1, 0)]}, после этого оператора применялся сглаживающий разностный линейный фильтр [26]. (с) {D [0, 1)] + D [(1, 0)] } — — {D [(1, 0)] + D [(—1,0)]}, после этого оператора использовалась операция сглаживающей фильтрации [26]. Здесь D [(а, 6)] обозначает результаты дистанционного преобразования с последовательностью окрестностей S^ {(0, 0), (а, Ь^ при любом к. Об операциях над изображениями см. табл. I и II.
7. ПЕРЕХОД К ПРЯМОУГОЛЬНЫМ МАТРИЦАМ
Неравенство (6.12) позволяет следующим образом расширить теорему 4.1.
Теорема 7.1. Пусть т, п, р — любые натуральные числа.
Тогда ю < 3 logm„p rk (m, п, р\
Доказательство. Согласно (6.4),
<о<logmnpт^пшр, map, mnp\
Но из (6.12) получаем
rk(mnp, mnp, map) <rk(m, n, p)- rk(n, p, m) ■ rk(p, m, n) = = (rk(m, n, p))3.
Кибернетическийсборник
НОВАЯ СЕРИЯ
выпуск
25
Сборник статей
Перевод с английского
ПОД РЕДАКЦИЕЙО. Б. ЛУПАНОВА и
О. М. КАСИМ-ЗАДЕ
МОСКВА «МИР» 1988
ББК 32.81 К38
УДК 519.95
■у
4
Кибернетический сборник. Новая серия. Вып. 25. К38 Сб. статей 1983—1985 гг/. Пер. с англ.—М/. Мир, 1988.— 237 с., ил.
ISBN 5-03-000999-Х
В данном выпуске известной серии содержатся оригинальные и обзорные работы известных зарубежных ученых по актуальным проблемам теоретической кибернетики и ее приложениям. Автоматическому доказательству теорем посвящена статья Же Сяна (США), в статье Т. Феннера и А. Фриза (США) обсуждаются вопросы сложности и теории графов. Большой интерес представляют две статьи Ло Чжукая (КНР) по проблеме полноты в многозначной логике, статья Т. Хеллесета (Норвегия) по теории кодирования, а также работа С. Ёкои и др. (Япония) по новым методам распознавания цифровых изображений. Включены также обзоры советских авторов современных методов проверки простоты чисел и современного состояния в области алгоритмов матричного умножения.
Для научных работников, инженеров-исследователей, аспирантов и студентов, занимающихся и интересующихся теоретической кибернетикой, дискретной математикой и их приложениями.
„1702070000-449
* 041(01)-882‘88’ 4
1
ББК 32.81
Редакция литературы по математическим наукам
ISBN 5-03-000999-Х
© состав, перевод на русский язык, «Мир», 1988
Доказательство теорем с помощьюпереписывающих систем)
Же Сян)
В данной статье мы предлагаем новый подход к доказательству теорем логики первого порядка, основанный на методе переписывающих правил для термов. Сначала рассматривается пропозициональное исчисление и вводится каноническая переписывающая система для булевой алгебры. Эта система позволяет преобразовать исчисление предикатов первого порядка в некоторую форму эквациональной логики и разработать для теорий первого порядка несколько полных стратегий (работающих как с дизъюнктами, так и с формулами более общего вида), основанных на процедуре пополнения Кнута — Бендикса. Что более важно, наши стратегии могут едииообразно и эффективно работать с логикой предикатов и «встроенными» (эквациональными) теориями. Мы описываем также реализацию этих стратегий и сравниваем их с некоторыми другими методами доказательства теорем первого порядка.