- •Введение
- •1 Данные и знания в интеллектуальных системах
- •Характерные особенности знания
- •1. Внутренняя интерпретируемость.
- •2. Структурированность.
- •3. Связность.
- •4. Шкалирование.
- •5. Семантическая метрика.
- •6. Наличие активности.
- •1.2 Знание как обоснованное истинное убеждение
- •1.3 Не-факторы знания
- •1.4 Зачем нужны нетрадиционные логики?
- •Монотонные классические модальные логики
- •2.1. Исчисление предикатов первого порядка как основа для построения модальной логики
- •2.2.Вспомогательная логика как основа перехода к модальному исчислению высказываний
- •2.3.Постулаты, основные теоремы и правила модального исчисления высказываний
- •2.4. Система s1
- •2.5. Система s4
- •2.6. Система s5
- •2.7. Семантика возможных миров Крипке
- •3. Немонотонные модальные логики
- •3.1. Логики убеждения и знания
- •3.2. Немонотонные логики Мак-Дермотта и Дойла
- •3.3. Автоэпистемические логики
- •3.4. Логики умолчаний
- •3.5. Системы поддержки истинности
- •3.5.1. Системы поддержки истинности, основанные на обоснованиях
- •3.5.2. Системы поддержки истинности, основанные на предположениях
- •4. Системы аргументации и абдуктивный вывод
- •4.1. Системы пересматриваемой аргументации
- •4.1.1. Основные свойства семантики, основанной на аргументах
- •4.1.2. Назначение уникального статуса аргументам
- •4.1.3. Назначение множественного статуса аргументам
- •4.1.4. Сравнение подходов уникального и множественного назначения статуса аргументам
- •4.2. Обзор систем аргументации
4.1.1. Основные свойства семантики, основанной на аргументах
Рассмотрим семантику аргументационных систем, т.е. условия, которым должны удовлетворять множества подтвержденных аргументов. Аргументационные системы связаны не с истинностью высказываний, а с подтверждением принятия высказывания как истинного. Остановимся на понятии подтвержденного аргумента. Пусть на множестве аргументов определено отношение поражения, тогда может быть дано следующее определение статуса аргумента:
Определение 4.1.Аргументы либо подтверждаются, либо не подтверждаются.Аргумент подтверждается, если все аргументы, поражающие его не подтверждаются.Аргумент не подтверждается, если он поражается подтвержденным аргументом.
Пример 4.1. Пусть аргумент В поражает аргумент А, а аргумент С поражает аргумент В. Например, А = “Твити не летает будучи птицей”, В = “Твити не летает, так как он - пингвин”, С = “Наблюдение, говорящее о том, что Твити – пингвин, не является надежным”. Анализируя взаимоотношения аргументов, находим: С подтверждается, так как он не поражается никаким аргументом. Аргумент В не подтверждается, так как В поражается аргументом С. Следовательно А подтверждается, так как хотя А поражается аргументом В, но его статус восстанавливается аргументом С, так как С делает В не подтвержденным.
Если аргументы равной силы интерферируют, то неясно, какой из аргументов останется непораженным.
Пример 4.2. Пусть аргумент А поражает В, и аргумент В поражает А. С процедурной точки зрения здесь возникает цикл, а с декларативной – существуют два возможных способа назначения статуса по определению 4.1: аргумент А подтверждается, а В – нет, и наоборот.
Было предложено два подхода к решению проблемы:
Изменить определение 4.1 так, чтобы статус присваивался единственным образом, и если возникает “неразрешимый конфликт”, то конфликтующие аргументы получают статус “не подтверждается”.
Можно допустить несколько вариантов назначения статуса. Аргумент истинно подтверждается, если он получает это статус при всех возможных назначениях.
Существует и другая проблема – самопоражающие (self-defeating) аргументы.
Пример 4.3. Пусть аргумент А поражает аргумент А. Предположим что, А не подтверждается. Тогда все аргументы, поражающие А, не подтверждаются. Следовательно, аргумент А должен подтверждаться. Возникает противоречие. Если же аргумент А подтверждается, то снова приходим к противоречию.
Таким образом, принимая определение 4.1, необходимо предполагать, что самопоражающие аргументы отсутствуют.
4.1.2. Назначение уникального статуса аргументам
Назначение аргументу уникального статуса можно выполнить двумя способами: определить назначение статуса в терминах оператора фиксированной точки или ввести рекурсивное определение для понятия подтвержденного аргумента, определяя дополнительно понятие подаргумента.
Определения фиксированной точки.Поллок, Симари, Луи, Праккен и Сартор используют подход, связанный с понятием восстановления. Здесь учитывается следующее наблюдение: аргумент, пораженный другим аргументом, может быть подтвержден, если он восстанавливается третьим аргументом. В результате Данг определяет понятие приемлемости следующим образом:
Определение 4.2.Аргумент Априемлемпо отношению к множеству аргументов S тогда и только тогда, когда каждый аргумент, поражающий А, поражается аргументом из множества S.
Аргументы множества S могут рассматриваться как аргументы, способные к восстановлению статуса аргумента А, если А поражается. Но одного понятия приемлемости оказывается недостаточно. Например, пусть в примере 4.2 S={A}. Нетрудно видеть, что А приемлем по отношению к S, так как все аргументы, поражающие А (т.е. аргумент В), поражаются самим аргументом А из S. Очевидно, мы не хотим, чтобы аргумент восстанавливал сам себя. Вот почему необходимо использовать оператор фиксированной точки.
Определение 4.3.Пусть Args – множество аргументов, упорядоченное бинарным отношением поражения. Тогдаоператор Fопределяется так:
F: Pow(Args)->Pow(Args) (Pow – степень множества);
F(S) = {AArgs | A приемлем по отношению к S}.
У оператора F существует наименьшая фиксированная точка. Если аргумент приемлем по отношению к S, то он приемлем по отношению к любому надмножеству S, т.е. F – монотонный. Чтобы не было самовосстановления, будем считать, что подтвержденные аргументы принадлежат наименьшей фиксированной точке. Для примера 4.2 множества {A} и {B} являются фиксированными точками, но не наименьшими, поэтому ни один из аргументов не защищен от поражения: F() =.
Определение 4.4.Аргументподтверждаетсятогда и только тогда, когда он является элементом наименьшей фиксированной точки оператора F.
Утверждение 4.1.Рассмотрим следующую последовательность аргументов:
F0 =
Fi+1 = {AArgs | A приемлем по отношению к F}.
Выполняются следующие свойства:
Все аргументы в подтверждаются.
Если каждый аргумент поражается самое большее, конечным числом аргументов, то аргумент подтверждается тогда и только тогда, когда он принадлежит .
При итеративном построении сначала добавляются все аргументы, которые не поражаются никаким из аргументов, и каждое новое применение F добавляет все аргументы, восстановленные аргументами, уже находящимися в построенном множестве. Это достигается благодаря использованию понятия приемлемости. Пусть мы применяем F для i-го шага: тогда для любого аргумента А, если все аргументы, поражающие А сами поражаются аргументом из Fi-1, то АFi. Например, для задачи из примера4.1 получаем:
F1= F() = {C}
F2 = F(F1) = {A,C}
F3= F(F2) = F2.
Доказано, что применение оператора F эквивалентно двукратному применению оператора G, т.е. F = GG.
Определение 4.5.Пусть Args – множество аргументов, упорядоченное бинарным отношением поражения. Тогдаоператор Gопределяется как:
G : Pow(Args) -> Pow(Args)
G(S) = {A Args | A не поражается никаким аргументом в S}.
Рассмотрим последовательность, получаемую с помощью итеративного применения оператора G к пустому множеству, и определим, что аргумент А подтверждается тогда и только тогда, когда, начиная с некоторого шага (уровня) n в последовательности, А остается в Gmпри всех mn.
Определение 4.6.Определимуровни при доказательстве:
все аргументы принадлежат множеству на уровне 0;
аргумент принадлежит множеству на уровне n+1 тогда и только тогда, когда он не поражается никаким аргументом на уровне n;
аргумент подтвержден тогда и только тогда, когда существует такое значение m, что для любого nm аргумент принадлежит множеству уровня n.
Это определение связано с определением 4.5, подобно тому, как утверждение 4.1 соответствует определению 4.3. Например, для задачи из примера 4.1 находим, что подтвержденными аргументами являются А и С. Действительно, С принадлежит множеству на всех уровнях, а А появляется на втором уровне и остается далее на всех последующих уровнях.
Уровень |
0 |
1 |
2 |
3 |
Множество аргументов |
A,B,C |
C |
A,C |
A,C |
Для примера 4.2 подтвержденными оказываются и аргумент А, и аргумент В.
Уровень |
0 |
1 |
2 |
3 |
Множество аргументов |
A,B |
A,B |
A,B |
A,B |
Рассмотрим бесконечную цепь аргументов: A1, A2, … , An, …, поражающих друг друга: A1поражается аргументом A2 … поражается аргументом An… Наименьшая фиксированная точка цепи пуста, так как ни один из аргументов не восстанавливается, т.е. F() =. Заметим, что существуют две другие фиксированные точки, которые удовлетворяют определению 4.1, т.е. множество всех Аi, где i – нечетное, и множество всех Аi, где i – четное.
Оправдываемые аргументы.Главная особенность приведенных определений в том, что они позволяют различать два типа подтвержденных аргументов. Например, в примере 4.1 хотя аргумент В и поражает аргумент А, аргумент А все же подтверждается, так как его восстанавливает аргумент С. Рассмотрим еще один пример.
Пример 4.4. Пусть имеется три аргумента A, B и С: А поражает В, В поражает А и А поражает С. Интерпретация может быть следующей:
A = “Диксон – пацифист, так как он квакер, и у него нет пистолета, так как он пацифист”;
B = “Диксон не пацифист, так как он республиканец”;
C = “У Диксона есть пистолет, так как он живет в Чикаго”.
По определениям 4.4 и 4.6 ни один аргумент не подтверждается. Для А и В это верно, так как они связаны как и в примере 4.2, а для С – так как этот аргумент поражается аргументом В. Здесь становится явным главное отличие между двумя примерами. В отличие от примера 4.1, аргумент А хотя и не подтверждается, не поражается ни одним подтвержденным аргументом. Следовательно, А сохраняет потенциальную возможность не допустить подтверждения С: не существует подтвержденных аргументов, восстанавливающих аргумент С путем поражения аргумента А. В результате аргумент А оказывается, так называемым, зомби-аргументом, т.е. он не подтверждается, и в то же время, не полностью опровергнут. Поэтому у аргумента А некоторый средний статус, при котором он все еще может влиять на статус других аргументов. Этот статус в дальнейшем будем обозначать как “оправдываемый” (defensible).
Определение 4.7.Будем называть аргументаннулированнымтогда и только тогда, когда он не подтверждается, и либо самопоражается, либо поражается подтвержденным аргументом. Аргументоправдываемыйтогда и только тогда, когда он не подтверждается и не аннулируется.
Пример 4.5. Рассмотрим два аргумента A и B: аргумент А поражает сам себя и поражает аргумент В. Интуитивно, желательно, чтобы В подтверждался, так как единственный поражающий его аргумент является самопоражающим. Однако F() =, поэтому ни А, ни В не подтверждаются. Более того, оба этих аргумента являются оправдываемыми, так как они не поражаются подтвержденными аргументами. Следовательно, требуется модифицировать определения 4.3 и 4.6, чтобы аргумент А в этом примере аннулировался, а аргумент В – подтверждался.
Определение 4.8.Поллок определяетподтверждение аргументаследующим образом:
аргумент находится на уровне 0 тогда и только тогда, когда он не поражает сам себя;
аргумент находится на уровне n+1 тогда и только тогда, когда он принадлежит уровню 0 и не поражается ни каким аргументом на уровне n;
аргумент подтверждается тогда и только тогда, когда существует такое значение m, что для каждого nm аргумент принадлежит уровню n.
Дополнительные условия, говорящие о том, что аргумент не поражает сам себя, и что он принадлежит уровню 0, позволяют исключить все самопоражающие аргументы для каждого уровня и делают невозможным для них исключение других аргументов.
Возможен и другой подход (Праккен, Сартор), когда вводится специальный “пустой” аргумент, который не поражается никаким другим аргументом и, по определению, поражает любой самопоражающий аргумент.
Рекурсивные определения.Существует другой подход к назначению уникального статуса аргументам. Он состоит из двух частей: во-первых, сделать явной идею о том, что аргументы обычно строятся по шагам, начиная от промежуточных, и заканчивая финальными заключениями (например, в примере 4.4 промежуточное заключение – “Джон - пацифист” и финальное – “у Диксона нет пистолета”). Заметим, что главное интуитивное замечание об оценке аргументов состоит в том, что аргумент не может быть подтвержден, если не подтверждены все его подаргументы. Во-вторых, ограничить восстановление случаями, когда оно достигается атакой на подаргумент.
Для введения формализованных определений будем считать, что у аргументов существуют подаргументы.
Определение 4.9.Аргумент Аподтверждаетсятогда и только тогда, когда:
А не является самопоражающим аргументом и
все подаргументы аргумента А подтверждаются и
все аргументы, поражающие аргумент А, самопоражаются или имеют по крайней мере один подаргумент, который не подтверждается.
Возникает вопрос, как удается избежать множественного присваивания статуса? Это определение по-разному обрабатывает два вида восстановления. Интуитивно, аргументы могут быть восстановлены двумя способами. В примере 4.1 способ, с помощью которого аргумент С восстанавливает аргумент А, состоит в атаке на подаргумент В, т.е. аргумент для заключения, что Твити – пингвин. Сделаем эту связь подаргументов явной, изменив пример следующим образом (обозначим через X-подаргумент аргумента X).
Пример 4.6. Рассмотрим четыре аргумента: А, В, B-и C такие, что аргумент В поражает аргумент А и аргумент С поражает аргумент B-. Согласно определению 4.9, А и С подтверждаются, и В и В-- не подтверждаются (В не подтверждается по второму условию). Итак, аргумент С восстанавливает аргумент А, не поражая аргумент В непосредственно, а поражая его подаргумент В-.
Другой вид восстановления можно проиллюстрировать на примере 4.1.
Пример 4.7. Рассмотрим три аргумента А, В и С: А поражается В, В поражается С. Возможна следующая интерпретация:
A = “Твити летает, так как он - птица”;
B = “Твити не летает, так как он - пингвин”;
C = “Твити летает, так как он необычный пингвин”.
По определениям 4.3 и 4.6, и аргумент А, и аргумент С подтверждаются. В частности, А подтверждается, так как он восстанавливается с помощью аргумента С. Однако, по определению 4.9, только аргумент С подтверждается. Это происходит из-за того, что третье условие определения 4.9 требует, чтобы аргумент А не мог поражаться ни одним аргументом: оно не оставляет возможности восстановления с помощью прямого поражения аргументов, поражающих аргумент А. Следовательно, аргумент С не восстанавливает А. Это кажется интуитивно верным: можно заключить, что Твити летает не из-за того, что он – птица, а из-за того, что он – необычный пингвин.
Интуитивное различие между двумя типами восстановления в том, что в примере 4.6 аргументы поражают друг друга по отношению к различным заключениям, тогда как в примере 4.7 все конфликты происходят по отношению к одному и тому же заключению. В то время, как неявная форма восстановления (с помощью поражения подаргумента) соответствует базовому принципу аргументации, пример 4.7 показывает, что с прямым восстановлением все не так очевидно. Возникает вопрос, удастся ли с помощью этого подхода исключить множественное присвоение статуса в примере 4.2? Заметим, что определение 4.9 не допускает восстановления аргументов по отношению к их конечным заключениям. И А, и В не подтверждаются, так как оба эти аргумента поражаются по отношению к их конечным заключениям (Никсон - пацифист или не пацифист). Единственный способ восстановить аргумент А = “Никсон - пацифист” состоит в поражении подаргумента В = “Никсон - республиканец”.
В определениях фиксированной точки мы неявно предполагали, что один из способов поражения аргумента – это поражение одного из его подаргументов. И в подходе, использующем рекурсивные определения, мы допускаем, что, напротив, поражение аргумента не зависит от поражения подаргумента. Отсюда вытекают практически важные следствия. Если подход фиксированной точки применяется для системы, различающей аргументы и подаргументы по другим соображениям, то необходимо доказать, что второе условие определения 4.9 выполняется. Так как приведенные определения аргументов и поражения довольно абстрактны, приведем еще несколько примеров.
Оказывается, определение 4.9 не совсем корректно. Рассмотрим следующий пример (это версия примера 4.4, в котором подаргументы определены явно).
Пример 4.8. Пусть даны аргументы А-, А, В и С: A-и В поражают друг друга, аргумент А поражает аргумент С. Можно ввести следующую интерпретацию:
A-= “Диксон – пацифист, так как он - квакер”;
B = “Диксон – не пацифист, так как он - республиканец”;
A = “У Диксона нет пистолета, так как он - пацифист”;
C = “У Диксона есть пистолет, так как он живет в Чикаго”.
Согласно определению 4.9, С подтверждается, так как единственный аргумент, поражающий аргумент С, - это аргумент А, который содержит неподтвержденный подаргумент, т.е. аргумент А-. Интуитивно, аргумент А должен сохранять свою способность к предотвращению аргумента С, так как подаргумент аргумента А не поражается подтвержденным аргументом.
Существует способ изменения определения 4.9: его нужно сделать явно “трехзначным”, изменив фразу “не подтверждается” в третьем условии на “аннулируется”.
Определение 4.10.Будем считать, что аргументаннулируетсятогда и только тогда, когда он не подтверждается и либо поражает сам себя, либо он сам или один из его подаргументов поражается подтвержденным аргументом. Аргументоправдываетсятогда и только тогда, когда он не подтверждается и не аннулируется.
Определение 4.11.Аргумент Аподтверждаетсятогда и только тогда, когда выполняется:
А не поражает сам себя и
все подаргументы аргумента А подтверждаются и
все аргументы, поражающие аргумент А, поражают сами себя, или имеют по крайней мере один подаргумент, который аннулируется.
Для примера 4.8 получается следующий результат: ни один из аргументов не поражает сам себя. Чтобы определить, подтверждается ли аргумент С, мы должны определить статус аргумента А. Аргумент А поражает аргумент С, следовательно, аргумент С подтверждается, если аргумент А аннулируется. Так как аргумент А не поражается, то он может аннулироваться лишь тогда, когда его подаргумент А-аннулируется. Ни один подаргумент аргумента А-не поражается, но сам аргумент А-поражается аргументом В. Тогда если аргумент В подтверждается, то аргумент А-аннулируется. Аргумент В не подтверждается, так как он поражается аргументом А-, и аргумент А-не поражает сам себя и у него нет аннулированных подаргументов. Но тогда аргумент А не аннулируется, т.е. аргумент С не подтверждается. Т.е. все аргументы оправдываемы, что может быть легко доказано.
Сравнение рекурсивных определений и определений с фиксированной точкой. Сравнивая рекурсивные определения и определения с фиксированной точкой можно заметить, что для примера 4.7 результаты применения этих определений различны: интуитивно, лучшим кажется определение с рекурсией. Рекурсивное определение (модифицированное, трехзначное) может работать с зомби-аргументами так же, как и определения с фиксированной точкой. Определения 4.9 и 4.11 не всегда дают однозначное установление статуса аргумента.
Пример 4.9. Пусть имеется четыре аргумента А-, А, В-, В: аргумент А поражает аргумент В-, аргумент В поражает аргумент А-. Определение4.9 дает два значения статуса:
A-, A подтверждаются;
B-, B подтверждаются.
Кроме того, определение 4.11 еще дает такой вариант назначения статуса, когда все аргументы оправдываемы. Очевидно, последний вариант наиболее желателен, но, не прибегая к помощи определений с фиксированной точкой, по-видимому, нельзя получить один лишь этот результат.
Оценивая подход “назначения уникального статуса”, мы видим, что он может быть аккуратно формализован, если используются определения с фиксированной точкой, тогда как, возможно, более понятный способ введения рекурсивных определений сталкивается с некоторыми проблемами. Но и применяя подход с определениями с фиксированной точкой, можно столкнуться с рядом проблем: с существованием плавающих аргументов и плавающих заключений.
Пример 4.10. Рассмотрим аргументы А, В, C и D: A поражает В, В поражает А, А поражает С, С поражает D. Так как ни один из аргументов не защищен от поражения, по определению 4.4 находим, что все они оправдываемы. Но для аргументов С и D можно получить и другое решение: так как аргумент С поражается и аргументом А, и аргументом В, то аргумент С должен быть аннулирован: постольку, поскольку статус аргумента С принят, отпадает необходимость разрешать конфликт между аргументами А и В. В результате статус аргумента С “плавает” в зависимости от статуса аргументов А и В: и если аргумент С должен быть аннулирован, то аргумент D должен быть подтвержден, так как аргумент С – единственный аргумент, поражающий аргумент D.
Пример 4.11. Предположим, что у аргументов существуют заключения. Рассмотрим аргументы А-, А, В-, В: А-и В-поражают друг друга, А и В имеют одно и то же заключение. Возможна, например, следующая интерпретация:
А-= “Брайт – голландец, так как он родился в Голландии”;
B-= “Брайт – норвежец, так как его родители - норвежцы”;
A = “Брайт любит кататься на коньках, так как он - голландец”;
B = “ Брайт любит кататься на коньках, так как он - норвежец ”.
Как бы ни был разрешен конфликт между аргументами А-и В-, всегда спор завершается с аргументом, заключающим, что Брайт любит кататься на коньках. Т.е. нам необходимо принять это заключение как истинное, хотя оно и не поддерживается подтвержденным аргументом. Другими словами, статус этого заключения “плавает” в зависимости от статуса А-и В-.
Решить подобные проблемы позволяет подход с назначением множественного статуса для аргументов.