Реферат: Создание "экспертных систем"

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

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

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

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

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

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

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

Interlisp-D, Turbo Prolog поддерживают только этапы реализации и отладки. Исследования показывают, что наибольший вклад в стоимость жизненного ци кла дает этап сопровождения. Не менее важное значение и меют средства этапа требований и спецификаций, потому что любую ошибку в специ фикациях очень трудно и дорого исправлять на позднейши х этапах жизненного цикла. Таким образом, анализ жизненного цикла важен для любой части программного обеспечения, которая предназначена для использования кон ечными пользователями на заметном интервале времени.

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

В заключение отметим некоторые особенности этапов жизненного цикла э кспертных систем.

Тестирование экспертных систем отличается от тестирования обычн ых систем.

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

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

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

Макетирование является единственным эффективным способом тестирования экспертной системы.

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

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

Источниками знаний для конкретной ЭС могут быть учебники, спавочники, материалы конкретных исследований в проблемной области и т.п. сами разработчики могут иметь теоретические знания и практический опыт в данной области. Но классическим источником знаний является эксперт- профессионал в данной предметной области. Таким образом приобретение знаний требует учёта человеческого фактора. Для успешного решения этой проблемы необходимы совместные усилия математиков, программистов, психологов.

На настоящий момент нет готовых систем, позволяющих исключить человека из цепочки, причастной к формированию БЗ, однако имеются теоретические исследования и исследовательские разработки, наличие которых позволяет выделить три класса способов приобретения знаний:

Традиционный диалог эксперта с инженером по знаниям, в котором все знания предоставляются экспертом.

Автоматическая генерация знаний, которая позволяет часть правил получать автоматически.

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

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

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

1.“Тройка” объект- атрибут- значение, например: дом- цвет- зелёный; пациент- температура- высокая. Эта форма представления знаний определяет “объект”, обладающий некоторыми атрибутами (свойствами), которые могут принимать значения из известного набора.

2.Правила продукций в виде: Если пациент болен гриппом И стадия заболевания начальная, ТО температура высокая с вероятностью = 0.95 И головная боль есть с вероятностью = 0.8.

Правило продукции состоит из двух частей: посылки (ЕСЛИ) и заключения (ТО), каждая из которых состоит из конъюнкции утверждений более низкого уровня детализации.

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

4.Семантическая сеть. Это ориентированный граф, вершины которого соответствуют объектам (событиям), а дуги описывают отношения между вершинами.

К-во Просмотров: 263
Бесплатно скачать Реферат: Создание "экспертных систем"