Рассматриваются основные типы и классы систем, понятия большой и сложной системы, типы сложности систем, примеры способов определения (оценки) сложности.
Цель лекции: введение в способы классификации систем, большие и сложные системы.
Классификацию систем можно осуществить по разным критериям. Проводить ее жестко - невозможно, она зависит от цели и ресурсов. Приведем основные способы классификации (возможны и другие критерии классификации систем).
- По отношению системы к окружающей среде:
- открытые (есть обмен ресурсами с окружающей средой);
- закрытые (нет обмена ресурсами с окружающей средой).
- По происхождению системы (элементов, связей, подсистем):
- искусственные (орудия, механизмы, машины, автоматы, роботы и т.д.);
- естественные (живые, неживые, экологические, социальные и т.д.);
- виртуальные (воображаемые и, хотя реально не существующие, но функционирующие так же, как и в случае, если бы они существовали);
- смешанные (экономические, биотехнические, организационные и т.д.).
- По описанию переменных системы:
- с качественными переменными (имеющие лишь содержательное описание);
- с количественными переменными (имеющие дискретно или непрерывно описываемые количественным образом переменные);
- смешанного (количественно-качественное) описания.
- По типу описания закона (законов) функционирования системы:
- типа "Черный ящик" (неизвестен полностью закон функционирования системы; известны только входные и выходные сообщения);
- не параметризованные (закон не описан; описываем с помощью хотя бы неизвестных параметров; известны лишь некоторые априорные свойства закона);
- параметризованные (закон известен с точностью до параметров и его возможно отнести к некоторому классу зависимостей);
- типа "Белый (прозрачный) ящик" (полностью известен закон).
- По способу управления системой (в системе):
- управляемые извне системы (без обратной связи, регулируемые, управляемые структурно, информационно или функционально);
- управляемые изнутри (самоуправляемые или саморегулируемые - программно управляемые, регулируемые автоматически, адаптируемые - приспосабливаемые с помощью управляемых изменений состояний, и самоорганизующиеся - изменяющие во времени и в пространстве свою структуру наиболее оптимально, упорядочивающие свою структуру под воздействием внутренних и внешних факторов);
- с комбинированным управлением (автоматические, полуавтоматические, автоматизированные, организационные).
Пример. Рассмотрим экологическую систему "Озеро". Это открытая, естественного происхождения система, переменные которой можно описывать смешанным образом (количественно и качественно, в частности, температура водоема - количественно описываемая характеристика), структуру обитателей озера можно описать и качественно, и количественно, а красоту озера можно описать качественно. По типу описания закона функционирования системы, эту систему можно отнести к не параметризованным в целом, хотя возможно выделение подсистем различного типа, в частности, различного описания подсистемы "Водоросли", "Рыбы", "Впадающий ручей", "Вытекающий ручей", "Дно", "Берег" и др. Система "Компьютер" - открытая, искусственного происхождения, смешанного описания, параметризованная, управляемая извне (программно). Система "Логический диск" - открытая, виртуальная, количественного описания, типа "Белый ящик" (при этом содержимое диска мы в эту систему не включаем!), смешанного управления. Система "Фирма" - открытая, смешанного происхождения (организационная) и описания, управляемая изнутри (адаптируемая, в частности, система).
Система называется большой, если ее исследование или моделирование затруднено из-за большой размерности, т.е. множество состояний системы S имеет большую размерность. Какую же размерность нужно считать большой? Об этом мы можем судить только для конкретной проблемы (системы), конкретной цели исследуемой проблемы и конкретных ресурсов.
Большая система сводится к системе меньшей размерности использованием более мощных вычислительных средств (или ресурсов) либо разбиением задачи на ряд задач меньшей размерности (если это возможно).
Пример. Это особенно актуально при разработке больших вычислительных систем, например, при разработке компьютеров с параллельной архитектурой или алгоритмов с параллельной структурой данных и с их параллельной обработкой.
Почти во всех учебниках можно встретить словосочетания "сложная задача", "сложная проблема", "сложная система" и т.п. Интуитивно, как правило, под этими понятиями понимается какое-то особое поведение системы или процесса, делающее невозможным (непреодолимая сложность) или особо трудным (преодолимая сложность) описание, исследование, предсказание или оценку поведения, развития системы.
Определения сложности - различны.
Система называется сложной, если в ней не хватает ресурсов (главным образом, информационных) для эффективного описания (состояний, законов функционирования) и управления системой - определения, описания управляющих параметров или для принятия решений в таких системах (в таких системах всегда должна быть подсистема принятия решения).
Сложной считают иногда такую систему, для которой по ее трем видам описания нельзя выявить ее траекторию, сущность, и поэтому необходимо еще дополнительное интегральное описание (интегральная модель поведения, или конфигуратор) - морфолого-функционально-инфологическое.
Пример. Сложными системами являются, например, химические реакции, если их исследовать на молекулярном уровне; клетка биологического образования, взятая на метаболическом уровне; мозг человека, если его исследовать с точки зрения выполняемых человеком интеллектуальных действий; экономика, рассматриваемая на макроуровне (т.е макроэкономика); человеческое общество - на политико-религиозно-культурном уровне; ЭВМ (особенно пятого поколения) как средство получения знаний; язык - во многих аспектах его рассмотрения.
В сложных системах результат функционирования не может быть задан заранее, даже с некоторой вероятностной оценкой адекватности. Причины такой неопределенности - как внешние, так и внутренние, как в структуре, так и в описании функционирования, эволюции. Сложность этих систем обусловлена их сложным поведением. Сложность системы зависит от принятого уровня описания или изучения системы - макроскопического или микроскопического. Сложность системы может определяться не только большим количеством подсистем и сложной структурой, но и сложностью поведения.
Сложность системы может быть внешней и внутренней.
Внутренняя сложность определяется сложностью множества внутренних состояний, потенциально оцениваемых по проявлениям системы и сложности управления в системе.
Внешняя сложность определяется сложностью взаимоотношений с окружающей средой, сложностью управления системой, потенциально оцениваемых по обратным связям системы и среды.
Сложные системы бывают разных типов сложности:
- структурной или организационной (не хватает ресурсов для построения, описания, управления структурой);
- динамической или временной (не хватает ресурсов для описания динамики поведения системы и управления ее траекторией);
- информационной или информационно-логической, инфологической (не хватает ресурсов для информационного, информационно-логического описания системы);
- вычислительной или реализации, исследования (не хватает ресурсов для эффективного прогноза, расчетов параметров системы, или их проведение затруднено из-за нехватки ресурсов);
- алгоритмической или конструктивной (не хватает ресурсов для описания алгоритма функционирования или управления системой, для функционального описания системы);
- развития или эволюции, самоорганизации (не хватает ресурсов для устойчивого развития, самоорганизации).
Чем сложнее рассматриваемая система, тем более разнообразные и более сложные внутренние информационные процессы приходится актуализировать для того, чтобы была достигнута цель системы, т.е. система функционировала или развивалась.
Пример. Поведение ряда различных реальных систем (например, соединенных между собой проводников с сопротивлениями x1, x2,..., xn или химических соединений с концентрациями x1, x2,..., xn, участвующих в реакции химических реагентов) описывается системой линейных алгебраических уравнений, записываемых в матричном виде:
X=AX+B
Заполнение матрицы А (ее структура) будет отражать сложность описываемой системы. Если, например, матрица А - верхнетреугольная матрица (элемент, расположенный на пересечении i-ой строки и j-го столбца всегда равен 0 при i>j), то независимо от n (размерности системы) она легко исследуется на разрешимость. Для этого достаточно выполнить обратный ход метода Гаусса. Если же матрица А - общего вида (не является ни симметричной, ни ленточной, ни разреженной и т.д.), то систему сложнее исследовать (так как при этом необходимо выполнить более сложную вычислительно и динамически процедуру прямого хода метода Гаусса). Следовательно, система будет обладать структурной сложностью (которая уже может повлечь за собой и вычислительную сложность, например, при нахождении решения). Если число n достаточно велико, то неразрешимость задачи хранения матрицы А верхнетреугольного вида в оперативной памяти компьютера может стать причиной вычислительной и динамической сложности исходной задачи. Попытка использовать эти данные путем считывания с диска приведет к многократному увеличению времени счета (увеличит динамическую сложность - добавятся факторы работы с диском).
Пример. Пусть имеется динамическая система, поведение которой описывается задачей Коши вида
y′(t)=ky(t), y(0)=a
Эта задача имеет решение:
y(t)=аe-kt
Отсюда видно, что y(t) при k=10 изменяется на порядок быстрее, чем y(t) при k=1, и динамику системы сложнее будет отслеживать: более точное предсказание для t 0 и малых k связано с дополнительными затратами на вычисления. Следовательно, алгоритмически, информационно, динамически и структурно "не очень сложная система" (при a, k 0) может стать вычислительно и, возможно, эволюционно сложной (при t 0), а при больших t (t∞) - и непредсказуемой. Например, для больших t значения накапливаемых погрешностей вычислений решения могут перекрыть значения самого решения. Если при этом задавать нулевые начальные данные а 0, то система может перестать быть, например, информационно несложной, особенно, если а трудно априорно определить.
Пример. Упрощение технических средств работы в сетях, например, научные достижения, позволяющие подключать компьютер непосредственно к сети, "к розетке электрической сети", наблюдается наряду с усложнением самих сетей, например, с увеличением количества абонентов и информационных потоков в интернет. Наряду с усложнением самой сети интернет, упрощаются (для пользователя!) средства доступа к ней, увеличиваются ее вычислительные возможности.
Структурная сложность системы оказывает влияние на динамическую, вычислительную сложность. Изменение динамической сложности может привести к изменениям структурной сложности, хотя это не является обязательным условием. Сложной системой может быть и система, не являющаяся большой системой; существенным при этом может стать связность (сила связности) элементов и подсистем системы (см. вышеприведенный пример с матрицей системы линейных алгебраических уравнений).
Сложность системы определяется целями и ресурсами (набором задач, которые она призвана решать).
Пример. Сложность телекоммуникационной сети определяется:
- необходимой скоростью передачи данных;
- протоколами, связями и типами связей (например, для селекторного совещания необходима голосовая телеконференция);
- необходимостью видеосопровождения.
Само понятие сложности системы не является чем-то универсальным, неизменным и может меняться динамически, от состояния к состоянию. При этом и слабые связи, взаимоотношения подсистем могут повышать сложность системы.
Пример. Рассмотрим процедуру деления единичного отрезка [0; 1] с последующим выкидыванием среднего из трех отрезков и достраиванием на выкинутом отрезке равностороннего треугольника (рис. 4.1); эту процедуру будем повторять каждый раз вновь к каждому из остающихся после выкидывания отрезков. Этот процесс является структурно простым, но динамически сложным, более того, образуется динамически интересная и трудно прослеживаемая картина системы, становящейся "все больше и больше, все сложнее и сложнее". Такого рода структуры называются фракталами, или фрактальными структурами (фрактал - от fraction - "дробь" и fracture - "излом", т.е. изломанный объект с дробной размерностью). Его отличительная черта - самоподобие, т.е. сколь угодно малая часть фрактала по своей структуре подобна целому, как ветка - дереву.
Рис. 4.1. Фрактальный объект (кривая Коха)
Уменьшив сложность системы, часто можно увеличить ее информативность, исследуемость.
Пример. Выбор рациональной проекции пространственного объекта (т.е. более оптимальная визуализация связей и отношений его частей) делает чертеж более информативным. Используя в качестве устройства эксперимента микроскоп, можно рассмотреть некоторые невидимые невооруженным глазом свойства объекта.
Система называется связной, если любые две подсистемы обмениваются ресурсом, т.е. между ними есть некоторые ресурсоориентированные отношения, связи.
При определении меры сложности системы важно выделить инвариантные свойства систем или информационные инварианты и вводить меру сложности систем на основе их описаний.
Здесь приводится математический аппарат, позволяющий формализовать понятие сложности, хотя отметим, что понятие сложности - "сложное".
Мерой ниже будем называть некоторую непрерывную действительную неотрицательную функцию, определенную на множестве событий (систем, множеств) и являющуюся аддитивной, т.е. мера конечного объединения событий (систем, множеств) равна сумме мер каждого события.
Как же определять меру сложности для систем различной структуры? Ответ на этот не менее сложный вопрос не может быть однозначным и даже вполне определённым.
Сложность связывается с мерой μ(S) - мерой сложности или числовой неотрицательной функцией (критерием, шкалой) заданной (заданным) на некотором множестве элементов и подсистем системы S.
Возможны различные способы определения меры сложности систем. Сложность структуры системы можно определять топологической энтропией - сложностью конфигурации структуры (системы):
S = k ln W,
где k=1,38×10-16 (эрг / град) - постоянная Больцмана, W - вероятность состояния системы. В случае разной вероятности состояний эта формула будет иметь вид (мы ниже вернемся к детальному обсуждению этой формулы и ее различных модификаций):
Пример. Определим сложность иерархической системы как число уровней иерархии. Увеличение сложности при этом требует больших ресурсов для достижения цели. Определим сложность линейной структуры как количество подсистем системы. Определим сложность сетевой структуры как максимальную из сложностей всех линейных структур, соответствующих различным стратегиям достижения цели (путей, ведущих от начальной подсистемы к конечной). Сложность системы с матричной структурой можно определить количеством подсистем системы. Усложнение некоторой подсистемы системы приведет к усложнению всей системы в случае линейной структуры, и, возможно, в случае иерархической, сетевой и матричной структур.
Пример. Для многоатомных молекул число межъядерных расстояний (оно определяет конфигурацию молекулы) можно считать оценкой сложности топологии (геометрической сложности) молекулы. Из химии и математики известна эта оценка: 3N-6, где N - число атомов в молекуле. Для твердых растворов можно считать W равной числу перестановок атомов разных сортов в заданных позициях структуры; для чистого кристалла W=1, для смешанного - W>1. Для чистого кристалла сложность структуры S=0, а для смешанного - S>0, что и следовало ожидать.
Пример. В эколого-экономических системах сложность системы может часто пониматься как эволюционируемость, сложность эволюции системы, в частности, мера сложности - как функция изменений, происходящих в системе в результате контакта с окружающей средой, и эта мера может определяться сложностью взаимодействия между системой (организмом, организацией) и средой, ее управляемости. Эволюционную сложность эволюционирующей системы можно определить как разность между внутренней сложностью и внешней сложностью (сложностью полного управления системой). Решения в данных системах должны приниматься (для устойчивости систем) таким образом, чтобы эволюционная сложность равнялась нулю, т.е. чтобы совпадали внутренняя и внешняя сложности. Чем меньше эта разность, тем устойчивее система, например, чем более сбалансированы внутрирыночные отношения и регулирующие их управляющие государственные воздействия - тем устойчивее рынок и рыночные отношения.
Пример. В математических, формальных системах сложность системы может пониматься как алгоритмизируемость, вычислимость оператора системы S, в частности, как число операции и операндов, необходимых для получения корректного результата при любом допустимом входном наборе. Сложность алгоритма может быть определена количеством операций, осуществляемых командами алгоритма для самого "худшего" (самого длительного по пути достижения цели) тестового набора данных.
Пример. Сложность программного комплекса L может быть определена как логическая сложность и измерена в виде L = L1 /L2 + L3 + L4 + L5, где L1 - общее число всех логических операторов, L2 - общее число всех исполняемых операторов, L3 - показатель сложности всех циклов (определяется с помощью числа циклов и их вложенности), L4 - показатель сложности циклов (определяется числом условных операторов на каждом уровне вложенности), L5 - определяется числом ветвлений во всех условных операторах.
Пример. Аналогично примеру, приведенному в книге Дж. Касти, рассмотрим трагедию В. Шекспира "Ромео и Джульетта". Выделим и опишем 3 совокупности: А - пьеса, акты, сцены, мизансцены; В - действующие лица; С - комментарии, пьеса, сюжет, явление, реплики. Определим иерархические уровни и элементы этих совокупностей.
А:
уровень N+2 - Пьеса;
уровень N+1 - Акты{a1, a2, a3, a4, a5};
уровень N - Сцены{s1, s2,..., sq};
уровень N-1 - Мизансцены{m1, m2,..., m26}.
В:
уровень N - Действующие лица{c1,c2,...,c25}={Ромео, Джульетта,...}.
С:
уровень N+3 - Пролог (адресован непосредственно зрителю и лежит вне действий, разворачивающихся в пьесе);
уровень N+2 - Пьеса;
уровень N+1 - Сюжетные линии {p1, p2, p3, p4}={Вражда семейств Капулетти и Монтекки в Вероне, Любовь Джульетты и Ромео и их венчание, Убийство Тибальда и вражда семейств требует отмщения, Ромео вынужден скрываться, Сватовство Париса к Джульетте, Трагический исход};
уровень N - Явления {u1, u2,..., u8}={Любовь Ромео и Джульетты, Взаимоотношения между семейством Капулетти и Монтекки, Венчание Ромео и Джульетты, Схватка Ромео и Тибальда, Ромео вынужден скрываться, Сватовство Париса, Решение Джульетты, Гибель влюблённых};
уровень N-1 - Реплики {r1, r2,..., r104}={104 реплики в пьесе, которые определяются как слова, обращённые к зрителю, действующему лицу и развивающие неизвестный пока зрителю сюжет}.
Отношения между этими совокупностями на различных уровнях иерархии определяемы из этих совокупностей. Например, если Y - сюжеты, X - действующие лица, то естественно определить связь l между X, Y так: действующее лицо из совокупности X уровня N+1 участвует в сюжете Y уровня N+1. Тогда связность структуры трагедии можно изобразить следующей схемой (рис. 4.2):
Рис. 4.2. Схема структурных связей пьесы
В этом комплексе K(Y, X) все три сюжета становятся отдельными компонентами только на уровне связности q=8. Это означает, что сюжетные линии могут быть различны только для зрителей, следящих за 9 действующими лицами. Аналогично, при q=6 имеются всего 2 компоненты {p1,p2}, {p3}. Следовательно, если зрители могут отслеживать только 7 персонажей, то они видят пьесу, как бы состоящую из двух сюжетов, где p1, p2 (мир влюбленных и вражда семейств) объединены. В комплексе K(Y, X) при q=5 имеются 3 компоненты. Следовательно, зрители, видевшие только 6 сцен, воспринимают 3 сюжета, не связанные друг с другом. Сюжеты р1 и р2 объединяются при q=4, и поэтому зрители могут видеть эти два сюжета как один, если следят только за 5 сценами. Все 3 сюжета сливаются, когда зрители следят лишь за 3 сценами. В комплексе K(Y, X) явление u8 доминирует в структуре при q=35, u3 - при q=26, u6 - при q=10. Следовательно, u8 вероятнее всего поймут те зрители, которые прослушали 36 реплик, хотя для понимания u3 необходимо 27 реплик, а для понимания u6 - только 11 реплик. Таким образом, проведенный анализ дает понимание сложности системы.
В последнее время стали различать так называемые "жесткие" и "мягкие" системы, в основном, по используемым критериям рассмотрения.
Исследование "жестких" систем обычно опирается на категории: "проектирование", "оптимизация", "реализация", "функция цели" и другие. Для "мягких" систем используются чаще категории: "возможность", "желательность", "адаптируемость", "здравый смысл", "рациональность" и другие. Методы также различны: для "жестких" систем - методы оптимизации, теория вероятностей и математическая статистика, теория игр и другие; для "мягких" систем - многокритериальная оптимизация и принятие решений (часто в условиях неопределенности), метод Дельфи, теория катастроф, нечеткие множества и нечеткая логика, эвристическое программирование и др.
Для "переноса" знаний широко используются инварианты систем и изоморфизм систем. Важно при таком переносе не нарушать свойство эмерджентности системы.
Вопросы для самоконтроля
- Как классифицируются системы?
- Какая система называется большой? сложной?
- Чем определяется вычислительная (структурная, динамическая) сложность системы? Приведите примеры таких систем.