Алгоритм оценочных (штрафных) функций
Умело подобранные оценочные функции (в некоторых источниках - штрафные функции) могут значительно сократить полный перебор и привести к решению достаточно быстро в сложных задачах. В нашей задаче о людоедах и миссионерах в качестве самой простой целевой функции при выборе очередного состояния можно взять число людоедов и миссионеров, находящихся "не на месте" по сравнению с их расположением в описании целевого состояния. Например, значение этой функции f=x+y для исходного состоянияf0=6, а значение для целевого состояния f1=0.
Эвристические процедуры поиска на графе стремятся к тому, чтобы минимизировать некоторую комбинацию стоимости пути к цели и стоимости поиска. Для задачи о людоедах введем оценочную функцию:
f(n) = d(n) + w(n)
где d(n) - глубина вершины n на дереве поиска и w(n) - число находящихся не на нужном месте миссионеров и людоедов. Эвристика заключается в выборе минимального значения f(n). Определяющим в эвристических процедурах является выбор оценочной функции.
Рассмотрим вопрос о сравнительных характеристиках оценочных целевых функций на примере функций для игры в "8" ("пятнашки"). Игра в "8" заключается в нахождении минимального числа перестановок при переходе из исходного состояния в конечное (терминальное, целевое).
2 | 8 | 3 |
1 | 6 | 4 |
7 | * | 5 |
1 | 2 | 3 |
8 | * | 4 |
7 | 6 | 5 |
Рассмотрим две оценочные функции:
h1(n) & = Q(n)
h2(n) & = P(n) + 3S(n),
где Q(n) - число фишек не на месте; P(n) - сумма расстояний каждой фишки от места в ее целевой вершине; S(n) - учет последовательности нецентральных фишек (штраф +2 если за фишкой стоит не та, которая должна быть в правильной последовательности; штраф +1 за фишку в центре; штраф 0 в остальных случаях).
Сравнение этих оценочных функций приведено в таблица 3.1.
Таблица 3.1. Сравнение оценочных функций | ||||
Оценочная функция h | Стоимость (длина) пути L | Число вершин, открытых при нахождении пути N | Трудоемкость вычислений, необходимых для подсчета h S | Примечания |
h1 S0 S1 | 5 >18 | 13 100-8!(=40320) | 8 | Поиск в ширину |
h2 S0 S1 | 5 18 | 11 43 | 8*2+8+1+1 | Поиск в глубину |
На основе сравнения этих двух оценочных функций можно сделать выводы.
Основу алгоритма поиска составляет выбор пути с минимальной оценочной функцией.
Поиск в ширину, который дает функция h1, гарантирует, что какой-либо путь к цели будет найден. При поиске в ширину вершины раскрываются в том же порядке, в котором они порождаются.
Поиск в глубину управляется эвристической компонентой 3S(n) в функции h2 и при удачном выборе оценочной функции позволяет найти решение по кратчайшему пути (по минимальному числу раскрываемых вершин). Поиск в глубину тем и характеризуется, что в нем первой раскрывается та вершина, которая была построена самой последней.
Эффективность поиска возрастает, если при небольших глубинах он направляется в основном в глубь эвристической компонентой, а при возрастании глубины он больше похож на поиск вширь, чтобы гарантировать, что какой-либо путь к цели будет найден. Эффективность поиска можно определить как E=K/L*N*S, где K и S (трудоемкость) - зависят от оценочной функции, L - длина пути,N - число вершин, открытых при нахождении пути. Если договориться, что для оптимального пути E=1, то K=L0*N0*S0.
- Интеллектуальные информационные системы
- 230201 - Информационные системы и технологии
- 080801 - Прикладная информатика в экономике
- Оглавление
- 1. Введение в интеллектуальные информационные системы
- 1.1. Предмет исследования искусственного интеллекта
- 1.2. Определение иис
- 1.3. Искусственный интеллект и интеллектуальное поведение
- 1.4. Определения, используемые в дисциплине иис
- 1.5. Исторический обзор работ в области ии
- Доказательство теорем.
- Распознавание изображений.
- Экспертные системы.
- Машинный перевод и понимание текстов на естественном языке.
- Игровые программы.
- Машинное творчество.
- 1.6. Кратко о развитии робототехники
- 1.7. Области коммерческого использования искусственного интеллекта
- 1.8. Иис других типов
- 1.9. Интеллектуальные агенты
- 1.10. Примеры иис
- 2. Системы представления знаний
- 2.1. Фреймы
- 2.2. Исчисления предикатов
- 2.3. Системы продукций
- 2.4. Семантические сети
- 2.5. Нечеткая логика
- 3. Методы поиска решений
- 3.1. Методы поиска решений в пространстве
- 3.2. Алгоритмы эвристического поиска
- Алгоритм наискорейшего спуска по дереву решений
- Алгоритм оценочных (штрафных) функций
- Алгоритм минимакса
- Альфа-бета-процедура
- 3.3. Методы поиска решений на основе исчисления предикатов
- 3.4. Задачи планирования последовательности действий
- 3.5. Поиск решений в системах продукций
- 4. Распознавание изображений
- 4.1. Общая характеристика задач распознавания образов и их типы.
- 4.2. Основы теории анализа и распознавания изображений.
- 4.2. Распознавание по методу аналогий.
- 4.3. Актуальные задачи распознавания
- 5. Общение с эвм на естественном языке. Системы речевого общения
- 5.1. Проблемы понимания естественного языка
- 5.2. Анализ текстов на естественном языке
- Морфологический анализ
- Синтаксический анализ
- Семантическая интерпретация
- Проблемный анализ
- 5.3. Системы речевого общения
- 6. Методология построения экспертных систем
- 6.1. Экспертные системы: Определения
- 6.2. Основные компоненты эс
- 6.3. Типы решаемых задач эс:
- 6.4. Ограничения и недостатки эс:
- 6.5. Обобщенная схема эс
- 6.6. Экспертные системы: классификация
- 6.7. Трудности при разработке экспертных систем
- 6.8. Методология построения экспертных систем
- 6.9. Примеры экспертных систем
- 7. Практическая разработка экспертных систем в среде clips
- 7.1 Постановка задачи
- 7.2. Основы программирования в системе clips
- 7.3. Программирование в clips экспертной системы управления технологическим процессом