Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие по информатике

.pdf
Скачиваний:
145
Добавлен:
21.03.2015
Размер:
2.03 Mб
Скачать

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

По зависимости от времени:

Статическое моделирование служит для описания поведения объекта в какой-либо момент времени.

Динамическое моделирование отражает поведение объекта во времени.

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

Не рерывное моделирование позволяет отразить непрерывные процессы.

Дискретно-не рерывное моделирование используется для случаев,

когда хотят выделить наличие как дискретных, так и непрерывных процессов.

По форме представления объекта:

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

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

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

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

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

81

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

ивыражает основные свойства его отношений с помощью определенной системы знаков или символов.

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

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

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

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

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

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

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

82

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

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

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

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

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

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

Натурным моделированием называют проведение исследования на реальном объекте с последующей обработкой результатов эксперимента на основе теории подобия. При функционировании объекта в соответствии

споставленной целью удается выявить закономерности протекания реального процесса.

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

Ком лексные ис ытания – вследствие повторения испытаний изделий выявляются общие закономерности о надежности этих изделий,

83

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

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

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

3. Информационные модели

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

Предметная

Концептуальная модель

 

область

 

 

Логическая модель

Математическая модель

Алгоритмическая модель

Программа

84

Рис. 22. Эта ы моделирования

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

4. Этапы моделирования

Рассмотрим основные этапы моделирования, представленные на рисунке 22.

I. Постановка задачи.

Оисание задачи. Задача формулируется на обычном языке. Главное здесь – определить объект моделирования и представить конечный результат.

Оределение целей моделирования. Прежде всего,

необходимо определить цели

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

II. Разработка модели.

Разработка информационной модели. Этот этап включает содержательное описание объекта с

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

85

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

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

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

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

III. Исследование модели.

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

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

86

Анализ результатов моделирования. Решающий этап – ответить на вопрос: «Продолжать исследование, либо заканчивать?» Полученные выводы часто способствуют проведению дополнительной серии экспериментов, подчас и изменению задачи. Если результаты не соответствуют целям поставленной задачи, значит, на предыдущих этапах были допущены ошибки. Это может быть:

-Неправильно отобранные существенные свойства объекта;

-Ошибки в формулах на этапе формализации;

-Неудачный выбор метода или среды моделирования;

-Нарушение технологических приемов при построении модели. Если такие ошибки выявлены, то требуется корректировка модели,

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

Контрольные вопросы по теме 6

1.Для какого объекта может быть построена модель?

2.Какие свойства объекта учитываются при построении его модели?

3.Что является моделью земли?

4. К какой модели относится представление файлов и каталогов

вкомпьютере?

5.К какому методу моделирования относится метод Монте-Карло?

6.Как классифицирую модели с учетом фактора времени?

7.С помощью какой модели можно описать изменение объектов во времени?

8.Какую модель представляет формула второго закона Ньютона?

9.Перечислите этапы моделирования.

10.На каком этапе осуществляется определение целей моделирования?

11.На каком этапе осуществляется проверка соответствия модели исходному объекту моделирования?

12.Приведите примеры информационных моделей.

13.Приведите примеры предметных моделей.

14.Приведите примеры вероятностной (стохастической) модели?

ТЕМА 7. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

1. Понятие алгоритма

Слово «алгоритм» происходит от латинского написания имени математика 19-го века Аль-Хорезми, который сформулировал правила выполнения алгоритмических действий. Первоначально под алгоритмами понимали только правила выполнения четырех арифметических действий.

87

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

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

Наличие алгоритма формализует процесс решения задачи, исключает рассуждение исполнителя.

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

Введение в рассмотрение понятия «исполнитель» позволяет определить

Алгоритм как точное и онятное ред исание ис олнителю совершить оследовательность действий, на равленных на достижение

оставленной цели.

Современное содержание понятия алгоритм можно определить

следующим образом:

 

 

 

 

Алгоритм точное

ред исание, которое задает ал оритмический

роцесс, начинающийся с

роизвольно о исходно о данно о и на рвленный

на олучение олностью о ределнно о

этим

исходным данным

результата.

 

 

 

 

Ал оритмический

роцесс

процесс

последовательного

преобразования конструктивных объектов, проходящий дискретными шагами. Каждый состоит в смене одного конструктивного объекта другим

Наиболее распространенными и привычными являются алгоритмы работы с величинами – числовыми, символьными, логическими и т. д.

2. Свойства алгоритмов

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

88

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

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

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

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

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

3. Элементы теории алгоритмов

Задача точного определения понятия алгоритма была решена в 30-х – 50-х годах XX века в работах Гильберта, Черча, Клини, Поста, Тьюринга, Маркова, которые легли в основу математической науки «Теория алгоритмов». В теоретических подходах к построению строгого определения понятия алгоритма исторически выделились три основные направления:

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

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

иТьюринга.

3.Разработано понятие нормального алгоритма российским математиком А. А. Марковым в начале 50-х годов XX века. Алгоритмом в некотором алфавите называется эффективно вычисляемая функция,

89

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

В технику термин «алгоритм» пришел вместе с кибернетикой. Понятие алгоритма помогло, например, точно определить, что значит эффективно задать последовательность управляющих сигналов. Теория алгоритмов оказала существенное влияние на развитие ЭВМ и практику программирования. С помощью этой теории были предугаданы основные концепции, заложенные в архитектуру и языки программирования ЭВМ. Алгоритмические модели, возникающие при реализации алгоритмов, породили 3 разных направления в программировании. Так, микропрограммирование строится на идеях машин Тьюринга, структурное программирование заимствовало свои конструкции из теории рекурсивных функций, языки символьной обработки информации (РЕФАЛ, ПРОЛОГ) берут начало от нормальных алгоритмов Маркова и систем Поста.

3. Формы представления алгоритма

Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: рафическо о и словесно о о исания,

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

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

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

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

ввиде комбинаций базовых алгоритмических структур. Таких базовых структур всего три: следование, ветвление и цикл. Характерной особенностью всех базовых структур является наличие одного входа и одного выхода.

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

90