Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Conspekt.doc
Скачиваний:
11
Добавлен:
31.08.2019
Размер:
1.39 Mб
Скачать

4.5 Система управления роботом strips.

STRIPS - Stanford Research Institute Problem Solver.

"Стрипс" - "решатель задач Стендфордского НИИ".

Эта система составляет основу механизма планирования экспериментального робота, способного целенаправленно передвигаться в среде с подвижными препятствиями. Эту систему можно рассматривать как программу, осуществляющую поиск в пространстве состояний, в котором достигается заданная цель.

Робот содержит 4 подсистемы:

1. Тележка.

2. Сенсорная подсистема (телекамера+датчики).

3. Бортовая ЭВМ.

4. Подсистема радиосвязи со стационарной ЭВМ.

Мы рассмотрим только то, как этот робот решает задачу планирования поведения, т.к. именно в этой задаче применяются принципы ИИ. Предполагается, что преобразование пространства состояний осуществляется под действием операторов, имеющихся в распоряжении системы. Т.о., целью системы при решении задачи является нахождение последовательности операторов, преобразующих начальное состояние в конечное, удовлетворяющее заданному целевому условию.

Задача представляется в пространстве состояний:

Мц -целевое состояние Мо-начальное состояние

 

{Qi} –множество операторов, которые м.воздействовать на состояния

Задача планирования поведения :

Автоматически подобрать такую последовательность операторов О1,О2,...Оn, которая преобразует Мо-->Мц

Мц = (Оn(...(О2(О1(Мо)))...))

Описание задачи в " стрипс " требует описания на языке исчисления предикатов:

1) состояние среды в которой находится робот (набор ППФ).

2) описание набора операторов.

3) описание целевых утверждений.

1) Описание среды: Осуществляет оператор AT(x,y) – объект х находится в точке y.

В качестве объекта х м.выступать сам робот, а также м.выступать препятствия

AT(R,y) - робот в т.у

AT(box,y) - препятствие в т.у

2) Описание операторов на языке исчисления предикатов:

а) условия применимости оператора

б) список вычеркиваний

в) список дополнений

Будем считать, что R известны 2 оператора( оп ):

goto(m,n)

push(box,m,n)

Причем

goto(m,n) ::=

а) Условия применимости:

AT(R,m) - робот должен нах-ся в точке m

б) Список вычеркиваний:

AT(R,m) - ушел из точки m

в) Список дополнений:

AT(R,n) -пришел в т.n

push(box,m,n) ::=

а) AT(R,m)/\AT(box,m) -и R, и box должны

находиться в т.m

б) AT(R,m),AT(box,m)

в) AT(R,n),AT(box,n)

3) Запишем ЦУ: Собрать 3 контейнера в одну точку.

В системе "Стрипс" поиск решения осуществляется в результате двух процессов:

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

  2. Поиск в пространстве состояний, основанный на выделении различий между текущим и целевым состояниями и отыскании таких операторов, которые подходят для уменьшения этих различий.

Пусть R находится в т.а ,и пусть контейнера находятся в т. b,c,d соответственно

b

а  c

d

ЦУ:

G0 Exist x( AT(box1,x)/\AT(box2,x)/\AT(box3,x) )

__ __ __ __

G0 AT(box1,x) U AT(box2,x) U AT(box3,x)

¦

" первоначальное ЦУ "

Процесс( ПР) поиска требуемой последовательности операторов начинается с того, что к исходному состоянию задачи и отрицанию первоначального ЦУ (~G0) пытаются применить принцип резолюции, т.е. что { M0 U ~GO } –несовместны. Если в ходе этой попытки получили NIL, то конец. Иначе остается незавершенное доказательство, которое выступает в качестве меры различия между исходным состоянием и тем состоянием, в которое мы должны прийти.

Незавершенное док-во используется для выбора оператора, в последовательности дополнений которого существует предикат, позволяющий выполнить очередной шаг или в соответствии с прпом резолюции.

Если такой оператор найден, то условие применимости этого оператора становятся новой целью (подцелью).

(M0, (G0)) -пытались вывести G0 из M0

пытаемся вы-

вести Ga из М0

(M0,(Ga,G0)) (M0,(Gb,G0))

Если условие

Оа(оп) применимости

оператора

выполняется.

(M1,G0) (M0,(Gc,Gb,G0))

Ос

(M2,(Gb,G0))

Построение дерева осуществляется до тех пор, пока не будет достигнуто состояние G0. Поясним  дерево на примере :

AT(R,a) G1: AT(R,m)/\AT(box2,m)

M0= AT(box1,b) ~G1: ~AT(R,m) U ~AT(box2,m)

AT(box2,c)

AT(box3,d)

__ __ __

AT(box1,b) AT(box1,x) U AT(box2,x) U AT(box3,x)

B x

__ __

AT(box2,b) U AT(box3,b) -незавершенное доказательство

Список дополнений оператора push(box,m,n)

AT(R,n),AT(box,n) (см. п. Описание опера-

торов на языке исчисления предикатов)

box2 box

b n

Должны применить оп push(box2,m,b)

( Текущая вершина дерева теперь (M0,(G1,G0)) )

__ __

AT(box2,с) AT(R,m) U AT(box2,m)

c m

__

AT(R,c) -незавершенное доказательство

Видим, что в списке дополнений оп goto(m,n) содержит

предикат AT(R,m)

c m

Должны применить оператор goto(m,c)

Новая подцель : G2: AT(R,m) -условия применимости оп goto

~G2: ~AT(R,m)

Сейчас мы находимся на вершине дерева (M0,(G2,G1,G0))

__

AT(R,m) AT(R,a)

A m

NIL -Это значит,что мы можем при-

менить оп goto(m,c)

Учитывая подстановку a-->m применяем оп goto(a,c)

В результате вышеизложенного получим новое состояние М1:

AT(R,c) -обрати внимание робот перешел из т.а

AT(box1,b) в т.с

M1= AT(box2,c)

AT(box3,d)

Текущая вершина (M1(G1,G0))

__ __ __

G1: AT(R,m) U AT(box2,m) AT(R,c)

c m

__

AT(box2,c) AT(box2,c)

NIL -значит м.применить

оп push(box2,m,b)

Учитывая подстановку с-->m применяем оп push(box2,c,b)

Применяем к M1 и получаем М2

AT(R,b)

AT(box1,b)

M2= AT(box2,b)

AT(box3,d)

Текущая вершина : (M2,(G0))

В результате получим последовательность операторов

{ goto(a,c), push(box2,c,b), goto(b,d), push(box3,d,b) }

В заключение отметим, что развитие системы происходит в направлении сообщения ей возможности обучения.

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