Специалисты в области ИИ имеют несколько более узкое (и более сложное) представление о том, что такое ЭС. Под экспертной системой понимается программа для ЭВМ, которая обладает свойствами, изображенными на рис. 6.1.
Рассмотрим эти характеристики более подробно.
Экспертная система должна демонстрировать компетентность, т. е. достигать в конкретной предметной области того же уровня профессионализма, что и эксперты-люди. Но просто уметь находить хорошие решения еще недостаточно. Настоящие эксперты не только находят хорошие решения, но часто находят их очень быстро, тогда как новичкам для нахождения тех же решений, как правило, требуется намного больше времени. Следовательно, ЭС должна быть умелой — она должна применять знания для получения решений эффективно и быстро, используя приемы и ухищрения, какие применяют эксперты-люди, чтобы избежать громоздких или ненужных вычислений.
Для того чтобы по-настоящему подражать поведению эксперта-человека, ЭС должна обладать робастностью.
Это подразумевает не только глубокое, но и достаточно широкое понимание предмета. А этого можно достичь, используя общие знания и методы нахождения решений проблем, чтобы уметь рассуждать исходя из фундаментальных принципов в случае некорректных данных или неполных наборов правил. Это один из наименее разработанных методов в современных ЭС, но именно им успешно пользуются эксперты-люди.
Рис. 6.1. Особенности ЭС, отличающие ее от обычных программ
Эксперты, решая какие-то задачи (особенно такого типа, для решения которых применяются ЭС), обходятся без решения систем уравнений или других трудоемких математических вычислений. Вместо этого они с помощью символов представляют понятия предметной области и применяют различные стратегии и эвристики в процессе манипулирования этими понятиями. В ЭС знания тоже представляются в символьном виде, т. е. наборами символов, соответствующих понятиям предметной области. На языке ИИ символ — это строка знаков, соответствующая содержанию некоторого понятия реального мира.
Примеры символов:
Эти символы объединяют, чтобы выразить отношения между ними. Когда эти отношения представлены в программе ИИ, они называются символьными структурами.
Примеры символьных структур:
(ДЕФЕКТНЫЙ продукт) (ВЫПУЩЕННЫЙ ответчиком продукт) (РАВНО (ОТВЕТСТВЕННОСТЬ ответчик) 0.8).
Эти структуры можно интерпретировать следующим образом: "продукт является дефектным", "продукт был выпущен в продажу ответчиком" и "ответственность ответчика равна 0.8".
При решении задачи ЭС вместо выполнения стандартных математических вычислений манипулирует этими символами. Нельзя сказать, что ЭС вообще не производит математических расчетов — она их делает, но в основном она приспособлена для манипулирования символами. Вследствие подобного подхода представление знаний — выбор, форма и интерпретация используемых символов — становится очень важным. Кроме того, эксперты могут получить задачу, сформулированную неким произвольным образом, и преобразовать ее к тому виду, который в наибольшей степени соответствует быстрому получению решения или гарантирует его максимальную эффективность. Эта способность переформулирования задачи — как раз то свойство, которое должно быть присуще ЭС для того, чтобы приблизить их мастерство к уровню экспертов-людей. К сожалению, большинство существующих в настоящее время ЭС не обладают этим умением.
Экспертная система должна иметь глубокие знания; это значит, что она способна работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в ЭС с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как правило, работают с предметными областями реального мира, а не с тем, что специалисты в области ИИ называют игрушечными предметными областями. В предметной области реального мира тот, кто решает задачу, применяет фактическую информацию к практической проблеме и находит решения, которые являются ценными с точки зрения некоторого критерия, определяющего соотношение стоимости и эффективности. В игрушечной предметной области либо задача подвергается чрезвычайному упрощению, либо производится нереалистическая адаптация некоторой сложной проблемы реального мира. Тот, кто решает такую проблему, обрабатывает искусственную информацию, которая в целях облегчения решения упрощена и порождает решения, имеющие чисто теоретический интерес.
В тех случаях, когда по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в масштабах, которые характерны для реальной проблемы. Рекомендации, методы представления знаний, организация знаний, необходимые для применения методов решения задач к этим знаниям, часто связаны с объемом и сложностью пространства поиска, т. е. множества возможных промежуточных и окончательных решений задачи. Если проблема сверхупрощена или нереалистична, то размерность пространства поиска будет, скорее всего, резко уменьшена, и не возникнет проблем с быстродействием и эффективностью, столь характерных для реальных задач. Эта проблема размерности возникает столь естественно и неуловимо, что даже искушенные в ИИ специалисты могут не оценить ее истинные масштабы.
Экспертные системы имеют знания, позволяющие им рассуждать об их собственных действиях, и структуру, упрощающую такие рассуждения. Например, если ЭС основана на правилах, то ей легко просмотреть цепочки выводов, которые она порождает, чтобы прийти к решению задачи. Если заданы еще и специальные правила, из которых ясно, что можно сделать с этими цепочками выводов, то можно использовать эти знания для проверки точности, устойчивости и правдоподобия решений задачи и даже построить доводы, оправдывающие или объясняющие процесс рассуждения. Это знание системы о том, как она рассуждает, называется метазнанием, что означает всего лишь знания о знаниях.
У большинства ныне существующих ЭС есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, каким образом система пришла к данным решениям. Большинство этих объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия — это одно из самых новаторских и важных свойств ЭС. Но почему это свойство так важно?
"Самосознание" так важно для ЭС потому, что:
Умение объяснить — это всего лишь один из аспектов самосознания. В будущем самосознание позволит ЭС делать даже больше. Они сами смогут создавать обоснования отдельных правил путем рассуждения, исходящего из основных принципов. Они будут приспосабливать свои объяснения к требованиям пользователя. Они смогут изменять собственную внутреннюю структуру путем коррекции правил, реорганизации базы знаний и реконфигурации системы.
Первый шаг в этом направлении — выделить метазнания и сделать их явными, точно так же как знания о предметной области выделены и сделаны явными. Ниже приведен пример метазнания — знания о том, как использовать предметные знания.
ЕСЛИ: к данной ситуации применимо несколько правил,
ТО: использовать сначала правила, предложенные экспертами, прежде чем прибегнуть к правилам, предложенным новичками.
Это метаправило говорит ЭС, каким образом она должна выбирать те правила, которые надо выполнить. Специалисты по ИИ еще только начинают экспериментировать с формами представления метазнаний и их организацией в ЭС.
Существует еще одно очень важное отличие ЭС от традиционных программ. Традиционные программы разрабатываются таким образом, чтобы каждый раз порождать правильный результат, но ЭС заведомо создаются так, чтобы вести себя как эксперты, которые, как правило, дают правильные ответы, но иногда способны ошибаться.
На первый взгляд кажется, что в этом отношении традиционные программы имеют явное преимущество. Однако это преимущество мнимое. Традиционные программы для решения сложных задач, напоминающих те, которые подходят для ЭС, тоже могут делать ошибки. Но их ошибки чрезвычайно трудно исправлять, поскольку стратегии, эвристики и принципы, лежащие в основе этих программ, не сформулированы явно в их тексте. Следовательно, эти ошибки нелегко определить и исправить. Подобно людям, ЭС могут ошибаться. Но в отличие от обычных программ, они имеют потенциальную способность учиться на своих ошибках. С помощью компетентных пользователей можно заставить экспертные системы совершенствовать свое умение решать задачи в ходе практической работы.