Компьютерные инструменты в образовании, 2015 № 4: 17-25 УДК: 004.93.51 http://ipo.spb.ru/journal
ВЫДЕЛЕНИЕ МАКСИМАЛЬНОЙ ОБЩЕЙ ПРЕДИКАТНОЙ ПОДФОРМУЛЫ С ПОМОЩЬЮ ОБРАТНОГО МЕТОДА МАСЛОВА*
Петухова Нина Дмитриевна Аннотация
Статья посвящена изложению алгоритма выделения максимальной общей с точностью до имён переменных подформулы двух элементарных конъюнкций атомарных предикатных формул. Предлагаемый алгоритм использует введённую ранее автором модификацию обратного метода Маслова, а также Муравьиные тактики и параллельные вычисления. Проблема выделения максимальной общей с точностью до имён переменных подформулы предикатных формул имеет достаточно широкое применение при построении эффективных алгоритмов решения задач искусственного интеллекта, допускающих формализацию средствами исчисления предикатов. Приведены асимптотические оценки числа шагов работы описанного алгоритма.
Ключевые слова: искусственный интеллект, логико-предметное распознавание образов, исчисление предикатов, сложность алгоритмов, обратный метод Маслова, параллельные вычисления, неполная выводимость.
1. ВВЕДЕНИЕ
Во многих задачах искусственного интеллекта исследуемый объект характеризуется не только своими глобальными признаками, задающими его свойства как единого целого, но и свойствами его частей и отношений между ними. При распознавании контурного изображения объект может быть представлен как множество его вершин и вида соединений этих вершин. В задачах диагностики объект задаётся набором своих составляющих, а также зависимостями между этими элементами, позволяющими объекту функционировать.
Такой подход ещё в 70-е годы XX века был сформулирован в литературе (см. например [1, 2]). Однако практического применения он почти не получил в силу высокой вычислительной сложности возникающих при этом задач, которые являются ОТ-трудными [3].
Для уменьшения числа шагов решения таких задач были предложены различные стратегии доказательства логического следования формул (например применение обратного метода Маслова [4] и использование муравьиных алгоритмов [5]) и специальные виды описаний классов (многоуровневые описания классов [6]).
При построении многоуровневых описаний классов используется понятие максимальной общей с точностью до имён переменных подформулы двух элементарных
* Работа выполнена при поддержке гранта РФФИ 14-08-01276-а.
конъюнкций [7]. Выделение такой подформулы также является NP-трудной задачей и имеет обширное практическое применение. Например, обработка изображений и сигналов [8, 9], качественный анализ в химии.
В работе обратный метод Маслова применяется к процедуре выделения максимальной общей подформулы.
2. ПОСТАНОВКА ЗАДАЧИ
В настоящей работе исследуемый объект ш рассматривается как множество его элементов ш = [а\,..., ak}, на котором заданы исходные признаки-предикаты Pl,..., Pn, характеризующие свойства элементов из ш и отношения между ними. Описанием S(ш) объекта ш является набор постоянных атомарных формул или их отрицаний, истинных на нём. Если множество всех исследуемых объектов разбито на K классов Q = , то
описанием класса может служить дизъюнкция элементарных конъюнкций атомарных формул Ak(х), истинная только на объектах k-го класса.
При такой формализации средствами языка исчисления предикатов задача определения того, принадлежит ли объект ш или его часть k-му классу, сводится к доказательству логического следования
S(ш) ^ БХ? Ak (x), (1)
где ограниченный квантор существования Зхф означает, что требуется проверить существование только попарно различных значений для переменных из списка х [3].
Для доказательства приведённого логического следования достаточно уметь доказывать аналогичное следование для случая, когда Ak(х) — элементарная конъюнкция атомарных формул. Доказательство (1) равносильно доказательству формулы
(&S(ш)) ^ ЗхфAk(х),
при любых наборах значений констант из ш, которую, используя равносильные преобразования, можно свести к формуле
Уai,..., ak3(хь...,хп)±(&Si=1Di(аъ..., ak,хь...,хп)), (2)
где Di (al,..., ak, х1,..., хп) имеет вид v-S (ш) v P^. (х1,..., хщ), v-S (ш) означает дизъюнкцию отрицаний всех формул из S(ш), 6 — количество атомарных формул в элементарной дизъюнкции. Доказательство (2) и будет рассматриваться в этой статье.
При описании задач поиска логического вывода в исчислении предикатов одним из наиболее продуманных с точки зрения сокращения перебора методов является обратный метод, предложенный С.Ю. Масловым.
3. АЛГОРИТМ IAPTA (Inverse Ant Parallel Tactic Algorithm) РЕШЕНИЯ ЗАДАЧ ЛОГИКО-ПРЕДМЕТНОГО РАСПОЗНАВАНИЯ ОБРАЗОВ
В [5] сформулирован алгоритм IAPTA решения задач логико-предметного распознавания образов, основанный на тактиках муравьиных алгоритмов, параллельного вычисления и обратного метода Маслова. А также получены асимптотические оценки работы этого алгоритма.
Для дальнейшего чтения работы приведём основные определения.
Определение 1. Список Г неповторяющихся формул вида Di(al,..., ak,х1,...,хп) называется F-набором для формул типа (2).
Определение 2. F-набор называется пустым, если все формулы, входящие в него, не имеют переменных и тавтологичны.
Определение 3. F-набор называется тупиковым, если в него входит хотя бы одна формула, не имеющая переменных и являющаяся ложной или не являющаяся ни тавтологией, ни противоречием.
3.1. Алгоритм 1АРТА
1. Строим 8-членный Б-набор, формулы в котором не повторяются. То есть переписываем без конъюнкций все дизъюнкты вида V—5(ш) VР^.(хь...,хщ) при г = 1,...,8. Создаем популяцию из 8 процессоров.
Каждой паре потенциально контрарных формул Р^(х1,...,хП1) , и —Р^(я^,..., а), входящих в один Б-набор, назначаем приоритет их отождествления равным 1. Остальные приоритеты назначаем равными 0.
2. Копируем 8-членный Б-набор 8 - 1 раз. Таким образом, получаем ровно 8 одинаковых Б-наборов. Назначаем г-му процессору (г = 1,...,8) свою начальную формулу Рк.(х1,...,хщ), с которой данный процессор начинает свой итерационный цикл, и потенциально контрарную ей постоянную формулу из 5(ш), имеющую приоритет, равный 1. Если какие-то два процессора начинают работу с формулой, начинающейся с одного и того же предикатного символа (таких формул не более 8), то назначаем для них разные формулы из 5(ш), потенциально контрарные данной. Если для каких-то двух процессоров не существует разных потенциально контрарных формул, то формула не выводима1. Алгоритм заканчивает работу. Иначе переходим к п. 3.3.
3. Параллельно работают 8 процессоров; г-ый процессор (г = 1,...,8) осуществляет присвоение значений переменным.
3.1 Если в рабочей формуле данного процессора нет переменных, то в качестве рабочей для этого процессора выбираем формулу из следующей элементарной дизъюнкции, содержащую хоть одну переменную.
3.2 Ищем среди формул в 5(ш) формулу —Р(а^,...,а]п,), имеющую приоритет, равный 1, и потенциально контрарную формуле Р^.(?!,..., ), с которой работает этот процессор2. Если нашли подходящую формулу, то переходим к п. 3.3. Если ее нет, то переходим к п. 4.
3.3 Решаем систему уравнений вида Ц = (I = 1,..., щ), унифицирующую список переменных и констант со списком констант. В случае если эта система имеет решение, то переходим к п. 3.4. Если система решений не имеет, то понизим приоритет этого действия до 0 и переходим к п. 3.2.
3.4 Записываем результаты, полученные разными процессорами, и проверяем их на непротиворечивость.
3.5 Заменяем в Б-наборе каждого процессора вхождения переменных из списка на их значения, полученные в п. 3.3 и 3.4, если успешно пройдена проверка на непротиворечивость.
Невозможно подобрать такой набор значений переменных, чтобы вывести пустой Б-набор, так как в нем будет как минимум одна формула, в которой останутся переменные, которым будет невозможно присвоить значения.
2Первоначально ..., ) — список переменных (х1,...,хП1). При последующих итерациях это список переменных и констант, подставленных вместо переменных после процедуры унификации.
3.6 Если для какого-либо процессора получился пустой F-набор, то алгоритм заканчивает работу. Формула выводима, и найден набор значений переменных, существование которых утверждалось в формуле.
3.7 Если получился тупиковый F-набор, то переходим к п. 4.
3.8 Если для всех процессоров приоритеты всех действий равны 0, то формула не выводима. Алгоритм заканчивает работу.
3.9 Если в F-наборе какого-либо процессора существуют формулы, имеющие переменные, которым еще не присвоены значения, то переходим к п. 3.1.
4. Возвратная часть алгоритма.
4.1 Отменяем последнее действие п. 3.5, если это возможно, и переходим к п. 3.2.
4.2 Если для какого-либо процессора отмена последнего действия п. 3.5 невозможна, то алгоритм заканчивает работу.
4.3 Если все процессоры закончили работу, но пустой F-набор не получен, то алгоритм заканчивает работу. Формула не выводима.
3.2. Оценка числа шагов работы алгоритма IAPTA
Определение 4. Одним шагом работы алгоритма называется любое из следующих трех действий: присвоение переменной значения (решение одного уравнения вида x=a); проверка на графическое совпадение атомарных формул; подстановка значений переменных в атомарные формулы, имеющие вхождения данных переменных.
Пусть 6 — количество дизъюнктивных членов в исходной формуле; l — наибольшее количество аргументов в атомарной формуле; s + I — количество атомарных формул в каждом из дизъюнктов (так как каждый дизъюнкт имеет вид v-S^) v Pk. (х1,...,хщ), то во всех дизъюнктах одинаковое число атомарных формул); Sk — количество атомарных формул в S(ш) с предикатным символом Pk.
В [5] получены следующие оценки работы алгоритма IAPTA.
Теорема 1. (Нижняя оценка числа шагов работы алгоритма.) Количество шагов доказательства логического следования вида
S(ш) ^ ЗХф Ak (х)
и нахождения значений переменных, для которых это следование имеет место, при использовании алгоритма IAPTA, не менее 26(s + 2) + 2.
Теорема 2. (Верхняя оценка числа шагов работы алгоритма.) Количество шагов доказательства логического следования вида
S(ш) ^ ЗХф Ak (х)
и нахождения значений переменных, для которых это следование имеет место, при использовании алгоритма Ы.РТА, составляет O (l (maxksk )6).
3.3. Понятие неполной выводимости
Понятие неполной выводимости предикатной формулы было введено в [10] для распознавания объектов с неполной информацией. При этом рассматривается задача проверки того, что из истинности всех формул множества S(ш) следует истинность A(5c) или некоторой её максимальной подформулы А(у) на наборе различных констант из ш, где список переменных является подсписком списка переменных х.
Пусть a и a — количество атомарных формул в A(X) и в A(y) соответственно, m и m — количество предметных переменных в A(x) и в A(y) соответственно.
Числа q и r вычисляются по формулам q = ail a, r = mlm и характеризуют степень совпадения формул A(x) и в A(у). При этом 0 < q ^ 1, 0 < r ^ 1. Кроме того, q = r = 1 тогда и только тогда, когда A(y) совпадает с A(x).
Процедура выделения максимальной общей подформулы двух заданных элементарных конъюнкций A(x) и в A(y) с точностью до имён переменных сведена в [10] к проверке логического следования:
A(x) ^ 3yA(y)
с нахождением такой подформулы A'(y') формулы A(y), что имеет место следствие:
A(X) ^ 3у'A(y'), (3)
а также общего унификатора Л формул A(x) и A'(y') , то есть такой подстановки имён переменных у' вместо некоторых имён переменных из списка X, что A'(y') является подформулой A(X) после применения унификатора Л.
3.4. Применение алгоритма IAPTA к решению задачи выделения максимальной общей подформулы
В [11] решение рассмотренных задач сведено к доказательству логического следования:
S(ш) ^ 3х^ Ak(х),
причем множество ш рассматривалось как множество констант.
При выделении максимальной общей подформулы двух заданных элементарных конъюнкций A(x) и A(y) требуется найти такую подформулу A'(y') формулы A(y), что имеет место следствие (3). Очевидно, что в следствии (3) наборы X и у' являются наборами переменных. Тем не менее, если в алгоритме IAPTA заменить действие «присвоение значений переменным» на «отождествление переменных», этот алгоритм (после описанных ниже модификаций алгоритма) можно применить и для решения задачи выделения максимальной общей подформулы.
4. АЛГОРИТМ PHIAPTA (Partial Hatchability Inverse Ant Parallel Tactic Algorithm) ВЫДЕЛЕНИЯ МАКСИМАЛЬНОЙ ОБЩЕЙ ПОДФОРМУЛЫ
1. Строим 6-членный F-набор, формулы в котором не повторяются. То есть переписываем без конъюнкций все дизъюнкты вида A(X) vP^ (y1,y'n.) при i = 1,..., 6 . Создаем популяцию из 6 процессоров. Каждой паре потенциально контрарных формул Pkt(y1 y'm) и —Pkj(X1,...,xnj) , входящих в один F-набор, назначаем приоритет их отождествления равным 1. Остальные приоритеты назначаем равными 0.
2. Копируем 6-членный F-набор 6 - 1 раз. Таким образом, получаем ровно 6 одинаковых F-наборов. Назначаем i-му процессору (i = 1,6) свою начальную формулу Pkj (y1,y'n.) , с которой данный процессор начинает свой итерационный цикл, и потенциально контрарную ей формулу вида -Pkj (xi,xnj) из A(x), имеющую приоритет, равный 1. Для каждого процессора назначаем переменную ¡i = 0 (i = 1,6), означающую длину фрагмента формулы A(X) в формуле A'(y').
Если какие-то два процессора начинают работу с формулой, начинающейся с одного и того же предикатного символа (таких формул не более 6), то назначаем для них разные формулы из А(х), потенциально контрарные данной. Если для каких-то двух процессоров не существует разных потенциально контрарных формул, то формула А'(у') не является подформулой А(х). Алгоритм заканчивает работу. Иначе переходим к п. 3.3.
3. Параллельно работают 6 процессоров; г-ый процессор (г = 1,...,6) осуществляет отождествление переменных следующим образом.
3.1 Если в рабочей формуле данного процессора нет переменных, которые еще не проходили процедуру отождествления, то в качестве рабочей для этого процессора выбираем формулу из следующей элементарной дизъюнкции, содержащую хоть одну «не отождествленную» переменную.
3.2 Ищем среди формул в А(х) формулу -Р(х^,...,Х]п,), имеющую приоритет,
равный 1, и потенциально контрарную формуле Рк. (^,..., .) (из А'(у')), с которой работает этот процессор. Если нашли подходящую формулу, то переходим к п. 3.3. Если ее нет, то переходим к п. 4.
3.3 Решаем систему уравнений вида = х^ (I = 1,..., ni), унифицирующую списки переменных. В случае если эта система имеет решение3, то увеличиваем длину текущего фрагмента ^ на единицу, запоминаем это число и текущее отождествление и переходим к п. 3.4. Если система решений не имеет, то понизим приоритет этого действия до 0 и переходим к п. 3.2.
3.4 Записываем результаты, полученные разными процессорами, и проверяем их на непротиворечивость.
3.5 Заменяем в Б-наборе каждого процессора вхождения переменных из списка на их значения, полученные в п. 3.3 и 3.4, если успешно пройдена проверка на непротиворечивость.
3.6 Если для какого-либо процессора все переменные из А'(у') получили новое значение, то алгоритм заканчивает работу. Формула А'(у') полностью содержится в формуле А(х).
3.7 Если в Б-наборе какого-либо процессора отсутствуют формулы, имеющие переменные, которые еще проходили процедуру отождествления, то переходим к п. 4.
3.8 Если для всех процессоров приоритеты всех действий равны 0, то формула А'(у') не является подформулой А(х).
3.9 Если в Б-наборе какого-либо процессора существуют формулы, имеющие переменные, которые еще проходили процедуру отождествления, то переходим кп. 3.1.
4. Возвратная часть алгоритма.
4.1 Отменяем последнее действие п. 3.5, если это возможно, уменьшаем соответствующую величину ^ на 1, запоминаем это число и текущее отождествление и переходим к п. 3.2.
4.2 Если для какого-либо процессора отмена последнего действия п. 3.5 невозможна, то процессор заканчивает работу.
4.3 Если все процессоры закончили работу, то наибольшее число из всех ^ на всех шагах является размером наибольшей подформулы А'(у') в А(х). И соответ-
3В данном случае система решений не имеет, только тогда, когда происходит повторное отождествление какой-либо переменной (в правой или левой части уравнений).
стввующие этому отождествления являются наибольшей подформулой А'(у') в А(х).
Схематически работа алгоритма РН1АРТА представлена на рис. 1.
Рис. 1. Схема работы алгоритма РН1АРТА выделения наибольшей общей подформулы
5. ЗАКЛЮЧЕНИЕ
В заключение следует отметить, что, учитывая разнообразие применения частичной выводимости, приведенный выше алгоритм оказывается полезен для решения таких задач, как распознавание объекта с неполной информацией (в частности, изображения частично заслонённого объекта) [10]; определение метрики в пространстве (не фиксированной размерности), описание объектов средствами языка исчисления предикатов и вычисление расстояния между такими описаниями [11]; создание многоуровневого описания классов объектов, позволяющего учитывать общие характеристики объектов класса и существенно уменьшить число шагов решения задач распознавания [7] и построения самокорректирующихся предикатных сетей [6].
Кроме того, несмотря на то, что оценки приведенного алгоритма имеют тот же порядок, что и оценки существующих алгоритмов выделения наибольшей общей подформулы [12], следует отметить, что этот алгоритм на практике имеет большую скорость и легче реализуем программно.
Список литературы
1. Нильсон Н. Искусственный интеллект. Методы поиска решений. М.: Мир, 1973.
2. Рассел С., Норвиг П. Искусственный интеллект: современный подход, 2-е изд.: Пер. с англ. М.: Издательский дом «Вильямс», 2006.
3. Косовская Т.М. Некоторые задачи искусственного интеллекта, допускающие формализацию на языке исчисления предикатов, и оценки числа шагов их решения // Труды СПИИРАН, 2010. Вып. 14. С. 58-75.
4. Петухова Н.Д., Косовская Т.М. Решение задач логико-предметного распознавания образов с использованием тактик обратного метода Маслова // Компьютерные инструменты в образовании, 2014 № 3. С. 9-20.
5. Петухова Н.Д., Косовская Т.М. Применение тактик муравьиных алгоритмов для решения некоторых задач искусственного интеллекта // Вестник СПбГУ. Сер. 10. 2015. Вып. 3. С. 67-82.
6. Kosovskaya T. Self-modificated predicate networks // International Journal on Information Theory and Applications. Vol. 22, No 3. 2015. P. 245-257.
7. Косовская Т.М. Подход к решению задачи построения многоуровневого описания классов на языке исчисления предикатов // Труды СПИИРАН, 2014. №3 (34). С. 204-217.
8. Гонсалес Р., Вудс Р. Цифровая обработка изображений. M.: Техносфера, 2005.
9. Яне Б. Цифровая обработка изображений, M.: Техносфера, 2007.
10. Косовская Т.М. Частичная выводимость предикатных формул как средство распознавания объектов с неполной информацией // Вестник СПбГУ. Сер. 10. 2009. Вып. 1. С. 74-84.
11. Kosovskaya T. Distance between objects described by predicate formulas // International Book Series. Information Science and Computing. Book 25. Mathematics of Distances and Applications (Michel Deza, Michel Petitjean, Krasimir Markov (eds)), ITHEA - Publisher, Sofia, Bulgaria, 2012. P. 153-159.
12. Косовская Т.М. Многоуровневые описания классов для уменьшения числа шагов решения задач распознавания образов, описываемых формулами исчисления предикатов // Вестн. С.-Петербург.ун-та. Сер. 10. 2008. Вып.1. С. 64-72.
MAXIMAL COMMON PREDICATE SUB-FORMULA EXTRACTION WITH THE USE OF MASLOV'S INVERSE METHOD
Petukhova N. D. Abstract
The article is devoted to the describing of an algorithm which extract a maximal common up to the names ofvariables sub-formula of two elementary conjunctions of atomic predicate formulas. The offered algorithm uses the proposed earlier by the author modification of inverse method of S. Yu. Maslov as well as Ant tactics and concurrent processing. The problem of the extraction of a maximal common up to the names ofvariables sub-formula of predicate formulas has wide enough application while development of an effective algorithm solving an Artificial Intelligence problem permitting its description in the frameworks of predicate calculus language. Asymptotic estimates of the number of run steps for the described algorithm are formulated.
Keywords: artificial intelligence, logic-objective approach to pattern recognition, predicate calculus, complexity theory, inverse method ofS. Yu. Maslov, concurrent processing, partial deducibility.
Петухова Нина Дмитриевна, старший преподаватель кафедры математики Санкт-Петербургского государственного морского технического университета, ndpetukhova@gmail.com
© Наши авторы, 2015. Our authors, 2015.