Методы решения задач

Методы решения задач,
основанные на сведении их к поиску, зависят от особенностей предметной области,
в которой решается задача, и от требований, предъявляемых пользователем к
решению. Особенности предметной области: степень изменяемости области во времени и
пространстве (статические и динамические области); полнота модели,
описывающей область, если модель не полна, то для описания области используют
несколько моделей, дополняющих друг друга; количеством решений : одно
решение, несколько решений, все решения. свойствами результата:
ограничения, которым должен удовлетворять полученный результат и (или) способом
его получения. Существующие методы решения задач, используемые в
экспертных системах, можно классифицировать следующим образом: методы
поиска в одном пространстве - методы, предназначенные для использования в
следующих условиях: области небольшой размерности, полнота модели, точные и
полные данные; методы поиска в иерархических пространствах - методы,
предназначенные для работы в областях большой размерности; методы поиска, использующие
несколько моделей, предназначенные для работы с областями, для адекватного
описания которых одной модели недостаточно. Предполагается, что
перечисленные методам при необходимости должны объединяться для того, чтобы
позволить решать задачи, сложность которых возрастает одновременно по нескольким
параметрам. эвристический поиск Задача поиска в пространстве состояний обычно формулируется в
теоретико-графовой интерпретации. - множество начальных состояний (условия
задачи), F - множество операторов задачи, отображающих одни состояния в другие,
S Цель:
определять такую последовательность операторов, которая преобразует начальные
состояния в конечные. ...} - множество (в общем случае бесконечное)
вершин графа, состояний, а Y - множество, содержащее пары вершин (x X. Если каждая пара (x )
неупорядочена, то ее называют ребром, а граф - неориентированным. Если для
каждой пары (x ) называют дугой (ориентированным ребром), а граф
называют ориентированным (направленным). Вершины пары (x Поиск в пространстве
состояний естественно представить в виде ориентированного графа. Наличие пары
(x F), преобразующего состояние,
соответствующее вершине x выделяем множество всех направленных пар (x , (родительской вершины), и множество вершин (называемых
дочерними вершинами), в которые эти дуги приводят. Множество дуг, исходящих из
вершины x , соответствует множеству операторов, которые могут быть
применены к состоянию, соответствующему вершине х Х, соответствующее множеству начальных
состояний (S X, соответствующее множеству конечных (целевых)
состояний (S может быть задано как явно,
так и неявно, т.е. через свойства, которыми должны обладать целевые
состояния. 0 Х (соответствующего множеству начальных
состояний) и множества операторов, которые, будучи применимы к некоторой вершине
графа, дают все ее дочерние вершины. Итак, граф G задает пространство
состояний, т.е. пространство, в котором осуществляется поиск решения. Построение
пространства осуществляется с помощью следующего процесса. Берется некая вершина
х Х, к ней применяются все возможные
операторы, порождающие все дочерние вершины. Этот процесс называют процессом
раскрытия вершин. Если получена целевая вершина, то она не раскрывается. Процесс
построения пространства состояний заканчивается, когда все нераскрытые вершины
являются целевыми, или терминальными (т.е. вершинами, к которым нельзя применить
никаких операторов). В связи с тем, что пространство состояний может содержать
бесконечное количество вершин, на практике процесс порождения пространства
ограничивают либо временем, либо объемом памяти. На практике требуется
обеспечить полноту поиска, т.е. организовать поиск так, чтобы все целевые
вершины были найдены, если они существуют. Надежным способом обеспечения полноты
является полный перебор всех вершин. Для задания процесса перебора необходимо
определить. порядок, в котором будут перебираться вершины графа. Обычно выделяют
два основных способа поиска: поиск в глубину (сначала раскрывается та вершина, которая
была построена самой последней). Рис.3.1.а Целевые вершины помечены черными квадратами, а
терминальные - белыми квадратами. При использовании каждого из способов могут
быть найдены все решения. При переборе всего пространства оба метода будут
анализировать одинаковое количество вершин, однако метод поиска в ширину будет
требовать существенно больше памяти, так как он запоминает все пути поиска (а не
один, как при поиске в глубину). При поиске методом редукции решение задачи сводится к решению
совокупности образующих ее подзадач. Этот процесс повторяется для каждой
подзадачи до тех пор, пока каждая из полученного набора подзадач, образующих
решение исходной задачи, не будет иметь очевидное решение. Процесс решения
задачи разбиением ее на подзадачи можно представить в виде специального
направленного графа G, называемого И/ИЛИ-графом; Каждой вершине этого графа
ставится в соответствие описание некоторой задачи (подзадачи). В графе выделяют
два типа вершин: конъюнктивные вершины и дизъюнктивные вершины. Решение
задачи при поиске методом редукции (при поиске в И/ИЛИ-графе) сводится к
нахождению в И/ИЛИ-графе решающего графа. Цель процесса поиска в И/ИЛИ-графе
- показать, что начальная вершина разрешима, т.е. для этой вершины существует
решающий граф. Определение разрешимой вершины в И/ИЛИ-графе можно сформулировать
рекурсивно следующим образом: Конечные (целевые) вершины разрешимы, так как их решение известно
по исходному предположению. Вершина И разрешима тола
и только тогда, когда разрешима каждая из ее дочерних вершин. Решающий граф определяется как подграф из разрешимых вершин,
который показывает, что начальная вершина разрешима (в соответствии с
приведенным выше определением). На рис. 3.3. разрешимые вершины зачернены, а
неразрешимые оставлены белыми. Для графа И/ИЛИ, так же как для поиска в
пространстве состояний, можно определить поиск в глубину и поиск в ширину как в
прямом, так и в обратном направлении. На рис. 3.4. приведен пример поиска в
ширину (рис. 3.4., а) и поиска в глубину (рис. 3.4., б). На рисунке вершины
пронумерованы в том порядке, в котором они раскрывались, конечные вершины
обозначены квадратами, разрешимые вершины зачернены, дуги решающего графа
выделены двойными линиями. 3.1.3. Эвристический поиск При увеличении
пространства поиска методы слепого поиска требуют чрезмерных затрат времени и
(или) памяти. Это привело к созданию эвристических методов поиска, т.е. методов,
использующих некоторую информацию о предметной области для рассмотрения не всего
пространства поиска, а таких путей в нем, которые с наибольшей вероятностью
приводят .к цели. ' Процесс поиска может быть сформулирован в терминах
"генерация-проверка". Для осуществления процесса поиска необходимо генерировать
очередное возможное решение (состояние или подзадачу) и проверить, не является
ли оно результирующим. Методы
поиска в одном пространстве не позволяют решать сложные задачи, так как с
увеличением размера пространства время поиска экспоненциально растет. При
большом размере пространства поиска можно попробовать разбить общее пространство
на подпространства и осуществлять поиск сначала в них. Пространство поиска
представлено иерархией пространств. поиск в факторизованном
пространстве, Во многих приложениях требуется найти все решения.
Например - постановка диагноза. Пространство называется факторизованным, если
оно разбивается на непересекающиеся подпространства (классы) частичными
(неполными) решениями. Причем по виду частичного решения можно определить, что
оно не приведет к успеху, т.е. что все полные решения, образованные из него, не
приведут к целевым решениям. Поиск в факторизованном пространстве осуществляется
на основе метола "иерархическая генерация-проверка". Если пространство поиска
удается факторизовать, то поиск даже в очень большом пространстве можно
организовать эффективно. Применение метода факторизации пространства ограничено тем,
что для ряда областей не удается по частичному решению сделать заключение о его
непригодности. Например задачи планирования и конструирования. В этих случаях
могут быть применены методы поиска, использующие идею абстрактного пространства.
Абстракция должна подчеркнуть важные особенности рассматриваемой задачи,
позволить разбить задачу на более простые подзадачи и определить
последовательность подзадач (план решения), приводящую к решению основной
задачи. В ряде приложений не удается все решаемые задачи свести к
фиксированному набору подзадач. План решения задачи в данном случае должен иметь
переменную структуру и не может быть сведен к фиксированному набору подзадач.
Для решения подобных задач может быть использован метод нисходящего уточнения.
Этот метод базируется на следующих предположениях: 3.3. ПОИСК В АЛЬТЕРНАТИВНЫХ
ПРОСТРАНСТВАХ Рассмотренные выше методы поиска исходят из молчаливой
предпосылки, что знания о предметной области и данные о решаемой задаче являются
точными и полными и для них справедливо следующее: применение оператора к
некоторому состоянию формирует некоторое новое состояние, описание которого
состоит только из истинных фактов. Однако при решении любых
практических задач и особенно при решении неформализованных задач распространена
обратная ситуация. Эксперту приходится работать в условиях неполноты и
неточности знаний (данных) и, как правило, в условиях дефицита времени. Когда
эксперт решает задачу, он использует методы, отличающиеся от формальных
математических рассуждений. В этом случае эксперт делает правдоподобные
предположения, которые он не может доказать; тем самым вопрос об их истинности
остается открытым. Все утверждения, полученные на основе этих правдоподобных
предположений, также не могут быть доказаны. Итак, для того чтобы система
могла делать умозаключения, основанные на здравом смысле, при работе с неполными
(неточными) данными и знаниями, она должна быть способна делать предположения, а
при получении новой информации, показывающей ошибочность предположений,
отказываться как от сделанных предположений, так и от умозаключений, полученных
на основе этих предположений. Мнение системы о том, какие факты имеютместо,
изменяется в ходе рассуждения, т.е. можно говорить о ревизии мнений. Таким
образом, даже если рассматривать проблемную область как статическую, неполнота
(и неточность) знаний и данных влечет за собой рассмотрение этой области при
различных (и даже противоположных) предположениях, что, в свою очередь, приводит
к представлению области в виде альтернативных пространств, соответствующих
различным, возможно, противоречивым и (или) взаимодополняющим предположениям и
мнениям. Все неудачи, возникшие при поиске в одном направлении, не
запоминаются при переходе к поиску в другом направлении. Та же самая причина
неудачи может заново обнаруживаться и на новом направлении. Осуществлять
возврат целесообразно не к состоянию, непосредственно предшествующему данному, а
к тому состоянию, которое является причиной возникновения неудачи. В
используемых нами терминах причиной неудач являются предположения, т.е.
недоказуемые утверждения. Поэтому при обнаружении неудачи необходимо
возвращаться в состояние, где это предположение было сделано, и испытывать
другое предположение. Все
методы поиска, рассмотренные до сих пор, использовали при представлении
проблемной области какую-то одну модель, т.е. рассматривали область с какой-то
одной точки зрения. При решении сложных задач в условиях ограниченных ресурсов
использование нескольких моделей может значительно повысить мощность системы.
Объединение в одной системе нескольких моделей дает возможность преодолеть
следующие трудности. переход с одной модели на другую позволяет
обходить тупики, возникающие при поиске в процессе распространения ограничений.
использование нескольких моделей позволяет в ряде случаев уменьшить
вероятность потери хорошего решения (следствие неполного поиска, вызванного
ограниченностью ресурсов) за счет конструирования полного решения из
ограниченного числа частичных кандидатов путем их расширения и комбинации.
Следует отметить, что
использование нескольких моделей требует дополнительных знаний о том, как
создавать и объединять различные точки зрения. Выбор метода решения задачи зависит прежде всего от сложности задачи,
которая определяется особенностями проблемной области и требованиями,
предъявляемыми пользователем к решению задачи. Для преодоления трудностей,
вызванных большим пространством поиска, используются методы, основанные на
введении иерархии пространств (конкретных, абстрактных и метапространств).
Простейший из этих методов основывается на факторизуемости пространства решений,
что позволяет производить раннее отсечение. Метод обеспечивает получение всех
решений. Если пространство поиска не удается факторизовать, но при этом не
требуется получать все решения или выбирать лучшее, то могут быть применены
методы, использующие иерархию однородных абстрактных пространств. Если
пространство поиска таково, что любая задача может быть сведена к известной
заранее последовательности подзадач, то используется фиксированное абстрактное
пространство. Эффективность этого метода определяется возможностью
использовать безвозвратную стратегию. В случае, если подзадачи взаимозависимы,
т.е. для решения некоторой подзадачи может требоваться информация, получаемая
другой подзадачей, и подзадачи не могут быть упорядочены, целесообразно
применять принцип наименьших свершений. Этот подход позволяет приостанавливать
решение подзадачи, для которой недостает информации, переходить к решению другой
подзадачи и возвращаться к исходной задаче, когда отсутствующая информация
станет доступной. (поиск в иерархии пространстве) Для преодоления трудностей,
вызванных неполнотой и (или) неточностью данных (знаний), используют
вероятностные, размытые иточные методы. Все эти методы основываются на идее
увеличения надежности путем комбинирования фактов и использования метазнаний о
возможностях комбинирования фактов. Для преодоления неадекватности модели
проблемной области используются методы, ориентированные на использование
нескольких моделей. Эти методы позволяют объединить возможности различных
моделей, описывающих проблемную область с различных точек зрения. Кроме того,
использование нескольких моделей позволяет уменьшить вероятность потери хорошего
решения, несмотря на неполноту поиска, вызванную ограниченностью вычислительных
ресурсов.