Моделирование как метод познания. Информационное моделирование
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
1
Лекция 1
Рассматриваемые вопросы:
1. Моделирование как метод познания.
2. Классификация и формы представления моделей.
3. Методы и технологии моделирования.
4. Информационная модель объекта
Список используемой для подготовки литературы:
1) Могилев, А.В. Информатика: учеб. пособие для студ. пед. вузов / А.В. Могилев,
Н.И. Пак, Е.К. Хеннер; Под ред. Е.К. Хеннера. – М.: Издательский центр «Академия», 2009. – 848 с.
2) Информатика: экспресс-подготовка к интернет-тестированию: учеб. пособие / В.М.
Титов, О.Н. Рубальская, О.В. Маленкова и др.; под ред. О.Н. Рубальской. – М.:
Финансы и статистика; ИНФРА-М, 2010. – 240 с.
3) Бахвалов, Л. «Компьютерное моделирование: долгий путь к сияющим вершинам?» // Компьютерра, №40, 1997.
[1]
Глава 1
Подраздел 7
1.7. Информационное моделирование
1.7.1. Моделирование как метод решения прикладных задач
С точки зрения информатики, решение любой производственной или научной задачи
описывается следующей технологической цепочкой: «реальный объект – модель – алгоритм – программа – результаты – реальный объект». В этой цепочке очень важную роль
играет звено «модель» как необходимый, обязательный этап решения этой задачи. Под
моделью при этом понимается некоторый мысленный образ реального объекта (системы), отражающей существенные свойства объекта и заменяющий его в процессе решения задачи.
Модель – очень широкое понятие, включающее в себя множество способов представления изучаемой реальности. Различают модели материальные (натурные) и идеальные (абстрактные). Материальные модели основываются на чем-то объективном, существующем независимо от человеческого сознания (каких-либо телах или процессах).
Материальные модели делят на физические (например, авто- и авиамодели) и аналоговые, основанные на процессах, аналогичных в каком-то отношении изучаемому (например, процессы в электрических цепях оказываются аналогичными многим механическим,
химическим, биологическим и даже социальным процессам и могут быть использованы для
их моделирования). Границу между физическими и аналоговыми моделями провести можно весьма приблизительно, и такая классификация моделей носит условный характер.
Еще более сложную картину представляют идеальные модели, неразрывным образом связанные с человеческим мышлением, воображением, восприятием. Среди идеальных моделей можно выделить интуитивные модели, к которым относятся, например, произведения искусства – живопись, скульптура, литература, театр и т.д., но единого подхода к классификации остальных видов идеальных моделей нет. Иногда эти модели все разом относят к информационным. В основе такого подхода лежит расширительное толкование понятия «информация»: «информацией является почти все на свете, а может быть,
даже вообще все». Такой подход является не вполне оправданным, так как он переносит
информационную природу познания на суть используемых в процессе моделей — при
этом любая модель является информационной. Более продуктивным представляется такой подход к классификации идеальных моделей, при котором различают следующие модели.
Вербальные (текстовые) модели. Эти модели используют последовательности предложений на формализованных диалектах естественного языка для описания той или иной
области действительности (примерами такого рода моделей являются милицейский протокол, правила дорожного движения, настоящий учебник).
2
Математические модели – очень широкий класс знаковых моделей (основанных на
формальных языках над конечными алфавитами), широко использующих те или иные математические методы. Например, можно рассмотреть математическую модель звезды. Эта
модель будет представлять собой сложную систему уравнений, описывающих физические
процессы, происходящие в недрах звезды. Математической моделью другого рода являются, например, математические соотношения, позволяющие рассчитать оптимальный (наилучший с экономической точки зрения) план работы какого-либо предприятия.
Информационные модели – класс знаковых моделей, описывающих информационные процессы (возникновение, передачу, преобразование и использование информации)
в системах самой разнообразной природы.
Граница между вербальными, математическими и информационными моделями может
быть проведена весьма условно; возможно, информационные модели следовало бы считать подклассом математических моделей. Однако в рамках информатики как самостоятельной науки, отдельной от математики, физики, лингвистики и других наук, выделение
класса информационных моделей является целесообразным. Информатика имеет самое
непосредственное отношение и к математическим моделям, поскольку они являются основой применения компьютера при решении задач различной природы: математическая модель исследуемого процесса или явления на определенной стадии исследования преобразуется в компьютерную (вычислительную) модель, которая затем превращается в алгоритм
и компьютерную программу (рис. 1.31).
1.7.2. Основные понятия информационного моделирования
Остановимся на информационных моделях, отражающих процессы возникновения, передачи, преобразования и использования информации в системах различной природы.
Начнем с определения простейших понятий информационного моделирования.
Экземпляром будем называть представление предмета реального мира с помощью некоторого набора его характеристик, существенных для решения данной информационной
задачи (служащей контекстом построения информационной модели). Множество экземпляров, имеющих одни и те же характеристики и подчиняющиеся одним и тем же правилам,
называется объектом.
Таким образом, объект есть абстракция предметов реального мира, объединенных общими характеристиками и поведением (рис. 1.32).
Информационная модель какой-либо реальной системы состоит из объектов. Каждый
объект в модели должен быть обеспечен уникальным и значимым именем (а также идентификатором, служащим ключом для указания этого объекта, связи его с другими объектами
модели). Таким образом, обозначение, наименование объекта – это элементарная процедура, лежащая в основе информационного моделирования.
Объект представляет собой один типичный (но неопределенный) экземпляр чего-то в
реальном мире и является простейшей информационной моделью. Объекты представляют некие «сущности» предметов реального мира, связанные с решаемой задачей.
Большинство объектов, с которыми приходится встречаться, относятся к одной из
следующих категорий:
• реальный объект;
3
•
•
•
•
роль;
событие;
взаимодействия;
спецификации.
Реальный объект – это абстракция физически существующих предметов. Например, на
автомобильном заводе – это кузов автомобиля, двигатель, коробка передач; при перевозке
грузов – это контейнер, средство перевозки.
Роль – абстракция цели или назначения человека, части оборудования или Учреждения
(организации). Например, в университете как в учебном заведении - это студент, преподаватель, декан; в университете как в учреждении – это приемная комиссия, отдел кадров, бухгалтерия, деканат.
Событие – абстракция чего-то случившегося. Например, поступление заявления от абитуриента в приемную комиссию университета, сдача (или несдача) экзамена.
Взаимодействия – объекты, получаемые из отношений между другими объектами. Например, сделка, контракт (договор) между двумя сторонами, свидетельство об образовании, выдаваемое учебным заведением его выпускнику.
Объекты-спецификации используются для представления правил, стандартов или
критериев качества. Например, перечень знаний, умений и навыков выпускника математического факультета.
Для каждого объекта должно существовать его описание – короткое информационное
утверждение, позволяющее установить, является некоторый предмет экземпляром объекта
или нет. Например, описание объекта «Абитуриент университета» может быть следующим:
человек в возрасте до 35 лет, имеющий среднее образование, подавший в приемную комиссию документы и заявление о приеме.
Предметы реального мира имеют характеристики (такие, например, как имя название,
регистрационный номер, дата изготовления, масса и т.д.). Каждая отдельная характеристика, общая для всех возможных экземпляров объекта, называется атрибутом. Для каждого экземпляра атрибут принимает определенное значение. Так, объект Книга имеет атрибуты: «автор», «название», «год издания», «число страниц».
У каждого объекта должен быть идентификатор – множество из одного или более атрибутов, значения которых определяют каждый экземпляр объекта. Для книги атрибуты «автор»
и «название» совместно образуют идентификатор. В то же время «год издания» и «число
страниц» идентификаторами быть не могут - ни врозь, ни совместно, так как не определяют
объект. Объект может иметь и несколько идентификаторов, каждый из которых составлен
из одного или нескольких атрибутов. Один из них может быть выбран как привилегированный для соответствующей ситуации.
Объект может быть представлен вместе со своими атрибутами несколькими различными
способами. Графически объект может быть изображен в виде рамки, содержащей имя объекта и имена атрибутов. Атрибуты, которые составляют привилегированный идентификатор
объекта, могут быть выделены (например, символом * слева от имени атрибута):
В эквивалентном текстовом представлении это может иметь следующий вид: Книга (автор, название, год издания, число страниц).
Привилегированный идентификатор подчеркивается.
Еще одним способом представления объекта информационной модели является таблица. В этой интерпретации каждый экземпляр объекта является строкой в таблице, а значения атрибутов, соответствующих каждому экземпляру, - клетками строки (табл. 1.14).
Можно классифицировать атрибуты по принадлежности к одному из трех различных типов:
• описательные;
• указательные;
4
• вспомогательные.
Описательные атрибуты представляют факты, внутренне присущие каждому экземпляру объекта. Если значение описательного атрибута изменится, то это говорит о том, что
некоторая характеристика экземпляра изменилась, но сам экземпляр остался прежним.
Таблица 1.14 – Таблица как представление информационной модели
Книга
Автор
Название
Год издания Число страниц
Грин А.
Бегущая по волнам
1988
280
Стивенсон Р. П.
Скотт В.
Гончаров И. А.
Остров сокровищ
Ричард Львиное Сердце
Обрыв
1992
1993
1986
264
352
600
Указательные атрибуты могут использоваться как идентификаторы (или часть идентификаторов) экземпляра. Если значение указывающих атрибутов изменяется, то это говорит лишь о том, что новое имя дается тому же самому экземпляру. Вспомогательные атрибуты используются для связи экземпляра одного объекта экземпляром другого объекта.
Рассмотрим пример.
Атрибут «цвет» является описательным, атрибуты «гос. номер» и «марка» - указательными, атрибут «владелец» - вспомогательным, служащим для связи экземпляра объекта Автомобиль с экземпляром другого объекта, Автовладелец. Если Автовладелец продаст свой автомобиль кому-то, значение вспомогательного атрибута нужно будет изменить. Теперь экземпляр объекта Автомобиль будет связан с другим экземпляром объекта Автовладелец.
1.7.3. Связи между объектами
В реальном мире между предметами существуют различные отношения. Если предметы
моделируются как объекты, то отношения, которые систематически возникают между различными видами объектов, отражаются в информационных моделях как связи. Каждая
связь задается в модели определенным именем. Связь в графической форме представляется как линия между связанными объектами и обозначается идентификатором связи.
Существует три вида связи: «один-к-одному» (рис. 1.33), «один-ко-многим» (рис. 1.34)
и «многие-ко-многим» (рис. 1.35).
Связь «один-к-одному» существует, когда один экземпляр одного объекта связан с
единственным экземпляром другого. Связь «один-к-одному» обозначается стрелками ←
или →.
5
Связь «один-ко-многим» существует, когда один экземпляр первого объекта связан с
одним (или более) экземпляром второго объекта, но каждый экземпляр второго объекта
связан только с одним экземпляром первого. Множественность связи изображается двойной стрелкой →→.
Связь «многие-ко-многим» существует, когда один экземпляр первого объекта связан с одним или большим количеством экземпляров второго и каждый экземпляр второго
связан с одним или многими экземплярами первого. Этот тип связи изображается двусторонней стрелкой ↔.
Помимо множественности, связи могут подразделяться на безусловные и условные. В безусловной связи для участия в ней требуется каждый экземпляр объекта. В условной связи принимают участие не все экземпляры объекта. Связь может быть условной как с одной, так и с двух сторон.
Все связи в информационной модели требуют описания, которое, как минимум, включает:
• идентификатор связи;
• формулировку сущности связи;
• вид связи (ее множественность и условность);
• способ описания связи с помощью вспомогательных атрибутов объектов.
Дальнейшее развитие представлений информационного моделирования связано с
развитием понятия связи, структур, ими образуемых, и задач, которые могут быть решены
на этих структурах.
Нам уже известна простая последовательная структура экземпляров – очередь (рис.
1.36, а). Эта структура предполагает последовательную обработку, выполнение каких-то
действий. Если после обработки последнего в очереди экземпляра (Z) происходит возврат к первому (А), то мы приходим к циклической информационной модели (рис. 1.36, б).
Возможными обобщениями информационных моделей являются таблица (см. табл. 1.12),
стек (см. рис. 1.29).
Очень важную роль играет древовидная информационная модель (рис. 1.36, в), являющаяся одной из самых распространенных типов классификационных структур. Эта
модель строится на основе связи, отражающей отношение части к целому: «А есть часть
М» или «М управляет А». Очевидно, древовидная связь является безусловной связью типа «один-ко-многим».
Таким образом, типы данных в программировании, обсуждавшиеся в предыдущем
подразделе, тесно связаны с определенными информационными моделями данных.
Еще более общей информационной моделью является так называемая графовая
структура (рис. 1.37). Графовые структуры являются основой решения огромного количества задач информационного моделирования.
6
Многие прикладные задачи информационного моделирования были поставлены и
изучены достаточно давно, в 1950-1960-х гг., в связи с активно развивавшимися тогда исследованиями и разработками по научным основам управления в системах различной
природы и в связи с попытками смоделировать с помощью компьютеров психическую
деятельность человека при решении творческих интеллектуальных задач. Научное знание и модели, которые были получены в ходе решения этих задач, объединены в науке
под названием «Кибернетика», в рамках которой существует раздел «Исследования по
искусственному интеллекту».
Глава 7. КОМПЬЮТЕРНОЕ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Настоящая глава посвящена той из компьютерных технологий обработки информации, ради которой когда-то создали первую ЭВМ и ради которой сегодня в значительной мере создают суперЭВМ — решению прикладных научно-технических задач,
среди которых задачи математического моделирования составляют большую долю.
Абстрактное моделирование с помощью компьютеров — вербальное, информационное, математическое — в наши дни стало одной из исключительно мощных в познавательном плане информационных технологий. Изучение компьютерного математического
моделирования открывает широкие возможности для осознания связи информатики с математикой и другими науками — естественными и социальными.
В данной главе в значительной степени на примерах моделей из разных областей
знания показаны некоторые типичные задачи компьютерного математического моделирования. Их решение способствует выработке тех навыков, которые необходимы специалисту в области информатики.
Отметим, что, говоря о математических моделях, мы имеем в виду сугубо прикладной
аспект. В современной математике есть достаточно формализованный подход к понятию
«математическая модель». Внутри него вполне допустимо игнорировать вопрос о связи
математики с реалиями физического мира. В этом подходе моделями являются, например, система целых чисел, система действительных чисел, евклидова геометрия, алгебраическая группа, топологическое пространство и т.д.
К исследованию таких формальных моделей вполне можно подключить компьютеры,
но все равно это останется «чистой» математикой. В данной главе термин «математическая модель» увязывается с некоторой предметной областью, сущностью окружающего
мира.
Компьютерное математическое моделирование в разных своих проявлениях использует практически весь аппарат современной математики.
В данной главе предполагается знание основ математики:
1) теории дифференциальных уравнений;
2) аппроксимации функций (включая интерполяцию и среднеквадратичные приближения);
3) аналитической геометрии на плоскости и в пространстве;
4) математической статистики;
5) численных методов:
а) решения алгебраических и трансцендентных уравнений;
б) решения систем линейных алгебраических уравнений;
в) интегрирования обыкновенных дифференциальных уравнений и их систем
(задача Коши).
7.1. О разновидностях моделирования
С понятием «модель» мы сталкиваемся с детства. Игрушечный автомобиль, самолет
или кораблик для многих были любимыми игрушками, равно как и плюшевый медвежонок
или кукла. В развитии ребенка, в процессе познания им окружающего мира, такие игрушки, являющиеся, по существу, моделями реальных объектов, играют важную роль. В подростковом возрасте для многих увлечение авиа-, судомоделированием, собственноручным созданием игрушек, похожих на реальные объекты, оказало влияние на выбор жизненного пути.
Что же такое модель? Что общего между игрушечным корабликом и рисунком на эк-
7
ране компьютера, изображающим сложную математическую абстракцию? И все же общее
есть: и в том, и в другом случае мы имеем образ реального объекта или явления, «заместителя» некоторого «оригинала», воспроизводящего его с той или иной достоверностью и подробностью. Или то же самое другими словами: модель является представлением объекта в некоторой форме, отличной от формы его реального существования.
Практически во всех науках о природе, живой и неживой, об обществе построение и
использование моделей является мощным орудием познания. Реальные объекты и процессы бывают столь многогранны и сложны, что лучшим способом их изучения часто является построение модели, отображающей лишь какую-то грань реальности и потому
многократно более простой, чем эта реальность, и исследование вначале этой модели.
Многовековой опыт развития науки доказал на практике плодотворность такого подхода.
В моделировании есть два разных пути. Модель может быть похожей копией объекта,
выполненной из другого материала, в другом масштабе, с отсутствием ряда деталей, например игрушечный кораблик, самолетик, домик из кубиков и множество других натурных
моделей. Модель может, однако, отображать реальность более абстрактно — словесным
описанием в свободной форме, описанием, формализованным по каким-то правилам, математическими соотношениями и т.д.
В прикладных областях различают следующие виды абстрактных моделей:
1) традиционное математическое моделирование (прежде всего для теоретической физики, а также механики, химии, биологии, ряда других наук) без какойлибо привязки к техническим средствам информатики;
2) информационные модели и моделирование, имеющие приложения в информационных системах;
3) вербальные (т.е. словесные, текстовые) языковые модели;
4) информационные (компьютерные) технологии, которые надо делить на:
а) инструментальное использование базовых универсальных программных
средств (текстовых редакторов, СУБД, табличных процессоров, телекоммуникационных пакетов);
б) компьютерное моделирование, представляющее собой:
9 вычислительное (имитационное) моделирование;
9 визуализацию явлений и процессов (графическое моделирование);
9 высокие технологии, понимаемые как специализированные прикладные технологии, использующие компьютер (как правило, в режиме реального времени) в сочетании с измерительной аппаратурой, датчиками, сенсорами и т.д.
Итак, укрупненная классификация абстрактных (идеальных) моделей такова.
1. Вербальные (текстовые) модели. Эти модели используют последовательности
предложений на формализованных диалектах естественного языка для описания
той или иной области действительности (примерами такого рода моделей являются милицейский протокол, правила дорожного движения).
2. Математические модели. Очень широкий класс знаковых моделей (основанных на
формальных языках над конечными алфавитами), широко использующих те или
иные математические методы. Например, можно рассмотреть математическую
модель звезды. Эта модель будет представлять собой сложную систему уравнений, описывающих физические процессы, происходящие в недрах звезды. Математической моделью другого рода являются, например, математические соотношения, позволяющие рассчитать оптимальный (наилучший с экономической точки
зрения) план работы какого-либо предприятия.
3. Информационные модели. Класс знаковых моделей, описывающих информационные процессы (возникновение, передачу, преобразование и использование
информации) в системах самой разнообразной природы.
Граница между вербальными, математическими и информационными моделями может быть проведена весьма условно; вполне возможно считать информационные модели
подклассом математических моделей. Однако в рамках информатики как самостоятельной науки, отделенной от математики, физики, лингвистики и других наук, выделение ин-
8
формационных моделей в отдельный класс является целесообразным.
Отметим, что существуют и иные подходы к классификации абстрактных моделей;
общепринятая точка зрения здесь еще не установилась. В частности, есть тенденция резкого расширения содержания понятия «информационная модель», при котором информационное моделирование включает в себя и вербальные, и математические модели.
Основное содержание данной главы связано с прикладными математическими моделями, в реализации которых используются компьютеры. Это вызвано тем, что внутри информатики именно компьютерное математическое и информационное моделирование
могут рассматриваться как ее составные части. Компьютерное математическое моделирование связано с информатикой технологически; использование компьютеров и соответствующих технологий обработки информации стало неотъемлемой и необходимой
стороной работы физика, инженера, экономиста, эколога, проектировщика ЭВМ и т.д.
Неформализованные вербальные модели не имеют столь явно выраженной привязки к
информатике — ни в принципиальном, ни в технологическом аспектах.
[2]
5. МОДЕЛИ РЕШЕНИЯ ФУНКЦИОНАЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ
5.1. Моделирование как метод познания
Модель представляет собой некоторое упрощенное подобие реального объекта, явления или процесса, которое отражает их существенные особенности (свойства).
Моделирование – это метод познания, который заключается в исследовании объекта
по его модели.
Каждый объект имеет большое количество различных свойств. В процессе построения модели выделяются главные, наиболее существенные, свойства. В зависимости от
целей исследования одни и те же объекты и процессы могут описываться различными
моделями. С другой стороны, разные объекты могут описываться одной моделью. Например, табличная модель представления данных может описывать характеристики различных объектов.
Модель может быть построена для любого объекта, явления или процесса.
Метод моделирования применяется в случае, если:
• проведение исследования самого объекта связано с большими затратами;
• оригинал объекта не существует в действительности (например, модели новых автомобилей);
• исследуемый процесс протекает очень быстро или очень медленно;
• исследование объекта приводит к его разрушению или представляет опасность для
окружающей среды и т.д.
5.2. Классификация моделей
По способу представления модели подразделяются на материальные и абстрактные
(информационные).
Материальные модели воспроизводят геометрические и физические свойства исследуемого объекта и всегда имеют реальное воплощение. Материальные модели иначе
называют предметными, физическими. Примерами материальных моделей могут служить
макет автомобиля, манекен в магазине одежды и т.д.
Абстрактные (информационные) модели не имеют материального воплощения.
Они строятся на основе информации об изучаемом объекте или процессе.
С учетом фактора времени модели подразделяются на статические и динамические.
В статических моделях отсутствует параметр времени. Объект изучается в некоторой фиксированный момент времени или когда он не проявляет своих динамических
свойств.
9
Динамическая модель позволяет проследить изменения объекта во времени.
Модель называется детерминированной, если каждому набору входных параметров
модели всегда соответствует единственный набор выходных параметров. В противном
случае модель называется недетерминированной, или стохастической, вероятностной
моделью.
Дискретные модели предназначены для исследования дискретных во времени или в
пространстве объектов и процессов, а непрерывные – для исследования непрерывных
процессов.
5.3. Информационные модели
5.3.1. Знаковые и вербальные модели
Вербальная (описательная) модель – это словесное описание объекта, которое
отображает его существенные свойства и особенности.
Описательные информационные модели служат основой для построения формализованных моделей. Формализация – это процесс построения информационных моделей с
помощью формальных языков.
Знаковая модель – это информационная модель, выраженная специальными знаками, т.е. средствами любого формального языка. Знаками могут быть символы, пиктограммы, рисунки, диаграммы и т.д. В таких моделях связи между знаками задаются правилами, принятыми в той области, к которой относится знаковая модель.
5.3.2. Функциональные и структурные модели
Функциональная модель – это информационная модель, отражающая определенные функции объекта. В функциональных моделях описываются зависимости между
входными и выходными параметрами объекта, при этом состав элементов и структура
объекта могут быть строго не определены.
Структурная модель – это информационная модель, отражающая состав и структуру
изучаемого объекта в графической форме.
В наиболее общем виде структурная модель может быть представлена в виде графа.
Граф состоит из вершин, которые соединяются ребрами. Вершины обычно изображаются
в виде кружков, а ребра – линиями.
В структурной модели элементы объекта соответствуют вершинам графа, а связи
между элементами объекта (отношения) – ребрам графа. Две соседние вершины графа,
связанные ребрами, называются смежными.
В иерархической структуре (рис. 5.1) между элементами объекта существуют отношения подчиненности. Граф иерархической структуры называется деревом. У дерева
имеется одна главная вершина, которая называется корнем дерева. Эта вершина изображается вверху и от нее идут ветви дерева. От корня начинается отсчет уровней. Вершины, непосредственно связанные с корнем, образуют первый уровень. От них идут связи к вершинам второго уровня и т.д. каждая вершина дерева (кроме корня) имеет одну
исходную вершину на предыдущем уровне и может иметь множество порожденных вершин на следующем уровне. Такой принцип связи называется «один-ко-многим». Вершины, которые находятся на нижнем уровне иерархии, называются листьями. Примером
информационной модели, имеющей иерархическую структуру, может служить любая модель классификации объектов.
1
2
6
7
3
4
5
8 9 10
11
14
12 13
Рис. 5.1
10
1
3
6
2
4
7
5
8
Рис. 5.2
В сетевой структуре (рис. 5.2) любые пары вершин могут быть смежными. Сетевая
структура характеризуется наличием множества различных путей перемещения по ребрам между некоторыми парами вершин. Между элементами сетевой структуры существуют отношения «многие-ко-многим». Примером информационной модели, имеющей сетевую структуру, может служить модель архитектуры компьютерной сети Интернет. Информационная модель объекта, представленная в виде графа, всегда может быть преобразована в табличную модель.
5.3.3. Математические модели
Математическая модель – это информационная модель объекта или процесса,
представленная в виде математических формул, уравнений, неравенств и т.д.
Процесс преобразования описательной информационной модели объекта в математическую модель носит название математической формализации.
При построении математических моделей используется весь арсенал, накопленных
знаний по математике. В зависимости от самого объекта или процесса и целей моделирования применяются различные математические методы:
• непрерывно-детерминированный (дифференциальные уравнения, уравнения состояния);
• дискретно-детерминированный (конечные автоматы);
• дискретно-стохастический (вероятностные автоматы);
• непрерывно-стохастический (системы массового обслуживания) и т.д.
Если зависимость между отдельными параметрами объекта может быть выражена
через математическую функцию, то такую модель называют аналитической.
5.3.4. Компьютерные модели
Компьютерная модель – это информационная модель объекта или процесса, представленная в виде программного кода.
Реализованная на компьютере математическая модель называется компьютерной
математической моделью, а проведение целенаправленных расчетов с помощью компьютерной модели называется вычислительным экспериментом.
Компьютерные модели, воспроизводящие поведение сложных систем, для описания
которых нет однозначного математического аппарата, называются имитационными
моделями.
5.4. Этапы моделирования
Первым этапом построения модели является постановка задачи, которая определяется заданной целью. Основными целями моделирования могут быть:
• создание новых и модернизация существующих объектов;
• изучение основных свойств и законов развития объекта;
• определение способов управления объектом и т.д.
На втором этапе осуществляется сбор информации об объекте, производится анализ объекта, определяются входные и выходные параметры модели. Выявляются самые
11
существенные свойства объекта и определяются свойства объекта, которыми можно пренебречь в процессе моделирования. Результатом анализа является упрощенная описательная модель.
Третий этап – создание формальной модели. На этом этапе происходит объединение (синтез) всех существенных характеристик объекта и описание объекта заменяется
его формальной моделью, т.е. модель объекта приобретает определенную форму, которая может быть выражена в виде чертежа, математической формулы или схемы. Для математических моделей производится выбор метода решения. Для построения компьютерных моделей разрабатываются алгоритмы и пишутся программные кода.
Четвертый этап – моделирование. На этом этапе модель выступает как самостоятельный объект исследования. Результатом моделирования является множество знаний
о поведении модели и ее свойствах.
Пятый этап – анализ результатов моделирования. Проводится оценка результатов
моделирования, определяется погрешность моделирования, выясняется, насколько модель соответствует реальному объекту или процессу (адекватность модели), выясняется, достигнута ли цель моделирования. Процесс проверки соответствия модели объекту
моделирования с заданной степенью точности называется верификацией.
Моделирование – циклический процесс. Недостатки, обнаруженные после первого
цикла моделирования, обусловленные малым знанием объекта или ошибками в построении модели, исправляются в последующих циклах.
[3]
Часть 1. Моделирование и системный анализ
Исторически случилось так, что первые работы по компьютерному моделированию
были связаны с физикой, где с помощью моделирования решался целый ряд задач гидравлики, фильтрации, теплопереноса и теплообмена, механики твердого тела и т.д. Моделирование в основном представляло собой решение сложных нелинейных задач математической физики с помощью итерационных схем (за исключением разве тех задач, где
использовался метод Монте-Карло), и по существу было оно, конечно, моделированием
математическим. Успехи математического моделирования в физике способствовали распространению его на задачи химии, электроэнергетики, биологии и некоторых других дисциплин, причем схемы моделирования не слишком отличались друг от друга. Сложность
решаемых с помощью моделирования задач всегда ограничивалась лишь мощностью
имеющихся ЭВМ.
Надо заметить, что подобный вид моделирования весьма широко распространен и в
настоящее время. Более того, за время развития методов моделирования на ЭВМ при
решении задач фундаментальных и смежных предметных областей накоплены целые
библиотеки подпрограмм и функций, облегчающих применение и расширяющих возможности моделирования. И все же в настоящее время понятие «компьютерное моделирование» обычно связывают не с фундаментальными дисциплинами, а в первую очередь с
системным анализом – направлением кибернетики, впервые заявившим о себе в начале
50-х годов при исследовании сложных систем в биологии, макроэкономике, при создании
автоматизированных экономико-организационных систем управления.
Системный анализ стремительно сформировался сначала в весьма модное направление науки об управлении сложными системами, а затем по мере развития – в методологию, а точнее, в нечто безбрежное, таинственное, доступное только самым могучим
умам. Они с гордостью называли себя системными аналитиками и, как и положено после
канонизации, возвышались над тысячами инженеров и программистов, работая в таинственных Институтах Системного Анализа Сложных, Очень Сложных и Совсем Сложных
Систем, публикуя работы с названиями типа «Теория декомпозиции сингулярных, квазилинейных, иерархических макросистем рефлексивного типа». Однако по истечении некоторого времени обнаружилась странная особенность подобных работ: они существовали
сами по себе, а многочисленные практические работы по системному анализу и управлению реальными объектами выполнялись сами по себе, без какой-либо связи с этими тео-
12
ретическими изысканиями. Более того, обнаружилась странная особенность системного
анализа: в чистом виде весь предмет может быть сведен к нескольким, интуитивно довольно прозрачным «принципам системного анализа», выглядящим как библейские заповеди, - принцип иерархичности, принцип единства целей, принцип эмерджентности и др.
Общая теория систем, концепция которой впервые была сформулирована в 50-е годы
Л. Берталанфи и которая, казалось бы, должна составлять теоретический фундамент
системного анализа, сегодня так же далека от завершения, как и в 60-е годы, если не считать некоторых результатов, имеющих исключительно абстрактный, математический характер. Основные же методы и процедуры, используемые обычно при системном анализе, заимствованы из других дисциплин, в большой степени – из исследования операций,
появившейся раньше, чем системный анализ. Заимствованы и другие методы, которые
обычно связывают с системным анализом – теория игр, теория принятия решений, математическое программирование, теория динамических систем и др. Более того, при тщательном рассмотрении истории возникновения и перспектив развития системного анализа нельзя обнаружить даже тенденций зарождения в его недрах единого подхода к анализу сложных систем. Не говоря уже об оформлении его в строгую и законченную теорию,
напоминающую по стройности хотя бы теорию систем массового обслуживания.
В чем же тут дело? Как было впервые замечено профессором Б.Г.Юдиным и впоследствии уточнено академиком Н.Н. Моисеевым, крупнейшим советским специалистом в
области системного анализа, центральной процедурой в системном анализе является построение обобщенной модели, отображающей все факторы и взаимосвязи реальной ситуации, которые могут проявиться в процессе решения. Иными словами, построение
математических моделей является основой всего системного анализа, центральным этапом исследования или проектирования любой системы.
Конечно же, по сравнению с гордым и звучным термином «системный анализ», «моделирование» звучит куда более скромно, тем более что каждому понятно – любое моделирование сопряжено с приземленными вещами: сбором, сортировкой и обработкой данных. К тому же эти экспериментальные данные и факты подчас обладают целым рядом
неприятных особенностей: то их слишком много, и не ясно, как их учесть или сократить;
то их слишком мало, и не ясно, где взять недостающие. Наконец, факты/данные просто
противоречат друг другу или того хуже – данным вашего коллеги или оппонента. А если
добавить сюда проблемы воспроизводимости, проблемы пропущенных данных, проблемы размерностей, трудности с организацией поиска, накопления и систематизации, то
станет очевидным: в таких условиях не до высоких сияющих вершин системного анализа
и общих теорий сложных систем. И, тем не менее, именно моделирование является сутью системного анализа. Разберемся с этим более подробно.
Часть 2. Виды моделирования. Компьютерное моделирование
Моделирование представляет собой один из основных методов познания, является
формой отражения действительности и заключается в выяснении или воспроизведении
тех или иных свойств реальных объектов, предметов и явлений с помощью других объектов, процессов, явлений, либо с помощью абстрактного описания в виде изображения,
плана, карты, совокупности уравнений, алгоритмов и программ.
Возможности моделирования, то есть перенос результатов, полученных в ходе построена исследования модели, на оригинал, основаны на том, что модель в определенном смысле отображает (воспроизводит, моделирует, описывает, имитирует) некоторые интересующие исследователя черты объекта. Моделирование как форма
отражения действительности широко распространено, и достаточно полная классификация возможных видов моделирования крайне затруднительна, хотя бы в силу многозначности понятия «модель», широко используемого не только в науке и технике, но искусстве, и в повседневной жизни. Тем не менее, применительно к естественным и техническим
наукам принято различать следующие виды моделирования:
• концептуальное моделирование, при котором совокупность уже известных фактов
или представлений относительно исследуемого объекта или системы истолковывается с помощью некоторых специальных знаков, символов, операций над ними
13
или помощью естественного или искусственного языков;
• физическое (натурное) моделирование, при котором модель и моделируемый
объект представляют собой реальные объекты или процессы единой или различной физической природы, причем между процессами в объекте-оригинале и в модели выполняются некоторые соотношения подобия, вытекающие из схожести физических явлений;
• структурно-функциональное моделирование, при котором моделями являются
схемы (блок-схемы), графики, чертежи, диаграммы, таблицы, рисунки, дополненные специальными правилами их объединения и преобразования;
• математическое (логико-математическое) моделирование, при котором моделирование, включая построение модели, осуществляется средствами математики и логики;
• имитационное
(компьютерное)
моделирование,
при
котором
логикоматематическая модель исследуемого объекта представляет собой алгоритм
функционирования объекта, реализованный в виде программного комплекса для
компьютера.
Разумеется, перечисленные выше виды моделирования не являются взаимоисключающими и могут применяться при исследовании сложных объектов либо одновременно,
либо в некоторой комбинации. Кроме того, в некотором смысле концептуальное и, скажем, структурно-функциональное моделирование неразличимы между собой, так как
блок-схемы, конечно же, являются специальными знаками с установленными операциями
над ними.
Традиционно под моделированием на ЭВМ понималось лишь имитационное моделирование. Можно, однако, увидеть, что и при других видах моделирования компьютер может быть весьма полезен. Например, при математическом моделировании выполнение
одного из основных этапов – построение математических моделей по экспериментальным данным – в настоящее время просто немыслимо без компьютера. В последние годы,
благодаря развитию графического интерфейса и графических пакетов, широкое развитие
получило компьютерное структурно-функциональное моделирование, о котором подробно поговорим ниже. Положено начало привлечения компьютера даже к концептуальному
моделированию, где он используется, например, при построении систем искусственного
интеллекта.
Таким образом, мы видим, что понятие «компьютерное моделирование» значительно
шире традиционного понятия «моделирование на ЭВМ» и нуждается в уточнении, учитывающем сегодняшние реалии.
Начнем с термина «компьютерная модель». В настоящее время под компьютерной
моделью чаще всего понимают:
• условный образ объекта или некоторой системы объектов (или процессов), описанный с помощью взаимосвязанных компьютерных таблиц, блок-схем, диаграмм,
графиков, рисунков, анимационных фрагментов, гипертекста и т. д. и отображающий структуру элементов объекта и взаимосвязи между ними. Компьютерные модели такого вида мы будем называть структурно-функциональными;
• программу или программный комплекс, позволяющий с помощью последовательности вычислений и графического отображения их результатов воспроизводить
(имитировать) процессы функционирования объекта, системы объектов при условии воздействия на объект различных, как правило, случайных, факторов. Такие
модели мы будем далее называть имитационными.
Компьютерное моделирование – метод решения задачи анализа или синтеза
сложной системы на основе использования ее компьютерной модели. Суть компьютерного моделирования заключена в получении количественных и качественных
результатов по имеющейся модели. Качественные выводы, получаемые по результатам анализа, позволяют обнаружить неизвестные ранее свойства сложной системы: ее
структуру, динамику развития, устойчивость, целостность и др. Количественные выводы в
основном носят характер прогноза некоторых будущих или объяснения прошлых значений переменных, характеризирующих систему.
14
Предметом компьютерного моделирования могут быть: экономическая деятельность
фирмы или банка, промышленное предприятие, информационно-вычислительная сеть,
технологический процесс, любой реальный объект или процесс, например процесс инфляции, и вообще – любая сложная система. Цели компьютерного моделирования могут
быть различными, однако наиболее часто моделирование является, как уже отмечалось
ранее, центральной процедурой системного анализа, причем под системным анализом
мы далее понимаем совокупность методологических средств, используемых для подготовки и принятия решений экономического, организационного, социального или технического характера.
Компьютерная модель сложной системы должна, по возможности, отображать
все основные факторы и взаимосвязи, характеризующие реальные ситуации, критерии и ограничения. Модель должна быть достаточно универсальной, чтобы описывать
близкие по назначению объекты, и в то же время достаточно простой, чтобы позволить
выполнить необходимые исследования с разумными затратами.
Все это говорит о том, что моделирование систем, рассматриваемое в целом, представляет собой скорее искусство, чем сформировавшуюся науку с самостоятельным набором средств отображения явлений и процессов реального мира. Поэтому исключительно сложными, а по нашему мнению, и невозможными, являются попытки классификации задач компьютерного моделирования или создания достаточно универсальных инструментальных средств компьютерного моделирования произвольных объектов. Однако
если преднамеренно сузить класс рассматриваемых объектов, ограничившись, например,
задачами компьютерного моделирования при системном анализе объектов экономикоорганизационного управления, то возможно отобрать ряд достаточно универсальных
подходов и программных средств.