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

Презентация:



Advertisements
Похожие презентации
Экспертные системы.
Advertisements

ТЕХНОЛОГИИ РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ. Отличия систем искусственного интеллекта от обычных программных систем ХарактеристикаПрограммирование в системах.
Экспертная система компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные ЭС начали разрабатываться.
Экспертные системы (ЭС). Характеристика и назначение. Лекция 1.
Структура и этапы создания экспертных систем. Экспертные системы (ЭС) – это сложные программные комплексы, аккумулирую- щие знания специалистов в конкретных.
Лекция 3. Программное обеспечение информационных технологий По дисциплине: «Информационные технологии в коммерческой деятельности»
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ.
Презентация на тему "Программное обеспечение информационных технологий"
Информационные технологии в экономике «Искусственный интеллект» ВГУЭС Владивосток.
Информационные системы Тема: «Классификация информационных систем» Е.Г. Лаврушина.
ЭКСПЕРТНЫЕ СИСТЕМЫ Экспертными системами называют сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и.
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
Глава 5. Экспертные системы Базовые понятия. Методика построения. Статистический подход (пример).
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В НАУКЕ И ОБРАЗОВАНИИ Тема 2. Базы данных, базы знаний, экспертные системы, интеллектуальные информационные системы.
БАЗЫ ДАННЫХ И ИНФОРМАЦИОННЫЕ СИСТЕМЫ. Назначение баз данных В настоящее время накоплено огромное количество информации в различных областях знаний и деятельности.
Разработка программного обеспечения (Software Engineering) Часть 1. Введение.
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
Разработала Детёнышева Е. С. преподаватель специальных дисциплин Москва 2012 год.
Системный анализ процессов химической технологии Лекция 3 Преподаватель:профессор ИВАНЧИНА ЭМИЛИЯ ДМИТРИЕВНА РЕАЛИЗАЦИЯ СТРАТЕГИИ СИСТЕМНОГО АНАЛИЗА В.
Лекция 3 Архитектура информационных систем. Вопросы лекции 1. Архитектура информационной системы 2. Архитектурный подход к реализации информационных систем.
Транксрипт:

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

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

Языки программирования для обработки данных и создания экспертных систем Задачи, возникающие при создании экспертных систем не традиционны и их редко удается решить с помощью стандартных пакетов прикладных программ. Поэтому, также как и при создании других систем искусственного интеллекта, важнейшее значение приобретают средства для создания нового программного обеспечения – компиляторы, библиотеки функций, интегрированные средства. Одной из первых задач, которые начали прорабатываться в рамках проблемы искусственного интеллекта, стала компьютерная имитация логического мышления человека - решение задач, доказательство теорем и т.п. Соответственно первые языки программирования искусственного интеллекта (LISP, PROLOG), создавались для решения этой проблемы. LISP был создан для обработки списков - набора любого количества простейших элементов-атомов (символов, букв и т.п.) и ориентирован на символьную обработку данных. PROLOG это язык логического программирования, который своими корнями уходит в математическую логику и также, как LISP, предназначен, в основном, для обработки символьной информации. При программировании на PROLOG'е необходимо записать систему фактов-аксиом, отношения между которыми (правила) определяются логическими процедурами. Факты и правила, хранящиеся в компьютере, образуют базу знаний. Важными этапами программирования являются формулирование целей, для достижения которых создается система искусственного интеллекта, и способов проверки достижения (верификации) этих целей. Существенным отличием систем искусственного интеллекта от обычных программ является то, что отдельные компоненты такой системы (факты, правила, цели и т.п.) могут быть дополнены или изменены независимо друг от друга. Основное преимущество подхода, реализованного в PROLOG'е, состоит в его эффективности для задач, которые можно решить в рамках математической логики. Системы искусственного интеллекта, построенные на основе PROLOG'а, легко расширяются и модифицируются для решения новых задач. Первая версия языка C была разработана в 1972 году Дэннисом Ритчи из Bell Laboratories. C\C++ - язык профессиональных программистов, на нем написано подавляющее большинство операционных систем (UNIX, MSDOS и т.п.) и компиляторов, в том числе и компиляторы самого C. Язык C занимает промежуточное положение между машинно- ориентированным языком Assembler и проблемно- ориентированными языками высокого уровня типа FORTRAN. Он обеспечивает доступ ко всем ресурсам компьютера и позволяет гибко управлять деталями реализации программы. В тоже время, в отличии от программы на языке Assembler, программа на языке C не зависит от конкретной аппаратной реализации компьютера. В языке C предусмотрен ряд возможностей - слабая типизация, арифметика указателей и т.п., позволяющих писать эффективные программы, но реализация этих возможностей требует от программиста высокого профессионализма.

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

Технология разработки ЭС

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

Этапы разработки экспертных систем Разработка ЭС имеет существенные отличия от разработки обычного программного продукта. Опыт создания ЭС показал, что использование при их разработке методологии, принятой в традиционном программировании, либо чрезмерно затягивает процесс создания ЭС, либо вообще приводит к отрицательному результату. Использовать ЭС следует только тогда, когда разработка ЭС возможна, оправдана и методы инженерии знаний соответствуют решаемой задаче. Чтобы разработка ЭС была возможной для данного приложения, необходимо одновременное выполнение по крайней мере следующих требований: 1) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты; 2) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС; 3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и вложены в ЭС; 4) решение задачи требует только рассуждений, а не действий; 5) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель); 6) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно "понятной" и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи; При разработке ЭС, как правило, используется концепция "быстрого прототипа". Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт. На начальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной стороны, они должны решать типичные задачи конкретного приложения, а с другой - время и трудоемкость их разработки должны быть весьма незначительны, чтобы можно было максимально запараллелить процесс накопления и отладки знаний (осуществляемый экспертом) с процессом выбора (разработки) программных средств (осуществляемым инженером по знаниям и программистом). Для удовлетворения указанным требованиям, как правило, при создании прототипа используются разнообразные средства, ускоряющие процесс проектирования. Прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа или разработчики могут прийти к выводу о непригодности методов ЭС для данного приложения. По мере увеличения знаний прототип может достигнуть такого состояния, когда он успешно решает все задачи данного приложения. Преобразование прототипа ЭС в конечный продукт обычно приводит к перепрограммированию ЭС на языках низкого уровня, обеспечивающих как увеличение быстродействия ЭС, так и уменьшение требуемой памяти. Трудоемкость и время создания ЭС в значительной степени зависят от типа используемого инструментария.

Представление знаний в экспертных системах Первый и основной вопрос, который надо решить при представлении знаний, - это вопрос определения состава знаний, т.е. определение того, "ЧТО ПРЕДСТАВЛЯТЬ" в экспертной системе. Второй вопрос касается того, "КАК ПРЕДСТАВЛЯТЬ" знания. Необходимо отметить, что эти две проблемы не являются независимыми. Действительно, выбранный способ представления может оказаться непригодным в принципе либо неэффективным для выражения некоторых знаний. По моему мнению, вопрос "КАК ПРЕДСТАВЛЯТЬ" можно разделить на две в значительной степени независимые задачи: как организовать (структурировать) знания и как представить знания в выбранном формализме. Стремление выделить организацию знаний в самостоятельную задачу вызвано, в частности, тем, что эта задача возникает для любого языка представления и способы решения этой задачи являются одинаковыми (либо сходными) вне зависимости от используемого формализма. С учетом архитектуры экспертной системы знания целесообразно делить на интерпретируемые и неинтерпретируемые. К первому типу относятся те знания, которые способен интерпретировать решатель (интерпретатор). Все остальные знания относятся ко второму типу. Решатель не знает их структуры и содержания. Если эти знания используются каким-либо компонентом системы, то он не "осознает" этих знаний. Неинтерпретируемые знания подразделяются на вспомогательные знания, хранящие информацию о лексике и грамматике языка общения, информацию о структуре диалога, и поддерживающие знания. Вспомогательные знания обрабатываются естественно- языковой компонентой, но ход этой обработки решатель не осознает, так как этот этап обработки входных сообщений является вспомогательным для проведения экспертизы. Поддерживающие знания используются при создании системы и при выполнении объяснений. Поддерживающие знания выполняют роль описаний (обоснований) как интерпретируемых знаний, так и действий системы. Поддерживающие знания подразделяются на технологические и семантические. Технологические поддерживающие знания содержат сведения о времени создания описываемых ими знаний, об авторе знаний и т.п. Семантические поддерживающие знания содержат смысловое описание этих знаний. Они содержат информацию о причинах ввода знаний, о назначении знаний, описывают способ использования знаний и получаемый эффект. Поддерживающие знания имеют описательный характер.

Инструментальный Комплекс Для Создания Статических Экспертных Систем (На Примере Интегрированного Комплекса Эко) Рассмотрим особенности инструментальных средств для создания статических ЭС на примере комплекса ЭКО, разработанного в РосНИИ ИТ и АП. Наиболее успешно комплекс применяется для создания ЭС, решающих задачи диагностики (технической и медицинской), эвристического оценивания (риска, надежности и т.д.), качественного прогнозирования, а также обучения. Комплекс ЭКО используется: для создания коммерческих и промышленных экспертных систем на персональных ЭВМ, а также для быстрого создания прототипов экспертных систем с целью определения применимости методов инженерии знаний в некоторой конкретной проблемной области. На основе комплекса ЭКО было разработано более 100 прикладных экспертных систем. Среди них отметим следующие:Рассмотрим особенности инструментальных средств для создания статических ЭС на примере комплекса ЭКО, разработанного в РосНИИ ИТ и АП. Наиболее успешно комплекс применяется для создания ЭС, решающих задачи диагностики (технической и медицинской), эвристического оценивания (риска, надежности и т.д.), качественного прогнозирования, а также обучения. Комплекс ЭКО используется: для создания коммерческих и промышленных экспертных систем на персональных ЭВМ, а также для быстрого создания прототипов экспертных систем с целью определения применимости методов инженерии знаний в некоторой конкретной проблемной области. На основе комплекса ЭКО было разработано более 100 прикладных экспертных систем. Среди них отметим следующие: поиск одиночных неисправностей в персональном компьютере; оценка состояния гидротехнического сооружения (Чарвакская ГЭС); подготовка деловых писем при ведении переписки с зарубежными партнерами; проведение скрининговой оценки иммунологического статуса; оценка показаний микробиологического обследования пациента, страдающего неспецифическими хроническими заболеваниями легких;

Инструментальный комплекс для создания экспертных систем реального времени (на примере интегрированной среды g2-gensym corp., Сша) История развития ИС для создания ЭС реального времени началась в 1985 г., когда фирма Lisp Machine Inc. выпустила систему Picon для символьных ЭВМ Symbolics. Успех этого ИС привел к тому, что группа ведущих разработчиков Picon в 1986 г. образовала частную фирму Gensym, которая, значительно развив идеи, заложенные в Picon, в 1988 г. вышла на рынок с ИС под названием G2, версия 1.0. В настоящее время функционирует версия 4.2 и готовится к выпуску версия 5.0. Основное предназначение программных продуктов фирмы Gensym (США) - помочь предприятиям сохранять и использовать знания и опыт их наиболее талантливых и квалифицированных сотрудников в интеллектуальных системах реального времени, повышающих качество продукции, надежность и безопасность производства и снижающих производственные издержки. О том, как фирме Gensym удается справиться с этой задачей, говорит хотя бы то, что сегодня ей принадлежат 50% мирового рынка экспертных систем, используемых в системах управления. С отставанием от Gensym на года другие фирмы начали создавать свои ИС для ЭС РВ. С точки зрения независимых экспертов NASA, проводивших комплексное исследование характеристик и возможностей некоторых из перечисленных систем, в настоящее время наиболее продвинутым ИС, безусловно, остается G2 (Gensym, США); следующие места со значительным отставанием (реализовано менее 50% возможностей G2) занимают RTWorks - фирма Talarian (США), COMDALE/C (Comdale Techn. - Канада), COGSYS (SC - США), ILOG Rules (ILOG - Франция). Классы задач, для которых предназначена G2 и подобные ей системы: мониторинг в реальном масштабе времени; системы управления верхнего уровня; системы обнаружения неисправностей; диагностика; составление расписаний; планирование; оптимизация; системы - советчики оператора; системы проектирования. Основным достоинством оболочки экспертных систем G2 для белорусских пользователей является возможность применять ее как интегрирующий компонент, позволяющий за счет открытости интерфейсов и поддержки широкого спектра вычислительных платформ легко объединить уже существующие, разрозненные средства автоматизации в единую комплексную систему управления, охватывающую все аспекты производственной деятельности - от формирования портфеля заказов до управления технологическим процессом и отгрузки готовой продукции. Это особенно важно для отечественных предприятий, парк технических и программных средств которых формировался по большей части бессистемно, под влиянием резких колебаний в экономике.

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