На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

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

Статья опубликована в выпуске журнала № 1 за 2001 год.
Аннотация:
Abstract:
Автор: Морозов В.П. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 8937
Версия для печати
Выпуск в формате PDF (1.22Мб)

Размер шрифта:       Шрифт:

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

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

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

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

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

Создание математического описания решаемой проблемы. Предлагаемый подход [3] относится к достаточно узкому классу задач, отличительной чертой которых является одинаковый вид аналитического представления их математической модели. Например, функция от n-1 переменой, уравнение с k неизвестными (1≤k≤n) и целевая функция задачи оптимизации могут иметь одинаковую аналитическую запись: xn=f(x1,x2,…,xn-1).

Подпись: Таблица  
Название про-граммного продукта (компания)	Стоимость программного продукта	Стоимость обу-чения
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 в день

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

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

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

Пример. Пусть переменные x1,x2,…,xn-1,xn имеют интерпретацию в предметной области и выражение xn=f(x1,x2,…,xn-1) описывает зависимость производства некоторого продукта xn от ресурсов x1,x2,…,xn-1. Тогда формулировка задачи "обеспечить количество выпускаемой продукции за счет i-го ресурса" интерпретируется как задание на решение уравнения, а формулировка "какое максимальное количество продукта при имеющихся ресурсах может быть выпущено" – как задание на решение задачи поиска экстремума.

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

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

·    Вычислительный алгоритм, реализующий метод, должен быть известен (понятен) пользователю. Только в этом случае при его использовании не будет допущено некорректных заданий и вмешательств. Представление решения в общем виде удовлетворяет этому требованию. Вернемся к задаче, связанной с решением уравнения xn=f(x1,x2,…,xn-1). Пусть решение ее в общем виде описывается выражением xn-1=f'(x1,x2,…,xn-2,xn) и получено путем некоторых аналитических преобразований над исходным выражением. Если состав множества предметных переменных, изначально присутствовавших в задаче, и связи между ними не подверглись изменению в результате преобразований, практика показывает, что такой вычислительный алгоритм будет так же понятен пользователю, как и породившее его описание задачи [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 с.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=775&lang=
Версия для печати
Выпуск в формате PDF (1.22Мб)
Статья опубликована в выпуске журнала № 1 за 2001 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: