§2.8. Количественная и качественная оценка моделей

2.8.1. Соответствие модели объекту и целям моделирования

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

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

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

Пусть у нас имеется некоторая модель. Ее можно улучшить, если:

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

Пример 1

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

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

Zoom In

Пример 2

Zoom In

Пример 3

Легенда гласит, что Исаак Ньютон сидел под яблоней, когда на него упало яблоко, подсказавшее ему правильное решение. Как известно, закон всемирного тяготения говорит о том, что сила притяжения двух тел прямо пропорциональна их массам и обратно пропорционально квадрату расстояния между ними: F = G*M*m/r2.

Zoom In

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

2.8.2. Количественная и качественная оценка моделей.

Количественная оценка объектов (предметов, явлений, процессов) традиционно считается основой точного знания.

Пример 4

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

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

Рассмотрим некоторые из таких характеристик. 

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

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

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

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

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

Пример 5

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

Вероятностные модели описываются двумя основными показателями – средним значением, которое выявляет тенденцию поведения, и средним отклонением от этого значения – дисперсией.

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

Пример 6

Рассмотрим летящий электрон, который не подвергается никаким внешним воздействиям. На пути электрона стоит экран с двумя щелями. Известно, что электрон «проходит» через этот экран. Спрашивается, через какую щель он проходит? Если было бы точно известно, через какую щель проходит электрон, – это вошло бы в противоречие с фундаментальным принципом неопределенности Гейзенберга о невозможности одновременно с одинаковой точностью измерить координаты и импульс частицы.  Таким образом, мы принципиально не можем знать, через какую щель пройдет электрон,  т.е.  модель поведения свободного электрона является вероятностной.

Качественно оценить модель часто бывает существенно сложнее, чем оценить ее  количественно. В простейшем случае качественно оценить модель можно по следующим параметрам:

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

2.8.3. Таблица способов количественной и качественной оценки моделей

Количественные и качественные характеристики модели необходимы для:

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

Таблица 1

Аспекты  моделирования
Вид показателей
Количественные показатели оценки модели
Внешний вид
 

- точность (погрешность измерения) передаваемых физико-химических характеристик (размеры, вес, цвет и пр.)

- соблюдение пропорций, масштаб

Структура
точные

- доля (процент) отображаемых элементов и взаимосвязей между ними

- точность (погрешность округления) отображения весов элементов и связей между ними

- степень детализации (укрупнения) структуры объекта

вероятностные

- среднее значение количества элементов и среднее отклонение от этого значения (дисперсия)

- точность средних оценок (доверительный интервал)

Поведение
точные

- точность (погрешность вычисления) учета причинно-следственных связей, в которых участвует объект

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

- пропорциональность (равномерность) отображения моделируемого процесса по временному параметру

вероятностные

- вероятностные законы распределения параметров поведения моделируемого объекта

- уровень критерия статистической значимости отличий в наблюдаемом поведении объекта и его модели

2.8.4. Оценка важных информационных моделей

Для информатики особую роль играют два объекта:

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

Как было показано в предыдущем параграфе, наиболее общим языком описания предметной области является язык объектов и отношений. В этом случае оценка информационной модели сводится к  оценке:

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

Пример 7

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

Существует много подходов к оценке сложности  структуры. Один из наиболее глубоких подходов был предложен в 1960-х годах великим русским математиком академиком А.Н. Колмогоровым. Он заключался в том, что под сложностью можно понимать длину минимального описания структуры как конечного объекта.

Пример 8

Предположим, структура состоит из 8 элементов, обозначаемых 0 и 1, соединенных отношением «быть рядом»: 01010101. Очевидно, для ее описания достаточно сочетания 01, которое повторяется 4 раза. Его длина равна 2, следовательно, сложность (по Колмогорову) этой структуры равна 2.

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

Пример 9

Вероятно, вам известны разные алгоритмы решения такой простой задачи, как определение наибольшего из трех чисел: М = max (A, B, C). На рисунке приведены блок-схемы трех различных алгоритмов решения.

Zoom In

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

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

 
В «лучшем» случае
В «худшем» случае
Алгоритм 1
 2 сравнения + 1 присваивание
2 сравнения + 1 присваивание
Алгоритм 2
 2 сравнения + 1 присваивание
3 сравнения + 1 присваивание
Алгоритм 3
 2 сравнения + 1 присваивание
2 сравнения + 2 присваивание

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