поддержка
проекта:
разместите на своей странице нашу кнопку!И мы
разместим на нашей странице Вашу кнопку или ссылку. Заявку прислать на
e-mail
код нашей кнопки:
Планирование поведения
Планирование поведения - одно из направлений исследований по
искусственному интеллекту. Основная задача этого направления - поиск
процедур, которые могли бы автоматически предлагать наикратчайший путь к
достижению поставленной цели, исходя из данной ситуации.
Задачи такого типа оказались наиболее актуальными для роботов,
действующих автономно. Решая поставленную перед ним задачу, робот должен
составить план ее решения и постараться его выполнить. Если в процессе
реализации этого плана робот убедится, что имеются непреодолимые
препятствия, то он должен построить другой план, в котором этих
препятствий не существует.
Приведем пример. На рис. 1 показано исходное положение робота и цель,
которую он должен достичь. Но датчики робота сигнализируют, что его
аккумуляторы нуждаются в подзарядке, без чего достичь цели невозможно. В
базе знаний робота хранится план помещений, из которого он узнает
координаты, определяющие местоположение зарядного устройства. Зная свои
исходные- координаты, робот по довольно простым алгоритмам (предлагаем
читателю самому их построить, для этого вполне достаточно знаний из
школьного курса геометрии) прокладывает свой путь из комнаты А через
комнату Б в комнату В, где находится зарядное устройство (этот
план-маршрут показан на рисунке пунктирной линией). Но план этот
нереализуем, так как дверь из комнаты Б в комнату В загородили шкафом.
Вероятно, это случилось недавно. По данным, которыми пользовался робот
при составлении траектории своего движения, эта дверь была свободной.
Находясь же в комнате А, робот даже с прекрасным зрением за стенами
помещения не может увидеть возникшее препятствие.
Итак, выработав план действий, робот начинает его осуществлять. Он
перемещается из комнаты А в комнату Б и тут обнаруживает шкаф,
закрывающий ему прямой путь в комнату В. В этой ситуации поведение
робота может быть различным. Например, робот может быть запрограммирован
на устранение препятствия, перемещение его в другоеместо. Ну а если такой программы нет? В этом случае роботу
придется искать другой план-маршрут, не связанный с перемещением
препятствия.
Робот составляет новый план и находит путь через комнаты Г и Д,
ведущий в желанную комнату В. Этот маршрут из комнаты А (исходной
ситуации) робот мог бы найти сразу, но он предпочел кратчайший путь
через дверь между комнатами Б и В. Необходимость экономии ресурса,
связанного с энергопитанием, определила для робота выбор кратчайшего
маршрута как наиболее приемлемого. Но теперь делать нечего, и робот
начинает движение по новому маршруту.
Из описанного примера следуют два важных вывода.
Первый вывод. Планирование, если оно выполняется в условиях отсутствия
части информации, требует корректировки при появлении дополни-
тельной информации, которая сказывается на ранее выработанном плане. Но
часто на приблизительное планирование идут сознательно, не желая тратить
много времени на выработку точного плана. Например, собираясь в
туристский поход, можно заранее по карте наметить предполагаемый
маршрут, хотя карта и не позволяет спланировать его во всех деталях.
Уточнить маршрут проще в походе с учетом местных условий. Это означает,
что планирование желательно сделать иерархическим, многоуровневым,
например трехуровневым, как это показано на рис. 2. На уровне
стратегического планирования робот решает "задачу вообще", пользуясь
лишь глобальной информацией, имеющейся на карте. Он должен прежде всего
убедиться, что поставленная задача имеет хотя бы одно решение. Если
задача разрешима, то он может начать уточнять ее спомощью более детальных карт и планов. На этом этапе
планирования, называемом обычно тактическим, выбирают наиболее
приемлемый маршрут и уточняют временные, энергетические и прочие затраты
на его реализацию. Потом наступает этап оперативного планирования, когда
план тактического уровня уже реализуется и корректируется лишь при
появлении новой информации.
В процессе планирования возможны возвраты с нижнего уровня
планирования на верхний. Науровне
тактического планирования может, например, выясниться, что
стратегический план неприемлем из-за недостаточных энергетических
ресурсов у робота, так как этот план при движении к цели предусматривает
преодоление горного перевала, но на такие энергозатраты робот пойти не
может. Тогда находят новый стратегический план, предусматривающий
движение по более длинному пути, но зато без крутых подъемов.
Аналогичная ситуация может сложиться и на оперативном уровне
планирования, когда потребуется изменение тактического плана.
И второй важный вывод из рассмотренного нами примера. В процессе
планирования робот должен уметь решать оптимизационные задачи, связанные
с выбором одного варианта из множества возможных. Особенности решения
таких задач описаны в статье "Выбор".
Более сложное планирование поведения связано с решением задач, для
которых нет процедур прямого поиска траекторий, ведущих к решению. На
уроках математики и физики вы постоянно сталкиваетесь с такими задачами.
Известны исходные данные задачи и то, что требуется найти. Но
неизвестно, как определить путь движения от исходных данных к искомому
результату.
При планировании поведения в таких случаях используются две глобальные
идеи: декомпозиция исходной задачи в пространстве задач и декомпозиция
цели в пространстве целей. В первом приеме планирования все усилия
направлены на то, чтобы декомпозировать (разложить) исходную задачу на
такие подзадачи, путь решения которых известен. Встретившись, например,
с необходимостью ре-
шения уравнения log х + 2logx +7=0 можно путем
замены у = log* свести решение исходной задачи к двум: решению
квадратного уравнения у2 + 2у + 7 = 0 и вычислению х из уравнения х = 10y.
Если известно, как решать эти две задачи, то найден путь решения
исходной задачи.