Тема Интеллектуальные технологии и системы Вопросы темы
Скачать 1.92 Mb.
|
Логическая (или как ее еще называют – предикатная) модель представления знаний основана на алгебре высказываний и предикатов, на системе аксиом этой алгебры и ее правилах вывода. 35 В основе формально логической модель представления знаний лежит предикат 2 первого порядка. Подразумевается, что существует конечное, не пустое множество объектов предметной области. На этом множестве с помощью функций интерпретаторов установлены связи между объектами. В свою очередь на основе этих связей строятся все закономерности и правила предметной области. Если представление предметной области не правильное, то есть связи между объектами настроены неверно или не в полной мере, то правильная работоспособность системы будет под угрозой. Логика предикатов разбивает элементарное высказывание на субъект (подлежащее или дополнение) и предикат (сказуемое или определение). Субъект – это то, о чем что-то утверждается в высказывании, предикат – это то, что утверждается о субъекте. Например, «25 – это число». В данном случае «25» это субъект, а «число» – это предикат. Язык логики первого порядка строится на основе набора специфических символов (рис. 96). Такой набор включает: множество функциональных символов; множества предикатных символов; символы переменных; логические операции; кванторы и служебные символы. Рис. 96. Язык логики первого порядка Являясь формализованным аналогом обычной логики, логика первого порядка дает возможность строго рассуждать об истинности и ложности утверждений и об их взаимосвязи. В частности, о логическом следовании одного утверждения из другого или, например, об их эквивалентности. Например, формализуем утверждение на естественном языке в логике первого порядка. 2 Предика́т – это утверждение, высказанное о субъекте. 36 Возьмем рассуждение «Каждый моряк был в море. Феофан – это моряк. Следовательно, Феофан был в море». Теперь запишем его на языке логики первого порядка. В итоге получится формула (рис. 97): Рис. 97. Пример предикатной модели Логические модели использовались на начальных этапах построения экспертных систем. С течением времени в основном стали использовать иные модели представления знаний. На это существенно повлияло то, что если записывать знания, основываясь на классических логических исчислениях, то получится очень громоздкая конструкция. В такой записи можно допустить много ошибок и на их нахождение понадобится очень много времени (если вообще их удастся найти). Поэтому при формировании таких записей легко допустить ошибки, найти которые достаточно сложно. Сетевая модель представления знаний. В основе данной модели лежит идея о том, что любые знания можно представить в виде совокупности объектов (понятий) и связей (отношений) между ними (рис. 98). 37 Рис. 98. Пример сетевой модели представления знаний Семантическая (смысловая) сеть представляет собой ориентированный граф с помеченными вершинами и дугами, где вершинам соответствуют конкретные объекты, дугам – отношения между ними. Семантическая сеть как модель наиболее часто используется для представления декларативных знаний. Семантическая сеть позволяет снизить объем хранимых данных и обеспечивает вывод умозаключений по ассоциативным связям. В семантических сетях используются три основных типа объектов: 1. Понятия. Они представляют собой сведения об абстрактных или конкретных (физических) объектах предметной области. 2. События представляют собой действия, которые могут вносить изменения в предметную область, т. е. изменять ее состояние. 3. Свойства используются для уточнения понятий и событий. Применительно к понятиям свойства описывают их особенности или характеристики, например, цвет, размер, качество. Применительно к событиям свойства – продолжительность, место, время и т. д. К недостаткам семантической сети относят сложность поиска вывода и корректировки, т. е. удаления и дополнения сети новыми знаниями. Фреймовая модель представления знаний. Фрейм – это минимально возможное описание сущности какого-либо явления, события, ситуации, процесса или объекта. То есть: если мы и дальше начнем упрощать и описывать сущность, то потеряем полноту этого описания. Мы уже не сможем определить с помощью этого описания ту единицу знаний, для которой оно было предназначено. 38 Фрейм состоит из стандартных единиц, называемых слотами. Каждый слот содержит название и свое значение. В свою очередь слот может быть фреймом нижнего уровня в иерархии слотов. Между фреймами существует связь типа АКО (англ. a kind of), которая указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются список и значения слотов. При этом возможно множественное наследование – перенос свойств от нескольких прототипов. Все процедуры фреймов подразделяются на две группы: демоны и присоединенные процедуры. Демоны действуют автоматически при удалении, запросе, изменении данных, а присоединенные процедуры действуют лишь после выполнения условий (рис. 99). Продукционные модели основываются на правилах. В данном случае определенное знание описывается в виде следующей конструкции: «ЕСЛИ условие, ТО действие». У продукционных моделей есть существенный недостаток. При накоплении достаточно большого числа правил, они начинают противоречить друг другу. В качестве условия может выступать любая совокупность суждений, соединенных логическими связками и (), или (). Рис. 99. Пример фреймовой модели представления знаний 39 Рис. 100. Пример фрейма-сценария Продукционные правила (продукции) задаются в виде следующих выражений: Существуют две основные стратегии вывода на множестве правил- продукций: прямой вывод и обратный (рис. 101). Прямой вывод – это вывод на основе данных, представляющий собой процесс решения задачи, который начинается с исходных фактов. Затем, применяя допустимые правила, осуществляется переход к новым фактам. И так до тех пор, пока цель не будет достигнута и по известным фактам не будет найдено заключение. Как только такое заключение будет найдено, оно будет помещено в рабочую память. Многие современные диагностические экспертные системы построены на механизме прямого вывода. Обратный вывод – это вывод от цели или от заключений к фактам. 40 В данном случае на начальном этапе формируется некоторое предположение о конечном суждении. Далее в работу подключается механизм вывода и ищет в рабочей памяти такие факты, которые могут либо подтвердить, либо опровергнуть выдвинутую гипотезу. Число шагов, которые проделает механизм вывода в поисках нужных фактов, может быть значительным. Кроме того, на любом из шагов может быть сделано новое предположение или поставлена новая цель. Процесс повторяется для всех заданных в задаче целей. Рис. 101. Стратегии вывода на множестве правил-продукций Существуют системы, в которых вывод является смешанным и сочетает методы обратного и ограниченного прямого вывода. Такой комбинированный метод вывода называется циклическим. Если база знаний включает более сотни правил, то в таких системах используют технологии управления выводом, которые могут минимизировать время поиска решения. В результате эффективность вывода будет повышена. Например, с этой целью могут быть задействованы такие технологии, как поиск в глубину, поиск в ширину, разбиение на подзадачи и альфабета алгоритм. Кратко рассмотрим данные технологии. При поиске в глубину исходная цель разбивается на подцели. Далее происходит переход от одной подцели к другой. Очередная выбранная подцель должна еще более подробно и детально описывать задачу. В качестве примера можно рассмотреть экспертную систему диагностирующего типа. Врач заносит в систему известные ему симптомы. Получив исходные данные, экспертная система делает предположение, что указанные симптомы относятся к определенному 41 заболеванию. Затем экспертная система в режиме диалога с врачом начинает запрашивать дополнительные признаки и симптомы предположительной болезни. Это будет продолжаться до тех пор, пока выдвинутое предположение не будет полностью опровергнуто. При поиске в ширину экспертная система будет действовать несколько иначе. Сначала будут анализироваться все симптомы, которые характеризуют определенное состояние, несмотря на то, что они относятся к разным заболеваниям. И только после того, как они будут проанализированы, экспертная система будет детализировать более подробно, перейдя к следующим уровням детальности. В случае использования технологии разбиения на подзадачи экспертная система разделит исходную задачу на части (подзадачи). Она будет двигаться к конечной цели, решая такие подзадачи и стремясь к достижению промежуточных целей. В качестве примера использования технологии разбиения на подзадачи можно рассмотреть типовую задачу поиска неисправностей в компьютере. Осматривая компьютер, мы определяем, что же явилось причиной неисправности? Это может быть блок питания, жесткий диск, оперативная память или что-то еще. Как только мы это выявили, мы сразу сузили область поиска. Например, если причины неисправности оказались в жестком диске, то мы начинаем анализировать уже возможные причины выхода его из строя. И так далее до устранения неисправности. Например, это может быть замена жесткого диска, его форматирование и т. д. Преимущество технологии разбиения на подзадачи заключается в том, что как только мы смогли корректно разделить задачу (или цель) на связанные подзадачи (или подцели), то в итоге мы смогли существенно сократить время решения поставленной задачи и повысили скорость приближения к решению в пространстве поиска. Если посмотреть на рис. 100 и обратить внимание на расположение элементов в виде иерархических структуры с установленными между ними связями, то увидим, что можно этим добиться, что путь перемещения между подцелями будет короче, чем в том случае, когда все элементы были бы расположены последовательно. В основе еще одной технологии управления выводом лежит альфа- бета алгоритм. Он удаляет ветви, которые считает неперспективными для успешного поиска решения. В результате уменьшается пространство состояний системы, и время поиска решения сводится к минимуму. Альфа-бета алгоритм просматривает вершины, к которым можно выполнить переход на следующем шаге. Остальные переходы алгоритм считает неперспективными и исключает эти направления из стратегии поиска решения. Наиболее часто альфа-бета алгоритм применяют при разработке игр (например, применяется в компьютерной игре в шахматы). 42 Вопрос 7. Инструментальные средства разработки экспертных систем. Процесс создания экспертной системы состоит из ряда этапов (рис. 102). Первый этап идентификации начинается с определения круга задач, возлагаемых на систему. Сначала нужно выбрать задачи, которая сможет решать создаваемая экспертная система, и уже исходя из этого, обозначить предъявляемые к экспертной системе требования. В результате выполнения первого этапа будет: определена решаемая задача (или задачи); решено что надо сделать, чтобы создать экспертную систему для обозначенной задачи (задач); отобраны участники создания экспертной системы с обозначением выполняемых ими ролей; перечислены необходимые для создания экспертной системы ресурсы; обозначена цель проекта по созданию экспертной системы. Рис. 102. Процесс создания экспертной системы На первом этапе задача, которую должна будет решать экспертная система, описывается пока только в словесной форме. Чем точнее удастся на данном этапе определить особенности задачи, тем меньше шагов по уточнению поставленной задачи придется сделать на последующих этапах разработки экспертной системы. 43 Характеризуя на данном этапе поставленную задачу, необходимо уделить внимание следующим моментам: описать общие характеристики задачи; исходную задачу разбить на части, выделив отдельные подзадачи; проанализировать предметную технологию задачи и составить список основных понятий и выделить объекты; выделить из информационного потока, возникающего в процессе решения задачи, исходные и результирующие данные; определить знания, которые необходимы, чтобы задача могла быть решена; обозначить технологию решения задачи и определить вид ее решения; определить цели создания экспертной системы (важно не спутать их с целями функционирования экспертной системы – это две разные цели). Например, к целям создания экспертной системы можно отнести следующее: выявление неформальных знаний экспертов и их формализация; повышение качества и оперативности принимаемых экспертом решений; необходимость в накоплении и распространении знаний эксперта в заданной предметной области; необходимость в освобождении эксперта от рутинных моментов в его работе и т. д. На первом этапе участие в процессе разработки принимают эксперт, инженер по знаниям и пользователь будущей экспертной системы. Второй этап связан с процессом получения знаний от экспертов. На этом этапе необходимо очень детально проанализировать предметную область, на которую будет ориентирована экспертная система. Проработать подготовленный на первом этапе список понятий предметной области и их взаимосвязей. Затем выбрать и проработать методы и способы решения задачи, которую должна решать экспертная система. Завершается второй этап построением модели предметной области. На втором этапе участие в процессе разработки принимают эксперт и инженер по знаниям. 44 На третьем этапе еще более пристальное внимание уделяется предметной области и происходит переход к анализу знаний, которые необходимы, чтобы экспертная система могла «разбираться» в рассматриваемой предметной области. Для описания модели предметной области могут использовать либо атрибутивный, либо структурный подход. Атрибутивный подход требует максимально полной и подробной информации о рассматриваемой предметной области. Должно быть описано практически все: объекты, атрибуты объектов, значения атрибутов. Как только все это будет описано, переходят к следующему шагу. Выделяются определенные содержательные критерии и по ним создаются группировки описанных элементов (в виде цепочки «объект– атрибут–значение атрибута») в классы. Создается так называемая «обучающая информация». Атрибутивный подход исходит из того, что задача, которую должна решать экспертная система, может быть отнесена к объектно- ориентированной. Предполагается, что эксперт в заданной предметной области легко может определить и выделить из нее объекты с установленными между ними взаимосвязями и их характеристиками. В итоге создается набор правил для экспертной системы. Каждое правило образуется в результате комбинации значений атрибутов. Набор правил поможет экспертной системе отличать один объект от другого. Атрибутивный подход лежит в основе экспертных систем, способных распознавать образы и выполнять автоматическую группировку данных. Еще один метод, который может быть использован при описании модели предметной области, называется структурным (когнитивным). В данном случае выделяют элементы предметной области, устанавливают взаимосвязи между ними и устанавливают смысловые (семантические) отношения между ними. В итоге формируются набор когнитивных элементов, в качестве которых выступают понятия, взаимосвязи, метапонятия и смысловые отношения. Как только знания, относящиеся к предметной области, были структурированы, осуществляется переход к следующему этапу. На третьем участие в процессе разработки принимает инженер по знаниям. Четвертый этап связан с формализацией знаний. Теперь все выделенные основные понятия и отношения, относящиеся к предметной области, необходимо зафиксировать на формальном языке, который будет понятен экспертной системе. Такой язык может быть отобран из числа уже существующих либо разработчик экспертной системы может создать новый язык. 45 Этот этап очень важный, так как здесь должны быть определены и выбраны соответствующие средства и способы представления знаний в экспертной системе. По завершению данного этапа решение поставленной задачи записывается на формальном языке. На этом же этапе должны быть выбраны: модель представления знаний в системе (фреймовая, семантическая сеть, сценарии и т. д.); технологии работы со знаниями (логический вывод, аналитическая модель, статистическая модель и др.); способы интерпретации знаний. На четвертом этапе участие в процессе разработки принимают инженер по знаниям и программист. На пятом этапе осуществляется создание экспертной системы. Обычно на этом этапе создается несколько вариантов экспертной системы, называемых прототипами. Они способны решать поставленную задачу. В некоторых случаях может создаваться только один вариант экспертной системы, для поставленной задачи. Процесс создания прототипа заключается в выполнении следующих действий: программирование элементов прототипа или выбор нужных компонентов из существующих инструментальных средств разработки экспертных систем; наполнение базы знаний. Вначале создается прототип «экспертной системы-1». Основная его задача – это проверка корректности заложенных методов, способов и подходов к представлению знаний, а также степени их соответствия решаемым задачам. Если выбранные решения и технологии могут применяться для решения поставленной задачи, (а если задач должно было решаться много, то хотя бы большая часть из них решена), то разработка прототипа считается завершенной. Теперь работа «экспертной системы-1» оценивается специалистами и экспертами, которые могут высказывать свои идеи и замечания, направленные на улучшение работы экспертной системы, а также предложения по расширению состава решаемых ею задач. Все высказанное фиксируется и может найти свое воплощение во втором прототипе экспертной системы. 46 Например, второй прототип «экспертной системы-2» может быть более совершенным, в сравнении с предыдущей версией, за счет: повышения дружественности созданного интерфейса для общения пользователей разных уровней с экспертной системой; доработки специальных средств исследования базы знаний и цепочек выводов, создаваемых системой; разработки технологий для хранения библиотеки задач, которые были решены системой; внедрения методов сбора замечаний пользователей и т. д. Если второй прототип экспертной системы успешно пройдет шестой этап, связанный с тестированием, то прототип переходит в категорию готового конечного продукта и может быть передан в эксплуатацию той категории пользователей, для которых разрабатывался. На пятом этапе участие в процессе разработки принимает программист. Шестой этап связан с |