Методы решения задач
МЕТОДЫ ПОИСКА РЕШЕНИЙ В ЭКСПЕРТНЫХ СИСТЕМАХ
Методы решения задач, основанные на сведении их к поиску, зависят от особенностей предметной области, в которой решается задача, и от требований, предъявляемых пользователем к решению. Особенности предметной области:
объем пространства, в котором предстоит искать решение;
степень изменяемости области во времени и пространстве (статические и динамические области);
полнота модели, описывающей область, если модель не полна, то для описания области используют несколько моделей, дополняющих друг друга;
определенность данных о решаемой задаче, степень точности (ошибочности) и полноты (неполноты) данных.
Требования пользователя к результату задачи, решаемой с помощью поиска, можно характеризовать:
количеством решений : одно решение, несколько решений, все решения.
свойствами результата: ограничения, которым должен удовлетворять полученный результат и (или) способом его получения.
Существующие методы решения задач, используемые в экспертных системах, можно классифицировать следующим образом:
методы поиска в одном пространстве - методы, предназначенные для использования в следующих условиях: области небольшой размерности, полнота модели, точные и полные данные;
методы поиска в иерархических пространствах - методы, предназначенные для работы в областях большой размерности;
методы поиска при неточных и неполных данных ;
методы поиска, использующие несколько моделей, предназначенные для работы с областями, для адекватного описания которых одной модели недостаточно.
Предполагается, что перечисленные методам при необходимости должны объединяться для того, чтобы позволить решать задачи, сложность которых возрастает одновременно по нескольким параметрам.
3.1. ПОИСК РЕШЕНИЙ В ОДНОМ ПРОСТРАНСТВЕ
Методы поиска решений в одном пространстве обычно делятся на:
поиск в пространстве состояний (рассмотрим подробно),
поиск методом редукции,
эвристический поиск
поиск методом "генерация-проверка".
3.1.1. Поиск в пространстве состояний
Задача поиска в пространстве состояний обычно формулируется в теоретико-графовой интерпретации.
Пусть задана тройка (S>0>, F, S>Т>), где S>0> - множество начальных состояний (условия задачи), F - множество операторов задачи, отображающих одни состояния в другие, S>Т> - множество конечных (целевых) состояний (решений задачи).
Цель: определять такую последовательность операторов, которая преобразует начальные состояния в конечные.
Процесс решения в виде графа G=(Х, Y), где X={х>0>, х>1,>...} - множество (в общем случае бесконечное) вершин графа, состояний, а Y - множество, содержащее пары вершин (x>i>, x>j>), (x>i>, x>j>)X. Если каждая пара (x>i>, x>j>) неупорядочена, то ее называют ребром, а граф - неориентированным. Если для каждой пары (x>i>, x>j>) задан порядок (направление), то пару (x>i>, x>j>) называют дугой (ориентированным ребром), а граф называют ориентированным (направленным). Вершины пары (x>i>, x>j>) называют концевыми точками ребра (дуги).
Поиск в пространстве состояний естественно представить в виде ориентированного графа. Наличие пары (x>i>, x>j>) свидетельствует о существовании некоторого оператора f (fF), преобразующего состояние, соответствующее вершине x>i>, в состояние x>j>. Для некоторой вершины x>i> выделяем множество всех направленных пар (x>i>, x>j>)Y, т.ь. множество дуг, исходящих из вершины х>i>, (родительской вершины), и множество вершин (называемых дочерними вершинами), в которые эти дуги приводят. Множество дуг, исходящих из вершины x>i>, соответствует множеству операторов, которые могут быть применены к состоянию, соответствующему вершине х>i>.
В множестве вершин X выделяют подмножество вершин Х>0>Х, соответствующее множеству начальных состояний (S>o>),, и подмножество вершин Х>т>X, соответствующее множеству конечных (целевых) состояний (S>Т>). Множество Х>т> может быть задано как явно, так и неявно, т.е. через свойства, которыми должны обладать целевые состояния.
Отметим, что граф С может быть задан явно и неявно. Неявное задание графа G стоит в определении множества Х>0>Х (соответствующего множеству начальных состояний) и множества операторов, которые, будучи применимы к некоторой вершине графа, дают все ее дочерние вершины.
Итак, граф G задает пространство состояний, т.е. пространство, в котором осуществляется поиск решения. Построение пространства осуществляется с помощью следующего процесса. Берется некая вершина х>0>Х, к ней применяются все возможные операторы, порождающие все дочерние вершины. Этот процесс называют процессом раскрытия вершин. Если получена целевая вершина, то она не раскрывается. Процесс построения пространства состояний заканчивается, когда все нераскрытые вершины являются целевыми, или терминальными (т.е. вершинами, к которым нельзя применить никаких операторов). В связи с тем, что пространство состояний может содержать бесконечное количество вершин, на практике процесс порождения пространства ограничивают либо временем, либо объемом памяти.
На практике требуется обеспечить полноту поиска, т.е. организовать поиск так, чтобы все целевые вершины были найдены, если они существуют. Надежным способом обеспечения полноты является полный перебор всех вершин. Для задания процесса перебора необходимо определить. порядок, в котором будут перебираться вершины графа. Обычно выделяют два основных способа поиска:
поиск в глубину (сначала раскрывается та вершина, которая была построена самой последней). Рис.3.1.а
поиск в ширину. (вершины раскрываются в том же порядке, в котором они порождаются.) Рис.3.1.б.
Целевые вершины помечены черными квадратами, а терминальные - белыми квадратами. При использовании каждого из способов могут быть найдены все решения. При переборе всего пространства оба метода будут анализировать одинаковое количество вершин, однако метод поиска в ширину будет требовать существенно больше памяти, так как он запоминает все пути поиска (а не один, как при поиске в глубину).
3.1.2. Поиск методом редукции
При поиске методом редукции решение задачи сводится к решению совокупности образующих ее подзадач. Этот процесс повторяется для каждой подзадачи до тех пор, пока каждая из полученного набора подзадач, образующих решение исходной задачи, не будет иметь очевидное решение. Процесс решения задачи разбиением ее на подзадачи можно представить в виде специального направленного графа G, называемого И/ИЛИ-графом; Каждой вершине этого графа ставится в соответствие описание некоторой задачи (подзадачи). В графе выделяют два типа вершин: конъюнктивные вершины и дизъюнктивные вершины.
Решение задачи при поиске методом редукции (при поиске в И/ИЛИ-графе) сводится к нахождению в И/ИЛИ-графе решающего графа.
Цель процесса поиска в И/ИЛИ-графе - показать, что начальная вершина разрешима, т.е. для этой вершины существует решающий граф. Определение разрешимой вершины в И/ИЛИ-графе можно сформулировать рекурсивно следующим образом:
Конечные (целевые) вершины разрешимы, так как их решение известно по исходному предположению.
Вершина ИЛИ разрешима тогда и только тогда, когда разрешима по крайней мере одна из ее дочерних вершин.
Вершина И разрешима тола и только тогда, когда разрешима каждая из ее дочерних вершин.
Решающий граф определяется как подграф из разрешимых вершин, который показывает, что начальная вершина разрешима (в соответствии с приведенным выше определением). На рис. 3.3. разрешимые вершины зачернены, а неразрешимые оставлены белыми.
Для графа И/ИЛИ, так же как для поиска в пространстве состояний, можно определить поиск в глубину и поиск в ширину как в прямом, так и в обратном направлении. На рис. 3.4. приведен пример поиска в ширину (рис. 3.4., а) и поиска в глубину (рис. 3.4., б). На рисунке вершины пронумерованы в том порядке, в котором они раскрывались, конечные вершины обозначены квадратами, разрешимые вершины зачернены, дуги решающего графа выделены двойными линиями.
3.1.3. Эвристический поиск
При увеличении пространства поиска методы слепого поиска требуют чрезмерных затрат времени и (или) памяти. Это привело к созданию эвристических методов поиска, т.е. методов, использующих некоторую информацию о предметной области для рассмотрения не всего пространства поиска, а таких путей в нем, которые с наибольшей вероятностью приводят .к цели. '
3.1.4.Поиск методом "генерация-проверка"
Процесс поиска может быть сформулирован в терминах "генерация-проверка". Для осуществления процесса поиска необходимо генерировать очередное возможное решение (состояние или подзадачу) и проверить, не является ли оно результирующим.
3.2. ПОИСК В ИЕРАРХИИ ПРОСТРАНСТВ
Методы поиска в одном пространстве не позволяют решать сложные задачи, так как с увеличением размера пространства время поиска экспоненциально растет. При большом размере пространства поиска можно попробовать разбить общее пространство на подпространства и осуществлять поиск сначала в них. Пространство поиска представлено иерархией пространств.
Методы поиска решения в иерархических пространствах обычно делятся на:
поиск в факторизованном пространстве,
поиск в фиксированном множестве пространств
поиск в изменяющемся множестве пространств.
3.2.1. Поиск в факторизованном пространстве
Во многих приложениях требуется найти все решения. Например - постановка диагноза. Пространство называется факторизованным, если оно разбивается на непересекающиеся подпространства (классы) частичными (неполными) решениями. Причем по виду частичного решения можно определить, что оно не приведет к успеху, т.е. что все полные решения, образованные из него, не приведут к целевым решениям. Поиск в факторизованном пространстве осуществляется на основе метола "иерархическая генерация-проверка". Если пространство поиска удается факторизовать, то поиск даже в очень большом пространстве можно организовать эффективно.
3.2.2. Поиск в фиксированном множестве пространств
Применение метода факторизации пространства ограничено тем, что для ряда областей не удается по частичному решению сделать заключение о его непригодности. Например задачи планирования и конструирования. В этих случаях могут быть применены методы поиска, использующие идею абстрактного пространства. Абстракция должна подчеркнуть важные особенности рассматриваемой задачи, позволить разбить задачу на более простые подзадачи и определить последовательность подзадач (план решения), приводящую к решению основной задачи.
3.2.3. Поиск в изменяющемся множестве иерархических пространств
В ряде приложений не удается все решаемые задачи свести к фиксированному набору подзадач. План решения задачи в данном случае должен иметь переменную структуру и не может быть сведен к фиксированному набору подзадач. Для решения подобных задач может быть использован метод нисходящего уточнения. Этот метод базируется на следующих предположениях:
возможно осуществить частичное упорядочение понятий области, приемлемое для всех решаемых задач;
решения, принимаемые на верхних уровнях, нет необходимости отменять на более нижних.
3.3. ПОИСК В АЛЬТЕРНАТИВНЫХ ПРОСТРАНСТВАХ
Рассмотренные выше методы поиска исходят из молчаливой предпосылки, что знания о предметной области и данные о решаемой задаче являются точными и полными и для них справедливо следующее:
все утверждения, описывающие состояние, являются истинными;
применение оператора к некоторому состоянию формирует некоторое новое состояние, описание которого состоит только из истинных фактов.
Однако при решении любых практических задач и особенно при решении неформализованных задач распространена обратная ситуация. Эксперту приходится работать в условиях неполноты и неточности знаний (данных) и, как правило, в условиях дефицита времени. Когда эксперт решает задачу, он использует методы, отличающиеся от формальных математических рассуждений. В этом случае эксперт делает правдоподобные предположения, которые он не может доказать; тем самым вопрос об их истинности остается открытым. Все утверждения, полученные на основе этих правдоподобных предположений, также не могут быть доказаны.
Итак, для того чтобы система могла делать умозаключения, основанные на здравом смысле, при работе с неполными (неточными) данными и знаниями, она должна быть способна делать предположения, а при получении новой информации, показывающей ошибочность предположений, отказываться как от сделанных предположений, так и от умозаключений, полученных на основе этих предположений. Мнение системы о том, какие факты имеют место, изменяется в ходе рассуждения, т.е. можно говорить о ревизии мнений. Таким образом, даже если рассматривать проблемную область как статическую, неполнота (и неточность) знаний и данных влечет за собой рассмотрение этой области при различных (и даже противоположных) предположениях, что, в свою очередь, приводит к представлению области в виде альтернативных пространств, соответствующих различным, возможно, противоречивым и (или) взаимодополняющим предположениям и мнениям.
Все неудачи, возникшие при поиске в одном направлении, не запоминаются при переходе к поиску в другом направлении. Та же самая причина неудачи может заново обнаруживаться и на новом направлении.
Осуществлять возврат целесообразно не к состоянию, непосредственно предшествующему данному, а к тому состоянию, которое является причиной возникновения неудачи. В используемых нами терминах причиной неудач являются предположения, т.е. недоказуемые утверждения. Поэтому при обнаружении неудачи необходимо возвращаться в состояние, где это предположение было сделано, и испытывать другое предположение.
Этот метод поиска называют поиском, направляемым зависимостью.
3.4. ПОИСК С ИСПОЛЬЗОВАНИЕМ НЕСКОЛЬКИХ МОДЕЛЕЙ
Все методы поиска, рассмотренные до сих пор, использовали при представлении проблемной области какую-то одну модель, т.е. рассматривали область с какой-то одной точки зрения. При решении сложных задач в условиях ограниченных ресурсов использование нескольких моделей может значительно повысить мощность системы. Объединение в одной системе нескольких моделей дает возможность преодолеть следующие трудности.
переход с одной модели на другую позволяет обходить тупики, возникающие при поиске в процессе распространения ограничений.
использование нескольких моделей позволяет в ряде случаев уменьшить вероятность потери хорошего решения (следствие неполного поиска, вызванного ограниченностью ресурсов) за счет конструирования полного решения из ограниченного числа частичных кандидатов путем их расширения и комбинации.
наличие нескольких моделей позволяет системе справляться с неточностью (ошибочностью) данных.
Следует отметить, что использование нескольких моделей требует дополнительных знаний о том, как создавать и объединять различные точки зрения.
3.5. ВЫБОР МЕТОДА РЕШЕНИЯ ЗАДАЧ
Выбор метода решения задачи зависит прежде всего от сложности задачи, которая определяется особенностями проблемной области и требованиями, предъявляемыми пользователем к решению задачи. Для преодоления трудностей, вызванных большим пространством поиска, используются методы, основанные на введении иерархии пространств (конкретных, абстрактных и метапространств). Простейший из этих методов основывается на факторизуемости пространства решений, что позволяет производить раннее отсечение. Метод обеспечивает получение всех решений. Если пространство поиска не удается факторизовать, но при этом не требуется получать все решения или выбирать лучшее, то могут быть применены методы, использующие иерархию однородных абстрактных пространств. Если пространство поиска таково, что любая задача может быть сведена к известной заранее последовательности подзадач, то используется фиксированное абстрактное пространство.
Эффективность этого метода определяется возможностью использовать безвозвратную стратегию. В случае, если подзадачи взаимозависимы, т.е. для решения некоторой подзадачи может требоваться информация, получаемая другой подзадачей, и подзадачи не могут быть упорядочены, целесообразно применять принцип наименьших свершений. Этот подход позволяет приостанавливать решение подзадачи, для которой недостает информации, переходить к решению другой подзадачи и возвращаться к исходной задаче, когда отсутствующая информация станет доступной. (поиск в иерархии пространстве)
Для преодоления трудностей, вызванных неполнотой и (или) неточностью данных (знаний), используют вероятностные, размытые и точные методы. Все эти методы основываются на идее увеличения надежности путем комбинирования фактов и использования метазнаний о возможностях комбинирования фактов.
Для преодоления неадекватности модели проблемной области используются методы, ориентированные на использование нескольких моделей. Эти методы позволяют объединить возможности различных моделей, описывающих проблемную область с различных точек зрения. Кроме того, использование нескольких моделей позволяет уменьшить вероятность потери хорошего решения, несмотря на неполноту поиска, вызванную ограниченностью вычислительных ресурсов.