Понятия «модель», «моделирование», различные подходы к классификации моделей. Этапы моделирования

Математическое моделирование можно разделить на аналитическое, численное и имитационное.

Исторически первыми были разработаны аналитические методы моделирования, и сложился аналитический подход к исследованию систем.

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

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

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

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

Известный американский учёный Роберт Шеннон даёт следующее определение: "Имитационное моделирование есть процесс конструирования модели реальной системы и постановки экспериментов на этой модели с целью либо понять поведение системы, либо оценить (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различные стратегии, обеспечивающие функционирование данной системы". Все имитационные модели используют принцип чёрного ящика. Это означает, что они выдают выходной сигнал системы при поступлении в неё некоторого входного сигнала. Поэтому в отличие от аналитических моделей для получения необходимой информации или результатов необходимо осуществлять "прогон" имитационных моделей, т. е. подачу некоторой последовательности сигналов, объектов или данных на вход модели и фиксацию выходной информации, а не "решать" их. Происходит своего рода "выборка" состояний объекта моделирования (состояния – это свойства системы в конкретные моменты времени) из пространства (множества) состояний (совокупность всех возможных значений состояний). Насколько репрезентативной окажется эта выборка, настолько результаты моделирования будут соответствовать действительности. Этот вывод показывает важность статистических методов оценки результатов имитации. Таким образом, имитационные модели не формируют своё собственное решение в том виде, в каком это имеет место в аналитических моделях, а могут лишь служить в качестве средства для анализа поведения системы в условиях, которые определяются экспериментатором.

Применение имитационного моделирования целесообразно при наличии определённых условий. Эти условия определяет Р. Шеннон:

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

    Аналитические методы имеются, но математические процедуры столь сложны и трудоёмки, что имитационное моделирование даёт более простой способ решения задачи.

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

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

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

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

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

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

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

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

Модель связана со своим оригиналом соотношением подобия.

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

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

Задачи моделирования:

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

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

Знаковые модели создаются на основе системы знаков, имеющих самую различную природу. Это:
- буквенно-цифровые модели, где в качестве знаков выступают буквы и цифры (такова, например, модель регуляции совместной деятельности Н. Н. Обозова);
- модели специальной символики (например, алгоритмические модели деятельности А. И. Губинского и Г. В. Суходольского в инженерной психологии или нотная запись для оркестрового музыкального произведения, в которой заложены все необходимые элементы, синхронизирующие сложную совместную работу исполнителей);
- графические модели, описывающие объект в виде кружков и линий связи между ними (первые могут выражать, например, состояния психологического объекта, вторые - возможные переходы из одного состояния в другое);
- математические модели, использующие разнообразный язык математических символов и имеющие свою классификационную схему;
- кибернетические модели построены на основе теории систем автоматического управления и имитации, теории информации и т. д.

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

В нашем курсе в качестве такой среды выбрана . Лабораторные работы и демонстрации, которые вы встретите в курсе, следует запускать как проекты среды Stratum-2000.

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

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

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

Смежными моделированию предметами являются: программирование, математика, исследование операций.

Программирование — потому что часто модель реализуют на искусственном носителе (пластилин, вода, кирпичи, математические выражения…), а компьютер является одним из самых универсальных носителей информации и притом активным (имитирует пластилин, воду, кирпичи, считает математические выражения и т. д.). Программирование есть способ изложения алгоритма в языковой форме. Алгоритм — один из способов представления (отражения) мысли, процесса, явления в искусственной вычислительной среде, которой является компьютер (фон-Неймановской архитектуры). Специфика алгоритма состоит в отражении последовательности действий. Моделирование может использовать программирование, если моделируемый объект легко описать с точки зрения его поведения. Если легче описать свойства объекта, то использовать программирование затруднительно. Если моделирующая среда построена не на основе фон-Неймановской архитектуры, программирование практически бесполезно.

Какова разница между алгоритмом и моделью?

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

модель + вопрос + дополнительные условия = задача .

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

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

Проектирование — процесс создания объекта и его модели; моделирование — способ оценки результата проектирования; моделирования без проектирования не существует.

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

В качестве примера посмотрим, как можно обнаружить, а потом описать закономерность.

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

Попробуем решить эту задачу вручную.

Из рис. 1.16 видно, что при 0 разрезах образуется 1 кусок, при 1 разрезе образуется 2 куска, при двух — 4, при трёх — 7, при четырёх — 11. Можете ли вы сейчас сказать наперёд, сколько потребуется разрезов для образования, например, 821 куска? По-моему, нет! Почему вы затрудняетесь? — Вам неизвестна закономерность K = f (P ) , где K — количество кусков, P — количество разрезов. Как обнаружить закономерность?

Составим таблицу, связывающую известные нам числа кусков и разрезов.

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

Уже кое-какая закономерность проявилась, не правда ли?

Вычислим вторые разности.

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

Функция f есть частный случай формулы Ньютона:

Коэффициенты a , b , c , d , e для нашей квадратичной функции f находятся в первых ячейках строк экспериментальной таблицы 1.5.

Итак, закономерность есть, и она такова:

K = a + b · p + c · p · (p – 1)/2 = 1 + p + p · (p – 1)/2 = 0.5 · p 2 + 0.5 · p + 1 .

Теперь, когда закономерность определена, можно решить обратную задачу и ответить на поставленный вопрос: сколько надо выполнить разрезов, чтобы получить 821 кусок? K = 821 , K = 0.5 · p 2 + 0.5 · p + 1 , p = ?

Решаем квадратное уравнение 821 = 0.5 · p 2 + 0.5 · p + 1 , находим корни: p = 40 .

Подведём итоги (обратите на это внимание!).

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

И ещё очень важно отметить, что модель отражает причинно-следственные связи. Между переменными построенной модели действительно есть крепкая связь. Изменение одной переменной влечёт за собой изменение другой. Мы ранее сказали, что «модель играет системообразующую и смыслообразующую роль в научном познании, позволяет понять явление, структуру изучаемого объекта, установить связь причины и следствия между собой». Это означает, что модель позволяет определить причины явлений, характер взаимодействия её составляющих. Модель связывает причины и следствия через законы, то есть переменные связываются между собой через уравнения или выражения.

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

Итак, гипотезу о связи переменных А и В надо вносить самому исследователю, извне, сверх того. А как это делает человек? Посоветовать внести гипотезу легко, но как научить этому, объяснить это действо, а значит, опять-таки как его формализовать? Подробно мы покажем это в будущем курсе «Моделирование систем искусственного интеллекта».

А вот почему это надо делать извне, отдельно, дополнительно и сверх того, поясним сейчас. Носит это рассуждение имя Геделя, который доказал теорему о неполноте — нельзя доказать правильность некоторой теории (модели) в рамках этой же теории (модели). Посмотрите ещё раз на рис. 1.12 . Модель более высокого уровня преобразует эквивалентно модель более низкого уровня из одного вида в другой. Или генерирует модель более низкого уровня по эквивалентному опять же её описанию. А вот саму себя она преобразовать не может. Модель строит модель. И эта пирамида моделей (теорий) бесконечна.

А пока, чтобы «не подорваться на ерунде», вам надо быть настороже и проверять все здравым смыслом. Приведём пример, старую известную шутку из фольклора физиков.

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

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

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

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



Рис. 1.1. Процесс моделирования (базовый вариант)

Если требуется уточнение, эти этапы повторяются вновь и вновь: формализация (проектирование), моделирование, интерпретация. Спираль! Вверх по кругу.

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

Поскольку моделирование - способ замещения реального объекта его аналогом, то возникает вопрос: насколько аналог должен соответствовать исходному объекту?

Вариант 1: соответствие - 100%. Очевидно, что точность решения в этом случае максимальна, а ущерб от применения модели минимален. Но затраты на построение такой модели бесконечно велики, так как объект повторяется во всех своих деталях; фактически, создаётся точно такой же объект путём копирования его до атомов (что само по себе не имеет смысла).

Вариант 2: соответствие - 0%. Модель совсем не похожа на реальный объект. Очевидно, что точность решения минимальна, а ущерб от применения модели максимален, бесконечен. Но затраты на построение такой модели нулевые.

Конечно, варианты 1 и 2 - это крайности. На самом деле модель создаётся из соображений компромисса между затратами на её построение и ущербом от неточности её применения. Это точка между двумя бесконечностями. То есть, моделируя, следует иметь в виду, что исследователь (моделировщик) должен стремиться к оптимуму суммарных затрат, включающих ущерб от применения и затраты на изготовление модели (см. рис. 1.2).

Рис. 1.2. Соотношение суммарных затрат и точности
для различных вариантов детализации прикладной модели

Просуммируйте две кривые затрат - получится одна кривая общих затрат. Найдите оптимум на суммарной кривой: он лежит между этими крайними вариантами. Видно, что неточные модели не нужны, но и абсолютная точность тоже не нужна, да и невозможна. Частое и распространённое заблуждение при построении моделей - требовать «как можно точнее».

«Модель - поиск конечного в бесконечном» - эта мысль принадлежит Д. И. Менделееву. Что отбрасывается, чтобы превратить бесконечное в конечное? В модель включаются только существенные аспекты, представляющие объект, и отбрасываются все остальные (бесконечное большинство). Существенный или несущественный аспект описания определяют согласно цели исследования. То есть каждая модель составляется с какой-то целью. Начиная моделирование, исследователь должен определить цель, отделив её от всех возможных других целей, число которых, по-видимому, бесконечно.

К сожалению, указанная на рис. 1.2 кривая является умозрительной и реально до начала моделирования построена быть не может. Поэтому на практике действуют таким образом: двигаются по шкале точности слева направо, то есть от простых моделей («Модель 1», «Модель 2»…) ко все более сложным («Модель 3», «Модель 4»…). А процесс моделирования имеет циклический спиралевидный характер: если построенная модель не удовлетворяет требованиям точности, то её детализируют, дорабатывают на следующем цикле (см. рис. 1.3).

Рис. 1.3. Спиралевидный характер процесса
проектирования и уточнения прикладных моделей

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

Из всего сказанного следует, что моделей может быть несколько: приближенная, более точная, ещё точнее и так далее. Модели как бы образуют ряд. Двигаясь от варианта к варианту, исследователь совершенствует модель. Для построения и совершенствования моделей необходима их преемственность, средства отслеживания версий и так далее, то есть моделирование требует инструмента и опирается на технологию.

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

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

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

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

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

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

Смежными моделированию предметами являются: программирование, математика, исследование операций.

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

Какова разница между алгоритмом и моделью?

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

Итак:

модель + вопрос + дополнительные условия = задача.

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

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

Проектирование - процесс создания объекта и его модели; моделирование - способ оценки результата проектирования; моделирования без проектирования не существует.

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

Рядом стоят дисциплины «Компьютерная графика» и «Модели и методы искусственного интеллекта» (см. рис. 1.4).

Рис. 1.4. Основные подсистемы при проектировании комплексных моделей

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

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

Заметим, что искусственный интеллект - достаточно большая модель, которая содержит обширную информацию об окружающем мире и мета-модели, умеющие её достраивать. Мета-модели имеют большое подобие с имитируемым ими человеком.

В зависимости от носителя различают модели: натурные, мысленные, математические, имитационные, графические, фотографические и так далее. Каждая из моделей обладает различной способностью к прогнозу свойств объекта. Например, по фотографии человека в анфас вряд ли можно верно представить, как выглядит его затылок. Приближение в виде трёхмерной модели - намного лучше, но можно ли с её помощью определить, когда, например, у виртуального человека вырастут волосы длиной 50 см? Имитационная модель ещё более информативна. Но наибольшей ценностью обладают модели, пригодные для решения задач, то есть обладающие прогностическими свойствами, умеющие отвечать на вопросы. Следует различать два понятия - «модель» и «задача». Модель связывает переменные между собой законами. Эти законы действуют независимо от того, какая сейчас задача стоит перед нами. Модель объективна, она подобна миру, который нас окружает, и содержит в себе информацию об этом. Структура мира (в общем смысле) неизменна, фундаментальна, модель, следовательно, тоже. А человек, как существо субъективное, имеющее собственные цели, часто меняющиеся желания, ставит, в зависимости от своих потребностей, каждый раз новые задачи, требует решить возникающие у него проблемы. Он ставит вопросы к окружающему миру, с законами которого нельзя не считаться. Удобно ставить вопросы к модели, которая содержит нужную информацию о мире. Поэтому задача - это совокупность вопроса и модели. Можно к модели задавать все новые и новые вопросы и при этом не менять модель, но менять задачу.

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

Рассмотрим пример.

Модель падения тела под углом к горизонту содержит информацию о координатах траектории, заданных в осях (x , y ): y = –x 2 + 4 · x – 3 (координаты тела в полете) - см. рис. 1.5.

Рис. 1.5. Траектория движения тела,
брошенного под углом к горизонту

Модель связывает две переменные y и x законом f (y , x ) = 0. Модель может быть расширена некоторыми исходными данными, например, так: y = –x 2 + 4 · x – 3, y = 0 (интересуют не все возможные значения y , а только точки на поверхности Земли).

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

Вопрос: x = ?

Теперь модель и вопрос вместе образовали задачу:

y = –x 2 + 4 · x – 3,
y = 0,
x = ?

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