Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fedorenko_SII_Laba_1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
236.54 Кб
Скачать
  1. Ход выполнения работы

    1. Рассмотреть различные функциональные возможности среды CLIPS.

    2. Запускаем систему CLIPS

    3. Активизировать окно просмотра текущего списка фактов “Facts Window”.

    1. Выполнить следующую последовательность действий, фиксируя после каждого шага состояние списка фактов:

  • сбросить систему в исходное состояние командой clear;

  • выполнить начальную установку командой reset;

  • ввести 3 любых упорядоченных факта с помощью команды assert, например:

CLIPS> (assert (length 240) (width 7) (weight “big”));

  • повторно выполнить сброс командой (reset);

  • установить 3 ранее вводимых упорядоченных факта в качестве исходных фактов, используя конструкцию (deffacts);

  • выполнить сброс командой (reset).

    1. Активизировать дополнительно окно просмотра агенды “Agenda Window”.

    1. Выполнить следующую последовательность действий, фиксируя после каждого шага состояния списка фактов и агенды:

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

Пусть, например, (length 150) (width 15) (weight “big”) – факты, заданные конструкцией deffacts ранее. Тогда структура вводимых правил может быть представлена следующим образом:

(length 150) (width 15) => (gabarit1 “norm”)

(width 15) (weight “big”) => (gabarit2 “norm”)

(gabarit1 “norm”) & (gabarit2 “norm”) => (gabarit “OK”)

где (gabarit1 “norm”) (gabarit2 “norm”) (gabarit “OK”) – новые факты.

  • выполнить по шагам активизацию правил, используя комбинацию клавиш Ctrl+T.

Код программы:

CLIPS> (clear)

CLIPS> (reset)

CLIPS> (assert (length 240) (width 7) (weight "big"))

CLIPS> (reset)

CLIPS> (deffacts one (length 240) (width 7) (weight "big"))

CLIPS> (reset)

CLIPS> (defrule one (length 240) (width 7) => (assert (gabarit1 "norm")))

CLIPS> (defrule two (width 7) (weight "big") => (assert (gabarit2 "norm")))

CLIPS> (defrule three (gabarit1 "norm") (gabarit2 "norm") => (assert (gabarit "OK")))

CLIPS> Ctrl+t

CLIPS> Ctrl+t

CLIPS> Ctrl+t

  1. Создание приложения которое выводит информацию об авторе лабораторной работы.

Текст программы, используемый для выполнения лабораторной работы:

(defrule Avtor => (printout t "Avtor laboratornoj rabotu:" crlf) (printout t " Dudina Olesya ISS-091" crlf))

Скриншот:

Выводы:

Цели, поставленные перед нами в этой лабораторной работе были выполнены, а именно: ознакомились с синтаксисом языка представления знаний Clips, изучили основы разработки экспертных систем с использованием инструментальной среды Clips, изучили основные функциональные возможности Clips. Для достижения этих целей разобрали основные компоненты среды Clips, применили их в практике и создали программу, которая выводит информацию о авторе лабораторной работы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]