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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Немонотонные рассуждения

Информация:

Тип работы: курсовая работа. Добавлен: 11.05.2012. Сдан: 2011. Страниц: 10. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Федеральное агентство по образованию
ГОУВПО  “Удмуртский государственный университет”
факультет информационных технологий и вычислительной техники
кафедра теоретических основ информатики 
 

КУРСОВАЯ  РАБОТА 

на  тему: «Немонотонные рассуждения» 
 
 
 

Выполнил                                                                            
студент   гр. 39-41                                                               Загребина Т. Н. 

Проверил
Профессор, д.ф.-м.н., зав. кафедрой                         Бельтюков А.П. 
 
 
 
 

Ижевск,
2010 г.
Аннотация 

Курсовая  работа по информатике.
Загребина Т.Н., 2010
Тема: Немонотонные рассуждения – И.: Курсовая работа, 2010.
В основной части  настоящей работы предлагается рассмотреть  такой вид рассуждений как  немонотонные. К немонотонным относятся все рассуждения, которые опираются на ограниченный запас знаний, на неполные знания, на веру. В качестве примера был построен алгоритм и реализован программный продукт. Данный продукт был отлажен и протестирован. В основе сделанных выводов, указанных замечаний лежат результаты анализов, полученных в ходе тестирования продукта.
  

 


Содержание 
 

Введение 4
Глава I  
Логика  немонотонных рассуждений 6
Системы немонотонных рассуждений 7
Глава II  
  Содержательная постановка решаемой задачи 14
Описание  метода решения поставленной задачи  
 
15
Описание  алгоритма и структур данных 16
Технические характеристики созданного артефакта 17
Заключение 18
Список  литературы 19
Приложения 20
 
 
  

 


Введение.
Любой вид человеческой деятельности, так  или иначе, связан с рассуждением. В Искусственном интеллекте, этот термин используется в его общечеловеческом смысле, как понятие естественного  языка, нестрогое и неоднозначное.
Классификация рассуждений:
    немонотонные рассуждения (под монотонностью понимается следующее: если некоторое утверждение получено в цепочке вывода, ведущей от исходной системы аксиом, то, что бы ни происходило потом, данное утверждение остаётся выведенным). В реальной жизни такого не бывает – человек не обладает полными, исчерпывающими знаниями об окружающем его мире. Следовательно, он не располагает полной системой аксиом, описывающих закономерности этого мира. Частичные знания порождают и неполную систему правил вывода. А если учесть, что мир динамичен, то утверждения, в данный момент принимаемые как истинные, при получении новых утверждений могут оказаться ложными. К немонотонным относятся все рассуждения, которые опираются на ограниченный запас знаний, на неполные знания, на веру.
    правдоподобные рассуждения (индуктивные, вероятностные или рассуждения о гипотезах).    
    оправдания (очень часто люди не доказывают то или иное положение, не аргументируют его истинность, а оправдывают его той системой внутренних нравственных ценностей и представлений, которой руководствуются в жизни).
    достоверные логические выводы или дедуктивные рассуждения (процесс получения некоторой правильно построенной формулы из системы аксиом путём применения правил вывода).
    Немонотонные  рассуждения решают проблему изменяющейся степени доверия. Система немонотонных рассуждений управляет степенью неопределенности, делая наиболее обоснованные предположения в условиях неопределенной информации.
    Немонотонность является важной особенностью общесмысловых рассуждений и решений задач человеком. В большинстве случаев при планировании мы делаем  многочисленные предположения, которые могут как истинными, так и ложными.
    Таким образом, изучение и формализация различных  схем человеческих умозаключений, используемых в процессе решения разнообразных  задач необходимо для создания эффективных  программ для реализации этих схем в вычислительных машинах.
      

 


    Глава I.
    Логика  немонотонных рассуждений. 

Традиционные  рассуждения, использующие логику предикатов, основываются на трех важных предположениях. Во-первых, выражения теории предикатов должны адекватно описывать соответствующую  предметную область. Во-вторых, информационная база должна быть непротиворечивой, т.е. части знаний не должны противоречить друг другу. И, наконец, с использованием правил вывода количество известной информации увеличивается монотонно. При невыполнении хотя бы одного из этих правил основанный на логике традиционный подход работать не будет.
Немонотонные  системы решают все три вопроса. Во-первых, системы рассуждений часто  сталкиваются с отсутствием знаний о предметной области. В данном случае эти знания важны. Предположим, у  нас нет знаний о предикате  р. Отсутствие знания означает, что  мы не уверены в истинности р или мы уверены, что р не является истинным?  На этот вопрос можно ответить несколькими способами. Система PROLOG использует предположение о замкнутости мира и считает ложью все те утверждения, истинность которых не может доказать. Человек часто выбирает альтернативный подход, допуская истинность утверждения, пока не будет доказано обратное.
Другой подход к проблеме отсутствия знания заключается  в точном определении истины. В  человеческих отношениях применяется  принцип презумпции невиновности. Результат  этих ограничивающих предположений  позволяет эффективно восполнить упущенные  детали нашего знания, продолжить рассуждения  и получить новые заключения, основанные на этих предположениях.
Основа человеческих рассуждений - знание о традиционном ходе вещей в мире. Выводы делаются на основе непротиворечивости рассуждения с предположениями о мире.
Второе предположение, используемое в системах, основанных на традиционной логике, заключается  в том, что знание, на котором строятся рассуждения, непротиворечиво. В задачах  диагностики часто принимается  во внимание множество возможных  объяснений ситуации, предполагается, что некоторые из них истинны, пока не подтверждаются альтернативные предположения.  Желательно, чтобы  логические системы тоже могли принимать  во внимание альтернативные гипотезы.
И, наконец, для  использования логики необходимо решить проблему адаптации базы знаний. При  этом возникают два вопроса. Первый - как добавлять в базу знания, которые основываются только на предположениях, и второй - что необходимо делать, если одно из предположений окажется некорректным. Для решения первого  вопроса можно обеспечить добавление нового знания на основе предположений. Это новое знание априори может  считаться корректным и, в свою очередь, использоваться для вывода нового знания.  

Системы немонотонного рассуждения
Поскольку заключения иногда пересматриваются, немонотонные рассуждения называются аннулируемыми, т.е. новая информация может свести на нет предыдущие результаты. Структуры  представления и процедуры поиска, отслеживающие рассуждения логической системы, называются системами поддержки  истинности, или СПИ. При аннулируемом рассуждении СПИ сохраняют непротиворечивость базы знаний, отслеживая заключения, которые позднее могут быть оспорены. 
При реализации немонотонного рассуждения можно  расширить логику с помощью оператора  unless. Этот оператор поддерживает вывод на основе предположения о ложности аргумента. Допустим, имеется следующее множество выражений из логики предикатов.
р(Х) 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 good_student{X) ^ М study_hard(X) -> graduates(X)
может быть прочитано  следующим образом: для любого X, где X - хороший студент, если факт, что X прилежно учится, не противоречит остальной  информации, то X закончит ВУЗ.
Сначала заметим, что утверждение "не противоречит остальной информации" может оказаться  неразрешимым. Существуют два способа  преодоления неразрешимости. Первый - использование метода доказательства от противного. В нашем примере  можно попробовать доказать выражение  not(study_hard(X)).Этот подход часто используется в PROLOG-подобной реализации логики предикатов.
Второй подход к проблеме непротиворечивости заключается  в выполнении эвристического и ограниченного (по времени или по памяти) поиска истинности предиката (в нашем примере - study_hard{X)). Если поиск не приводит к доказательству ложности предиката, можно предположить, что он истинен.
Используя оператор "не противоречит", можно получить противоречивые результаты. Предположим, Петр является хорошим студентом, но любит вечеринки. Тогда для описания ситуации можно использовать следующее  множество предикатов.
    X good_student(X) ^ М study_hard(X) -> graduates(X)
    Xparty_person (X) ^ М not[study_hard{X)) -> not(graduates(X))
