
34 Вопрос
Экспертная система - программный комплекс, аккумулирующий знания специалистов предметной области и тиражирующие эмпирический опыт для консультаций менее квалифицированных пользователей. Экспертная система пользуется знаниями, которыми она обладает в своей узкой области, чтобы ограничить поиск на пути к решению задачи путем постепенного сужения круга вариантов. При решении задач в экспертных системах используются методы:
логического вывода, основанный на технике доказательств, называемой резолюцией и использующей опровержение отрицания (доказательство «от противного»);
структурной индукции, основанный на построении дерева принятия решений для различения объектов из большого количества данных на входе;
эвристических правил, основанный на перенимании опыта у экспертов-людей, а не на абстрактных правилах формальной логики;
машинной аналогии, основанный на представлении информации о сравниваемых объектах в удобном виде, например в виде структур данных, называемых фреймами.
В настоящее время можно выделить следующие основные сферы применения ЭС: диагностика, планирование, имитационное моделирование, предпроектное обследование предприятий, офисная деятельность, а также некоторые другие.
Средства построения эс
Источники «интеллекта», проявляющегося при решении задачи, могут оказаться бесполезными либо полезными или экономичными в зависимости от определенных свойств области, в которой поставлена задача. Исходя из этого может быть осуществлен выбор метода построения экспертной системы или использования готового программного продукта. Диапазон возможных средств построения ЭС простирается от языков высокого уровня до средств поддержки низкого уровня. Инструментальные средства построения ЭС разделяются на четыре основные категории:
языки программирования;
языки инженерии знаний;
вспомогательные средства;
средства поддержки.
Языки программирования, применяемые для работы в области ЭС, – это, как правило, или проблемно-ориентированные языки (Фортран, Паскаль, С, С++ и т.д.), или языки обработки текстов (Лисп, Пролог). Проблемно-ориентированные языки разработаны для специального класса задач: например, Фортран удобен для выполнения алгебраических вычислений и чаще всего применяется в научных, математических и статистических вычислениях. Языки обработки текстов разработаны для прикладных областей искусственного интеллекта: например, Лисп имеет механизмы для манипулирования символами в форме списковых структур. Список является просто набором элементов, заключенных в скобки, где каждый элемент может быть или символом, или другим списком. Списковые структуры являются удобным строительным материалом для представления сложных понятий. В языке Лисп все отношения между объектами описываются через списки, содержащие отношения объекта с другими объектами. Добавим, что Лисп существует в разных версиях, например, Интерлисп и Маклисп имеют различные средства поддержки (редакторы и средства отладки), но одинаковый синтаксис. Языки программирования, подобные Лиспу, предоставляют максимальную гибкость разработчику ЭС, но никак не подсказывают ему, как представлять знания или как построить механизм доступа к базе знаний. С другой стороны, языки инженерии знаний, такие как KAS, обладают меньшей гибкостью, поскольку разработчик системы должен пользоваться схемой управления, определяемой встроенным в язык механизмом вывода. Эти языки, однако, обеспечивают некоторое руководство и готовые механизмы вывода для управления и использования базы знаний. ^ Язык инженерии знаний является искусным инструментальным средством разработки ЭС, погруженным в обширное поддерживающее окружение. Языки инженерии знаний можно разделить на скелетные и универсальные. Скелетный язык инженерии знаний является просто «раздетой» экспертной системой, т.е. ЭС без специальных предметных знаний, включающей в себя только механизм вывода и средства поддержки, например, IMP+. Универсальный язык инженерии знаний может быть применим к проблемам разного типа в различных прикладных областях. Он обеспечивает более широкие возможности управления поиском данных и доступом к ним, чем скелетные системы, но его может оказаться труднее использовать. Разные универсальные языки значительно варьируют в смысле общности и гибкости. ^ Вспомогательные средства построения ЭС состоят из программ, оказывающих помощь эксперту-человеку в приобретении и представлении знаний, и программ, которые помогают разрабатывать проекты экспертных систем. ^ Средства поддержки – это просто пакеты программ, которые прилагаются к средству построения ЭС, чтобы упростить его использование, облегчить диалог и сделать его более эффективным: средства отладки, средства ввода/вывода, средства объяснения, редакторы баз знаний.