Положительная и отрицательная обратная связь
Обратная связь возвращает часть информации о выходе системы на её вход и тем самым влияет на последующее поведение.
flowchart LR G["Цель"] --> C["Регулятор"] C --> O["Объект"] O --> Y["Результат"] Y -- "измерение" --> C
Отрицательная обратная связь
Противодействует отклонению от цели:
— целевое значение, — измеренный выход, — ошибка, — воздействие.
Пример: очередь растёт — добавляем обработчики; очередь сокращается — возвращаем ресурсы. Такая связь стабилизирует систему только при разумных коэффициентах и задержках. Слишком сильная реакция способна вызвать колебания.
Положительная обратная связь
Усиливает исходное изменение. Она полезна для быстрого перехода в новое состояние, но без ограничения может привести к лавинообразному росту.
Примеры:
- повторные запросы увеличивают нагрузку, из-за нагрузки растёт число ошибок, ошибки вызывают ещё больше повторов;
- популярный материал чаще рекомендуют, поэтому он получает ещё больше внимания.
Что проверять в программной системе
- какая метрика замыкает контур;
- где задержка измерения и воздействия;
- есть ли гистерезис или окно усреднения;
- что ограничивает усиление;
- как контуры влияют друг на друга;
- безопасно ли поведение при потере метрик.
Связано: Динамические системы, Оценка качества управления.
Самопроверка
- Почему retries могут образовать положительную связь?
- Как задержка превращает стабилизирующий контур в колебательный?
- Зачем автомасштабированию гистерезис?