Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Моделирование 3.doc
Скачиваний:
16
Добавлен:
10.07.2019
Размер:
143.87 Кб
Скачать

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

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

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

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

Исторически первыми здесь были системы DENDRAL, MYCIN, HEARSAY. Они подробно разбираются в книге Уинстона "Искусственный интеллект" (1977), но там они еще не называются экспертными системами. Но уже в трудах ведущих компьютерных фирм за 1981 г. экспертным системам посвящена примерно четверть докладов.

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

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

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

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

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

  • объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет обеспечения динамичной модификации приложениям пользователем, а не программистом; большей "прозрачности" приложений (например, знания хранятся на ограниченном естественном языке (ЕЯ), что не требует комментариев к знаниям, упрощает обучение и сопровождение); лучшей графики; интерфейса и взаимодействия.

По мнению ведущих специалистов, в недалекой перспективе сформируются следующие применения ЭС:

  • ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;

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

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

  • задачи не могут быть заданы в числовой форме;

  • цели не могут быть выражены в терминах точно определенной целевой функции;

  • не существует алгоритмического решения задач;

  • алгоритмическое решение существует, но его нельзя использовать из-за ограниченности ресурсов (время, память).

Неформализованные задачи обычно обладают следующими особенностями:

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

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

  • большой размерностью пространства решения, то есть перебор при поиске решения весьма велик;

  • динамически изменяющимися данными и знаниями.

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

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

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

Приведем некоторые примеры успешного применения технологии ЭС:

  • фирма DEC (США) ежегодно экономит 70 млн. долл. в год благодаря ЭС XCON/XSEL, которая по заказу покупателя составляет конфигурацию вычислительной системы VAX. Применение ЭС уменьшило долю ошибочных советов от 30% до 1%;

  • фирма Sira (США) сократила затраты на строительство трубопровода в Австралии на 40 млн. долл. за счет ЭС, управляющей трубопроводом. ЭС реализована на базе инструментального средства (ИС) G2 (фирма Gensym);

  • фирма Monsanto (США) ежегодно экономит от 250 до 500 тыс. долл. благодаря ЭС для выявления и блокирования неисправностей в нефтехимической промышленности. ЭС реализована на базе ИС G2 (фирма Gensym);

  • фирма Aetha Insurance (США) уже сэкономила 5 млн. долл., а общий планируемый эффект составит около 15 - 20 млн. долл. благодаря ЭС, которая участвует в моделировании страховых исков, обрабатываемых компанией. ЭС, также реализованная на базе ИС G2, позволяет находить в деятельности компании неэффективные процессы и рабочие потоки и производить оперативные изменения для увеличения продуктивности работы.

Коммерческие успехи к фирмам-разработчикам СИИ пришли не сразу. На протяжении 1960 - 1985 гг. успехи ИИ касались в основном исследовательских разработок, которые демонстрировали пригодность СИИ для практического использования. Начиная примерно с 1985 г. (в массовом масштабе с 1988 -1990 гг.), в первую очередь ЭС, а в последние годы системы, воспринимающие естественный язык (ЕЯ-системы), и нейронные сети (НС) стали активно использоваться в коммерческих приложениях.

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

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

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

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

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

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

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

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

  • способность при решении задачи следовать линии рассуждения, понятной пользователю (эксперту);

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

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

5.2. Архитектура статических и динамических экспертных систем

Согласно вышеизложенному, в типичной статической ЭС выделяют следующие основные компоненты (рис.4):

решатель (интерпретатор);

рабочую память;

базу знаний;

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

объяснительный компонент;

диалоговый компонент.

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и СУБД для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе. База знаний в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области. Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи. Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом. Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату. Диалоговый компонент ориентирован на организацию дружественного общения с пользователем, как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.

В разработке ЭС участвуют представители следующих специальностей:

  • эксперт в проблемной области, задачи которой будет решать ЭС;

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

  • программист по разработке инструментальных средств, предназначенных для ускорения разработки ЭС.

Рис.4. Структура статической ЭС.

Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (то есть их замена программистами) либо приводит к неудаче процесса создания ЭС, либо значительно удлиняет его.

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

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

Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.

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

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

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

В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. Подчеркнем, что, в отличие от традиционных программ, ЭС при решении задачи не только исполняет предписанную последовательность операций, но и предварительно формирует ее. Если реакция системы не понятна пользователю, то он может потребовать объяснения: "Почему система задает тот или иной вопрос?", "Как ответ, сообщаемый системой, получен?".

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

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

Подчеркнем, что структура ЭС, представленная на рисунках 4 и 5, отражает только компоненты (функции), и многое остается "за кадром".

Рис.5. Архитектура динамических ЭС.