Научная статья на тему 'Применение тактик муравьиных алгоритмов для решения некоторых задач искусственного интеллекта'

Применение тактик муравьиных алгоритмов для решения некоторых задач искусственного интеллекта Текст научной статьи по специальности «Математика»

CC BY
398
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ИСЧИСЛЕНИЕ ПРЕДИКАТОВ / АЛГОРИТМИЧЕСКАЯ СЛОЖНОСТЬ / ОБРАТНЫЙ МЕТОД МАСЛОВА / МУРАВЬИНЫЕ ТАКТИКИ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ARTIFICIAL INTELLIGENCE / PREDICATE CALCULUS / ALGORITHMIC COMPLEXITY / MASLOV'S INVERSE METHOD / ANT TACTICS / PARALLEL COMPUTATION

Аннотация научной статьи по математике, автор научной работы — Петухова Нина Дмитриевна, Косовская Татьяна Матвеевна

Рассматривается задача проверки выводимости формул специального вида, к которым сводятся многие задачи искусственного интеллекта. Для еe решения применяется комбинация обратного метода С. Ю. Маслова проверки выводимости формул исчисления предикатов с муравьиными тактиками, позволяющими распараллеливать процесс построения вывода. Приводится алгоритм решения поставленной задачи. Доказываются оценки числа шагов их работы. Описывается пример решения модельной задачи с помощью предложенного алгоритма. Библиогр. 7 назв. Ил. 2.

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

Похожие темы научных работ по математике , автор научной работы — Петухова Нина Дмитриевна, Косовская Татьяна Матвеевна

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

APPLICATION OF ANT ALGORITHMS TO THE SOLVING OF SOME ARTIFICIAL INTELLIGENCE PROBLEMS

The problem of deducibility checking for a special form formula is under consideration. Many Artificial Intelligence problems may be reduced to such a form formulas. To solve this problem it is suggested to use a combination of the inverse Maslov method with Ant algorithms permitting concurrent processing during the derivation construction. Algorithm solving such a problem is constructed. This algorithm run bounds of step number are proved. An example of a model problem solving with the help of the described algorithm is described. Refs 7. Figs 2

Текст научной работы на тему «Применение тактик муравьиных алгоритмов для решения некоторых задач искусственного интеллекта»

УДК 004.93.51

Н. Д. Петухова1, Т. М. Косовская2

Вестник СПбГУ. Сер. 10. 2015. Вып. 3

ПРИМЕНЕНИЕ ТАКТИК МУРАВЬИНЫХ АЛГОРИТМОВ ДЛЯ РЕШЕНИЯ НЕКОТОРЫХ ЗАДАЧ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА*)

1 Санкт-Петербургский государственный морской технический университет, Российская Федерация, 190008, Санкт-Петербург, Лоцманская ул., 3

2 Санкт-Петербургский государственный университет, Российская Федерация, 199034, Санкт-Петербург, Университетская наб., 7/9

Рассматривается задача проверки выводимости формул специального вида, к которым сводятся многие задачи искусственного интеллекта. Для ее решения применяется комбинация обратного метода С. Ю. Маслова проверки выводимости формул исчисления предикатов с муравьиными тактиками, позволяющими распараллеливать процесс построения вывода. Приводится алгоритм решения поставленной задачи. Доказываются оценки числа шагов их работы. Описывается пример решения модельной задачи с помощью предложенного алгоритма. Библиогр. 7 назв. Ил. 2.

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

N. D. Petukhova, T. M. Kosovskaya

APPLICATION OF ANT ALGORITHMS TO THE SOLVING OF SOME ARTIFICIAL INTELLIGENCE PROBLEMS

1 St. Petersburg State Marine Technical University, 3, Lotsmanskaya street, St. Petersburg, 190008, Russian Federation

2 St. Petersburg State University, 7/9, Universitetskaya embankment, St. Petersburg, 199034, Russian Federation

The problem of deducibility checking for a special form formula is under consideration. Many Artificial Intelligence problems may be reduced to such a form formulas. To solve this problem it is suggested to use a combination of the inverse Maslov method with Ant algorithms permitting concurrent processing during the derivation construction. Algorithm solving such a problem is constructed. This algorithm run bounds of step number are proved. An example of a model problem solving with the help of the described algorithm is described. Refs 7. Figs 2.

Keywords: Artificial Intelligence, predicate calculus, algorithmic complexity, Maslov's inverse method, Ant tactics, parallel computation.

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

Петухова Нина Дмитриевна — старший преподаватель; e-mail: [email protected] Косовская Татьяна, Матвеевна — доктор физико-математических наук, профессор; e-mail: [email protected]

Petukhova Nina Dmitrievna — chief teacher; e-mail: [email protected]

Kosovskaya Tatiana Matveevna — doctor of physical and mathematical science, professor; e-mail: [email protected]

*) Работа выполнена при частичной финансовой поддержке Российского фонда фундаментальных исследований (грант № 14-08-01276).

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

При такой постановке задачи исследуемый объект ш может рассматриваться как множество его элементов ш = {ai,...,ak}, на котором заданы исходные признаки-предикаты Pi, ..,Pn, характеризующие свойства элементов из ш и отношения между ними. Описанием S{w) объекта ш является набор постоянных атомарных формул или их отрицаний, истинных на нем. Если множество всех изучаемых объектов разбито на K классов ll = UK=ilk, то описанием класса может служить дизъюнкция элементарных конъюнкций атомарных формул Ак(х), истинная только на объектах к-го класса.

При такой формализации средствами языка исчисления предикатов задача определения того, принадлежит ли объект ш или его часть к-му классу, сводится к доказательству логического следования

S{u) ЭхФ Ак{х), (1)

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

Для доказательства приведенного логического следования достаточно уметь доказывать аналогичное следование для случая, когда Ак(х) — элементарная конъюнкция атомарных формул. Доказательство (1) равносильно доказательству формулы

(&SV)) Зж^ Ак(ж),

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

Уа!...акЭх!...Хп = {&Si=lDi{ai, ...,ak,xi, ...,Xn)); {22)

в ней Di{ai, ...,ak,x\, ...,xn) имеет вид V—S^) V Pki (xi.....xni), V—S^) означает

дизъюнкцию отрицаний всех формул из S{ш), S — количество атомарных формул в элементарной дизъюнкции. Доказательство (2) и будет рассматриваться в настоящей статье.

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

Цель работы — теоретическое обоснование применения муравьиных тактик к доказательству выводимости формул исчисления предикатов вида (2). В п. 5 разработан алгоритм доказательства выводимости формул, использующий обратный метод Мас-лова и муравьиные тактики. В п. 6 доказаны оценки числа шагов такого алгоритма. В п. 7 дан модельный пример применения предложенного алгоритма, иллюстрирующий сокращение перебора при его работе.

2. Алгоритм IMA (Inverse Method Algorithm) поиска вывода, основанный на обратном методе. В [2, 3] приведен алгоритм решения задач логико-предметного распознавания образов, основанный на обратном методе, который использует понятия, описанные в [4].

Определение 1. Список Г неповторяющихся формул вида V—S(u) V Pki(xi, ....,xni) называется F-набором для формул типа (2).

Определение 2. F-набор называется пустым □, если все формулы, входящие в него, не имеют переменных и тавтологичны.

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

Алгоритм IMA

1. Строим ¿-членный F-набор, формулы в котором не повторяются. То есть переписываем без конъюнкций все дизъюнкты вида V—S(ai,..., ak) V Pki(ti,..., tni) (Здесь список (ti, ...,tni) — это список исходных переменных (xil,...,xjn.).)

2. Присваиваем значения переменным следующим образом:

2.1. Отменяем все пометки об удалениях предикатных формул из S(ai,..., ak), если они имелись.

2.2. Берем формулу V—S(ai,..., ak) V Pki (ti,...,tni) из рассматриваемого F-набора, содержащую «.¿-местный предикатный символ Pki такой, что набор ti, ...,tni содержит хотя бы одну переменную.

2.3. Ищем среди формул в S(ai,..., ak) формулу —Pki (vi,..., vni) с набором констант (vi, ...,vni). Если нашли такую формулу, то помечаем ее как удаленную и переходим к выполнению п. 2.4. Если ее нет, то переходим к выполнению п. 3.

2.4. Решаем систему уравнений, унифицирующую список переменных и констант ti, ...,tni и список констант (vi,..., vni).

В случае, если эта система имеет решение*), то переходим к п. 2.5. Если система решений не имеет, то переходим к п. 2.3.

2.5. Заменяем во всем F-наборе переменные из списка на их значения, полученные в п. 2.4.

2.6. Если получился пустой F-набор, то алгоритм заканчивает работу**).

2.7. Если получился тупиковый F-набор, то переходим к п. 3.

2.8. Если в F-наборе все формулы, имеющие переменные, помечены как удаленные, то переходим к п. 4.

2.9. Если в F-наборе существуют формулы вида V—S(ai,..., ak) VPki (ti,..., tni), имеющие переменные, которым еще не присвоено значение, то переходим к п. 2.2.

3. Возвратная часть алгоритма.

3.1. Отменяем последнее действие п. 2.5***), если это возможно, и переходим к п. 2.3.

3.2. Если отмена последнего действия п. 2.5 невозможна, то помечаем формулу Pki (ti, ...,tni) как удаленную и переходим к п. 2.2.

4. Если все формулы помечены как удаленные, то формула не выводима. Алгоритм заканчивает работу.

В стандартном методе Маслова после п. 2.5 должно следовать удаление повто-

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

**) Положительный результат работы алгоритма можно увидеть, вернувшись назад по действиям алгоритма и запомнив все неотмененные присвоения значений переменным.

***) Отмена последнего действия п. 2.5 невозможна, если больше нечего отменять, т. е. на данном этапе работы алгоритма ни одной переменной не присвоено значение.

рений формул в F-наборе. В рассматриваемом случае из-за вида формулы (2) повторения формул никогда не появятся. Поэтому этот пункт пропущен. На рис. 1 представлена краткая схема алгоритма IMA.

Рис. 1. Схема алгоритма IMA

Определение 4. Одним шагом работы алгоритма называется любое из следующих трех действий: присвоение переменной значения (решение одного уравнения вида x = a); проверка на графическое совпадение атомарных формул; подстановка значений переменных в атомарные формулы, имеющие вхождения данных переменных.

Пусть S — количество дизъюнктивных членов в исходной формуле; l — наибольшее количество аргументов в атомарной формуле; s + 1 — количество атомарных формул в каждом из дизъюнктов (так как каждый дизъюнкт имеет вид V—S{ш) V Pk€ {xi, ...,xni), то во всех дизъюнктах одинаковое число атомарных формул); sk — количество атомарных формул в S{ш) с предикатным символом Pk.

3. Алгоритмы муравья. Алгоритм муравья [5] является относительно новым подходом к проблеме решения задач искусственного интеллекта. Муравьи послужили вдохновением для ряда методик, среди которых наиболее успешна техника, известная как оптимизация колонии муравьев.

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

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

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

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

Алгоритмы муравья успешно решают NP-трудные задачи, например задачу КОММИВОЯЖЕРА. Несмотря на то, что алгоритмы муравья предназначены для решения оптимизационных задач, их можно применять и для решения других NP-трудных задач. В [6] представлен алгоритм, решающий рассматриваемую в статье задачу и использующий идеи муравьиной тактики. Ниже предлагается развитие этого алгоритма с помощью параллельных вычислений.

4. Параллельные вычисления. Характерная черта многих современных вычислительных систем — возможность одновременного параллельного использования для обработки информации большого числа процессоров [7].

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

Совместная работа процессов параллельной программы осуществляется путем их взаимодействия. Поскольку для него необходимо время, то нельзя утверждать, что если решение задачи требует время T, то при использовании n процессоров (и очень тщательном распределении операций по процессорам) время составит T/n. Как правило, эту величину следует умножить на log n. При редком взаимодействии между процессорами эта величина может быть существенно меньше.

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

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

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

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

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

В связи с этим можно сформулировать алгоритм IAPTA (Inverse Ant Parallel Tactic Algorithm) решения задач логико-предметного распознавания образов, основанный на тактиках муравьиных алгоритмов, параллельного вычисления и обратного метода Маслова. При этом каждый процессор начинает итерационный цикл со своего дизъюнкта и действует согласно алгоритму IMA поиска вывода, приведенному выше. Но при этом при каждом присвоении переменным значений процессоры связываются друг с другом и сравнивают результаты.

Алгоритм IAPTA

1. Строим S-членный F-набор, формулы в котором не повторяются. То есть переписываем без конъюнкций все дизъюнкты вида V—S^)VPki {xi,..., xni) при i = 1,..., S. Создаем популяцию из S процессоров. Каждой паре потенциально контрарных формул Pki {xi,..., xni) и —Pk€ {aj1,..., a,jn.), входящих в один F-набор, назначаем приоритет их отождествления равным 1. Остальные приоритеты назначаем равными 0.

2. Копируем S-членный F-набор S — 1 раз. Получаем ровно S одинаковых F-наборов. Назначаем i-му процессору (i = 1,...,S) свою начальную формулу Pki {xi,...,xni) — формулу, с которой данный процессор начинает свой итерационный цикл, и потенциально контрарную ей постоянную формулу из S{ш), имеющую

