Разделы презентаций


Интеллектуальные информационные системы

Содержание

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ1 Функции СИИСтруктура СИИ должна обязательно включать следующие три комплекса вычислительных средств: исполнительная система – это совокупность средств, обеспечивающих выполнение сформированной программы, спроектированных с позиций

Слайды и текст этой презентации

Слайд 1 Интеллектуальные информационные системы
Т.Ф. Лебедева
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

КемИ РГТЭУ

Интеллектуальные информационные системыТ.Ф. ЛебедеваКАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ   КемИ РГТЭУ

Слайд 2ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
1 Функции СИИ
Структура СИИ

должна обязательно включать следующие три комплекса вычислительных средств:
исполнительная система

– это совокупность средств, обеспечивающих выполнение сформированной программы, спроектированных с позиций эффективного решения задач, имеет в ряде случаев проблемную ориентацию;
интеллектуальный интерфейс - система программных и аппаратных средств, обеспечивающих для конечного пользователя использование компьютера для решения задач, которые возникают в среде его профессиональной деятельности либо без посредников либо с незначительной их помощью.
база знаний (БЗ) — информационная база, обеспечивающая использование вычислительными средствами первых двух комплексов целостной и независимой от обрабатывающих программ системы знаний о проблемной среде. База знаний, отражает опыт конкретных людей, групп, обществ, человечества в целом, в решении творческих задач в выделенных сферах деятельности, традиционно считавшихся прерогативой интеллекта человека.

108

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ1 Функции СИИСтруктура СИИ должна обязательно включать следующие три комплекса вычислительных

Слайд 3ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
1 Функции СИИ
Систему принято

считать интеллектуальной, если в ней реализованы три группы основных функций:


функции

представления и обработки знаний

функции рассуждений

функции общения с пользователем

109

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ1 Функции СИИСистему принято считать интеллектуальной, если в ней реализованы три

Слайд 4ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
1 Функции СИИ


Процедуры для

первой группы:

Накопление знаний о предметной области
Классификация знаний по критерию полезности

и непротиворечивости
Структурирование знаний в направлении их использования в конкретной области.
Автоматическое поддержание базы знаний при ее пополнении.

110

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ1 Функции СИИПроцедуры для первой группы:Накопление знаний о предметной областиКлассификация знаний

Слайд 5ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
1 Функции СИИ

Процедуры для

второй группы:

Инициализация процессов получения новых знаний
Соотнесение новых знаний со старыми
Пополнение

знаний с помощью логического вывода, отражающего закономерности в предметной области и накопленных знаниях
Обобщение знаний на основе более частных знаний (индукция)
Логическое планирование деятельности системы.

111

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ1 Функции СИИПроцедуры для второй группы:Инициализация процессов получения новых знанийСоотнесение новых

Слайд 6ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
1 Функции СИИ


Процедуры для

третьей группы:

Общение на естественном языке (подмножество профессионального языка)
Обучение
Адаптация к специалистам

разной квалификации
Формирование по запросу пользователя объяснения своей деятельности
Документирование информации в форме, необходимой пользователю.

112

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ1 Функции СИИПроцедуры для третьей группы:Общение на естественном языке (подмножество профессионального

Слайд 7ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
2 Архитектура СИИ













Рисунок 3.1

Обобщенная структурно-функциональная схема систем ИИ
113

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ2 Архитектура СИИРисунок 3.1 Обобщенная структурно-функциональная схема систем ИИ113

Слайд 8ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
2 Архитектура СИИ
В Базе

фактов хранятся факты, носящие конкретный характер: факты, характеризующие текущую ситуацию,

текущее состояние по входным данным для решаемой задачи; факты, характеризующие уже имевшие место ситуации (опыт). База фактов - это по существу БД.
В Базе правил хранятся продукции, здесь содержатся закономерности, причинно-следственные связи предметной области, для которой предполагается использовать СИИ.
База процедур содержит прикладные программы, с помощью которых выполняются все необходимые вычисления и преобразования.
В Базе знаний о себе хранятся подробности описания системы, ее возможностей, способов функционирования.
База закономерностей содержит различные сведения, относящиеся к особенностям ПО, (основные законы, эмпирические зависимости). База закономерностей и База правил составляют базу знаний (БЗ).
База целей содержит такие целевые структуры, которые позволяют организовать процесс движения от исходных фактов, правил, закономерностей, процедур к достижению целей, поступившей от пользователя или сформированной самой системой в процессе функционирования. База целей – это тоже способ представления знаний, но ориентированный на связи объектов между собой через сообщения, позволяет реализовать стратегию вывода по сценариям.
Монитор БЗ – это программа управления всеми базами, который организует их взаимодействие между собой.

114

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ2 Архитектура СИИВ Базе фактов хранятся факты, носящие конкретный характер: факты,

Слайд 9ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
2 Архитектура СИИ
Блок дедуктивного

вывода реализует дедуктивные рассуждения, с помощью которых из конкретных фактов

из базы фактов и правил из базы правил выводятся новые факты на основе дедукции.
Вывод новых знаний на основе обобщений понятий и фактов осуществляется в блоке индуктивного вывода.
В процессе дедуктивного и индуктивного вывода возможны ошибки, для устранения которых надо использовать некоторые указатели правдоподобия сформированных правил, реализуемые в блоке проверки достоверности.
Функциональные преобразования – набор различных функций.
Блок планирования, связанный со всеми базами машины знаний планирует процесс вывода в зависимости от конкретной ситуации.
Блок рабочего поля памяти отражает реальную ситуацию использования памяти ПК при решении интеллектуальных задач. В рабочую память дедуктивный и индуктивный блоки вызывают конкретные факты и правила для конкретных задач.
Монитор решателя – это программа, управляющая всеми блоками решателя, который организует их взаимодействие между собой.

115

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ2 Архитектура СИИБлок дедуктивного вывода реализует дедуктивные рассуждения, с помощью которых

Слайд 10ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
2 Архитектура СИИ
Машина БЗ

реализует в целом первую группу функций, вторую группу имитирует решатель.


Третья функция СИИ представлена в виде блока системы общения на естественном языке. Ее возможности определяются в каждом случае конкретным набором требований к реализации функции общения, интерфейсом пользователя
Интерфейс пользователя — это комплекс программ, реализующих диалог пользователя с СИИ, как на стадии ввода информации, так и при получении результатов.
Специалист использует интерфейс для ввода информации и команд в СИИ (экспертную систему) и получения выходной информации из нее. Команды включают в себя параметры, направляющие процесс обработки знаний. Информация обычно выдается в форме значений, присваиваемых определенным переменным.

116

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ2 Архитектура СИИМашина БЗ реализует в целом первую группу функций, вторую

Слайд 11ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
2 Архитектура СИИ
Специалист может

использовать четыре метода ввода информации:
меню
команды
естественный язык
собственный интерфейс.
Технология

СИИ (экспертных систем) предусматривает возможность получать в качестве выходной информации не только решение, но и необходимые объяснения. Различают два вида объяснений:
объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от экспертной системы объяснения своих действий;
объяснения полученного решения проблемы. После получения решения пользователь может потребовать объяснений того, как оно было получено. Система должна пояснить каждый шаг своих рассуждений, ведущих к решению задачи.
Хотя технология работы с СИИ не является простой, пользовательский интерфейс этих систем является дружественным .

117

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ2 Архитектура СИИСпециалист может использовать четыре метода ввода информации: менюкоманды естественный

Слайд 12ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
3 Инструментальные средства для

разработки СИИ
Инструментальные средства можно разделить на следующие типы:
1) Системы программирования

на языках высокого уровня, такие как С, С++, Паскаль, Фортран, Бейсик, Forth, Refal, SmallTalk , LISP, не содержат средств для представления и обработки знаний. Тем не менее, достаточно большая доля СИИ разработана с помощью языков традиционного программирования. Наиболее используемые - SmallTalk и LISP.
LISP разработан в 1960 г. Дж. Маккарти для доказательства теорем и использовался первоначально в проекте «Принимающий советы» для управления сложной системой, в которой данные задавались фразами на английском языке. Широкое использование языка LISP объясняется наличием развитых средств работы со списками и поддержкой механизма рекурсии, важных для характерной в СИИ обработки символьной информации. Заложенные в языке LISP идеи, способ описания данных оказали влияние на ряд языков ИИ: CONNIVER, PLANNER, PROLOG.
С помощью языка LISP разработан ряд распространенных экспертных систем, таких как MYCIN, DENDRAL, PROSPECTOR.

118

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ3 Инструментальные средства для разработки СИИИнструментальные средства можно разделить на следующие

Слайд 13ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
3 Инструментальные средства для

разработки СИИ
Инструментальные средства можно разделить на следующие типы:
2) Системы программирования

на языках представления знаний содержат собственные средства представления знаний (в соответствии с определенной моделью) и поддержки логического вывода.
Языки представления знаний
в логических моделях - CONNIVER, PLANNER, PROLOG,
во фреймовых моделях - KRL, FRL,
в продукционных моделях - OPS5, KEE, KAPPA, CLIPS.

119

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ3 Инструментальные средства для разработки СИИИнструментальные средства можно разделить на следующие

Слайд 14ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ
3 Инструментальные средства для

разработки СИИ
Инструментальные средства можно разделить на следующие типы:
3) Оболочки систем

искусственного интеллекта или «пустые экспертные системы» представляют собой готовые ЭС без базы знаний. Технология создания оболочки заключается в том, что из готовой ЭС удаляются знания из базы знаний.
4) Средства автоматизированного создания экспертных систем представляют собой гибкие программные системы, допускающие несколько моделей представления знаний, способов логического вывода и видов интерфейса.

120

ТЕМА 3 СИСТЕМЫ ИИ: ФУНКЦИИ, АРХИТЕКТУРА, ИНСТРУМЕНТАРИЙ3 Инструментальные средства для разработки СИИИнструментальные средства можно разделить на следующие

Слайд 15ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
1 Краткая история

и характеристика CLIPS
Название языка CLIPS - аббревиатура от C Language

Integrated Production System.
Язык был разработан в Центре космических исследований NASA (национальное Аэрокосмическое Агентство США)
СLIPS является одним из распространенных инструментальных средств разработки экспертных систем (ЭС).
Первая версия системы вышла в 1984 году и представляла собой интерпретатор порождающих правил. Процедурный язык и объектно-ориентированное расширение CLIPS были включены в этот программный продукт только в 1990–х годах. Существующие в настоящее время версии могут эксплуатироваться на платформах UNIX, DOS, Windows и Macintosh. CLIPS является хорошо документированным общедоступным продуктом
(адрес в Интернет - http://www.cosmic.uga.edu/) и доступна по сети FTP.

121

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 1 Краткая история и характеристика CLIPSНазвание языка CLIPS -

Слайд 16ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
1 Краткая история

и характеристика CLIPS
Данная система полностью реализована на языке С. Причем

исходные тексты ее программ опубликованы в сети Интернет.
В СLIPS используется оригинальный LISP-подобный язык программирования, ориентированный на разработку ЭС. Кроме того, СLIPS поддерживает еще две парадигмы программирования: объектно-ориентированную и процедурную.
Аспекты объектно-ориентированного программирования в СLIPS нами рассматриваться не будут.
Широкое распространение системы CLIPS объясняется тем, что CLIPS представляет собой комбинацию продукционного, объектно-ориентированного и фреймового подходов и обладает следующими ее преимуществами:
относительная дешевизна
использование множества опробованных на практике конструкций из других инструментальных средств
наличие четко сформулированного синтаксиса, позаимствованного у LISP
высокая производительность
возможность использования внешних функций, написанных на других языках программирования
включение средств, позволяющих комбинировать правила и объекты.

122

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 1 Краткая история и характеристика CLIPSДанная система полностью реализована

Слайд 17ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
1 Краткая история

и характеристика CLIPS
СLIPS использует продукционную модель представления знаний и содержит

три основных элемента:
1. базу фактов
2. базу правил
3. блок вывода.
Работа системы выполняется циклически, причем каждый цикл состоит из трех шагов:
сопоставление фактов и правил;
выбор правила, подлежащего активизации;
выполнение действий, предписанных правилом.
Такой трехшаговый циклический процесс называют
циклом «распознавание – действие».
СLIPS предоставляет три основных элемента для написания программ:
1. Простые типы данных;
2. Функции для манипулирования данными;
3. Конструкторы для пополнения БЗ, для создания фактов, функций, правил, классов.

122

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 1 Краткая история и характеристика CLIPSСLIPS использует продукционную модель

Слайд 18ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования: простые типы данных
Простые типы данных:
Integer

external address - внешние адреса
Float fact – address - адреса факты
Symbol instance –name - имена объектов
String instance –address - адреса объектов

Для представления числовой информации используются типы flоаt и integer, символьной - symbol, string . Остановимся на рассмотрении этих четырех типов данных.
При записи числа могут использоваться только цифры (0-9), десятичная точка (.), знак (+) или (-) и (е) при экспоненциальном представлении.
Число сохраняется либо как целое, либо как действительное. Любое число, состоящее только из цифр, перед которыми может стоять знак, сохраняется как целое (тип integer представляется внутри СLIPS как тип языка С lоng integer ). Все остальные числа сохраняются как действительные (flоаt - С double flоаt).
Количество значащих цифр зависит от аппаратной реализации. В этой же связи могут возникать ошибки округления.
Как в любом языке программирования, особенную осторожность необходимо проявлять при сравнении чисел с плавающей точкой, а также при сравне­нии с ними целых чисел.
Примеры целых чисел: 237 15 +12 -32
Примеры чисел с плавающей точкой: 237е3 15.09 +12.0 -32.3е-7

123

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования: простые типы данныхПростые типы данных:Integer

Слайд 19ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования: простые типы данных

Последовательность символов, которая не удовлетворяет числовым типам,

обрабатывается как тип данных symbol.
Тип данных symbol в СLIPS - последовательность символов, состоящая из одного или нескольких любых печатных символов кода АSСII. Как только в последовательности символов встречается символ-разделитель, данное типа symbol заканчивается.
Следующие символы служат разделителями:
любой непечатный АSСII символ (включая пробел, символ табуляции, СR, LF),
двойные кавычки
( ) & | < ~ ;
Символы-разделители не могут включаться в данные типа symbol за исключением символа "<", который может быть первым символом в данных типа symbol.
Данные типа symbol не могут начинаться с символа "?" или последовательности символов "$?", поскольку эти символы зарезервированы для переменных.
Заметим, что СLIPS различает регистр символов.
Ниже приведены примеры выражений символьного типа:
foo Не11о В76-Н1 bao_value 127А 742-42-42 @+=-%

124

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования: простые типы данныхПоследовательность символов, которая

Слайд 20ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования

Тип данных string - это последовательность символов, состоящая из

нуля и более печатных символов и заключенная в двойные кавычки.
Если внутри строки встречаются двойные кавычки, то перед ними необходимо поместить символ (\). То же справедливо и для самого (\).

Примеры: "fоо" "а аnd. b" "1 number" "а\"quote"

Отметим, что строка "аbсd" не тоже самое, что аbсd. Они содержат одинаковые наборы символов, но являются экземплярами различного типа.

Не допускается использование букв русского алфавита.

125

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования Тип данных string - это

Слайд 21ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования: функции

Под функцией в СLIPS понимается фрагмент исполняемого кода,

с которым связано уникальное имя и который возвращает полезное значение или имеет полезный побочный эффект (например, вывод информации на экран).
Существует несколько типов функций:
Пользовательские
Системные
Внешние.
Пользовательские функции определены программистом с помощью конструктора Deffunction.
Системные функции – те функции, которые были определены изначально внутри среды СLIPS .
Внешние функции – функции, которые были определены вне СLIPS и написаны на других языках.

126

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования: функции Под функцией в СLIPS

Слайд 22ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования: функции
Хотя СLIPS и не ориентирована на численные вычисления,

в ней предусмотрен ряд стандартных арифметических и математических функций:
+ - сложение, - вычитание;
* - умножение, / - деление;
** - возведение в степень;
div – целочисленное деление, мod - остаток от целочисленного деления;
abs определение абсолютного значения;
Sqrt вычисление квадратного корня;
мin - нахождение минимума, мax - нахождение максимума;
cos, sin, tan –тригонометрические функции синус, косинус, тангенс;
acos, asin, atan - арксинус, арккосинус, арктангенс;
pi – получение числа π;
exp – вычисление экспоненты;
log, log10 – вычисление натурального и десятичного логарифмов;
deg-rad, rad-deg – преобразование из градусов в радианы и наоборот;
round – округление числа.

127

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования: функции Хотя СLIPS и не

Слайд 23ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования: функции
Вызовы функций в СLIPS имеют префиксную форму: аргументы

функции могут стоять только после ее названия.
Синтаксис вызова функции:
(имя аргумент1 аргумент2 аргумент3 …..).
Аргументами могут быть данные простых типов, переменные или вызовы других функций.
Аргументы отделяются друг от друга одним или несколькими пробелами.
Примеры вызовов функций:
Запись в среде CLIPS Обычная запись
(+ 3 4 5) (3+4+5)
(* 5 6.0 2) (5*6.0*2)
(+ 3 (* 8 9) 4) (3+8*9+4)
(* 8 (+ 3 (* 2 3 4) 9) (* 3 4) ) (8* (3+(2*3*4)+9)*(3*4))
(Sqrt (+ 10 6) ) Sqrt(10+6)
( log10 100) lg100

128

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования: функции Вызовы функций в СLIPS

Слайд 24ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
2 Основные элементы

программирования: конструкторы
В СLIPS существует несколько описывающих конструкторов:
defmodule, defrule,

deffacts, deftemplate, defglobal, deffunction, defclass, definstances, defmessage-handler, defgeneric.
При записи все они заключаются в скобки. Определение конструктора отличается от вызова функции по производимому эффекту. Обычно вызов функции оставляет состояние среды CLIPS без изменений (за исключением, когда речь идет о функциях сброса, очистки, открытия файла и т.п.).
Определение конструктора, напротив, в точности направлено на изменение состояния среды путем внесения изменений в базу знаний CLIPS.
В отличие от функций конструкторы никогда не возвращают значений.
Все конструкторы (за исключением defglobal ) позволяют размещать комментарии сразу вслед за именем конструкции. Комментарии внутри конструктора заключены в двойные кавычки.
Кроме того, комментарии могут вставляться в код CLIPS при помощи точки с запятой (;). Все, что следует за (;) до конца строки, будет игнорироваться CLIPS. Если (;) стоит первым символом в строке, то вся строка считается комментарием.

129

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 2 Основные элементы программирования: конструкторыВ СLIPS существует несколько описывающих

Слайд 25ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
3 Факты: представление

фактов
Факты являются одной из основных форм представления информации в

системе CLIPS и представляют единицу данных, используемую правилами.
Каждый факт представляет фрагмент информации, который был помещен в текущий список фактов, называемый fact-list (рабочая память).
Количество фактов в списке и объем информации, который может быть сохранен в факте, ограничивается только размером памяти компьютера.
Если при добавлении нового факта к списку обнаруживается, что он полностью совпадает с одним из уже включенных в список фактов, то эта операция игнорируется (хотя такое поведение можно изменить).
Факт может описываться индексом или адресом.
Когда факт добавляется (изменяется), ему присваивается уникальный целочисленный индекс.
Индексы фактов начинаются с нуля и для каждого нового или измененного факта увеличиваются на единицу.
Каждый раз после выполнения команд reset и clear выделение индексов начинается с нуля.
Команда reset добавляет в список фактов initial- fact.
Факт также может задаваться при помощи адреса. Адрес факта может быть получен путем сохранения возвращаемого значения команд, которые возвращают в качестве результата адрес факта (таких как assert, modify и duplicate), или путем связывания переменной с адресом факта в левой части правила.

130

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 3 Факты: представление фактов Факты являются одной из основных

Слайд 26ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
3 Факты: представление

фактов
Идентификатор факта - это короткая запись для отображения факта

на экране. Она состоит из символа f и записанного через тире индекса факта.
Например, запись f-10 служит для обозначения факта с индексом 10 (первый факт имеет индекс f-0).
Существует два формата представления фактов:
Позиционный.
Непозиционный (шаблонный – фреймовый).
Позиционные факты в общем виде представляются:
<позиционный_факт>::=(данные_типа_symbol [поле]*).
Позиционные факты состоят из выражения типа symbol, за которым следует последовательность (возможно пустая) из полей, разделенных пробелом.
Вся запись заключается в скобки.
Первое поле (Symbol) определяет отношение или связь, которая применяется к оставшимся полям.
Примеры:
(altitude is 1000 feet)
(grocery–list bread milk eggs)
(schoolboys is Bob Mike)
Следующие символьные выражения зарезервированы и не могут быть использованы как первое поле позиционного факта:
test, and, or, not, declare, logical, object, exists, forall.

131

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 3 Факты: представление фактов Идентификатор факта - это короткая

Слайд 27ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS
3 Факты: представление

фактов
Непозиционные факты (шаблонные или фреймовые) факты дают возможность пользователю

абстрагироваться от структуры факта, задавая имена каждому из полей факта, называемых слотами Для задания шаблона, который затем может использоваться при доступе к полям по именам, используется конструктор deftemplate .
В общем виде конструктор Deftemplate имеет вид:
(Deftemplate [“комментарий”]
<определение слота>*)
< определение слота>::=(slot <имя_слота> [(<тип_поля>) (<значение по умолчанию>)])
<тип поля>::=(type <стандартный тип >)
<значение по умолчанию>::=(default <значение>)

Все имена шаблонов и слотов имеют тип symbol.

132

ТЕМА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ СLIPS 3 Факты: представление фактов Непозиционные факты (шаблонные или фреймовые)

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика