
2488
.pdfполными и определенными. Кроме того, часто на процесс поиска влияет дефицит времени. В этих условиях люди используют методы, отличные от формального математического рассуждения. Формальное математическое рассуждение является монотонным, т.е. каждое заключение следует из предыдущего.
Специалисты, принимающие решения, используют немонотонные рассуждения, или рассуждения здравого смысла (основывающиеся на общих элементарных знаниях). Несмотря на то, что рассуждения здравого смысла являются довольно обыденными для людей, очень трудно достигнуть требуемого уровня реализации подобных рассуждений в СППР. Тем не менее в некоторых классических ЭС, таких как MYCIN, PROSPECTOR, этот метод довольно успешно реализован для сокращения пространства поиска.
При рассуждениях здравого смысла процедура поиска строится на некоторых предположениях при отсутствии информации, противоречащей этим предположениям. Предположения могут изменяться при поступлении дополнительной проясняющей информации, т.е. в системах поиска, основывающихся на предположениях, необходим просмотр предположений о характере ситуации и направлении поиска при получении новых фактов и знаний. Необходим также пересмотр выводов, полученных на основании этих предположений.
Метод редукции состоит в том, что поиск необходимой совокупности данных для решения задачи сводится к решению составляющих подзадач. Задачи описываются различными способами: списки, деревья, массивы. Подзадачи рассматриваются как задачи нахождения связи между определенными состояниями в пространстве поиска. Для представления исходной задачи в виде совокупности подзадач используется оператор перехода к новому описанию. Этот оператор преобразует исходную задачу таким образом, что при решении всех подзадач-преемников обеспечивается решение исходной задачи. Для каждого представления исходной задачи может существовать некоторое множество таких операторов, каждый из которых порождает свою совокупность подзадач. Часть этих подзадач может оказаться неразрешимой. Для других подзадач процесс повторяется, т.е. их в свою очередь также сводят к подзадачам. Это продолжается до тех пор, пока каждая подзадача не будет иметь очевидное решение.
Процесс преобразования также удобно описывать с помощью графовых структур. Процесс поиска решения исходной задачи при таком описании представляет собой направленный граф редукции за-
31

дач. Этот граф называется графом «и»/«или». Вершины этого графа представляют описания задач и подзадач. Граф «и»/«или» содержит вершины двух типов. Тип «и» соответствует задаче, решаемой при условии реализации всех ее подзадач в соответствующих вершинахпреемниках. Тип «или» соответствует задаче, решение которой возможно получить при решении одной из альтернативных подзадач в соответствующих вершинах-преемниках. На рис. 4 представлен фрагмент графа типа «и»/«или».
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
S8 |
S9 |
S10 |
S11 |
S12 |
Рис. 4. Представление разбиения исходной задачи на подзадачи в виде графа «и»/«или»
S0
N |
S3 |
М |
|
|
S1 |
S2 |
S8 |
S9 |
S4 |
S5 |
S6 |
S7 |
S10 |
S11 |
S12 |
Рис. 5. Преобразование графа «и»/«или»
Исходная задача S0 разбивается на группы подзадач. Она может
32
быть решена путем решения подзадач либо S1 и S2; либо S3; S4 и S5. Вершины N, S3, M, S5 – это вершины типа «и». Штриховой линией показан вариант решающего графа исходной задачи. Решения подзадач S2, S7, S9, S10, S11 предполагают известными. Решения других подзадач неизвестны. В структуру обычно вводятся дополнительные вершины, чтобы каждое множество подзадач формировалось под своей собственной родительской вершиной. Вершина графа «и»/«или» может принадлежать к типу «и» либо «или». Поэтому исходный граф преобразуется и вводятся дополнительные вершины N и M (рис. 5), которые служат отдельными родительскими вершинами для подзадач {S1, S2} и {S4, S5}. Таким образом, вершина S0 преобразуется в вершину «или».
Реализация графа редукции аналогична реализации графа поиска решений в пространстве состояний. В частном случае, если вершин «и» нет, получается обычный граф пространства состояний. Поэтому метод редукции является в какой-то степени обобщением подхода с использованием пространства состояний. Процесс поиска на графе «и»/«или» заключается в построении решающего графа (или дерева решений), который является подграфом графа редукции.
Существуют различные методы организации поиска и вывода решений в больших пространствах состояний. Применение того или иного метода связано с характером пространства состояний, его структурируемостью, возможностью описания области решений на различных уровнях абстракции, возможностью оценки перспективных путей поиска и другими факторами.
Реальная проблемная область характеризуется зачастую настолько большим пространством состояний, что бывает очень трудно практически организовать поиск методами перебора. Однако часто требуется найти все возможные решения в проблемной области. Выходом в таких случаях является использование метода порождения и проверки. Этот метод можно применять, если пространство является факторизуемым, т. е. возможно разбиение его на достаточно независимые подпространства с характерными неполными решениями. Характерное неполное решение позволяет судить о перспективности поиска полных решений в этом подпространстве.
Сущность метода заключается в том, что генератор, настроенный на проблемную область, порождает ряд характерных неполных решений, соответствующих описаниям различных подпространств. Осуществляется проверка неполных решений с помощью специальных
33
оценочных процедур, и если решение признается недопустимым, то из дальнейшего рассмотрения исключается целый класс порождаемых им полных решений данного подпространства. В результате отсечения на ранней стадии поиска определенных ветвей поиска без порождения и проверки узлов состояний значительно сокращается число состояний, подлежащих анализу. Если неполное решение признается перспективным, то на его основе в соответствующем подпространстве вырабатываются полные решения на более глубоких уровнях иерархии описания пространства и определяется, являются ли получаемые решения целевыми.
Иерархическая процедура реализации метода порождения и проверки позволяет применять правила отсечения вариантов на ранних этапах порождения. Использование метода порождения и проверки в факторизованном пространстве бывает затруднено из-за того, что часто отсутствуют достоверные способы оценки характерных неполных решений, т. е. не удается на основе неполных решений делать выводы о реализуемости полных решений. Здесь невозможно с большой степенью уверенности отсечь неперспективные ветви на начальной стадии поиска. Всегда есть риск исключить часть пространства состояний, представившегося бесперспективным, но вполне способным в дальнейшей обработке при появлении дополнительной информации обеспечить решение. Такие ситуации характерны для задач перспективного планирования и проектирования. Кроме того, не всегда необходимо искать все возможные решения, а достаточно иметь какое-либо приемлемое.
В этих случаях производят абстрагирование пространства решений. Решение задачи осуществляется на разных уровнях абстракции путем последовательного уточнения его на этих уровнях описания пространства. Абстракция дополнительно выявляет важные детали, характеризующие задачу. Основная задача редуцируется на фиксированную совокупность описаний подзадач. В простых случаях в абстрактном пространстве достаточно одного разбиения, используемого для разных задач данной проблемной области. Если проблемная область содержит большое число задач, то не удается все задачи решить на определенном варианте редукции пространства поиска.
Возможно использование метода последовательного уточнения сверху. Этот метод характеризуется тем, что создает абстракцию, адекватную каждой задаче. Причем для упрощения процесса решения
34
задачи сначала получают обобщенное описание пространства и решают задачу в этом пространстве, а затем переходят к более конкретному описанию пространства. Таким образом, решение задачи реализуется сверху вниз, от поиска и определения решения в абстрактном пространстве к преобразованию этого решения и его конкретизации на более низких (т. е. более подробных) уровнях описания. Переход к более конкретному уровню осуществляется лишь после завершения решения на рассматриваемом уровне абстракции.
При поиске решений в больших пространствах состояний ис-
пользуются также эвристические методы и процедуры. Часто труд-
но выделить чисто эвристическую процедуру, так как она бывает в большей или меньшей степени встроена в какой-либо из названных методов. Например, эвристические оценки присутствуют в методе порождения и проверки, когда генератор строит гипотезы относительно характерных неполных решений, которые затем проверяются. При использовании метода последовательного уточнения сверху предполагается и допускается, что решение задачи на верхних уровнях абстракции позволит конкретизировать решение на более подробных уровнях описания задачи.
Необходимость формулирования гипотез при поиске решений может быть вызвана многими причинами: невозможностью сделать выбор направления поиска на определенном этапе решения при реализации какого-либо метода, недостаточностью фактов и знаний; нехваткой времени для проработки различных вариантов решений; ограниченностью других ресурсов. В этих случаях выдвигается разумная гипотеза о дальнейшем направлении поиска, которая остается действующей до тех пор, пока на основе новой информации, получаемой при решении, не становится очевидным противное. Практически стремятся реализовать рассуждения при предположении здравого смысла, т. е. немонотонные рассуждения, что довольно непросто в практических системах СППР.
Трудности связаны, прежде всего, с этапом формирования разумной гипотезы, а кроме того, с возможностью пересмотра сделанных предположений при получении новых знаний и фактов, выводимых при решении задачи или поступающих в систему извне. Таким образом, главная проблема - выявление неверных гипотез и реализа-
35
ция способов отказа от таких гипотез в ходе правдоподобных рассуждений.
1.3.4. Вывод на предикатах
Выводом системы представления знаний на предикатах являются формулы, выводимые из аксиом с помощью правил вывода. Для решения конкретной задачи начальное состояние и доступные операторы действий переводятся в формулы исчисления предикатов и добавляются к множеству аксиом. Целевое состояние также выражается формулой и рассматривается как теорема, которая должна быть выведена из аксиом с помощью активного механизма вывода.
Основные формы логического вывода:
–индукция (лат. наведение) – это форма мышления, посредством которой мысль наводится на какое-либо общее правило, общее положение, присущее всем единичным предметам какого-либо класса. Индуктивный логический вывод является перспективным направлением инженерии знаний;
–дедукция (лат. выведение) – такая форма мышления, когда новая мысль выводится чисто логическим путем (т.е. по законам логики) из предшествующих мыслей. Такая последовательность мыслей называется выводом, а каждый компонент этого вывода является либо ранее доказанной мыслью, либо аксиомой, либо гипотезой. Последняя мысль данного вывода называется заключением.
Последовательность дедукции определяет «план» того, как достигнуть цели из начального состояния. Дедукция обычно выполняется с помощью попытки вывести противоречие из получаемого в результате преобразований множества аксиом. Для того чтобы показать, что некоторое множество ППФ неудовлетворимо, надо доказать, что нет такой интерпретации, при которой каждая из ППФ в этом множестве имеет значение 1 (истинно). Хотя эта задача и кажется трудоемкой, существуют довольно эффективные процедуры ее решения. Для выполнения этих процедур требуется представить ППФ данного множества в специальном удобном виде – в виде предложений.
Процесс, демонстрирующий, что некоторое множество F ППФ неудовлетворимо (невыполнимо), начинается с превращения каждой ППФ из множества F в предложение. В результате возникает некоторое множество S предложений. Можно показать, что если множество S неудовлетворимо, то неудовлетворимо и множество F. Далее ис-
36
пользуется метод Эрбрана: к стандартной форме формулы применяют процедуры поиска опровержения, это делается для удобства реализации поиска, т.е. вместо доказательства общезначимости формулы доказывается, что отрицание формулы противоречиво.
Возможно использование метода резолюций Робинсона. Процедура поиска доказательства методом резолюций может применяться к любому множеству дизъюнктов с целью проверки его невыполнимости. Идея метода резолюций заключается в проверке наличия в множестве S пустого (ложного) дизъюнкта (противоречия). Если S содержит противоречие, то оно невыполнимо; если не содержит, то выводятся новые дизъюнкты до тех пор, пока не будет получено противоречие (это всегда имеет место для невыполнимого S).
Недостатком метода резолюций является то, что неограниченное применение правила резолюций может вызывать порождение большого числа дизъюнктов, многие из которых лишние и не относятся к делу, хотя и являются вполне корректными. Кроме того, для выполнимого множества дизъюнктов процедура, основанная на методе резолюций, будет продолжаться бесконечно.
Надо отметить также, что методы резолюций неприемлемы в случае сложных проблем, так как пространство поиска, образуемое ими, возрастает экспоненциально числу формул, используемых для описания проблемы.
1.3.5.Методы вывода и поиска решений
впродукционных системах
При продукционном представлении область знаний представляется множеством продукционных правил ЕСЛИ-ТОГДА, а данные представляются множеством фактов о текущей ситуации. Механизм вывода сопоставляет каждое правило, хранящееся в БЗ, с фактами, содержащимися в БЗ. Когда часть правила ЕСЛИ (условие) подходит факту, правило срабатывает и его часть ТОГДА (действие) исполняется. Срабатывающее правило может изменить множество фактов путем добавления нового факта.
Сопоставление частей ЕСЛИ правил с фактами создает цепочку вывода. Цепочка вывода показывает, как система применяет правила для получения заключения. Для иллюстрации метода вывода на основе цепочки рассмотрим простой пример.
Допустим, БЗ первоначально включает факты А, В, С, D и Е, а БЗ
37

содержит только три правила: Правило 1: Y&D → Z. Правило 2: X&B&E→Y. Правило 3: A→X.
Цепочка вывода на рис. 6 показывает, как применяются правила для вывода факта Z.
Сначала срабатывает правило 3 для вывода нового факта Х из данного факта A. Затем правило 2 выполняется для вывода факта Y из первоначальных фактов В и Е, а также уже известного факта Х. И, наконец, правило 1 применяет первоначально известный факт D и только что полученный факт Y для прихода к заключению Z.
Механизм вывода должен решать, когда правила должны сработать.
Существует два принципиальных способа, которыми правила могут быть выполнены. Один называется прямая цепочка (условновыводимая), а другой – обратная цепочка (целе-выводимая).
Рассмотренный пример использует прямую цепочку вывода. Продукционные системы, в которых сначала анализируется антецедентная часть (условия), имеют так называемую условно-выводимую архитектуру.
Альтернативным типом архитектуры, которая достаточно часто используется в СППР, являются целе-выводимые (действиевыводимые или консеквент-выводимые) продукционные системы. Например, правило вида
А&В&С→D
может быть интерпретировано как «Логическая конъюнкция А, В и С влечет D» или «Чтобы доказать D, необходимо установить А, В, С».
В последнем случае цель должна быть достигнута дедуктивным выводом. Для этого исследуются консеквенты правил для нахождения такого правила, которое позволило бы достичь цели. Когда такое правило найдено, проверяются на истинность все его условия. Если условия истинны, продукция активируется. В противном случае продолжается поиск подходящей продукции.
Рассмотрим упрощенный пример продукционной системы с кон-
38
секвент-выводимой архитектурой. Буквами здесь обозначены элементы БЗ, и они считаются истинными, если содержатся в ней.
БЗ: А, F
Правило 1: A&B&C→D.
Правило 2: D&F→G.
Правило 3: A&J→G. Правило 4: В→С. Правило 5: F→B. Правило 6: L→J. Правило 7: G→H.
Предположим, цель состоит в том, чтобы вывести истинность Н. В первую очередь проверяется, находится ли Н в БЗ? Так как в данном случае это не так, то система пытается вывести истинность Н, используя правила, имеющие Н в правой части. Таким является правило 7. Теперь система пытается вывести истинность G, так как истинность последнего влечет за собой истинность Н. Снова проверяется БЗ: в ней нет G, следовательно, организуется поиск правила, содержащего G в правой части. Таких правил несколько. В качестве стратегии «разрешения конфликта» будем считать, что правила упорядочены по приоритету, причем правилу с наименьшим номером соответствует больший приоритет.
Вданном случае выбирается правило 2, поэтому целью теперь становится вывести истинность D и F. Для этого достаточно показать, что А – истинно (так как находится в БЗ), В – истинно (согласно правилу 5), С – истинно (согласно правилу 4). Так как истинность D и F доказана, то из правила 2 следует истинность G, а из истинности G следует истинность Н (правило 7). Таким образом, цель достигнута. Элементы, истинность которых доказана, добавляются в БЗ. В данном случае это элементы Н, G, D, С. В.
1.3.6.Вывод во фреймовой системе
Врамках фреймового подхода предполагается, что знания в системе представляются в виде отдельных кластеров знаний, или подструктур, содержащих сведения о стереотипах (т.е. о некоторых общих характеристиках данного класса объектов или ситуаций). Согласно данному предположению понимание ситуации для системы означает поиск в перечне накопленных структур такой, которая наи-
39
лучшим способом описывала бы рассматриваемую ситуацию. При этом слоты заполняются некоторой информацией, и заполненный фрейм проверяется на адекватность данной ситуации. В случае несовпадения ищется новый фрейм и процесс продолжается.
Таким образом, можно выделить три основных процесса, происходящих во фреймовых системах:
– Создание экземпляра фрейма. Для создания экземпляра фрейма необходимо найти подходящий фрейм и заполнить его слоты информацией, описывающей специфику рассматриваемой ситуации. Для того чтобы заполнить слоты, используется специальная информация о том, как найти потенциальные «заполнители» слотов. Эта информация часто хранится в процедурной форме.
–Активация фреймов. В том случае, когда фрейм считается подходящим для описания данной ситуации, осуществляется его активация глобальным процессом. Если обнаруживается слишком много отличий содержимого фреймов от специфических особенностей рассматриваемой ситуации или они носят достаточно серьезный характер, организуется поиск другого, более подходящего фрейма. При этом «отвергнутый» фрейм может содержать указания на то, какие именно фреймы следует исследовать вместо данного (например, более общие или, наоборот, более специализированные). Часть данных, используемых для заполнения слотов «отвергнутого» фрейма, может быть использована при рассмотрении новых кандидатов.
–Организация вывода, заключающаяся в последовательном поиске в сети фреймов наиболее соответствующего и построении на его основе экземпляра фрейма.
Т. Виноград предложил объединить во фреймах преимущества декларативного и процедурного представлений. Суть его предложения состоит в том, что знания, касающиеся функций непосредственного представления их с помощью фреймов, должны храниться в декларативной форме, а знания об использовании фреймов – в процедурной.
В частности, процедуры могут хранить знания, позволяющие давать ответ на следующие вопросы:
–Когда активировать фрейм? Подобно «демонам», фреймы могут активировать сами себя в случае, если распознана соответствующая ситуация.
–В каком случае считать, что данный фрейм неадекватен ситуации и что в этом случае делать? Фрейм мог бы, например, ав-
40