Библиотека    Новые поступления    Словарь    Карта сайтов    Ссылки





назад содержание далее

Часть 10.

<Представление ><решения ><задачи ><в ><виде ><пути ><от ><начального ><состояния ><к ><целевому.>

<Алгоритм ><поиска, ><систематически ><проверяющий ><наличие ><альтернативных ><путей ><к ><цели.>

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

><состояний ><и ><находить ><путь ><к ><цели.>

<Списки, ><содержащие ><точную ><информацию ><о ><рассматриваемых ><в ><данный ><момент

><состояниях, ><в ><том ><числе:>

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

><нее ><не ><рассмотренные ><состояния;>

<б)>< ><список ><содержащий ><рассмотренные ><состояния. ><Он ><позволяет ><алгоритму

><избегать ><зацикливаний ><и ><учитывать ><тупиковые ><пути.>

<5.>< ><Список ><можно ><рассматривать, ><как ><стек ><для ><поиска ><в ><глубину, ><очередь ><для

><поиска ><в ><ширину ><или ><приоритетную ><очередь ><для ><"жадного" ><алгоритма ><поиска.>

<В ><данной ><главе ><вводятся ><высокоуровневые ><методы ><для ><построения ><алгоритмов ><поиска. ><Первый ><из ><них ><- ><рекурсивный ><поиск, ><определяющий ><поиск ><в ><глубину ><с ><возвратами ><более ><кратким ><и ><естественным ><способом, ><чем ><в ><главе ><3. ><Этот ><механизм ><составляет ><основу ><многих ><алгоритмов ><в ><разделе ><5.1. ><Применение ><унификации ><в ><процессе ><поиска ><в ><пространстве ><состоя><ний ><расширяет ><возможности ><рекурсивного ><поиска. ><Этот ><алгоритм ><поиска ><по ><образцу ><(раздел ><5.2) ><положен ><в ><основу ><языка ><описанного ><в ><главе ><14, ><и ><многих ><экспертных ><систем, ><рассмотренных ><в ><главе ><7. ><Раздел ><5.3 ><посвящен ><так ><называемым ><продукционным ><сис><темам. ><Это ><общая ><архитектура ><для ><решения ><образно-ориентированных ><проблем, ><которая ><широко ><используется ><как ><для ><моделирования ><человеческого ><образа ><мышления ><при ><решении ><многих ><задач, ><так ><и ><для ><построения ><экспертных ><систем ><и ><других ><приложений ><ИИ. ><Наконец, ><в ><разделе ><5.4 ><рассматривается ><еще ><одно ><представление ><для ><решения ><задач ><искусственного ><ин><теллекта ><-- ><так ><называемая ><модель ><классной ><доски ><(blackboard).>

<5.1. ><Рекурсивный ><поиск>

<><5.1.1. ><Рекурсия>

<В ><математике ><рекурсивное ><определение ><объекта ><- ><это ><его ><описание ><в ><терминах ><час><тей ><этого ><же ><определения. ><В ><информатике ><рекурсия ><используется ><для ><определения ><и ><ана><лиза ><структур ><данных ><и ><процедур. ><Рекурсивная ><процедура ><состоит ><из ><следующих ><этапов.>

<Рекурсивный ><шаг: ><вызов ><процедуры ><из ><этой ><же ><процедуры ><для ><повторения ><после

><довательности ><действий.>

<Условие, ><которое ><обеспечивает ><выход ><из ><процедуры ><и ><таким ><образом ><предотвра

><щает ><зацикливание ><(рекурсивная ><версия ><бесконечного ><цикла).>

<Оба ><этих ><компонента ><необходимы ><и ><появляются ><во ><всех ><рекурсивных ><определениях ><и ><алгоритмах. ><Рекурсия ><- ><естественный ><инструмент ><управления ><массивами ><данных, ><кото><рые ><имеют ><правильную ><структуру ><и ><неопределенный ><размер, ><например, ><списками, ><де><ревьями ><и ><графами. ><Рекурсия ><особенно ><удобна ><для ><поиска ><в ><пространстве ><состояний.>

<Простой ><пример ><- ><алгоритм ><определения ><принадлежности ><данного ><элемента ><списку. ><Списком ><(list) ><называют ><упорядоченную ><последовательность ><элементов ><и ><фундаменталь><ных ><строительных ><блоков ><структур ><данных. ><Списки ><использовались ><как ><альтернативная ><форма ><записи ><выражений ><исчисления ><предикатов ><(глава ><2) ><и ><для ><представления ><списков ><и ><в ><алгоритмах ><поиска ><из ><главы ><3. ><Процедура ><проверки ><принадлежности ><элемента ><списку ><определяется ><так.>

<><186>< ><Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

><

<список ><пуст>

< ><%останов>

<= ><первому ><элементу ><списка>

< ><%останов>

< >< ><:= >< ><список ><после >< ><удаления >< ><первого >< ><элемента;

>< >< >< ><%рекурсия>

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

<В ><приведенном ><выше ><алгоритме ><используются ><две ><фундаментальные ><операции ><со ><списком: ><первая ><из ><них ><(head) ><возвращает ><первый ><элемент ><списка, ><вторая ><операция ><(fa/7) ><возвращает ><список, ><полученный ><после ><удаления ><первого ><элемента. ><Эти ><операции ><наряду ><с ><рекурсией ><составляют ><основу ><высокоуровневых ><операций ><со ><списком ><типа ><Данные ><операции ><поддерживаются ><языками ><обработки ><списков ><и ><и ><под><робно ><описаны ><в ><главах, ><посвященных ><каждому ><из ><этих ><языков.>

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

<5.1.2. ><Рекурсивный ><поиск>

<Прямое ><преобразование ><описанного ><в ><главе ><3 ><алгоритма ><поиска ><в ><глубину ><в ><рекур><сивную ><форму ><иллюстрирует ><эквивалентность ><рекурсии ><и ><итерационного ><подхода. ><Этот ><алгоритм ><для ><поддержки ><списка ><состояний ><использует ><глобальные ><переменные ><и >

< ><%переменные ><и >< ><глобальные>

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>< ><187>

><<список ><пуст>

<:= ><первый ><элемент ><списка ><равно ><целевому ><состоянию >

< >< ><:= >< >< ><хвост >< >< ><списка >< >< >

< >< ><:= >< ><с >< ><добавлением ><для >< ><каждого ><потомка >< ><не >< ><в >< ><списке ><или >

<%построение ><стека>

<добавить >< ><потомок ><в >< ><начало >< ><списка >< >

< ><%рекурсивный ><вызов>

<Поиск ><в ><ширину ><можно ><описать ><фактически ><тем ><же ><самым ><алгоритмом. ><При ><этом ><не><обходимо ><сохранять ><список ><как ><глобальную ><структуру ><данных ><и ><рассматривать ><список ><как ><очередь, ><а ><не ><как ><стек.>

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

< >< ><(current_state)><;>

<%closed ><- ><глобальная >< ><переменная >

< >< ><равно ><целевому >< ><состоянию>

< >< >

<добавить >< >< >< >< ><в >< >< ><список >< >< >< ><имеет >< ><непроверенные ><потомки >

< >< ><:= >< >< ><следующий ><непроверенный ><потомок; >< ><потомок ><не >< ><член >< ><списка >< >

< >< >< >< ><= >< >

< >< >

< ><%поиск ><исчерпан>

<Вместо ><того ><чтобы ><находить ><все ><потомки ><данного ><состояния, ><а ><затем ><помещать ><их ><в ><список ><этот ><алгоритм ><рассматривает ><потомки ><по ><одному. ><Для ><каждого ><из ><них ><ре><курсивно ><находятся ><все ><потомки, ><а ><затем ><рассматривается ><очередной ><потомок ><исходного ><состояния. ><Следует ><заметить, ><что ><алгоритм ><предполагает ><определенный ><порядок ><опера><торов ><генерации ><состояний. ><Если ><при ><рекурсивном ><поиске ><некоторый ><потомок ><является ><целевым ><состоянием, ><то ><процедура ><поиска ><успешно ><завершается, ><и, ><естественно, ><алго><ритм ><игнорирует ><братьев ><данного ><потомка. ><Если ><рекурсивный ><вызов ><для ><одного ><из ><по><томков ><приведет ><в ><тупик, ><то ><будет ><рассмотрен ><брат ><этого ><потомка, ><а ><также ><все ><его ><по><томки. ><Таким ><образом, ><алгоритм ><обходит ><весь ><граф ><аналогично ><алгоритму ><поиска ><в ><глу><бину ><(см. ><подраздел ><3.2.3). ><Читателю ><рекомендуется ><проверить ><это ><утверждение.>

<><188>< ><Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

><<Рекурсия ><позволяет ><обойтись ><без ><списка ><Механизм, ><посредством ><которого ><мож><но ><реализовать ><рекурсию ><на ><каком-либо ><языке ><программирования, ><должен ><включать ><от><дельную ><запись ><активации ><(activation ><[Aho ><и ><1977] ><для ><каждого ><рекурсив><ного ><вызова. ><Каждая ><такая ><запись ><активации ><должна ><содержать ><локальные ><переменные ><и ><состояние ><выполнения ><для ><каждого ><вызова ><процедуры. ><При ><каждом ><рекурсивном ><вызове ><процедуры ><с ><новым ><состоянием ><новая ><запись ><активации ><сохраняет ><параметры ><процедуры ><(состояние), ><все ><локальные ><переменные ><и ><текущее ><состояние ><выполнения. ><В ><рекурсивном ><алгоритме ><поиска ><состояния, ><находящиеся ><на ><рассматриваемом ><пути, ><сохраняются ><в ><после><довательности ><записей ><активации ><рекурсивных ><вызовов. ><Запись ><каждого ><вызова ><содержит ><также ><последнюю ><операцию, ><которая ><была ><сделана ><при ><генерации ><соответствующего ><по><томка. ><Это ><позволяет ><генерировать ><при ><необходимости ><брата ><данного ><потомка.>

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

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

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

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

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>< ><189>

><<5.2. ><Поиск ><по ><образцу>

<><В ><разделе ><5.2 ><рекурсивный ><поиск ><будет ><применен ><к ><пространству ><логического ><выво><да. ><В ><результате ><получим ><общую ><процедуру ><поиска ><для ><исчисления ><предикатов.>

<Допустим, ><необходимо ><построить ><алгоритм, ><который ><определяет, ><является ><ли ><выра><жение ><исчисления ><предикатов ><логическим ><следствием ><некоторого ><набора ><утверждений. ><Это ><предполагает ><поиск ><от ><цели ><с ><применением ><правил ><модус ><поненс, ><определяющих ><пе><реходы ><между ><состояниями. ><Имея ><цель ><(типа ><р(а)), ><алгоритм ><использует ><унификацию ><для ><выбора ><импликаций, ><заключения ><которых ><соответствуют ><цели ><(например, >®< ><р(Х)). ><Поскольку ><алгоритм ><обрабатывает ><импликации ><как ><потенциальные ><правила ><для ><разрешения ><запроса, ><их ><часто ><называют ><просто ><правилами. ><После ><унификации ><цели ><с ><за><ключением ><импликации ><(или ><правила) ><и ><применения ><результирующих ><подстановок ><ко ><всему ><правилу ><предпосылка ><этого ><правила ><становится ><новой ><целью ><(q(a)). ><Ее ><называют ><подцелью. ><Затем ><алгоритм ><повторяется ><для ><подцелей. ><Если ><подцель ><соответствует ><факту ><в ><базе ><знаний, ><поиск ><прекращается. ><Последовательность ><выводов, ><ведущая ><от ><исходной ><цели ><к ><данным ><фактам, ><доказывает ><истинность ><первоначальной ><цели.>

<(current_goal)><;>

<содержится ><в ><списке >

<%проверка ><на ><зацикливание >

<добавить ><в ><список >

<в ><базе ><данных ><остаются ><правила ><или ><факты ><для ><унификации >

<унифицируется ><с ><фактом:>

<- ><это ><конъюнкция(р ><^ ><...): >

<каждого ><конъюнкта >

<вызвать ><для ><конъюнкта; ><успешно ><завершается ><для ><всех>

<конъюнктов ><унифицируется ><с ><заключением ><правила>

<(р ><в ><® ><р) ><: >

<применить ><подстановку ><унификации ><цели>

<к ><предпосылке ><(д);>

<вызвать ><для ><предпосылки; ><завершен ><успешно >

< ><%конец ><оператора >

<><190>< ><Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

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

<Для ><простоты ><этот ><алгоритм ><не ><решает ><проблему ><согласования ><подстановок ><перемен><ных ><при ><унификации. ><Это ><важно ><при ><разрешении ><конъюнктивных ><запросов ><с ><общими ><переменными ><(например ><р(Х)><^q><(Х)). ><Оба ><конъюнкта ><должны ><быть ><согласованы ><не ><только ><между ><собой, ><но ><и ><с ><унифицированными ><значениями ><переменной ><(подраздел ><2.3.2). ><Эту ><проблему ><мы ><рассмотрим ><в ><конце ><раздела.>

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

<5.2.1. ><Пример ><рекурсивного ><поиска: ><вариант ><задачи ><хода ><конем>

<Использование ><исчисления ><предикатов ><с ><общим ><контроллером ><для ><решения ><задач ><по><иска ><можно ><проиллюстрировать ><на ><примере ><упрощенной ><версии ><задачи ><хода ><конем ><(knight's ><В ><шахматах ><конь ><может ><перемещаться ><на ><два ><поля ><по ><горизонтали ><или ><вертикали ><и ><на ><одно ><поле ><в ><перпендикулярном ><направлении. ><При ><этом ><он ><не ><должен ><выйти ><за ><пределы ><шахматной ><доски. ><Таким ><образом, ><в ><самом ><общем ><случае ><существует ><не ><более ><восьми ><возможных ><ходов ><(рис. ><5.1).>

<Традиционная ><формулировка ><задачи ><заключается ><в ><том, ><чтобы ><найти ><такую ><последо><вательность ><ходов ><конем, ><при ><которой ><он ><становится ><на ><каждую ><клетку ><только ><один ><раз. ><Эта ><задача ><дала ><толчок ><к ><развитию ><и ><представлению ><алгоритмов ><поиска. ><Пример, ><кото><рый ><мы ><используем ><в ><этом ><разделе, ><- ><упрощенная ><версия ><задачи ><хода ><конем. ><Здесь ><не><обходимо ><найти ><такую ><последовательность ><ходов, ><при ><которой ><конь ><побывал ><бы ><в ><каж><дом ><поле ><уменьшенной ><шахматной ><доски ><(3x3) ><только ><один ><раз. ><(Полная ><задача ><хода ><ко><нем ><рассмотрена ><в ><подразделе ><5.3.2.)>

<На ><рис. ><5.2 ><показана ><шахматная ><доска, ><размером ><3x3, ><где ><каждая ><клетка ><помечена ><це><лым ><числом ><от ><1 ><до ><9. ><Для ><простоты ><эта ><схема ><маркировки ><будет ><использоваться ><вместо ><более ><общей ><схемы, ><в ><которой ><каждая ><клетка ><маркируется ><двумя ><цифрами, ><номером ><строки ><и ><номером ><столбца. ><Поскольку ><размер ><шахматной ><доски ><уменьшен, ><мы ><просто ><перечислим ><возможные ><ходы, ><а ><не ><будем ><разрабатывать ><общий ><оператор ><перемещения. ><В ><этом ><случае ><допустимые ><ходы ><на ><доске ><можно ><описать ><с ><помощью ><предиката ><параметрами ><которого ><являются ><номера ><начальной ><и ><конечной ><клетки ><допустимого ><хода. ><Например, ><1,8)>< ><перемещает ><коня ><из ><верхнего ><левого ><угла ><в ><середину ><нижнего ><ря><да. ><Предикаты ><на ><рис. ><5.2 ><описывают ><все ><возможные ><ходы ><для ><шахматной ><доски ><3x3.>

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>< ><191>

><<>

<Рис. ><5.1. ><Допустимые ><ходы ><конем ><на ><шахматной ><доске>

<>

<Рис. ><5.2. ><Шахматная ><доска ><3x3 ><с ><допустимыми ><ходами ><для ><упрощенной ><задачи ><хода ><конем>

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

<Другой ><запрос ><позволяет ><определить, ><куда ><конь ><может ><переместиться ><из ><некоторого ><местоположения, ><например, ><из ><клетки ><2. ><В ><этом ><случае ><цель ><унифицируется ><с ><двумя ><различными ><предикатами ><в ><базе ><знаний ><с ><подстановками ><{7/Х} ><и ><{9/Х}. ><Для ><це><ли ><2,3)>< ><результатом ><будет ><так ><как ><в ><базе ><знаний ><не ><существует ><элемента ><(2,3).>< ><Ответом ><на ><запрос ><(5,>< ><) ><тоже ><будет ><потому ><что ><не ><существует ><утверждений, ><задающих ><перемещение ><из ><клетки ><5.>

<Следующая ><задача ><состоит ><в ><построении ><алгоритма ><поиска ><для ><определения ><пути ><по><следовательных ><шагов ><по ><доске. ><Это ><можно ><сделать ><с ><помощью ><импликаций ><исчисления>

<><192>

<Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

><<предикатов. ><Они ><добавляются ><к ><базе ><знаний ><как ><правила ><для ><создания ><путей ><последова><тельных ><шагов. ><Чтобы ><подчеркнуть, ><что ><эти ><правила ><обеспечивают ><поиск ><от ><цели, ><мы ><изменили ><направление ><стрелки ><импликации. ><Следовательно, ><правила ><будем ><писать ><как ><Заключение ><<- ><Предпосылка.>

<Например, ><путь ><с ><двумя ><ходами ><можно ><записать ><так.>

<" ><[path2(X, ><У) ><><$ Z ><[move(X, >

<Это ><правило ><утверждает, ><что ><для ><всех ><клеток ><и ><существует ><путь ><с ><двумя ><ходами, ><если ><существует ><такая ><клетка ><что ><конь ><может ><переместиться ><из ><в ><а ><затем ><- ><из ><в >

<Общее ><правило ><можно ><применять ><различными ><способами. ><Например, ><оно ><под><ходит ><для ><проверки ><существования ><двухходового ><пути ><из ><одной ><клетки ><в ><другую. ><Если ><функция ><вызывается ><для ><цели ><2(1><,3),>< ><то ><проверяется ><соответ><ствие ><этой ><цели ><последовательности ><правил ><При ><этом ><выполняются ><подста><новки ><для ><предпосылок ><правила. ><Результатом ><является ><конкретное ><правило, ><которое ><оп><ределяет ><условия, ><необходимые ><для ><такого ><пути.>

<2(1,3) ><3Z ><[move(1, ><3)].>

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

<Другой ><запрос ><может ><состоять ><в ><том, ><чтобы ><найти ><все ><клетки, ><которые ><могут ><быть ><достигнуты ><из ><клетки ><2 ><за ><два ><хода. ><Это ><достигается ><вызовом ><для ><цели ><Используя ><подобный ><процесс, ><можно ><найти ><все ><возможные ><подста><новки, ><включая ><{6/><} ><и ><{2/><} ><(с ><промежуточным ><значением ><равным ><7), ><а ><также ><{2/><} ><и ><{4/Y} ><(с ><промежуточным ><значением ><9). ><Дальнейшие ><запросы ><могут ><состоять ><в ><том, ><что><бы ><найти ><путь ><за ><два ><хода ><из ><клетки ><с ><некоторым ><номером ><в ><ту ><же ><самую ><клетку, ><из ><любой ><клетки ><в ><клетку ><5 ><и ><так ><далее. ><Обратите ><внимание ><на ><одно ><из ><преимуществ ><поиска ><по ><об><разцу: ><в ><качестве ><начальной ><цели ><могут ><быть ><взяты ><самые ><разнообразные ><запросы.>

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

<"X, ><[path3(X, >< ><$ ><[move(X, ><^ ><^ >

<Используя ><это ><определение, ><можно ><рассматривать ><такие ><задачи, ><как ><3(1,2), ><,X) ><или ><даже ><Эти ><задачи ><мы ><оставляем ><читателю ><в ><качестве ><уп><ражнений.>

<Очевидно, ><что ><аналогичным ><способом ><можно ><решать ><задачи ><нахождения ><пути ><произ><вольной ><длины. ><Просто ><необходимо ><указать ><соответствующее ><количество ><промежуточ><ных ><мест ><"приземления". ><Также ><очевидно, ><что ><путь ><большей ><длины ><может ><быть ><опреде><лен ><в ><терминах ><пути ><меньшей ><длины.>

"<[path3(X, ><3Z ><[move(X, ><^>< ><

><Это ><дает ><возможность ><получить ><общее ><рекурсивное ><правило.>

"<[><Х, ><3Z ><[move(X, ><^>< >

<Последнее ><правило ><можно ><использовать ><для ><проверки ><существования ><пути ><произ><вольной ><длины. ><Такая ><задача ><может ><быть ><сформулирована ><следующим ><образом: ><"Найти>

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>< ><193>

><<путь ><из ><одной ><клетки ><в ><другую, ><делая ><при ><этом ><ход ><из ><начальной ><клетки ><в ><промежуточ><ную, ><а ><затем ><из ><промежуточной ><в ><конечную".>

<Это ><рекурсивное ><правило ><"пути" ><неполно ><в ><том ><смысле, ><что ><в ><нем ><не ><определено ><ус><ловие ><выхода ><из ><рекурсии. ><Поэтому ><любая ><попытка ><определить ><путь ><к ><цели, ><используя ><предикат ><будет ><безуспешной, ><потому ><что ><каждая ><попытка ><найти ><промежуточный ><путь, ><снова ><будет ><приводить ><к ><рекурсивному ><вызову ><. ><Это ><объясняется ><тем, ><что ><не ><определено ><условие ><достижения ><конечного ><состояния. ><Этот ><недостаток ><может ><быть ><исправлен, ><если ><к ><базе ><знаний ><добавить ><условие ><Поскольку ><уни><фицируется ><только ><с ><предикатами ><типа ><3,3) ><или ><5,5), ><то ><оно ><определяет ><не><обходимое ><условие ><завершения ><рекурсии. ><Тогда ><общее ><рекурсивное ><определение ><пути ><задается ><двумя ><формулами ><исчисления ><предикатов.>

<" >

<">< ><[><Х, ><$ ><[move(X, ><^>< >

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

<1,8)>< >< >< ><1,6)>< ><9)>< ><7)>

<4) >< >< ><8)>< ><9)>< ><3)>

<1) >< >< ><7)>< ><2)>< >

< >< ><1)>< ><2)>< ><4)>

<" ><Х ><Х, >

<">< ><У ><[path(X, ><$ ><[move(X, ><^>< >

<Следует ><заметить, ><что ><при ><решении ><задачи ><использовались ><логические ><описания, ><опре><деляющие ><пространство ><состояний, ><и ><процедура ><поиска ><в ><этом ><про><странстве. ><Хотя ><правило ><достаточно ><удовлетворительно ><определяет ><путь, ><оно ><не ><ука><зывает, ><как ><найти ><этот ><путь. ><Действительно, ><на ><шахматной ><доске ><существует ><много ><других ><путей, ><которые ><не ><ведут ><к ><цели, ><но, ><тем ><не ><менее, ><удовлетворяют ><этому ><определению. ><На><пример, ><если ><не ><принимать ><во ><внимание ><механизм ><предотвращения ><зацикливания, ><то ><поиск ><цели ><(><1><,3)>< ><может ><привести ><к ><зацикливанию ><между ><клетками ><1 ><и ><8, ><вместо ><нахожде><ния ><правильного ><пути ><1®8®3. ><Таким ><образом, ><логическими ><следствиями ><базы ><знаний ><являются ><и ><цикл, ><и ><правильный ><(допустимый) ><путь. ><Аналогично, ><если ><рекурсивное ><пра><вило ><будет ><проверяться ><перед ><условием ><выхода ><из ><рекурсии, ><то ><условие ><выхода ><из ><ре><курсии ><3,3) ><будет ><проигнорировано, ><и ><поиск ><продолжится ><безо ><всякого ><смысла.>

<5.2.2. ><Усовершенствование ><алгоритма ><поиска ><по ><образцу>

<Хотя ><начальная ><версия ><функции ><определяет ><правильное ><поведение ><алгоритма ><поиска ><для ><выражений ><исчисления ><предикатов, ><все ><же ><стоит ><обратить ><внимание ><на ><некоторые ><тонкости. ><Они ><включают ><порядок ><рассмотрения ><альтернативных ><вариантов ><и ><корректную ><обработку ><полного ><набора ><логических ><операторов ><(><^><, ><и >?<). ><Логика ><по ><своей ><сути ><декларативна, ><и ><без ><предписаний ><стратегии ><поиска ><она ><определяет ><пространство ><возможных ><выводов, ><но ><не ><указывает ><решателю, ><как ><выделить ><из ><него ><полезные.>

<Для ><реализации ><рассуждений ><средствами ><исчисления ><предикатов ><необходим ><такой ><режим ><управления, ><который ><осуществляет ><систематический ><поиск ><в ><пространстве, ><и ><при>

<><194>< ><Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

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

<Другая ><проблема ><заключается ><в ><наличии ><логических ><связок ><в ><предпосылках ><правил, ><например, ><в ><импликациях ><вида: ><р?>< ><или ><Оператор ><л ><означает, ><что ><ре><зультат ><будет ><истиной, ><если ><выражения ><и ><г ><тоже ><истинны. ><Кроме ><того, ><конъюнкты ><в ><выражениях ><должны ><разрешаться ><с ><помощью ><согласованных ><значений ><переменных. ><Так, ><чтобы ><найти ><значение ><выражения ><р(Х)><^q><(Х), ><не ><достаточно ><разрешить ><р(Х) ><и ><ис><пользуя ><подстановку ><{а/Х} ><и ><{b><Оба ><конъюнкта ><должны ><быть ><разрешены ><с ><помощью ><одного ><и ><того ><же ><соответствующего ><значения ><переменной ><С ><другой ><стороны, ><оператор ><(или) ><обеспечивает ><истинность ><для ><всего ><выражения, ><если ><хотя ><бы ><одна ><из ><его ><частей ><является ><истиной. ><Алгоритм ><поиска ><должен ><принимать ><это ><во ><внимание.>

<Последнее ><дополнение ><к ><рассмотренному ><алгоритму ><- ><это ><его ><способность ><находить ><цель, ><используя ><логическое ><отрицание ><. ><Функция ><обрабатывает ><ин><вертированные ><цели, ><разрешая ><вначале ><операнд ><отрицания ><Если ><эта ><подцель ><дости><жима, ><то ><процедура ><возвращает ><Если ><же ><эта ><цель ><недостижи><ма, ><то ><возвращает ><пустое ><множество ><подстановок, ><указывающих ><на ><успех. ><Обратите ><внимание ><на ><то, ><что ><даже ><если ><подцель ><содержит ><переменные, ><то ><ре><зультат ><разрешения ><ее ><отрицания ><не ><может ><содержать ><никаких ><подстановок. ><Это ><связано ><с ><тем, ><что ><отрицание ><® ><принимает ><значение ><"истина", ><только ><если ><его ><операнд ><не ><удов><летворяется. ><Следовательно, ><операция ><отрицания ><не ><может ><возвращать ><никаких ><значе><ний ><связывания ><для ><этого ><операнда.>

<Наконец, ><алгоритм ><должен ><возвращать ><не ><значение ><а ><те ><значения ><связывания, ><которые ><использовались ><при ><решении. ><Например, ><для ><нахождения ><пути ><1, ><сущест><венной ><частью ><решения ><являются ><подстановки ><{6/Х} ><и ><{8/Х}.>

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

< >< ><содержится ><в >< >< ><%проверка ><на ><зацикливание>

<добавить >< >< ><в >< ><список >< ><остаются ><унифицирующие ><факты ><или ><правила >

< ><унифицируется >< ><с >< ><фактом: ><унифицирующие ><подстановки;>

< ><инвертирована >< >< ><(? ><р) ><: >

<вызвать ><для ><р; ><возвращает >

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>< ><195>

><< ><{};>< ><%отрицание ><истинно>

< >

<- ><это ><конъюнкция >< >< ><(р ><^ >< ><...): >

<каждого ><конъюнкта >

<вызвать ><для ><конъюнкта; ><возвращает >

<применить >< ><подстановки ><к ><другим ><конъюнктам; >

<возвращает ><для >< ><всех ><конъюнктов ><композицию ><всех ><унификаций; >< >

<- ><это ><дизъюнкция >< >< ><(p >< >< ><...): >< ><каждого ><дизъюнкта>

<вызвать ><для ><дизъюнкта >< ><больше >< ><нет ><дизъюнктов ><или ><возвращает ><подстановки >< >

<унифицируется ><с >< ><заключением >< >< ><(p >< ><: >

<применить >< ><подстановки ><унификации ><цели ><к ><предпосылке >< >< ><(q)><; ><вызвать ><для >< ><предпосылки; ><возвращает ><объединение ><подстановок ><р ><и >< >

< ><%><окончание ><оператора >

< ><%><окончание ><цикла >

<Этот ><алгоритм ><поиска ><в ><пространстве ><правил ><исчисления ><предикатов ><и ><фактов ><поло><жен ><в ><основу ><языка ><(в ><котором ><используется ><хорновская ><форма ><предикатов, ><см. ><подраздел ><12.3) ><и ><многих ><оболочек ><экспертных ><систем, ><работающих ><от ><цели ><(см. ><часть ><Альтернативный ><принцип ><управления ><поиском ><по ><образцу ><обеспечивают ><продукционные ><системы, ><которые ><будут ><рассмотрены ><в ><следующем ><разделе.>

<5.3. ><Продукционные ><системы>

<><5.3.1. ><Определение ><и ><история ><развития>

<Продукционная ><система ><(production ><- ><это ><модель ><вычислений, ><играющая ><особо ><важную ><роль ><в ><задачах ><искусственного ><интеллекта ><как ><для ><создания ><алгоритмов>

<><196>< ><Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

><<поиска, ><так ><и ><для ><моделирования ><решения ><задач ><человеком. ><Продукционная ><система ><обеспечивает ><управление ><процессом ><решения ><задачи ><по ><образцу ><и ><состоит ><из ><набора ><продукционных ><правил ><(production ><рабочей ><памяти ><(working ><и ><цикла ><управления ><"распознавание-действие".>

<ОПРЕДЕЛЕНИЕ>

<ПРОДУКЦИОННАЯ ><СИСТЕМА>

<Продукционную ><систему ><можно ><определить ><на ><основе ><следующих ><категорий.>

<Набор >< >< ><продукционных >< >< ><правил. >< >< >< ><Их >< >< >< ><часто >< >< >< ><просто >< >< >< ><называют >< >< ><продукциями

><(productions). ><Продукция ><- ><это ><пара ><"условие-действие", ><которая ><определяет ><одну

><порцию ><знаний, ><необходимых ><для ><решения ><задачи. ><Условная ><часть ><правила ><- ><это

><образец ><(шаблон), ><который ><определяет, ><когда ><это ><правило ><может ><быть ><применено

><для ><решения ><какого-либо ><этапа ><задачи. ><Часть ><действия ><определяет ><соответст><вующий ><шаг ><в ><решении ><задачи.>

<Рабочая ><память ><(working ><содержит ><описание ><текущего ><состояния ><ми

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

><рабочей ><памяти.>

<Цикл ><"распознавание-действие". ><Управляющая ><структура ><продукционной ><систе><мы ><проста: ><рабочая ><память ><инициализируется ><начальным ><описанием ><задачи. ><Текущее ><состояние ><решения ><задачи ><представляется ><набором ><образцов ><в ><рабочей ><памяти. ><Эти ><образцы ><сопоставляются ><с ><условиями ><продукционных ><правил; ><что ><порождает ><подмножество ><правил ><вывода, ><называемое ><конфликтным ><множест><вом ><(conflict ><Условия ><этих ><правил ><согласованы ><с ><образцами ><в ><рабочей ><памя><ти. ><Продукции, ><содержащиеся ><в ><конфликтном ><множестве, ><называют ><допусти><мыми. ><Выбирается ><и ><активизируется ><одна ><из ><продукций ><конфликтного ><множест><ва ><(разрешение ><конфликта). >< ><Активизация ><правила ><означает ><выполнение ><его ><действия. ><При ><этом ><изменяется ><содержание ><рабочей ><памяти. ><После ><того ><как ><вы><бранное ><правило ><сработало, ><цикл ><управления ><повторяется ><для ><модифицирован><ной ><рабочей ><памяти. ><Процесс ><заканчивается, ><если ><содержимое ><рабочей ><памяти ><не ><соответствует ><никаким ><условиям.>

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

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

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>< ><197>

><<Схема ><продукционной ><системы ><представлена ><на ><рис. ><5.3.>

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

<Впервые ><идея ><разработки ><программ ><компьютерных ><вычислений, ><основанных ><на ><"продукционных ><правилах", ><появилась ><в ><[Post, ><1943]. ><В ><этой ><работе ><модель ><продукцион><ных ><правил ><предложена ><в ><качестве ><формальной ><теории ><вычислений. ><Основа ><этой ><тео><рии ><- ><набор ><правил ><вывода ><для ><строк, ><во ><многом ><аналогичный ><правилам ><синтаксиче><ского ><анализа ><из ><примера ><3.3.6. ><Эта ><теория ><также ><тесно ><связана ><с ><алгоритмами ><Маркова ><[Markov, ><1954] ><и ><подобно ><им ><эквивалентна ><машине ><Тьюринга.>

<Интересное ><приложение ><продукционных ><правил ><к ><моделированию ><человеческого ><мышления ><описано ><в ><работах ><Нюэлла ><и ><Саймона ><из ><технологического ><института ><(теперь ><- ><в ><1960-1970-х ><годах. ><Программы, ><которые ><они ><разработали, ><включая ><Универсальный ><решатель ><задач ><(General ><послужили ><важным ><приложением ><продукционных ><систем ><в ><искусственном ><интеллекте. ><Авторы ><исследовали ><человеческое ><мышление ><в ><процессе ><решения ><различных ><задач, ><таких ><как ><задачи ><по ><логике ><предикатов ><или ><игре ><в ><шахматы. ><Были ><составлены ><и ><разобраны ><на ><элементарные ><компоненты ><протоколы ><(образцы ><по><ведения, ><включая ><словесные ><описания ><процесса ><решения ><задачи, ><движения ><глаз ><и ><т.д.) ><решения ><различных ><задач. ><Эти ><компоненты ><рассматривались ><как ><основные ><биты ><зна><ния ><о ><методах ><решения ><задач ><человеком, ><для ><которых ><был ><реализован ><поиск ><на ><графе ><(так ><называемом ><графе ><поведения ><задачи). ><Для ><осуществления ><поиска ><в ><этом ><графе ><использовалась ><продукционная ><система.>

<Продукционные ><правила ><представляли ><множество ><навыков ><человека ><при ><решении ><задач. ><Текущий ><фокус ><внимания ><был ><описан ><как ><текущее ><состояние ><мира. ><При ><работе ><продукционной ><системы ><"внимание" ><(или ><"текущий ><фокус") ><решателя ><задачи ><сопос><тавляется ><с ><продукционным ><правилом, ><которое ><изменяет ><состояние ><"внимания" ><и ><при><водит ><его ><к ><соответствию ><с ><другим ><продукционным ><правилом ><(представляющим ><неко><торый ><навык), ><и ><так ><далее.>

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

<Эти ><результаты ><описаны ><в ><книгах ><[Newell ><и ><1972] ><и ><[Luger, ><1978], ><[Luger, ><1994].>

<><198>< ><Часть ><Искусственный ><интеллект ><как ><представление ><и ><поиск>

><<>

<Рис. ><5.3. ><Продукционная ><система. ><Цикл ><выполня><ется ><до ><тех ><пор, ><пока ><образец ><рабочей ><памяти ><не ><будет ><более ><соответствовать ><ни ><одному ><из ><усло><вий ><продукционных ><правил>

<>

<Рис. ><5.4. ><Работа ><простой ><продукционной ><системы>

<Ньюэлл, ><Саймон ><и ><другие ><исследователи ><использовали ><продукционные ><правила ><для ><моделирования ><различия ><между ><новичками ><и ><экспертами ><([Larkin ><и ><др., ><1980], ><[Simon ><и ><1978]) ><в ><таких ><областях, ><как ><решение ><алгебраических ><и ><физических ><задач. ><Про><дукционные ><системы ><также ><составляют ><основу ><для ><изучения ><человеческого ><и ><компью><терного ><обучения ><[Klahr ><и ><др., ><1987]. ><На ><этой ><традиции ><построены ><системы ><[Anderson, ><19836] ><и ><[Newell, ><1990].>

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

<><Глава ><5. ><Управление ><поиском ><и ><его ><реализация ><в ><пространстве ><состояний>

<199>

><<решения ><задачи ><человеком ><(модульность ><правил, ><разделение ><знания ><и ><управления, ><разделение ><рабочей ><памяти ><и ><навыков ><в ><решении ><задач). ><Это ><служит ><идеальным ><ин><струментом ><для ><разработки ><экспертных ><систем.>

<В ><результате ><исследования ><продукционных ><систем ><в ><Университете ><Карнеги ><Мел-><лон ><(Carnegie ><появилось ><важное ><семейство ><языков ><для ><систем ><ис><кусственного ><интеллекта. ><Это ><так ><называемые ><-языки ><официальных ><продукцион><ных ><систем ><(Official ><Хотя ><сначала ><они ><предназначались ><для ><мо><делирования ><человеческого ><подхода ><к ><решению ><задач, ><эти ><языки ><оказались ><очень ><эффективными ><для ><программирования ><экспертных ><систем ><и ><других ><приложений ><ис><кусственного ><интеллекта. ><- ><язык ><реализации ><для ><-конфигуратора ><и ><других ><экспертных ><систем, ><разработанных ><в ><Корпорации ><цифрового ><оборудования ><(Digital ><[McDermott, ><1981, ><1982], ><[Soloway ><и ><др., ><1987], ><[Barker ><и ><1989]. ><Широко ><распространены ><-интерпретаторы ><для ><пер><сональных ><компьютеров ><и ><рабочих ><станций. ><Активно ><используется ><созданная ><в ><НА><СА ><объектно-ориентированная ><версия ><продукционной ><системы ><реализован><ная ><на ><языке ><программирования ><С.>

<В ><следующем ><разделе ><мы ><рассмотрим ><примеры ><использования ><продукционных ><сис><тем ><для ><решения ><разнообразных ><задач ><поиска.>

<5.3.2. ><Примеры ><продукционных ><систем>

назад содержание далее



ПОИСК:


Мост через реку Волхов может быть самым древним в России

Археологи обнаружили самое большое и древнее сооружение цивилизации майя

В Помпеях нашли дома с балконами

Новая комната Золотого дома

Прочитан свиток с календарем Кумранской общины

В письменности инков могли быть зашифрованы не только цифры

В Боливии нашли гробницы исчезнувшей культуры индейцев пакахе



Греческие студенты совместно с ЕКА представили новый концепт базы на Луне

Двигатели межпланетной станции 'Вояджер-1' заведены после 37 лет простоя

В России тестируют новую систему возвращения космонавтов с орбиты

«Хаябуса-2» во второй раз добыл грунт с астероида Рюгу

Космический телескоп «Кеплер» завершил 9-летнюю миссию

NASA и Google запустили виртуальный тур по МКС

Zero2Infinity запустила ракету со стратостата



При отделке помещения модного магазина обнаружили огромную картину XVII века

В столичной галерее «Наши художники» прошла выставка «Цветной Вейсберг»

Американский музей объявил об обнаружении картины Леонардо да Винчи

«Святой Иероним» Пармиджанино оказался современной подделкой

Картина Аньоло Бронзино впервые за 500 лет своей истории станет доступна публике

Дом Васнецова — сохранившийся уголок старой Москвы

Открыта новая картина выдающейся художницы XVII века Микаэлины Вотье (1604 – 1689)


© FILOSOF.HISTORIC.RU 2001–2023
Все права на тексты книг принадлежат их авторам!

При копировании страниц проекта обязательно ставить ссылку:
'Электронная библиотека по философии - http://filosof.historic.ru'