приоритет, равный 1. Если какие-то два процессора начинают работу с формулой, начинающейся с одного и того же предикатного символа (таких формул не более 3), то назначаем для них разные формулы из в (и), потенциально контрарные данной. Если для каких-то двух процессоров не существует разных потенциально контрарных формул, то формула не выводима*). Алгоритм заканчивает работу. Иначе, переходим к п. 3.3.

3. Параллельно работают 3 процессоров; г-й процессор (г = 1,..., 3) осуществляет присвоение значений переменным.

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

3.2. Ищем среди формул в £ (и) формулу —Р^ (0,3!,..., ), имеющую приоритет, равный 1, и потенциально контрарную формуле Р^(Ь\, ...,1щ), с которой работает этот процессор*). Если нашли подходящую формулу, то переходим к п. 3.3. Если ее нет, то переходим к п. 4.

3.3. Решаем систему уравнений вида = а^ (I = 1, ...,щ), унифицирующую список переменных и констант со списком констант.

В случае, если эта система имеет решение, то переходим к п. 3.4. Если система решений не имеет, то следует понизить приоритет этого действия до 0 и переходим к п. 3.2.

3.4. Записываем результаты, полученные разными процессорами, и проверяем их на непротиворечивость следующим образом.

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

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

3.5. Заменяем в F-наборе каждого процессора вхождения переменных из списка на их значения, полученные в п. 3.3 и 3.4, если успешно пройдена проверка на непротиворечивость.

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 невозможна, то алгоритм заканчивает работу.

*) Невозможно подобрать такой набор значений переменных, чтобы вывести пустой F-набор, так как в нем будет как минимум одна формула, в которой останутся переменные, которым будет невозможно присвоить значение.

*) Первоначально 41 ,...,Ьщ — список переменных Х1,...,Хщ. При последующих итерациях это список переменных и констант, подставленных вместо переменных после процедуры унификации.

4.3. Если все процессоры закончили работу, но пустой F-набор не получен, то алгоритм заканчивает работу. Формула не выводима.

На рис. 2 представлена краткая схема этого алгоритма.

6. Оценка числа шагов работы алгоритма IAPTA.

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

Теорема 1. (Нижняя оценка числа шагов работы алгоритма.) Количество шагов доказательства логического следования вида

S(lü) Зхф Ак(х)

и нахождения значений переменных, для которых это следование имеет место, при использовании алгоритма IAPTA не менее 2S(s + 2) + 2.

Доказательство. Нижняя оценка достигается в том случае, когда алгоритм заканчивает работу в п. 2. То есть существуют две формулы Pkí(t\, ■ ■■,tn*) и Pkí(t2, ■ ■■,t1ni), имеющие различные переменные, и всего одна формула -Pk* (aj1, ■■■, ajni), потенциально контрарная Pkí (t\, ■ ■■^П*) и Pkí (t2, ■ ■■,t1ni).

На выполнение соответствующих пунктов алгоритма уходит

в п. 1 — S шагов на построение F-набора и Ss шагов на назначение приоритетов;

в п. 2 — (S — 1) шаг на копирование F-набора;

S шагов на создание популяции процессоров;

S шагов на назначение каждому процессору своего F-набора, своей начальной формулы с переменными;

1 шаг на назначение процессору, начинающему работу с формулы Pki (t ■■■,tni) формулы Pk* ( aji, ■■■, ajm);

1 шаг на проверку на совпадение имен предикатов в формулах Pkí(t)

и Pn (t\,..,n); *

1 шаг на поиск среди формул с единичными приоритетами формулы вида -Pk* (aji, ■■■, ajm).

Итого получаем 4ó + 2Ss — 1 + 3 = 2S(s + 2) + 2 шагов. ■

Теорема 2. (Верхняя оценка числа шагов работы алгоритма.) Количество шагов доказательства логического следования вида

S(lü) Бхф Ak(x)

и нахождения значений переменных, для которых это следование имеет место, при использовании алгоритма IAPTA составляет O(l(maxk sk)á).

Доказательство. Верхняя оценка будет достигнута, если ответ на вопрос, выводима ли формула, будет получен на последнем шаге работы алгоритма, т. е. если каждому процессору придется перебрать все постоянные формулы из S(и>), потенциально контрарные своей атомарной формуле.

Каждому процессору придется решить не более чем maxk sk систем из l уравнений на первой итерации, не более чем maxk sk — 1 систем из l уравнений на второй итерации и не более чем maxk sk — S систем l уравнений на S-й итерации, на которой происходит присвоение значений последним переменным.

С учетом возвратов назад получаем оценку

O(l(maXk sk + maxk sk(maxk sk — 1) +-----+

+ maxk sk (maxksk — 1) x ••• x (maxk sk — S))) = = O(l(maxk sk)s)■

Формула

Рис. 2. Схема алгоритма IAPTA

В [1] доказана верхняя оценка решения рассматриваемой задачи средствами исчисления предикатов. Она совпадает с оценкой, полученной в теореме 2. Однако эта оценка крайне редко достижима. Следующий пример иллюстрирует сокращение перебора при применении предложенного алгоритма.

7. Решение модельной задачи с помощью алгоритма 1АРТА. Пусть имеется множество контурных изображений, составленных из отрезков прямых, задаваемых своими концами. Заданы два предиката V и Ь, определяемые так: У г

V(х, у, г) ^^ (Аухг < п),

Ь(х, у, г,) ^^ х лежит на отрезке с концами у и z.

Задан класс контурных изображений «четверок». Схематическое изображение эталонного объекта имеет следующий вид:

Х1

хз

Х2

Х4

Х5

Описание класса задается формулой

Л(х1, . .. ,Хб) = V (хз, x1, Х4 )&У (х4 ,х2, х3

)&У (х4 ,хз, х5

)&Ь(Х4,Х2,Х5).

Пусть задано контурное изображение, в котором требуется найти хотя бы один объект, принадлежащий классу «четверок»:

Его можно описать так:

S(а1,. .. ,ав) = {V(а1, а2, аз), V(a2,al,a4), V(aз, 0,1,0,4), V(aз, 04, а5),

Ь(аз, а1, а5), V(a4, а2, аз), V(a4, аз, а6), Ь(а4, а2,а6), V(а5,аз, ав), V(a6, а4, об)}.

Для того чтобы выделить объект, принадлежащий классу «четверок», необходимо доказать справедливость логического следования

S (а ь... ,а6) ^ Эх 1 ... х5=А(х ь ..., х5).

Общезначимость этой формулы равносильна общезначимости формулы

Эх 1...х5 =