good_student(peter)
party_person(peter),
где party_person - любитель вечеринок. Из этого множества выражений можно вывести как заключение, что он окончит ВУЗ, так и заключение, что он его не окончит.
Одним из методов  рассуждения, позволяющих избежать таких противоречивых результатов, является отслеживание связывания переменных, используемых в модальном операторе "не противоречит". Таким образом, единожды связав значение peter с предикатом study_hard или not(study_hard), система должна предотвратить связывание этого значения с противоположным по смыслу предикатом. Возможна и другая аномалия.
    Y very_smart(Y) ^ М not(study_hard(Y)) -> not(study_hard(Y))
    X not(very_smart(X)) ^ М not(study_hard(X)) -> not(study_hard{X)),
где very_smart - очень умный.
Из этих выражений  можно вывести новое выражение.
    Z М not(study_hard(Z)) -> not(study_hard{Z)).
Последующие исследования семантики оператора "не противоречит" направлены на решение проблем с  такими аномальными рассуждениями. Одним из дальнейших расширений является логика, обеспечивающая автоматическое образование понятий (autoepistemic logic) [Moore, 1985].
Другой немонотонной логической системой является логика умолчания (default logic), созданная Рейтером [Reiter, 1980]. Логика умолчания использует новое множество правил вывода вида
A(Z) ^: B(Z) -> C(Z),
которое читается так: если A(Z) доказуемо и если оно  не противоречит знаниям, позволяющим  предположить B(Z), можно вывести C(Z).
 В логике  умолчания используются специальные  правила вывода правдоподобного  расширения исходного множества  аксиом/теорем. Каждое расширение  создается путем использования  одного из правил вывода логики  умолчания для знаний, представленных  исходным множеством аксиом/теорем. Таким образом, естественно получается  ряд правдоподобных расширений  исходной базы знаний.
Каждое выражение  можно использовать для создания уникального правдоподобного расширения, основанного на исходном множестве  знаний.
Логика умолчания  позволяет использовать в качестве аксиомы для дальнейших рассуждений  любую теорему, выведенную в рамках правдоподобного расширения. Но, чтобы  установить, какое расширение должно использоваться при дальнейшем решении  задачи, необходимо обеспечить управление процессом принятия решений.
Наконец, существует способ немонотонных рассуждений на основе множественного наследования. Упомянутый выше Петр (хороший студент  и любитель вечеринок) мог наследовать  лишь одно из множества свойств. Поскольку  он - хороший студент, то, вероятно, он окончит ВУЗ. Но он может наследовать  и другое свойство (в данном случае частично противоречащее первому) - быть любителем вечеринок. Следовательно, он может и не окончить ВУЗ.
Важной проблемой, с которой сталкиваются системы  немонотонного рассуждения, является эффективная проверка множества  заключений в свете изменяющихся предположений. Например, если для вывода s используется предикат r, то отмена r исключает также s, а равно и любое другое заключение, использующее s. Если отсутствует независимый вывод s, s должно быть исключено из списка корректных утверждений. Реализация этого процесса в худшем случае требует пересчета всех заключений при каждом изменении предположений. Представляемые ниже системы поддержки истинности обеспечивают механизм для поддержки непротиворечивости базы знаний.
Традиционные  рассуждения, использующие логику предикатов, основываются на трех важных предположениях. Во-первых, выражения теории предикатов должны адекватно описывать соответствующую  предметную область. Во-вторых, информационная база должна быть непротиворечивой, т.е. части знаний не должны противоречить друг другу. И, наконец, с использованием правил вывода количество известной информации увеличивается монотонно. При невыполнении хотя бы одного из этих правил основанный на логике традиционный подход работать не будет.
Немонотонные  системы решают все три вопроса. Во-первых, системы рассуждений часто  сталкиваются с отсутствием знаний о предметной области. В данном случае эти знания важны. Предположим, у  нас нет знаний о предикате  р. Отсутствие знания означает, что  мы не уверены в истинности р или мы уверены, что р не является истинным?  На этот вопрос можно ответить несколькими способами. Система PROLOG использует предположение о замкнутости мира и считает ложью все те утверждения, истинность которых не может доказать. Человек часто выбирает альтернативный подход, допуская истинность утверждения, пока не будет доказано обратное.
Другой подход к проблеме отсутствия знания заключается  в точном определении истины. В  человеческих отношениях применяется  принцип презумпции невиновности. Результат  этих ограничивающих предположений  позволяет эффективно восполнить упущенные  детали нашего знания, продолжить рассуждения  и получить новые заключения, основанные на этих предположениях.
Основа человеческих рассуждений - знание о традиционном ходе вещей в мире. Выводы делаются на основе непротиворечивости рассуждения с предположениями о мире.
Второе предположение, используемое в системах, основанных на традиционной логике, заключается  в том, что знание, на котором строятся рассуждения, непротиворечиво. В задачах  диагностики часто принимается  во внимание множество возможных  объяснений ситуации, предполагается, что некоторые из них истинны, пока не подтверждаются альтернативные предположения.  Желательно, чтобы логические системы тоже могли принимать во внимание альтернативные гипотезы.
И, наконец, для  использования логики необходимо решить проблему адаптации базы знаний. При  этом возникают два вопроса. Первый - как добавлять в базу знания, которые основываются только на предположениях, и второй - что необходимо делать, если одно из предположений окажется некорректным. Для решения первого  вопроса можно обеспечить добавление нового знания на основе предположений. Это новое знание априори может  считаться корректным и, в свою очередь, использоваться для вывода нового знания.
 


Глава II
Содержательная  постановка задачи.
Полностью описать мир задач чрезвычайно сложно. Например, знание «птицы летают» — верное, однако встречаются и нелетающие птицы, т. е. это неполное значение. В области искусственного интеллекта изучают задачу «миссионер и туземцы» — это задача о переправе через реку на одной лодке. Но если вдруг нет весел или на дне лодки дыра, задача становится неразрешимой. Подобных причин может быть множество, а раз так, то полностью описать их невозможно. Исходя из здравого смысла, считают, что раз существует лодка, то ею можно пользоваться.
Другой  пример: можно перечислить все  предметы, которые находятся в  комнате, но того, чего в ней нет, перечислить невозможно, поскольку  это бесчисленное множество предметов. Точно так же можно перечислить верные знания (в некоторой проблемной области), но перечислить неверные знания и разумно их определить невозможно. Поэтому удобно в базе знаний определять исключительно верные знания, а все, что не определено, считать заведомо неверным. Утверждения, которые не упомянуты ни как истинные, ни как ложные, принято относить к ложным. Это называют гипотезой закрытого мира.
Эта же гипотеза нередко применяется для  неопределенных знаний (разновидности  неполных знаний). Если допустить, что  в базу знаний добавлено такое  знание: «как правило, птицы летают (за некоторым исключением)», то обнаружится свойство не­монотонных выводов. А именно, при добавлении новой аксиомы иногда возможно отрицание вывода, который считался верным в некоторой системе аксиом (базе знаний).
Введем  обозначение М, а Мр будет означать, что «логическая формула р непротиворечива (по отноше­нию к другим знаниям)» (другими словами, « Мр истинно, если из других знаний не получается вывод р »). При этом знание «как правило, птицы летают (за некоторым исключением)» можно представить в виде следующей логической формулы.
( х) птица (х) /\ М летает (х) E летает (х).
{смысл:  х — птица, х летает, если летать не противоречит (другим знаниям)}
Теперь  рассмотрим систему аксиом, состоящую  из следующих знаний:
( х) птица (х) /\ М летает (х) E летает (х).
( x ) пингвин (х) E летает (х).
птица (Пикколо).
Из этой системы аксиом можно сделать вывод «летает (Пикколо)», то есть Пикколо (кличка пингвина) летает. Однако, в последствии получена более по­дробная информация, выяснилось, что Пикколо это пингвин. И в систему аксиом внесено добавление Пингвин (Пикколо). Теперь вывод, полученный ранее «летает (Пикколо)», отрицается и делается новый вывод «летает (Пикколо)». Это пример немонотонности выводов. Как средство формальной обработки неполных знаний, при которой необходимы немонотонные выводы, предложены и активно исследуются методы немонотонной логики.
В практической части настоящей работы необходимо реализовать модель, которая могла  бы продемонстрировать методы немонотонной логики. 

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

Описание  алгоритма и структур данных.
В данной главе  будет описан алгоритм разрабатываемого программного продукта.
Для осуществления  диалога между программой и пользователем  мы создаем оконное приложение, где  пользователем будет вводится система аксиом. 
В форме существуют  три поля для ввода начальной  информации:
    поле «основное правило». Здесь вводится утверждение, которое работает для всех анализируемых объектов,  кроме некоторых исключений
    поле «уточнения». В данном поле пользователь вводит систему аксиом, которые дополняют основное правило новыми фактами. Из этих правил программа может построить немонотонный вывод.
    поле «объект». Здесь пользователь вводит объект, который он хочет проанализировать относительно системы аксиом.
Еще одним полем  в форме является «результат». В  данном поле программа выводит результат  своего анализа.
Для работы программы так же необходимо вводить правила в установленном порядке. Ключевые слова правил заключаются в угловые скобки.
Пример:
Основное  правило: любая <птица> <летает>
Уточнения: !<канарейка> <птица>
Алгоритм  программы выглядит следующим образом:
    получение входных данных;
    нахождение анализируемого объекта в ключевых словах в уточнениях;
    если объект в каком-либо уточнении найден, берем второе ключевое слово из этого уточнения;
      поиск ключевых слов по цепочке в уточнениях;
      сравнение последнего найденного по цепочке ключевого слова (1) с ключевыми словами из основного правила;
      если находим совпадение ключевых слов, то выводим ключевое слово из основного правила в качестве результата
      если совпадения ключевых слов нет, то выводим ключевое слово (1) в качестве результата
    если объект в уточнениях не найден, берем второе ключевое слово из основного правила и выводим его в качестве результата. 
     

    Технические характеристики созданного артефакта.
Программный продукт  написан на языке C#, который поддерживается в среде .Net, что позволяет использовать его в операционной системе Windows.
Размер созданного продукта составляет 150 Кб на диске.
 


Заключение
В настоящей  курсовой работе предлагалось ознакомиться с логикой немонотонных рассуждений. Были рассмотрены основные системы  немонотонного рассуждения такие, как не­монотонная логика Макдермотта и Доула (в которой вводятся условные логические операции), логика умолчания Рейтера, способ немонотонных рассуждений на основе множественного наследования.
В практической части работы была реализована модель, демонстрирующая методы немонотонного  рассуждения. Получившийся  программный  продукт был протестирован и  отлажен. 

 


Список  литературы 

1. Люгер Д.Ф. "Искусственный интеллект: стратегии и методы решения сложных проблем", 4-е издание, 2005 г.
2. dmtsoft.ru/bn/155/as/oneaticleshablon/ - Немонотонная логика: определение, основные свойства, достоинства и недостатки.
3. webcache.googleusercontent.com/ - Моделирование рассуждений 

 


Приложения.
Приложение 1.
Листинг программы
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms; 

namespace Expert
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Expert());
        }
    }
}
Form1.Designer.cs
namespace Expert
{
    partial class Expert
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null; 

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.