Научная статья на тему 'Программные системы, ориентированные на привлечение знаний экспертов в процессе решения задач'

Программные системы, ориентированные на привлечение знаний экспертов в процессе решения задач Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
212
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Морозов В. П.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программные системы, ориентированные на привлечение знаний экспертов в процессе решения задач»

ПРОГРАММНЫЕ СИСТЕМЫ, ОРИЕНТИРОВАННЫЕ НА ПРИВЛЕЧЕНИЕ ЗНАНИЙ ЭКСПЕРТОВ В ПРОЦЕССЕ РЕШЕНИЯ ЗАДАЧ

В.П. Морозов

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

Появление персонального компьютера, казалось бы, должно было осуществить переворот в «математизации» человеческой деятельности. Но этого не происходит не только из-за инерции, имеющей место в образовании, но и из-за сложности освоения предлагаемого математического обеспечения. Подтверждением сказанному являются данные о соотношении стоимости приобретаемого программного продукта и стоимости обучения его использования [2], приведенные в таблице.

Таблица

Название программного продукта (компания) Стоимость программного продукта Стоимость обучения

CA-SuperProject 4.0 (Computer Associates International Inc) $450 $425 за одного студента в день

Microsoft Project98 (Microsoft Corp.) $500 $250-300 в день (для больших групп меньше)

Project Scheduler 7 (Scitor Corp.) $600 $700 за человека

SureTrack Project Manager 2.0 (Primavera Systems Inc.) $400 $795 за человека

Time Line 6.5 (Time line Solutions Corp.) $450 $900 (группа 1-5 студентов)

TurboProject Professional 2.0 (IMSI) $300 $250 в день

Стоимость программных продуктов сопоставима со стоимостью обучения их использования. Очевидно, самостоятельное освоение предлагаемого математического обеспечения представляет серьезные трудности для конечного пользователя, иначе сложно объяснить и оправдать столь высокий уровень стоимости обучения.

Причина быстрого и широкого распространения электронных таблиц прежде всего в том, что технология работы с ними удачно повторила и усовершен-

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

Однако в процессе создания таких систем приходится решать три непростые задачи: создание математического описания решаемой проблемы; выбор метода решения; создание программы, реализующей выбранный метод. Рассмотрим некоторые подходы к решению сформулированных задач.

Создание математического описания решаемой проблемы. Предлагаемый подход [3] относится к достаточно узкому классу задач, отличительной чертой которых является одинаковый вид аналитического представления их математической модели. Например, функция от п-1 переменой, уравнение с к неизвестными (1<к<п) и целевая функция задачи оптимизации могут иметь одинаковую аналитическую запись: Хп=/(хьХ2,...,Хп.1).

Отсюда, если имеется информация об аналитическом представлении хотя бы одной из перечисленных задач, путем соответствующего переопределения областей задания переменных, входящих в выражение, можно перейти к двум оставшимся.

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

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

Пример. Пусть переменные х1,х2,.,хп-1,хп имеют интерпретацию в предметной области и выражение хп=/(х1,х2,.,хп-1) описывает зависимость производства некоторого продукта хп от ресурсов х1,х2,.,хп-1. Тогда формулировка задачи "обеспечить количество выпускаемой продукции за счет 1-го ресурса" интерпретируется как задание на решение уравнения, а

формулировка "какое максимальное количество продукта при имеющихся ресурсах может быть выпущено" - как задание на решение задачи поиска экстремума.

Процедура распознавания математического описания, соответствующего постановке, проста в реализации и полностью гарантирует корректный результат. Более сложен вопрос создания аналитических зависимостей, являющихся исходным материалом для постановки задач. Представляется, что их разработка (математическое описание предметной области) должна быть задачей системных аналитиков, участвующих в создании систем. В качестве средства представления предметных знаний предлагается использовать алгоритмические модели [4].

Известно, что выбор метода решения задачи является отнюдь не тривиальной проблемой. В связи с этим предлагается установить метод, используемый системой по умолчанию. Сформулируем условия, которым такой метод должен удовлетворять.

