Модель мира без магии
Как описать комнату так, чтобы модель можно было заменить?
Модель мира полезна, если умеет ответить: «Что изменится после моего действия, насколько я этому доверяю и где прогноз перестанет работать?»
Начнём с вещей, а не с нейросети. Есть стол, светильник, реле, окно и измерительная точка. Реле управляет цепью лампы; лампа влияет на свет у стола; окно добавляет меняющийся фон. Эти связи сохраняют смысл даже после замены алгоритма.
Модель динамики добавляет прогноз: что произойдёт после действия и насколько этому прогнозу можно доверять. Она не стирает граф объектов и не превращает совпадение во времени в доказанную причинность.
Состав и назначение модели мира#
Предлагаем хранить два связанных представления. Первое — явное: помещение, рабочая зона, датчик, светильник, окно, пользовательская цель. Связи имеют смысл: «расположен в», «измеряет», «питается через», «влияет на», «наблюдает результат». Второе — обучаемое: параметры динамики, признаки временного окна, вероятностные оценки и скрытые представления нейросетей.
Явная модель нужна для прав, единиц, объяснений и переноса. Обучаемая нужна там, где точная зависимость заранее неизвестна. Нейросетевой вектор не должен быть единственным местом, где хранится факт «это реле управляет настольной лампой».
В Brick уже существует семантическое описание оборудования, пространств и отношений здания. [103] Мы можем использовать совместимый экспорт и словарь отношений, но не обязаны запускать отдельную графовую СУБД для первого кабинета. Небольшой типизированный граф в памяти с постоянным хранением достаточно выразителен для начального стенда.
Прогноз без действия и прогноз после действия#
Пусть — скрытое состояние комнаты, — действие, — внешние воздействия, — измерение. Общая заготовка:
описывает изменение мира, — то, как мы его видим; и отражают неполноту модели и ошибки наблюдения. Формула не требует нейросети. Для лампы достаточно простого вклада в освещённость; для сложного узла часть можно обучить.
Прогноз «завтра к девяти будет светлее» не доказывает «если я включу реле, станет светлее на 400 лк». Первый использует статистическую регулярность, второй требует информации о воздействии. Для обучения второго в данных обязательно присутствуют действия, фактическое состояние выхода, внешние условия и результат.
Причинная ловушка#
Вечером человек одновременно включает лампу и закрывает дверь. Наблюдательная модель может связать закрытие двери с ростом освещённости. Чтобы отделить зависимости, нужен монтажный смысл, физическое ограничение и безопасные измерения при изменении одного воздействия. Корреляция может помогать прогнозу, но не выдаёт разрешение управлять чужим устройством ради желаемого результата.
Не обещаем автоматическое открытие законов физики из нескольких часов телеметрии. Сначала задаём структуру процесса, затем оцениваем неизвестные коэффициенты. Например, знаем, что светильник способен добавлять свет, и оцениваем его вклад в конкретной точке.
Область применимости#
Для каждой модели храним диапазоны входов, поддерживаемые размещения, конфигурации оборудования и горизонт прогноза. Перестановка лампы, новая штора или изменение режима радара могут перевести модель в состояние «нужна перепроверка».
Выход за область — не обязательно авария. Координация возвращается к более простому правилу, а модель продолжает наблюдать в теневом режиме. Для высокорискового процесса реакция может быть строже и определяется отдельно.
Конфликт двух моделей#
Если одна модель говорит «пусто», а другая видит присутствие, нельзя молча усреднить их до удобного числа. Сначала выясняем, одинаковы ли объект, интервал времени и исходные источники. После этого процесс выбирает политику конфликта: собрать ещё данные, удержать состояние или спросить пользователя.
Модель мира хранит версии связей, динамику и область применимости прогноза. Для работы нужны явные объекты, действия и границы знания; пространственное изображение комнаты может служить дополнительным способом их изучения.
Модель объекта — не список названий#
Светильник связан с физическим каналом, комнатой, группами, обратной связью и допустимыми действиями. «Подсветка» и «освещение» могут обозначать разные наборы. Имя — только пользовательский псевдоним; источник истины — ID и текущая версия графа. Перенос между комнатами инвалидирует старые разрешения и модели, где размещение существенно.
Физическое измерение иногда зависит от действия мгновенно: y = h(x, a), а не только h(x). Для света это прямой вклад собственной лампы; для температуры основной эффект может быть медленным. Такой прямой канал нужно указать в паспорте, иначе оценщик ошибочно объяснит включение лампы изменением внешнего состояния.
Точка датчика и цель рабочего места#
Измеряемое место и объект цели задаются раздельно. Если цель относится к рабочей плоскости, сенсор устанавливают в выбранной точке этой плоскости либо проверяют отдельное преобразование от сенсора к целевой зоне. Показание у монитора нельзя без проверки объявить освещённостью всего стола. В паспорте процесса сохраняются target_location_id, ориентация и размещение сенсора, способ сопоставления и область применимости; названия этих полей здесь задают семантику, а не новый бинарный профиль KQIP.
Связь зависит от источника света. Перенос коэффициента, измеренного для лампы, на дневной свет требует самостоятельного подтверждения. Для первого опыта проще совместить точку измерения с выбранной точкой цели, затем сравнить несколько положений на столе при разных условиях. Монитор, штора и новая лампа входят в условия опыта. Если преобразование не проверено, интерфейс показывает измерение в точке сенсора, а достижение цели для рабочей зоны оставляет неподтверждённым.