Главная | Обратная связь
МегаЛекции

Отличия систем ИИ от обычных программных систем





 

Характеристика программирование Программирование в СИИ Традиционное
Тип обработки Символьная Числовая
Методы Эвристический приск Алгоритм
Задание шагов решения Неявное Точное
Искомое решение Удовлетворительное Оптимальное
Управление и данные Перемешаны Разделены
Знания Неточные Точные
Модификации Частые Редкие

 

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

Как и в случае обычных программных систем, разработка системы ИИ должна начинаться с формулирования полных, непротиворечивых и однозначных требований к ней [Basil! et al., 1984]. При проектировании должны использоваться принципы технологии разработки ПО — такие, например, как сокрытие информации, локализация и модульность. Предполагается, что система должна проектироваться как композиция уровней. Любой уровень должен быть чувствителен лишь к нижележащим уровням. Такое проектирование упрощает не только реализацию, но и тестирование.

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

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



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

В недавнем прошлом полигоном для создания и испытания таких моделей являлись экспертные системы (ЭС).

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

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

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

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

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

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

На фазе проектирования проект инициализируется, формируется группа разработчиков, определяются требования к будущей ЭС, проводятся исследования выполнимости проекта и вырабатывается общая концепция будущей системы. Остальные фазы данной технологии, по мнению [Микулич, 1990], ближе к технологии Уотермана (Waterman) и направлены на реализацию разработанной концепции в виде серии прототипов, последовательно приближающихся к требуемой ЭС. Последний из прототипов и приобретает статус головного образца, который устанавливается будущим пользователем в реальную операционную среду.

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

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

Приобретение знаний, как уже неоднократно отмечалось выше, является ключевой задачей во всех технологиях построения систем, основанных на знаниях (СОЗ). Существует распространенный принцип, согласно которому производительность СОЗ находится в прямой зависимости от количества знаний, содержащихся в системе [Feigenbaum, 1977]. Более 15 лет, с момента появления известной программы TIERESIAS [Davis, 1984], исследователи в области ИИ рассматривают приобретение знаний как задачу переноса знаний эксперта в БЗ системы, что чрезвычайно важно для создания действующей системы. Но в настоящее время работы в области приобретения знаний становятся важными и с точки зрения использования полученных здесь результатов для создания интеллектуальных технологий разработки самих СОЗ.

Первое поколение методик для СОЗ базировалось на подходах двух типов: поэтапном и прототипном.

Поэтапный подход связан с представлениями о жизненном цикле [Buchanan et al., 1983; Guida et al., 1989] и соответствующей поддержке его основных стадий.

В прототипном подходе первого поколения [Grover, 1983; Wielinga et al., 1988] процесс приобретения знаний может не отрабатывать все стадии, так как основным предположением здесь была возможность раскрытия структуры области экспертизы на раннем этапе проектирования на основе сравнительно небольшого анализа. Во втором поколении СОЗ-методик признана сложность процесса приобретения знаний, преодоление которой видится в моделировании экспертизы. В данной области были предложены такие методики, как онтологический анализ [Alexander et al, 1987], концептуальные графы Sowa [Clancey, 1985], подходы, основанные на обобщенных (родовых) задачах [Chandrasekaran, 1985], и концептуальное моделирование, например КADS-методология [Breuker et al., 1986]. Методики приобретения знаний обсуждаются в огромном числе работ и, в частности, в предыдущих главах настоящей книги. Не имея места для их сколько-нибудь полного анализа, сошлемся здесь лишь на обзоры [Wielinga et al., 1988; Молокова, 1992; Осипов, 1993] и перейдем к инструментальным средствам поддержки разработки интеллектуальных систем.





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:
©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.