Информационные технологии управления

Вид материалаДокументы

Содержание


Глава 4. экспертные системы и базы знаний
4.1. Экспертные системы
Экспертная система
4.1.2. Структура экспертной системы
4.1.3. Этапы разработки ЭС
Рис. 4.2. Стадии разработки прототипа ЭС
Демонстрационным прототипом
Исследовательским прототипом
Действующий прототип
4.1.4. Средства построения ЭС
Язык инженерии знаний
Вспомогательные средства
Средства поддержки
Подобный материал:
1   ...   17   18   19   20   21   22   23   24   ...   36

ГЛАВА 4. ЭКСПЕРТНЫЕ СИСТЕМЫ И БАЗЫ ЗНАНИЙ



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

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

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

4.1.1. Назначение экспертной системы


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

Первая программа искусственного интеллекта моделировала поведение человека. Ее разработчиками в конец 50-х гг. стали психолог Саймон и программист Ньюэлл. Чуть позже появились работы Аткинсона и Бонгарда (СССР). В середине 60-х гг. Генри Ганнтом была разработана программа формирования понятий на основе индуктивных выводов, Поспеловым и Пушкиным начала развиваться теория ситуационного управления (соответствует представлению знаний в западной терминологии). Разработаны специальные модели представления ситуаций — представления знаний.

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


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

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

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

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

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

4.1.2. Структура экспертной системы


Основные компоненты ЭС:
  • подсистема приобретения знаний. Обеспечивает сбор, передачу и преобразование опыта решения проблем из некоторых источников знаний в компьютерные программы при их создании или расширении;
  • база знаний. Содержит два основных элемента: факты (данные) из предметной области и правила, которые управляют использованием фактов при решении проблем. Информация базы знаний преобразуется в компьютерную программу в процессе представления знаний.
  • подсистема выводов и расчетов. Компьютерная программа, управляющая использованием системных знаний. Состоит из интерпретатора, который выполняет выбранную повестку, применяя соответствующие правила из базы знаний, и планировщика, который управляет процессом выполнения повестки, оценивая эффект применения различных правил с точки зрения приоритетов или других критериев.
  • подсистема объяснения. Обеспечивает проверку соответствия выводов их посылкам и объясняет поведение ЭС, интерактивно отвечая на вопросы типа: “Как было получено некоторое заключение?”, “Почему некоторая альтернатива была отвергнута?”, “Каков план получения решения?”.
  • интерфейс пользователя. Обеспечивает общение между пользователем и ЭВМ (с помощью естественного языка, графики, многооконных меню и т.п.);

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

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

4.1.3. Этапы разработки ЭС


Разработка экспертной системы включает следующие этапы:

  1. описание проблемы
  2. разработка прототипа экспертной системы;
  3. доработка прототипной системы до промышленной;
  4. оценка системы;
  5. стыковка экспертной системы с другими программными средствами;
  6. поддержка системы.

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



Рис. 4.2. Стадии разработки прототипа ЭС


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

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

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

При формализации знаний на основе выбранного языка представления знаний разрабатывается база знаний.

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

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

Исследовательским прототипом называют систему, которая решает все требуемые задачи, но неустойчива в работе и не полностью проверена. Исследовательский прототип обычно имеет в базе знаний 200-500 правил, описывающих проблемную область.

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

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

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

4.1.4. Средства построения ЭС


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

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

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

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

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

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

Средства поддержки – это просто пакеты программ, которые прилагаются к средству построения ЭС, чтобы упростить его исполь­зование, облегчить диалог и сделать его более эффективным: средства отладки, средства ввода/вывода, средства объяснения, редакторы баз знаний.