Исследование и разработка механизма пересматриваемых рассуждений для систем поддержки принятия решений
- Главная
- Разное
- Исследование и разработка механизма пересматриваемых рассуждений для систем поддержки принятия решений
Содержание
- 2. Цели и задачи Целью данной дипломной работы является исследование и разработка механизма пересматриваемых рассуждений для систем
- 3. Обоснование актуальности задачи Задачи, стоящие перед реальными системами поддержки принятия решений, предполагают организацию правдоподобного вывода на
- 4. Теория аргументационных систем
- 5. Виды противоречий В системе рассматривается 2 типа противоречий. Опровержение возникает, когда система принимает противоречащие заключения: P
- 6. Механизм вывода на основе прецедентов.
- 7. Алгоритм вывода на основе прецедентов procedure Debate Входные параметры: факт q – выбранный пользователем факт, о
- 8. Алгоритм пересматриваемого вывода procedure Reasoning Входные параметры: q – интересующий факт, о возможности принять который необходимо
- 9. Алгоритм процедуры поражения procedure Defeat Входные параметры: нет. Выходные параметры: процедура меняет статусы аргументов в базе.
- 10. Программная реализация Данный программный комплекс реализован в виде двух отдельных модулей (базы данных и приложения, работающего
- 11. Разработка базы данных База данных приложения состоит из 9 таблиц, четыре из них доступны для редактирования
- 12. Разработка программы Программа написана на языке программирования C# с помощью среды разработчика MS Visual Studio 2010.
- 13. Пример 1 Ромб Никсона. Интересующий нас факт – является ли Никсон пацифистом? Известно, что Никсон –
- 14. Пример 2 Имеем следующую ситуацию: Шумные автомобильные автомобильные двигатели обычно имеют высокие обороты. Двигатели с высокими
- 15. Пример 3 Пусть в системе имеются следующие факты: a, ~b, d, ~e, h, I. А также
- 16. Заключение В результате выполнения работы было сделано следующее. Был проанализирован механизм пересматриваемых рассуждений. Разработаны и исследованы
- 18. Скачать презентацию
Слайд 2Цели и задачи
Целью данной дипломной работы является исследование и разработка механизма пересматриваемых
Цели и задачи
Целью данной дипломной работы является исследование и разработка механизма пересматриваемых
Исследование теории пересматриваемой аргументации, на базе которой будет построен механизм пересматриваемых рассуждений.
Исследование и разработка алгоритма пересматриваемого вывода.
Интеграция алгоритма вывода на основе прецедентов.
Разработка программного комплекса.
Тестирование разработанной программы.
Слайд 3Обоснование актуальности задачи
Задачи, стоящие перед реальными системами поддержки принятия решений, предполагают организацию
Обоснование актуальности задачи
Задачи, стоящие перед реальными системами поддержки принятия решений, предполагают организацию
Механизм пересматриваемых рассуждений показал себя как мощный инструмент для реализации правдоподобного вывода и решает гораздо более широкий класс задач. Пересматриваемый вывод не является монотонным. Поэтому один довод не является подтверждением истинности предположения. А вот превосходство количество доводов «за» над доводами «против» позволяет судить об истинности предположения.
Слайд 4Теория аргументационных систем
Теория аргументационных систем
Слайд 5Виды противоречий
В системе рассматривается 2 типа противоречий.
Опровержение возникает, когда система принимает противоречащие
Виды противоречий
В системе рассматривается 2 типа противоречий.
Опровержение возникает, когда система принимает противоречащие
Подрывающий довод оспаривает связь между посылками и заключениями. Если имеется довод, подрывающий связь P и Q, то он является причиной утверждать, что, если система поддерживает P, она не обязана поддерживать так же и Q.
Необходимо отметить, что данные противоречия не возможны в классическом монотонном выводе.
Слайд 6Механизм вывода на основе прецедентов.
Механизм вывода на основе прецедентов.
Слайд 7Алгоритм вывода на основе прецедентов
procedure Debate
Входные параметры:
факт q – выбранный пользователем
Алгоритм вывода на основе прецедентов
procedure Debate
Входные параметры:
факт q – выбранный пользователем
ПОРОГ_ДОСТОВЕРНОСТИ – вещественное число, принимающее значение от 0 до 1, задается пользователем в программе.
Выходные параметры: выдается сообщение о возможности принять решение.
Переменные в процедуре: ДОВОДЫ_ЗА и ДОВОДЫ_ПРОТИВ – целые числа.
Шаг 1. ДОВОДЫ_ЗА = 0.
Шаг 2. ДОВОДЫ_ПРОТИВ = 0.
Цикл, условие останова – в базе нет непроверенных прецедентов.
Шаг 3. Извлечь прецедент p из базы.
Шаг 4. Если решение p = q, то:
если ДОСТОВЕРНОСТЬ p > ПОРОГ_ДОСТОВЕРНОСТИ, то увеличить ДОВОДЫ_ЗА на единицу.
Шаг 5. Если решение p = ~q, то:
если достоверность p > ПОРОГ_ДОСТОВЕРНОСТИ, то увеличить ДОВОДЫ_ПРОТИВ на единицу.
Конец цикла.
Шаг 6. Если ДОВОДЫ_ЗА > ДОВОДЫ_ПРОТИВ, то выводится сообщение о том, что решение рекомендуется, иначе оно не рекомендуется.
Конец процедуры.
Procedure ДОСТОВЕРНОСТЬ p вычисляется по формуле (1).
Слайд 8Алгоритм пересматриваемого вывода
procedure Reasoning
Входные параметры: q – интересующий факт, о возможности принять
Алгоритм пересматриваемого вывода
procedure Reasoning
Входные параметры: q – интересующий факт, о возможности принять
Шаг 1. Если q присутствует в базе фактов, то он уже принят и конец процедуры, иначе Шаг 2. Шаг 2.Если ~q присутствует в системе, то он не может быть принят и конец процедуры, иначе Шаг 3.
Цикл, условие останова – в базе нет непроверенных правил.
Шаг 3. Извлечь правило p из базы
Шаг 4. Если заключение r = q или r = ~q, то Шаг 5.
Шаг 5. В цикле перебираются посылки правила p.
Шаг 6.Если посылка r присутствует в базе фактов, то ФЛАГ = ИСТИНА, иначе Шаг 7.
Шаг 7. Если ~r присутствует в базе фактов, то ФЛАГ = ЛОЖЬ, иначе Шаг 8.
Шаг 8. Reasoning r. Шаг 9. Если r = ~q, то ФЛАГ = ~ФЛАГ. Шаг 10. Если ФЛАГ = ИСТИНА, то r записывается в базу со статусом “не поражен”.
Конец цикла.
Шаг 11. Defeat.
Шаг 12. Если q имеет статус “строгие”, то p принимается системой и конец процедуры, иначе Шаг 12
Шаг 13. Если ~q имеет статус “строгие”, то q не принимается системой и конец процедуры, иначе Шаг 13.
Шаг 14. Если КОЛИЧЕСТВО_ФАКТОВ q, имеющих статус “не поражен” > КОЛИЧЕСТВО_ФАКТОВ ~q, имеющих статус “поражен”, то p принимается системой, иначе p отвергается системой.
Конец процедуры.
КОЛИЧЕСТВО_ФАКТОВ вычисляется в таблице с помощью агрегатной функции COUNT(*)
Слайд 9Алгоритм процедуры поражения
procedure Defeat
Входные параметры: нет.
Выходные параметры: процедура меняет статусы аргументов в
Алгоритм процедуры поражения
procedure Defeat
Входные параметры: нет.
Выходные параметры: процедура меняет статусы аргументов в
Цикл по всем фактам, принятым во время вывода.
Шаг 1. Построить множество фактов, поражающих p и имеющих статус “не поражен”.
Шаг 2. Проверить наличие самопоражения в базисе p, если таковое имеет место, то присвоить факту статус “поражен”.
Шаг 3. Проверить множество поражающих p фактов на множественное поражение. Если такое имеется, то присвоить временные статусы “пораженный” всем фактам.
Шаг 4. Иначе, если множество фактов, поражающих p не пусто, то присвоить p статус “поражен”, всем фактам, выводящимся по правилам, где p – посылка приcвоить статус “поражен”.
Шаг 5. Если p имеет статус “не поражен” , правило его вывода – строгое, и все посылки этого правила находятся в начальной базе фактов или имеют статус “строгий”, то присвоить p статус “строгий”.
Конец цикла. Выход из процедуры.
Слайд 10Программная реализация
Данный программный комплекс реализован в виде двух отдельных модулей (базы данных
Программная реализация
Данный программный комплекс реализован в виде двух отдельных модулей (базы данных
На компьютере, где располагается база данных должна быть установлена копия MS SQL Server, и база данных должна быть подключена к нему. Компьютер, на котором запущен экземпляр программы должен работать под управлением операционной системы Windows XP или её более поздних версий. Все необходимые файлы библиотек находятся в папке приложения.
Рис. Пример организации работы приложения
Слайд 11Разработка базы данных
База данных приложения состоит из 9 таблиц, четыре из них
Разработка базы данных
База данных приложения состоит из 9 таблиц, четыре из них
Рис. Модель базы данных приложения, созданная
с помощью CASE-средства ERWin DATA Modeler
Слайд 12Разработка программы
Программа написана на языке программирования C# с помощью среды разработчика MS
Разработка программы
Программа написана на языке программирования C# с помощью среды разработчика MS
В программе реализована возможность поиска сервера баз данных на локальной машине или в локальной сети, а так же выбора базы данных для подключения. Подключение к базе данных реализовано с помощью средств SMO.
Рис. Окно подключения к базе данных
Слайд 13Пример 1
Ромб Никсона.
Интересующий нас факт – является ли Никсон пацифистом? Известно, что
Пример 1
Ромб Никсона.
Интересующий нас факт – является ли Никсон пацифистом? Известно, что
Факты: QUAKER REPUBLICAN Правила: PACIFIST <= QUAKER ~PACIFIST <= REPUBLICAN
Рис. Работа программы на примере 1
Система заключила, что не может принять факт, что Никсон – пацифист. Но система также не подтвердит факт того, что Никсон не пацифист. В силу того, что имеется явный конфликт, и нет никакой дополнительной информации, система не может поддержать ни одно из решений.
Слайд 14Пример 2
Имеем следующую ситуацию:
Шумные автомобильные автомобильные двигатели обычно имеют высокие обороты.
Двигатели с
Пример 2
Имеем следующую ситуацию:
Шумные автомобильные автомобильные двигатели обычно имеют высокие обороты.
Двигатели с
Факты:
NOISY_CAR
BIG_WHEELS
Правила:
HIGH_SPEED_ENGINE <= NOISY_CAR
~BIG_ENGINE <= HIGH_SPEED_ENGINE
BIG_ENGINE <= NOISY_CAR
STABILITY <= BIG_WHEELS
REFINEMENT <= STABILITY
~REFINEMENT <= BIG_WHEELS
POWERFUL_CAR <- BIG_ENGINE ~REFINEMENT
~POWERFUL_CAR <- ~BIG_ENGINE REFINEMENT
Поражающие доводы:
NOISY_CAR @ (REFINEMENT <= STABILITY)
BIG_WHEEL @ (~BIG_ENGINE <= HIGH_SPEED_ENGINE)
Работа системы:
for POWERFUL_CAR:
POWERFUL_CAR <- BIG_ENGINE ~REFINEMENT
for BIG_ENGINE:
BIG_ENGINE <= NOISY_CAR
for NOISY_CAR:
The fact NOISY_CAR is already in the system
for ~NOISY_CAR:
There is inconsistency with ~NOISY_CAR
for ~BIG_ENGINE:
~BIG_ENGINE <= HIGH_SPEED_ENGINE
for HIGH_SPEED_ENGINE:
HIGH_SPEED_ENGINE <= NOISY_CAR
for NOISY_CAR:
The fact NOISY_CAR is already in the system
for ~NOISY_CAR:
There is inconsistency with ~NOISY_CAR
for ~REFINEMENT:
~REFINEMENT <= BIG_WHEELS
for BIG_WHEELS:
The fact BIG_WHEELS is already in the system
for ~BIG_WHEELS:
There is inconsistency with ~BIG_WHEELS
for REFINEMENT:
REFINEMENT <= STABILITY
for STABILITY:
STABILITY <= BIG_WHEELS
for BIG_WHEELS:
The fact BIG_WHEELS is already in the system
for ~BIG_WHEELS:
There is inconsistency with ~BIG_WHEELS
for ~STABILITY:
System accepts POWERFUL_CAR
В результате система заключила, что машина Роберта мощная.
Слайд 15Пример 3
Пусть в системе имеются следующие факты:
a, ~b, d, ~e, h, I.
А
Пример 3
Пусть в системе имеются следующие факты:
a, ~b, d, ~e, h, I.
А
p -< a, c, d, g ,~k, p -< ~a c f h I j, p -< ~a c e f g h j, ~p -< a ~b d e ~h, ~p -< b ~d e g h I j, ~p -< ~d e f g h j ~k.
Порог достоверности положим равным 0.80.
Требуется заключить о возможности принять решение p.
Рис. Пример работы программы на примере 3
Работа системы:
p -< a, c, d, g ,~k
denied
p -< ~a c f h I j
denied
p -< ~a c e f g h j
denied
~p -< a ~b d e ~h
established
~p -< b ~d e g h I j
established
~p -< ~d e f g h j ~k
established
as a result: DENIED
В результате система заключила, что решение p не рекомендуется принимать.
Слайд 16Заключение
В результате выполнения работы было сделано следующее.
Был проанализирован механизм пересматриваемых рассуждений.
Разработаны и
Заключение
В результате выполнения работы было сделано следующее.
Был проанализирован механизм пересматриваемых рассуждений.
Разработаны и
Разработан программный комплекс, реализующий указанные выше типы вывода в виде двух отдельных модулей.
Корректность работы системы проверена на ряде задач для систем автоматического доказательства теорем.
Учтены возможности для организации многопользовательского доступа к системе в будущем.