Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по ИИ в АСУТП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.55 Mб
Скачать

3. Инструментальные средства синтеза эсрв

К основным классам инструментальных средств поддержки проектирования универсальных ЭС (произвольного типа) принято относить:

1) системы программирования универсальных языков высокого уровня;

2) системы программирования языков инженерии знаний;

3) оболочки ЭС;

4) САПР ЭС;

5) специализированные инструменты решения частных задач синтеза ЭС.

Универсальные языки высокого (ЯВУ) уровня, применяемых в области ИИ, можно условно разделить на классы, связанные с используемыми в этих языках общими парадигмами программирования:

1.1. алгоритмические и объектно-ориентированные ЯВУ (наиболее часто используемыми считаются C/C++, ADA и Pascal);

1.2. логические (Prolog, ESP, Mercury и др.);

1.3. функциональные (Lisp, СНОБОЛ и др.);

1.4. функционально-логические (Planner, Conniver, QA-4 и др.), метаалгоритмические (например, РЕФАЛ) и некоторые другие ЯВУ гибридного типа.

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

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

САПР ЭС, в отличие от оболочек, позволяют синтезировать «отторгаемый», полностью независимый от инструмента образ ЭС, который переносится далее в целевую среду. Однако, значительный процент средств данного класса все же инкапсулирует в проектируемую ЭС элементы собственной исполнительной среды или требует наличия в целевой среде каких-либо специализированных программных компонентов – резидентных модулей, динамических библиотек и т.п. К классу САПР принято относить и интегрированные среды поддержки полного цикла разработки ЭС (например, KADS, CommonKADS и др.).

Спектр специализированных инструментальных средств разработки ЭС достаточно широк. К ним относятся системы извлечения и приобретения знаний, автономные средства представления знаний (в части построения моделей знаний для их последующего использования в оболочках и САПР ЭС), сервисные средства (просмотровщики, редакторы, утилиты работы с базой знаний (БЗ), конверторы, отладчики, анализаторы, интерфейсные средства и т.п.), независимые от конкретных сред разработки, и многие др. Зачастую к классу специализированных инструментов относят и системы, функционально не связанные с непосредственным синтезом ЭС – например, системы Data-Mining (извлечение знаний из данных), системы поддержки взаимодействия с экспертами и др.

Наиболее представительными группами специализированных инструментальных средств поддержки синтеза ЭС являются систем приобретения знаний и систем представления знаний. Термин «приобретение знаний» (acquisition) отделяется от «извлечения знаний» (elicitation) на основании анализа характера действий эксперта: в первом случае эксперт непосредственно (самостоятельно или совместно с инженером по знаниям) использует инструментальные средства синтеза БЗ, во втором - эксперт контактирует только с инженером по знаниям. Однако в большинстве источников термин «приобретение» понимается шире и рассматривается как обозначение целостного процесса извлечения знаний и их переноса в ЭВМ. Однако, различия в трактовке понятий в данном случае не являются принципиальными. Определяющим является то обстоятельство, что приобретение знаний включает в себя реализацию некоторых методик получения экспертных суждений и непосредственную реализацию БЗ в соответствии с определенной парадигмой организации знаний. Под представлением знаний в данном контексте следует понимать процесс создания БЗ инженерами по знаниям, проводимый с использованием специальных инструментальных средств.

Методы извлечения знаний и получения экспертных оценок, разделяются на прямые и косвенные. К последним относятся методы, основанные на использовании примеров, контрольных тестов и т.п., а также опосредованные методы получения знаний (некоммуникативные) на базе текстовой и визуально-графической информации (фактуальной), не связанной с суждениями экспертов в проблемной области. Приобретение знаний из примеров применяется, в частности, в системах BLIP, INDUCE, PROTOS и др. Сюда же относятся инструментальные средства, основанные на использовании ДСМ-метода Финна В.К. - AQ, AQUINAS, KSSI, INSTIL и др. Текстологические методы реализуются в системах TEXAN (из состава среды KITTEN), KRITON, TAKT и др.

Из числа прямых методов машинно-ориентированного приобретения знаний наиболее часто реализуются в инструментарии ИИ коммуникативные (предусматривающие интенсивное взаимодействие экспертов с инженерами по знаниям) активные (т.е., позволяющие инженеру по знаниям активно влиять на источник информации и саму процедуру опроса) индивидуальные (предполагающие индивидуальный характер общения эксперта с инженером) методы. При этом среди основных подходов к прямому приобретению знаний, реализуемых в наиболее распространенных инструментальных системах, выделяются структурированные интервью (и анкетирования), методы когнитивной психологии и игровые методы. Реже других применяются игровые технологии (к примерам применения данного подхода относятся системы АРИАДНА, ЭСКИЗ и др.). Более распространенными на практике являются структурированные интервью (примерами реализации этого направления могут служить системы TEIRESIAS, MOLE, SALT, OPAL, ДИАПС, SIMER и др.). Более развитые методы - методы когнитивной психологии реализуются в системах ETS и NeoETS, KRITON, PLANET, в интегрированных средах AQUINAS, KITTEN и др.

Характерной особенностью инструментальных средств рассматриваемого класса является ориентация на конкретные САПР, оболочки ЭС и языки инженерии знаний, способные использовать спроектированные БЗ, либо на универсальные настраиваемые формы организации БЗ, которые могут быть адаптированы к условиям конкретной среды разработки ЭС. Наиболее развитыми возможностями в указанном смысле обладают такие средства поддержки приобретения знаний, как системы ETS и NeoETS (ориентированные на синтез БЗ для KEE, S1, OPS-5 и др. средств автоматизации проектирования ЭС), KAT и QUEST (для Level 5), среды AQUINAS (включающая как составную часть систему ETS), KEATS, TDE и др.

Более локальным (в функциональном отношении) является класс систем представления знаний, который мог бы быть использован при непосредственном наполнении БЗ инженерами по знаниям. Как правило, системы данного класса являются составными компонентами САПР, оболочек ЭС, систем и сред приобретения знаний и т.п., и не являются автономным инструментарием синтеза БЗ. Однако встречаются и автономные решения (например, системы MANTRA, KANDOR, KRYPTON и др.).

В дальнейшем класс специализированных инструментальных средств не будет рассматриваться в настоящем отчете, поскольку не имеет прямого отношения к непосредственной реализации ЭСРВ, которая является наиболее существенным предметом анализа в контексте задач интеллектуализации АСУТП/АСУП.

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

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

Логические модели основываются на введении формальной системы, описываемой четверкой М = <МТ, МР, МА, МП>, где МТ - множество базовых элементов, МР - множество синтаксических правил (т.е., правил образования синтаксически корректных конструкций из элементов МТ), МА - множество аксиом (подмножество МР), МП - множество правил вывода (или множество семантических правил), применение которых к элементам МА позволяет получать новые синтаксически верные выводимые совокупности. При дополнении формальной системы М процедурами П1 сравнения элементов в МТ, П2 проверки принадлежности к МТ и П3 проверки синтаксической правильности М становится конструктивной формальной моделью, а при введении также процедуры П4 проверки принадлежности синтаксически верных совокупностей множеству выводимых (семантически верных) конструкций - разрешимой формальной моделью. На базе данной системы М может быть произведено построение семиотической модели С, описываемой четверкой С = <М, СТ, СА, СП>, где М - формальная модель, а СТ, СА и СП - процедуры изменения в М множеств МТ, МА и МП соответственно. Основными характеристиками логических моделей являются возможность генерации новых знаний на базе ранее заложенных (например, при моделирования рассуждений, доказательств, объяснений, реализации каузальных сценариев), использование развитых теорий в рамках математической логики (исчисления высказываний и предикатов, формальных грамматик и др.). Классическим инструментарием при синтезе ЭС логического типа можно считать языки и системы логического программирования PROLOG, ALICE, SNARK, ESP, DUCK, HSRL и др. Наиболее распространенные диалекты языка PROLOG (Micro-Prolog Professional, Turbo Prolog, Arity/Prolog и др.) легли также в основу более специализированных инструментальных средств разработки систем ИИ - языков инженерии знаний (APES, FIT, APLICOT и др.), оболочек (ES/P Advisor, Pro MD, Xi Plus, КОНС-ПРОЛОГ и др.) и САПР ЭС (KISS, Knowledge Craft и др.). Следует также отметить, что необходимость повышения эффективности использования PROLOG-программами вычислительных ресурсов ЭВМ привела к появлению диалектов языка, ориентированных на параллельную реализацию (Concurrent Prolog, Epilog, Parlog и т.п.), и аппаратных реализаций PROLOG-машин (фирм DEC, Mitsubishi, NEC, Fujitsu и др.).

Частным случаем логического подхода к организации ЭС принято считать продукционные системы. В целом, можно считать, что на сегодняшний день в сфере разработки ЭС различного профиля продукционный подход занимает лидирующее положение. Синтез продукционных систем поддерживается практически всеми развитыми инструментальными средствами разработки ЭС. При этом наиболее близки к продукционной стилистике языки инженерии знаний семейств LOOPS, OPS, Реляп и др., системы автоматизации синтеза ЭС GURU, ART, Autologie, Rule Master, AGE, ADVICE, Super Expert, ПИЭС, MORE, PICON и др. и оболочки ЭКСПЕРТ, EMYCIN, SAVOIR, Exsys, Expert, Expert-EASY, Cristal и др. Аппаратные средства поддержки продукционных выводов представлены широким спектром вычислительных элементов и систем фирм Texas Instruments, Symbolics, Xerox, Intel, IBM, SUN, DEC и др.

Класс семантических сетевых моделей (представителей структурной парадигмы представления и обработки знаний) характеризуется исходной функциональной ориентацией на изображение конструкций естественного языка (с разделением типов объектов по частям речи, использованием глагольных, падежных и др. морфологических, лексических и синтаксических отношений и т.д.), что предопределяет высокую эффективность применения данных моделей в таких подклассах интеллектуализированных систем, как анализаторы, переводчики, генераторы текстов и речи и др. Среди развитых инструментальных средств разработки ЭС аппарат семантических сетей в наиболее общем представлении поддерживается языками линии KL-х (KL-ONE, KL-TWO) и специализированными языками сетевых формализмов (NET, Волна и др.), оболочками WIZDOW, ДИРП, SEMP-TAO и др. Сюда же может быть отнесена реализация языка УСК («Универсальный семантический кода»). В то же время семантические сети широко используются в качестве составного элемента интегрированных и гибридных моделей знаний, а также во фреймовых системах. Аппаратная поддержка обработки семантических сетевых моделей осуществляется рядом символьных ЭВМ - NETL, Connection Machine, THISTLE, SNAP и др

Фреймовые модели принято рассматривать как частный случай семантических сетей, хотя в некоторых литературных источниках отмечаются некоторые различия трактовки понятия фрейма в данных классах моделей знаний. Отличительными характеристиками фреймовых моделей является строгая структуризация знаний (по формату протофреймов), возможность логического объединения атрибутов (слотов) фреймов с формирования фреймов-понятий, -меню, -сценариев и т.п., а также ситуационный принцип активизации внутренних процедур при заполнении слотов конкретными значениями (шанциями). Следует также отметить логическую близость фреймовых структур к объектно-ориентированным формам представления информации, проявляющуюся, например, в наличии механизмов инкапсуляции, полиморфизма и наследования. К типичным представителям инструментальных средств синтеза фреймовых систем относят такие языки, как RLL, FRL, DPL, CODES и некоторые др. Среди САПР и оболочек ЭС, обладающих развитыми средствами поддержки фреймовых моделей, можно выделить GoldWorks, ESP Frame Engine, KEE, G2, Personal Consultant Plus (PC+), S-1, SRL+, ЭСПЕРТИЗА, СПЭИС и др.

К процедурной парадигме организации и обработки знаний относятся подходы, основанные на вычислительных моделях (функциональных сетях). Наиболее четкое определение вычислительного подхода прослеживается в работах Тыугу по концептуальному программированию (в частности, в идеологии построения языков УТОПИСТ, НУТ и др.). В отличие от семантических сетей вычислительные модели допускают определение ограниченного класса объектов и отношений, имеющих строгую математическую интерпретацию. В связи с этим и сам способ представления знаний в моделях ориентирован прежде всего на программирование вычислительных задач (первые опыты использования концепции вычислительных моделей были связаны с построением решателя вычислительных задач, ставшего прототипом систем программирования с автоматическим синтезом программ и систем автоматизации разработки пакетов программ, в частности, известной системы ПРИЗ для ЕС ЭВМ). Главным отличительным признаком процедурной парадигмы в ее первичной трактовке является представимость знаний в виде совокупностей и структур объектов, к которым применимы традиционные для алгоритмических языков программирования вычислительные действия и процедуры преобразования данных. Считается также, что чертами вычислительных моделей обладают некоторые подклассы фреймовых сетей. С другой стороны, сам язык УТОПИСТ, наглядно иллюстрирующий основные идеи вычислительного подхода к организации и обработке знаний, может рассматриваться как язык фреймового типа. УТОПИСТ связан также с объектно-ориентированным подходом в программировании в силу принятых в языке концепций типизации данных.

Относительно последнего замечания следует отметить, что развитием вычислительной парадигмы и идеологии фреймовых систем можно считать широкий класс объектно-ориентированных методов представления и обработки знаний, которые нередко выделяются в самостоятельное направление исследований в области ИИ. Данное обстоятельство связано, в частности, с тем, что ряд универсальных объектно-ориентированных языков (например, Smalltalk и его диалекты, объектно-ориентированные версии Pascal, С++ и др.) стали широко распространенным инструментарием разработки интеллектуальных систем, оболочек и САПР ЭС (примечательно, например, что еще в начале 90-х гг. фирма Borland приняла концепцию приоритетности развития объектно-ориентированных версий Pascal и C по отношению к разработке новых версий Turbo Prolog. Известны также примеры языков инженерии знаний, полностью (или в значительной мере) основанных на концепциях объектно-ориентированного программирования (например, язык LOOPS). Существуют и средства аппаратного обеспечения интеллектуальных систем, построенных на базе применения объектно-ориентированных методов организации и обработки знаний (например, символьные ЭВМ SOAR, FAIM-1, Dragon и др.).

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

1) общепринятые формальные содержательные определения классификационных признаков рассмотренных выше парадигм отсутствуют;

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

3) за рамками принятого разделения парадигм остается ряд частных подходов к организации ЭС, трудно сопоставимых с изложенной классификацией (в частности, подходы, основанные на применении метаалгоритмических языков, например, класса Рефал, и методов теории автоматических решений, реализованных в известных решателях интеллектуальных задач - GPS, STRIPS, СФИНКС и др.);

4) парадигмы организации ЭС неадекватно проецируются на общие парадигмы программирования (принято выделять логическую, процедурную, функциональную и объектно-ориентированную парадигмы), используемые при реализации интеллектуальных систем. Достаточно отметить, что классический представитель языков функциональной парадигмы - язык Lisp и его многочисленные диалекты являются на настоящий момент наиболее распространенным инструментарием синтеза систем с ИИ. При этом различные примеры прикладного использования Lisp в задачах разработки ИИ доказывают, что эффективность его применения при реализации интеллектуальных систем слабо зависит от принимаемой в этих системах парадигмы организации. На базе языка Lisp построены также многие специализированные программные средства, которые могут рассматриваться как самостоятельные классы инструментальных средств проектирования систем с ИИ. Помимо перечисленных ранее оболочек, САПР ЭС и языков инженерии знаний ART, KEE, G2, KL-х, LOOPS и др., на основе Lisp построен и ряд языков программирования решателей интеллектуальных задач (такие, как PLANNER, CONNIVER, QA-4 и др.), которые связаны с самостоятельным направлением в ИИ - решением проблем, характеризующимся сочетанием хорошо формализуемых знаний и задач со сложными механизмами поиска решений (наиболее близкой к данному классу задач среди перечисленных парадигм организации ЭС следует считать вычислительную, однако проследить строгое соответствие концепций построения интеллектуальных решателей и процедурных систем ИИ в рамках настоящей работы представляется затруднительным). В аспектах, связанных с реализацией интеллектуальных систем (или инструментов проектирования), аналогично функциональным языкам характеризуют себя и универсальные языки процедурной парадигмы, среди которых в области ИИ выделяются Pascal, C и ADA, а также их объектно-ориентированные расширения (Turbo Pascal, C++, C# и др.). Т.о., принятие конкретного подхода к организации ЭС не ограничивает возможностей использования более универсальных, чем инструментарий ИИ, языков программирования. В свою очередь, выбор последних в качестве инструментальных средств проектирования ЭС не определяет решения задачи выбора парадигмы организации системы;

5) на практике, как правило, наиболее продуктивными оказываются подходы, основанные на комбинировании различных парадигм представления и обработки знаний. Кроме того, анализ общего состояния парка инструментальных средств построения ЭС позволяет констатировать, что значительная часть наиболее известных систем автоматизации проектирования (KEE, KES, ART, G2, ACORN, Nexpert Object, Level 5, Knowledge Craft, МикроПРИЗ & МикроЭКСПЕРТ) и оболочек ЭС (KAPPA, ProKappa, Personal Consultant +, S-1, СПЭИС, ДИРП, ЭКСПЕРТИЗА) допускают применение смешанных или различных форм представления и обработки знаний. Характерны и мультиязычные среды разработки ЭС (в частности, широко известная отечественная система ПиЭС, разработанная в ИВЦ АН СССР, поддерживала возможность использования двух языков, реализованных на базе Рефал/2, – языка Пилот продукционно-фреймового типа и языка представления лингвистических знаний – ANTL).

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