Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВалерий Ярунин
1 Планировщик STRIPS Программа STRIPS [Fikes and Nilsson, 1971] демонстрирует один из подходов к представлению проблем. Наименование программы аббревиатура от Stanford Research Institute Problem Solver (решатель проблем Станфордского исследовательского института). Программа предназначалась для решения проблемы формирования плана поведения робота, перемещающего предметы через множество (анфиладу) помещений. Текущее состояние окружающей среды помещений и предметов в них представляется набором выражений предикат-аргумент, которые в совокупности образуют модель мира. Так, набор формул W={ at (po6oт, комнатаА), at (ящик1, комнатаБ), аt (ящик2, комнатаВ)} означает, что робот находится в комнате А и имеются два ящика, один из которых находится в комнате Б, а второй в комнате В.
2 Действия, которые может выполнить робот, принимают форму операторов, приложимых к текущей модели мира. Эти операторы позволяют добавить в модель некоторые факты (сведения) или изъять их из модели. Например, выполнение операции "Переместить робот из комнаты А в комнату Б в модели мира W приведет к формированию новой модели W*. При этом факт at (робот, комнатаА) будет изъят из модели, а добавлен факт at (робот, комнатаБ). В результате новая модель мира будет иметь вид W*={ at (po6oт, комнатаБ), at (ящик1, комнатаБ), аt (ящик2, комнатаВ)}
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)) )
4 ФАКТЫ Функция 'deffacts' вводит в рабочую память описание исходного состояния. Функция вызывается при перезапуске системы. Исходное состояние объектов следующее. Робот находится в комнате А, ящик находится в комнате В, цель - вытолкнуть ящик в комнату А. (deffacts world (in (object robot)(location RoomA)) (in (object box)(location RoomB)) (goal (action push)(object box) (from RoomB) (to RoomA)) )
5 ПРАВИЛА Это правило утверждает: Прекратить процесс, когда цель будет достигнута. (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 (modify ?robot-position (location ?Y))
6 Если робот и объект не в том помещении, которое указано в цели, переместить туда робот и объект. (defrule push (goal (object ?X) (from ?Y) (to ?Z)) (in (object ?X) (location ?Y)) ?object-position (modify ?robot-position (location ?Z)) (modify ?object-position (location ?Z))
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.