Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Применение оценочных функций при эвристическом поиске





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

Рассмотрим, например, такую задачу. Имеется шахматная доска
n*n, где n — очень большое число. Требуется перевести коня из левого верхнего угла в правый нижний за минимальное число ходов. Очевидно, что разумной эвристикой будет движение вдоль главной диагонали. Но эвристическая информация должна иметь числовой вид.

Построим оценочную функцию f(u), принимающую на вершинах графа состояний действительные значения. Таким образом, f(u) — оценка перспективности вершины u. Договоримся строить f таким образом, чтобы вершина с меньшим значением f с большей вероятностью находилась на минимальном пути к целевой вершине.

Определим f так, чтобы ее значение f(u) для любой вершины u оценивало сумму стоимостей минимального пути от исходной вершины s к вершине u + стоимость минимального пути от s до t при условии, что он проходит через вершину u.

Определим функцию f*(u) как стоимость минимального пути от s до u + стоимость минимального пути от u до t:

f*(u)=g*(u)+h*(u).

Мы хотим, чтобы наша оценочная функция f(u) была оценкой f*(u) (стоимости настоящего минимального пути от s до t через u). Тогда

f(u)=g(u)+h(u), где

g(u) — стоимость уже пройденного пути от s до u (не обязательно минимального!),

h(u) — значение эвристики вершины u.

Таким образом, g(u) есть оценка g*(u) и g(u)≥g*(u); h(u) есть оценка пути, который придется пройти от u до t, и возможны два варианта этой оценки:

h(u)≤h*(u) и h(u)>h*(u).

Эвристики первого типа называются «малыми», эвристики второго типа — «большими».

Как мы увидим далее, эвристики «малого» типа гарантируют минимальность решения, если удается завершить поиск за реальное время. Эвристики «большого» типа не гарантируют того, что решение будет найдено, но если оно будет найдено, то за наименьшее время, так как «большие» эвристики очень сильно фокусируют поиск в направлении целевой вершины.

Date: 2015-08-07; view: 400; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию