Автор работы: Пользователь скрыл имя, 25 Мая 2011 в 02:12, курсовая работа
В основной части настоящей работы предлагается рассмотреть такой вид рассуждений как немонотонные. К немонотонным относятся все рассуждения, которые опираются на ограниченный запас знаний, на неполные знания, на веру. В качестве примера был построен алгоритм и реализован программный продукт. Данный продукт был отлажен и протестирован. В основе сделанных выводов, указанных замечаний лежат результаты анализов, полученных в ходе тестирования продукта.
Введение 4
Глава I
Логика немонотонных рассуждений 6
Системы немонотонных рассуждений 7
Глава II
Содержательная постановка решаемой задачи 14
Описание метода решения поставленной задачи
15
Описание алгоритма и структур данных 16
Технические характеристики созданного артефакта 17
Заключение 18
Список литературы
Приложение
Федеральное агентство по образованию
ГОУВПО
“Удмуртский государственный
факультет информационных технологий и вычислительной техники
кафедра
теоретических основ
КУРСОВАЯ
РАБОТА
на
тему: «Немонотонные рассуждения»
Выполнил
студент
гр. 39-41
Проверил
Профессор,
д.ф.-м.н., зав. кафедрой
Ижевск,
2010 г.
Аннотация
Курсовая работа по информатике.
Загребина Т.Н., 2010
Тема: Немонотонные рассуждения – И.: Курсовая работа, 2010.
В основной части настоящей работы предлагается рассмотреть такой вид рассуждений как немонотонные. К немонотонным относятся все рассуждения, которые опираются на ограниченный запас знаний, на неполные знания, на веру. В качестве примера был построен алгоритм и реализован программный продукт. Данный продукт был отлажен и протестирован. В основе сделанных выводов, указанных замечаний лежат результаты анализов, полученных в ходе тестирования продукта.
Содержание
Введение | 4 | ||
Глава I | |||
Логика немонотонных рассуждений | 6 | ||
Системы немонотонных рассуждений | 7 | ||
Глава II | |||
Содержательная постановка решаемой задачи | 14 | ||
|
15 | ||
Описание алгоритма и структур данных | 16 | ||
Технические характеристики созданного артефакта | 17 | ||
Заключение | 18 | ||
Список литературы | 19 | ||
Приложения | 20 |
Введение.
Любой вид человеческой деятельности, так или иначе, связан с рассуждением. В Искусственном интеллекте, этот термин используется в его общечеловеческом смысле, как понятие естественного языка, нестрогое и неоднозначное.
Классификация рассуждений:
Немонотонные рассуждения решают проблему изменяющейся степени доверия. Система немонотонных рассуждений управляет степенью неопределенности, делая наиболее обоснованные предположения в условиях неопределенной информации.
Немонотонность является важной особенностью общесмысловых рассуждений и решений задач человеком. В большинстве случаев при планировании мы делаем многочисленные предположения, которые могут как истинными, так и ложными.
Таким образом, изучение и формализация различных схем человеческих умозаключений, используемых в процессе решения разнообразных задач необходимо для создания эффективных программ для реализации этих схем в вычислительных машинах.
Глава I.
Логика
немонотонных рассуждений.
Традиционные
рассуждения, использующие логику предикатов,
основываются на трех важных предположениях.
Во-первых, выражения теории предикатов
должны адекватно описывать
Немонотонные системы решают все три вопроса. Во-первых, системы рассуждений часто сталкиваются с отсутствием знаний о предметной области. В данном случае эти знания важны. Предположим, у нас нет знаний о предикате р. Отсутствие знания означает, что мы не уверены в истинности р или мы уверены, что р не является истинным? На этот вопрос можно ответить несколькими способами. Система PROLOG использует предположение о замкнутости мира и считает ложью все те утверждения, истинность которых не может доказать. Человек часто выбирает альтернативный подход, допуская истинность утверждения, пока не будет доказано обратное.
Другой подход к проблеме отсутствия знания заключается в точном определении истины. В человеческих отношениях применяется принцип презумпции невиновности. Результат этих ограничивающих предположений позволяет эффективно восполнить упущенные детали нашего знания, продолжить рассуждения и получить новые заключения, основанные на этих предположениях.
Основа человеческих рассуждений - знание о традиционном ходе вещей в мире. Выводы делаются на основе непротиворечивости рассуждения с предположениями о мире.
Второе предположение, используемое в системах, основанных на традиционной логике, заключается в том, что знание, на котором строятся рассуждения, непротиворечиво. В задачах диагностики часто принимается во внимание множество возможных объяснений ситуации, предполагается, что некоторые из них истинны, пока не подтверждаются альтернативные предположения. Желательно, чтобы логические системы тоже могли принимать во внимание альтернативные гипотезы.
И, наконец, для
использования логики необходимо решить
проблему адаптации базы знаний. При
этом возникают два вопроса. Первый
- как добавлять в базу знания,
которые основываются только на предположениях,
и второй - что необходимо делать,
если одно из предположений окажется
некорректным. Для решения первого
вопроса можно обеспечить добавление
нового знания на основе предположений.
Это новое знание априори может
считаться корректным и, в свою очередь,
использоваться для вывода нового знания.
Системы немонотонного рассуждения
Поскольку заключения
иногда пересматриваются, немонотонные
рассуждения называются аннулируемыми,
т.е. новая информация может свести
на нет предыдущие результаты. Структуры
представления и процедуры
При реализации
немонотонного рассуждения
р(Х) unless q(X) -> r(X),
P(Z),
r(W) -> s(W).
Первое правило означает, что r(Х) можно вывести, если истинно р(Х), и мы не верим, что истинно q(X). Если эти условия выполняются, мы выводим г(Х), а используя г(Х), можем вывести s(X). Впоследствии, если обнаружится, что q(X) истинно, г(Х) и s(X) должны быть отменены. Заметим, что оператор unless связан скорее с понятием веры, чем истинности. Расширяя логику за счет рассуждений на основе предположений, которые позже могут быть отменены, мы вводим в механизм рассуждений элемент немонотонности.
Описанная выше схема рассуждений может быть использована также для описания правил умолчания [Reiter, 1980]. Замена р(Х) unless q(X) -> г(Х) на р(Х) unless ab р(Х) -> r{X), где ab p(X) - это abnormal p(X), означает, что при отсутствии аномалии, такой как птица с перебитым крылом, можно сделать вывод, что если X - птица, то X может летать.
Другой модальный оператор для расширения логических систем рассматривается в [McDermott и Doyle, 1980]. Авторы усиливают логику предикатов первого порядка модальным оператором М, который помещается перед предикатом и читается как "не противоречит". Введем следующие предикаты: good_student - быть хорошим студентом, study_hard - прилежно учиться, graduates - окончить ВУЗ. Тогда предложение
может быть прочитано следующим образом: для любого X, где X - хороший студент, если факт, что X прилежно учится, не противоречит остальной информации, то X закончит ВУЗ.
Сначала заметим, что утверждение "не противоречит остальной информации" может оказаться неразрешимым. Существуют два способа преодоления неразрешимости. Первый - использование метода доказательства от противного. В нашем примере можно попробовать доказать выражение not(study_hard(X)).Этот подход часто используется в PROLOG-подобной реализации логики предикатов.
Второй подход к проблеме непротиворечивости заключается в выполнении эвристического и ограниченного (по времени или по памяти) поиска истинности предиката (в нашем примере - study_hard{X)). Если поиск не приводит к доказательству ложности предиката, можно предположить, что он истинен.
Используя оператор "не противоречит", можно получить противоречивые результаты. Предположим, Петр является хорошим студентом, но любит вечеринки. Тогда для описания ситуации можно использовать следующее множество предикатов.
good_student(peter)
party_person(peter),
где party_person - любитель вечеринок. Из этого множества выражений можно вывести как заключение, что он окончит ВУЗ, так и заключение, что он его не окончит.
Одним из методов рассуждения, позволяющих избежать таких противоречивых результатов, является отслеживание связывания переменных, используемых в модальном операторе "не противоречит". Таким образом, единожды связав значение peter с предикатом study_hard или not(study_hard), система должна предотвратить связывание этого значения с противоположным по смыслу предикатом. Возможна и другая аномалия.
где very_smart - очень умный.
Из этих выражений можно вывести новое выражение.
Последующие исследования семантики оператора "не противоречит" направлены на решение проблем с такими аномальными рассуждениями. Одним из дальнейших расширений является логика, обеспечивающая автоматическое образование понятий (autoepistemic logic) [Moore, 1985].
Другой немонотонной логической системой является логика умолчания (default logic), созданная Рейтером [Reiter, 1980]. Логика умолчания использует новое множество правил вывода вида
A(Z) ^: B(Z) -> C(Z),
которое читается так: если A(Z) доказуемо и если оно не противоречит знаниям, позволяющим предположить B(Z), можно вывести C(Z).
В логике
умолчания используются