Тема № 10. Сложные системы
Рассмотрим систему, состоящую из некоторого числа компонент. Нашей конечной целью будет построение модели системы, описывающей ее поведение, и обладающей предсказательными свойствами. Каждая из компонент системы имеет свои свойства и характер поведения в зависимости от собственного состояния и внешних условий. Если все возможные проявления системы сводятся к сумме проявлений ее компонент, то такая система является простой, несмотря на то, что число ее компонент может быть велико. Для описания простых систем традиционно применяются методы анализа, состоящие в последовательном расчленении системы на компоненты и построении моделей все более простых элементов.
Современные технические системы (инженерные сооружения, приборные комплексы, транспортные средства и др.) приближаются к такому уровню сложности, когда их наблюдаемое поведение и свойства не сводятся к простой сумме свойств отдельных компонент. При объединении компонент в систему возникают качественно новые свойства, которые не могут быть установлены посредством анализа свойств компонент.
Такие системы, в которых при вычленении компонент могут быть потеряны принципиальные свойства, а при добавлении компонент возникают качественно новые свойства, будем называть сложными. Модель сложной системы, основанная на принципах анализа, будет неустранимо неадекватной изучаемой системе, поскольку при разбиении системы на составляющие ее компоненты теряются ее качественные особенности.
Степень сложности зависит от уровня абстракции при рассмотрении системы. Например, куча песка может рассматриваться как сложная система, поскольку нажатие на одну песчинку увеличивает силы давления на все другие песчинки в куче, а эти песчинки, в свою очередь, отвечают на это легкой деформацией, вызывающей силы противодействия. Фондовая биржа – другой пример сложной системы, где покупатели и продавцы меняют свое поведение при изменении поведения других покупателей и продавцов. Такая система, как фондовая биржа, где поведение элементов меняется в результате действий других элементов, называется сложной адаптивной, или самоприспосабливающейся, системой.
Наиболее важным результатом компьютерных исследований сложных адаптивных систем стало понятие неожиданное свойство (эмерджентность). Возьмем в качестве примера простую кучу песка. Если вы будете добавлять песчинки к куче, то рано или поздно неожиданно появится новый тип поведения. Когда вы добавите миллионную песчинку, произойдет сход лавины – такое поведение принципиально отличается от явления передачи давления, которое имело место ранее. Другими словами, с этой миллионной песчинкой мы достигаем точки, где понятие «больше» превращается в «иное».
Важной чертой неожиданных свойств является то, что они не появляются постепенно. Иначе говоря, одна песчинка не приведет к образованию миллионной части лавины. Вы не увидите вовсе никаких лавин до тех пор, пока не дойдете до этой миллионной песчинки, и только тогда внезапно образуется лавина.
^ Определение сложной системы.
Существует ряд подходов к разделению систем по сложности. Например, в зависимости от числа элементов, входящих в систему, выделяет четыре класса систем:
малые системы (10...103 элементов),
сложные (104...107 элементов),
ультрасложные (107. ..1030 элементов),
суперсистемы (1030.. .10200 элементов).
Так как понятие элемента возникает относительно задачи и цели исследования системы, то и данное определение сложности является относительным, а не абсолютным.
Английский кибернетик С. Бир классифицирует все кибернетические системы на простые и сложные в зависимости от способа описания: детерминированного или теоретико-вероятностного. А. И. Берг определяет сложную систему как систему, которую можно описать не менее чем на двух различных математических языках (например, с помощью теории дифференциальных уравнений и алгебры Буля).
Очень часто сложными системами называют системы, которые нельзя корректно описать математически, либо потому, что в системе имеется очень большое число элементов, неизвестным образом связанных друг с другом, либо неизвестна природа явлений, протекающих в системе.
^ Четкой границы, отделяющей простые системы от сложных, нет. Деление это условное и возникло из-за появления систем, имеющих в своем составе совокупность подсистем с наличием функциональной избыточности. Простая система может находиться только в двух состояниях: состоянии работоспособности (исправном) и состоянии отказа (неисправном) (лампа накаливания). При отказе элемента простая система либо полностью прекращает выполнение своей функции, либо продолжает ее выполнение в полном объеме, если отказавший элемент резервирован. Большая система при отказе отдельных элементов и даже целых подсистем не всегда теряет работоспособность, зачастую только снижаются характеристики ее эффективности. Это свойство больших систем обусловлено их функциональной избыточностью и, в свою очередь, затрудняет формулировку понятия «отказ» системы. (Программные системы)
^ Предел Бреммермана
Для решения системной задачи данные о системе объекта необходимо физически закодировать. Общим способом кодирования данных является их представление в виде энергетических уровней величиной ΔЕ энергии решения системной задачи Е, которой мы располагаем. Число энергетических уровней согласно принципу в этом случае будет равно N = E/ΔE. Максимальное число физически разрешимых уровней для заданного количества энергии определяется принципом неопределенности Гейзенберга. Невозможность безошибочно измерить энергию квантовой системы и определить момент времени, в который она обладает этой энергией. То есть, если мы проводим измерение состояния квантовой системы на предмет определения ее энергии, это измерение займет некоторый отрезок времени – назовем его Δt. За этот промежуток времени энергия системы случайным образом меняется – происходят ее флуктуация, – и выявить ее мы не можем. Согласно этому принципу величина уровня должна удовлетворять условию ΔE•Δt ≥ h, где Δt — длительность интервала наблюдения h = 6•6,25•10-27 эрг/c — постоянная Планка. Из этого следует:
N ≤ E•Δt/h
Тогда с учетом формулы Энштейна Е = mc2 (где с = 3•1010 см/c — скорость света, m — количество массы), получим:
N = mc2•Δt/h
Отсюда следует, что измеритель массой 1 г за время 1 сек может обработать не более N = 1,36•1047 бит данных.
Представим гипотетический измеритель массой равной массе Земли m = 6•1027 г. Этот измеритель за время равное времени существования Земли лет смог бы обработать порядка 1093 бит данных. Это число обычно называют пределом Бреммермана.
^ Вычислительная сложность задачи
Предел Бреммермана дает оценку сложности задачи с точки зрения объема данных, который необходимо обработать для решения задачи. Однако возможны условия, при которых задача может находиться за пределом Бреммермана, но являться практически неразрешимой.
Характерные особенности сложных систем. К ним относятся:
большое число элементов в системе (сложность системы);
взаимосвязь и взаимодействие между элементами;
иерархичность структуры управления;
обязательное наличие человека в контуре управления, на которого возлагается часть наиболее ответственных функций управления.
1. Сложность системы. Пусть имеется совокупность из n элементов. Если они изолированы, не связаны между собой, то эти n элементов еще не являются системой. Для изучения этой совокупности достаточно провести не более чем n исследований. В общем случае в системе связь элемента А с элементом Б не эквивалентна связи элемента Б с элементом А, и поэтому необходимо рассматривать п(п–1) связей. Если характеризовать состояние каждой связи наличием или отсутствием в данный момент, то общее число состояний (для такого самого простого поведения) системы будет равно 2n. Даже при небольших п это фантастическое число. Например, пусть п = 10. Число связей п(п–1) = 90. Поэтому изучение БС путем непосредственного обследования ее состояний оказывается весьма громоздким. Следовательно, необходимо использовать ЭВМ и разрабатывать методы, позволяющие сократить число обследуемых состояний БС.
^ 2. Взаимосвязь и взаимодействие между элементами в БС. Разделение системы на элементы и подсистемы может быть произведено различными способами. Внутренняя структура элемента при этом не является предметом исследования. Имеют значение только свойства, определяющие его взаимодействие с другими элементами системы и оказывающие влияние на характер системы в целом.
^ 3. Иерархичность структуры управления. Управление в БС может быть централизованным и децентрализованным. Централизованное управление предполагает концентрацию функции управления в одном центре БС. Децентрализованное – распределение функции управления по отдельным элементам. Децентрализация управления позволяет сократить объем перерабатываемой информации, однако в ряде случаев это приводит к снижению качества управления.
^ 4. Обязательное наличие человека в контуре управления. Часть функций управления выполняется человеком. Эта особенность БС связана с целым рядом факторов:
участие человека в БС требует, чтобы управление учитывало социальные, психологические, моральные и физиологические факторы, которые не поддаются формализации и могут быть учтены в системах управления только человеком (н-р, пилотирование самолета);
необходимость в ряде случаев принимать решение на основе неполной информации, учитывать неформализуемые факторы – все это должен делать человек с большим опытом, хорошо понимающий задачи, стоящие перед системой.
^ Сложность систем рассматривают в двух аспектах: структурную сложность и сложность поведения.
Структурно сложная динамическая система
В основе таких моделей лежит элемент (блок), со скрытой от внешнего наблюдателя внутренней структурой. Глядя на такой блок со стороны, можно увидеть только специальные переменные, называемые в общем случае контактными. Структурно сложная модель состоит из множества блоков, взаимодействующих между собой через функциональные связи между видимыми извне переменными. Структура такой системы обычно является иерархической.
Наличие связи между контактами означает, что значения переменных, соответствующих контактам, в любой момент равны. Встречаются связи двух видов:
1) однонаправленные (ориентированные), и тогда соединяемые контакты делятся на приемник и источник, а также постулируется, что приемник не может влиять на источник;
2) двунаправленные (неориентированные), в этом случае соединяемые контакты равноправны.
В случае использования только однонаправленных связей контакты блоков делятся на входы и выходы (такие блоки также называются ориентированными). Ориентированные связи позволяют вполне адекватно описывать информационные взаимодействия между блоками в технических системах, где обычно специально принимаются меры, исключающие обратное влияние по связи.
В случае использования неориентированных связей блоки соответственно называются неориентированными. Неориентированные связи позволяют производить декомпозицию исходного объекта на "физические" компоненты с достаточно простыми законами поведения, а затем собирать их в единую систему, практически так же, как мы собираем сложный физический прибор из отдельных блоков. Недостатком является сложная и не всегда за приемлемое время осуществимая процедура автоматического построения итоговой математической модели.
^ Сложная динамическая система, меняющая свое поведение во времени
Одной из черт сложного поведения является наличие у системы нескольких качественно различных, последовательно сменяющих друг друга во времени поведений. Инженеры обычно называют их "режимами функционирования". Например, бассейн с двумя трубами обладает сложным поведением, поскольку его поведение при переполнении качественно отличается от его поведения при нормальном уровне и при опустошении. Такой тип сложного поведения можно реализовать, если описать всю совокупность допустимых частных поведений и указать правила переключения с одного поведения на другое. Организованная таким образом сложная динамическая система в каждый конкретный момент времени ведет себя как некоторая простая динамическая система. Например, бассейн может быть представлен как совокупность трех простых динамических систем: "Нормальный уровень", "Переполненный бассейн" и "Пустой бассейн".
Каждое конкретное поведение можно отождествить со значением некоторой дискретной переменной, а мгновенные переключения текущего поведения – с дискретными событиями. Для передачи информации о дискретных событиях в другие блоки используют специальные переменные – сигналы. Набор дискретных состояний вместе с условиями переходов из одного состояния в другое образует обычное дискретное поведение. В моменты переходов могут происходить мгновенные скачкообразные изменения значений переменных. Поскольку в каждом из дискретных состояний элементарный блок ведет себя как некоторая непрерывная система, то поведение блока в целом является непрерывно-дискретным или гибридным.
Граф переходов, узлам которого приписаны некоторые непрерывные отображения, а дугам – условия переходов и выполняемые действия, называется гибридным автоматом. В настоящее время для формального описания дискретных "машин состояний" стандартом de facto стала "карта состояний" (statechart), "канонизированная" в стандарте UML. (Бассейн, принтер, телефон).
Карта состояний, узлам которой приписаны некоторые непрерывные отображения, называется гибридной картой состояний.
^ Структурно-сложная гибридная система
Объединяя структурно-сложные системы и гибридные, получаем новый тип сложных систем – а именно, структурно-сложные гибридные системы. Их главная черта – параллельное функционирование нескольких гибридных систем иерархической структуры.
Такая система получается при соединении функциональными связями блоков, представляющих собой гибридные системы. (Локальная выч. сеть)
Так как ММ сложной системы может быть сколько угодно много и все они определяются принятым уровнем абстрагирования, то рассмотрение задач на каком-либо одном уровне абстракции позволяет дать ответы на определенную группу вопросов, а для получения ответов на другие вопросы необходимо провести исследование уже на другом уровне абстракции. Для достижения максимально возможной полноты сведений необходимо изучить одну и ту же систему на всех целесообразных для данного случая уровнях абстракции.
Наиболее пригодными являются следующие уровни абстрактного описания систем:
символический, или лингвистический;
теоретико-множественный;
абстрактно-алгебраический;
топологический;
логико-математический;
теоретико-информационный;
динамический;
эвристический.
Условно первые четыре уровня относятся к высшим уровням описания систем, а последние четыре – к низшим.
Лингвистический уровень описания – наиболее высокий уровень абстрагирования. Из него как частные случаи можно получить другие уровни абстрактного описания систем более низкого ранга. Например, формальные построения наиболее успешно используются, когда удается с предметами или процессами действительности каким-то образом сопоставлять некоторые стабильные, неизменные понятия.
Понятие о высказывании на данном абстрактном языке означает, что имеется некоторое предложение (формула), построенное на правилах данного языка. Предполагается, что эта формула содержит варьируемые переменные, которые только при определенном их значении делают высказывание истинным.
Все высказывания делят на два типа. К первому причисляют «термы» (имена предметов, члены предложения и т. д.) – высказывания, с помощью которых обозначают объекты исследования, а ко второму – «функторы» – высказывания, определяющие отношения между термами. (Объем бассейна, уровень воды, температура. Бассейн готов к работе при наполнении водой заданной температуры.)
С помощью термов и функторов можно показать, как из лингвистического уровня описания как частный случай возникает теоретико-множественный уровень (уровень более низкого ранга).
Термы – некоторые множества, с помощью которых перечисляют элементы (подсистемы изучаемых систем), а функторы устанавливают характер отношений между введенными множествами. Множество образуется из элементов, обладающих некоторыми свойствами и находящимися в некоторых отношениях между собой и элементами других множеств (например, автоматизированные системы управления (АСУ) – множество). Построение сложных систем на теоретико-множественном уровне уместно и целесообразно. (Бассейн, система подачи воды, система слива)
На теоретико-множественном уровне абстракции можно получить только общие сведения о реальных системах, а для более конкретных целей необходимы другие абстрактные модели, которые позволили бы производить более тонкий анализ различных свойств реальных систем. Эти более низкие уровни абстрагирования, в свою очередь, являются уже частными случаями по отношению к теоретико-множественному уровню формального описания систем.
Так, если связи между элементами рассматриваемых множеств устанавливаются с помощью некоторых однозначных функций, отображающих элементы множества в само исходное множество, то приходим к абстрактно-алгебраическому уровню описания систем. В таких случаях говорят, что между элементами множеств установлены нульарные (никакие, отсутствующие), унарные, бинарные (двойные, двойственные), тернарные отношения и т. д. Если же на элементах рассматриваемых множеств определены некоторые топологические структуры, то в этом случае приходим к топологическому уровню абстрактного описания систем.
^ Низшие уровни описания систем. Логико-математический уровень описания систем нашел широкое применение для: формализации функционирования автоматов; задания условий функционирования автоматов; изучения вычислительной способности автоматов.
Автомат – математическая модель реальных (технических) автоматов. Абстрактно автомат можно представить как некоторое устройство («черный ящик»), имеющее конечное число входных и выходных каналов и некоторое множество внутренних состояний. На входные каналы извне поступают сигналы, и в зависимости от их значения и от того, в каком состоянии он находился, автомат переходит в следующее состояние и выдает сигналы на свои выходные каналы. С течением времени входные сигналы изменяются, соответственно изменяются и состояние автомата, и его выходные каналы. Таким образом, автомат функционирует во времени.
В узком смысле автомат употребляется для обозначения так называемых синхронных дискретных автоматов. Такие автоматы имеют конечные множества значений входных и выходных сигналов, называемых входным и выходным алфавитом. Время разбивается на промежутки одинаковой длительности (такты): на протяжении всего такта входной сигнал, состояние и выходной сигнал не изменяются. Изменения происходят только на границах тактов. Следовательно, время можно считать дискретным.
При любом процессе управления или регулирования происходит переработка входной информации в выходную. Поэтому при теоретико-информационном уровне абстрактного описания систем информация выступает как свойство объектов и явлений (процессов) порождать многообразие состояний, которые посредством отражения передаются от одного объекта к другому и запечатлеваются в его структуре. Отображение множества состояний источника во множество состояний носителя информации называется способом кодирования, а образ состояния при выбранном способе кодирования – кодом этого состояния.
^ Динамический уровень абстрактного описания систем связан с представлением системы как некоторого объекта, куда в определенные моменты времени можно вводить вещество, энергию и информацию, а в другие моменты времени – выводить их, т. е. динамическая система наделяется свойством иметь «входы» и «выходы», причем процессы в них могут протекать как непрерывно, так и в дискретные моменты времени. Кроме этого, для динамических систем вводится понятие «состояние системы», характеризующее ее внутреннее свойство.
^ Эвристический уровень абстрактного описания систем предусматривает поиски удовлетворительного решения задач управления в связи с наличием в сложной системе человека.
Эвристика – это прием, позволяющий сокращать количество просматриваемых вариантов при поиске решения задачи. Причем этот прием не гарантирует наилучшее решение.
Например, человек, играя в шахматы, пользуется эвристическими приемами выработки решения, так как продумать весь ход игры с начала до конца практически невозможно из-за слишком большого числа вариантов игры (около 10120 вариантов). Если на один вариант затрачивать всего 10 с, то при 8-часовой работе без выходных дней человек способен просчитать в год не более 106 вариантов. На перебор всех возможных вариантов шахматной партии понадобится одному человеку 10114 лет.
В настоящее время развивается эвристическое программирование – программирование игровых ситуаций, доказательства теорем, перевода с одного языка на другой, дифференциальной диагностики, распознавания образов (звуковых, зрительных и т. д.). Большое значение имеет решение проблемы иерархически организованного перебора, создание и разработка методов отсечения заведомо невыгодных путей.
^ Наибольшее значение в настоящее время в абстрактной теории систем придается теоретико-множественному, абстрактно-алгебраическому и динамическому уровням описания систем.
^ Объектно-ориентированное моделирование
Объектно-ориентированное моделирование (ООМ) предполагает поддержку классов и экземпляров блоков, а также наследования и полиморфизма блоков.
Класс определяет некоторый шаблон или прототип блока (например, бассейн вообще). Оперируя с классом, например "Бассейн", нельзя говорить о конкретном значении уровня воды в нем, так как в определении класса присутствуют только информация о типах и именах используемых переменных, но не об их значениях.
Экземпляр блока – это конкретный представитель класса блоков, например, Бассейн_1 и Бассейн_2. Каждый экземпляр имеет свои собственные значения переменных (уровни воды в двух бассейнах могут быть разными). В функциональную схему могут входить несколько экземпляров одного и того же класса, например, выходная труба блока Бассейн_1 может являться входной для блока Бассейн_2.
^ Экземпляры могут быть статическими и динамическими. Статический экземпляр создается при создании модели и уничтожается при ее уничтожении. Например, каскад бассейнов явно является статической структурой. Динамические экземпляры создаются и уничтожаются в ходе моделирования. Например, при моделировании работы системы ПВО число самолетов в зоне видимости радиолокатора переменно.
Вообще говоря, понятия класса и экземпляра поддерживались явно или неявно практически всеми языками моделирования. В противном случае достаточно сложно моделировать системы с множеством однотипных блоков и невозможно моделировать системы с динамической структурой.
Более сложными понятиями ООМ являются наследование и полиморфизм.
Например, нужно описать бассейн с подогревом воды, дополнив описание стандартного бассейна нужными деталями. В этом новом классе "Бассейн_с_подогревом" описание интерфейса и динамики уровня воды будет точно таким же, как и в классе "Бассейн". К нему добавится свое описание тепловых потоков и динамики температуры. В таком случае нужно объявить новый класс прямым потомком старого. Класс "Бассейн" будет являться суперклассом (родителем, базовым классом) для класса "Бассейн_с_подогревом", а тот в свою очередь будет являться подклассом по отношению к классу "Бассейн". В этом случае производный класс автоматически унаследует все элементы описания своего базового класса. Между классами возникает постоянная связь: если в классе "Бассейн" добавить новую переменную состояния (например, показатель хлорированности воды), то она автоматически появится в классе "Бассейн_с_подогревом".
Полиморфизм означает возможность использования вместо экземпляра блока некоторого базового класса экземпляра любого его производного класса. Например, для радиолокационной станции все сопровождаемые объекты являются экземплярами класса "Летательный_аппарат" и характеризуются только положением и вектором скорости. На самом же деле эти объекты могут являться самыми разнообразными потомками класса "Летательный_аппарат" от бомбардировщика до птеродактиля.
^ Существующие подходы к визуальному моделированию сложных динамических систем
Универсальные пакеты, позволяющие моделировать структурно-сложные гибридные системы можно условно разделить на три группы:
1) пакеты "блочного моделирования";
2) пакеты "физического моделирования";
3) пакеты, ориентированные на схему гибридного автомата.
Это деление является условным прежде всего потому, что все эти пакеты имеют много общего: позволяют строить многоуровневые иерархические функциональные схемы, поддерживают технологию ООМ, предоставляют сходные возможности визуализации и анимации. Отличия обусловлены тем, какой из аспектов сложной динамической системы сочтен наиболее важным.
^ Пакеты "блочного моделирования" ориентированы на графический язык иерархических блок схем. Элементарные блоки являются либо предопределенными, либо могут конструироваться с помощью некоторого специального вспомогательного языка более низкого уровня. Новый блок можно собрать из имеющихся блоков с использованием ориентированных связей и параметрической настройки. В число предопределенных блоков входят чисто непрерывные, чисто дискретные и гибридные блоки.
К достоинствами этого подхода следует отнести, прежде всего, простоту создания несложных моделей даже неподготовленным пользователем. В то же время при создании сложных моделей приходится строить довольно громоздкие многоуровневые блок-схемы, не отражающие естественной структуры моделируемой системы. Другими словами, этот подход работает хорошо, когда есть подходящие стандартные блоки.
Наиболее известными представителями пакетами "блочного моделирования" являются:
- подсистема SIMULINK пакета MATLAB (MathWorks, Inc.);
- EASY5 (Boeing).
^ Пакеты "физического моделирования" позволяют использовать неориентированные и потоковые связи. Пользователь может сам определять новые классы блоков. Непрерывная составляющая поведения элементарного блока задается системой алгебро-дифференциальных уравнений и формул. Дискретная составляющая задается описанием дискретных событий, при возникновении которых могут выполняться мгновенные присваивания переменным новых значений. Дискретные события могут распространяться по специальным связям.
Подход очень удобен и естественен для описания типовых блоков физических систем. Недостатком является необходимость численного решения большого числа алгебраических уравнений, что значительно усложняет задачу автоматического получения достоверного решения.
К пакетам "физического моделирования" следует отнести: Dymola (Dynasim); Omola, OmSim (Lund University);
^ Пакеты, основанные на использовании схемы гибридного автомата, позволяют очень наглядно и естественно описывать гибридные системы со сложной логикой переключений. Пользователь может сам определять новые классы блоков. Непрерывная составляющая поведения элементарного блока задается системой алгебро-дифференциальных уравнений и формул. К недостаткам следует также отнести избыточность описания при моделировании чисто непрерывных систем.
К этому направлению относится пакет Shift, а также отечественный пакет Model Vision Studium. Пакет Shift в большей стпени ориентирован на описание сложных динамических структур, а пакет MVS – на описание сложных поведений.
Между вторым и третьим направлениями нет существенного различия. Невозможность их совместного использования обусловлена лишь вычислительными возможностями. В то же время, общая идеология построения моделей практически совпадает. Возможен комбинированный подход, когда в структуре модели выделяются составные блоки, элементы которых имеют чисто непрерывное поведение, и однократно преобразовываются к эквивалентному элементарному. Далее уже совокупное поведение этого эквивалентного блока должно использоваться при анализе гибридной системы.