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

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

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

В качестве примера организации такого процесса обратимся снова к задаче об укладке кубиков и плану, представленному треугольной таблицей на рис. 2.9. Предположим, что система выполняет действия, соответствующие первым четырем операторам, и что результаты этих действий соответствуют плану. Далее предположим, что система пытается выполнить действие «поднять кубик А», но исполняющая программа (на этот раз) принимает за кубик А кубик В, и робот поднимает вместо кубика А кубик В. Допустим снова, что сенсорная система правильно изменяет описание состояния, добавляя HOLDING (в) и удаляя ON (Б, С); в частности, она не добавляет HOLDING (Л). Если не было ошибки выполнения, то шестое ядро теперь будет соответствовать описанию; если ошибка была, то совпадающим ядром с наивысшим номером будет ядро 4. Поэтому производится повторное выполнение действия, соответствующего STACK (в, С), и система возвращается на путь, ведущий к цели.
Тот факт, что ядра треугольных таблиц перекрываются, дает
Искусственный интеллект
121
возможность более эффективно просматривать таблицу при поиске совпадающего ядра с наивысшим номером. Начиная с нижней строки, мы просматриваем таблицу слева направо на предмет поиска первой ячейки, содержащей утверждение, которое не соответствует описанию текущего состояния. Если при просмотре всей строки такой ячейки не обнаруживается, это -значит, что целевая ячейка совпадает с описанием; в противном случае, если такая ячейка обнаруживается в столбце г, номер совпадающего ядра с наивысшим номером не может быть больше г. В последнем случае мы устанавливаем границу на столбце г, перемещаемся вверх на следующую строку и начинаем просматривать ее слева направо до установленной границы. Если мы находим ячейку, содержащую несовпадающее утверждение, граница переносится, осуществляется переход вверх на
Комната, R1 Две \ Робот Д Комната R2. L Ящик РЬШ В1 1 1
1 1 Дверь D2. Комната Я 3
Рис 2 10 Модель исходного состояния мира робота.
следующую строку, снова начинается ее просмотр и т. д. Если граница установлена на k-u столбце, то процесс прекращается, лсогда обнаруживается, что k-e ядро является совпадающим ядром с наивысшим номером,— после просмотра k-й (снизу) строки до установленной границы.
Пример 5
Рассмотрим простую задачу переноса ящика из соседней комнаты робототехническим транспортным средством. Пусть исходное состояние мира робота соответствует модели, показанной на рис. 2.10. Предположим, что имеются два оператора: GOTHRU (идти через) и PUSHTHRU (передвигать через): GOTHRU(d, т 1, г2) —робот проходит через дверь d «з комнаты г 1 в комнату г2. Предусловие: INROOM(ROBOT, rl)ACONNECTS(d,
122 _ Глава 2
Таблица 2.2. К примеру 5
Оператор
Невязка GOTHRU 1 PUSHTHRU
Положение ящика +
Положение робота +
Положение ящика и робота +
г 1, г2)—робот находится в комнате г 1, а дверь d соединяет комнату г1 с комнатой г2.
Список удалений: INROOM (ROBOT, S) для любого значения 5. Список добавлений: INROOM(ROBOT, г2).
PUSHTHRU(6, d, rl, r2)—робот передвигает объект b через дверь d из комнаты г\ в комнату г2.
Предусловие: INROOM(b, rl)AlNROOM(ROBOT, rl)ACON-NECTS (d, r 1, r2).
Список удалений: INROOM(ROBOT, S), INROOM(&, S). Список добавлений: INROOM(ROBOT, r2), 1NR00M(&, r2). Операторы уменьшения невязок приведены в табл. 2.2.
Когда система STRIPS получает задание, она сначала пытается достичь цель Go из исходного состояния Мо. Эта задача не может быть решена немедленно. Однако, если исходная база данных содержит утверждение INR00M(51, #1), процесс решения задачи может продолжаться. Система находит оператор PUSHTHRU (?1, d, rl, RI), в результате действия которого может быть получено требуемое утверждение. Предусловие Gi для PUSHTHRU имеет вид:
(?!: INROOM (?1, г1)Д JNROOM (ROBOT, rt) Д Д CONNECTS[d, rl, Rl).
Применяя метод анализа средств и результатов, система присваивает этому предусловию статус подцели и начинает движение к ней из М0.
Несмотря на то что решение этой задачи не может быть найдено немедленно, если система обнаруживает, что rl=R2, d= = d 1 и текущая база данных содержит INROOM(ROBOT, 7?2), процесс поиска решения можно продолжить. Система вновь находит оператор GOTHRU(d, rl, R2), в результате действия которого может быть получено требуемое утверждение. Его предусловие— это следующая цель, а именно
Ga: INROOM (ROBOT, rl) д CONNECTS(d, rl, R2).
Искусственный интеллект
123
Система может достичь G2, используя подстановки rl = Rl и d=D 1. Для этого она применяет GOTHRU(Z)l, R1, R2) к Мо. В результате имеем
Mi: INROOM (ROBOT, R2) CONNECTS (D1, Rl, R2)
CONNECTS (D2, R2, ДЗ), BOX (Bl)
INROOM (Bl, R2), ...
(Vx) (Yy) (Vz) [CONNECTS (x, y, x) ** CONNECTS (x, z, у)]
Исходная база данных Af0:
INROOM (ROBOT, Rl)
CONNECTS (D1, jRI, R2)
CONNECTS (D2, R2, RZ)
BOX (Bl)
INROOM (Bl, R2)
(Vx У у Vz) [CONNECTS (x, y, z) —? CONNECTS (x, z, (/)]
Цель G0:
(Эх) [BOX (x)AINROOM (х,Я1)]
Теперь система пытается достичь подцели Gi, пользуясь новой базой данных Ми Для нахождения оператора PUSHTHRU (Вь D\, R.2, Ri) она использует подстановки rl=R2 и d—'Dl. Применение этого оператора к М\ дает
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 198 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed