3. Планирование с помощью логического вывода. Такое

advertisement
52. Экспертные системы. Определение, архитектура, этапы создания.
Основные типы ЭС.
Экспертные системы - это компьютерная программа, которая модулирует действия
эксперта при решении задачи в узкой предметной области на основании накопленных знаний,
составляющих БД.
Подход к созданию ЭС претерпел следующие изменения:
1. ЭС создаются не как отдельные функционирующие, а в виде составной части в
различных бизнес приложениях.
2. ЭС призваны не заменить человека, а дополнить его знания.
3. Использование объектных технологий в отличие от CASE - технологий , тспользуемых
ранее.
4. ЭС используют стандартные вычислительные средства.
Отличие ЭС от обычных компьютнрных программ(КП):
1. КП детерменированны, т.е. при решении задач с их помощью последовательно
выполняется один и тот же алгоритм, а ЭС в каждом отдельном случае строит дерево решений.
2. Сконцентрированная экспертиза выражается в виде описательных атрибутов, а
традиционные компьютерные программы в основном выдают результаты в виде некоторых
числовых значений.
3. ЭС включает в себя блок объяснения своих рассуждений
ЭС характериз-ся назначкнием предметной областью, глубиной анализа предметной
области, типом использ-ых знаний и методов их обработки; стадией существования системы,
используемыми инструментальными средствами. Предметная область определяется задачами,
решаемыми в предмет-й области. В большинстве сущ-ие ЭС основано на предположении
статичности предм-ой области и решают статич-ие задачи. Такие ЭС наз-ют статическими. В
противном случае - динамич-ми.
Типы экспертных систем
1. Экспертные системы.
1.1. Обработка данных на основе знаний.
1.1.1. Диагностирующие
1.1.2. Мониторинговые
1.2. Формирование данных на основе знаний.
1.2.1. Прогнозирующие
1.2.2. Планирующие
1.2.3. Проектирующие
1.3. Обработка и формиров-е данных и знаний.
1.3.1. Обучающие.
1.3.2. Управляющие.
1.4. Обработка и формиров-е знаний на основе метазнаний.
1.4.1. Инструментальные.
1.4.2. Пустые.
Рассмотрим архитектуру экспертной системы.
База знаний. Основу ЭС составляет база знаний (БЗ), хранящая множество фактов и
набор правил, полученных от экспертов, из специальной литературы. БЗ отличается от базы
данных тем, что в базе данных единицы информации представляют собой не связанные друг с
другом сведения, формулы, теоремы, аксиомы. В БЗ те же элементы уже связаны как между
собой, так и с понятиями внешнего мира. Информация в БЗ - это все необходимое для
понимания, формирования и решения проблемы. Она содержит два основных элемента: факты
(данные) из предметной области и специальные эвристики или правила, которые управляют
использованием фактов при решении проблемы. Знания могут быть представлены несколькими
способами: логической моделью, продукциями, фреймами и семантическими сетями
Рис.1. Базовая структура экспертной системы
.
Машина логического вывода (МЛВ). Главным в ЭС является машина логического
вывода, осуществляющая поиск в базе знаний для получения решения. Она манипулирует
информацией из БЗ, определяя в каком порядке следует выявлять взаимосвязи и делать выводы.
МЛВ используются для моделирования рассуждений, обработки вопросов и подготовки
ответов.
Интерфейс пользователя. ЭС содержат языковой процессор для общения между
пользователем и компьютером. Это общение может быть организовано с помощью
естественного языка, сопровождаться графикой или многооконным меню. Интерфейс
пользователя должен обеспечивать два режима работы: режим приобретения знаний и режим
решения задач. В режиме приобретения знаний эксперт общается с ЭС при посредничестве
инженера знаний. В режиме решения задач ЭС для пользователя является или просто носителем
информации (справочником), или позволяет получать результат и объясняет способ его
получения.
Эксперты поставляют знания в экспертную систему и оценивают правильность
получаемых результатов.
Инженер по знаниям - специалист по искусственному интеллекту, выступающий в роли
промежуточного буфера между экспертом и базой знаний. Помогает эксперту выявить и
структурировать знания. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Программисты разрабатывают программное обеспечение экспертной системы и осуществляют
его сопряжение со средой, в которой оно будет использоваться
Пользователь - специалист предметной области, для которого предназначена система,
обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке
своей деятельности со стороны экспертной системы.
Многочисленные экспертные системы решают в настоящее время задачи в таких
областях, как медицина, образование, бизнес, дизайн и научные исследования.
Этапы разработки экспертных систем
В коллектив разработчиков ЭС входят как минимум четыре человека:
эксперт;
инженер по знаниям;
программист;
пользователь.
Возглавляет коллектив инженер по знаниям, это ключевая фигура при разработке систем,
основанных на знаниях.
Экспертная система может полностью взять на себя функции, выполнение которых обычно
требует опыта человека эксперта или играть роль ассистента для человека принимающего
решение.
Процесс разработки ЭС можно разделить на следующие этапы:
1. Выбор проблемы.
2. Разработка прототипа ЭС.
3. Доработка до промышленной ЭС.
4. Оценка ЭС.
5. Стыковка ЭС.
6. Поддержка ЭС.
1.Выбор подходящей проблемы. На этом этапе:
·определяется проблемная область;
·подбираются специалисты-эксперты;
·подбирается коллектив разработчиков;
·определяется предварительный подход к решению проблемы;
·готовится подробный план разработки.
2. Разработка прототипа ЭС. Прототипная система является сокращенной версией ЭС,
спроектированной для проверки правильности представления фактов, связей и стратегий
рассуждения эксперта. Объем прототипа – несколько десятков правил, фреймов или примеров.
Разработка прототипа ЭС делится на шесть стадий: идентификация проблемы, извлечение
знаний, концептуализация (структурирование) знаний, формализация, реализация прототипа,
тестирование.
2.1. Идентификация проблемы – знакомство и обучение членов коллектива
разработчиков, а также создание неформальной формулировки проблемы. На этом этапе
уточняется задача, планируется ход разработки прототипа ЭС, определяются:
·ресурсы (время, люди и т.д.);
·источники знаний (книги, дополнительные эксперты);
·имеющиеся аналогичные ЭС;
·классы решаемых задач и т.д.
2.2. Извлечение знаний – получение инженером по знаниям наиболее полного из
возможных представлений о предметной области и способах принятия решения в ней. Для
извлечения знаний инженер использует различные методы: анализ текстов, диалоги, лекции,
дискуссии, интервью, наблюдение и др.
2.3. Концептуализация (или структурирование) знаний – разработка неформального
описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое
отражает основные концепции и взаимосвязи между понятиями предметной области. На этом
этапе определяются: терминология, список основных понятий и их атрибутов, отношения
между понятиями, структура входной и выходной информации, стратегия принятия решений и
т.д.
2.4. Формализация знаний – это разработка базы знаний на языке представления знаний.
На этом этапе используются: логические методы, продукционные модели, семантические
модели, фреймы, объектно-ориентированные языки.
2.5. Реализация прототипа – разработка программного комплекса, демонстрирующего
жизнеспособность подхода в целом. На этом этапе создается прототип ЭС (включающий базу
знаний, остальные программные модули) при помощи: языков программирования
(традиционных, специализированных), инструментальных средств разработки ЭС, «пустых»
оболочек ЭС.
2.6. Тестирование – процесс выявления ошибок в подходе и реализации прототипа.
Прототип проверяется на: удобство и адекватность интерфейса ввода/вывода, качество
проверочных примеров, полнота и непротиворечивость правил в базе знаний.
3. Развитие прототипа до промышленной ЭС. Основная работа на этом этапе заключается в
расширении базы знаний (добавление правил, фреймов, узлов семантической сети или других
элементов знаний). После установления основной структуры знаний ЭС инженер по знаниям
приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться
с пользователем и экспертом. Система должна предоставлять пользователю возможность
уточнять непонятные моменты, приостанавливать работу и т.д.
4. Оценка системы необходима для того, чтобы проверить точность работы программы и
ее полезность. Оценка проводится по следующим критериям:
критерии пользователя (понятность работы системы, удобство интерфейсов и т.д.);
критерии приглашенных экспертов (оценка советов-решений, предлагаемые системой,
оценка подсистемы объяснений и т.д.);
критерии коллектива разработчиков (эффективность реализации, производительность,
непротиворечивость базы знаний, количество тупиковых ситуаций и т.д.).
5. На этапе стыковки системы осуществляется соединение ЭС с другими программными
средствами в среде, в которой она будет работать, и обучение людей, которых она будет
обслуживать. Для подтверждения полезности системы важно предоставить каждому из
пользователей возможность поставить перед ЭС реальные задачи и проследить, как она их
выполняет. Стыковка включает обеспечение связи ЭС с существующими базами данных и
другими системами на предприятии.
6. Поддержка системы. Готовые системы для повышения ее быстродействия и
увеличения переносимости можно перекодировать на другой язык (например, С), но при этом
уменьшится ее гибкость. Это можно производить с системами, которые разработаны для
проблемных областей, где знания не изменяются. Если же проблемная область, для которой
создана система, изменяется, то ее необходимо поддерживать в той инструментальной среде,
где она создавалась.
53. Способы представления знаний (правила продукций,
семантические сети, фреймы).
В любой момент времени в системе содержится 3 типа знаний:
1) Фактические. Это статистические знания о предметной области (информация о конкретном случае).
2) Процедурные. Эти знания составляют ядро базы знаний. Они используются в блоке рассуждений
позволяя выводить следствие. Данные знания получаются от высококвалифицированных специалистов в данной
предметной области.
3) Управляющие знания. Знания применяемые для решения конкретной задачи или проведения
консультации.
Знания бывают: общедоступные (учебники, справочники) и индивидуальные (знания эксперта).
Основными составляющими любой системы знаний является база знаний (механизм логического вывода,
интерфейс…). Цикл функционирования БД: выбор, запрос, данных или результатов наблюдений; интерпретация
результатов и усвоение новой информации; выдвижение с помощью правил новых гипотез; выбор следующей
порции данных. Процесс продолжается до тех пор, пока не поступает информация достаточная для
окончательного заключения
Представление знаний в виде правил.Вся система знаний рассматривается как совокупность фактов или
утверждений. Факты представляются как формулы, а система знаний как совокупность таких формул. При этом
формулы неделимы они могут удалятся и добавляться. Из фактов явно представленных в базе знаний (БЗ)
получают новые факты. Основная операция манипулирования – это операция логического вывода. При этом
возможен контроль за целочисленностью БЗ, т.е. ее непротиворечивости. Каждый факт БЗ представляется один
раз, а использоваться может многократно. Недостаток: отсутствие четких принципов организации таких БЗ.
Когда БЗ велика, в ней много независимых фактов, которые плохо подаются обработке и анализу (аналогия пролог).
Представление знаний в виде семантических сетей.Основная идея проблемы – совокупность сущностей
объектов и отношений …
Системы, основанные на отношениях. Использование доски объявлений для представления знаний. В
этом случае существует несколько независимых источников знаний, которые используют общую рабочую
память. Источники могут размещаться по типу содержащихся в них знаний, допустимо смешанное представление
знаний, но при этом существует единственный механизм логического вывода.
Методы представления знаний
МЕТОДЫ
Конечный автомат
Процедурные “закрытые” Программа
Скрипт (схема)
Семантическая связь
Фрейм (прототип)
Графы, сети
Декларативные
Формальная спецификация
“открытые”,
Исчисление предикатов
“неупорядоченные”
Теоремы, правила перезаписи
Продукционные правила
Предложения на языке
Представление знаний – это их описание в доступной форме. их черты:
1)внутренняя интерпретируемость – каждая инф.единица должна иметь уникальное имя, по кот. ИС
находит её и отвечает на запросы, в кот. это имя упомянуто.2)структурированность. (иерархическая или люб. др.
организация); 3)связность (связи отражают отношения м/у инф. един. в ИС должна быть возможность устранения
связи м/у инф. един.). Возможны след. отн.: а)совместимость; б)аргумент-функция; в)причина-следствие;
г)релевалентность(ситуационная близость); 4)активность(выполнение программ в ИС может инициализироваться
текущим состоянием инф. базы) Выполнение программ может вкл. в себя добавление новых эл-тов и связей.
К типичным моделям представления знаний относятся логическая, продукционная, фреймовая и модель
семантической сети Логическая модель основана на системе исчисления предикатов первого порядка. Знакомство
с логикой предикатов начнем с исчисления высказываний
54. Механизм логического вывода. Классификация и типы.
МЛВ определяется в соответствии со структурой реализации БЗ. Характеристики
МЛВ:
1. Направление вывода:
а) Прямой вывод (по фактам отыскивается заключение). Он является более общим ,
т.к. позволяет просмотреть все дерево возможных решений и найти существующие
терминальные вершины. Но при этом теряется возможность быстрого нахождения
решения в большом пространстве поиска решения. Но чисто прямая цепочка ведет к
неуправляемому режиму задания вопросов в диалоге. При работе в таком случае
необходимо предусмотреть аппарат отсечения ряда ветвей дерева решения с целью
сокращения пространства поиска решения, которое в отдельных случаях может оказаться
бесконечным.
б) Обратный вывод: попытка найти данные для доказательства или опровержения
некоторой гипотезы (цели). Приводит к решению об истинности или ложности гипотезы
за конечное число шагов. Но здесь возникает вопрос о выдвижении начальной гипотезы.
Если пространство возможных гипотез велико (например, диагностика заболеваний), и
отсутствуют начальные установки о приемлемости тех или иных гипотез, то обратный
вывод не эффективнее прямого.
Наиболее удачный подход — комбинация прямого и обратного выводов,
называется циклическим выводом.
2. Кроме того МЛВ различаются : по управлению поиском сначала в глубь или
сначала в ширину.
Поиск в глубину — при выборе очередной подцели в пространстве решений
предпочтение отдается той , которая соответствует следующему более детальному
уровню описания задачи. Например, на основе симптомов сделано предположение о
наличии определенного заболевания. Далее будут запрашиваться уточняющие признаки
и симптомы, пока полностью не опровергнут или подтвердят гипотезу.
Поиск в ширину. Суть его сводится к тому, что будут последовательно
просматриваться все ветви дерева решения на один шаг в глубину до получения решения
Например, система проанализирует все симптомы, находящиеся на одном уровне даже
если они относятся к разным заболеваниям и лишь затем перейдет к симптомам след
уровня детальности.
“Узкие” специалисты — используют поиск в глубину т.к. он позволяет собрать
воедино все признаки , связанные с выдвинутой гипотезой “Универсалы” используют
поиск в ширину — анализ не ограничен заранее очерченным кругом признаков
55. Методы принятия решений в условиях неопределенности.
Источники неопределенности. Модель Байеса, КД, теория ДемпстераШейфера, нечеткая логика Заде.
ЭС представляют собой машинные программы, в которых делается попытка воспроизведения
результатов, достигаемых реальными высококвалифицированными специалистами в конкретной отрасли или
области профессиональной деятельности.
Неопределенности — это ситуации, в которых ощущается недостаток информации по причине ее
частичной или полной ненадежности, неточность языка представления знаний, противоречивость информации.
Байесовский подход предполагает начальное априорное задание предполагаемых гипотез (значений
достигаемых целей), которые последовательно уточняются с учетом вероятностей свидетельств в пользу или
против гипотез, в результате чего формируются апостериорные вероятности:
Р(Н/Е) = Р(Е/Н)*Р(Н)/Р(Е) и Р( /Е) = P(E/ )*Р( )/P(Е),
где Р(Н) — априорная вероятность гипотезы Н;
Р( ) = 1 — Р(Н) — априорная вероятность отрицания гипотезы Н;
Р(Е) — априорная вероятность свидетельства Е;
Р(Н/Е) — апостериорная (условная) вероятность гипотезы Н при условии, что имеет место свидетельство
Е;
Р( /Е) — апостериорная (условная) вероятность отрицания гипотезы Н при условии, что имеет место
свидетельство Е;
Р(Е/Н) — вероятность свидетельства гипотезы Е при подтверждении гипотезы Н;
P(E/ ) — вероятность свидетельства гипотезы Е при отрицании гипотезы Н.
Шансы и вероятности связаны уравнениями:
O=P/(1-P) и P=O/(O+1).
Для байесовского подхода к построению продукционной базы знаний характерна большая трудоемкость
статистического оценивания априорных шансов и факторов достаточности и необходимости.
Подход Хеккермана основан на использовании факторов уверенности, и различает параллельное и
последовательное сочетание свидетельств.
Пусть гипотеза Н подтверждается свидетельствами Е1, Е2 CF(H,E1) CF(H,E2) — факторы уверенности
для гипотезы Н, связанной со свидетельствами Е1 и Е2
X=CF(H,E1) Y= CF(H,E2) Z= CF(H,E1,E2) Частные факторы уверенности комбинируются следующим
образом:
Другая ситуация связана с последовательной конфигурацией фактов вида
Здесь через CF(H,E’) обозначен комбинированный коэффициент доверия
Хеккерман называет рассмотренную параллельную и последовательную схемы комбинирования фактов
дезидерантами и показывает, что они могут служить определениями CF — коэф. доверия.. Он показал, что факты
должны быть при данной гипотезе и ее отрицании условно независимы. Кроме того сеть логического вывода
должна иметь древовидную структуру, а не более общую графовую.
нечеткая логика Заде
1965г. – Л. Заде опубликовал свою первую работу по нечеткой логике. Она положила начало новому
направлению.
1987г. – управление метро около Токио. Этому предшествовал принцип, который высказал Неймон
(основоположник кибернетики):
«Стремление получить точную, исчерпывающую модель для сложной системы не имеет смысла, т.к.
сложность модели становится соизмеримой со сложностью системы. Чем сложнее система, тем менее мы
способны дать точные и имеющие практический смысл суждений о ней».
Л.Заде: «для систем, сложность которых превосходит некоторый пороговый уровень, точность и
фактический смысл (точный, полный анализ) не имеет практического значения.
Аспекты неполноты информации: 1) Неточность2) Неопределенность 3) Нечеткость 4) Случайность
Нечеткость – множества, которые имеют разные границы, (элементы относятся к тому или иному
множеству с определенной степенью уверенности (принадлежности)).
56. Программирование игр с полной информацией. Способы
ограничения дерева допустимых ходов.
Способы ограничения дерева допустимых ходов. Недостатки игровых программ и
приемы их усовершенствования.
В интеллектуальных играх соревнование между соперниками заключается в том, что они
поочередно принимают решения не зная, какое следующие решение примет соперник, т.е.
можно построить дерево допустимых ходов и возможных позиций. Необходимость построения
дерева связанна с тем, что не существует способов точной оценки исходной позиции.
Рассмотрим принцип построения алгоритмизации для игр с 2 игроками, в которых
используется клеточная доска с расположенными на ней фишками. При поиске хода для одного
из игроков, во первых, будут последовательно рассмотрены клетки занятых его фишками.
Принцип поиска хода: 1. Проверить занятость всех клеток (i,j). 2. Если поле (i,j) занято
своей фигурой, то Р=фигура (i,j) (своя фигура на поле i,j). 3. Эсли направление принадлежит
множеству допустимых направлений фишки Р, то x=i y=j . 4. Повторять для всех шагов от [1,
max(P)] x=x+dx, y=y+dy. 5. Если (x,y) находятся в пределах игрового поля, то зарегистрировать
ход (i,j)?(x,y).
Наиболее простой способ организации дерева глубину анализа 1. В этом случае
необходимо: 1Найти все допустимые ходы 2Оценить их 3Сделать лучшие из оцененных ходов.
Процесс игры можно представить в виде: если существует выигрывающий ход, то
сделать его и конец; иначе рассматриваем другие допустимые ходы. Пусть С- следующий ход,
если существует ответный ход противника, то исключить ход С, иначе учесть число возможных
ответов противника после хода С (повторный вызов процедуры поиска хода). Конец если
сделать ход на который противник имеет минимальное число ответных ходов.
Приемы усовершенствования игр.
Т.к. в данных программах многое зависит от оценочной функции необходимо сделать ее
как можно более точную.
Эвристическое отсечение ветвей. Цель – достижение большей предельной глубины
поиска, путем отбрасывания менее перспективных продолжений. Этот прием в дополнении с ?? отсечением позволяет уменьшить дерево допустимых ходов. Но возникает риск отсечь лишнее
и при этом неправильно вычислить оценку позиции.
Последовательное углубление. Программа многократно выполняет ?-? алгоритм до
некоторой небольшой глубины, затем увеличивает предел по глубине. Это заканчивает, когда
истекает время. Процесс завершается и выполняется наилучший ход на максимальной глубине.
Преимущество – облегчается контроль времени, когда оно истекает всегда есть лучший ход.
Недостатки игровых программ.
Полное отсутствие стратегии. Каждая новая позиция рассматривается в отрыве от всех
остальных позиций, т.е. программа не ведет игру, а анализирует последовательность позиций
независимых друг от друга.
Эффект горизонта. В связи с тем, что необходимо ограничить максим. значение глубины
дерева, программа не в состоянии видеть и оценить ходы, которые находятся на глубине
превосходящую максимальную.
57. Обзор методов представления задач.
Так как в системе искусственного интеллекта под решателем задач
подразумевается компьютер, то способ представления задач должен быть удобным для
их решения на ЭВМ. К таким способам можно отнести:
Представления задач в пространстве состояний.
Представление, сводящее задачи к подзадачам.
Представление задач в виде теорем.
Теперь рассмотрим эти представления более подробно.
Представление задач в пространстве состояний.
Суть данного метода заключается в том, что бы в виде определенной структуры
данных (чаще всего графа) задать начальные, конечные и промежуточные состояния, а
так же операторы, преобразующие одно состояние в другое.
В качестве примера можно рассмотреть задачу нахождение пути в лабиринте,
которая является основой для решения многих логистических задач (задача нахождения
наиболее дешевого маршрута, наиболее выгодного расписания движения транспорта).
Сведение задач к подзадачам
Этот метод чем то напоминает способ представления задачи в пространстве
состояний. Суть его заключается в том, что большая задача разбивается на несколько
подзадач (декомпозиция), а те в свою очередь, так же разбиваются на подзадачи. И так
до тех пор, пока мы не дойдем до самой маленькой задачи, которая может быть решена.
Полученный таким образом граф (дерево решений) содержит вершину (начальное
состояние), из которой исходят дуги к подзадачам, которые так же являются вершинами.
Вершины могут быть двух типов:
Конъюнктивные (вершины типа И), когда для решения задачи требуется решить
все входящие в нее подзадачи.
Дизъюнктивные (вершины типа ИЛИ), когда для решения задачи достаточно
решить хотя бы одну входящую в нее подзадачу задачу.
Представление задач в виде теорем
Для представления задач в виде теорем используется специальный язык,
описывающий логику предикатов (например, пролог). Процесс решения задачи
протекает следующим образом:
Шаг 1. Формируется множество исходных истинных утверждений (аксиом).
Шаг 2. Строиться гипотеза относительно результатов решения задачи - целевое
утверждение.
Шаг 3. Аксиомы комбинируются между собой на основании правил вывода.
Шаг 4. Проверяется, не содержит ли множество новых утверждений целевое
утверждение или его отрицание. Если содержит, то процесс решения на этом
заканчивается. Если нет - то полученное множество утверждений объединяется с
исходными аксиомами и процесс повторяется.
58. Обзор методов поиска решения задач.
Функционирование многих ИС носит целенаправленный характер (примером могут служить
автономные интеллектуальные роботы). Типичным актом такого функционирования является решение
задачи планирования пути достижения нужной цели из некоторой фиксированной начальной ситуации.
Результатом решения задачи должен быть план действий - частично-упорядоченная совокупность
действий. Такой план напоминает сценарий, в котором в качестве отношения между вершинами
выступают отношения типа: "цель-подцель" "цель-действие", "действие-результат" и т. п. Любой путь в
этом сценарии, ведущий от вершины, соответствующей текущей ситуации, в любую из целевых
вершин, определяет план действий.
Поиск плана действий возникает в ИС лишь тогда, когда она сталкивается с нестандартной
ситуацией, для которой нет заранее известного набора действий, приводящих к нужной цели. Все
задачи построения плана действий можно разбить на два типа, которым соответствуют различные
модели: планирование в пространстве состояний (SS-проблема) и планирование в пространстве
задач (PR-проблема).
В первом случае считается заданным некоторое пространство ситуаций. Описание ситуаций
включает состояние внешнего мира и состояние ИС, характеризуемые рядом параметров. Ситуации
образуют некоторые обобщенные состояния, а действия ИС или изменения во внешней среде приводят
к изменению актуализированных в данный момент состояний. Среди обобщенных состояний выделены
начальные состояния (обычно одно) и конечные (целевые) состояния. SS-проблема состоит в поиске
пути, ведущего из начального состояния в одно из конечных. Если, например, ИС предназначена для
игры в шахматы, то обобщенными состояниями будут позиции, складывающиеся на шахматной доске.
В качестве начального состояния может рассматриваться позиция, которая зафиксирована в данный
момент игры, а в качестве целевых позиций - множество ничейных позиций. Отметим, что в случае
шахмат прямое перечисление целевых позиций невозможно. Матовые и ничейные позиции описаны на
языке, отличном от языка описания состояний, характеризуемых расположением фигур на полях доски.
Именно это затрудняет поиск плана действий в шахматной игре.
При планировании в пространстве задач ситуация несколько иная. Пространство образуется в
результате введения на множестве задач отношения типа: "часть - целое", "задача - подзадача", "общий
случай - частный случай" и т. п. Другими словами, пространство задач отражает декомпозицию задач на
подзадачи (цели на подцели). PR-проблема состоит в поиске декомпозиции исходной задачи на
подзадачи, приводящей к задачам, решение которых системе известно. Например, ИС известно, как
вычисляются значения sin x и cos x для любого значения аргумента и как производится операция
деления. Если ИС необходимо вычислить tg x, то решением PR-проблемы будет представление этой
задачи в виде декомпозиции tgx=sin x/cos x (кроме х=p /2+kp ).
Решение задач методом поиска в пространстве состояний.
Представление задач в пространстве состояний предполагает задание ряда описаний: состояний,
множества операторов и их воздействий на переходы между состояниями, целевых состояний.
Описания состояний могут представлять собой строки символов, векторы, двухмерные массивы,
деревья, списки и т. п. Операторы переводят одно состояние в другое. Иногда они представляются в
виде продукций A=>B, означающих, что состояние А преобразуется в состояние В.
Пространство состояний можно представить как граф, вершины которого помечены
состояниями, а дуги - операторами.
Таким образом, проблема поиска решения задачи <А,В> при планировании по состояниям
представляется как проблема поиска на графе пути из А в В. Обычно графы не задаются, а
генерируются по мере надобности.
Различаются слепые и направленные методы поиска пути. Слепой метод имеет два вида: поиск
вглубь и поиск вширь. При поиске вглубь каждая альтернатива исследуется до конца, без учета
остальных альтернатив. Метод плох для "высоких" деревьев, так как легко можно проскользнуть мимо
нужной ветви и затратить много усилий на исследование "пустых" альтернатив. При поиске вширь на
фиксированном уровне исследуются все альтернативы и только после этого осуществляется переход на
следующий уровень. Метод может оказаться хуже метода поиска вглубь, если в графе все пути,
ведущие к целевой вершине, расположены примерно на одной и той же глубине. Оба слепых метода
требуют большой затраты времени и поэтому необходимы направленные методы поиска.
Метод ветвей и границ. Из формирующихся в процессе поиска неоконченных путей выбирается
самый короткий и продлевается на один шаг. Полученные новые неоконченные пути (их столько,
сколько ветвей в данной вершине) рассматриваются наряду со старыми, и вновь продлевается на один
шаг кратчайший из них. Процесс повторяется до первого достижения целевой вершины, решение
запоминается. Затем из оставшихся неоконченных путей исключаются более длинные, чем законченный
путь, или равные ему, а оставшиеся продлеваются по такому же алгоритму до тех пор, пока их длина
меньше законченного пути. В итоге либо все неоконченные пути исключаются, либо среди них
формируется законченный путь, более короткий, чем ранее полученный. Последний путь начинает
играть роль эталона и т. д.
Алгоритм кратчайших путей Мура. Исходная вершина X0 помечается числом 0. Пусть в ходе
работы алгоритма на текущем шаге получено множество дочерних вершин X(xi) вершины xi. Тогда из
него вычеркиваются все ранее полученные вершины, оставшиеся помечаются меткой, увеличенной на
единицу по сравнению с меткой вершины xi, и от них проводятся указатели к Xi. Далее на множестве
помеченных вершин, еще не фигурирующих в качестве адресов указателей, выбирается вершина с
наименьшей меткой и для нее строятся дочерние вершины. Разметка вершин повторяется до тех пор,
пока не будет получена целевая вершина.
Алгоритм Дейкстры определения путей с минимальной стоимостью является обобщением
алгоритма Мура за счет введения дуг переменной длины.
Алгоритм Дорана и Мичи поиска с низкой стоимостью. Используется, когда стоимость поиска
велика по сравнению со стоимостью оптимального решения. В этом случае вместо выбора вершин,
наименее удаленных от начала, как в алгоритмах Мура и Дийкстры, выбирается вершина, для которой
эвристическая оценка расстояния до цели наименьшая. При хорошей оценке можно быстро получить
решение, но нет гарантии, что путь будем минимальным.
Алгоритм Харта, Нильсона и Рафаэля. В алгоритме объединены оба критерия: стоимость пути до
вершины g[x) и стоимость пути от вершины h(x) - в аддитивной оценочной функции f{x) =g(x}h(x). При условии h(x)<hp(x), где hp(x)-действительное расстояние до цели, алгоритм гарантирует
нахождение оптимального пути.
Алгоритмы поиска пути на графе различаются также направлением поиска. Существуют прямые,
обратные и двунаправленные методы поиска. Прямой поиск идет от исходного состояния и, как
правило, используется тогда, когда целевое состояние задано неявно. Обратный поиск идет от целевого
состояния и используется тогда, когда исходное состояние задано неявно, а целевое явно.
Двунаправленный поиск требует удовлетворительного решения двух проблем: смены направления
поиска и оптимизации "точки встречи". Одним из критериев для решения первой проблемы является
сравнение "ширины" поиска в обоих направлениях - выбирается то направление, которое сужает поиск.
Вторая проблема вызвана тем, что прямой и обратный пути могут разойтись и чем уже поиск, тем это
более вероятно.
Решение задач методом редукции.
Этот метод приводит к хорошим результатам потому, что часто решение задач имеет
иерархическую структуру. Однако не обязательно требовать, чтобы основная задача и все ее подзадачи
решались одинаковыми методами. Редукция полезна для представления глобальных аспектов задачи, а
при решении более специфичных задач предпочтителен метод планирования по состояниям. Метод
планирования по состояниям можно рассматривать как частный случай метода планирования с
помощью редукций, ибо каждое применение оператора в пространстве состояний означает сведение
исходной задачи к двум более простым, из которых одна является элементарной. В общем случае
редукция исходной задачи не сводится к формированию таких двух подзадач, из которых хотя бы одна
была элементарной.
Поиск планирования в пространстве задач заключается в последовательном сведении исходной
задачи к все более простым до тех пор, пока не будут получены только элементарные задачи. Частично
упорядоченная совокупность таких задач составит решение исходной задачи. Расчленение задачи на
альтернативные множества подзадач удобно представлять в виде И/ИЛИ-графа. В таком графе всякая
вершина, кроме концевой, имеет либо конъюнктивно связанные дочерние вершины (И-вершина), либо
дизъюнктивно связанные (ИЛИ-вершина). В частном случае, при отсутствии И-вершин, имеет место
граф пространства состояний. Концевые вершины являются либо заключительными (им соответствуют
элементарные задачи), либо тупиковыми. Начальная вершина (корень И/ИЛИ-графа) представляет
исходную задачу. Цель поиска на И/ИЛИ-графе-показать, что начальная вершина разрешима.
Разрешимыми являются заключительные вершины (И-вершины), у которых разрешимы все дочерние
вершины, и ИЛИ-вершины, у которых разрешима хотя бы одна дочерняя вершина. Разрешающий граф
состоит из разрешимых вершин и указывает способ разрешимости начальной вершины. Наличие
тупиковых вершин приводит к неразрешимым вершинам. Неразрешимыми являются тупиковые
вершины, И-вершины, у которых неразрешима хотя бы одна дочерняя вершина, и ИЛИ-вершины, у
которых неразрешима каждая дочерняя вершина.
Алгоритм Ченга и Слейгла. Основан на преобразовании произвольного И/ИЛИ-графа в
специальный ИЛИ-граф, каждая ИЛИ-ветвь которого имеет И-вершины только в конце.
Преобразование использует представление произвольного И/ИЛИ-графа как произвольной формулы
логики высказываний с дальнейшим преобразованием этой произвольной формулы в дизъюнктивную
нормальную форму. Подобное преобразование позволяет далее использовать алгоритм Харта, Нильсона
и Рафаэля.
Метод ключевых операторов. Пусть задана задача <A, B> и известно, что оператор f обязательно
должен входить в решение этой задачи. Такой оператор называется ключевым. Пусть для применения f
необходимо состояние C, а результат его применения есть I(c). Тогда И-вершина <A,В> порождает три
дочерние вершины: <A, C>, <C, f{c)> и <f(c), B>, из которых средняя является элементарной задачей. К
задачам <A, С> и <f(c), B> также подбираются ключевые операторы, и указанная
процедура редуцирования повторяется до тех пор, пока это возможно. В итоге исходная задача <A,
B> разбивается на упорядоченную совокупность подзадач, каждая из которых решается методом
планирования в пространстве состояний.
Возможны альтернативы по выбору ключевых операторов, так что в общем случае будет иметь
место И/ИЛИ-граф. В большинстве задач удается не выделить ключевой оператор, а только указать
множество, его содержащее. В этом случае для задачи <A, B> вычисляется различие между A и B,
которому ставится в соответствие оператор, устраняющий это различие. Последний и является
ключевым.
Метод планирования общего решателя задач (ОРЗ). ОРЗ явился первой наиболее известной
моделью планировщика. Он использовался для решения задач интегрального исчисления, логического
вывода, грамматического разбора и др. ОРЗ объединяет два основных принципа поиска:
анализ целей и средств и рекурсивное решение задач. В каждом цикле поиска ОРЗ решает в
жесткой последовательности три типа стандартных задач: преобразовать объект А в
объект В, уменьшить различие D между А и В, применить оператор f к объекту А. Решение первой
задачи определяет различие D второй - подходящий оператор f, третьей - требуемое условие
применения С. Если С не отличается от A, то оператор f применяется, иначе С представляется как
очередная цель и цикл повторяется, начиная с задачи "преобразовать A в С". В целом стратегия ОРЗ
осуществляет обратный поиск-от заданной цели В к требуемому средству ее достижения С, используя
редукцию исходной задачи <A, В> к задачам <A, C> и <С, В>.
Заметим, что в ОРЗ молчаливо предполагается независимость различий Друг от друга, откуда
следует гарантия, что уменьшение одних различий не приведет к увеличению других.
3. Планирование с помощью логического вывода. Такое планирование предполагает: описание
состояний в виде правильно построенных формул (ППФ) некоторого логического исчисления, описание
операторов в виде либо ППФ, либо правил перевода одних ППФ в другие. Представление операторов в
виде ППФ позволяет создавать дедуктивные методы планирования, представление операторов в виде
правил перевода - методы планирования с элементами дедуктивного вывода.
Дедуктивный метод планирования системы QA3, ОРЗ не оправдал возлагавшихся на него надежд
в основном из-за неудовлетворительного представления задач. Попытка исправить положение привела к
созданию вопросно-ответной системы QA3. Система рассчитана на произвольную предметную область
и способна путем логического вывода ответить на вопрос: возможно ли достижение состояния В из A?
В качестве метода автоматического вывода используется принцип резолюций. Для направления
логического вывода QA3 применяет различные стратегии, в основном синтаксического характера,
учитывающие особенности формализма принципа резолюций. Эксплуатация QA3 показала, что вывод в
такой системе получается медленным, детальным, что несвойственно рассуждениям человека.
Метод продукций системы STRIPS. В этом методе оператор представляет продукцию Р,
А=>В, где Р, А и В - множества ППФ исчисления предикатов первого порядка, Р выражает условия
применения ядра продукции А=>В, где В содержит список добавляемых ППФ и список исключаемых
ППФ, т. е. постусловия. Метод повторяет метод ОРЗ с тем отличием, что стандартные задачи
определения различий и применения подходящих операторов решаются на основе принципа
резолюций. Подходящий оператор выбирается так же, как в ОРЗ, на основе принципа "анализ средств и
целей". Наличие комбинированного метода планирования позволило ограничить процесс логического
вывода описанием состояния мира, а процесс порождения новых таких описаний оставить за
эвристикой "от цели к средству ее достижения".
Метод продукций, использующий макрооператоры [Файкс и др., 1973]. Макрооператоры-это
обобщенные решения задач, получаемые методом STRIPS. Применение макрооператоров позволяет
сократить поиск решения, однако при этом возникает проблема упрощения применяемого
макрооператора, суть которой заключается в выделении по заданному различию его требуемой части и
исключении из последней ненужных операторов.
Решение задач дедуктивного выбора
В дедуктивных моделях представления и обработки знании решаемая проблема записывается в
виде утверждении формальной системы, цель-в виде утверждения, справедливость которого следует
установить или опровергнуть на основании аксиом (общих законов) и правил вывода формальной
системы. В качестве формальной системы используют исчисление предикатов первого порядка.
В соответствии с правилами, установленными в формальной системе, заключительному
утверждению-теореме, полученной из начальной системы утверждений (аксиом, посылок),
приписывается значение ИСТИНА, если каждой посылке, аксиоме также приписано значение
ИСТИНА.
Процедура вывода представляет собой процедуру , которая из заданной группы выражений
выводит отличное от заданных выражение.
Обычно в логике предикатов используется формальный метод доказательства теорем,
допускающий возможность его машинной реализации, но существует также возможность
доказательства неаксиоматическим путем : прямым выводом, обратным выводом.
Метод резолюции используется в качестве полноценного (формального) метода доказательства
теорем.
Для применения этого метода исходную группу заданных логических формул требуется
преаобразовать в некоторую нормальную форму. Это преобразование проводится в несколько стадий,
составляющих машину вывода.
Решение задач, использующие немонотонные логики, вероятностные логики.
Данные и знания, с которыми приходится иметь дело в ИС, редко бывают абсолютно точными и
достоверными. Присущая знаниям неопределенность может иметь разнообразный характер, и для ее
описания используется широкий спектр формализмов. Рассмотрим один из типов неопределенности в
данных и знаниях - их неточность. Будем называть высказывание неточным, если его истинность (или
ложность) не может быть установлена с определенностью. Основополагающим понятием при
построении моделей неточного вывода является понятие вероятности, поэтому все описываемые далее
методы связаны с вероятностной концепцией.
Модель оперирования с неточными данными и знаниями включает две составляющие: язык
представления неточности и механизм вывода на неточных знаниях. Для построения языка необходимо
выбрать форму представления неточности (например, скаляр, интервал, распределение,
лингвистическое выражение, множество) и предусмотреть возможность приписывания меры
неточности всем высказываниям.
Механизмы оперирования с неточными высказываниями можно разделить на два типа. К
первому относятся механизмы, носящие "присоединенный" характер: пересчет мер неточности как бы
сопровождает процесс вывода, ведущийся на точных высказываниях. Для разработки присоединенной
модели неточного вывода в основанной на правилах вывода системе необходимо задать функции
пересчета, позволяющие вычислять: а) меру неточности антецедента правила (его левой части) по
мерам неточности составляющих его высказываний; б) меру неточности консеквента правила (его
правой части) по мерам неточности правила и посылки правила; в) объединенную меру неточности
высказывания по мерам, полученным из правил.
Введение меры неточности позволит привнести в процесс вывода нечто принципиально новое возможность объединения силы нескольких свидетельств, подтверждающих или опровергающих одну и
ту же гипотезу. Другими словами, при использовании мер неточности целесообразно выводить одно и
то же утверждение различными путями (с последующим объединением значений неточности), что
совершенно бессмысленно в традиционной дедуктивной логике. Для объединения
свидетельств требуется функция пересчета, занимающая центральное место в пересчете. Заметим, что,
несмотря на "присоединенность" механизмов вывода этого типа, их реализация в базах знаний
оказывает влияние на общую стратегию вывода: с одной стороны, необходимо выводить гипотезу всеми
возможными путями для того, чтобы учесть все релевантные этой гипотезе свидетельства, с другойпредотвратить многократное влияние силы одних и тех же свидетельств.
Для механизмов оперирования с неточными высказываниями второго типа характерно наличие
схем вывода, специально ориентированных на используемый язык представления неточности. Как
правило, каждому шагу вывода соответствует пересчет мер неточности, обусловленный соотношением
на множестве высказываний (соотношением может быть элементарная логическая
связь, безотносительно к тому, является ли это отношение фрагментом какого-либо правила). Таким
образом, механизмы второго типа применимы не только к знаниям, выраженным в форме правил.
Вместе с тем для них, как и для механизмов "присоединенного" типа, одной из главных является
проблема объединения свидетельств.
Download