Интеллектуальные решатели задач. Стратегии поиска с оценочными функциями. Игровые стратегии поиска решения, страница 2

                                           2                  5

                               Б                               С

 


                                         2                                1

                               Д                                Е

Стратегия равных цен

Стратегия равных цен применяется в тех случаях, когда дерево вариантов содержит часто повторяющиеся ситуации. Эта стратегия относится к задачам затратного типа. Поиск осуществляется на основе перебора в ширину, причем все достигнутые вершины получают оценки в виде суммарного частичного пути, пройденного до соответствующей вершины. Всякий раз, когда ситуация повторяется, запоминается кротчайший путь до неё. Продемонстрируем следующем рисунком(из А в Ф):

Овал: ДОвал: БОвал: СОвал: ФОвал: А               1                                    4

                                 1

                      1                           2                          1

Прямой и обратный поиск

По направлению поиск делится на прямой и обратный. При прямом поиске шаги поиска делаются от начальной ситуации к конечной. При обратном поиске от конечной ситуации к начальной.

Сокращение числа просматриваемых вариантов возможно при использовании комбинированного встречного поиска.

ИГРОВЫЕ СТРАТЕГИИ ПОИСКА РЕШЕНИЯ

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

Минимаксный подход

В этом случае оценочная функция используется для одного игрока со знаком «+», а для другого со знаком «-», или же говорят, что один игрок стремиться максимизировать оценочную функцию, а другой минимизировать эту же оценочную функцию. Соответственно игроки называются МАКС и МИН. В минимаксном подходе оценка ситуаций рассчитывается на основе частичного перебора на несколько ходов в глубину. При этом оцениваются последние полученные ситуации и от них пересчет ситуаций осуществляется к отцовской вершине, исходя из того что игрок МАКС выбирается ход с максимальной оценкой, а игрок МИН с минимальной. За счет сделанных предположений о том, что каждый игрок выбирает лучший для себя ход, существует возможность сокращения перебора методом локально углубленного поиска. Для этого оценивается сначала минимаксный способом N ходов в глубину, выбирается наиболее вероятное продолжение и от него делается уточнение оценки еще на M ходов в глубину. Если оценка не становится хуже, делается ход в реальной предметной области. В противном случае реализуется возврат к вариантам, оцененным ранее как мене предпочтительными.

Метод α\β отсечений

Метод заключается в отказе от рассмотрения ходов, на которые противник может дать заведомо более сильный ответ, чем на ранее рассмотренные собственные ходы. α отсечение используется обоими соперниками для МАКС игрока, если какой из вариантов приписывает отцовской вершине оценку заведомо меньшую, чем лучшая оценка предыдущих отцовский вершин. β отсечение используется обоими соперниками для МИН игрока, если какой то из вариантов приписывает отцовской вершине оценку заведомо большую, чем оценка предыдущих отцовских вершин.

Программная реализация интеллектуальных решателей задач

Циклическая и рекурсивная реализации

При циклической реализации в программе выделяется один главный цикл, в котором параметром цикла является номер уровня (хода) в дереве вариантов. При выполнении очередного хода делается очередной цикл, и номер уровня увеличивается на единицу. При возврате к порождающим вершинам номер уровня уменьшается на два и вновь делается очередной цикл. В теле цикла осуществляются проверки:

1.  На наличие целевой ситуации.

2.  На наличие тупика.

3.  На исчерпание возможных ходов.

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

Рекурсивный алгоритм менее гибок, но более прост, так как заказ и освобождение памяти производится в нем автоматически. Рекурсивная процедура в своем теле содержит те же проверки, что и циклическая процедура, но вместо очередного цикла просто снова рекурсивно вызывается так же самая процедура.

Продукционный подход к реализации поиска решения

Под продукцией понимается дуга ориентированного графа, представляющего собой запись какого либо алгоритма и состоящая из пары условия -> действия. Считается, что если условие на дуге истинное, то выполняется соответствующее действие.

Оценка эффективности поиска

Оценки эффективности анализируют следующие характеристики:

1. Время поиска.

2. Объем оперативной памяти, занятой программой.

3. Активизированная поддерево вариантов - это дерево, построено имплицитно в процессе решения задач.

Базовые характеристики поиска рассчитываются на основе активизированного поддерева.

1.  Глубина поиска D: максимальное число вершин, порожденных до целевой или тупиковой вершины в дереве вариантов.

2.  Длина пути решения L: это число вершин лежащих на минимальном из найденных путей решений.

3.  Общее число порожденных вершин N.

Производные характеристики поиска рассчитываются на основе базовых.

4.  Разветвленность поиска R=N/L.

5.  Направленность поиска W=N1/L.

6.  Максимальное хранимое поддерево поиска M. Это максимальное число вершин, хранение которых необходимо в оперативной памяти одновременно для реализации метода.

7.  Эффективность просмотра вершин tc=T/N, где Т – время работы программы.

8.  Емкость поиска Vs = Vb*M, где Vb – объем оперативной памяти, занимаемой моделью ситуации в байтах.

Эффективные характеристики поиска

Если рассмотренные ранее характеристики разделить на время поиска, то можно получить характеристики, которые называются эффективными.

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