Три задачи, которые оказались одной
Задача первая. В комнате должно быть двадцать два градуса. За окном то мороз, то оттепель, окно иногда открывают, вечером собирается народ и дышит. Как держать двадцать два?
Задача вторая. Машина должна ехать по своей полосе. Дорога неровная, ветер сносит, руль чуть уводит вправо. Как ехать прямо?
Задача третья. Ты хочешь выучить сложный кусок на гитаре. Пальцы попадают не туда, темп плывёт. Как научиться?
На вид это три совершенно разных дела: отопление, вождение, музыка. Одно про железо, второе про дорогу, третье про тебя.
А решаются они одинаково. Настолько одинаково, что инженеры описывают все три одной схемой, а математик — одним уравнением.
Разомкнуть или замкнуть
Есть два способа что-нибудь получить.
Первый: посчитать заранее. Измерить комнату, узнать мощность батареи, посмотреть прогноз, вычислить нужную подачу и выставить кран. Дальше не трогать. Инженеры называют такое управлением без обратной связи, или разомкнутым.
Иногда это работает. Тостер жарит хлеб ровно две минуты и не интересуется, что вышло. Светофор переключается по расписанию и не смотрит на улицу.
У способа один изъян, зато смертельный: он требует, чтобы мир вёл себя так, как ты предположил. Открыли форточку — расчёт мимо. Хлеб оказался чёрствым — гренка сгорела. Разомкнутое управление ничего не знает о результате, поэтому не может ошибиться заметно для себя.
Второй: смотреть на результат. Не вычислять, а мерить: сейчас девятнадцать, надо двадцать два, значит греем. Стало двадцать три — выключаем. И так без конца.
Здесь появляется кольцо. Система действует, смотрит, что вышло, сравнивает с целью и по разнице правит своё же действие. Выход возвращается на вход — отсюда и название.
Как ты ведёшь машину
Вернёмся ко второй задаче — она показывает суть нагляднее всего.
Спроси человека, как он держит полосу, и он ответит: «Просто еду прямо». Это неправда. Понаблюдай за руками опытного водителя: руль всё время чуть-чуть шевелится. Влево, вправо, влево. Он ни секунды не едет прямо — он непрерывно исправляет отклонения, и настолько мелко и часто, что со стороны это выглядит как прямая езда.
Теперь вспомни, как рулит тот, кто сел за руль впервые. Машину мотает от обочины к обочине. Новичок не глупее и не слабее — он просто реагирует слишком поздно и слишком сильно. Заметил, что уехал вправо, крутанул влево от души, проскочил середину, увидел, что теперь слева, крутанул обратно.
Вот это и есть главная ловушка любой петли: избыточная реакция превращает управление в раскачку. Петля, которая должна успокаивать, начинает разгонять.
Та же беда у душа со старым смесителем. Холодно — повернул к горячему, ждёшь, ничего, повернул ещё, и тут накрывает кипятком. Причина не в смесителе, а в задержке: вода идёт по трубе несколько секунд, и всё это время ты правишь вслепую, реагируя на устаревшие сведения.
Отсюда инженерное правило, которое стоит того, чтобы его запомнить: чем больше задержка, тем осторожнее должна быть реакция. Если результат виден не сразу, сильные движения гарантированно приводят к качанию.
Железка, которая изменила всё
Первую по-настоящему знаменитую петлю собрал Джеймс Уатт в 1788 году, и выглядела она так.
На вал паровой машины насаживали вертикальный стержень с двумя тяжёлыми шарами на шарнирах. Машина крутится быстрее — шары от вращения расходятся в стороны и поднимаются. Поднимаясь, они тянут рычаг, рычаг прикрывает заслонку пара, машина замедляется. Замедлилась — шары опустились, заслонка приоткрылась, машина разогналась.
Никакого расчёта, никакого прогноза. Устройство не знает, какая нагрузка на машине и что происходит на заводе. Оно знает только собственную скорость и возражает против её изменения.
Обрати внимание, что здесь произошло. Машина получила способность держать своё состояние без человека. Не «работать по программе», а именно поддерживать — сопротивляться тому, что её сбивает. До этого у фабрики был человек, который стоял и крутил вентиль.
Кстати, изящная подробность: строгую теорию этой железки написали не сразу. В 1868 году физик Джеймс Клерк Максвелл разобрался, почему одни регуляторы держат, а другие входят в раскачку, — то есть математика появилась почти через восемьдесят лет после работающего устройства. В технике так бывает часто: сначала получается, потом понимают почему.
Та же петля в тебе
Дальше начинается то, из-за чего идею вообще стоит знать.
Температура твоего тела держится около тридцати шести с половиной — не потому, что кто-то её вычислил, а потому, что работает петля: датчики меряют, мозг сравнивает с целью, тело правит (потеет, дрожит, сужает сосуды). Уровень сахара в крови, содержание воды, давление — всё так же. Это называют гомеостазом, и это ровно регулятор Уатта, только из белков.
Обучение — тоже петля. Ты берёшь аккорд, слышишь, что вышло, сравниваешь с тем, что хотел, и правишь пальцы. Без слуха, то есть без обратной связи, научиться играть невозможно в принципе: нечего сравнивать. Поэтому и говорят, что ошибка полезнее правильного ответа — ошибка несёт сведения, правильный ответ не несёт почти ничего.
И общество туда же. Цена растёт — покупают меньше — продавец снижает цену. Плохую работу критикуют — её переделывают. Выборы — петля с очень большой задержкой и очень грубым датчиком. Кстати, всё, что мы знаем про задержку и силу реакции, здесь тоже работает: система с редкой и грубой обратной связью склонна к раскачке, и это видно невооружённым глазом.
Упреждение: смотреть вперёд, а не только назад
У чистой петли есть врождённый недостаток: она реагирует на уже случившееся. Пока отклонение не возникло, исправлять нечего. То есть система по определению всегда чуть-чуть опаздывает.
Инженеры давно придумали, чем это лечить, и приём стоит знать, потому что он встречается и вне техники.
Первое: не ждать полного отклонения, а следить за скоростью его нарастания. Если температура ещё в норме, но падает быстро, разумно начать греть уже сейчас. Регулятор, который учитывает не только «насколько не так», но и «как быстро становится не так», ведёт себя заметно спокойнее — именно он стоит в приличном термостате и в автопилоте.
Второе: складывать мелкие отклонения. Если система годами держится чуть ниже цели, каждое отдельное расхождение ничтожно, а накопленное — нет. Учёт накопленного не даёт постоянной небольшой ошибке стать нормой.
В сумме получается правило, которое годится далеко за пределами железа: хороший регулятор смотрит на три вещи сразу — насколько сейчас не так, куда это движется и сколько накопилось. Одной первой величины недостаточно, и почти все живые примеры плохого управления — от заброшенной учёбы до запущенного ремонта — это ситуации, где смотрели только на неё.
Зачем тебе это
Идея обратной связи ценна тем, что её видно сразу везде, как только объяснили. Это редкое свойство: большинство знаний лежат в своей коробке и наружу не выходят.
Здесь же у тебя появляется набор вопросов, которые можно задать почти о чём угодно. Что здесь цель? Чем меряют результат? Кто сравнивает? Как быстро приходит ответ? Не слишком ли резко правят?
И четыре типичные поломки, которые после этого опознаются с одного взгляда:
- датчика нет — система не знает, что происходит, и уверенно едет мимо;
- датчик врёт — правят не то и не туда, зато старательно;
- ответ приходит слишком поздно — начинается раскачка;
- реакция слишком сильная — раскачка начинается даже без задержки.
Последнее, между прочим, стоит примерить к себе. Человек, который после одной неудачи всё бросает и начинает заново, ведёт себя ровно как новичок за рулём: реагирует на отклонение с амплитудой, которая гарантирует следующее отклонение, ещё большее.
Главное в трёх строчках
- Управлять можно вслепую по расчёту или с оглядкой на результат; второй способ замыкает кольцо «измерить — сравнить — поправить» и потому переживает неожиданности.
- Главные враги петли — задержка и избыточная реакция: вместе они превращают регулятор в раскачку, будь то душ, новичок за рулём или общество.
- Одна и та же схема описывает паровую машину, температуру тела, обучение игре на гитаре и рынок, и увидев её однажды, начинаешь узнавать её везде.