Смекни!
smekni.com

С базами знаний (стр. 4 из 18)

Коммерческие экспертные системы содержат в своей базе знаний несколько тысяч правил. К концу 80-х годов объем продаж ЭС приблизился к 1млрд. долларов.

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

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

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

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

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

Для разработки этих систем был создан универсальный язык инженерии знаний, содержащий конструкты, которые применялись в разных прикладных областях и для разного типа систем [16].

Теория и практика моделирования предметной области в прикладных системах искусственного интеллекта отражена также в работах [18:1975;19:1981; 20-21:1989; 22:1990; 23:1988,1991]. Использование моделей представления знаний о предметной области стало рассматриваться как определяющий признак интеллектуальных систем. Были сформированы теории представления знаний и теории манипулирования знаниями. На пользовательском уровне при формировании моделей предметной области использовались языки представления знаний. Их элементами, задающими схемы описания понятий, являются так называемые ленемы [22]. Обработка хранимых моделей осуществлялась с использованием формальных методов.

К концу 80-х годов появились работы, в которых знания представлялись в виде логических моделей, включающих в себя множество базовых элементов, множество синтаксических правил с подмножеством аксиом и множество правил вывода, и обрабатывались средствами логического программирования, в частности, с использованием языка ПРОЛОГ [24-26:1988,1990].

Контрольные вопросы

1. Как охарактеризовать универсальность и применяемость методологий и инструментальных средств, используемых для проектирования систем? 2. В чем состоит отличительная особенность концептуальных методологий проектирования систем? 3. Что такое онтология и чем вызван интерес к ней разработчиков интеллектуальных систем?
4. Что такое предметная область, и какие типы моделей предметной области существуют?
5. Что такое семантические сети и фреймы, и чем они отличаются? 6. Что собой представляют продукционные и предикатные модели? 7. Что такое концептуальное моделирование и чем оно отличается от непосредственного моделирования предметной области? 8. Какие функции выполняет система концептуального программирования ПРИЗ? 9. Какие особенности, в отличие от системы ПРИЗ, имеет система МАВР? 10. Что является объектом моделирования в экспертных системах? 11. Какова структура экспертных систем? 12. Что такое формализованные и неформализованные знания и задачи? 13. Как функционирует решатель экспертных систем? 14. Зачем нужен уровень метазнаний в системах искусственного интеллекта?

2. Первые подходы к созданию информационных систем с базами знаний

2.1. Использование моделей предметной области в программировании

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

Одним из примеров использования таких описаний являются программы расчета тепловых схем электростанций, разработанные в Харьковском филиале института механики Академии наук Украины [1:1965]. Описание тепловых схем формировалось в виде графа, отображающего в закодированном виде поток движения воды и водяного пара. Вершины графа представляли тепловые установки или их части и имели отсылки к программам расчета необходимых параметров. В результате стало возможным рассчитывать различные варианты тепловых схем электростанций с помощью одного и того же программного обеспечения. Требовалось только изменить элементы графа и связи между ними. После проведения расчетов выбиралась тепловая схема электростанции, обеспечивающая максимально возможный коэффициент полезного действия. Для реального внедрения этих программ в практику проектирования требовалось обеспечить автоматизированную поддержку процесса формирования проектировщиками моделей вариантов тепловых схем электростанций. Однако существовавшие тогда технические возможности вычислительных машин еще не позволяли этого сделать.

В дальнейшем для усовершенствования этой технологии были использованы методы ассоциативного программирования [2:1968] и затем были разработаны программы для АСУ предприятий горной промышленности [3:1971]. В них модель предметной области формировалась, в частности, в виде древовидных графов, отображающих структуру затрат, начислений и т.п. Висячие вершины этих деревьев содержали отсылки к локальным программам расчета. Поступающим заданиям на определенный вид расчета присваивался многопозиционный семантический код, чтобы с его помощью управляющая программа отыскивала в древовидном графе требуемую подпрограмму, запускала ее и накапливала итоговые величины в соответствии с иерархией вершин дерева.

Для моделей предметной области в виде многоуровневых деревьев была поставлена и решена задача оптимизации длины их списков для условий использования запоминающих устройств с разной скоростью доступа [4-6:1970-72]. Это позволило существенно ускорить процессы поиска описаний в памяти системы, их корректировки и последующей логической обработки.

Подобные технологии программирования применялись позднее и для обеспечения универсальности средств автоматизации программирования [7:1973,1975;8:1984]. Однако при повышении универсальности программных систем усложнялась и удорожалась их эксплуатация. После появления технических и информационно-программных средств, обеспечивающих взаимодействие пользователей с компьютерами в режиме непосредственного диалога, модели предметной области стали в большей степени использоваться в компиляционном режиме с автоматизированным формированием специализированных программ [9:1986, 10:1988]. Но здесь возникли трудности обеспечения взаимной увязки моделей нескольких предметных областей, которые необходимо было одновременно охватывать в процессе проектирования указанных систем.

2.2. Индустриализация создания автоматизированных систем

Одним из направлений индустриализации являлось создание типовых проектов автоматизированных систем управления (АСУ). Примером этого подхода явился проект АСУ машиностроительного предприятия (на базе Кунцевского завода). Однако привязка типовых систем к реальным условиям других предприятий оказалась чрезмерно трудоемкой. Причиной этого было использование традиционной в то время технологии программирования, в которой не предусматривалось моделирование предметной области. Например, проект информационного обеспечения вышеуказанной системы, разработанный в Киевском институте кибернетики, основывался на технологии серийной обработки последовательных информационных массивов. При каждом новом применении типовой АСУ требовалась значительная переработка программ, что не позволило обеспечить ожидаемую ее применяемость. Выполненное позднее теоретико-множественное описание информационного обеспечения разработчиком этого проекта Н.Г.Зайцевым [11: 1976], к сожалению, не стало основой методологии моделирования предметной области, которая могла бы обеспечить автоматизированную настройку параметров системы.

К началу 80-х годов были разработаны различные методологии и программные средства, выходом которых были проекты автоматизированных систем управления (АСУ) и их информационно-программное обеспечение [12-18: 1978-1981]. Однако эти средства были ориентированы на использование лишь их разработчиками. Они позволяли ускорить некоторые процессы создания автоматизированных систем за счет применения отдельных типовых решений и настройки многочисленных параметров. Помимо настройки параметров требовалось вносить корректировки и в сами типовые программы, вследствие возникавших изменений в окружающей среде и в объекте внедрения, а также естественным появлением всякий раз новых требований к проекту у пользователей и у разработчиков по мере возникновения большего понимания последствий реализации ранее принятых ими проектных решений. Все это требовало больших трудозатрат. В результате масштабы использования этих подходов ограничивалась возможностями узкого круга разработчиков типовых решений и применяемых средств автоматизации привязки имеющегося программного обеспечения к конкретным условиям.