- •Компьютерные технологии в науке и образовании
- •Часть 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. Операции нечеткой фильтрации и выбора
Лекция 4
1.4 Представление знаний с использованием логики предикатов.
1.4.1. Логические модели и логическое программирование
Одним из способов представления знаний является язык математической логики, позволяющий формально описывать понятия предметной области и связи между ними.
В отличие от естественного языка, который очень сложен, язык логики предикатов использует только такие конструкции естественного языка, которые легко формализуются.
Т.е. логика предикатов - это языковая система, которая оперирует с предложениями на естественном языке в пределах синтаксических правил этого языка.
Язык логики предикатов использует слова, которые описывают:
понятия и объекты изучаемой предметной области;
свойства этих объектов и понятий, а также их поведение и отношения между ними.
В терминах логики предикатов первый тип слов называется термами, а второй -предикатами.
Термыпредставляют собой средства для обозначения интересующих нас индивидуумов, апредикатывыражают отношения между индивидуумами (которые обозначаются с помощью термов).
Логическая модель- это множество предложений, выражающих различные логические свойства именованных отношений.
При логическом программировании пользователь описывает предметную область совокупностью предложений в виде логических формул, а ЭВМ, манипулируя этими предложениями, строит необходимый для решения задач вывод.
1.4.2. Простейшие конструкции языка предикатов
Терм- это знак (символ) или комбинация знаков (символов), являющаяся наименьшим значимым элементом языка.
К термам относятся константы, переменные и функции.
Константаприменяется для обозначения конкретных объектов реального мира. Пример: ласточка, птица, один, 2 и т.д.
Переменныеиспользуются для обозначения некоторого из возможных объектов реального мира или их совокупности (в Прологе начинаются с заглавной буквы). Пример: Некто, X, Who, Вещь и т.д.
Функции (структуры)- последовательность из нескольких констант или переменных, заключенных в круглые скобки, следующие за функциональным символом (функтором). Пример: сумма (1,2); +(1,2); удвоить (X).
Функторыобозначают операторы, которые после воздействия на объект возвращают некоторое значение.
Предикат- это логическая функция, которая выражает отношение между своими аргументами и принимает значение «истина», если это отношение имеется, или «ложь», если оно отсутствует.
Заключенная в скобки последовательность из n термов, перед которой стоит предикатный символ, называется n-местным(илиn-арным)предикатом, который принимает значения «истина» или «ложь» в соответствии со значением термов, являющимися его аргументами.
Пример:
является ( ласточка, птица )
отец (X, Джон )
Такого типа предикаты получили название атомарных предикатови соответствуют наиболее простым предложениям нашего разговорного языка - нераспространенным предложениям.
В обычном языке из нераспространенныхпредложении с помощью соединительных местоимений, союзов, и других частей речи строят более сложные конструкции -сложныепредложения.
1.4.3. Предикатные формулы
В логике предикатов сложными предложениями естественного языка соответствуют предикатные формулы. Предикатные формулыобразуются из атомарных предикатов и логических связок, которые читаются как (таблица 4.1):
Таблица 4.1
Логические связки
, |
Ú |
ù |
← |
↔ |
«и» |
«или» |
«не» |
«если» |
«тогда и только» |
Логические связки имеют следующий приоритет использования:
ù
, Ú
¬,«
Наиболее часто в логическом программировании используются связки «И», «НЕ» «ЕСЛИ».
Примерпредикатной формулы, соответствующей сложному предложению: