Средства поддержки(или поддерживающее окружение) представляют собой пакеты программ, которые прилагаются к языку инженерии знаний, чтобы упростить его использование, облегчить диалог и сделать его более эффективным. Подразделяются на средства отладки, средства ввода/вывода, средства объяснения, редакторы базы знаний.
Таким образом, существует два подхода к разработке механизма вывода ЭС:
1. Использование предназначенного для построения экспертных систем языка высокого уровня(EMYCIN, KAS, EXPERT), в который уже встроен механизм вывода. Это облегчает разработку ЭС, но ограничивает разработчика в выборе способа организации знаний и доступа к ним. Предлагаемая схема управления процессом поиска решения даже может быть негодна для данной предметной области.
2. Использование языка более низкого уровня(LISP, PROLOG, FORTRAN) без механизма вывода. Требует больших усилий на разработку, но позволяет разработать программные блоки для схемы управления процессом решения, который будет адекватен данной предметной области.
2.2.Представление знаний
В современных экспертных системах чаще всего используются три метода представления знаний:
2.2.1.Методы, основанные на правилах
Представление знаний, основанное на правилах, построено на использовании выражений вида
ЕСЛИ (условие) — ТО (действие).
Пример:
[1] Если обвиняемый был с семьей в момент совершения преступления, то обвиняемый имеет алиби.
[2] Если обвиняемый имеет алиби, то обвиняемый не виновен.
Когда факты в задаче удовлетворяют части правила ЕСЛИ, то выполняется действие, определяемое частью ТО. Это действие может, например, состоять в распечатке текста на терминале пользователя, проверке и запуске некоторого набора правил или сводиться к указанию системе о добавлении нового факта или гипотезы в базу данных.
Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов.
Рис. 4. Цепочка вывода для получения заключения о невиновности обвиняемого.
Правила обеспечивают естественный способ описания процессов, управляемых сложной и быстро изменяющейся внешней средой. Через правила можно определять, как программа должна реагировать на изменение данных, а схема передачи управления и использования данных уже предопределена. Обработка здесь осуществляется последовательными шагами, а ветвление имеет место только в заранее выбранных точках. Этот способ управления хорошо работает в случае задач, допускающих алгоритмическое решение, если к тому же при этом данные меняются достаточно медленно, например, при решении систем линейных уравнений. Для задач, ход решения которых управляется самими данными, где ветвление скорее норма, чем исключение, этот способ малоэффективен. В задачах такого рода правила дают возможность на каждом шаге оценить ситуацию и предпринять соответствующие действия. Использование правил упрощает объяснение того, как программа пришла к конкретному заключению.
2.2.2.Представление знаний с использованием семантических сетей
Термин семантическая сеть применяется для описания метода представления знаний, основанного на сетевой структуре.
Семантические сети были первоначально разработаны как психологические модели человеческой памяти, но теперь это стандартный метод представления знаний в ИИ и в экспертных системах.
Семантические сети состоят из узлов, и связывающих их дуг. Узлы соответствуют объектам, концепциям или событиям. Дуги описывают отношения между узлами и могут быть определены разными методами, зависящими от вида представляемых знаний. Обычно дуги, используемые для представления иерархии, включают дуги типа isa (является) и has-part (имеет часть).
Например, два предложения «Куин Мэри является океанским лайнером» и «Каждый океанский лайнер является кораблем» удобно представить через семантическую сеть с использованием важного типа дуг: является.
Так как отношение является транзитивно(a→bи b→c, то a→c), из сети можно вывести третье утверждение: «Куин Мэри является кораблем». Отношение является и другие отношения, как например имеет-часть, устанавливают свойство иерархии наследования в сети. Т.е. в сети элементы более низкого уровня могут наследовать свойства элементов более высокого уровня.
Рассмотрим семантическую сеть, представляющую корабль.
Части корабля, такие, как двигательная установка, корпус, котельная, включены один раз на уровне корабля, и не нужно повторять эти узлы на более низком уровне иерархии, вроде типа корабля или конкретного корабля. На практике это свойство семантической сети позволяет сберечь огромные объемы памяти. Зная смысл отношений, обозначаемых дугами, можно осуществлять поиск по сети, например, чтобы установить факты вроде «Куин Мэри имеет котельную». Семантические сети – один из самых удачных методов представления знаний о предметной области, который сильно упрощает поиск решения задач.
2.2.3.Методы, основанные на фреймах
В области искусственного интеллекта термином фрейм обозначается специальный метод представления общих концепций и ситуаций.
Предложивший идею фрейма Марвин Минский, описывает его так:
«Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации – о том, как использовать фрейм. Часть – о том, чего можно ожидать далее. Часть – о том, что следует делать, если эти ожидания не подтвердятся»
Фрейм является сетью узлов и отношений, организованных иерархически, где верхние узлы представляют общие понятия, а нижние узлы более частные случаи этих понятий или их свойства. Фрейм по своей организации во многом похож на семантическую сеть. Не случайно в ряде работ фреймы и семантические сети рассматриваются как методы представления знаний, основанных на фреймах. Они обеспечивают естественный и эффективный путь классификации и систематизации знаний.
2.3.Основные характеристики экспертных систем
Специалисты в области ИИ имеют несколько более сложное представление о том, что такое экспертные системы.
Рис. 5. Особенности экспертной системы, отличающие ее от обычных программ.
Компетентность
Умелая ЭС применяет знания эффективно и быстро, избегая громоздких или ненужных вычислений. Чтобы по-настоящему подражать поведению эксперта-человека, ЭС должна обладать робастностью, т.е. уметь лишь постепенно снижать качество работы по мере приближения к границам диапазона компетентности или допустимой надежности данных.
Символьные рассуждения
Эксперты, решая какие-то задачи (особенно такого типа, для решения которых применяются экспертные системы), обходятся без решения систем уравнений или других трудоемких математических вычислений. Вместо этого они с помощью символов представляют понятия предметной области и применяют различные стратегии и эвристики в процессе манипулирования этими понятиями.
При решении задачи экспертная система способна выполнять определенные математические расчеты, но в основном она манипулирует символами, которые соответствуют понятиям предметной области. На жаргоне ИИ символ – это строка знаков, соответствующая содержанию некоторого понятия реального мира. Ниже приведены примеры символов,
продукт
ответчик
0.8
Эти символы можно объединить, чтобы выразить отношения между ними. Когда эти отношения представлены в программе ИИ, они называются символьными структурами. Далее приведены примеры символьных структур:
(ДЕФЕКТНЫЙ продукт)
(ВЫПУЩЕННЫЙ ответчиком продукт)
(РАВНО (ОТВЕТСТВЕННОСТЬ ответчик) 0.8)
Эти структуры можно интерпретировать следующим образом: «продукт является дефектным», «продукт был выпущен в продажу ответчиком» и «ответственность ответчика равна 0.8».
Кроме того, эксперты могут получить задачу, сформулированную неким произвольным образом, и преобразовать ее к тому виду, который в наибольшей степени соответствует быстрому получению решения или гарантирует его максимальную эффективность. Эта способность переформулирования задачи — как раз то свойство, которое должно быть присуще экспертным системам для того, чтобы приблизить их мастерство к уровню экспертов-людей. К сожалению, большинство существующих в настоящее время экспертных систем не обладают этим свойством.
Глубина
ЭС должна работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в ЭС должны быть сложными, либо в смысле сложности каждого правила, либо в смысле их обилия.
Если же по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в масштабах, которые характерны для реальной проблемы.
Самосознание
У большинства существующих экспертных систем есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, как система пришла к данным решениям. Большинство объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия – одно из самых важных свойств экспертных систем.