Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_5 Неинформированный поиск.docx
Скачиваний:
20
Добавлен:
16.05.2015
Размер:
3.74 Mб
Скачать

1.1. Формулировка цели

Предположим, что у агента основной целью на текущий момент является поездка до своего отеля в Санта-Барбаре, в котором он забронировал номер. Он хочет добраться туда до заката, чтобы успеть сходить на пляж. В данном случае у агента появилась цель, и он будет стремиться ее достигнуть. Первым шагом в решении задачи является формулировка цели с учетом текущей ситуации и возможностей агента. Формулировка цели включает в себя описание цели, а также определение элементарных действий по ее выполнению.

Цель представляет собой одно из состояний мира, а именно такое состояние, в котором достигается цель. Предположим, что агент хочет добраться до отеля на автомобиле, а его действия заключаются в перемещении из одного крупного города в другой. В этом случае текущим состоянием мира является нахождение агента в Лос-Анджелесе, а целевым — его прибытие в Санта-Барбару.

Агент поставил перед собой цель доехать на автомобиле до Санта-Барбары и определяет, куда отправиться для этого из Лос-Анджелеса. Из этого города ведут две дороги — в Санта-Монику и Сан-Фернандо (см. рис.1). Прибытие в какой-либо из этих городов не представляет собой достижение намеченной цели, поэтому агент, не очень хорошо знакомый с географией Калифорнии, не будет знать, по какой дороге ему ехать. Иными словами, агент не знает, какое из его возможных действий является наилучшим, поскольку не обладает достаточными знаниями о состоянии, возникающем в результате выполнения каждого действия. Если агент не получит дополнительных знаний, то окажется в тупике. Самое лучшее, что он может сделать, — это выбрать одно из указанных действий случайным образом.

Но, предположим, что у агента есть карта Калифорнии либо на бумаге, либо в его памяти. Карта способна обеспечить агента информацией о состояниях, в которых он может оказаться, и о действиях, которые он способен предпринять. Агент имеет возможность воспользоваться этой информацией для определения последовательных этапов гипотетического путешествия через каждый из этих двух городов, в попытке найти такой путь, который приведет его в Санта-Барбару.

Описанный процесс определения такой последовательности называется поиском (или поиском в пространстве состояний). Любой алгоритм поиска принимает в качестве входных данных некоторую задачу и возвращает решение в форме последовательности действий (см. рис.2).

Рис.1. Задача агента — доехать из Лос-Анджелеса в Санта-Барбару

Рис.2. Процесс поиска

1.2. Формулировка задачи

Задача любого агента может быть определена с помощью четырех компонентов: начального состояния, функции определения преемника, функции проверки цели и функции определения стоимости пути.

1. Начальное состояние (X) — это состояние, в котором агент приступает к работе, например начальное состояние для нашего агента может быть описано, как пребывание в Лос-Анджелесе.

2. Функция определения преемника (S(x)) — представляет собой описание возможных действий, доступных агенту. Так, если задано конкретное состояние х, то функция S(x) возвращает множество состояний, которые могут быть достигнуты из х, например из состояния Лос-Анджелес, функция определения преемника возвратит города Сан-Фернандо и Санта-Моника (см. рис.1), т.е. S(Лос-Анджелес) = {Сан-Фернандо, Санта-Моника}.

Начальное состояние и функция определения преемника, вместе взятые, неявно задают пространство состояний данной задачи, т.е. множество всех состояний, достижимых из начального состояния. Пространство состояний образует граф, узлами которого являются состояния, а дугами между узлами — действия. Карта Калифорнии, показанная на рис.1, может интерпретироваться как граф пространства состояний, в котором узлы обозначают города, а дуги — движение от города к городу (см. рис.3).

Рис.3. Пространство состояний задачи

Путем в пространстве состояний является последовательность состояний, соединенных последовательностью действий.

3. Функция проверки цели (C(x)) позволяет определить, является ли данное конкретное состояние целевым. Эта функции принимает два значения: ИСТИНА, если состояние х является целью, или ЛОЖЬ — в противном случае, например С(Лос-Анджелес) = ЛОЖЬ, С(Лонг Бич) = ЛОЖЬ, а С(Санта-Барбара) = ИСТИНА.

4. Функция стоимости пути (U) назначает каждому пути числовое значение. Данная функция используется, когда агент находит несколько путей и из них необходимо выбрать самый оптимальный, например самый короткий по протяженности в километрах. Следует отличать понятия стоимости пути и стоимости этапа f(x, y). Стоимость этапа определяет стоимость единичного перехода из состояния х в состояние у. Стоимость пути складывается из стоимости этапов.

Таким образом, задача поиска представляется четверкой <X, S(x), C(x), U>. Решением задачи является путь от начального состояния в целевое, а качество решения определяется с помощью функции стоимости пути. Оптимальным является такое решение, которое имеет наименьшую стоимость пути из всех имеющихся.

Таким образом, задача нашего агента следующая. X = Лос-Анджелес. S(x) определяет города, соседние с х, С(х) принимает значение ИСТИНА тогда, когда х = Санта-Моника, где х — некоторое промежуточное состояние. Для простоты предположим, что расстояния между городами равны (или неизвестны), и функцию U определим как количество посещенных городов. Оптимальным будет являться путь с наименьшим числом посещенных городов.

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