Например, такие системы, как Turbo-Prolog, Interlisp-D, позволяют программисту запустить программу сразу после ввода ее в систему. В ответ на ошибку системой вызывается отладчик, чтобы дать возможность программисту изучить причину сбоя. Программист может затем отредактировать программу и продолжить ее выполнение. этот подход сокращает время на исправление мелких ошибок в программе для экспериментального программирования (метод проб и ошибок), обычно применяемого специалистами по искусственному интеллекту.
Проектирование больших программных средств является сложной проблемой. разбиение жизненного цикла на несколько этапов (анализ требований, спецификации, проектирование, реализация, тестирование и отладка, работа и сопровождение) направлено на уменьшение сложности проектирования путем изолирования и упорядочения важных задач в процессе разработки.
Interlisp-D, Turbo Prolog поддерживают только этапы реализации и отладки. Исследования показывают, что наибольший вклад в стоимость жизненного цикла дает этап сопровождения. Не менее важное значение имеют средства этапа требований и спецификаций, потому что любую ошибку в спецификациях очень трудно и дорого исправлять на позднейших этапах жизненного цикла. Таким образом, анализ жизненного цикла важен для любой части программного обеспечения, которая предназначена для использования конечными пользователями на заметном интервале времени.
Успех методов искусственного интеллекта в различных областях мотивировал их применение в разработке программного обеспечения. Показательными системами являются проект 'Помощник программиста' в Массачусетском технологическом институте, проект "Пси' в Станфордском университете, в этих проектах осуществляется попытка моделировать знания, которыми пользуется программист для понимания, проектирования, реализации и сопровождения программы. Эти знания могут быть использованы экспертными системами для частичной автоматизации процесса разработки программ.
В заключение отметим некоторые особенности этапов жизненного цикла экспертных систем.
Тестирование экспертных систем отличается от тестирования обычных систем.
Во-первых, экспертные системы часто обладают недетерминированным поведением, потому что стратегия разрешения конфликтов может зависеть от параметров времени выполнения. Это делает поведение невоспроизводимым, и, следовательно, более трудным для отладки.
Во-вторых, для правил в отличие от процедур в традиционном программном обеспечении нет никаких точных отношений ввода-вывода. это затрудняет применение для тестирования анализа ввода-вывода.
В-третьих, число способов, которыми могут быть активизированы правила, слишком велико, чтобы пользоваться средствами покрытия ветвей и путей.
Макетирование является единственным эффективным способом тестирования экспертной системы.
Сопровождение и модификация - важная часть разработки экспертных систем. Правила базы знаний эволюционируют с накоплением опыта их применения, и, следовательно, модифицируются чаще, чем алгоритмы. Правила могут также зависеть от времени, поэтому их достоверность может также изменяться со временем.
С разработкой и использованием экспертных систем тесно связаны такие понятия, как знания и базы знаний. Особая роль знаний в экспертных системах обусловлено, прежде всего, областью их применения, экспертные системы предназначены для решения трудноформализуемых задач или задач, не имеющих алгоритмического решения в узкоспециализированных предметных областях деятельности человека, экспертные системы позволяют аккумулировать, воспроизводить и применять знания, которые сами по себе обладают огромной ценностью.
Источниками знаний для конкретной ЭС могут быть учебники, спавочники, материалы конкретных исследований в проблемной области и т.п. сами разработчики могут иметь теоретические знания и практический опыт в данной области. Но классическим источником знаний является эксперт- профессионал в данной предметной области. Таким образом приобретение знаний требует учёта человеческого фактора. Для успешного решения этой проблемы необходимы совместные усилия математиков, программистов, психологов.
На настоящий момент нет готовых систем, позволяющих исключить человека из цепочки, причастной к формированию БЗ, однако имеются теоретические исследования и исследовательские разработки, наличие которых позволяет выделить три класса способов приобретения знаний:
1. Традиционный диалог эксперта с инженером по знаниям, в котором все знания предоставляются экспертом.
2. Автоматическая генерация знаний, которая позволяет часть правил получать автоматически.
3. Построение индивидуальной модели исследования предметной области конкретным экспертом, позволяющей организовать целенаправленный процесс исследования этой области на основе индивидуальных представлений данного эксперта.
При разработке ЭС необходимо начинать работу с создания «бумажной» её модели. Эта модель формируется в процессе общения с экспертом. При этом выделяются основные понятия, которыми оперирует эксперт, формируется тезаурус системы. После этого на нескольких несложных примерах подробно анализируется метод, которым эксперт решает такого рода задачи. Таким образом разрабатывается алгоритм задачи.
В базе знаний в некотором закодированном виде хранятся формализованные знания эксперта. На современном этапе развития ЭС используется несколько форм представления знаний. Выделим из них четыре основные:
1.«Тройка» объект- атрибут- значение, например: дом- цвет- зелёный; пациент- температура- высокая. Эта форма представления знаний определяет «объект», обладающий некоторыми атрибутами (свойствами), которые могут принимать значения из известного набора.
2.Правила продукций в виде: Если пациент болен гриппом И стадия заболевания начальная, ТО температура высокая с вероятностью = 0.95 И головная боль есть с вероятностью = 0.8.
Правило продукции состоит из двух частей: посылки (ЕСЛИ) и заключения (ТО), каждая из которых состоит из конъюнкции утверждений более низкого уровня детализации.
3.Фрейм. Представляет собой именованную таблицу с некоторым количеством слотов- ячеек, имевших свои имена и получающих в процессе работы машины вывода некоторые значения. В качестве значений могут присутствовать константы, ссылки на фреймы более высокого или более низкого уровня, а также некоторые вычислительные процедуры.
4.Семантическая сеть. Это ориентированный граф, вершины которого соответствуют объектам (событиям), а дуги описывают отношения между вершинами.
Первая из указанных форм представления знаний («тройка») является наиболее ранней формой, своего рода переходной, от представления данных к представлению знаний. Наилучшая область применения «тройки»- диагностические ЭС в предметной области с большим количеством легкокластеризуемых объектов, в каждом классе которых имеется большое количество общих атрибутов. Примером такой области может служить диагностика сложных технических систем.
Представление знаний с помощью правил продукции – самая распространённая форма реализации БЗ. С помощью продукций можно описать практически любую систему знаний. На них основаны все ранние ЭС, такие, как MYCIN, а также подавляющее большинство современных ЭС в различных предметных областях. В соответствии с этой формой реализации БЗ сделано большинство систем - «оболочек» и многие инструментальные среды. В целом продукционная форма представления знаний является естественной и удобной для формализации знаний, полученных у эксперта.
Фрейм- структуры в определённой степени стали развитием метода электронных таблиц в области обработки знаний. Это вторая по частоте встречаемости в конкретных реализациях ЭС форма представления знаний. Фрейм –структуры наиболее разумно применять в предметной области с чётко выраженной иерархической структурой.
Семантические сети изначально возникли как модель долговременной человеческой памяти в психологии. Большой интерес к работе с семантическими сетями проявляют разработчики систем взаимодействия на естественных языках.
На современном этапе работ в области ЭС нередко используется смешанная форма представления знаний. Такие ЭС называются гибридными.
1. Экспертные системы. «Вычислительная техника и её применение».- 1990г, №10.
2. Экспертные системы для персональных компьютеров: методы, средства, реализации: Справочное пособие/ В.С. Крисевич, Л.А. Кузьмич и др.- Мн.: Выш. шк., 1990г.
3. Экспертные системы. Принципы работы и примеры/ Под ред. Р. Форсайта. – М.: Радио и связь, 1987г.