Автор: Пользователь скрыл имя, 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
Список использованных источников
1.7.2. Система пользовательского интерфейса
Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций:
1. Обработка данных, полученных с клавиатуры, и высвечивание вводимых и выводимых данных на экране.
2. Поддержка диалога между
3. Распознавание ситуации
4. Обеспечение "дружественности" по отношению к пользователю.
Система интерфейса с пользователем должна эффективно обрабатывать ввод и вывод. Для этого необходимо обрабатывать вводимые и выводимые данные быстро, в ясной и выразительной форме. Необходимо также включить возможность работы с дополнительными средствами такими, как печатающие устройства, магнитные диски и дополнительные файлы данных.
Кроме того, система интерфейса
должна поддерживать
Способность экспертной
Наконец, система
Пользователь также должен иметь возможность взаимодействовать с экспертной системой естественным образом. В идеале пользователь должен иметь возможность использовать естественный язык
1.7.3. Экспертная система на правилах
Во всех экспертных системах существует зависимость между входным потоком данных и данными в базе знаний. Во время консультации входные данные сопоставляются с данными в базе знаний. Результатом сопоставления является отрицательный или ут вердительный ответ. В системе, базирующейся на правилах утвердительный результат является действием одного из продукционных правил. Эти продукционные правила определяются входными данными.
Таким образом, экспертная
Работу этого интерпретатора можно описать последовательностью трех шагов:
1. Интерпретатор сопоставляет
2. Если можно вызвать более
одного правила,то
3. Интерпретатор применяет
Этот трехшаговый процесс
В системе, базирующейся на правилах, количество продукционных правил определяет размер базы знаний. Некоторые наиболее сложные системы имеют базы знаний с более чем 5000 продукционных правил.
1. Использовать минимально
2. Избегать противоречащих продукционных правил.
3. Конструировать правила,
1.7.4. Экспертные системы, базирующиеся на логике
В экспертных системах, базирующихся на логике, база знаний состоит из утверждений в виде предложений логики предикатов.
Такие
предложения могут
Так же как и в системе на правилах экспертная система, базирующаяся на логике, имеет множество правил, которые могут вызываться с помощью данных из входного потока. Система имеет также интерпретатор, который может выбирать и активизировать модули, включаемые в работу системы.
Интерпретатор выполняет различные функции внутри системы на основе следующей схемы:
1. Система имеет предложения в базе знаний, которые управляют поиском и сопоставлением. Интерпретатор сопоставляет эти предложения с элементами данных в базе данных.
2. Если может быть вызвано более одного правила , то система использует возможности Турбо-Пролога для разрешения конфликта. Следовательно пользователю/программисту не нужно рассматривать потенциально возможные конфликты.
3.
Система получает результаты
унификационного процесса
Так
же как и в системе, базирующейся
на правилах, данный циклический процесс
является процессом распознавание-
Большие возможности системы, основанной на логике, заключаются в том, что она отражает структуру самого Турбо-Пролога. Этим объясняется тот факт, что она очень эффективна в работе.
Наиболее
важным аспектом для базы знаний в
системе, осно ванной на логике, является
проектирование базы знаний, ее утверждений
и их структуры. База знаний должна иметь
недвусмысленную логическую организацию,
и она должна содержать минимум избыточной
информации. Так же как и в системе, базирующейся
на правилах, минимально достаточное количество
данных образуют наиболее эффективную
систему.
2. АНАЛОГИЯ В ЗАДАЧАХ
ПРИНЯТИЯ РЕШЕНИЙ
Основываясь
на результатах работ [7], [8],
рассмотрим подходы применения аналогии
для решения логических задач. Для начала
приведем анализ исследований в данном
направлении, изложенный в [7], [8].
2.1.
Исследования в
области формализации
понятия «аналогия»
1.
Из системы аналогий для
и имеют грамматически одинаковые структуры;
существует образ , который сохраняет словарные значения в обозначениях и (обозначениях предикатов, функций, переменных).
Работа системы Клинга начинается с получения , который расширяется до образа для используемых аксиом, затем с помощью доказательство по правилам вывода преобразуется в доказательство . Однако большинство примеров успешного применения этой системы было связано с и , которые были почти идентичными, система оказалась недостаточно аргументированной и унифицированной, что нельзя сказать об используемых понятиях и методах.
2. Танвансон применял аналогию для задач программирования роботов. Аналогия проводилась за счет преобразования и использования законченных программ на основе подобия команд, задаваемых роботу. Причем для более эффективной аналогии непосредственное подобие команд не учитывалось. Вместо этого в базе данных сохранялись группы команд из уже составленных программ, преобразованных методом абстрагирования в форму абстрактных команд и программ. Танвансон определял подобие благодаря смысловому сопоставлению текущих команд и абстрактных команд в базе данных. Преимущество определения подобия через абстрагирование состоит в том, что можно организовать доступ в базу данных для выбора подобных команд. Как известно, метод абстрагирования эффективен и для традиционного программирования без использования подобия, но в случае аналогии он также полезен. Система Танвансона, используя соответствие между текущими командами и абстрактными командами, найденными благодаря смысловому сопоставлению, преобразует абстрактную программу в незавершенную программу для текущего набора команд, и этот процесс повторяется до полного завершения программы. Таким образом, эта система программирования совсем не использует традиционные способы составления программ, а извлекает подобные команды путем смыслового сопоставления и использует аналогию в том смысле, что абстрактные программы преобразуются с помощью им подобных. Однако в большинстве случаев более важным представляется решение задач путем органичного сочетания существующих методов решения с аналогией. Например, Карбонел [8] в качестве специальных операторов обобщенного решателя задач рассматривал так называемые операторы, основанные на подобии, и утверждал, что возможно органичное применение аналогии и существующих операторов.
3.
Область доказательства теорем
одновременно с Клингом
В случае решения задач по этой стратегии можно упростить процесс поиска подобных задач, рассмотренный Танвансоном [7]. Вместо проблемы поиска возникает новая проблема: до какого уровня абстрагировать решение исходной задачи? Плейстид математически определил абстрагирование логических формул и дал одно из решений этой проблемы. Продемонстрируем на простом примере основную идею его решения.
Пусть — ограниченное множество высказываний, а — высказывание; будем записывать |— , если из по правилам вывода можно вывести . Давайте определим вывод |— с помощью стратегии абстрагирования.
Например, рассмотрим
Для
абстрагирования высказываний используем
пропозициональное
Рис
2.1. Стратегия абстрагирования
В
логике высказываний это есть множество
высказываний и высказывание. Очевидно,
что вывод
|—
сделать легче, чем вывод
|—
. Вывод
|—
приведен на рис. 2.2.