• Вычислительный алгоритм, реализующий метод, должен быть известен (понятен) пользователю. Только в этом случае при его использовании не будет допущено некорректных заданий и вмешательств. Представление решения в общем виде удовлетворяет этому требованию. Вернемся к задаче, связанной с решением уравнения хп=/(х1,х2,.,хп-1). Пусть решение ее в общем виде описывается выражением хп.1=/'(х1,х2,.,хп.2,хп) и получено путем некоторых аналитических преобразований над исходным выражением. Если состав множества предметных переменных, изначально присутствовавших в задаче, и связи между ними не подверглись изменению в результате преобразований, практика показывает, что такой вычислительный алгоритм будет так же понятен пользователю, как и породившее его описание задачи [3].

• Если решение задачи не единственно, пользователю должно быть предоставлено все множество решений, удовлетворяющих заданным условиям, в противном случае пользователь, не подозревая об их существовании, может принять неверное решение. Этому требованию решение задачи в общем виде также соответствует.

• Метод решения задачи должен позволять максимально привлечь практические знания пользователя в условиях, когда обеспечить формальный выбор решения из множества, предоставляемого методом, невозможно.

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

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

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

Вышесказанное подтверждает возможность создания программных средств, ориентированных на привлечение знаний экспертов. Основной особенностью данного подхода является использование формальных процедур и методов, позволяющих интерпретировать объекты, к которым они приложимы, и сами действия над объектами в терминах предметной области пользователя, максимально привлекая тем самым имеющиеся у него специальные знания. При этом у пользователя создается иллюзия полного отсутствия неизвестного ему математического аппарата. По аналогии с прозрачными данными [5] подобные системы будем называть системами с прозрачной технологией получения результата.

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

Перечислим основные компоненты, которые с нашей точки зрения присущи системам с прозрачной технологией.

1. Прежде всего, это системы, основанные на знании. В базе данных подобных систем обязательно должны храниться описание предметной области, математические описания классов решаемых в системе задач и методов их решения.

2. В основе математического обеспечения таких систем должны лежать процедуры и методы, допускающие в своей реализации интерпретацию в терминах и процедурах предметной области, для которой создается система. При этом системы должны быть максимально защищены от некорректных постановок и интерпретаций результатов со стороны пользователя.

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

В заключение отметим, что рассмотренный в статье подход и метод прозрачной технологии нашли свое частичное воплощение в системах автоматизации моделирования САПФИР и КОГНИТРОН [6], а также в автоматизированной системе для руководителя программного проекта АСС [7].

Список литературы

1. Ершов А.П. Человек и машина. - М.: Знание, 1985. - 32 с.

2. http://www.zdnet.com/pcmag/features/manage/317739.html.

3. Морозов В.П. Задачи на вычисление при наличии ограничений. Метод обращения // Алгоритмическое моделирование: инструментальные средства и модели. - СПб.: СПИИРАН, 1992. -

С. 112-137.

4. Иванищев В.В., Марлей В.Е., Морозов В.П. Система автоматизации моделирования САПФИР-Искра. Основы построения системы. - Л., 1989. - 63с. (Препр. / ЛИИАН; №99).

5. Мартин Дж. Организация баз данных в вычислительных системах. - М.: Мир,1980. - 662с.

6. Алгоритмическое моделирование: инструментальные средства и модели //Сб. тр. /Под ред. В.В. Иванищева - СПб.: СПИИРАН, 1992. - 205 с.

7. Баранов С.Н., Домарацкий А.Н., Ласточкин Н.К., Морозов В.П. Процесс разработки программных изделий. - М.: Наука, 2000. - 182 с.

ПОДХОДЫ К СОЗДАНИЮ САМООБУЧАЮЩИХСЯ ЭКСПЕРТНЫХ СИСТЕМ

Т.М. Шамсутдинова

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

В современном понимании ЭС - это система, способная накапливать и обобщать знания и эмпирический опыт высококвалифицированных специалистов (экспертов) в виде базы знаний в некоторой предметной области и в дальнейшем выдавать рекомендации своим пользователям [1,2].

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

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

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

оценок соответствия определенных условий-характеристик ожидаемым событиям-исходам.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.