Рекурсия; динамические базы данных
Выбери формат для чтения
Загружаем конспект в формате docx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Реферат
Лекция №2. Рекурсия. Динамические базы данных. Экспертные системы.
Выполнил:
Проверил:
Содержание
Содержание 2
Рекурсивный механизм обработки данных 3
Динамические базы данных 3
Способы представление знаний 4
Фреймовые экспертные системы 5
Продукционные экспертные системы 6
Интерфейс экспертной системы 7
Список источников 7
Рекурсивный механизм обработки данных
Рекурсия позволяет использовать в процессе определения предиката его самого.
Допустим, что в базе знаний есть набор фактов, описывающий родственные связи людей через отношение «быть родителем». Предикат родитель имеет два аргумента. В качестве его первого аргумента указывается имя родителя, в качестве второго — имя ребенка. Мы хотим создать отношение «быть предком», используя предикат родитель. Для того чтобы один человек был предком другого человека, нужно, чтобы он либо был его родителем, либо являлся родителем другого его предка.
В общем виде правило, реализующее шаг рекурсии, будет выглядеть так:
<имя определяемого предиката>:-
[<подцели>],
[<условие выхода из рекурсии>],
[<подцели>],
<имя определяемого предиката>,
[<подцели>].
В простых случаях рекурсивная процедура имеет один базис и один шаг рекурсии, а в сложных ситуациях их может быть несколько.
Рекурсия имеет большой недостаток, так как ей может не хватить для работы памяти стека.
Динамические базы данных
Внутренняя (динамическая) база данных состоит из фактов, которые можно динамически, в процессе выполнения программы, добавлять в базу данных и удалять из нее, сохранять в файле, загружать факты из файла в базу данных.
В базе данных могут содержаться только факты, а не правила вывода, причем факты базы данных не могут содержать свободных переменных.
Для сохранения динамической базы на диске служит предикат save. Он сохраняет ее в текстовый файл с именем, которое было указано в качестве первого параметра предиката. Если второй необязательный параметр был опущен, то происходит сохранение фактов из единственной неименованной внутренней базы данных.
Способы представление знаний
Процесс представления знаний с помощью Пролог-программы может
состоять из следующих этапов:
1. Анализ структуры для выделения всех значимых сущностей и важных отношений между этими сущностями.
2. Выбор символических обозначений для представления каждой сущности и каждого отношения.
3. Определение каждого отношения семантически, при этом отмечается, какие конкретные реализации отношения будут истинными, а какие - ложными.
4. Определение каждого отношения при помощи фраз языка Пролог. Аксиоматическое определение будет правильным, если интерпретатор Пролога сможет вывести из этого определения каждую истинную конкретную реализацию данного отношения.
После того как знания о системе будут описаны в Пролог-программе, пользователь сможет обращаться к этим знаниям посредством запросов или при помощи более совершенного интерфейса программы с пользователем.
Символические обозначения, используемые дня представления сущностей и отношений в такой Пролог-программе, имеют как формальный смысл, выражаемый через другие символические обозначения, так и внешний смысл, который связывает их с компонентами представляемой системы.
Формальный смысл символического обозначения отношения - это множество истинных конкретных реализаций отношения, которые могут быть выведены интерпретатором из фраз, содержащихся в программе.
Сходным образом формальный смысл терма, не содержащего переменных (т.е. константы или структуры без переменных), - это множество истинных конкретных реализации отношений, в которые может входить этот
Внешний смысл. Он сходен со смысловым значением слов естественного языка. Программист выбрал символическое обозначение «мария» для представления служащей Мария Кравчук, следовательно, Мария Кравчук - это внешний смысл символического обозначения «мария».
Фреймовые экспертные системы
Экспертными системами обычно называют программы, которые могут заменить эксперта в какой-то предметной области.
Фрейм представляет собой группу слотов и заполнителей, определяющих объект. Фреймы, как правило, применяются для представления или универсальных, или специальных знаний.
В общем виде она выглядит следующим образом:
(Имя фрейма:
Имя слота 1 (значение слота 1)
+Имя слота 2 (значение слота 2)
………………………………….
Имя слота К (значение слота К)).
При конкретизации фрейма ему и его слотам присваиваются имена и происходит заполнение слотов. В качестве значений слотов могут выступать имена других фреймов, это обеспечивает построении сети фреймов.
Фрейм может содержать специальный слот, с помощью которого задается отношение данного фрейма с другими фреймами сети.
Продукционные экспертные системы
Наиболее широко применяемыми экспертными системами являются системы, основанные на правилах. В этих системах знания представлены не с помощью относительно статического способа, как ряд истинных утверждений, а в форме многочисленных правил, которые указывают на заключения, которые должны быть сделаны в различных ситуациях. Система, основанная на правилах, состоит из правил IF-THEN, фактов и интерпретатора, который управляет тем, какое правило должно быть вызвано в зависимости от наличия фактов в рабочей памяти.
Экспертные системы главным образом основаны на эвристическом поиске решения, а не на исполнении известного алгоритма. В этом одно из главных преимуществ технологии экспертных систем перед традиционным подходом к разработке программ.
Рассмотрим процесс разработки продукционной экспертной системы на языке Пролог. База знаний продукционной экспертной системы содержит факты и правила. Правило с точки зрения продукционной модели знаний содержит посылку и следствие. Постановка вопроса к продукционной экспертной системе инициирует процесс последовательного перебора фактов и правил из базы знаний и построения из них цепочки вывода. Промежуточные результаты сохраняются в оперативной памяти в фактах динамической базы данных.
Интерфейс экспертной системы
Интерфейс экспертной системы - это механизм, обеспечивающий связь между системой и пользователем, что очень важно. Через интерфейс пользователь вводит в базу данных системы информации о конкретной задаче соответствующей предметной области. Через интерфейс система запрашивает у пользователя дополнительные данные, а также доводит до его сведения свои решения и выводы.
Взаимодействие обычно включает:
• прием и отображение информации с использованием устройств ввода и вывода инструментальной ЭВМ;
• поддержка удобной для пользователя формы;
• обработка исключительных ситуаций непонимания между пользователем и программой.
.
Список источников
1. Основы программирования на языке Пролог : курс лекций : учеб. пособие для студентов вузов, обучающихся по специальностям в обл. информ. технологий / П. А. Шрайнер. - М. : Интернет - Ун-т Информ. Технологий, 2005. - 176 с. - (Серия «Основы информационных технологий» / Интернет-Ун-т информ. технологий).
2. Работа со списками в языке пролог | Контент-платформа Pandia.ru
3. Чернухин Ю.В., Гузик В.Ф., Костюк А.И. Представление знаний и логическое программирование в системах искусственного интеллекта: Учебное пособие. Таганрог: Изд-во ТРТУ, 2001, 85 с.
4. Фреймы в экспертных системах - Libtime