Классификация систем в общей теории систем относительно их сложности

Классификация систем в общей теории систем относительно их сложности
Классификация систем в общей теории систем относительно их сложности (общая теория систем)
Системы можно разделить на простые, сложные и очень сложные.
При этом под простыми системами будем понимать системы с небольшим количеством переменных, при этом должны быть известны все связи между этими переменными, а разработанные математические методы должны позволять предсказывать их поведение. Примером такой системы могут служить механические часы.
Еще одним примером может служить устройство с одним переключателем при переключении которого автоматически происходит переключение переключателя в исходное состояние («самая бесполезная вещь»). В данном случае система содержит одну входную переменную: значение переключателя (включен, выключен); и два состояния обычное и состояние возвращения переключателя в исходное состояние; еще можно рассматривать в качестве состояния состояние переключения переключателя из исходного состояния, если это значимо для исследователя. Таким образом при моделировании можно вводить в качестве переменных состояния значимые состояния устройства и игнорировать неинтересные. В данном случае например можно считать переключение выключателя мгновенным и игнорировать состояние переключения.
Под сложными будем понимать системы, для которых невозможно достигнуть всеобъемлющего предсказания поведения и свойств системы, даже при полностью известны связи, это происходит из-за их многочисленности.
Примером такой системы может служить сложная программа, которая хоть и разработана нами, и нам известна работа каждой ее части, но может демонстрировать непредсказуемое поведения в некоторых своих состояниях, при этом необходимо проводить тестирование программы на предмет выявления случаев такого поведения. Существует закон в соответствии с которым, невозможно избавить сложные программы полностью от ошибок. Частично можно решить проблему с всестороннем тестированием программы разработчиком при использовании unit-тестирование, когда при разработке каждой значимой части кода, разработки одновременно разрабатывает программу ее тестирующую во всех состояниях. В этом случае разработка фактически начинается для каждой значимой части кода, с разработки тестирующей программы. Такой подход удваивает работу программиста. Однако и этом случае возможно появление ошибок при взаимодействии протестированных частей кода между собой. Что требует разрабатывать тестирующие программы уже для объедений частей кода, в более крупные совокупности кода. В этом случае намного сложнее охватить все возможные состояния и тоже могут возникать ошибки. Однако наличие тестирующих программы, позволяет регулярно запускать тесты программы при ее доработках и модернизациях, практически почти без дополнительных временных затрат. При отсутствии же таких тестирующих программ для этого приходится нанимать отдельного специалиста – тестировщика.
Под очень сложными системами будем понимать системы не все переменные которых и их связи можно изучить. Примером такой системы может служить человек, социальная группа и т.д. Поэтому, например, психология, теория управления, социология никогда не смогут стать полностью точными науками.
Вообще самой простой наукой точки зрения этой классификации можно считать математику (не для всех подразделов), а самыми сложными науки о человеке, его поведении и взаимодействии с другими людьми.

Автор к.п.н., магистр психологии Румянцев Сергей Александрович
Короткая ссылка на новость: https://realmagi.ru/~d4V1U