• 1. Назначение экспертных систем
  • 2. Структура экспертных систем
  • 3. Участники разработки экспертных систем
  • 4. Режимы работы экспертных систем
  • 5. Продукционная модель знаний
  • Лекция № 13. Экспертные системы и продукционная модель знаний

    1. Назначение экспертных систем

    Для ознакомления с таким новым для нас понятием, как экспертные системы мы, для начала, пройдемся по истории создания и разработки направления «экспертные системы», а потом определим и само понятие экспертных систем.

    В начале 80-х гг. XX в. в исследованиях по созданию искусственного интеллекта сформировалось новое самостоятельное направление, получившее название экспертных систем. Цель этих новых исследований по экспертным системам состоит в разработке специальных программ, предназначенных для решения особых видов задач. Что это за особый вид задач, потребовавший создания целой новой инженерии знаний? К этому особому виду задач могут быть отнесены задачи из абсолютно любой предметной области. Главное, что отличает их от задач обычных, – это то, что человеку-эксперту решить их представляется очень сложным заданием. Тогда и была разработана первая так называемая экспертная система (где в роли эксперта выступал уже не человек, а машина), причем экспертная система получает результаты, не уступающие по качеству и эффективности решениям, получаемым обычным человеком – экспертом. Результаты работы экспертных систем могут быть объяснены пользователю на очень высоком уровне. Данное качество экспертных систем обеспечивается их способностью рассуждать о собственных знаниях и выводах. Экспертные системы вполне могут пополнять собственные знания в процессе взаимодействия с экспертом. Таким образом, их можно с полной уверенностью ставить в один ряд с вполне оформившимся искусственным интеллектом.

    Исследователи в области экспертных систем для названия своей дисциплины часто используют также уже упоминавшийся ранее термин «инженерия знаний», введенный немецким ученым Е. Фейгенбаумом как «привнесение принципов и инструментария исследований из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов».

    Однако коммерческие успехи к фирмам-разработчикам пришла не сразу. На протяжении четверти века в период с 1960 по 1985 гг. успехи искусственного интеллекта касались в основном исследовательских разработок. Тем не менее, начиная примерно с 1985 г., а в массовом масштабе с 1987 по 1990 гг. экспертные системы стали активно использоваться в коммерческих приложениях.

    Заслуги экспертных систем довольно велики и состоят в следующем:

    1) технология экспертных систем существенно расширяет круг практически значимых задач, решаемых на персональных компьютерах, решение которых приносит значительный экономический эффект и существенно упрощает все связанные с ними процессы;

    2) технология экспертных систем является одним из самых важных средств в решении глобальных проблем традиционного программирования, таких как продолжительность, качество и, следовательно, высокая стоимость разработки сложных приложений, вследствие которой значительно снижался экономический эффект;

    3) имеется высокая стоимость эксплуатации и обслуживания сложных систем, которая зачастую в несколько раз превосходит стоимость самой разработки, а также низкий уровень повторной используемости программ и т. п.;

    4) объединение технологии экспертных систем с технологией традиционного программирования добавляет новые качества к программным продуктам за счет, во-первых, обеспечения динамичной модификации приложений рядовым пользователем, а не программистом; во-вторых, большей «прозрачности» приложения, лучшей графики, интерфейса и взаимодействия экспертных систем.

    По мнению рядовых пользователей и ведущих специалистов, в недалекой перспективе экспертные системы найдут следующее применение:

    1) экспертные системы будут играть ведущую роль на всех стадиях проектирования, разработки, производства, распределения, отладки, контроля и оказания услуг;

    2) технология экспертных систем, получившая широкое коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей.

    В общем случае экспертные системы предназначены для так называемых неформализованных задач, т. е. экспертные системы не отвергают и не заменяют традиционного подхода к разработке программ, ориентированного на решение формализованных задач, но дополняют их, тем самым значительно расширяя возможности. Именно этого и не может сделать простой человек-эксперт.

    Такие сложные неформализованные задачи характеризуются:

    1) ошибочностью, неточностью, неоднозначностью, а также неполнотой и противоречивостью исходных данных;

    2) ошибочностью, неоднозначностью, неточностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;

    3) большой размерностью пространства решений конкретной задачи;

    4) динамической изменчивостью данных и знаний непосредственно в процессе решения такой неформализованной задачи.

    Экспертные системы главным образом основаны на эвристическом поиске решения, а не на исполнении известного алгоритма. В этом одно из главных преимуществ технологии экспертных систем перед традиционным подходом к разработке программ. Именно это и позволяет им так хорошо справляться с поставленными перед ними задачами.

    Технология экспертных систем используется для решения самых различных задач. Перечислим основные из подобных задач.

    1. Интерпретация.

    Экспертные системы, выполняющие интерпретацию, чаще всего применяют показания различных приборов с целью описания положения дел.

    Интерпретирующие экспертные системы способны обрабатывать самые различные виды информации. Примером может послужить использование данных спектрального анализа и изменения характеристик веществ для определения их состава и свойств. Также примером может служить интерпретация показаний измерительных приборов в котельной для описания состояния котлов и воды в них.

    Интерпретирующие системы чаще всего имеют дело непосредственно с показаниями. В связи с этим возникают затруднения, которых нет у других видов систем. Что это за затруднения? Эти затруднения возникают из-за того, что экспертным системам приходится интерпретировать засоренную лишним, неполную, ненадежную или неверную информацию. Отсюда неизбежны либо ошибки, либо значительное увеличение обработки данных.

    2. Прогнозирование.

    Экспертные системы, осуществляющие прогноз чего-либо, определяют вероятностные условия заданных ситуаций. Примерами служат прогноз ущерба, причиненного урожаю хлебов неблагоприятными погодными условиями, оценивание спроса на газ на мировом рынке, прогнозирование погоды по данным метеорологических станций. Системы прогнозирования иногда применяют моделирование, т. е. такие программы, которые отображают некоторые взаимосвязи в реальном мире, чтобы воссоздать их в среде программирования, и потом спроектировать ситуации, которые могут возникнуть при тех или иных исходных данных.

    3. Диагностика различных приборов.

    Экспертные системы производят такую диагностику, применяя описания какой-либо ситуации, поведения или данных о строении различных компонентов, чтобы определить возможные причины неисправно работающей диагностируемой системы. Примерами служат установление обстоятельств заболевания по симптомам, которые наблюдаются у больных (в медицине); определение неисправностей в электронных схемах и определение неисправных компонентов в механизмах различных приборов. Системы диагностики довольно часто являются помощниками, которые не только ставят диагноз, но и помогают в устранении неполадок. В таких случаях данные системы вполне могут взаимодействовать с пользователем, чтобы оказать помощь при поиске неполадок, а потом привести список действий, необходимых для их устранения. В настоящее время многие диагностические системы разрабатываются в качестве приложений к инженерному делу и компьютерным системам.

    4. Планирование различных событий.

    Экспертные системы, предназначенные для планирования, проектируют различные операции. Системы предопределяют практически полную последовательность действий, прежде чем начнется их реализация.

    Примерами такого планирования событий могут служить создания планов военных действий как оборонительного, так и наступательного характера, предопределенного на определенный срок с целью получения преимущества перед вражескими силами.

    5. Проектирование.

    Экспертные системы, выполняющие проектирование, разрабатывают различные формы объектов, учитывая сложившиеся обстоятельства и все сопутствующие факторы.

    В качестве примера можно рассмотреть генную инженерию.

    6. Контроль.

    Экспертные системы, осуществляющие контроль, сравнивают настоящее поведение системы с ее ожидаемым поведением. Наблюдающие экспертные системы обнаруживают контролируемое поведение, которое подтверждает их ожидания по сравнению с нормальным поведением или их предположением о потенциальных отклонениях. Контролирующие экспертные системы по своей сути должны работать в режиме реального времени и реализовывать зависящую как от времени, так и от контекста интерпретацию поведения контролируемого объекта.

    В качестве примера можно привести слежение за показаниями измерительных приборов в атомных реакторах с целью обнаружения аварийных ситуаций или оценку данных диагностики пациентов, находящихся в блоке интенсивного лечения.

    7. Управление.

    Ведь широко известно, что экспертные системы, осуществляющие управление, весьма результативно руководят поведением системы в целом. Примером служит управление различными производствами, а также распределением компьютерных систем. Управляющие экспертные системы должны включать в себя наблюдающие компоненты, для того, чтобы контролировать поведение объекта на протяжении длительного времени, но они могут нуждаться и в других компонентах из уже проанализированных типов задач.

    Экспертные системы применяются в самых различных областях: финансовых операциях, нефтяной и газовой промышленности. Технология экспертных систем может быть применена также в энергетике, транспортном хозяйстве, фармацевтическом производстве, космических разработках, металлургической и горной промышленностях, химии и многих других областях.

    2. Структура экспертных систем

    Разработка экспертных систем имеет ряд существенных отличий от разработки обычного программного продукта. Опыт создания экспертных систем показал, что использование при их разработке методологии, принятой в традиционном программировании, либо сильно увеличивает количество времени, затраченного на создание экспертных систем, либо вовсе приводит к отрицательному результату.

    Экспертные системы в общем случае подразделяются на статические и динамические.

    Для начала рассмотрим статическую экспертную систему.

    Стандартная статическая экспертная система состоит из следующих основных компонентов:

    1) рабочей памяти, называемой также базой данных;

    2) базы знаний;

    3) решателя, называемого также интерпретатором;

    4) компонентов приобретения знаний;

    5) объяснительного компонента;

    6) диалогового компонента.

    Рассмотрим теперь каждый компонент более подробно.

    Рабочая память (по абсолютной аналогии с рабочей, т. е. оперативной памятью компьютера) предназначена для получения и хранения исходных и промежуточных данных решаемой в текущий момент задачи.

    База знаний предназначена для хранения долгосрочных данных, описывающих конкретную предметную область, и правил, описывающих рациональное преобразование данных этой области решаемой задачи.

    Решатель, называемый также интерпретатором, функционирует следующим образом: используя исходные данные из рабочей памяти и долгосрочные данные из базы знаний, он формирует правила, применение которых к исходным данным приводит к решению задачи. Одним словом, он действительно «решает» поставленную перед ним задачу;

    Компонент приобретения знаний автоматизирует процесс заполнения экспертной системы знаниями эксперта, т. е. именно этот компонент обеспечивает базу знаний всей необходимой информацией из данной конкретной предметной области.

    Компонент объяснений разъясняет, как система получила решение данной задачи, или почему она это решение не получила и какие знания она при этом использовала. Иначе говоря, компонент объяснений создает отчет о проделанной работе.

    Данный компонент является очень важным во всей экспертной системе, поскольку он значительно облегчает тестирование системы экспертом, а также повышает доверие пользователя к полученному результату и, следовательно, ускоряет процесс разработок.

    Диалоговый компонент служит для обеспечения дружественного интерфейса пользователя как в ходе решения задачи, так и в процессе приобретения знаний и объявления результатов работы.

    Теперь, когда мы знаем, из каких компонент в общем состоит статистическая экспертная система, построим диаграмму, отражающую структуру такой экспертной системы. Она имеет следующий вид:


    Статические экспертные системы чаще всего используются в технических приложениях, где можно не учитывать изменения окружающего среды, происходящие во время решения задачи. Любопытно знать, что первые экспертные системы, получившие практическое применение, были именно статическими.

    Итак, на этом закончим пока рассмотрение статистической экспертной системы, перейдем к анализу экспертной системы динамической.

    К сожалению, в программу нашего курса не входит подробное рассмотрение этой экспертной системы, поэтому ограничимся разбором только самых основных отличий динамической экспертной системы от статических.

    В отличие от статической экспертной системы в структуру динамической экспертной системы дополнительно вводятся два следующих компонента:

    1) подсистема моделирования внешнего мира;

    2) подсистема связей с внешним окружением.

    Подсистема связей с внешним окружением как раз и осуществляет связи с внешним миром. Делает она это посредством системы специальных датчиков и контроллеров.

    Помимо этого, некоторые традиционные компоненты статической экспертной системы подвергаются существенным изменениям, для того чтобы отобразить временную логику событий, происходящих в данный момент в окружающей среде.

    Это главное различие между статической и динамической экспертными системами.

    Пример динамической экспертной системы – управление производством различных медикаментов в фармацевтической промышленности.

    3. Участники разработки экспертных систем

    В разработке экспертных систем участвуют представители различных специальностей. Чаще всего конкретную экспертную систему разрабатывают трое специалистов. Это, как правило:

    1) эксперт;

    2) инженер по знаниям;

    3) программист по разработке инструментальных средств.

    Разъясним обязанности каждого из приведенных здесь специалистов.

    Эксперт – это специалист в той предметной области, задачи которой и будут решаться при помощи этой конкретной разрабатываемой экспертной системы.

    Инженер по знаниям – это специалист по разработке непосредственно экспертной системы. Используемые им технологии и методы называются технологиями и методами инженерии знаний. Инженер по знаниям помогает эксперту выявить из всей информации предметной области ту информацию, которая необходима для работы с конкретной разрабатываемой экспертной системой, а затем структурировать ее.

    Любопытно, что отсутствие среди участников разработки инженеров по знаниям, т. е. замена их программистами, либо приводит к неудаче всего проекта создания конкретной экспертной системы, либо значительно увеличивает сроки ее разработки.

    И, наконец, программист разрабатывает инструментальные средства (если инструментальные средства разрабатываются заново), предназначенные для ускорения разработки экспертных систем. Эти инструментальные средства содержат в пределе все основные компоненты экспертной системы; также программист осуществляет сопряжение своих инструментальных средств с той средой, в которой она будет использоваться.

    4. Режимы работы экспертных систем

    Экспертная система работает в двух основных режимах:

    1) в режиме приобретения знаний;

    2) в режиме решения задачи (называемом также режимом консультаций, или режимом использования экспертной системы).

    Это логично и понятно, ведь сначала необходимо как бы загрузить экспертную систему информацией из той предметной области, в которой ей предстоит работать, это и есть режим «обучения» экспертной системы, режим, когда она получает знания. А уже после загрузки всей необходимой для работы информации следует и сама работа. Экспертная система становится готовой для эксплуатации, и ее теперь можно использовать для консультаций или для решения каких-либо задач.

    Рассмотрим более подробно режим приобретения знаний.

    В режиме приобретения знаний работу с экспертной системой осуществляет эксперт при посредничестве инженера по знаниям. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями (данными), которые, в свою очередь, позволяют системе в режиме решения уже без участия эксперта решать задачи из данной предметной области.

    Следует отметить, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые непосредственно программистом. Отсюда следует, что в отличие от традиционного подхода в случае экспертных систем разработку программ осуществляет не программист, а эксперт, естественно, с помощью экспертных систем, т. е. по большому счету человек, не владеющий программированием.

    А теперь рассмотрим второй режим функционирования экспертной системы, т. е. режим решения задач.

    В режиме решения задачи (или так называемом режиме консультации) общение с экспертными системами осуществляет непосредственно конечный пользователь, которого интересует концевой итог работы и иногда способ его получения. Необходимо отметить, что в зависимости от назначения экспертной системы пользователь не обязательно должен быть специалистом в данной проблемной области. В этом случае он обращается к экспертным системам за результатом, не имея достаточных знаний для получения результатов. Или все же пользователь может обладать уровнем знаний, достаточным для достижения необходимого результата самостоятельно. В этом случае пользователь может сам получить результат, но обращается к экспертным системам с целью либо ускорить процесс получения результата, либо возложить на экспертные системы монотонную работу. В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из базы данных формирует решение задачи. Экспертные системы при решении задачи не только исполняют предписанную последовательность конкретной операции, но и предварительно формирует ее. Это делается для случая, если реакция системы не совсем понятна пользователю. В этой ситуации пользователь может потребовать объяснения о том, почему данная экспертная система задает тот или иной вопрос или почему данная экспертная система не может выполнить данную операцию, как получен тот или иной результат, поставляемый данной экспертной системой.

    5. Продукционная модель знаний

    По своей сути продукционные модели знаний близки к логическим моделям, что позволяет организовать весьма эффективные процедуры логического вывода данных. Это с одной стороны. Однако, с другой стороны, если рассматривать продукционные модели знаний в сравнении с логическими моделями, то первые более наглядно отображают знания, что является неоспоримым преимуществом. Поэтому, несомненно, продукционная модель знаний является одним из главных средств представления знаний в системах искусственного интеллекта.

    Итак, начнем подробное рассмотрение понятия продукционной модели знаний.

    Традиционная продукционная модель знаний включает в себя следующие базовые компоненты:

    1) набор правил (или продукций), представляющих базу знаний продукционной системы;

    2) рабочую память, в которой хранятся исходные факты, а также факты, выведенные из исходных фактов при помощи механизма логического вывода;

    3) сам механизм логического вывода, позволяющий из имеющихся фактов, согласно имеющимся правилам вывода, выводить новые факты.

    Причем, что любопытно, количество таких операций может быть бесконечно.

    Каждое правило, представляющее базу знаний продукционной системы, содержит условную и заключительную части. В условной части правила находится либо одиночный факт, либо несколько фактов, соединенных конъюнкцией. В заключительной части правила находятся факты, которыми необходимо пополнить рабочую память, если условная часть правила является истинной.

    Если попытаться схематично изобразить продукционную модель знаний, то под продукцией понимается выражение следующего вида:

    (i) Q; P; A > B; N;

    Здесь i – это имя продукционной модели знаний или ее порядковый номер, с помощью которого данная продукция выделяется из всего множества продукционных моделей, получая некую идентификацию. В качестве имени может выступать некоторая лексическая единица, отражающая суть данной продукции. Фактически мы именуем продукцию для лучшего восприятия сознанием, чтобы упростить поиск нужной продукции из списка.

    Приведем простой пример: покупка тетради» или «набор цветных карандашей. Очевидно, что каждую продукцию обычно именуют словами, подходящими для данного момента. Проще говоря, называют вещи своими именами.

    Идем дальше. Элемент Q характеризует сферу применения данной конкретной продукционной модели знаний. Такие сферы легко выделяются в сознании человека, поэтому с определением данного элемента, как правило, сложностей не возникает. Приведем пример.

    Рассмотрим следующую ситуацию: допустим, в одной сфере нашего сознания хранятся знания о том, как надо готовить пищу, в другой, как добраться до работы, в третьей, как правильно эксплуатировать стиральную машину. Подобное разделение присутствует и памяти продукционной модели знаний. Это разделение знаний на отдельные сферы позволяет значительно экономить время, затрачиваемое на поиск нужных в данный момент каких-то конкретных продукционных моделей знаний, и тем самым значительно упрощает процесс работы с ними.

    Разумеется, что основным элементом продукции является ее так называемое ядро, которое в нашей приведенной выше формуле обозначалось как А > В. Эта формула может быть интерпретирована, как «если выполняется условие А, то следует выполнить действие В».

    Если же мы имеем дело с более сложными конструкциями ядра, то в правой части допускается следующий альтернативный выбор: «если выполняется условие А, то следует выполнить действие В1, иначе следует выполнить действие В2».

    Однако интерпретация ядра продукционной модели знаний может быть различной и зависеть от того, что будет стоять слева и справа от знака секвенции «>». При одной из интерпретаций ядра продукционной модели знаний секвенция может истолковываться в обычном логическом смысле, т. е. в качестве знака логического следования действия В из истинного условия А.

    Тем не менее возможны и другие интерпретации ядра продукционной модели знаний. Так, например, А может описывать какое-то условие, выполнение которого необходимо для того, чтобы можно было совершить некое действие В.

    Далее рассмотрим элемент продукционной модели знаний Р.

    Элемент Р определяется, как условие применимости ядра продукции. Если условие Р истинно, то ядро продукции активизируется. В противном случае, если условие Р не выполняется, т. е. оно ложно, ядро не может быть активизировано.

    В качестве наглядного примера рассмотрим следующую продукционную модель знаний:

    «Наличие денег»; «Если хочешь купить вещь А, то следует заплатить в кассу ее стоимость и предъявить чек продавцу».

    Смотрим, если условие Р истинно, т. е. покупка оплачена и чек предъявлен, то ядро активизируется. Покупка совершена. В случае если в этой продукционной модели знаний условие применимости ядра ложно, т. е. если нет денег, то применить ядро продукционной модели знаний невозможно, и оно не активизируется.

    И переходим, наконец, к элементу N.

    Элемент N называется постусловием продукционной модели данных. Постусловие задает действия и процедуры, которые необходимо выполнить после реализации ядра продукции.

    Для лучшего восприятия приведем простой пример: после покупки вещи в магазине необходимо в описи товаров этого магазина уменьшить на единицу количество вещей такого типа, т. е. если покупка совершена (следовательно, реализовано ядро), то в магазине стало на одну единицу данного конкретного товара меньше. Отсюда постусловие «Вычеркнуть единицу купленного товара».

    Подводя итог, мы можем сказать, что представление знаний в виде набора правил, т. е. посредством использования продукционной модели знаний, имеет следующие преимущества:

    1) это простота создания и понимания отдельных правил;

    2) это простота механизма логического выбора.

    Однако в представлении знаний в виде набора правил имеются и недостатки, которые все же ограничивают сферу и частоту применения продукционных моделей знаний. Основным таким недостатком считается неясность взаимных отношений между составляющими конкретную продукционную модель знаний правилами, а также правилами логического выбора.







     


    Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Другие сайты | Наверх