ОГЛАВЛЕНИЕ
ТЕОРЕТИЧЕСКОЕ ЗАДАНИЕ: ТЕХНОЛОГИЯ ИСПОЛЬЗОВАНИЯ ЭКСПЕРТНЫХ СИСТЕМ. ПРИМЕРЫ ПРОМЫШЛЕННУХ И ЭКОНОМИЧЕСКИХ ЭКСПЕРТНЫХ СИСТЕМ... 2
Архитектура экспертных систем.. 2
Классификация экспертных систем.. 4
Схема классификации.. 4
Классификация по решаемой задаче.. 5
Классификация по связи с реальным временем... 7
Классификация по степени интеграции с другими программами.. 7
Этапы работы с экспертной системой.. 8
Этап 1: выбор подходящей проблемы... 9
Этап 2: разработка прототипной системы... 9
Этап 3: развитие прототипа до промышленной ЭС... 9
Этап 4: оценка системы... 10
Этап 5: стыковка системы... 10
Этап 6: поддержка системы... 10
Примеры экспертных систем.. 10
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 1. 12
Отчет по таблицам БД. Структура таблиц.. 12
Таблица 1 (Название предприятия). 12
Таблица 2 (Филиалы). 12
Таблица 3 (Виды продукций). 12
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 2. 13
Список литературы... 14
ТЕОРЕТИЧЕСКОЕ ЗАДАНИЕ: ТЕХНОЛОГИЯ ИСПОЛЬЗОВАНИЯ ЭКСПЕРТНЫХ СИСТЕМ. ПРИМЕРЫ ПРОМЫШЛЕННУХ И ЭКОНОМИЧЕСКИХ ЭКСПЕРТНЫХ СИСТЕМ
Наибольший прогресс среди компьютерных информационных систем отмечен в области разработки экспертных систем. Экспертные системы дают возможность менеджеру или специалисту получать консультации экспертов по любым проблемам, о которых этими системами накоплены знания.
Решение специальных задач требует специальных знаний. Однако не каждая компания может себе позволить держать в своем штате экспертов по всем связанным с ее работой проблемам или даже приглашать их каждый раз, когда проблема возникла. Главная идея использования технологии экспертных систем заключается в том, чтобы получить от эксперта его знания и, загрузив их в память компьютера, использовать всякий раз, когда в этом возникнет необходимость. Все это делает возможным использовать технологию экспертных систем в качестве советующих систем.
Архитектура экспертных систем
Основными компонентами информационной технологии, используемой в экспертной системе, являются: интерфейс пользователя, база знаний, интерпретатор, модуль создания системы.
Интерфейс пользователя. Менеджер (специалист) использует интерфейс для ввода информации и команд в экспертную систему и получения выходной информации из нее. Команды включают в себя параметры, направляющие процесс обработки знаний. Информация обычно выдается в форме значений, присваиваемых определенным переменным.
Технология экспертных систем предусматривает возможность получать в качестве выходной информации не только решение, но и необходимые объяснения.
Различают два вида объяснений:
· объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от экспертной системы объяснения своих действий;
· объяснения полученного решения проблемы. После получения решения пользователь может потребовать объяснений того, как оно было получено. Система должна пояснить каждый шаг своих рассуждений, ведущих к решению задачи. Хотя технология работы с экспертной системой не является простой, пользовательский интерфейс этих систем является дружественным и обычно не вызывает трудностей при ведении диалога.
База знаний. Она содержит факты, описывающие проблемную область, а также логическую взаимосвязь этих фактов. Центральное место в базе знаний принадлежит правилам. Правило определяет, что следует делать в данной конкретной ситуации, и состоит из двух частей: условия, которое может выполняться или нет, и действия, которое следует произвести, если условие выполняется.
Все используемые в экспертной системе правила образуют систему правил, которая даже для сравнительно простой системы может содержать несколько тысяч правил.
Интерпретатор. Это часть экспертной системы, производящая в определенном порядке обработку знаний (мышление), находящихся в базе знаний. Технология работы интерпретатора сводится к последовательному рассмотрению совокупности правил (правило за правилом). Если условие, содержащееся в правиле, соблюдается, выполняется определенное действие, и пользователю предоставляется вариант решения его проблемы.
Кроме того, во многих экспертных системах вводятся дополнительные блоки: база данных, блок расчета, блок ввода и корректировки данных. Блок расчета необходим в ситуациях, связанных с принятием управленческих решений. При этом важную роль играет база данных, где содержатся плановые, физические, расчетные, отчетные и другие постоянные или оперативные показатели. Блок ввода и корректировки данных используется для оперативного и своевременного отражения текущих изменений в базе данных.
Модуль создания системы. Он служит для создания набора (иерархии) правил. Существуют два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем.
Для представления базы знаний специально разработаны языки Лисп и Пролог, хотя можно использовать и любой известный алгоритмический язык.
Оболочка экспертных систем представляет собой готовую программную среду, которая может быть приспособлена к решению определенной проблемы путем создания соответствующей базы знаний. В большинстве случаев использование оболочек позволяет создавать экспертные системы быстрее и легче в сравнении с программированием.
Экспертные системы — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей[1].
Классификация экспертных систем
Схема классификации
Класс "экспертные системы" сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям. Полезными могут оказаться следующие классификации.
Классификация по решаемой задаче
Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
Диагностика. Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является необходимость понимания функциональной структуры ("анатомии") диагностирующей системы.
Мониторинг. Основная задача мониторинга — непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы — "пропуск" тревожной ситуации и инверсная задача "ложного" срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учета временного контекста.
Проектирование. Проектирование состоит в подготовке спецификаций на создание "объектов" с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов — чертеж, пояснительная записка и т.д. Основные проблемы здесь — получение четкого структурного описания знаний об объекте и проблема "следа". Для организации эффективного проектирования и, в еще большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.
Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров "подгоняются" под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
Обучение. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом "ученике" и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в следующем: если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально строится из решений компонентов или подпроблем. Задача анализа — это интерпретация данных, диагностика; к задачам синтеза относятся проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных.
Классификация по степени интеграции с другими программами
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически "экспертных" задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т.д.).
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу, на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей[2].
Этапы работы с экспертной системой
Разработка программных комплексов экспертных систем как за рубежом, так и в нашей стране находится на уровне скорее искусства, чем науки. Это связано с тем, что долгое время системы искусственного интеллекта внедрялись в основном во время фазы проектирования, а чаще всего разрабатывалось несколько прототипных версий программ, прежде чем был получен конечный продукт. Такой подход действует хорошо в исследовательских условиях, однако в коммерческих условиях он является слишком дорогим, чтобы оправдать коммерчески жизненный продукт.
Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии, можно разделить на шесть более или менее независимых этапов, практически не зависимых от предметной области.
Последовательность этапов дана для общего представления о создании идеального проекта. Конечно, последовательность эта не вполне фиксированная. В действительности каждый последующий этап разработки ЭС приносит новые идеи, которые могут повлиять на предыдущие решения и даже привести к их переработке. Именно поэтому многие специалисты по информатике весьма критично относятся к методологии экспертных систем. Они считают, что расходы на разработку таких систем очень большие, время разработки слишком длительное, а полученные в результате программы ложатся тяжелым бременем на вычислительные ресурсы.
В целом за разработку экспертных систем целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки информации, например:
· информационный поиск;
· сложные расчеты;
· графика;
· обработка текстов.
Решение таких задач, во-первых, подготавливает высококвалифицированных специалистов по информатике, необходимых для создания интеллектуальных систем, во-вторых, позволяет отделить от экспертных систем неэкспертные задачи.
Этап 1: выбор подходящей проблемы
· Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС.
Правильный выбор проблемы представляет, наверное, самую критическую часть разработки в целом. Если выбрать неподходящую проблему, можно очень быстро увязнуть в "болоте" проектирования задач, которые никто не знает, как решать. Неподходящая проблема может также привести к созданию экспертной системы, которая стоит намного больше, чем экономит.
Этап 2: разработка прототипной системы
Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в разработке экспертной системы и, следовательно, к принятию им обязательства - приложить все усилия для создания системы в полном объеме.
Этап 3: развитие прототипа до промышленной ЭС
При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы.
Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда при разработке промышленной системы выделяют дополнительные этапы для перехода: демонстрационный прототип — исследовательский прототип — действующий прототип — промышленная система.
Этап 4: оценка системы
· После завершения этапа разработки промышленной экспертной системы необходимо провести ее тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования работоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и ее полезность.
Этап 5: стыковка системы
На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Иногда это означает внесение существенных изменений.
Этап 6: поддержка системы
При перекодировании системы на язык, подобный Си, повышается ее быстродействие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблемной области и это знание не будет изменяться в ближайшем будущем. Однако, если экспертная система создана именно из-за того, что проблемная область изменяется, то необходимо поддерживать систему в инструментальной среде разработки[3].
Примеры экспертных систем
Примеры широко известных и эффективно используемых (или использованных в свое время) экспертных систем:
· DENDRAL - ЭС для распознавания структуры сложных органических молекул по результатам их спектрального анализа (считается первой в мире экспертной системой),
· MOLGEN - ЭС для выработке гипотез о структуре ДНК на основе экспериментов с ферментами,
· XCON - ЭС для конфигурирования (проектирования) вычислительных комплексов VAX-11 в корпорации DEC в соответствии с заказом покупателя;
· MYCIN - ЭС диагностики кишечных заболеваний;
· PUFF - ЭС диагностики легочных заболеваний;
· MACSYMA - ЭС для символьных преобразований алгебраических выражений;
· YES/MVS - ЭС для управления многозадачной операционной системой MVS больших ЭВМ корпорации IBM;
· DART - ЭС для диагностики больших НМД корпорации IBM;
· PROSPECTOR - ЭС для консультаций при поиске залежей полезных ископаемых;
· POMME - ЭС для выдачи рекомендаций по уходу за яблоневым садом; набор экспертных систем для управления планированием, запуском и полетом космических аппаратов типа "челнок";
· ЭСПЛАН - ЭС для планирования производства на Бакинском нефтеперерабатывающем заводе;
· МОДИС - ЭС диагностики различных форм гипертонии.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 1
Отчет по таблицам БД. Структура таблиц
Таблица 1 (Название предприятия)
Имя поля |
Тип данных |
Филиалы предприятия |
Текстовый |
Примечания |
Поле MEMO |
Таблица 2 (Филиалы)
Имя поля |
Тип данных |
Филиалы предприятия |
Текстовый |
Директор филиала |
Поле MEMO |
Почтовый индекс |
Числовой |
Адрес |
Текстовый |
Код города и телефон |
Числовой |
Виды продукции (услуг) |
Текстовый |
Таблица 3 (Виды продукций)
Имя поля |
Тип данных |
Виды продукции (услуг) |
Текстовый |
Способ доставки |
Поле MEMO |
Файл базы данных находится в файле «работа.mdb».
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 2
Файл, созданный в среде Adobe Photoshop находится в файле «работа.psd».
Список литературы
1) “Информатика. Учебник для ВУЗов”. Под ред. Макаровой Н. В. Москва. Издательство “Финансы и статистика”. 1997 г.
2) “Самоучитель Access 2000”. Харитонова И. Издательство “Питер”. 2001 г.
3) “Информатика”. В. А. Острейковский. Москва. Издательство “Высшая школа”. 1999 г.
4) “Информационные технологии. Учебное пособие”. Под ред. А. К. Волкова. Москва. Издательство “Инфра-М”. 2001 г.
5) Информационные технологии управления: Учебное пособие. Под редакцией Ю.М. Черкасова. М. ИНФРА-М, 2000 г.
[1] “Информатика. Учебник для ВУЗов”. Под ред. Макаровой Н. Стр. 95
[2] “Информатика. Учебник для ВУЗов”. Под ред. Макаровой Н. Стр. 602
[3] “Информатика. Учебник для ВУЗов”. Под ред. Макаровой Н. Стр. 606