- •Компьютерные технологии в науке и образовании
- •Часть 1 Базы знаний
- •Содержание
- •Лекция 1
- •1.1 Основы построения систем основанных на знаниях (соз).
- •1.1.1 Общие сведения о соз
- •1.1.2. Пример независимости знаний и процедур их обработки
- •1.1.3 Понятие знаний, фактов и правил
- •Лекция 2
- •1.2 Экспертные системы и необходимые условия представления знаний.
- •1.2.1. Назначения эс и основные требования к ним
- •1.2.2. Упрощенная структура эс
- •1.2.3. База знаний как элемент экспертной системы
- •1.2.4. Необходимые условия представления знаний
- •Лекция 3 Лекция 3
- •1.3 Приобретение и формализация знаний.
- •1.3.1. Формализация задачи
- •1.3.2. Представление знаний в виде «дерева решений»
- •Лекция 4
- •1.4 Представление знаний с использованием логики предикатов.
- •1.4.1. Логические модели и логическое программирование
- •1.4.2. Простейшие конструкции языка предикатов
- •1.4.3. Предикатные формулы
- •Является (ласточка, птица) ← имеет (ласточка, крылья),
- •("X) [человек (х) ¬ смертен]
- •1.4.5. Логический вывод
- •1.4.5.1. Правило резолюции для простых предложений
- •1.4.5.2. Правило резолюции для сложных предложений
- •1.4.5.3. Простая резолюция сверху вниз
- •S: ù получает (студент, стипендию)
- •Для всех у студент не получает у
- •1.4.5.6. Решение задач и извлечение ответа.
- •D1: ù факториал (3, z)
- •Лекция 5
- •1.5 Семантические сети.
- •1.5.1. Описание иерархической структуры понятий и диаграмма представления
- •«Человек» is - a «млекопитающее»
- •«Все ласточки – птицы»
- •«Ласта – ласточка» «ласточка – птица»
- •«Ласта – птица»
- •1.5.2. Семантическая сеть как Пролог - программа
- •1.5.3. Элементы семантической сети
- •1.5.4. Представление структуры понятий семантической сетью
- •1.5.5. Представление событий семантической сетью
- •1.5.6. Получение вывода с помощью семантической сети
- •1.5.7 Пример представления знаний семантической сетью
- •Лекция 6
- •1.6.1. Системы продукции
- •Если - то (явление - реакция)
- •1.6.2. Механизм функционирования систем продукции
- •«Намерение – отдых» «место отдыха – горы»
- •«Место отдыха – горы»
- •«Использовать – джип»
- •«Дорога – ухабистая»
- •1.6.3. Обратная цепочка рассуждений в системе продукций
- •Лекция 7
- •1.7. Представление знаний с применением фреймов
- •1.7.1. Понятие фрейма и слота
- •1.7.2. Фреймовые системы и их функционирование
- •1.7.3. Обобщенная структура фрейма
- •Лекция 8
- •1.8. Стратегии поиска в системах основанных на знаниях
- •1.8.1. Поиск как основа функционирования соз
- •1.8.2. Стратегии поиска в глубину и ширину
- •1.8.3. Стратегия эвристического поиска
- •1.8.4. Формализация задач в пространстве состояний
- •1.8.5. Представление пространства состояний в виде базы знаний
- •После (х,y)
- •После (X,y,s)
- •Цель(состояние):-принадлежит([a,b,c],Состояние)
- •Лекция 9
- •1.9. Нечеткие множества в системах основанных на знаниях
- •1.9.1. Основные понятия и определения
- •1.9.2. Арифметические операции над нечеткими переменными
- •1.9.3. Операции нечеткой фильтрации и выбора
1.4.5.6. Решение задач и извлечение ответа.
Решение задачи с использованием логического программирования разбивается на 3 этапа:
На первом этапенеобходимо сформулировать наши знания и допущения о предметной области в виде множества ППФ
На втором этапенужно выразить конкретную задачу, поставленную на предметной области, как запрос об одном или нескольких отношениях. Обычно запрос ставится как исходное отрицание.
Составление допущений и исходного запроса завершается работа программиста, цель которой - сформулировать задачу.
Третий шагвыполняется компьютером, который пытается решить задачу, строя доказательство от противного. Он строит вывод сверху вниз, начиная с исходного отрицания, и порождает последовательность отрицаний
D1, D2, ... , D
Если может быть построен вывод, заканчивающийся отрицанием
Dn = (противоречие) ,
то этот вывод, называемый успешным выводом, сразу дает решение поставленной задачи.
Рассмотрим все эти три этапа на примере вычислительной задачи нахождения значения факториала некоторого числа.
На первом этапенеобходимо в виде ППФ сформулировать наши знания о вычислении факториала, которые можно представить двумя предложениями:
S1 : факториал (0,1)
S2 : факториал (х,у) х>0, факториал (х-1, у), у=у х
На втором этапеконкретную задачу, например, вычисление значение факториала трех (т.е. 3!), формулируем в виде запроса как исходного отрицания:
D1: ù факториал (3, z)
На третьем этапесистема логического вывода выполнит следующую последовательность этапов вывода на основе резолюции (таблица 4.2)
Таблица 4.2
Вывод на основе резолюции
Шаг вывода |
Родительские предложения |
Унификатор |
Отрицание (резольвента) |
1 |
D1, S2 |
Q= {x:=3, y:=z, y1:=y/x} = = {x:=3 , y1:= z/3} |
D2:ùфакториал (2, z/3) |
2 |
D2, S2 |
Q= {x:=2, y:=z/3, y1:=y/x} = = {x:=2 , y1:= z/6} |
D3:ùфакториал (1, z/6) |
3 |
D3, S2 |
Q= {x:=1, y:=z/6, y1:=y/x} = = {x:=1 , y1:= z/6} |
D4:ùфакториал (0, z/6) |
4 |
D4, S1 |
Q= {z/6:=1} = {z:=6} |
|
Полученное на 4 шаге противоречие подтверждает отрицание D1, а стало быть вывод является успешным и дает решение:
факториал (3,z), с унификатором Q = {z:=6}
т.е. факториал (3,6)
Откуда ответ, выдаваемый системой логического вывода: z:=6
Лекция 5
1.5 Семантические сети.
Семантической сетью является структура данных, имеющая определенный смысл как сеть. Стандартного определения семантической сети не существует, но обычно под ней подразумевают следующее:
Семантическая сеть- это система знаний, имеющая определенный смысл в виде целостного образа сети, узлы которой соответствуют понятиям и объектам, а дуги - отношениям между объектами.
Следовательно, всевозможные сети можно рассматривать как сети, входящие в состав семантической сети. В том числе к ним могут быть отнесены и сетевые структуры моделей БД.
Сама по себе семантическая сеть является моделью памяти и не раскрывает, каким образом осуществляется представления знаний. Поэтому в контексте знакомства с СОЗ семантические сети должны рассматриваться как метод представления знаний с возможностями структурирования этих знаний, процедурами их использования и механизмом вывода.