Студопедия — Управление средой
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Управление средой






Простое или составное значение.

 

Введение

Система CLIPS (C Language Integrated Production System) — это инструментальное средство для разработки экспертных систем. Система CLIPS использует одноименный язык программирования.

Основными компонентами CLIPS, как и большинства экспертных систем являются:

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

· база знаний — набор правил, служащих для получения на основе одних (исходных) фактов других (результатных) фактов;

· машина логического вывода — обеспечивает общее управление процессом применения правил.

В простейшем случае работа с системой CLIPS происходит в интерактивном режиме. После запуска на экране появляется окно консоли (называемое Dialog Window), в котором отображается приглашение для ввода команд в виде CLIPS>. Команды выполняются системой по мере их ввода.

Каждая команда представляет собой список. В языке CLIPS списки заключаются в круглые скобки, а элементы списка отделяются друг от друга пробелами. Элементами списков могут быть:

· атомы:

o целые и вещественные числа (состоят из цифр и, возможно, десятичной точки и знака экспоненты);

o строки (произвольный текст, заключенный в двойные кавычки);

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

· вложенные списки.

Вообще говоря, списки могут быть пустыми.

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

(имя-команды аргумент-1 аргумент-2 …)

Имя команды должно быть символом. Одна команда может занимать несколько строк.

Арифметика

Простейшими командами являются математические функции. Например:

(+ 1 2) (+ 1 2 3 4) (* 2 3) (- 5 2) (- 5 2 2) (/ 8 3) (/ 8 2) (div 18 7) (mod 18 7) (** 3 2) (min 2 1 4 5 3) (round 6.7)


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

(* (+ 1 2) 3 (* 4 5))

(sin (/ (pi) 6))

В командах CLIPS могут использоваться переменные. Для присваивания значения переменной используется команда bind. Например:

(bind?x 10)

?x

(**?x 2)

Заметим, что команда bind не только устанавливает значение переменной, но и возвращает установленное значение. При попытке использовать переменную, которой не было присвоено никакого значения, выводится предупреждение, при этом значением такой переменной считается символ FALSE.

Ввод-вывод при работе с консолью

Для вывода в консоль или в файл можно использовать команду printout. Первый параметр этой команды задает логическое имя файла, а остальные — выводимые значения. Для вывода в консоль первым параметром надо задать символ t. Для перевода строки используется символ crlf. Пример:

(printout t "Hello" crlf)

(printout t "2 * 3 = " (* 2 3) crlf)

Для ввода можно использовать команды read и readline. Будучи вызваны без параметров обе команды производят ввод с консоли. Команда read считывает данные до разделителя и может возвратить символ, строку или число; команда readline считывает данные до конца строки и всегда возвращает строку. В случае достижения конца файла обе команды возвращают символ EOF. Пример:

(bind?x (read))

Управление средой

Помимо математических функций в CLIPS другие команды. Перечислим некоторые из них:

· exit — завершение работы с системой CLIPS. В меню соответствует File/Exit;

· batch — выполняет команды, записанные в текстовом файле так, как если бы они были введены непосредственно в консоли. Имя файла задается параметром команды и должно является строкой (т. е. в двойных кавычках). В меню соответствует File/Load Batch…;

· batch* — то же, что batch, но без повтора самих выполняемых команд на экране;

· reset — сброс системы. В меню соответствует Execution/Reset.

Пример:

(batch "C:/Some folder/Some command file.bat")

Факты

Система CLIPS поддерживает два вида фактов: упорядоченные и шаблонные. Для работы с обоими видами фактов используются одни и те же команды; однако использование шаблонных фактов требует предварительного описания шаблона, в то время как для использования упорядоченных фактов ничего такого не надо.

Для ввода в список фактов используется команда assert, параметрами которой должны быть вводимые факты (отметим, что нет разницы, вводить ли несколько фактов одной командой или каждый факт — отдельной). В команде assert каждый факт должен быть задан отдельным списком. Первый элемент этого списка определяет тип факта и должен быть символом; остальные элементы задают параметры факты и могут быть произвольного типа. Если в списке, задающем факт, встречается вложенный список, то он интерпретируется как вызов функции, значение которой определяет значение соответствующего параметра факта. Пример:

(assert (weather fine))

(assert (temperature 5))

(assert (wind 7 north-east))

(assert (autumn))

(assert (location box-1 floor) (size box-1 80 60 40))

(assert (weight part-1 4.5) (weight part-2 8.25))

(assert (weight part-3 (+ 1.5 3.25)))

В списке фактов может одновременно находится несколько фактов одного типа, если эти факты различаются значением хотя бы одного параметра. Команда assert возвращает адрес факта, если он был успешно введен в список фактов или символ FALSE, если факт не был введен из-за того, что точно такой же факт уже находился в списке фактов.

Возвращаемый командой assert адрес факта не является ни числом, ни символом, ни строкой; — это значение специального типа данных. Адрес факта может быть использован, например, для удаления факта из списка фактов. Помимо адреса каждый факт, находящийся в списке фактов, характеризуется номером. Получить этот номер, зная адрес факта можно с помощью функции fact-index.

Отметим, что изначально список фактов не пуст: в нем присутствует факт initial-fact, не имеющий параметров. Номер этого факта — 0.

Просмотреть список фактов можно командой facts. По умолчанию (т. е. без параметров) эта команда выводит на экран весь список фактов; однако с помощью параметров можно задать минимальный и максимальный номер факта, а также максимальное количество выводимых фактов. Пример:

(facts)

(facts 7)

(facts 1 2)

Также для просмотра списка фактов в меню можно выбрать Window/Facts. В этом случае на экране появится окно Facts, отображающее текущее содержимое списка фактов. По мере добавления и удаления фактов содержимое этого окна автоматически обновляется.

Для удаления фактов используется команда retract, параметрами которой являются адреса или номера удаляемых фактов либо символ * (звездочка), предписывающий удаление всех фактов. Команда retract ничего не возвращает. Пример:

(bind?f (assert (weather fair)))

(retract?f)

(retract 0)

Также к удалению всех фактов приводит использование команды reset (ранее упомянутой). После удаления всех фактов команда reset автоматически добавляет в список фактов факт initial-fact.







Дата добавления: 2015-08-30; просмотров: 542. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия