Программная реализация системы аргументации со степенями обоснования

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

УДК 004.832.3 Дата подачи статьи: 12.12.14

DOI: 10.15827/0236-235X.109.021-027

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ АРГУМЕНТАЦИИ СО СТЕПЕНЯМИ ОБОСНОВАНИЯ

В.Н. Вагин, д.т.н., профессор, vagin@appmat.ru;

О.Л. Моросин, младший научный сотрудник, oleg@morosin.ru

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

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

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

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

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

Обсуждение основных идей

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

1. Объективная информация - информация, которая получена из надежных источников или может быть напрямую измерена или подтвержде-

на. Например, утверждение «В центральной части России весной продолжительность светового дня увеличивается» является объективной информацией, подтверждаемой наукой и нашими наблюдениями. Такая информация, как правило, используется как неоспоримый аргумент.

2. Субъективная информация - информация, полученная из менее надежных источников. Это могут быть некоторые предположения, суждения. Они часто формулируются с помощью фраз «как правило», «обычно», «скорее всего». Такая информация и служит «источником» противоречий и конфликтов.

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

Все названные типы информации могут быть использованы для аргументации: объективная

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

Существуют несколько формализаций теории аргументации, например [2-5].

В данной работе будет подробно рассмотрена система аргументации, основанная на пересматри-

21

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

ваемых рассуждениях, предложенных Д. Поллоком [5].

Пересматриваемые рассуждения. Прежде всего дадим необходимые определения и введем обозначения [6].

Определение 1. Аргумент - пара, состоящая из множества посылок и заключения. Записывать такие пары будем в виде p/X, где p - заключение; X -множество посылок.

Например, аргумент (p ^ q)/{~A, B} означает, что из посылок ~A, B следует p ^ q. На всех иллюстрациях будем обозначать аргументы овалами. Для аргументов с пустым множеством посылок (такие аргументы называют фактами) будем писать только заключение. Например, фактом является утверждение, что Земля вращается вокруг Солнца.

Определение 2. Интерес - аргумент, который мы хотим обосновать в ходе монотонного и/или пересматриваемого вывода. На графе вывода будем обозначать интересы прямоугольниками.

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

Определение 4. Дедуктивное следствие - простые дедуктивные правила вывода, означающие, что, если истинно P, то истинно и Q. Такие правила не являются пересматриваемыми. Записывать их будем как P^Q и на графе вывода отображать обыкновенными стрелками (см. аргументы P и Q на рис. 1).

Определение 5. Пересматриваемое следствие -это пересматриваемые правила вывода, которые могут быть получены, например, в результате индукции или абдукции. В данной работе нас не интересует конкретный механизм получения таких выводов, поэтому такие правила подаются декларативно на вход программы. Аргументы, полученные в результате таких выводов, будем называть пересматриваемыми. Записывать эти правила будем как M\^N. На графе вывода такие связи будем отображать пунктирными стрелками, а пересмат-

риваемые аргументы - двойным овалом (см. аргументы M и N на рис. 1).

Понятие конфликта - основа системы аргументации. Будем рассматривать два типа конфликтов -опровержение и подрыв [6].

Определение 6. Опровержение (rebutting) - ситуация, когда некоторые аргументы опровергают заключения других аргументов. Иными словами, аргумент A_1=p_1/X_1 опровергает аргумент A_2=p_2/X_2, когда заключение p_1 опровергает заключение p_2. Опровержение является симметричной формой атаки.

Определение 7. Подрыв (undercutting) - несимметричная форма атаки, когда один аргумент отрицает связь между посылками и заключением другого аргумента.

Определение 8. Подрывающие доводы. Это аргументы, поражающие связь между двумя другими аргументами, соединенными пересматриваемым следствием. Например, имеется аргумент E, подрывающий пересматриваемую связь C\^D между аргументами C и D. Такие правила подрыва будем записывать в виде E^(C@D). На графе вывода подрывающие аргументы и пораженные ими аргументы будем соединять жирной пунктирной стрелкой, пораженные аргументы - помечать темно-серым цветом (см. аргумент D на рис. 1).

Обнаружение конфликтов. Обнаружение конфликтов является наиболее сложной частью системы аргументации. Основные сложности обусловлены необходимостью поддержки логики предикатов первого порядка. Если говорить о логике высказываний, то конфликт типа «опровержение» - это ситуация, когда одновременно существуют два аргумента - A и ~A. Однако для логики предикатов первого порядка все несколько сложнее. Основная идея - применение механизма унификации для обнаружения конфликтов. Подстановка U={t1/x1, t2/x2, ..., t/x„}, где t,- - термы и x,--переменные, называется унификатором для выражений Wr and W2, если Wr *U = W2*U, где Wr *U -результат замены переменных xr, x2, ., xn на термы tr t2, ..., tn и предполагается, что W\ и W2 не содержат переменные с одинаковыми именами (если это так, их необходимо переименовать) [6]. Например, выражения P(x-l)&G(x2)^H(x-l, x2) и P(f(a))&G(b)^H(f(a), b) унифицируются унификатором U={fa)/xr b/x2}.

Будем говорить, что аргументы Ai=pi/Xi и A2=p2/X2 вступают в конфликт типа «опровержение», если существует такой унификатор U, что

1. ~prU=p2-U;

2. XvUeX2-U или X2-UeXrU.

Аргумент Ar подрывает пересматриваемую связь между аргументами А2 и A3.

1. Существует пересматриваемая связь между

A 2 и A3.

2. Существуют подрывающее правило E^(C@D) и такие унификаторы Ur и U2, что

22

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

a. E-Ul=ArUl;

b. (C-Ux) -U2=(A2) • U2;

c. (D-Ui) -U2=(As) -U

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

Степени обоснования в пересматриваемых рассуждениях

Перед переходом к способам и алгоритмам вычисления степеней обоснования рассмотрим, как они могут задаваться и откуда получены. В данной работе для задания степеней обоснования используется числовая шкала [0, 1], где 0 соответствует пораженному аргументу, а 1 - наиболее обоснованному аргументу. Степени обоснования могут быть двух типов:

- степени обоснования исходных аргументов;

- степени обоснования пересматриваемых правил.

Первый тип степеней обоснования присваивается каждому исходному аргументу и представляет собой некую оценку достоверности источника, из которого получен данный аргумент. Например, по телевидению сообщили, что вероятность осадков составит 70 %. Соответственно мы можем построить аргумент А1: Завтра(дождь) со степенью обоснования 0,7. Степени обоснования будем записывать функцией Jus(A). То есть для приведенного примера Jus(Завтра(дождь))=0,7. Конкретные механизмы получения степеней обоснования зависят прежде всего от предметной области. Например, это могут быть статистические данные (в 90 % этот источник дает верные данные) или экспертные оценки (вероятность роста акций - 60 %).

Второй тип степеней обоснования связан с пересматриваемыми правилами. Как уже говорилось, часто пересматриваемые правила появляются в результате формализации знаний эксперта вида «Если A, то чаще всего В». Такие правила могут нести в себе и некоторую числовую оценку. Например, применение анальгина в 85 % приводит к снижению температуры тела пациента (формально R1: (V х) прием(анальгин,х)\ ^ пони-жение_температуры(х)).

Одновременное использование обоих типов степеней обоснования является довольно сложной задачей и требует дополнительных исследований. В данной статье ограничимся рассмотрением степеней обоснования первого типа - для изначально заданных аргументов.

Итак, нам необходимо задать функцию Jus(A) для вычисления любого из аргументов в графе вывода. Будем считать, что для изначальных аргументов эта величина является определенной. На

значение этой функции будут оказывать влияние два фактора - дерево вывода аргумента (то есть степень обоснования аргументов, используемых в выводе данного аргумента) и конфликты с другими аргументами. Для удобства рассмотрим эти два фактора отдельно: Jusanc(A) - унаследованная степень обоснования и Juscon(A) - насколько конфликт подрывает обоснование аргумента. Пусть Anc = {Anc,}, 1<i<n - множество аргументов Anc,, участвовавших в выводе аргумента А, n - количество таких аргументов, тогда

Jusanc

v 7 1</<n

Формулу (1) называют принципом слабейшей связи [7]. Надо отметить, что это не единственный подход к вычислению степени обоснования, в ряде работ применяется байесовский подход (см., например, [8]).

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

Если при вычислении Jusanc ищутся наиболее слабые аргументы, то при определении того, насколько конфликт уменьшает обоснования, используются наиболее сильные аргументы. Пусть Aconfl - множество аргументов, вступающих в конфликт с A, n=| Aconfl |, тогда

Jus

con V '

max {Jusanc (Aconfli)}, n > °, 0 в противном случае.

В формуле (2) используется Jusanc для того, чтобы верно обрабатывать случаи, когда между аргументами есть конфликт типа опровержение. Итак, окончательно имеем:

Juscc (A) - Juscan (A) >

Jus (A) = <

JuScc (A) > JuScon (A) >

0 в противном случае.

Программная реализация

Система аргументации реализована в среде Visual Studio 2010. При реализации системы был применен объектно-ориентированный подход. Основные модули реализованной системы приведены на рисунке 2.

Остановимся на каждом модуле подробнее.

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

Приведем грамматику записи аргументов в форме Бэкуса-Наура:

23

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

<Argument>::=<BoolExpression>|<Quantors_list>

<Quantors_list>::=<Quantor> <Variable> <Quantors_list>::=<Quantor><Variable><Quantors_list> <Quantor>::=V | 3

<BoolExpression>::=<BoolExpression>—<BoolExpres-sion>|(<BoolExpression><LogOp><BoolExpression >) <BoolExpression>::=<Name>|<Name>(<Variable_list>) <Variable_list>::=<Variable>|<Variable>, <Variable_list> <Variable>::=<Name>

<Name>:: =<Letter>|<Letter><LetterOrDigitS>

<LetterOrDigitS>::=<LetterOrDigit>|<LetterOrDigit>

<LetterOrDigitS>

Поясним значение логических операций: & -конъюнкция, | - дизъюнкция, — - отрицание, ^ -импликация, о - эквивалентность.

Рис. 2. Структура системы аргументации Fig. 2. Argumentation system structure

Без системы монотонного вывода система аргументации была бы статической, то есть в ней отсутствовали бы механизмы для порождения новых аргументов из уже имеющихся. Такие системы рассматриваются в теории абстрактной аргументации. Отсутствие механизмов вывода существенно сужает возможности таких систем. Поэтому в разрабатываемой системе предлагается использовать механизм натуральной дедукции [9] для вывода новых аргументов. На рисунке 3 приведены основные модули данной системы.

Блок прямых рассуждений позволяет строить новые аргументы из уже имеющихся.

Блок обратных рассуждений позволяет строить новые интересы, которые поступают в блок подтверждения интересов.

Блок пересматриваемого вывода, структура которого приведена на рисунке 4, позволяет находить конфликты и вычислять статусы аргументов.

Рис. 3. Подсистема монотонного вывода

Fig. 3. Monotonic inference subsystem

Рис. 4. Подсистема пересматриваемого вывода Fig. 4. Defeasible reasoning subsystem

Реализации системы аргументации

на основе пересматриваемых рассуждений

При создании данной системы использовались следующие основные алгоритмы.

Алгоритм прямых рассуждений.

Входные данные: аргумент q, граф вывода G.

Выходные данные: список новых аргументов New_ arguments.

Шаг 1. Для данного аргумента q проверить возможность применения простых правил прямого вывода, не требующих участия других аргументов (упрощение, устранение эквивалентности, устранение двойного отрицания, преобразование дизъюнкции, правило де Моргана, отрицание дизъюнкции, отрицание импликации [10]).

Шаг 2. Если хотя бы одно правило вывода подходит, сделать вывод согласно правилу, при этом посылки у заключительного аргумента будут такими же, как и у аргумента q.

24

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

Шаг 3. Если ни одно простое правило не подошло и аргумент q/Xимеет вид A^BIX (где A и B - любые правильно построенные формулы, X -множество посылок), то запустить цикл перебора по всем аргументам piIYi из G (1<i<N, где N - количество аргументов в G) и применять схемы вывода модус поненс и модус толленс.

Модус поненс: если для некоторого аргумента piIYi существует унификатор U для A/X и piIYi, то вывести аргумент (U*BIU*X).

Модус толенс: если для некоторого аргумента piIYi = ~ riIYi существует унификатор U для B/X и rJYi, то вывести аргумент (U*(~B)/U*X).

Шаг 4. Аргументы, полученные на шагах 2 и 3, добавить в выходной список новых аргументов. Завершить процедуру.

Алгоритм подтверждения интересов.

Входные данные: граф вывода G.

Выходные данные: очередь вывода, граф вывода.

Шаг 1. Для каждого неподтвержденного интереса piIXi (1<i<K, где K - количество интересов в G) каждого аргумента Aj =q /Yj (1</'<M, где M -количество аргументов в G) проверить, существует ли унификатор U для формул pi и qj.

Шаг 2. Для интересов, которые унифицируются унификатором U с аргументом qj/Yj, проверить, вложен ли результат применения унификатора U*(Yj) в U*(X) Если вложен, то применить к этому интересу унификатор U, пометить интерес как доказанный, добавить его в список аргументов, добавить в очередь вывода. Рекурсивно пометить как подтвержденные интересы (и применить к ним унификатор U), которые порождают данный интерес, если они порождали только один интерес или все другие порожденные им интересы уже подтверждены.

Шаг 3. Изменить граф вывода в соответствии с шагом 2 и завершить процедуру.

Алгоритм поиска конфликтов.

Входные данные: граф вывода, список подрывающих следствий undercutrules.

Выходные данные: граф вывода с конфликтами.

Шаг 1. Для каждого аргумента Argi = aiI{Xi} проверить, имеется ли такой Arg2 = a2I{X2}, что для aj и ~a2 существует унификатор U и Xi * UeX2* U или X2* UeXi * U. Если такой унификатор существует, добавить конфликт между Argi и Arg2.

Шаг 2. Для каждого подрывающего правила ucrule вида p^(q@r) из undercutrules выполнить следующие шаги.

Шаг 3. Взять левую часть правила - p. Для каждого аргумента Arg = aI{X} проверить, существует ли унификатор Uleft для выражений a и р.

Шаг 4. Для тех аргументов Arg, которые унифицируемы с левой частью подрывающего правила, выполнить следующие шаги.

Шаг 4.1. Применить унификатор Uleft к q и r

(qu=q* Uleft и r„=r* Uf).

Шаг 4.2. Составить массивX=[{xqi,, xri}, {xq2>, xr2}, ..., {xqn,, xrn}], состоящий из пар аргументов, соединенных пересматриваемой. Для каждого элемента этого массива выполнить

шаг 4.2.1. Проверить, существует ли унификатор Uright для qu и xq,. Если найденный унификатор также является унификатором для ru и xri, добавить новый конфликт в граф вывода.

Шаг 5. Изменить граф вывода в соответствии с найденными на шагах 1-4 конфликтами и завершить процедуру.

Алгоритм вычисления степеней обоснования.

Процедура calculatejustification_degree().

Входные данные: граф вывода.

Выходные данные: граф вывода.

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

Шаг 2. Пока очередь Qlist непуста, извлечь из нее очередной элемент q и выполнить процедуру

Jus(q).

Шаг 3. Изменить степени обоснования аргументов графа вывода в соответствии с найденными степенями и завершить процедуру.

Процедура Jus(argument q, [argument ex]).

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

Выходные данные: граф вывода.

Шаг 1. Если q - изначально заданный аргумент, то положить Jusanc(q) равным изначально заданной степени доверия для этого аргумента. В противном случае из всех Anc;, являющихся непосредственным предком q (то есть q получается из Anct за один шаг), найти Ancmin с минимальной степенью обоснования. Положить Jusanc(q) = = Jus(Ancmin).

Шаг 2. Если аргумент q не имеет конфликтов, положить Juscon(q)=0. В противном случае составить множество {A;}, состоящее из аргументов, имеющих конфликт с q. Если параметр ex задан, исключить его из множества {A;}. Если к моменту вычисления Jus(q) среди A, нет аргументов с неопределенной степенью обоснования, то найти среди них тот аргумент A_max, у которого Jus(A_max) максимален. Положить Juscon(q)=max(Jus(A_max), Jusanc(ex)), выполнить Jus(ex), перейти к шагу 4. В противном случае (то есть среди {A;} есть аргументы с неопределенными степенями обоснования) выполнить шаг 3 .

Шаг 3. Для каждого A;, для которого не определена степень доверия, выполнить

шаг 3.1. Если A, имеет конфликт с q, но аргумент q не имеет с ними конфликта (несимметрич-

25

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

ная форма конфликта), выполнить Jus(Ai). В противном случае выполнить Jus(Ai,q), то есть рассчитать Jus(Ai) без учета конфликта с q.

Шаг 4. Положить Jus(q) =

= JuSanc(q) - JuScon(q), если JuSanc(q) > > Juscon(q). В противном случае Jus(q) = 0.

Шаг 5. Изменить степени обоснования аргумента q и завершить процедуру.

R1.

AZmo^UnuxRMP)^

Justification^

R3.

R2.

R4.

In14.: Доход/вложить_средства (_х0) Justification:0.55

In11.: (вложить_средства(_х0)->доход) Justification:0.55

In5.: 3 x (вложить_средства(х)->доход) Justification:0.55

Рис. 5. Пример решения задачи со степенями обоснования Fig. 5. An example of solving problem with justification degrees

Пример работы системы аргументации

Имеется следующая задача. Предприниматель хочет вложить некоторую сумму в развивающийся бизнес и получить от этого доход.

Есть компания CMP, которая занимается IT-бизнесом.

По статистике, IT-рынок находится на подъеме и 75 % IT-компаний показывают положительную динамику развития. Компания CMP занимается разработкой ПО под операционные системы семейства Linux. В России менее 10 % пользователей Linux, следовательно, спрос на продукцию будет невелик.

Однако 80 % производства компании направлено на международный рынок ПО для веб-серверов, которые в основном работают на Linux.

Запишем условия формально на языке ЛППП:

А1. IT

R1.

R2.

R3.

R4.

R5.

На рисунке 5 приведен граф вывода для данной задачи.

Рассмотрим решение данной задачи поэтапно.

1. Из аргумента А1: IT(CMP) и правила вывода R1 получается пересматриваемый аргумент А6

Jus(A 6) =Jus(A 1)=0,75.

2. Из аргумента А2: nod Linux(CMP) и правила вывода R3 получается пересматриваемый аргумент A8: плохойспрос(СМР). Jus(A8)=Jus(A2)=1.

3. Аргумент A8: плохойспрос(СМР) с помощью правила R5 вступает в конфликт типа «подрыв» с аргументом A3: рынок_сбыта(для_серве-ров). Согласно формуле (3) Jus(A3)=Jusanc(A3)--Jus(A8)=0,2.

4. Из аргумента А6 и правила R2 получается аргумент А7: Инвестировать(СМР). Jus(A7) = =Jus(A6)=0,75.

5. Из аргумента А8 и правила вывода R4 получается аргумент А9: ~Инвестировать(СМР).

6. Аргументы А9 и А7 вступают в конфликт типа опровержение, степень обоснования аргумента А7 выше, следовательно, Jus(A7)=0,55, а аргумент А9 становится полностью пораженным с Jus(A9)=0.

7. Используя правила обратного вывода, из интереса In5 получается интерес In11, а из него интерес In14.

8. Из аргумента А10: Инвестировать(_х)->до-ход и аргумента А7: Инвестировать(СМР), применяя унификацию и правило Modus Ponens, получаем аргумент А12. Согласно принципу слабейшей связи, Jus^^^O^. Этот аргумент подтверждает интерес In14.

9. Окончательно получаем, что интересы подтверждены со степенью обоснования 55 %. То есть инвестиция в компанию СМР принесет доход с вероятностью 55 %.

26

Программные продукты и системы / Software & Systems

№ 1 (109), 2015

Итак, сделаем следующие выводы. Конфликты в базах знаний являются серьезной проблемой при построении любых интеллектуальных систем. Поиск, анализ и, возможно, разрешение этих конфликтов - важная и интересная задача. В настоящей статье был рассмотрен один из подходов к данной проблеме - использование аргументации, а именно теории пересматриваемых рассуждений. Были рассмотрены теоретические основы пересматриваемых рассуждений и дан обзор системы, разработанной на данной теории. Разработанная программная система справилась со многими задачами, не решаемыми с точки зрения классической логики. Она была протестирована и отлажена на многих тестовых задачах из [11].

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

Литература

1. Besnard P., Hunter A. Elements of Argumentation. Cambridge MA: MIT Press, 2008, 298 p.

2. Bondarenko A., Dung P.M., Kowalski R.A., Toni F. An Abstract Argumentation-Theoretic Framework for Defeasible Reasoning. Artificial Intelligence, 1997, vol. 93, no. 1-2, pp. 63-101.

3. Lin F., Shoham Y. Argument Systems. A Uniform Basis for Nonmonotonic Reasoning. Proc. 1st Intern. Conf. on Principles of Knowledge Representation and Reasoning. San Mateo CA: Morgan Kaufmann Publ. Inc, 1989, pp. 245-355.

4. Vreeswijk G.A.W. Abstract Argumentation Systems. Artificial Intelligence. 1997, vol. 90, pp. 225-279.

5. Pollock J.L. How to Reason Defeasibly. Artificial Intelligence. 1992, vol. 57, pp. 1-42.

6. Вагин В.Н., Головина Е.Ю., Загорянская А.А., Фомина М.В. Достоверный и правдоподобный вывод в интеллектуальных системах. 2-е изд. М.: Физматлит, 2008. 712 с.

7. Pollock J.L. Defeasible reasoning with variable degrees of justification. Artificial Intelligence. Artificial Intelligence. 2001, vol. 133, pp. 233-282.

8. Haenni R., Kohlas J., Lehmann N. Probabilistic Argumentation Systems, Handbook of Defeasible Reasoning and Uncertainty Management Systems. Algorithms for Uncertainty and Defeasible Reasoning. 1999, vol. 5, pp. 221-287.

9. Pollock J.L. Natural Deduction. Technical Report, Department of Philosophy, Univ. of Arizona, Tucson, 1996, p. 35.

10. Вагин В.Н., Моросин О.Л. Исследование систем аргументации для пересматриваемых рассуждений. В кн. Интеллектуальные системы. Вып. 6; [под ред. В.М. Курейчика]. Р-н-Д: Изд-во ЮФУ, 2013. С. 163-178.

11. Vreeswijk G.A.W. Interpolation of Benchmark Problems in Defeasible Reasoning. Proc. of the 2nd World Conf. on the Fundamentals of Artificial Intelligence (WOCFAI 95). Paris, France, 1995, pp. 453-468.

DOI: 10.15827/0236-235X.109.021-027 Received 12.12.14

SOFTWARE IMPLEMENTATION OF AN ARGUMENTATION SYSTEM WITH JUSTIFICATION DEGREES

Vagin V. N, Dr.Sc.

Abstract. The paper gives an overview of the approaches to the argumentation formalization and considers the software implementation of the argumentation system based on defeasible reasoning. Decision support systems often contain inconsistent and conflicting information. The methods of the classical logics can not be applied to inconsistent knowledge bases. Argumentation is a good way to deal with such knowledge bases. Argumentation is usually considered as the process of creating assumptions to solve the analyzed problem. Typically this process involves detecting conflicts and finding solutions. In contrast to the classical logic in the argumentation theory there may be arguments "for" and "against" certain assumptions. It is necessary to show that there are more arguments "for" than "against" some assumption to confirm it. Thus, one argument is not enough to say an assumption is plausible, but the superiority of arguments over counterarguments already does this.

The paper also describes an application of justification degrees in defeasible reasoning. Justification degrees allow giving numerical assessment of argument plausibility.

The authors propose the architecture of the developed argumentation system. The article presents the following methods and algorithms: the conflict search algorithm, the algorithm of new argument inference, the algorithm for calculating justification degrees and some others. In conclusion, the paper describes the example of the application of the system for solving a problem containing inconsistency.

Keywords: argumentation; knowledge base; inconsistence; defeasible reasoning; justification degree.

References

1. Besnard P., Hunter A. Elements of Argumentation. Cambridge, MA, MIT Press, 2008, 298 p.

2. Bondarenko A., Dung P.M., Kowalski R.A., Toni F. An Abstract Argumentation-Theoretic Framework for Defeasible Reasoning.

Artificial Intelligence. 1997, vol. 93, no. 1-2, pp. 63-101.

3. Lin F., Shoham Y. Argument Systems. A Uniform Basis for Nonmonotonic Reasoning. Proc. of the 1st Int. Conf. on Principles of Knowledge Representation and Reasoning. San Mateo, CA, Morgan Kaufmann Publ. Inc., 1989, pp. 245-355.

4. Vreeswijk G.A.W. Abstract Argumentation Systems. Artificial Intelligence. 1997, vol. 90, pp. 225-279.

5. Pollock J.L. How to Reason Defeasibly. Artificial Intelligence. 1992, vol. 57, pp. 1-42.

6. Vagin V.N., Golovina E.Yu., Zagoryanskaya A.A., Fomina M.V. Exact and Plausible Inference in Intelligent Systems. 2nd ed., Moscow, Fizmatlit Publ., 2008, 716 p. (in Russ.).

7. Pollock J.L. Defeasible reasoning with variable degrees of justification. Artificial Intelligence. 2001, vol. 133, pp. 233-282.

8. Haenni R., Kohlas J., Lehmann N. Probabilistic Argumentation Systems, Handbook of Defeasible Reasoning and Uncertainty Management Systems. Algorithms for Uncertainty and Defeasible Reasoning. 1999, vol. 5, pp. 221-287.

9. Pollock J.L. Natural Deduction. Technical Report, Univ. of Arizona Publ., Tucson, 1996, 35 p.

10. Vagin V.N., Morosin O.L. The study of argumentation systems for defeasible reasoning. Intellectual systems. Collective monograph. V.M. Kureychik (Ed.). Rostov-on-Don, YuFU Publ., 2013, iss. 6, pp. 163-178 (in Russ.).

11. Vreeswijk G. A. W. Interpolation of Benchmark Problems in Defeasible Reasoning. Proc. of the 2nd World Conf. on the Fundamentals of Artificial Intelligence (WOCFAI 95). Paris, France, 1995, pp. 453-468.

27