Экспертные системы

Автор работы: Пользователь скрыл имя, 08 Января 2012 в 18:59, реферат

Описание

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

Работа состоит из  1 файл

ЭКСПЕРТНЫЕ СИСТЕМЫ.DOC

— 100.50 Кб (Скачать документ)

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

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

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

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

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

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

     

    Рис. 1.4. Этапы развития средств разработки ЭС

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

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

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

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

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

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

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

   В заключение отметим некоторые особенности этапов  жизненного цикла экспертных систем.

   Тестирование  экспертных систем отличается от  тестирования  обычных систем.

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

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

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

   Макетирование является единственным эффективным  способом тестирования экспертной системы.

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

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

   Источниками знаний для конкретной ЭС могут  быть учебники, спавочники, материалы  конкретных исследований в проблемной области и т.п. сами разработчики могут иметь теоретические знания и практический опыт в данной области. Но классическим источником знаний является эксперт- профессионал в данной предметной области. Таким образом приобретение знаний требует учёта человеческого фактора. Для  успешного решения этой проблемы необходимы совместные усилия математиков, программистов, психологов.

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

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

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

   В базе знаний в некотором закодированном виде хранятся формализованные знания эксперта. На  современном этапе развития ЭС используется несколько форм представления знаний. Выделим из них четыре основные:

1.«Тройка»  объект- атрибут- значение, например: дом- цвет- зелёный; пациент- температура-  высокая. Эта форма представления  знаний определяет «объект», обладающий некоторыми атрибутами (свойствами), которые могут принимать значения из известного набора.

2.Правила  продукций в виде: Если пациент  болен гриппом И стадия заболевания  начальная, ТО температура высокая  с вероятностью = 0.95 И головная боль есть с вероятностью = 0.8.

Правило продукции состоит из двух частей: посылки (ЕСЛИ) и заключения (ТО), каждая из которых состоит из конъюнкции утверждений более низкого уровня детализации.

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

4.Семантическая  сеть. Это ориентированный граф, вершины которого соответствуют  объектам (событиям), а дуги описывают  отношения между вершинами.

       Первая из указанных форм представления  знаний («тройка») является наиболее  ранней формой, своего рода переходной, от представления данных к представлению знаний. Наилучшая область применения «тройки»- диагностические ЭС в предметной области с большим количеством легкокластеризуемых объектов, в каждом классе которых имеется большое количество общих атрибутов. Примером такой области может служить диагностика сложных технических систем.

Представление знаний с помощью правил продукции  – самая распространённая форма  реализации БЗ. С помощью продукций  можно описать практически любую  систему знаний. На них основаны все ранние ЭС, такие, как MYCIN, а также подавляющее большинство современных ЭС в различных предметных областях. В соответствии с этой формой реализации БЗ сделано большинство систем - «оболочек» и многие инструментальные среды. В целом продукционная форма представления знаний является естественной и удобной для формализации знаний, полученных у эксперта.

   Фрейм- структуры в определённой степени  стали развитием метода электронных  таблиц в области обработки знаний. Это вторая по частоте встречаемости в конкретных реализациях ЭС форма представления знаний. Фрейм –структуры наиболее разумно применять в предметной области с чётко выраженной иерархической структурой.

Информация о работе Экспертные системы