(

(

V (x3,xi,x4) V -V (ai,a2 a3) V -V(a2, ai, a4) V

-V(аз, ai,a4) V -V (a3, a4 ah) V -V(a4, a2, a3) V

-V(a4, a3, a6) V -V (a5,a3 a6) V -V(a6, a4, ah) V

-L(a3, ai, a5) V -L(a4, a3, a6)

V (X4,X2,X3) V -V (ai,a2 a3) V -V(a2, ai, a4) V

-V(a3, ai,a4) V -V (a3, a4 ah) V -V(a4, a2, a3) V

-V(a4, a3, a6) V -V (a5,a3 a6) V -V(a6, a4, ah) V

-L(a3, ai, a5) V -L(a4, a3, a6)

V (х4,хз,х5) V -V (ai,a2 a3) V -V(a2, ai, a4) V

-V(a3, ai,a4) V -V (a3, a4 ah) V -V(a4, a2, a3) V

-V(a4, a3, a6) V -V (a5,a3 a6) V -V(a6, a4, ah) V

-L(a3, ai, a5) V -L(a4, a3, a6)

L(x4 ,X2,X5) V -V (ai,a2 a3) V -V(a2, ai, a4) V

-V(a3, ai,a4) V -V (a3, a4 ah) V -V(a4, a2, a3) V

-V(a4, a3, a6) V -V (a5,a3 a6) V -V(a6, a4, ah) V

-L(a3, ai, a5) V -L(a4, a3, a6)

\

&

&

&

(3)

Для рассматриваемого примера количество формул в F-наборе S = 4, количество атомарных формул в S(ai,.. .,a6) с одним и тем же предикатным символом si = 8 и S2 = 2 для предикатов V и L соответственно (s = si + S2 = 10), наибольшее количество аргументов в атомарной формуле l = 3. В соответствии с теоремой 1 число шагов выделения «четверки» в заданном изображении не может быть меньше, чем S(s + 4) + 2 = 4 ■ 14 + 2 = 58. По теореме 2 верхняя оценка числа шагов составляет 0(l(maxk sk)г), т. е. имеет порядок l(maxk sk)г = 3 ■ 84 = 12 288.

В [3] приведен пример решения этой задачи с помощью алгоритма IMA. Число шагов при его применении составило 166 шагов при теоретической оценке 0(105).

1. По формуле (3) строим 4-членный F-набор, состояший из ее элементарных дизъюнкций (т. е. удаляем квантор существования вместе с переменными и вхождения знака &).

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

В :

V

V (хз ,хл, х4) V -V(01, 02, 0з) V -V (02,01 04) V

-V(0з, 01,04) V -V(0з, 04, 05) V -V(04, 02 0з) V

-V(04, 0з, 0б) V -V(05, 0з, 0б) V -V(06, 04 05) V

V(х4 ,х2, хз) V -V(01, 02, 0з) V -V (02,01 04) V

-V(0з, 01,04) V -V(0з, 04, 05) V -V(04, 02 0з) V

-V(04, 0з, 0б) V -V(05, 0з, 0б) V -V(06, 04 05) V

V(х4,хз,х5) V -V(01, 02, 0з) V -V (02,01 04) V

-V(0з, 01,04) V -V(0з, 04, 05) V -V(04, 02 0з) V

-V(04, 0з, 0б) V -V(05, 0з, 0б) V -V(06,04 05) V

( Ь(х4,х2,х5) V -Ь(0з, 01, 05) V -Ь(04, 0з , 0б) )

(4)

/

На выполнение п. 1 алгоритма потребовалось 18 шагов.

2. Мы имеем четыре процессора. Первый из них начинает работу с формулы V(хз,х1,х4), второй — с V(х4,х2,хз), третий - с V(х4,хз,х$), а четвертый — с Ь(х4,х2,х5). У всех процессоров F-наборы одинаковые и совпадают с (4), но имеют разные рабочие формулы.

На выполнение п. 2 алгоритма потребовалось:

1 шаг на создание популяции процессоров;

3 шага на копирование F-набора на каждый процессор;

4 шага на назначение рабочей атомарной формулы с переменными для каждого процессора;

1 шаг на назначение первого «унификатора» первому процессору (т. е. отождествление списков (хз,х\,х4) и (0,1,0,2,0,3));

1 шаг на сравнение имен рабочих предикатов и 1 шаг на назначение первого «унификатора» второму процессору, отличного от уже назначенного первому процессору (т. е. отождествление списков (х4,х2,хз) и (02,01,04));

1 шаг на сравнение имен рабочих предикатов и 2 шага на назначение первого «унификатора» третьему процессору, отличного от уже назначенных первому и второму процессорам (т. е. отождествление списков (х4,хз,х%) и (03,01,04));

1 шаг на назначение первого «унификатора» четвертому процессору (т. е. отождествление списков (х4,х2,х55) и (03,01,05)).

Итого 11 шагов.

3. Согласно п. 3.3 процессоры решают системы следующих уравнений:

Процессор

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

первый второй третий четвертый

х\ = а2 хз = а\ х4 = аз х2 = а\ хз = 04 х4 = 02 хз = а\ х4 = аз Х.5 = 04 х2 = а2 Х4 = 04 х5 = о,6

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

Выполнив п. 3.2 алгоритма, имеем следующий результат. Непротиворечивы между собой только присвоения первого и третьего процессоров (14 шагов). Согласно п. 3.5 получаем такие четыре F-набора (жирным выделена рабочая формула процессора):

первый процессор

У(ах, а2, аз) V -V(а1, а2, аз) V -V (а,2 ,а,1 а4) V

-V(аз, а1 а4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз аб) V -V(аъ, аз, аб) V -V(аб, а,4 аъ) V

V (аз,Х2, а1) V -V(а,1, а,2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1 а4) V -V(аз, а,4, аъ) V -V (а4, а2 аз) V

-V(а4, аз аб) V -V(аъ, аз, аб) V -V(аб, а,4 аъ) V

V(аз, а1, хъ) V -V(а,1, а,2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1 а4) V -V(аз, а,4, аъ) V -V (а4, а2 аз) V

-V(а4, аз аб) V -V(аъ, аз, аб) V -V(аб, а,4 аъ) V

у ( Ь(аз,Х2,хъ) V -Ь(а3,а1,а5) V -Ь(а4,а3,а6) ) на замену всех вхождений переменных на их значения уходит 5 шагов;

второй процессор

V (а4,Х1, а2) V -V(а1, а2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1 а4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз аб) V -V(аъ, аз, аб) V -V(аб, а,4 аъ) V

У(а2, а1, а4) V -V(а1, а2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1 а4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз аб) V -V(аъ, аз, аб) V -V(аб, а,4 аъ) V

V (а,2,а,4, хъ) V -V(а1, а2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1 а4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз аб) V -V(аъ, аз, аб) V -V(аб, а,4 аъ) V

У ( Ь(а2,а1,Х5) V -Ь(а3,а1,а5) V -Ь(а^,а3,а6) ) на замену всех вхождений переменных на их значения уходит 6 шагов;

третий процессор

V (а1 ,а2,аз) V -V(а1, а2, аз) V -V (а2,а1 аб) V

-V(аз, а1,а4) V -V(аз, а4, ав) V -V(а4, а2 аз) V

-V(а4, аз, аб) V -V(ав, аз, аб) V -V(аб, а4 ав) V

V(аз, х2,а{) V -V(а1, а2, аз) V -V (а2,а1 а4) V

-V(аз, 0,1,0,4) V -V(аз, а4, ав) V -V(а4, а2 аз) V

-V(а4, аз, аб) V -V(ав, аз, аб) V -V(а6, а4 ав) V

У(аэ, ах, Х5) V -V(а1, а2, аз) V -V (а2,а1 а4) V

-V(аз, а1,а4) V -V(аз, а4, а5) V -V(а4, а2 аз) V

-V(а4, аз, аб) V -V(а5, аз, аб) V -V(аб, а4 ав) V

( Ь(аз,х2,х5) V -Ь(аз, а1, аб) V -Ь(а4, аз , аб) )

V

на замену всех вхождений переменных на их значения уходит 5 шагов;

четвертый процессор

V

V (хз ,х1, аб) V -V(а1, а2, аз) V -V (а2,а1 а4) V

-V(аз, а1,а4) V -V(аз, а4, ав) V -V(а4, а2 аз) V

-V(а4, аз, аб) V -V(ав, аз, аб) V -V(аб, а4 ав) V

V (а4,а2,хз) V -V(а1, а2, аз) V -V (а2,а1 а4) V

-V(аз, а1,а4) V -V(аз, а4, ав) V -V(а4, а2 аз) V

-V(а4, аз, аб) V -V(ав, аз, аб) V -V(аб, а4 ав) V

V(а4, хз,аб) V -V(а1, а2, аз) V -V (а2,а1 а4) V

-V(аз, а1,а4) V -V(аз, а4, ав) V -V(а4, а2 аз) V

-V(а4, аз, аб) V -V(ав, аз, аб) V -V(аб, а4 ав) V

( Ь(а4, а2, ав) V -Ь(аз, а1,ав) V -Ь(а,4, аз, аб) )

/

на замену всех вхождений переменных на их значения уходит 5 шагов.

Всего число шагов выполнения п. 3.5 равно наибольшему из этих четырех чисел, т. е. 6 шагов.

Согласно п. 3.11 переходим к выполнению п. 3.1. Берем новые рабочие формулы. На их выбор ушел 1 шаг.

Согласно п. 3.2 первые три процессора отменяют свои действия. После чего эти процессоры обрабатывают исходный F-набор Б, но для первого процессора рабочей является первая формула второй дизъюнкции V(х4,х2,хз), для второго — первая формула третьей дизъюнкции V(х4,хз,хв), для третьего — первая формула четвертой дизъюнкции Ь(х4, Х2,х$).

Итак, уходит 4 шага на присвоения нулевого приоритета и 5 шагов на отмену присвоений значений переменным.

В четвертом процессоре произошла только замена рабочей формулы с Ь(а4,а2,аб) на V(хз,х1,а4).

Согласно п. 3.3 четвертый процессор решает систему уравнений Х1 = а1, хз = аз. Переменной Х4 уже присвоено значение а2.

Выполнив п. 3.5, для четвертого процессора имеем F-набор:

четвертый процессор

V

У(аз, а1, а4) V -V(а1, а2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1, 0,4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз, аб) V -V(аъ, аз, аб) V -V(аб, а4 аъ) V

V(а4, 02,0З) V -V(а1, а2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1, а4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз, аб) V -V(аъ, аз, аб) V -V(аб, а4 аъ) V

V(а4, аз, аб) V -V(а1, а2, аз) V -V (а2 ,а1 а4) V

-V(аз, а1, а4) V -V(аз, а4, аъ) V -V (а4, а2 аз) V

-V(а4, аз, аб) V -V(аъ, аз, аб) V -V(аб, а4 аъ) V

( Ь(а4,а2,аб) V -Ь(аз, а1, аъ) V -Ь(а4, аз , аб) )

/

на замену оставшихся переменных в F-наборе на их значения в решении системы уходит 2 шага. Итого 8 шагов.

Согласно п. 3.8 четвертый процессор получил пустой F-набор (11 шагов на проверку на тавтологичность второй и третьей формул F-набора).

На выполнение п. 3 алгоритма затрачено тах(9, 7, 9,19) = 19 шагов. Алгоритм заканчивает работу. Выделен объект «четверка»:

Х1 = а1

Хз = аз

Х2 = а2

Х4 = а4

Хъ = а

На решение поставленной задачи затрачено 72 шага.

Приведенный пример наглядно показывает, что реальное число шагов работы алгоритма 1АРТА значительно ближе к нижней оценке, чем к верхней.

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

Литература

1. Косовская Т. М. Некоторые задачи искусственного интеллекта, допускающие формализацию на языке исчисления предикатов, и оценки числа шагов их решения // Труды СПИИРАН. 2010. Вып. 14. С. 58-75.

2. Kosovskaya T., Petukhova N. The Inverse Method for Solving Artificial Intelligence Problems in the Frameworks of Logic-Objective Approach and Bounds of its Number of Steps // Intern. Journal "Information Models and Analyses". 2012. Vol. 1. P. 84-93.

3. Петухова Н. Д., Косовская Т. М. Решение задач логико-предметного распознавания образов с использованием тактик обратного метода Маслова // Компьютерные инструменты в образовании. 2014. № 3. С. 9-20.

4. Оревков В. П. Обратный метод поиска вывода // Логическое программирование и Visual Prolog / aвт.: А. Н. Адаменко, А. М. Кучуков. СПб.: БХВ, 2003. C. 952-965.

5. Dorigo M., Birattari M., Stutzle T. Ant Colony Optimization. Artifcial Ants as a Computational Intelligence Technique // IRIDIA - Techn. Report Series. 2006. N 23. P. 1-2.

6. Kosovskaya T., Petukhova N. The Inverse Maslov Method and Ant Tactics for Exhaustive Search Decreasing // Intern. Journal "Information Models and Analyses". 2013. Vol. 2, N 1. P. 81-89.

7. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. СПб.: БХВ, 2002. 608 с.

References

1. Kosovskaia T. M. Nekotorye zadachi iskusstvennogo intellekta, dopuskaiushchie formalizatsiiu na iazyke ischisleniia predikatov, i otsenki chisla shagov ikh resheniia [Some Artificial Intelligence problems permitting formalization by means of predicate calculus language and upper bounds of their solution steps]. Trudy SPIIRAN [SPIIRAS Proceedings], 2010, no. 14, pp. 58-75. (In Russian)

2. Kosovskaya T., Petukhova N. The Inverse Method for Solving Artificial Intelligence Problems in the Frameworks of Logic-Objective Approach and Bounds of its Number of Steps. Intern. Journal "Information Models and Analyses", 2012, vol. 1, pp. 84-93.

3. Petukhova N. D., Kosovskaia T. M. Reshenie zadach logiko-predmetnogo raspoznavaniia obrazov s ispol'zovaniem taktik obratnogo metoda Maslova [Solving of logic-objective pattern recognition problems with the use Maslov's inverse method tactics]. Komp'iuternye instrumenty v obrazovanii [Computer tools in education], 2014, no. 3, pp. 9-20. (In Russian)

4. Orevkov V. P. Obratnyi metod poiska vyvoda [The inverce method of derivation serch]. Authors: A. N. Adamenko, A. M. Kuchukov. Logicheskoe programmirovanie i Visual Prolog [Logical Programming and Visual Prolog]. St. Petersburg, BHV, 2003, pp. 952-965. (In Russian)

5. Dorigo M., Birattari M., Stutzle T. Ant Colony Optimization. Artifcial Ants as a Computational Intelligence Technique. IRIDIA-Techn. Report Series, 2006, no. 23, pp. 1-2.

6. Kosovskaya T., Petukhova N. The Inverse Maslov Method and Ant Tactics for Exhaustive Search Decreasing. Intern. Journal "Information Models and Analyses", 2013, vol. 2, no. 1, pp. 81-89.

7. Voevodin V. V., Voevodin Vl. V. Parallel'nye Vychisleniia [Parallel computations]. St. Petersburg, BHV, 2002, 608 p. (In Russian)

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

Статья рекомендована к печати проф. В. Ю. Добрыниным. Статья поступила в редакцию 30 апреля 2015 г.

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