|
Часть 9.<4.3. ><Использование ><эвристик ><в ><играх> <><В ><то ><время ><две ><противоположные ><концепции ><вызвали ><многочисленные ><споры. ><Лучшие ><игроки ><различали ><два ><принципиальных ><типа ><Игры ><- ><формальный ><и ><психологический.>
<- ><Герман ><Гессе ><(Hermann > <4.3.1. ><Процедура ><минимакса ><на ><графах, ><допускающих ><полный ><перебор> <Игры ><всегда ><были ><важной ><прикладной ><областью ><для ><эвристических ><алгоритмов. ><Игры ><для ><двух ><человек ><более ><сложны, ><чем ><простые ><головоломки ><из-за ><существования ><"враждебного" ><и, ><по ><существу, ><непредсказуемого ><противника. ><Такие ><игры ><не ><только> <><Глава ><4. ><Эвристический ><поиск> <169> ><<обеспечивают ><некоторые ><интересные ><возможности ><для ><развития ><эвристик, ><но ><и ><создают ><большие ><трудности ><в ><разработке ><алгоритмов ><поиска.> <Сначала ><рассмотрим ><игры ><с ><небольшим ><пространством ><состояний, ><обеспечивающим ><возможность ><исчерпывающего ><поиска. ><В ><таких ><играх ><проблема ><решается ><>систематическим< ><перебором ><всех ><возможных ><ходов ><и ><контрмер ><противника. ><Затем ><рассмотрим ><игры, ><в ><которых ><полный ><перебор ><либо ><невозможен, ><либо ><нежелателен. ><Поскольку ><в ><таких ><>играх< ><можно ><просмотреть ><только ><ограниченную ><часть ><пространства ><состояний, ><игрок ><>вынужден< ><использовать ><эвристику, ><чтобы ><прийти ><к ><победе.> <Игра ><"ним" ><(nim) ><- ><это ><одна ><из ><игр, ><пространство ><состояний ><которой ><допускает ><>исчерпывающий< ><поиск. ><В ><этой ><игре ><на ><стол ><между ><двумя ><противниками ><выкладывается ><не><которое ><число ><фишек. ><При ><каждом ><ходе ><игрок ><должен ><разделить ><"кучку" ><фишек ><на ><два ><непустых ><набора ><разных ><размеров. ><Например, ><6 ><фишек ><можно ><разделить ><на ><группы ><5 ><и ><1 ><или ><4 ><и ><2, ><но ><не ><3 ><и ><3. ><Первый ><игрок, ><который ><не ><сможет ><больше ><сделать ><ход, ><>проигрывает<. ><Для ><разумного ><числа ><фишек ><в ><пространстве ><состояний ><этой ><игры ><можно ><>реализовать< ><полный ><перебор. ><На ><рис. ><4.13 ><показано ><пространство ><состояний ><для ><7 ><фишек.> <В ><играх, ><не ><допускающих ><исчерпывающего ><описания ><пространства ><состояний, ><>основная< ><трудность ><заключается ><в ><предсказании ><действий ><противника. ><Простой ><способ ><учесть ><такие ><действия ><- ><предположить, ><что ><ваш ><противник ><использует ><те ><же ><самые ><знания ><о ><пространстве ><состояний, ><что ><и ><вы, ><и ><применяет ><эти ><знания ><для ><своей ><победы. ><Хотя ><это ><предположение ><имеет ><свои ><ограничения ><(которые ><будут ><обсуждаться ><в ><подразделе ><4.3.2), ><оно ><дает ><разумную ><основу ><для ><предсказания ><поведения ><противника. ><Метод ><минимакса ><реализует ><поиск ><в ><игровом ><пространстве ><с ><учетом ><этого ><предположения.> <> <Рис. ><4.13. ><Пространство ><состояний ><для ><одного ><из ><вари><антов ><игры ><"ним". ><В ><каждом ><состоянии ><семь ><фишек ><>делятся< ><на ><несколько ><кучек> <><170>
<Часть >
><<Назовем ><противников ><в ><игре >
<При ><реализации ><стратегии ><минимакса ><пометим ><каждый ><уровень ><в ><области ><поиска ><именем ><игрока, ><выполняющего ><очередной ><ход: > <Если ><родительское ><состояние ><является ><узлом ><МАХ, ><то ><ему ><присваивают ><>максимальное< ><значение.>
<Если ><родительское ><состояние ><- ><узел > ><значение.> <Значение, ><связываемое ><таким ><образом ><с ><каждым ><состоянием, ><отражает ><наилучшее ><со><стояние, ><которого ><этот ><игрок ><может ><достичь ><(принимая ><во ><внимание ><действия ><>противника< ><в ><соответствии ><с ><алгоритмом ><минимакса). ><Таким ><образом, ><полученные ><значения ><ис><пользуются ><для ><того, ><чтобы ><выбрать ><наилучший ><среди ><возможных ><шагов. ><Результат ><применения ><алгоритма ><минимакса ><к ><графу ><пространства ><состояний ><для ><игры ><"ним" ><>показан< ><на ><рис. ><4.14.>
<Значения ><вершинам ><присваиваются ><снизу ><вверх ><на ><основе ><принципа ><минимакса. ><>Поскольку< ><любой ><из ><возможных ><первых ><шагов > <Хотя ><существуют ><игры, ><где ><возможен ><полный ><перебор, ><все ><же ><наиболее ><интересными ><являются ><случаи, ><в ><которых ><он ><неприменим. ><В ><следующем ><разделе ><будет ><рассмотрено ><эвристическое ><приложение ><минимакса.> <4.3.2. ><Минимакс ><при ><фиксированной ><глубине ><поиска>
<При ><использовании ><минимакса ><в ><более ><сложных ><играх ><редко ><удается ><построить ><>полный< ><граф ><пространства ><состояний. ><Обычно ><поиск ><выполняют ><вглубь ><на ><определенное ><число ><уровней, ><которое ><определяется ><располагаемыми ><ресурсами ><времени ><и ><памяти ><>компьютера<. ><Эта ><стратегия ><называется ><прогнозированием ><п-го ><слоя ><(n-ply > <><Глава ><4. ><Эвристический ><поиск>< ><171> ><<> <Рис. ><4.14. ><Принцип ><минимакса ><для ><игры ><"ним". ><Жирные ><линии ><показывают ><пути ><к ><победе ><МАХ. ><Каждому ><узлу ><присвоено ><значение ><0 ><или ><1 ><в ><соответ><ствии ><с ><процедурой ><минимакса>
<В ><конфликтной ><игре ><каждый ><игрок ><пытается ><переиграть ><другого, ><и ><многие ><игровые ><эвристики ><прямо ><измеряют ><преимущество ><одного ><игрока ><над ><другим. ><В ><шахматах ><очень ><важно ><иметь ><преимущество ><в ><какой-либо ><части ><игровой ><доски, ><так ><что ><простая ><эвристика ><может ><учитывать ><разность ><количества ><частей, ><где ><имеют ><преимущество ><либо ><МАХ, ><либо >
<Графы ><игр ><рассматриваются ><по ><уровням. ><Как ><показано ><на ><рис. ><4.14, ><МАХ ><и >
<Присвоив ><оценку ><каждому ><состоянию ><выбранного ><слоя, ><программа ><передает ><это ><>значение< ><каждому ><родительскому ><состоянию. ><Если ><родительское ><состояние ><относится ><к ><уровню >
<Максимизируя ><значения ><для ><родительских ><узлов ><МАХ ><и ><одновременно ><минимизируя ><их ><для > <><172>
<Часть > ><<кущего ><состояния. ><Затем ><эти ><значения ><используются ><алгоритмом ><для ><выбора ><наилучшего ><потомка ><текущего ><состояния. ><На ><рис. ><4.15 ><алгоритм ><минимакса ><проиллюстрирован ><на ><гипотетическом ><пространстве ><состояний ><с ><четырьмя ><уровнями.> <Самые ><ранние ><работы ><по ><ИИ ><в ><этой ><области ><- ><это ><программа ><игры ><в ><шашки, ><>созданная< ><Самюэлем ><(Samuel) ><в ><1959 ><году. ><Эта ><программа ><была ><исключением ><для ><того ><време><ни, ><особенно ><учитывая ><существующие ><ограничения ><для ><компьютеров ><50-х ><годов. ><Мало ><того, ><что ><эта ><программа ><игры ><в ><шашки ><применяла ><эвристический ><поиск, ><в ><ней ><также ><присутствовал ><простой ><алгоритм ><обучения. ><Эта ><программа ><была ><во ><многом ><пионерской, ><и ><ее ><все ><еще ><используют ><при ><создании ><игровых ><и ><обучающихся ><программ.> <Программа ><Сэмюэля ><оценивала ><состояние ><доски, ><используя ><взвешенную ><сумму ><не><скольких ><различных ><эвристических ><значений> <>
<В ><этой ><сумме ><х, ><представляет ><такие ><особенности ><состояния ><игровой ><доски, ><как ><такти><ческие ><преимущества, ><расположение ><фигур, ><ситуация ><в ><центре ><доски, ><возможность ><жертвовать ><фигурами ><за ><тактическое ><преимущество ><и ><даже ><тенденцию ><перемещения ><фи><гур ><одного ><из ><игроков ><у ><края ><доски. ><Коэффициенты ><при > <Программа ><Самюэля ><позволяет ><рассматривать ><необходимое ><число ><уровней ><(обычно ><ограниченное ><возможностями ><компьютера) ><и ><оценивает ><все ><состояния ><на ><данном ><уровне, ><используя ><полиномиальную ><оценку. ><Затем ><с ><помощью ><различных ><вариаций ><алгоритма ><минимакса ><эти ><значения ><распространяются ><по ><графу ><в ><обратном ><направлении. ><После ><этого ><игрок ><может ><делать ><ход ><в ><наилучшее ><состояние ><с ><учетом ><хода ><противника. ><Затем ><весь ><процесс ><повторяется.> <Если ><в ><процессе ><полиномиального ><оценивания ><некоторые ><ходы ><теряются, ><то ><программа ><настраивает ><коэффициенты, ><чтобы ><повысить ><эффективность. ><Другими ><словами, ><большие ><весовые ><коэффициенты ><уменьшаются ><(поскольку ><они ><вносят ><максимальный ><вклад ><в ><>неправильную< ><оценку), ><а ><меньшие ><веса ><оценок ><увеличиваются, ><чтобы ><усилить ><их ><влияние. ><Если ><программа ><побеждает, ><то ><противник, ><соответственно, ><проигрывает. ><Программа ><обучается, ><играя ><против ><человека ><или ><против ><другой ><версии ><такой ><же ><программы.> <Таким ><образом, ><программа ><Сэмюэля ><использовала ><алгоритм ><поиска ><экстремума ><для ><обучения, ><пытаясь ><улучшить ><эффективность ><и ><сделать ><локальные ><уточнения ><в ><>полиномиальной< ><оценке. ><Самюэль ><ограничил ><алгоритм ><поиска ><экстремума, ><введя ><проверку ><>эффективности< ><индивидуальных ><взвешенных ><эвристических ><оценок ><и ><удаляя ><наименее ><>эффективные<. ><Программа ><имеет ><некоторые ><интересные ><особенности. ><Например, ><из-за ><>ограниченности< ><глобальной ><стратегии ><она ><чувствительна ><к ><функциям ><оценки, ><приводящим ><к ><ловушкам. ><Модуль ><самообучения ><программы ><уязвим ><в ><случае ><противоречивой ><игры ><оппонента. ><Например, ><если ><противник ><широко ><использовал ><различные ><стратегии ><или ><просто ><играл ><"по-дурацки", ><то ><веса ><в ><полиномиальной ><оценке ><начинали ><принимать ><"случайные" ><значения, ><что ><приводило ><к ><полному ><снижению ><эффективности.> <Сделаем ><несколько ><заключительных ><замечаний ><о ><процедуре ><минимакса. ><Прежде ><всего ><следует ><заметить, ><что ><оценки ><любого ><(предварительно ><выбранного) ><уровня ><могут ><быть ><неверными. ><При ><использовании ><эвристики ><с ><ограниченным ><>прогнозированием< ><сохраняется ><вероятность, ><что ><путь, ><приводящий ><в ><дальнейшем ><к ><плохой ><си-> <><Глава ><4. ><Эвристический ><поиск>< ><173> ><<туации, ><не ><будет ><обнаружен ><вовремя. ><Если ><ваш ><противник ><по ><шахматам ><предлагает ><ладью ><в ><качестве ><приманки, ><чтобы ><забрать ><вашего ><ферзя, ><а ><оценка ><не ><идет ><дальше ><того ><уровня, ><где ><предлагается ><ладья, ><то ><у ><такого ><состояния ><будет ><наилучшая ><оценка. ><К ><сожалению, ><подобный ><выбор ><состояния ><может ><привести ><к ><тому, ><что ><игра ><будет ><проиграна! ><Это ><обычно ><называется ><эффектом ><горизонта. ><Для ><противостояния ><та><кой ><ситуации ><обычно ><просматривают ><граф ><состояний ><на ><несколько ><уровней ><глубже ><состояния ><с ><хорошей ><оценкой. ><Это ><селективное ><углубление ><поиска ><в ><важных ><облас><тях, ><однако, ><не ><позволяет ><полностью ><исключить ><эффект ><горизонта, ><так ><как ><поиск ><все ><равно ><должен ><остановиться ><в ><какой-нибудь ><точке ><и, ><следовательно, ><останется ><слеп ><к ><состояниям, ><лежащим ><за ><ее ><пределами.> <> <2 >< >< >< >< >< >< ><359>< >< >< >< >< >< >< >< ><0 >< >< >< >< >< >< >< ><742>< >< >< >< >< >< >< ><156 ><Рис. ><4.15. ><Минимакс ><в ><гипотетическом ><пространстве ><состояний> <В ><алгоритме ><минимакса ><существует ><и ><другой ><эффект, ><связанный ><с ><эвристическими ><оценками. ><Оценки, ><которые ><находятся ><очень ><глубоко ><в ><пространстве, ><могут ><не ><>приниматься< ><во ><внимание ><из-за ><их ><большой ><глубины ><[Pearl, ><1984]. ><Подобно ><тому, ><как ><среднее ><произведений ><отличается ><от ><произведения ><средних, ><оценка ><минимакса ><(которую ><мы ><хо><тим ><получить) ><отличается ><от ><минимаксной ><оценки ><(которую ><мы ><получаем). ><В ><этом ><смысле ><обычно ><(хотя ><и ><не ><всегда) ><лучше ><использовать ><более ><глубокий ><поиск ><с ><оценкой ><состояний ><и ><алгоритмом ><минимакса. ><Детальное ><обсуждение ><этой ><проблемы ><и ><средств ><ее ><решения ><можно ><найти ><в ><[Pearl, ><1984].>
<В ><завершение ><обсуждения ><алгоритма ><минимакса ><представим ><его ><приложение ><к ><игре ><в ><"крестики-нолики" ><(раздел ><4.1), ><описанное ><в ><[Nilsson, ><1980]. ><Здесь ><>используется< ><чуть ><более ><сложная ><эвристика, ><позволяющая ><измерить ><конфликт ><в ><игре. ><Эта ><>эвристика< ><состоит ><в ><следующем. ><Выбирается ><состояние, ><которое ><необходимо ><оценить, ><находятся ><все ><победные ><строки ><для ><МАХ, ><а ><затем ><из ><их ><числа ><вычитается ><общее ><>количество< ><победных ><строк ><для > <На ><рис. ><4.17, ><4.18 ><и ><4.19 ><показано ><применение ><эвристики, ><представленной ><на ><рис. ><4.16, ><в ><алгоритме ><двухуровневого ><минимакса. ><На ><этих ><рисунках ><>продемонстрирована< ><эвристическая ><оценка, ><возврат ><на ><основе ><минимакса, ><ход ><МАХ, ><а ><также ><>некоторые< ><ограничения ><на ><ходы ><с ><равными ><эвристическими ><значениями ><[Nilsson, ><1971].> <><174>
<Часть > ><<> <Рис. ><4.16. ><Эвристика, ><учитывающая ><конфликт ><в ><игре ><"крестики-нолики ><"> <4.3.3. ><Процедура ><альфа-бета-усечения>
<Прямой ><алгоритм ><минимакса ><требует ><двух ><проходов ><по ><области ><поиска. ><Первый ><позволяет ><пройти ><вглубь ><области ><поиска ><и ><там ><применить ><эвристику, ><а ><второй ><- ><присвоить ><эвристические ><значения ><состояниям, ><следуя ><вверх ><по ><дереву. ><Минимакс ><рассматривает ><все ><ветви ><в ><пространстве ><поиска, ><включая ><те ><из ><них, ><которые ><могли ><быть ><исключены ><более ><интеллектуальным ><алгоритмом. ><Разработчики ><игровых ><>стратегий< ><в ><конце ><1950-х ><годов ><создали ><алгоритм ><[Newell ><и >
<Идея ><альфа-бета-поиска ><проста: ><вместо ><того, ><чтобы ><рассматривать ><все ><состояния ><некоторого ><уровня ><графа, ><алгоритм ><выполняет ><поиск ><в ><глубину. ><В ><процессе ><поиска ><участвуют ><два ><значения, ><называемые ><альфа ><(alpha) ><и ><бета ><(beta). ><Значение ><альфа, ><связанное ><с ><узлами ><МАХ, ><никогда ><не ><уменьшается, ><а ><значение ><бета, ><связанное ><с ><>узлами< > <><Глава ><4. ><Эвристический ><поиск> <175> ><<> <Рис. ><4.18. ><Двухуровневый ><минимакс ><и ><один ><из ><двух ><возможных ><вторых ><ходов ><МАХ> <><176>
<Часть >
><<Начиная ><альфа-бета-процедуру, ><мы ><опускаемся ><на ><полную ><глубину ><графа, ><используя ><поиск ><в ><глубину, ><и ><вычисляем ><эвристические ><оценки ><для ><всех ><состояний ><этого ><уровня. ><Предположим, ><что ><все ><они ><- ><узлы > <Затем ><алгоритм ><опускается ><к ><другим ><потомкам ><потомков ><и ><не ><рассматривает ><их ><>родительские< ><состояния, ><если ><их ><значения ><больше ><или ><равны ><данному ><значению ><бета. ><>Аналогичные< ><процедуры ><можно ><описать ><для ><альфа-отсечения ><по ><потомкам ><второго ><поколения ><вершины ><МАХ.> <Существуют ><два ><условия ><останова ><алгоритма ><поиска ><на ><основе ><значений ><альфа ><и ><бета.>
<Поиск ><может ><быть ><остановлен ><ниже ><любого ><узла > ><меньше ><или ><равно ><значению ><альфа ><любого ><из ><его ><предков ><МАХ.> <Поиск ><может ><быть ><остановлен ><ниже ><любого ><узла ><МАХ, ><значение ><альфа ><которого
><больше ><или ><равно ><значению ><бета ><любого ><из ><его ><предков > <>
<Рис. ><4.19. ><Двухуровневый ><минимакс ><применительно ><к ><ходу >
<Таким ><образом, ><альфа-бета-усечение ><выражает ><отношение ><между ><узлами ><уровней ><п ><и > <При ><удачном ><порядке ><состояний ><в ><области ><поиска ><процедура ><альфа-бета-усечения ><может ><эффективно ><удваивать ><глубину ><поиска ><в ><рассматриваемом ><пространстве ><при ><фиксированных ><пространственно-временных ><характеристиках ><компьютера ><[Nilsson, ><1980]. ><Если ><же ><узлы ><рас><положены ><неудачно, ><процедура ><альфа-бета-усечения ><осуществляет ><поиск ><в ><таком ><же ><про><странстве, ><как ><и ><обычный ><минимакс. ><Однако ><поиск ><проводится ><только ><за ><один ><проход.> <><Глава ><4. ><Эвристический ><поиск> <177> ><<4.4. ><Проблемы ><сложности> <><Наиболее ><сложным ><аспектом ><комбинаторных ><задач ><является ><экспоненциальный ><рост ><пространства ><поиска, ><который ><зачастую ><не ><учитывают ><разработчики ><программ. ><Поскольку ><основные ><виды ><человеческой ><деятельности ><(вычислительной ><и ><другой) ><происходят ><в ><>линейном< ><времени, ><нам ><трудно ><представить ><себе ><экспоненциальный ><рост. ><Мы ><часто ><слышим ><жалобу: ><"Если ><бы ><я ><имел ><более ><мощный ><(или ><быстрый ><или ><высоко ><производительный) ><компьютер, ><моя ><проблема ><была ><бы ><решена". ><Такие ><жалобы, ><часто ><вызываемые ><проблемой ><"взрывного" ><роста ><числа ><состояний, ><обычно ><беспочвенны. ><Просто ><проблема ><была ><понята ><не ><достаточно ><глубоко ><и ><не ><были ><предприняты ><действия ><по ><ее ><решению.> <Комбинаторный ><рост ><ошеломляет. ><Было ><показано, ><что ><количество ><состояний, ><просматри><ваемых ><при ><полном ><переборе ><в ><пространстве ><возможных ><шахматных ><ходов, ><составляет ><10><120><. ><Это ><не ><просто ><"очень ><большое ><количество" ><- ><это ><число ><сопоставимо ><с ><числом ><молекул ><во ><вселенной ><или ><с ><числом ><наносекунд, ><прошедших ><после ><"большого ><взрыва".> <> <Рис. ><4.20. ><Альфа-бета-усечение ><применительно ><к ><пространству ><со><стояний ><из ><рис. ><4.15. ><Состояния ><без ><числовых ><меток ><не ><оценивались>
<Были ><предложены ><несколько ><метрик ><для ><вычисления ><сложности. ><Одна ><из ><них ><- ><фактор ><ветвления ><пространства. ><Фактор ><ветвления ><определяется ><как ><среднее ><количест><во ><ветвей ><(потомков), ><выходящих ><из ><любого ><состояния ><в ><пространстве ><поиска. ><Число ><со><стояний ><на ><глубине ><л ><поиска ><равно ><фактору ><ветвления, ><возведенному ><в > <Несколько ><примеров ><из ><этого ><рисунка ><показывают, ><как ><плохи ><дела ><на ><самом ><деле. ><Ес><ли ><фактор ><ветвления ><равен ><2 ><(например, ><в ><бинарном ><дереве), ><то ><для ><исследования ><всех ><путей ><на ><шесть ><уровней ><вглубь ><области ><поиска ><требуется ><рассмотреть ><приблизительно ><100 ><состояний. ><А ><для ><углубления ><на ><12 ><уровней ><требуется ><рассмотреть ><около ><10000 ><со><стояний. ><Если ><фактор ><ветвления ><может ><быть ><уменьшен ><до ><1,5 ><(с ><помощью ><эвристики ><или> <><178>
<Часть > ><<переформулировки ><задачи), ><то ><при ><том ><же ><количестве ><рассмотренных ><состояний ><длина ><пути ><может ><быть ><удвоена.> <Математическая ><формула ><зависимости, ><представленной ><на ><рис. ><4.21, ><имеет ><вид> <Т= ><В ><+ ><В><2>< ><+ ><3>< ><+…+BL>
<где >
<>
<Рис. ><4.21. ><Число ><сгенерированных ><узлов ><как ><функция ><от ><фактора ><ветвления ><В ><для ><различной ><длины ><пути ><решения > <Измерение ><пространства ><поиска- ><эмпирический ><процесс, ><требующий ><детального ><знакомства ><с ><задачей ><и ><проверки ><различных ><ее ><вариантов. ><Предположим, ><например, ><что ><требуется ><найти ><фактор ><ветвления ><в ><игре ><в ><"пятнашки". ><Для ><этого ><вычислим ><общее ><чис><ло ><возможных ><ходов. ><По ><2 ><хода ><возможны ><для ><каждого ><угла ><- ><всего ><8 ><угловых ><ходов; ><по ><3 ><- ><для ><центра ><каждой ><стороны ><- ><всего ><12 ><ходов ><и ><4 ><для ><центра ><доски. ><Таким ><обра><зом, ><всего ><получается ><24 ><хода. ><Разделив ><это ><число ><на ><9 ><(возможное ><количество ><различ><ных ><местоположений ><пустой ><клетки), ><получим, ><что ><средний ><фактор ><ветвления ><равен ><2,67. ><Как ><показано ><на ><рис. ><4.21, ><это ><не ><очень ><хорошее ><значение ><для ><глубокого ><поиска. ><Если ><не ><принимать ><во ><внимание ><ходы, ><ведущие ><назад ><к ><родительскому ><состоянию ><(используемые ><в ><алгоритмах ><поиска, ><описанных ><в ><этой ><главе), ><то ><в ><каждом ><состоянии ><будет ><на ><один ><ход ><меньше. ><В ><этом ><случае ><фактор ><ветвления ><равен ><1,67, ><что ><делает ><воз><можным ><полный ><перебор ><(в ><некоторых ><пространствах ><состояний).>
<Как ><было ><показано ><в ><главе ><3, ><сложность ><алгоритма ><может ><быть ><определена ><размерами ><списков > <><Глава ><4. ><Эвристический ><поиск> <179>
><<сохранять ><в ><нем ><только ><несколько ><(эвристически) ><лучших ><состояний. ><Это ><может ><>ускорить< ><поиск. ><Однако ><в ><этом ><случае ><существует ><опасность ><потери ><лучшего ><состояния ><и ><да><же ><решения. ><Метод ><поддержания ><определенных ><рамок ><поиска ><в ><зависимости ><от ><числа ><шагов ><называется ><"лучевым ><поиском" ><(beam > <> <Рис. ><4.22. ><Неформальный ><график ><стоимости ><поиска ><и ><стоимости ><вычисления ><эвристической ><оценки ><в ><зависимости ><от ><информирован><ности ><эвристики ><[Nilsson, ><1980]> <При ><попытке ><снижения ><ветвления ><алгоритма ><поиска ><или ><сужения ><пространства ><поиска ><мы ><ввели ><понятие ><"более ><информированной" ><эвристики. ><Более ><информированный ><поиск ><дает ><возможность ><рассматривать ><меньшую ><область ><для ><нахождения ><минимального ><пути ><к ><решению. ><В ><разделе ><4.3 ><было ><показано, ><что ><цена ><дополнительной ><информации, ><>необходимой< ><для ><сокращения ><пространства ><поиска, ><не ><всегда ><приемлема. ><При ><решении ><задачи ><на ><компьютере ><не ><достаточно ><найти ><минимальный ><путь. ><Необходимо ><также ><сократить ><>количество< ><операций, ><выполняемых ><компьютером ><в ><процессе ><нахождения ><решения.> <На ><рис. ><4.22, ><взятом ><из ><[Nilsson, ><1980], ><представлен ><неформальный ><результат ><>анализа< ><этих ><вопросов. ><По ><оси ><абсцисс ><отложено ><количество ><информации, ><которая ><учтена ><в ><эвристике ><для ><улучшения ><ее ><эффективности. ><По ><оси ><ординат ><показаны ><затраты ><про><цессора ><на ><осуществление ><поиска. ><Если ><эвристика ><становится ><более ><информирован><ной, ><затраты ><процессорного ><времени ><на ><рассмотрение ><состояний ><уменьшаются, ><пото><му ><что ><необходимо ><просматривать ><меньшее ><количество ><состояний. ><Общая ><стоимость ><нахождения ><пути ><решения ><- ><это ><общая ><стоимость ><эвристических ><вычислений ><плюс ><стоимость ><просмотра ><пространства ><поиска. ><Желательно, ><чтобы ><общая ><стоимость ><тако><го ><поиска ><была ><минимальной.> <В ><заключение ><следует ><отметить, ><что ><важной ><областью ><исследований ><является ><эври><стический ><поиск ><на ><графах ><И/ИЛИ, ><так ><как ><подобную ><форму ><имеет ><пространство ><состоя><ний ><для ><экспертных ><систем. ><Поиск ><на ><этих ><структурах ><включает ><компоненты, ><обсуждав><шиеся ><в ><этой ><и ><предыдущей ><главах. ><Поскольку ><для ><нахождения ><пути ><к ><цели ><необходимо ><просмотреть ><все ><потомки ><узлов ><И, ><эвристическая ><оценка ><стоимости ><поиска ><для ><узла ><И ><представляет ><собой ><сумму ><оценок ><поиска ><его ><потомков.> <><180>
<Часть > ><<4.5. ><Резюме ><и ><дополнительная ><литература>
<><Пространства ><поиска ><интересных ><задач ><обычно ><увеличиваются ><экспоненциально. ><Эв><ристический ><поиск ><- ><это ><основной ><инструмент ><для ><управления ><таким ><"комбинаторным ><взрывом". ><В ><данной ><главе ><представлен ><"жадный" ><алгоритм ><поиска, ><а ><затем ><проанализи><ровано ><поведение ><эвристических ><алгоритмов. ><Мы ><рассмотрели ><такие ><их ><свойства, ><как ><допустимость, ><монотонность ><и ><информированность. ><Эвристический ><поиск ><был ><рассмот><рен ><на ><простых ><примерах ><типа ><игры ><в ><"пятнашки", ><а ><затем ><распространен ><на ><более ><слож><ные ><пространства ><состояний, ><возникающие ><при ><проектировании ><экспертной ><системы ><(глава ><6). ><В ><данной ><главе ><также ><была ><рассмотрена ><эвристика, ><применяемая ><в ><играх ><с ><двумя ><участниками. ><Она ><использует ><процедуру ><минимакса ><и ><альфа-бетаусечения ><для ><предсказания ><ходов ><противника. ><Теория ><сложности ><играет ><важную ><роль ><почти ><в ><каждой ><области ><информатики, ><особенно ><при ><анализе ><роста ><пространства ><состояний ><и ><>эвристическом< ><усечении. ><Теория ><сложности ><исследует ><сложность ><задач ><(в ><противоположность ><>алгоритмам<). ><Ключевая ><посылка ><теории ><сложности ><состоит ><в ><наличии ><класса ><существенно ><сложных ><задач. ><Этот ><класс, ><получивший ><название ><класса >
<В ><[Pearl, ><1984] ><детально ><описаны ><такие ><вопросы, ><как ><разработка ><и ><анализ ><эвристик. ><В ><[Korf, ><1987, ><1998, ><1999] ><продолжено ><исследование ><алгоритмов ><поиска, ><в ><том ><числе ><опи><сан ><алгоритм > <Автор ><благодарит ><Нильса ><Нильсона ><[Nilsson, ><1980] ><за ><его ><подход ><и ><примеры, ><которые ><были ><использованы ><в ><этой ><главе.> <4.6. ><Упражнения>
<><Придумайте ><эвристику, ><которую ><можно ><было ><бы ><использовать ><в ><программе ><>размещения< ><блоков ><для ><решения ><задачи ><"поставить ><блок > <Головоломка ><скользящих ><фишек ><включает ><три ><черные ><и ><три ><белые ><фишки, ><а ><также ><пустую ><клетку, ><как ><показано ><на ><рис. ><4.23.> <В ><этой ><головоломке ><допустимы ><два ><хода ><с ><соответствующей ><стоимостью.> <Фишку ><можно ><передвинуть ><в ><соседнюю ><пустую ><позицию. ><Этот ><ход ><стоит ><1. ><Фишка ><>может< ><перепрыгивать ><на ><пустое ><место ><через ><одну ><или ><две ><другие ><фишки. ><Стоимость ><этого ><хода ><равна ><количеству ><перепрыгнутых ><фишек.> <Цель ><игры ><состоит ><в ><том, ><чтобы ><все ><белые ><фишки ><расположить ><слева, ><а ><черные ><- ><справа. ><Местоположение ><пустой ><клетки ><не ><важно.> <Проанализируйте ><сложность ><пространства ><состояний ><и ><наличие ><циклов.> <Предложите ><эвристику ><для ><решения ><этой ><проблемы ><и ><проанализируйте ><ее ><на ><>допустимость<, ><монотонность ><и ><информированность.> <><Глава ><4. ><Эвристический ><поиск>< ><181>
>< <Рис. ><4.23. ><Головоломка ><скользящих ><блоков> <3.>< ><Сравните ><три ><эвристики ><для ><игры ><в ><"пятнашки" ><(см. ><рис. ><4.8) ><с ><эвристикой ><сложения ><суммы ><расстояний ><для ><фишек, ><находящихся ><не ><на ><своих ><местах, ><с ><удвоенным ><числом ><прямых ><перестановок. ><Сравните ><их ><по ><следующим ><критериям:> <а)>< ><точность ><оценки ><расстояния ><к ><цели. ><Для ><этого ><требуется ><найти ><кратчайший ><путь ><к ><решению, ><а ><затем ><использовать ><его ><как ><эталон;> <б)>< ><информированность. ><Какая ><из ><упомянутых ><эвристик ><наиболее ><эффективно ><сокра><щает ><пространство ><состояний?> <в)>< ><монотонность ><для ><игры ><в ><"пятнашки";> <г)>< ><допустимость. ><Какая ><из ><этих ><эвристик ><ограничена ><сверху ><фактической ><стоимостью ><пути ><к ><цели? ><Обоснуйте ><свои ><предположения ><для ><общего ><случая ><или ><приведите ><контрпример.>
<4.>< ><а. ><Как ><было ><сказано ><выше, ><"жадный" ><алгоритм ><поиска ><для ><предотвращения ><зацикли><вания ><использует ><список >
><зацикливания ><на ><основе >
<б. ><Функция > <5.>< ><Докажите, ><что ><алгоритм ><А* ><допустим. ><Подсказка: ><при ><доказательстве ><следует ><пока><зать, ><что:> <а)>< ><для ><алгоритма ><А* ><поиск ><закончится;>
<б)>< ><в ><списке > ><к ><цели;> <в)>< ><если ><путь ><к ><цели ><существует, ><то ><алгоритм ><А* ><закончится ><нахождением ><оптималь><ного ><пути ><к ><цели.> <Подразумевает ><ли ><допустимость ><выполнение ><свойства ><монотонности ><эвристики? ><Ес><ли ><нет, ><опишите, ><когда ><допустимость ><подразумевает ><монотонность.> <Докажите, ><что ><набор ><состояний, ><рассмотренных ><в ><алгоритме ><А*, ><является ><подмноже ><ством ><состояний ><поиска ><в ><ширину.> <Докажите, ><что ><более ><информированная ><эвристика ><просматривает ><более ><узкую ><об ><ласть ><поиска. ><Подсказка: ><формализуйте ><доказательство, ><представленное ><в ><подраз><деле ><4.2.3.>
<Шифр ><Цезаря ><- ><это ><простая ><схема ><кодирования, ><основанная ><на ><циклических ><пере><становках ><алфавита, ><в ><которой > ><Например, ><при ><использовании ><шифра ><Цезаря ><со ><сдвигом ><4 ><слово ><"Caesar" ><запишется ><как ><"Geiwev".> <9.1. ><Приведите ><три ><эвристики, ><которые ><можно ><использовать ><для ><расшифровки ><шиф><ра ><Цезаря. 182>
<<<9.2. ><В ><простом ><шифре ><подстановки ><каждый ><символ ><заменяется ><другим ><на ><основе ><>некоторого< ><произвольного ><взаимно ><однозначного ><отображения. ><Какая ><из ><эвристик, ><предложенных ><для ><шифра ><Цезаря, ><может ><использоваться ><для ><расшифровки ><такого ><шифра? ><Объясните. ><(Спасибо ><Дону ><Моррисону ><(Don > <Реализуйте ><стратегию ><минимакса ><на ><дереве, ><показанном ><на ><рис. ><4.24.> <Выполните ><альфа-бета-усечение ><слева ><направо ><для ><дерева ><из ><упражнения ><10. ><Выполните ><на ><этом ><же ><дереве ><усечение ><справа ><налево. ><Объясните, ><почему ><результаты ><отличаются.> <Рассмотрите ><трехмерную ><игру ><в ><"крестики-нолики". ><Проанализируйте ><сложность ><пространства ><состояний. ><Предложите ><эвристику ><для ><этой ><игры.> <Выполните ><альфа-бета-усечение ><для ><игры ><в ><"крестики-нолики" ><(см. ><рис. ><4.17,4.18 ><и ><4.19). ><Сколько ><вершин ><можно ><устранить ><в ><каждом ><случае?> <а. ><Создайте ><алгоритм ><для ><эвристического ><поиска ><на ><графе ><И/ИЛИ. ><Обратите ><внима><ние ><на ><то, ><что ><для ><определения ><значения ><родительского ><узла ><необходимо ><просмот><реть ><значения ><всех ><его ><потомков. ><Таким ><образом, ><при ><вычислении ><эвристических
><оценок ><стоимости ><пути ><к ><цели ><оценка ><стоимости ><узла > ><суммы ><оценок ><стоимости ><различных ><ветвей.> <б. ><Используйте ><этот ><алгоритм ><для ><поиска ><на ><графе ><(рис. ><4.25).> <> <> <Рис. ><4.24. >< >< ><Дерево >< >< >< ><для >< >< ><применения ><принципа ><минимакса> <Рис. ><4.25. ><Пример ><графа ><для ><поиска> <><Глава ><4. ><Эвристический ><поиск> <183> ><> <<> <> Глава 5. <Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний> <Если ><мы ><аккуратно ><отделим ><влияние ><среды, ><в ><которой ><выполняется ><задача, ><от ><влия><ния ><аппаратных ><компонентов ><и ><организации, ><то ><получим ><истинную ><простоту ><адаптив><ной ><системы. ><Как ><мы ><видели, ><для ><описания ><способа ><решения ><человеком ><таких ><задач, ><как ><шахматы, ><логика ><и ><криптоарифметика ><(cryptarithmetic), ><необходимо ><постулировать ><только ><очень ><простую ><систему ><обработки ><информации. ><Очевидно ><сложное ><поведение ><системы ><обработки ><информации ><в ><данной ><среде ><обусловлено ><взаимодействием ><требова><ний ><среды ><с ><несколькими ><основными ><параметрами ><системы, ><в ><частности,> <характеристиками ><ее ><блоков ><памяти.> <- ><А. ><Ньюэлл ><и ><Н. ><А. ><Саймон, ><Решение ><проблем ><человеком, ><1972> <То, ><что ><мы ><называем ><началом, ><часто ><будет ><концом,> <Приходя ><к ><концу, ><мы ><приходим ><к ><началу.> <Конец ><- ><это ><наше ><начало...>
<- ><Т. ><С. ><Элиот ><(Т. > <5.0. ><Введение> <><В ><главах ><3 ><и ><4 ><представлены ><задачи, ><решаемые ><методом ><поиска ><в ><пространстве ><со><стояний. ><Этот ><подход ><"пространства ><состояний" ><к ><решению ><задачи ><позволяет ><использо><вать ><теорию ><графов ><для ><создания ><и ><анализа ><компьютерных ><программ. ><В ><главе ><3 ><опреде><лен ><общий ><алгоритм ><поиска ><с ><возвратами ><, ><а ><также ><алгоритмы ><поиска ><в ><глубину ><и ><в ><ши><рину. ><Эвристический ><поиск ><был ><представлен ><в ><главе ><4. ><Следующие ><понятия ><характеризуют ><данные ><и ><управляющие ><структуры, ><используемые ><для ><реализации ><поиска ><в ><пространстве ><состояний.>
|
|
|
© FILOSOF.HISTORIC.RU 2001–2023 Все права на тексты книг принадлежат их авторам! При копировании страниц проекта обязательно ставить ссылку: 'Электронная библиотека по философии - http://filosof.historic.ru' |