Skip to content
Урок 3. Три класса событий и заморозка базы

Урок 3. Три класса событий и заморозка базы

Урок 3. Три класса, два признака и ловушка адаптивной базы

Паспорт урока

ПараметрЗначение
Место в модулеRFCurtain, урок 3 из 5
Длительность45 мин
Возраст13–16
ОборудованиеПлаты TX/RX, rf_curtain.py (в том числе режим --no-freeze)
Предварительные знанияУроки 1–2: зона Френеля, два окна, лестница
ПредметИнформатика, статистика

Образовательные цели

ЦельБлумМиллерЧем доказывается
3.1Обосновывать необходимость второго признакаанализироватьзнает какОпыт: движение без пересечения
3.2Различать три класса событий, включая обрыв линкаанализироватьзнает какОтвет: почему обрыв — не «сильная тревога»
3.3Объяснять ошибку незамороженной адаптивной базыанализироватьпоказывает какДемонстрация --no-freeze и её разбор
3.4Проектировать защиту адаптивной системы от самообманасоздаватьпоказывает какСвоё правило заморозки

Сценарий занятия (45 минут)

ВремяБлокЧто делает педагогЧто делают ученики
0–5RetrievalМини-квиз по уроку 2Пишут, разбор
5–15Опыт: кипениеДвижение рядом с лучом без пересеченияНаблюдают, объясняют
15–24Второй признакσ окна как мера «кипения»Разбирают
24–32Третий классОбрыв линка — отдельный диагнозФормулируют различие
32–42Ловушка базыДемонстрация --no-freezeНаблюдают провал, чинят
42–45Итог и ДЗФиксацияЗаписывают

Блок 1. Опыт «кипение без тени» (5–15 мин)

Постановка

«У нас есть детектор с одним признаком — просадка сигнала. Проверим его на прочность.»

Опыт Б

Ученик ходит кругами в метре от луча, не пересекая линию между антеннами.

Что наблюдается

ГрафикЧто происходит
Средний (отклонение)почти не реагирует — просадки нет
Верхний (сырьё)точки разлетаются сильнее обычного
Нижнийрезко подскакивает

Разбор

«Человек не перекрывал луч — прямой путь свободен. Но сигнал всё равно изменился. Почему?»

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

Ключевой вывод: одного признака недостаточно. Детектор, следящий только за просадкой, наполовину слеп: он пропускает события, которые меняют не уровень, а характер сигнала.

Это прямая параллель с BeaconRadio, урок 6: там детектор падения требовал трёх фаз, потому что один признак (удар) не различал падение и резкое приседание.


Блок 2. Второй признак — «кипение» (15–24 мин)

2.1. Базовый уровень

Через воду в кастрюле.

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

2.2. Углублённый уровень

Шаг 1. Стандартное отклонение окна.

σ=1ni=1n(xixˉ)2\sigma = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i - \bar{x})^2}

Величина σ измеряет разброс значений внутри окна, а не их уровень.

Шаг 2. Два признака и что каждый ловит.

ПризнакФормулаЧто обнаруживает
Отклонениемедиана − базаперекрытие зоны: тело в луче
Кипениеσ окнаперемешивание отражений: движение рядом

Шаг 3. Правило детектора.

тревога, если (отклонение3 дБ) ИЛИ (σ2,5 дБ)\text{тревога, если } (\text{отклонение} \le -3\ \text{дБ}) \ \textbf{\text{ИЛИ}} \ (\sigma \ge 2{,}5\ \text{дБ})

Логическое ИЛИ: срабатывания любого признака достаточно.

Почему ИЛИ, а не И. Требование одновременного срабатывания обоих признаков сделало бы детектор гораздо менее чувствительным: медленный проход даёт просадку почти без кипения, а движение рядом — кипение без просадки. ИЛИ покрывает оба сценария.

Плата — больше ложных тревог. Это осознанный выбор в сторону чувствительности, который будет измерен на уроке 4.

Шаг 4. Удержание тревоги.

После срабатывания тревога держится не менее 1 секунды, даже если признаки вернулись в норму. Иначе при проходе быстрого человека тревога мигнула бы на доли секунды и была бы незаметна оператору.


Блок 3. Третий класс: обрыв линка (24–32 мин)

Постановка

Педагог нажимает кнопку паузы на передатчике. Пакеты перестают приходить.

«Пакетов нет. Это тревога?»

Разбор с классом

ГипотезаОбсуждение
«Да, кто-то полностью перекрыл луч»Возможно, но так же выглядит севшая батарея
«Нет, это поломка»Тоже возможно. Как отличить?
«Это отдельная ситуация»Верно

Три класса, а не два

Обрыв линка — самостоятельный класс, а не «очень сильная тревога».

КлассЧто означаетРеакция оператора
Нормавсё спокойноничего
Тревогакто-то пересёк периметрпроверить, вызвать охрану
Обрывнет связи: питание, антенна, поломкачинить оборудование

У классов разные реакции. Система, которая их путает, бесполезна: оператор либо побежит искать нарушителя вместо замены батареи, либо проигнорирует настоящее вторжение как «опять поломка».

В коде и на экране

Обрыв определяется по отсутствию пакетов дольше заданного времени (gap_s) и отображается отдельным цветом — синим, тогда как тревога-просадка красная, а тревога-кипение оранжевая.

«Три класса — три цвета. Это не украшение, а требование к системе: разные диагнозы должны выглядеть по-разному.»

Связь с курсом

Тот же принцип встречался дважды:

  • BeaconRadio, урок 2: «мусор» (CRC не сошёлся) и «тишина» (дыра в счётчике) — разные диагнозы;
  • PowerSentry, урок 3: «молчит по расписанию» и «умер» различаются по heartbeat.

Общее правило курса: отсутствие данных — тоже данные, но только если система умеет их интерпретировать.


Блок 4. Ловушка адаптивной базы (32–42 мин)

Методически сильнейший момент модуля.

Постановка

«Наша база адаптивная: она подстраивается под медленный дрейф фона. Это хорошо. Но давайте проверим её на прочность.»

Демонстрация

Запустить с ключом --no-freeze (учебный анти-режим) и попросить ученика встать в луч и стоять.

Что произойдёт

ВремяЧто видно
0–2 стревога срабатывает, красная заливка
10–30 сбаза медленно «подтягивается» к новому уровню
~60 сотклонение вернулось к нулю — тревога снялась сама

Человек стоит в луче. Система сообщает: всё в порядке.

Разбор

«Что произошло? База — это память о норме. Пока нарушитель стоит в луче, база продолжает учиться и запоминает его как новую норму. Через минуту система считает, что человек в луче — это и есть нормальное состояние.»

Классическая ошибка адаптивных систем: система, продолжающая адаптироваться во время аномалии, принимает аномалию за норму.

Примеры за пределами нашего проекта:

  • антивирус, обучающийся на заражённой машине, начинает считать вредоносную активность нормальной;
  • система обнаружения вторжений, адаптирующаяся во время атаки, перестаёт её замечать;
  • автоматическая регулировка усиления, «привыкающая» к помехе.

Решение — заморозка базы

если детектор в состоянии ТРЕВОГА:
    база НЕ обновляется (заморожена)
если состояние НОРМА:
    база обновляется как обычно

Проверка

Перезапустить без --no-freeze, повторить опыт: ученик стоит в луче — тревога держится сколько угодно долго.

Обобщение

«Правило: адаптивная система должна обучаться только в состоянии, которое считает нормальным. Обучение во время аномалии превращает защиту в самообман.»

Связь с PowerSentry, урок 6. Там обсуждался механизм отката ADR: если узел потерял связь после понижения SF, он должен уметь вернуться. Общий принцип тот же — адаптация без страховки опасна.

Блок 5. Практические задачи

Уровень A (13–14 лет)

A1. Почему детектору нужны два признака, а не один?

Ответ

Потому что событие может проявляться по-разному. Проход через луч даёт просадку сигнала. Движение рядом с лучом просадки не даёт, но усиливает разброс значений («кипение»). Детектор с одним признаком пропустил бы вторую ситуацию.

A2. Чем обрыв линка отличается от тревоги?

Ответ

Тревога означает, что кто-то пересёк периметр — надо проверить и вызвать охрану. Обрыв означает, что нет связи с передатчиком: села батарея, отвалилась антенна, поломка — надо чинить оборудование. Реакции совершенно разные, поэтому это разные классы.

A3. Что произойдёт, если база продолжит обновляться во время тревоги?

Ответ

Она постепенно «запомнит» нарушителя как новую норму, и тревога снимется сама, хотя человек всё ещё в луче. Поэтому во время тревоги база замораживается.

Уровень B (14–15 лет)

B1. Что физически происходит, когда человек движется рядом с лучом, не пересекая его?

Ответ

Прямой путь между антеннами остаётся свободным, поэтому средний уровень сигнала почти не меняется. Но тело отражает радиоволны, и эти отражения складываются с прямым сигналом — то усиливая, то ослабляя его. Поскольку человек движется, картина постоянно меняется, и разброс значений (σ) растёт.

B2. Почему правило детектора использует ИЛИ, а не И?

Разбор

Признаки ловят разные сценарии:

СценарийОтклонениеКипение
Медленный проход через лучсильноеслабое
Движение рядом с лучомслабоесильное
Быстрый пробег через лучсреднеесреднее

При логическом И детектор требовал бы обоих признаков одновременно и пропускал бы первые два сценария. ИЛИ покрывает все три.

Цена: больше ложных тревог. Это осознанное смещение в сторону чувствительности, которое будет измерено на уроке 4.

B3. Предложите способ обнаружить, что тревога «зависла» из-за замороженной базы, если нарушитель давно ушёл.

Разбор

Проблема реальна: если база заморожена, а фон за это время дрейфовал, отклонение может не вернуться к нулю и после ухода человека.

Решения:

  1. Ограничение времени заморозки. Через N минут непрерывной тревоги принудительно разморозить базу и пересчитать: если отклонение сохраняется, значит изменилась обстановка, а не появился нарушитель.
  2. Проверка σ. У неподвижного объекта кипение отсутствует. Затянувшаяся тревога с нулевым σ — вероятно, изменилась обстановка (поставили предмет), а не стоит человек.
  3. Ручной сброс оператором после проверки.

Вывод: заморозка решает одну проблему, но создаёт другую. Инженерное решение почти всегда порождает новый компромисс — важно его увидеть и обработать, а не считать задачу закрытой.

Уровень C (15–16 лет)

C1. Приведите три примера систем за пределами нашего проекта, где адаптация во время аномалии приводит к отказу защиты.

Разбор
  1. Системы обнаружения вторжений (IDS). Обучаясь на «нормальном» трафике во время медленной атаки, система принимает атаку за норму — известная техника обхода.
  2. Антивирус с поведенческим анализом, обучающийся на уже заражённой машине.
  3. Автоматическая регулировка усиления в радиоприёмнике: подстраиваясь под мощную помеху, приёмник «приглушает» и полезный сигнал.
  4. Кредитный скоринг, обучающийся на данных периода мошенничества, начинает считать мошеннические паттерны нормальными.
  5. Термостат, калибрующийся при открытом окне.

Общее правило: любая система, обучающаяся на собственных наблюдениях, должна иметь критерий «доверять ли текущим данным для обучения». Без него обучение становится каналом атаки.

C2. Спроектируйте логику заморозки для системы с тремя классами. Что делать в состоянии «обрыв»?

Разбор
состояние НОРМА    → база обновляется
состояние ТРЕВОГА  → база заморожена
состояние ОБРЫВ    → база заморожена И не сбрасывается
                     после восстановления связи:
                       - НЕ доверять первым N секундам данных
                       - сравнить новый уровень со старой базой
                       - если различие велико → требовать перекалибровки

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

Тонкость: после долгого обрыва разумнее не доверять старой базе слепо, а запустить период прогрева заново — как при первом включении. Это защищает от ситуации «починили и повесили антенну в другое место».

C3. Обрыв линка можно имитировать глушением. Как система должна себя вести и что должен видеть оператор?

Разбор

Проблема: злоумышленник, желающий пройти незамеченным, может заглушить канал. Система увидит «обрыв» и, если оператор привык к ложным обрывам от разряженных батарей, может не отреагировать.

Что можно сделать:

  1. Различать обрыв и глушение по уровню шума. При обрыве эфир тих; при глушении приёмник видит повышенный уровень шума. Если приёмник умеет измерять уровень шума в отсутствие пакетов — это разделяющий признак.
  2. Считать обрыв событием безопасности, а не только технической проблемой. Внезапный обрыв исправного узла требует проверки, а не только заявки на ремонт.
  3. Мониторить статистику обрывов: редкие — техника, внезапные и одновременные у нескольких узлов — подозрительно.

Честное ограничение: полностью защититься от глушения нельзя — это не решается криптографией или алгоритмом. Можно только надёжно обнаружить и правильно классифицировать.

Та же мысль звучала в PowerSentry, урок 7: криптография закрывает угрозы содержанию, но не доступности.


Ответы на вопросы, которые прозвучат

Вопрос ученикаКак отвечать
«Почему кипение — это σ, а не просто разброс между максимумом и минимумом?»Размах чувствителен к единственному выбросу, σ учитывает все значения. Это более устойчивая оценка разброса
«А если ветер качает ветку — это тоже кипение?»Да, и это ложная тревога. Одно из реальных ограничений метода, будем измерять на уроке 4
«Зачем удерживать тревогу секунду?»Быстрый пробег даёт просадку на доли секунды. Без удержания тревога мигнула бы и оператор её не заметил
«Можно ли сделать базу вообще неадаптивной?»Можно, но тогда медленный дрейф фона (погода, температура) через часы сделает порог неверным. Адаптивность нужна, её надо лишь правильно ограничить
«Что если нарушитель будет двигаться очень медленно?»Тогда просадка нарастает медленно, и незамороженная база успевала бы её съесть. Заморозка защищает и от этого — но только после первого срабатывания

Раздаточный лист (для печати)

Урок 3. Два признака и три класса

Опыт Б: движение рядом с лучом (не пересекая)

ГрафикЧто наблюдаю
Средний (отклонение)
Нижний (кипение σ)

Вывод: одного признака ________________________

Два признака:

ПризнакФормулаЧто ловит
Отклонение
Кипение

Правило детектора:

тревога, если (отклонение ≤ ____ дБ) _____ (σ ≥ ____ дБ)

Почему ИЛИ, а не И? ______________________________

Три класса — три цвета:

КлассЦветЧто означаетРеакция оператора
Норма
Тревога-просадкакрасный
Тревога-кипениеоранжевый
Обрыв линкасиний

Опыт с --no-freeze (встать в луч и стоять):

ВремяЧто происходит с тревогойЧто происходит с базой
0–2 с
30 с
60 с

Почему так произошло? ___________________________

Правило заморозки:

состояние ТРЕВОГА → база ________________
состояние НОРМА   → база ________________

Три системы из жизни, где адаптация во время аномалии опасна:

  1. _________________ 2. _________________ 3. _________________

Домашнее задание

Обязательная часть

Врайтап по рубрике А. Обязательный пункт: опишите демонстрацию --no-freeze и объясните, почему тревога снялась сама.

Уровень A

Найти три ситуации, где важно различать «сломалось» и «сработало» (сигнализация в машине, датчик дыма, интернет дома).

Уровень B

Предложить четвёртый класс событий, который мог бы понадобиться системе охраны периметра. Обосновать, чем его реакция отличается от существующих трёх.

Ориентир для педагога

Хорошие варианты: «попытка вмешательства» (сдвинули антенну — резкое изменение базы без прохода); «деградация» (растёт доля потерянных пакетов — линк слабеет, скоро откажет); «служебный режим» (охрана отключила систему намеренно).

Особенно ценен второй: он предупреждает об отказе до его наступления. Это переход от реактивного обслуживания к предиктивному.

Уровень C

Спроектировать логику, которая различала бы «нарушитель стоит в луче» и «в луче поставили неподвижный предмет». Какие признаки помогут?

Ориентир для педагога

Ключевой признак — кипение. Живой человек даже стоя неподвижно дышит и микродвижется, что даёт ненулевую σ. Неподвижный предмет даёт просадку с почти нулевым σ.

Дополнительно: предмет создаёт стабильную просадку, человек — слегка меняющуюся.

Ограничение, которое должен назвать ученик: различие невелико и ненадёжно, особенно на расстоянии. Уверенное решение потребовало бы другого датчика (тепловизор, радар с доплеровским каналом).

Это снова вывод «для новой задачи может потребоваться другая конструкция, а не другой алгоритм».


Итог урока: что записать в журнал

Вывод урока 3

  1. Движение рядом с лучом не даёт просадки, но усиливает разброс — нужен второй признак.
  2. Кипение (σ окна) ловит перемешивание отражений, отклонение ловит перекрытие зоны.
  3. Правило детектора использует ИЛИ: признаки покрывают разные сценарии.
  4. Обрыв линка — третий класс, а не «сильная тревога»: у него другая реакция (чинить, а не искать нарушителя).
  5. Три класса — три цвета: разные диагнозы должны выглядеть по-разному.
  6. Ловушка адаптивных систем: база, обучающаяся во время тревоги, запоминает нарушителя как норму, и тревога снимается сама.
  7. Заморозка базы во время тревоги решает проблему — адаптивная система должна учиться только в состоянии, которое считает нормальным.

Связь с курсом

Что родилось на этом урокеГде станет инструментом
Композиция признаковBeaconRadio урок 6, любые детекторы
Третий класс (обрыв)PowerSentry (heartbeat), BeaconRadio (мусор/тишина)
Заморозка адаптацииPowerSentry урок 6 (откат ADR)
«Адаптация без страховки опасна»Проектирование любых самонастраивающихся систем

Чек-лист педагога перед уроком

  • Проверено накануне: движение рядом с лучом действительно поднимает σ
  • Режим --no-freeze работает и демонстрирует снятие тревоги
  • Кнопка паузы на TX работает для демонстрации обрыва
  • Достаточно времени на демонстрацию --no-freeze — она требует около минуты ожидания
  • Раздаточный лист распечатан