Разработка и программирование экспертной системы
Современные языки программирования используются в сочетании с набором вспомогательных программ, формируя, таким образом, инструментальное средство разработки программных систем. Напомним, что экспертная система - это, по сути, разновидность программной системы, которая оперирует со знаниями в определенной предметной области с целью выработки рекомендаций для решения задач.
Разработка экспертной системы
Практически все инструментальные средства, используемые в процессе разработки экспертных систем, применяют методологию автоматизации проектирования на основе прототипов. В отношении программного обеспечения термин «прототип» означает работающую модель программы, которая функционально эквивалентна подмножестве конечного продукта.
Идея использования прототипов заключается в разработке на ранней стадии работы проекта упрощенной версии конечной программы, которая была бы способна послужить доказательством продуктивности основных идей, положенных в основу проекта. То есть, прототип должен быть способен решать одну из характерных задач для заданной области применения.
На основе анализа опыта работы с прототипом, разработчики могут уточнить требования к основным функциональным характеристикам экспертной системы. Работоспособность прототипа может послужить наглядным доказательством возможности решения проблем с помощью создаваемой системы еще до того, как на ее разработку будут потрачены значительные средства.
Процесс разработки экспертной системы, как правило, состоит из последовательности отдельных этапов, на протяжении которых наращиваются возможности системы, причем, каждый из этапов подразделяется на фазы: проектирования, реализации, компоновки и тестирования. В результате, после завершения очередного этапа, образуется система, способная справиться с большими, по сложности вариантами проблемы.
В отличие от экспертных систем, при создании большинства программных продуктов других видов, используется другая модель процесса: сначала разрабатывается спецификация продукта, затем выполняется планирование, проектирование компонентов, их реализация, компоновка комплекса и тестирования конечного варианта.
Тот факт, что при разработке экспертных систем существует возможность сначала построить и всесторонне испытать прототип, позволяет избежать множества переделок в процессе создания рабочей версии системы.
Однако, следует отметить, что технология последовательного наращивания функциональных возможностей включает в себя проблему интеграции новых функций системы с функциями, которые были реализованы в предыдущих вариантах.
Поэтому инструментальные средства разработки экспертных систем, изначально, создавались на основе модульного представления знаний с учетом необходимости преодоления возникающих при этом осложнений.
Категории современных программных средств разработки экспертных систем
По своему назначению и функциональным возможностям инструментальные средства, используемые в программировании экспертных систем, можно разделить на четыре достаточно большие категории:
- Оболочки экспертных систем.
- Языки программирования высокого уровня.
- Среда программирования, которая поддерживает несколько парадигм.
- Дополнительные модули.