Оценки качества моделей, алгоритмов и программ

Страницы работы

Содержание работы

15. ОЦЕНКИ КАЧЕСТВА МОДЕЛЕЙ, АЛГОРИТМОВ И ПРОГРАММ

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

– общие требования, связанные с качеством математической модели;

– общие требования, связанные с качеством алгоритма;

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

Рассмотрим эти группы требований подробней.

15. 1. Оценки качества математических моделей

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

Существуют три научных проблемы, которые необходимо решить при создании математической модели исследуемой системы:

·  прежде всего, должна быть определена целенаправленность модели. Поскольку модель отображает оригинал не во всей его полноте (модель конечна, а объект неисчерпаем), то осуществляют концептуальный целевой выбор свойств объекта-оригинала. Модель должна отражать наиболее существенные свойства объекта с концептуальной точки зрения;

·   затем обеспечивают адекватность модели, исходя из двух требований: во–первых, модель должна адекватно отображать актуальное состояние объекта-оригинала (свойство наблюдаемости объекта), и, во–вторых, она должна адекватно отражать преобразование объекта из актуального состояния в целевое (свойство управляемости объекта);

·  Кроме того, модель должна обладать простотой реализации и требовать для своего создания минимальных вычислительных и других видов ресурсов. Иначе она будет представлять лишь чисто научный интерес.

Целенаправленность модели определяется ее функциональностью. Под функциональностью понимают пригодность модели для достижения поставленной цели.

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

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

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

15.2. Оценки качества алгоритмов

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

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

При реализации алгоритмов идентификации различают:

·  условную вероятность ошибочной идентификации;

·  ожидаемую инструментальную ошибку идентификации;

·  ожидаемую ошибку идентификации на выборке заданного размера.

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

·  функцию ожидаемых потерь (вероятность потерь, вызванных методами идентификации);

·  эмпирическую (статистическую) функцию средних потерь, учитывающий случайный характер факторов идентификации.

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

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

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

15.3. Оценки качества клиентских программ

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

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

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

Наиболее часто встречающийся дефект программы - это отсутствие согласованности между клиентской программой и реализуемой моделью и алгоритмом. Другой часто встречающийся дефект – несогласованность программы  с логической моделью задачи. Он, как правило, является следствием ошибок постановщика и разработчика программы.

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

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

Оценка качества функциональности программы возможна на основе использования метода Quality Function Deployment - QFD (Функциональное Развертывание Качества), который был предложен в Японии еще в 1966 году. Однако его применение осложняется большой размерностью матрицы (критериев оценки качества программ) и сопоставления характеристик программ. Для снижения размерности матрицы предлагается отдельно рассматривать независимые характеристики, группировать (обобщать) типичные характеристики на основе принятых стандартов, использовать автоматизированную обработку (разложение/сборка) матрицы.

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

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

Похожие материалы

Информация о работе