Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Удовлетворяет предпосылку в правиле
(patient (name?pat) (organism?org)) Подстановкой Jones вместо?pat и Organism-1 вместо?org. Обратите внимание на то, что мы опускаем при анализе соответствия пары, которые отсутствуют в предпосылке правила. Поскольку другая предпосылка в этом же правиле также удовлетворяется при указанной подстановке, то новый вектор (organism (name organism-1) (identify enterobacteriaceae) (confidence 0.8)) Добавляется интерпретатором в рабочую память. Поскольку для заключения правила значение?pat безразлично, поле имени пациента можно в условии вообще игнорировать. Теперь рассмотрим набор правил, представленный в листинге 5.3, вместе с множеством векторов в рабочей памяти. Этот пример основан на планировщике STRIPS, о котором шла речь в главе 3. Программа состоит из выражений трех типов: деклараций (или шаблонов), которые определяют формат векторов в рабочей памяти; определений фактов, которыми задается начальное состояние проблемы; порождающих правил, которые определяют возможные трансформации состояния проблемы. Строки, которые начинаются символами ";;", являются комментариями. Листинг 5.3. Набор правил для проблемы в системе STRIPS ;; Шаблоны ;; Цель (goal) представляет собой вектор, состоящий из ;; четырех компонентов: ;; действие, которое нужно выполнить, ;; объект, над которым должно быть выполнено действие; ;; исходное положение; ;; положение, в которое нужно перейти. (deftemplate goal (field action (type SYMBOL)) (field object (type SYMBOL)) (field from (type SYMBOL)) (field to (type SYMBOL)) ) ;; Вектор 'in' указывает, где находится объект, (deftemplate in (field object (type SYMBOL)) (field location (type SYMBOL))) ФАКТЫ ;;Функция 'deffacts' вводит в рабочую память ;;описание исходного состояния. ;;Функция вызывается при перезапуске системы. ;;Исходное состояние объектов следующее. ;;Робот находится в комнате А, ;;ящик находится в комнате В, ;;цель - вытолкнуть ящик в комнату А. (deffacts world (in (object robot) (location RoomA)) (in (object box) (location RoomB)) (goal (action push) (object box) (from RoomB) (to RoomA)) ) ;; ПРАВИЛА ;; Это правило утверждает: ;; Прекратить процесс, когда цель будет достигнута. (defrule stop (goal (object?X) (to?Y)) (in (object?X) (location?Y)) => (halt)) ;; Если робот отсутствует в том месте, где находится ;; объект, который нужно передвинуть, ;; переместить туда робот. (defrule move (goal (object?X) (from?Y)) (in (object?X) (location?Y)) ?robot-position <- (in (object robot)
(location?Z&~?Y)) => (modify?robot-position (location?Y)) ;; Если робот и объект не в том помещении, ;; которое указано в цепи, ;; переместить туда робот и объект. (defrule push (goal (object?X) (from?Y) (to?Z)) (in (object?X) (location?Y)) ?object-position <- (in (object?X) (location?Y)) ?robot-position <- (in (object robot) (location?Y)) => (modify?robot-position (location?Z)) (modify?object-position (location?Z)) Это законченная программа на языке CLIPS, которую можно запустить на выполнение в среде разработки CLIPS 6.O. В этой программе не нужно было специально предусматривать какие-либо варианты разрешения конфликтных ситуаций, поскольку стратегия, предложенная по умолчанию, всегда обеспечит решение задачи (см. раздел 5.3). Введите в систему текст этой программы и запустите на выполнение: Введите (reset), Затем введите (run). С помощью команды watch посмотрите, в каком порядке будут использоваться специфицированные в программе правила. Во врезке 5.2 представлены трассировка выполнения этой программы и краткие пояснения. Трассировка программы управления роботом Представленная ниже карта трассировки будет сформирована при запуске про-граммы в режиме трассировки.
|
|||||
Последнее изменение этой страницы: 2021-07-18; просмотров: 40; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.71.142 (0.006 с.) |