Научная литература
booksshare.net -> Добавить материал -> Психология -> Сальвенди Г. -> "Человеческий фактор. Том 3. Часть 1" -> 46

Человеческий фактор. Том 3. Часть 1 - Сальвенди Г.

Сальвенди Г. Человеческий фактор. Том 3. Часть 1 — М.: Мир, 1991. — 487 c.
ISBN 5-03-001815-8
Скачать (прямая ссылка): chelovecheskiyfactort3ch11991.djvu
Предыдущая << 1 .. 40 41 42 43 44 45 < 46 > 47 48 49 50 51 52 .. 198 >> Следующая

Начальные условия Оператор Результаты
1. AT (ROBOT, OBJ) ALARGE (OBJ) ACLEAR (OBJ) AHANDEMPTY 2. AT (ROBOT, OBJ) 3. ASMALL (OBJ) Отрицание 4. AT (ROBOT, OBJ) 5. HOLDING (OBJ) 6. AT (ROBOT, OBJ2) AHOLDING (OBJ1) PUSH (OBJ, LOC) CARRY (OBJ, LOC) AT (OBJ, LOC) ЛАТ (ROBOT, LOC) AT (OBJ, LOC) AAT (ROBOT, LOC) AT (ROBOT, LOC) HOLDING (OBJ) HOLDING (OBJ) ON (OBJ1, OBJ2)
WALK (LOC) PICKUP (OBJ) PUTDOWN (OBJ) PLACE (OBJ1, OBJ2)
В табл. 2.1 показано, какие операторы можно применять-для уменьшения той или иной невязки. Отметим, что в некоторых случаях уменьшение невязки обеспечивается несколькими операторами, а один оператор может обеспечивать уменьшение сразу нескольких невязок.
Предположим, что перед роботом поставлена задача переместить стол, на котором установлены два объекта, из одной комнаты в другую. Объекты, установленные на столе, также должны быть перемещены вместе со столом. Главная разница между исходным и целевым состояниями заключается в местоположении стола. Для уменьшения этой разницы можно использовать оператор PUSH (передвинуть) или CARRY (перенести). Если сначала выбран оператор CARRY, то должно удовлетворяться его предусловие. Это приводит к еще двум невяз-
114 Глава 2
Таблица 2.1. Таблица операторов уменьшения невязок
Невязка Оператор
PUSH CARRY WALK PICKUP PUTDOWN ’LACE
Переместить объект + +
Переместить робот +
Освободить объект +
Установить объект на объект +
Освободить руку + +
Удерживать объект +
кам, которые должны быть уменьшены: по местоположению робота и размеру стола. Местоположение робота можно изменить, применяя оператор WALK (переместиться)^но операторов, с помощью которых можно было бы изменить размер объекта, нет. Поэтому данный путь ведет в тупик. Другой способ преодоления разницы между исходным и целевым состояниями заключается в использовании оператора PUSH.
Оператору PUSH соответствуют три предусловия, два из которых приводят к разницам между исходным и целевым состояниями. Поскольку стол уже представляет собой большой объект (LARGE), это предусловие (третье по счету) не создает дополнительной невязки. Робот можно переместить в нужное положение путем использования оператора WALK, а поверхность стола можно освободить, дважды применяя оператор PICKUP (поднять). Однако после одного применения оператора PICKUP попытка его вторичного применения приведет к еще одной невязке, так как в руке робота ничего не должно быть. Для уменьшения этой невязки можно применить оператор PUTDOWN (опустить).
После применения оператора PUSH состояние задачи близко к целевому, но еще не совпадает с ним. Объекты необходимо установить обратно на стол. Для этого используется оператор PLACE (установить на). Однако его нельзя применить сразу. Сначала надо устранить еще одну невязку, поскольку робот должен удерживать объекты. Для этого можно применить оператор PICKUP, однако робот при этом должен находиться в том месте, где лежат объекты. Эту невязку можно устранить, применяя оператор WALK. После того как робот перешел на позицию двух объектов, он может воспользоваться операторами PICKUP и CARRY для перемещения этих объектов в другую комнату.
Порядок, в котором рассматриваются невязки, может иметь решающее значение. Важно сначала устранять наиболее суще-
искусственный интеллект
115
?ственные невязки, а затем уже менее критичные. В следующем разделе описывается робототехнический решатель задач, в котором используется анализ средств результатов.
2.6. Решение задач роботом и планирование действий
Простейшим типом робототехнической системы решения задач является система продукций, в базе данных которой хранятся описания состояний. Описания состояний и цели для задач, по-ставленных перед роботом, можно построить из логических утверждений. В качестве примера рассмотрим руку робота и конфигурацию кубиков, показанную на рис. 2.1. Эту ситуацию можно представить в виде конъюнкции следующих утверждений:
CLEAR (В) —на кубике В ничего нет,
CLEAR (С) — на кубике С ничего нет,
ON (С, А) —кубик С находится на кубике А,
ONTABLE (А) —кубик А находится на столе,
ONTABLE (В) —кубик В находится на столе,
HANDEMPTY — в руке робота ничего нет.
Цель заключается в том, чтобы установить кубик В на кубик
С, а на кубик В — кубик А. Эту цель можно описать в виде следующей логической формулы: ON(6, С)AON(Л, В).
Действия робота изменяют одно состояние (конфигурацию) системы на другое. Один простой и полезный метод представления действия робота был использован в робототехнической системе решения задач, названной STRIPS [4]. В ней для представления действия робота используется набор правил. Каждое правило состоит из трех частей. Первая часть — это предусловие, которое должно иметь значение «истина», прежде чем можно будет применить данное правило. Оно обычно выражается левой частью правила. Второй компонент представляет собой список предикатов, называемый списком удалений. При применении правила к описанию состояния, или базе данных, все утверждения, перечисленные в этом списке, стираются из этой базы данных. Третья часть правила — это список добавлений. При применении правила утверждения, записанные в этом списке, добавляются к базе данных. Действие MOVE в примере с кубиками представлено ниже: переместить объект X из У в Z— MOVE(X, У, Z); предусловие — CLEAR(X), CLEAR(Z), ON(X, У); список удалений — ON(X, У), CLEAR(Z); список добавлений — ON(X, Z), CLEAR (У).
Предыдущая << 1 .. 40 41 42 43 44 45 < 46 > 47 48 49 50 51 52 .. 198 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed