Автор: Пользователь скрыл имя, 21 Августа 2011 в 14:30, дипломная работа
Цель работы: изучить различные виды вывода, применяемые в интеллектуальных системах; исследовать подходы к принятию решений на основе аналогии; разработать ПО, позволяющее делать выводы на основе аналогии.
Рассуждение на основе аналогий определяется как метод вывода, который позволяет обнаружить подобие между несколькими заданными объектами и, благодаря переносу фактов и знаний, справедливых для одних объектов, на основе этого подобия на другие объекты, определить способ решения задачи или предсказать неизвестные факты и знания.
Введение 3
I. Общие понятия и определения 5
1.1. Аналогия и ее значимость 5
1.2. Виды умозаключений и сравнение их с аналогией 8
1.3. Аналогия и человек 12
1.4. Виды аналогий 13
1.5. Степень достоверности выводов по аналогии 14
1.6. Обзор результатов в области исследований по аналогии, как способа принятия решений в ИС 15
1.7. Понятие логической экспертной системы
1.7.1
1.7.2
1.7.3.
1.7.4.
II. Аналогия при решении задач 19
2.1. Исследования в области формализации понятия аналогии 19
2.2. Теория аналогии 26
2.2.1. Формализация аналогии 26
2.2.2. Аналогия и дедукция 31
2.2.3. Логика первого порядка для аналогии 33
2.3. Реализация механизма аналогии 36
2.3.1. Реализация механизма аналогии 37
2.3.2. Реализация системы аналогии 38
III. Программная реализация вывода по аналогии 45
3.1. Создание базы знаний 45
3.2. Механизм логического вывода 46
3.3. Обновление базы данных 48
3.4. Интерфейс пользователя 50
Заключение 56
Список использованных источников
svoystvo_is(H,'1'),!. /* в базе имеется информация
о наличии свойства */
proverka_svoystvo(H):–
svoystvo_is(H,'2'),!,
fail. /* в базе имеется информация об отсутствии свойства */
proverka_svoystvo(H):– /* в базе нет никакой информации о данном свойстве, получаем ее у человека */
svoystvo(H,S),
nl,write("Оно ",S,"? (1 — да, 2 — нет)"),
proverka_klav(A),
dobavlaem_v_bazu(svoystvo_is(
proverka_svoystvo(H).
proverka_klav(C):–
readchar(C1),
proverka(C1,C).
proverka(C,C):–
'1'<=C,C<='2',!.
proverka(_,C):–
write("Нажмите 1 или 2!"),nl,
readchar(C1),
proverka(C1,C).
GOAL
start
Заключение
Выводы в умозаключениях по аналогии всегда бывают только вероятны, но это вероятное знание, предположение несет в себе нечто новое. Сама по себе аналогия не дает ответа на вопрос о правильности предположения, эта правильность должна проверяться другими средствами. Аналогия важна уже тем, что она наводит нас на догадки, подает мысль о том или ином предположении.
Результатом
работы явилась реализованная