Сложность

Сложность (Complexity) — характеристика, отражающая степень, в которой проект или реализация системы или элемента трудны для понимания и верификации (ISO/IEC/IEEE 24765).

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

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

Parts.png

В современных системах число отдельных элементов, которые нужно согласовать между собой (в проектировании), а часто и создать с нуля (в конструировании) достигает десятков миллионов в “железных” системах (а на одном серийно выпускаемом электронном чипе FPGA Xilinx Virtex-Ultrascale XCVU440 число отдельных транзисторов оценивается на 2014 год более чем в 20 миллиардов — http://en.wikipedia.org/wiki/Transistor_count).

Согласно легенде системная инженерия впервые появилась как метод ведения работ в военной отрасли США, когда нужно было скрестить два сверхсложных инженерных проекта: атомный проект по созданию ядерного оружия и проект создания баллистических ракет, необходимых для доставки этого оружия. Не было никаких голов “генеральных конструкторов”, которые могли были бы справиться с решением этой задачи, и пришлось изобретать методы совладания со сложностью подобного сверхпроекта.

Классификация сложностей

Согласно Питеру Сенге, системная сложность существует в двух основных формах:

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

Уивер [Weaver, 1948] сформулировал исходную точку зрения, выделив следующие категории сложности: организованная простота, организованная сложность, беспорядочная сложность. Эти категории и более поздние размышления, в частности Флада и Карсона [Flood and Carson, 1993] и автора книги, дают основания для использования приведенной ниже классификации сложности:

  • Организованная простота имеет место, когда есть небольшое количество существенных факторов и большое количество менее существенных и/или несущественных факторов. Изначально ситуация может показаться сложной, но после ее изучения менее существенные и несущественные факторы могут быть исключены из картины и может быть обнаружена скрытая простота.
  • Организованная сложность преобладает в таких физических и абстрактных системах, структура которых организована так, чтобы быть понятной, и поэтому податливой ученым при описании сложного поведения и структурировании процесса создания сложных систем и управления их жизненными циклами. Это богатство, которое не должно быть чрезмерно упрощено.
  • Беспорядочная сложность возникает, когда имеется много переменных, которые демонстрируют в высокой степени случайное, беспорядочное поведение. Она также может являться результатом отсутствия необходимого контроля над структурой сложных неоднородных систем по причине неадекватного управления архитектурой в течение жизненного цикла системы (ползучей сложности).
  • Сложность, связанная с людьми, возникает там, где восприятие любой системы вызывает чувство сложности. В этом контексте люди становятся «системами наблюдений». Мы могли бы также связать эту категорию с системами, в которых люди являются элементами и могут основательно поспособствовать организованной простоте, организованной сложности и беспорядочной сложности. Разумное или неразумное поведение отдельных лиц в конкретных ситуациях, естественно, является существенным фактором по отношению к сложности.