Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИЭС(II семестр)-2007.doc
Скачиваний:
26
Добавлен:
21.08.2019
Размер:
3 Мб
Скачать
☆

Стадии существования эс.

Стадия существования ЭС характеризует степень ее проработанности и отлаженности.

Принято выделять пять стадий существования ЭС:

- демонстрационный прототип;

- исследовательский прототип;

- действующий прототип;

- промышленная система;

- коммерческая система.

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

База знаний этого прототипа обычно включает от 50 до 100 правил, и для того, чтобы перейти к следующей стадии, исследовательскому прототипу, достаточно просто расширить базу знаний (БЗ).

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

Обычно для этого образца достаточно 1200 – 500 правил в БЗ.

Действующий прототип уже надежно решает все задачи, для чего БЗ должна содержать 500 – 1000 правил.

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

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

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

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

Здесь происходит некоторое расширение задач, решаемых системой, в частности, обеспечивается дружественный интерфейс к пользователю и еще более расширяется БЗ до 1500 – 3000 правил.

Для разработки демонстрационного прототипа при наличии развитых инструментальных средств требуется примерно 2 месяца; для получения исследовательского прототипа еще 3 – 6 месяцев; для разработки действующего прототипа еще 6 – 12 месяцев; для получения промышленной системы требуется еще от 1 – 1,5 лет; для разработки коммерческой системы требуется от 1,5 – 3 лет.

Приведенные сроки действуют при условии наличия инструментальных средств. Если их нет, то даже первичная стадия, демонстрационный образец, требует для разработки от 1 – 1,5 лет.

Другими словами, эффективным средством сокращения сроков разработки являются инструментальные средства.

Специальные средства разработки эс и их выбор.

Это специальные системы программирования, которые упрощают проектирование ЭС. Их принято делить на четыре основные категории, представленные на рисунке.

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

Проблемно – ориентированные или объектно-ориентированные языки просто дают пользователю возможность создать такой сложный программный продукт, никак не облегчая его жизнь. Разработчик все должен написать сам. Среди этих языков наиболее применимым сегодня считается C++ Visual.

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

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

Преимуществами ЛИСП считаются автоматическое управление памятью, развитое редактирование и единый подход к разработке систем ИИ. Но все же, как БЗ и механизм логического вывода, так и друге боки ЭС, пользователю приходится писать самостоятельно.

ЛИСП существует в разных версиях, наиболее известны среди которых:

  • Интерлисп и

  • Мэклисп.

Все версии имеют одинаковый синтаксис, но обладают различными средствами поддержки (редакторами и средствами отладки).

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

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

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

Пример этого языка – язык ROSIE. Этот язык имеет синтаксис естественного языка и сочетает схему представления знаний, основанную на правилах, со структурой языка, ориентированной на процедуры.

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

Каждый набор правил определяется или как процедура, или как генератор, или как предикат.

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

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

Предикат – это функция, которая всегда выдает одно из двух значений: «истина» или «ложь».

Правила ROSIE сжаты и легко читаемы. Это ускоряет разработку ЭС, особенно в предметных областях, где правила сложны и детализированы.

Кроме того, язык ROSIE имеет:

  • мощные подпрограммы сопоставления конкретной ситуации с правилами (сопоставление с образом);

  • дистанционное управление заданиями с помощью интерфейса со своей собственной локальной системой;

  • мощные средства поддержки, которые включают редактирование программ и средства их отладки.

Недостаток этого языка: у него нет встроенных средств объяснения действий ЭС и приобретения знаний от экспертов.

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

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

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

Так, например, из геологической ЭС PROSPECTOR для разведки рудных месторождений был получен скелетный язык KAS. Этот язык имеет пакет средств поддержки, который включает и средства объяснения, и средства приобретения знаний и реализует различные схемы вывода. Чтобы разработчик получил свою собственную ЭС с помощью этого языка ему достаточно заполнить БЗ.

Аналогично разработаны скелетные языки инженерии знаний EMYCIN (на базе ЭС MYCIN для диагностики и лечения бактериальных инфекций) и EXPERT (на базе консультационной системы по глаукоме CASNET).

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

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

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

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

Вспомогательные средства бывают двух типов.

Во–первых, они помогают извлекать знания у эксперта и автоматически представлять их во внутреннем формате системы. Пример такого средства – система TEIRESIAS.

Во–вторых, это программы, которые помогают разрабатывать проект. Пример такого средства – система AGE.

Система TEIRESIAS запрашивает у пользователя правила, которые он хочет ввести в БЗ. Затем выделяет из этих правил известные ей понятия и сама формирует систему правил БЗ, контролируя соответствие этих правил уже известным ей правилам, проверяя непротиворечивость и их полноту. При этом она может сформировать любое число правил и другие правила по содержанию. При этом система демонстрирует правила эксперту, информирует об изменениях и даже может давать ссылки на соответствующую литературу, но последнее слово всегда остается за человеком – экспертом. Итог такого диалога – непротиворечивая система правил уже во внутреннем представлении ЭС.

Система AGE обеспечивает пользователя набором компонент, из которых он как из строительных блоков может смонтировать части своей ЭС. В частности, здесь есть прямая цепочка рассуждений, обратная цепочка рассуждений, реализована архитектура доски объявлений.

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

Исходные данные: информация о местонахождении источников сигналов и их характеристиках. Результат: идентификация военных формирований противника и боевой порядок его систем связи.

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

Средства поддержки делятся на:

  • средства, облегчающие программирование: это различные средства отладки и редакторы БЗ;

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

Они представлены на рисунке.

Рассмотрим кратко каждый из типовых компонентов.

Средства отладки. Большинство языков программирования и инженерии знаний имеют два типа этих средств:

  • средства трассировки и

  • пакет прерываний.

Средства трассировки позволяют следить за действиями ЭС. Они запоминают и перечисляют по запросу пользователя имена (или номера) всех выполненных подпрограмм и правил.

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

Третий тип средств отладки – автоматическое тестирование – имеют лишь некоторые средства построения ЭС, например, язык EXPERT. Эти средства позволяют запомнить и индексировать тысячи тестовых вариантов вместе с их правильными решениями, а также использовать их для автоматического тестирования правил в БЗ.

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

Во-вторых, обеспечивается приобретение знаний по ходу работы системы. Система задает пользователю вопросы, сопровождая их объяснениями типа:

«Если Вы ответите «не знаю», я попытаюсь самостоятельно оценить степень риска».

Возможные ответы пользователя: «Да», «Нет», «Плохой», «Хороший» и прочие. Если вопрос непонятен, допускается ввод «?». Система переформулирует вопрос, иногда дает ссылку на литературу. С помощью HELP пользователь может получить список возможных ответов.

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

Это облегчает развитие ЭС, но так как механизм ввода/вывода готов, гибкость системы ограничена.

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

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

Примеры: механизм приобретения знаний в режиме выполнения содержит язык EMYCIN; механизм и меню включает язык EXPERT.

Доступность ОС обеспечивает универсальный язык инженерии знаний ROSIE.

Редакторы БЗ включаются в большинство средств построения ЭС.

В простейшем случае это стандартный текстовый редактор для модификации правил вручную. Но есть и четыре типа специальных средств.

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

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

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

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

Полезное, но пока мало доступное средство.

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

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

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

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

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

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

Самым совершенным инструментальным средством, в котором по мнению разработчиков реализованы все необходимые функции, является на сегодня инструментальное средство G2 компании Gensym, США.

Единственный недостаток: оно очень дорогое.

43