23673

Изучение основных возможностей и базовых команд среды CLIPS

Лабораторная работа

Информатика, кибернетика и программирование

Исполнение пакетного файла Вызов редактора Инициализация конструкций Запуск МЛВ Выполнение одного шага вывода Активизация окна списка фактов Активизация окна агенды Для сброса среды CLIPS в исходное состояние используется команда clear или соответствующий пункт меню Execution. Представление фактов и работа с ними. Факты являются одной из основных форм представления информации в CLIPSсистемах и используются правилами для вывода новых фактов из имеющихся. Все текущие факты в CLIPS помещаются в список фактов factlist.

Русский

2013-08-05

61 KB

16 чел.

Лабораторная работа № 1

Изучение основных возможностей и базовых команд среды CLIPS.

Общие сведения.

Среда CLIPS (C Language Integrated Production System) предназначена для построения экспертных систем (ЭС). Она поддерживает три основных способа представления знаний:

  •  продукционные правила для представления эвристических, основанных на опыте знаний;
  •  функции для представления процедурных знаний;
  •  объектно-ориентированное программирование.

 

Среда загружается запуском файла clipswin.exe. Назначение основных пунктов меню оконного интерфейса, используемых при выполнении данного цикла лабораторных работ представлены в табл. 1.

Таблица 1

Пункт

Подпункт

Горячиеклавиши

Назначение команды

File

Execution

Window

Load Constructs Load Batch

Editor

Reset

Run

Step

Facts Window

Agenda Window

Ctrl-L

Ctrl-E

Ctrl-U

Ctrl-R

Ctrl-T

Загрузка конструкций из файла.

Исполнение пакетного файла

Вызов редактора

Инициализация конструкций

Запуск МЛВ

Выполнение одного шага вывода

Активизация окна списка фактов

Активизация окна агенды

Для сброса среды CLIPS в исходное состояние используется команда (clear) или соответствующий пункт меню Execution.

Представление базовых типов данных. В CLIPS поддерживаются восемь простейших типов данных целые числа (integer), числа с плавающей запятой (float), символьный (symbol), строковый (string), внешний адрес (external-address), адрес факта (fact-address), имя экземпляра (instance-name) и адрес экземпляра (instance-address).

Примеры записи числовых типов приведены ниже:

Целое: 237, 15, +12, -32.

С плавающей запятой: 237e3, 15.09, +12.0, -32.3e-7.

Символьный тип в CLIPS – любая последовательность символов, начинающаяся с отображаемого ASCII-символа и продолжающаяся до ограничителя. Ограничителем является любой неотображаемый ASCII-символ (пробел, табуляция, возврат каретки, перевод строки), кавычка, открывающая и закрывающая скобки, амперсанд (&), вертикальная черта (), знак «меньше» (<) и тильда (~).

Строковый тип – множество отображаемых символов, заключенных в кавычки. Например: “abcd”, “fgs _85, “foo#”, “13485*a”. 

Другие типы в данной работе не используются.

Представление фактов и работа с ними. Факты являются одной из основных форм представления информации в CLIPS-системах и используются правилами для вывода новых фактов из имеющихся. Все текущие факты в CLIPS помещаются в список фактов (fact-list).

По формату представления в CLIPS выделяют два типа фактов: упорядоченные и неупорядоченные. В данной работе рассматриваются только упорядоченные факты. Упорядоченный факт состоит из заключенной в скобки последовательности одного или более полей, разделенных пробелами. Поля в неупорядоченном факте могут быть любыми простейшими типами данных (за исключением первого поля, которое должно быть символьного типа). Первое поле упорядоченного факта специфицирует отношение, которое применяется к остальным полям факта. Например:

(высота 100);

(включен насос);

(студент Сидоров_Сергей);

(однокурсники Иванов Петров Сидоров);

(отец Иван Петр).

В последнем примере отношение является, некоммутативным, поэтому необходимо определить порядок аргументов, например Иван является отцом Петра”.

Для работы с фактами используются следующие команды: assert – добавляет факт в факт-список; retract – удаляет факт из списка; modify – модифицирует список; duplicate – дублирует факт. Например команда

(assert (length 150) (width 15) (weight “big”))

добавляет в список фактов три факта, каждый из которых состоит из двух полей.

Эти команды могут использоваться в режиме взаимодействия с пользователем или при выполнении CLIPS-программы. Некоторые команды, такие как retract, modify и duplicate, требуют, чтобы факты были идентифицированы. Для этой цели используется либо индекс факта (fact-index), либо адрес факта (fact-address). Индекс факта - уникальный целочисленный индекс, приписываемый факту всякий раз, когда факт добавляется (или модифицируется). Индекс факты начинаются с нуля и инкрементируются при каждом новом или измененном факте. Идентификатор факта (fact identifier) представляет собой краткую нотацию для отображения факта. Он состоит из символа “f”, за которым через тире следует индекс факта. Например, f-10 ссылается на факт с индексом 10.

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

(deffacts <имя_группы_фактов> ["<комментарий>"] <факт>*),

где <имя_группы_фактов> - идентификатор символьного типа; <комментарий> - необязательное поле комментария; <факт>*) - произвольная последовательность фактов, записанных через разделитель. Пример использования конструкции deffacts:

(deffacts startup "Refrigerator Status"

(refrigerator light on)

(refrigerator door open)

).

Факты, определенные конструкцией deffacts добавляются в список фактов всякий раз при выполнении команды reset.

Для задания правил используется конструкция defrule со следующим синтаксисом:

(defrule <имя_правила> ["<комментарий>"]

[<объявление>] ;

<условный элемент>* ; Левая часть правила (антецедент)

=>

<действие>*) ; Правая часть правила (консеквент)

где <имя_правила> - идентификатор символьного типа, уникальный для данной группы правил; <комментарий> - необязательное поле комментария; <условный элемент>* - произвольная последовательность условных элементов; <действие>* - произвольная последовательность действий.

Пример задания правила:

(defrule R1

(days 2)

(works 100)

=>

(printout t crlf "Свободного времени нет" crlf)

(assert (freetime "no"))).

Данное правило содержит в левой части два условных элемента (упорядоченных факта), а в правой – команду printout вывода сообщения и команду assert добавления нового факта. В команде printout: t - параметр определяющий стандартный режим вывода, а – crlf символ возврата курсора и перевода его на новую строку.  

Порядок выполнения работы.

1. Изучение базовых команд и конструкций CLIPS.

1.1. Запустить систему CLIPS (файл clipswin.exe). Активизировать окно просмотра текущего списка фактов (подпункт “Facts Window” пункта “Windows” главного меню). Выполнить следующую последовательность действий, фиксируя после каждого шага состояние списка фактов:

  •  сбросить систему в исходное состояние командой (clear);
  •  выполнить начальную установку командой (reset) или комбинацией клавиш Ctrl-U;
  •  ввести 3 любых упорядоченных факта командой (assert), например: CLIPS> (assert (n n) (m m) (p p));
  •  повторно выполнить сброс командой (reset);
  •  установить 3 ранее вводимых упорядоченных факта в качестве исходных фактов, используя конструкцию (deffacts);
  •  выполнить сброс командой (reset).

1.2. Активизировать дополнительно окно просмотра агенды (подпункт Agenda Window” пункта “Windows” главного меню). Выполнить следующую последовательность действий, фиксируя после каждого шага состояния списка фактов и агенды:

  •  используя конструкцию (defrule), ввести три правила, такие, что антецеденты первых двух правил сопоставляются с комбинацией фактов, заданных ранее конструкцией (deffacts), а консеквенты этих правил добавляют новые факты, сопоставляемые с антецедентом третьего правила. Пусть, например, X, Y и Z – факты, заданные конструкцией (deffacts). Тогда структура вводимых правил может быть представлена следующим образом:

X & Y => V;

Y & Z  => W;

V & W => U;

  •  выполнить по шагам активизацию правил (используя «горячую» комбинацию Ctrl-T).

2. Разработка демонстрационной экспертной системы.

2.1. Сформировать, пользуясь редактором clipsedt.exe, базу знаний демонстрационной ЭС и сохранить ее в файле rulebase.clp. ЭС должна вырабатывать рекомендации студенту накануне зачета и иметь четыре входные переменные («число дней до зачета», «количество несделанных лабораторных работ (в %)», «температура на улице» и «наличие осадков»), две промежуточные («свободное время» и «погода») и выходную переменную («рекомендуемые действия»). Диаграмма зависимости переменных показана на рис. 1, в скобках указаны возможные имена переменных.

Общее количество правил в БЗ должно быть не менее 25. Количество значений переменных должно выбираться таким образом, чтобы БЗ отвечала требованию полноты, т.е. содержала правила, соответствующие любым сочетаниям значений переменных в левых частях правил. Например, если переменная «свободное время» имеет 3 значения («отсутствует», «мало» и «много»), а переменная «погода» – 2 значения («плохая» и «хорошая»), то максимальное число правил для определения переменной «действие» будет равно 6.

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

2.2. Для активизации ЭС в среде CLIPS используйте пакетный файл Run_Lab_1.bat, который может быть запущен с использованием пункта «Load Batch» меню «File».

2.3. Оттестировать ЭС на различных комбинациях входных значений в пошаговом режиме. Продемонстрировать работу ЭС преподавателю.  

 


 

А также другие работы, которые могут Вас заинтересовать

31787. Система нормативного регулирования аудиторской деятельности в РФ. Федеральный закон «Об аудиторской деятельности» 37.5 KB
  Федеральный закон Об аудиторской деятельности. К правовым и законодательным документам по аудиторской деятельности в РФ относятся: Гражданский кодекс РФ; Федеральный закон Об аудиторской деятельности N 307 от 30122008 в ред. N 80 О вопросах государственного регулирования аудиторской деятельности в РФ ; Положение о лицензировании аудиторской деятельности утвержденное Постановлением Правительства РФ от 29 марта 2002 г.
31788. Система нормативного регулирования бухгалтерского учета и отчетности в России 30.5 KB
  Целью нормативного регулирования бухучета является обеспечение доступа всем заинтересованным пользователям к информации предоставляющей объективную картину финансового положения и результатов хозяйственной деятельности предприятия. Рыночная экономика потребовала разработки новой системы нормативных документов регламентирующих вопросы организации и ведения бухгалтерского учета в организации а также определения роли государственных органов в ее создании. Все вопросы организации бухучета регламентируются Министерством финансов РФ.
31789. Система «стандарт-кост» 36.5 KB
  традиционный учет по полной себестоимости принятый в отечественной промышленности или стандарткост принятый в зарубежной практике; Система неполного ограниченного включения затрат в себестоимость по какомулибо признаку например по признаку зависимости расходов от объемов производства то есть система директкостинг. Отличия системы нормативных затрат стандарткост и нормативного метода учета затрат лежат в нескольких плоскостях: 1 В способе калькулирования себестоимости продукции и определения прибыли: в нормативном учете в...
31790. Особенности организации системы внутреннего контроля в субъектах малого бизнеса 37.5 KB
  Особенности организации системы внутреннего контроля в субъектах малого бизнеса Аннотация:В малом бизнесе внутренний контроль организуется на средства хозяйствующего субъекта по решению руководства для повышения эффективности управления. Определяя необходимость функционирования внутрихозяйственного контроля целесообразно рассмотреть элементы системы внутреннего контроля. Определяя необходимость функционирования внутрихозяйственного контроля целесообразно рассмотреть элементы системы внутреннего контроля. В научной и учебной литературе...
31791. Системы управленческого учета 41.5 KB
  Финансовый учет это система сбора и обработки информации о финансовом состоянии организации он включает в себя бухучет. На микроуровне к финансовому учету относится отчетность предприятия перед вышестоящим предприятием. Управленческий учет это система сбора и обработки информации в целях принятия управленческих решений на всех уровнях управления предприятия.
31792. Концепция автоматизации поддержки принятия управленческих решений 34.5 KB
  2Необходима поддержка со сторон др делового лица 3Необходимо применение человеком технологий основанных на использовании современных технологий коммуникации СППР. СППР интерактивная АИС использующая модели выбора решений обеспечивающая пользователям удобный и эффективный доступ к централизованным информационным ресурсам и предоставляющая возможности по переработке и отображению информации. Структура СППР: 1Функциональная подсистема принятия решений. Включает: акомпонент формирования морфологических таблиц бкомпонент математических...
31793. Факторы, определяющие эффективность управленческих решений 27.5 KB
  К числу этих факторов следует отнести: законы объективного мира связанные с принятием и реализацией управленческих решений; четкую формулировку цели для чего принимается управленческое решение какие реальные результаты могут быть достигнуты как измерить соотнести поставленную цель и достигнутые результаты; объём и ценность располагаемой информации для успешного принятия управленческого решения главным является не объём информации а ценность определяемая уровнем профессионализма опыта интуицией кадров; время разработки...
31794. Типы управленческих решений и формы их поддержки 28 KB
  Традиционно управленческие решения принято разделять на аналитические и поисковые творческие. Творческий поисковый подход используют тогда когда ищут нестандартные не использовавшиеся в прошлом решения. Кроме того серьезным препятствием является неумение выявить существенную информацию необходимую для принятия решения иногда это называют неумением отделить фигуру от фона.1 пример задачи с перекладыванием спичек может служить хорошей иллюстрацией введения искусственных ограничений: чаще всего поиск решения лежит в области арифметики ...
31795. Метод имитационного моделирования управленческого решения 35 KB
  Метод имитационного моделирования управленческого решения. Имитационное моделирование это частный случай математического моделирования. Применение имитационного моделирования К имитационному моделированию прибегают когда: дорого или невозможно экспериментировать на реальном объекте; невозможно построить аналитическую модель: в системе есть время причинные связи последствие нелинейности стохастические случайные переменные; необходимо сымитировать поведение системы во времени. Цель имитационного моделирования состоит в воспроизведении...