Технология создания интеллектуального программного обеспечения существенно отличается от разработки традиционных программ с использованием известных алгоритмических языков.
Рассмотрим отработанные на сегодняшний день элементы технологии создания ИИС на примере разработки экспертных систем.
Этот выбор обусловлен тем, что ЭС получили весьма широкое распространение во многих сферах человеческой деятельности, а технологии их создания имеют универсальный характер и не требуют аппаратных реализаций.
Экспертными системами называют сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Отличия систем искусственного интеллекта от обычных программных систем
Характеристика | Программированиев системах искусственного
интеллекта |
Традиционноепрограммирование |
Тип обработки | Символьный | Числовой |
Метод | Эвристический поиск | Точный алгоритм |
Задание шагов решения | Неявное | Явное |
Искомое решение | Удовлетворительное | Оптимальное |
Управление и данные | Смешаны | Разделены |
Знания | Неточные | Точные |
Модификации | Частые | Редкие |
В самых первых ЭС не учитывалось изменение знаний, используемых в процессе решения конкретной задачи.
Их назвали статическими ЭС. Типичная статическая ЭС содержит следующие основные компоненты:
- базу знаний;
- рабочую память, называемую также базой данных;
- решатель (интерпретатор);
- систему объяснений;
- компоненты приобретения знаний;
- интерфейс с пользователем.
База знаний ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область, и правил, описывающих целесообразные преобразования данных этой области.
База данных (рабочая память) служит для хранения текущих данных решаемой задачи.
Решатель (интерпретатор) формирует последовательность применения правил и осуществляет их обработку, используя данные из рабочей памяти и знания из БЗ.
Система объяснений показывает, каким образом система получила решение задачи и какие знания при этом использовались. Это облегчает тестирование системы и повышает доверие пользователя к полученному результату.
Компоненты приобретения знаний необходимы для заполнения ЭС знаниями в диалоге с пользователем-экспертом, а также для добавления и модификации заложенных в систему знаний.
К разработке ЭС привлекаются специалисты из разных предметных областей, а именно:
- эксперты той проблемной области, к которой относятся за дачи, решаемые ЭС;
- инженеры по знаниям, являющиеся специалистами по раз работке ИИС;
- программисты, осуществляющие реализацию ЭС. Эксперты поставляют знания в ЭС и оценивают правильность получаемых результатов.
Инженеры по знаниям помогают экспертам выявить и структурировать знания, необходимые для работы ЭС, выполняют работу по представлению знаний, выбирают методы обработки знаний, проводят выбор инструментальных средств для реализации ЭС, наиболее пригодных для решения поставленных задач.
Программисты разрабатывают программное обеспечение ЭС и осуществляют его сопряжение со средой, в которой оно будет использоваться.
Любая ЭС должна иметь, по крайней мере, два режима работы. В режиме приобретения знаний эксперт наполняет систему знаниями, которые впоследствии позволят ЭС самостоятельно (без помощи эксперта) решать определенные задачи из конкретной проблемной области.
В режиме консультации пользователь ЭС сообщает системе конкретные данные о решаемой задаче и стремится получить с ее помощью результат. Пользователи-неспециалисты обращаются к ЭС за результатом, не умея получить его самостоятельно, пользователи-специалисты используют ЭС для ускорения и облегчения процесса получения результата. Следует подчеркнуть, что термин «пользователь» является многозначным, так как использовать ЭС могут и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, используют термин «конечный пользователь».
В режиме консультации входные данные о задаче поступают в рабочую память. Решатель на основе входных данных из рабочей памяти и правил из БЗ формирует решение. В отличие от традиционных программ компьютерной обработки данных ЭС при решении задачи не только исполняет предписанную последовательность операций, но и сама формирует ее.
Существует широкий класс приложений, в которых требуется учитывать изменения, происходящие в окружающем мире за время исполнения приложения. Для решения таких задач необходимо применять динамические ЭС, которые наряду с компонентами статических систем содержат подсистему моделирования внешнего мира и подсистему связи с внешним окружением. Подсистема моделирования внешнего мира необходима для прогнозирования, анализа и адекватной оценки состояния внешней среды. Изменения окружения решаемой задачи требуют изменения хранимых в ЭС знаний, для того чтобы отразить временную логику происходящих в реальном мире событий. Компонента связи с внешним миром актуальна для автономных интеллектуальных систем (роботов), а также для интеллектуальных систем управления. Связь с внешним миром осуществляется через систему датчиков и контроллеров.