рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Эвристический поиск

Эвристический поиск - раздел Образование, Введение в экспертные системы   Подход “Поиск В Пространстве Состояний” Сформировался ...

 

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

Приведем все возможные позиции (Рисунок 4.5) для четырех первых ходов в простой игре “крестики-нолики”.

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

В игре “крестики-нолики” существует только один тривиальный оператор — установка фишки (0 или X) в пустой квадрат матрицы. Однако в других играх операторов может быть несколько. Например, в шахматах предписанные для каждой из фигур ходы можно рассматривать как операторы,


преобразующие картину шахматной позиции и таким образом продвигающие игру от одного состояния к другому.

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

С достижением цели посредством полного перебора, в пространстве состояний связана достаточно серьезная проблема. Даже в такой простой игре, как “крестики-нолики”, существует 362880 (9!) возможных позиций. Благодаря симметрии некоторых из них эту цифру можно сократить приблизительно до 60 000. В таких сложных играх, как шахматы, было бы невозможно произвести поиск по всему дереву игры, так как просмотр вперед на 5 ходов дает квадриллион (1015) комбинаций, а 40 ходов (в среднем за игру) дают 10120 комбинаций. При этом с момента зарождения Вселенной прошло менее 1080 секунд! На каждом шаге количество вариантов выбора умножает общее число комбинаций. Этот процесс, получивший название “комбинаторного взрыва”, исключает применение стратегии поиска полным перебором для большинства реальных игр, а также и для большинства систем, на основе знаний. Ни один игрок не проводит поиск очередного хода простым перебором, а применяет определенные стратегические правила для выявления того, какие из ходов обеспечивают наибольшую возможность успеха. Во многих случаях это приводит к значительному сокращению числа просматриваемых позиций. В большинстве игр (и вообще ситуаций при обработке знаний) часто невозможно найти правила, гарантирующие успех. Вместе с тем нередко удается установить правила, обеспечивающие увеличение вероятности успеха. Такие правила называют эвристическими, а поиск, при проведении которого они применяются, называется эвристическим поиском.

 


 

 
 

 

Рисунок 4.5 Четыре хода в игре “крестики- нолики”

 


 

Для эвристического правила требуется информация о его эффективности. Эта информация определяется по некоторой “оценочной функции”. В игре “крестики-нолики” используется простая оценочная функция. Некоторое значение (число) присваивается каждому следующему возможному ходу. Чем оно выше, тем лучше для одного игрока и хуже для другого.

 
 

Рисунок 4.6 Применение эвристической оценочной функции

 

Эта процедура называется MINIMAX. Проиллюстрируем применение процедуры MINIMAX при игре в “крестики-нолики”

Допустим, что есть два игрока- MAX (играющий фишками X) и MIN (играющий фишками 0). Значение оценки для доступных им ходов могут быть получены путем подсчета всех линий, открытых для каждого из игроков, а затем вычитания одного числа из другого.

Применительно к позиции (Рисунок 4.6) , МАХ должен сделать выбор среди ходов 1, 2, 3 и 4. Они соответственно получают оценки 0, 0, 1, -1. МАХ выбирает ход 3, так как он получил наивысшую оценку для этого раунда.

В игре в “крестики-нолики” приемлема конструкция единственной оценочной функции, которая надежно прокладывает путь к оптимальному решению.

Другая стратегия [21] применяется в игре “Восьмерки” (Рисунок 4.7).

 

 
 

Рисунок 4.7 Задача «Восьмерки»

 

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

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

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

[4,0,5,7,2,1,3,8,6] положение в задаче

[3,4,8,7,1,5,0,2,6] положение цели

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

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

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

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

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

К сожалению, эвристический поиск может лишь ускорить решение задачи "Восьмерка". Нет поискового метода, быстро ведущего к прямому ответу. Это более сложная проблема, чем могло показаться вначале, во всяком случае, если применяется решение, основанное на поиске. Очевидно, люди решают такие задачи по-другому.

Существуют некоторые более "хитрые" стратегии, которые применительно к конкретным проблемным областям дают лучшие результаты, чем исследованные типы поиска. Обзор подобных стратегий дан в учебнике Elaine Rich, Artificial Intelligence, McGraw-Hill, New York, 1983.

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

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

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

В следующей программе на языке Prolog определяется оптимальный маршрут по заданным критериям: по минимальному расходу бензина и по минимальному расстоянию.

Данные о расстояниях между пунктами находятся в файле pal.ddd в виде:

sosed("pc","a",1,100). sosed("a","b",1,120). sosed("b","c",2,400).

sosed("c","d",3,308). sosed("a","d",2,205). sosed("a","e",3,320).

sosed("e","h",3,290).

Предикат dcon проверяет, являются ли пункты соседними:

dcon(X,Y,M,N) :- sosed(X,Y,M,N);sosed(Y,X,M,N).

 

С помощью правила summa суммируем расстояние между текущими соседними пунктами и расход бензина:

summa([_],N,S,_,_) :- S=N.

summa([X,Y|L],N,S,Км,Бензин) :-

bound(Км),dcon(X,Y,M,_),

K=M+N, summa([Y|L],K,S,Км,Бензин);

bound(Бензин), dcon(X,Y,_,M), K=M+N, summa([Y|L],K,S,Км,Бензин).

 

Формируем списки со всеми возможними вариантами пути и используя правило min определяем путь с минимальным значением:

min([],Tmp,Cnt,_,Min,N) :- Min=Tmp, N=Cnt.

min([X|L],Tmp,Cnt,K,Min,N) :- Tmp>X, C=K, KK=K+1, MM=X,

min(L,MM,C,KK,Min,N);

KK=K+1, min(L,Tmp,Cnt,KK,Min,N).

Полный текст с интерфейсом пользователя приведен в Приложении 2.

 

– Конец работы –

Эта тема принадлежит разделу:

Введение в экспертные системы

Введение в экспертные... Структура экспертных Классификация систем основанных на Интерпретация...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Эвристический поиск

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Структура экспертных систем
  ЭС состоит [37] из следующих основных компонентов: решателя (интерпретатора); рабочей памяти (РП), называемой также базой данных (БД); базы знаний (БЗ); компонентов приобретения зна

Интерпретация данных
Это одна из традиционных задач для ЭС. Интерпретация – процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анал

Диагностика
Диагностика – процесс соотнесения объекта с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. Неисправность – это отклонение от нормы. Такая трактовка позволяет с един

Мониторинг
Основная задача мониторинга – непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы – пропуск тревожно

Проектирование
Проектирование состоит в подготовке спецификаций на создание «объектов» с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов – чертеж, пояснительная за

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

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

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

Этапы разработки экспертных систем
Разработка ЭС имеет существенные отличия от разработки обычного программного продукта. Опыт создания ЭС показал, что использование при их разработке методологии, принятой в традиционном программиро

Представление знаний в экспертных системах
  Первый и основной вопрос, который надо решить при представлении знаний- это вопрос определения состава знаний, т.е. определение того, "ЧТО ПРЕДСТАВЛЯТЬ" в экспертной систе

Исчисление предикатов
  Слово "логика" означает систематический метод рассуждений. Рассмотрим две конкретные системы логики - базисную (исчисление высказываний) и более богатую (исчисление предик

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

Доказательство методом резолюции
    Применяется всего одно правило вывода, что позволяет не запоминать многочисленных правил вывода и тавтологии. Это- правило резолюции, которое приведено в таблице 2.1

Применение метода резолюций для ответов на вопросы
  Предположим, что предикат F(х,у), означает х - отец у, и даны следующие факты об отцовстве: F(john,. harry)

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

Подстановка и унификация
  Метод резолюции требует, чтобы делались подстановки в дизъюнкты так, чтобы две литеры с противоположными знаками содержали совпадающие атомы. Так как эти атомы могут содержать перем

Семантические сети
  Понятие семантической сети основано на древней и очень простой идее о том, что <память> формируется через ассоциации между понятиями. Понятие <ассоциативная память> появ

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

Методы стратегии поиска решений
  Как было показано в главе 1, экспертные системы состоят из трех компонентов: - базы знаний, содержащей правила продукций; - базы данных, которая отображает текущее

Поиск решения задач в пространстве состояний
  Чтобы построить описание задачи с использованием пространства состояний, нужно иметь определенное представление о том, что собой представляют состояния в конкретной задаче. Таким об

Методы поиска решений в одном пространстве
  Методы поиска решений в одном пространстве обычно делятся на поиск в пространстве состояний, поиск методом редукции, эвристический поиск и поиск генерация-проверка [39]. В

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

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

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

Системы с доской объявлений
    В последние годы в разработке архитектуры экспертных систем появилось новое направление [61], которое получило название системы с доской объявлений (blackboard syste

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

Система HEARSAY
  Архитектура на основе доски объявлений выросла из разработанной в конце 70 годов системы распознавания речи HEARSAY-II и HEARSAY-III. Программирование компьютера с целью распознаван

Виды неопределенности
  В предыдущих примерах все знания были определенными. Утверждениями были или ИСТИНА, или ЛОЖЬ. Однако в жизни имеется тенденция к “нечеткости” в представлении знаний. Тем не менее, н

Байесовский метод
  При байесовском подходе степень достоверности каждого из фактов базы знаний оценивается вероятностью, которая принимает значения в диапазоне от 0 до 1. Вероятности исходных фактов о

Биполярные схемы для коэффициентов определенности
  Прототипом систем, основанных на приближенных рассуждениях, являются MYCYN и ее прямой потомок EMYCYN. В EMYCYN в любом случае, когда должна быть численно выражена определенность, и

Теория свидетельств Демпстера-Шефера
  Подход, принятый в теории Демпстера-Шефера (ТДШ) [64] отличается от байесовского подхода и метода коэффициентов уверенности тем, что, во-первых, здесь используется не точечная оценк

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

Многоступенчатые рассуждения
  Чтобы представить себе, что же такое многоступенчатое рассуждение, допустим, что вы заболели. У вас простуда, вирусная инфекция или грипп, и вы хотели бы знать, что следует предприн

Процесс распространения в сети
    Рассмотрим пример, иллюстрирующий распространение коэффициентов определенности в сети (Рисунок 6.8).  

Особенности нейросетей
  Главное достоинство [37] нейросетей в том, что они предоставляют в руки пользователю некий универсальный нелинейный элемент с возможностью широкого изменения и настройки его

Свойства нейрона
С конструктивной точки зрения нейрон, являющийся основным элементом нейросети, - это устройство для получения нелинейной функции нескольких переменных Xi с возможнос

Использование нелинейных элементов
    Один из самых неожиданных результатов анализа И.Минского и С.Пейперта состоял в том, что персептрон, построенный на линейных функциях активации, не может воспроизвес

Сеть Хопфилда
В 1982 г. появилась работа Дж. Хопфилда [70], которая вызвала лавину теоретических и экспериментальных исследований и оживила угасавший интерес к нейронным сетям. Неожиданный успех работы объясняет

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

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

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

Проблемы и перспективы
  Остановимся на трудностях, связанных с обучением нелинейных нейронных сетей. Основные из них следующие [37]. Медленная сходимость процесса обучения. Строго сходимост

Применение нейросетевой технологии
  В настоящее время известно много удачных примеров применения нейросетевого подхода [19] для построения интеллектуальных информационных систем и, в частности, экспертных систем.

Инструментальный комплекс G2
  История развития инструментальных средств (ИС) для создания ЭС реального времени началась в 1985 г., когда фирма Lisp Machine Inc. выпустила систему Picon для символьных ЭВМ Symboli

База знаний
  Все знания в G2 хранятся в двух типах файлов: базы знаний (БЗ) и библиотеки знаний (БиЗ). В файлах БЗ хранятся знания о приложениях: определения всех объектов, объекты, правила, про

Структура данных БЗ
  Глобально сущности в БЗ G2 с точки зрения их использования могут быть разделены на структуры данных и исполняемые утверждения. Примерами первых являются объекты и их классы, связи (

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

Связи и отношения
  G2 предусмотрены два вида взаимосвязей между объектами: связи и отношения. Под связями понимается взаимосвязь между двумя сущностями, задаваемая разработчиком приложения и им

Исполняемые утверждения БЗ
  Основу исполняемых утверждений БЗ составляют правила и процедуры. Кроме того, есть формулы, функции, действия и т.п. Правила в G2 имеют традиционный вид: условие (антецедент) и закл

Машина вывода
    Одним из основных компонентов G2 является машина вывода, выполняющая рассуждения на основании: • знаний, содержащихся в базе знаний; • данных, пост

Планировщик
  В связи с тем, что С2-приложение управляет множеством одновременно возникающих задач, необходим Планировщик. Планировщик управляет всеми процессами в G2 (Рисунок 8.1). Планировщик о

Моделирование
    Одним из возможных источников данных для G2 является система моделирования внешнего окружения. Данная система используется для моделирования реальных объектов и устр

Естественно- языковой текстовый редактор
  Разработчик G2 представляет информацию о разрабатываемом приложении на ограниченном английском языке, и ему предоставлена возможность ссылаться на любую сущность в БЗ многими способ

Изображения
  Изображения используются для того, чтобы предоставить пользователю возможность увидеть значение переменных и выражений. Существуют следующие варианты, реализующие возможность изобра

Управляющие воздействия
Управляющие воздействия (end-user controls) - это средства, с помощью которых конечный пользователь может взаимодействовать с приложением. Существуют следующие виды управляющих воздействий:

Сообщения
  Сообщения (messages) есть класс сущностей, которые содержат в себе текст. Сообщения являются средством, позволяющим G2 информировать пользователя о каких-либо событиях. Например, в

Управление доступом
  С помощью средств управления доступом (access control) разработчик может влиять на то, что конечный пользователь видит и может делать с БЗ. Например, разработчик может управлять дос

Создание опций меню
Разработчик может определить новые опции (строки) меню сверх тех, которые используются стандартно. Когда пользователь выбирает опцию меню (user menu choise - umc) для того, чтобы внести новую строк

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

Интерфейс с внешним окружением
  В G2 реализована распределенная обработка приложения на принципах архитектуры клиент-сервер. Клиентная система Telewindows обеспечивает множественный доступ к централизованной базе

Информационные - ресурсы Интернет
  Ниже даны некоторые ресурсы Интернет, посвященные проблемам искусственного интеллекта и экспертным системам: 1. http://www.aaai.org – сервер Американской ассоциации искусст

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги