Сеть на столе и способ узнать, где чей узел
В сарае у маленькой гавани на столе лежит порванная рыболовная сеть. Узлы разные: где-то толстые, где-то гладкие от рук, где-то рядом с тяжёлым канатом. На нескольких узлах яркая лента. А остальные как понять, к какому месту сети они относятся?
Похожая беда бывает и в других “сетях”: страницы с ссылками, документы с отсылками, большие справочники, где всё связано. Часть помечена точно, а большая часть нет. Раньше часто делали одно из двух: смотрели на каждый “узел” отдельно или гнали метки по связям по жёстким правилам.
Новая идея простая и повторяемая. Каждый узел пишет себе новую записку, смешивая своё описание и то, что “говорят” соседние узлы рядом по нитям. И так несколько проходов, чтобы подсказка успела пройти на пару шагов по сети, без попытки охватить всё сразу.
Штука в том, что смешивать надо аккуратно. Узел с кучей нитей не должен заглушать остальных, как шумная компания заглушает тихого человека. И ещё: каждый узел считают связанным сам с собой, будто у него есть маленькая петелька, чтобы он не терял собственный голос.
Тут совпадение один к одному: узлы это объекты, нити это связи, записка это текущее “представление” объекта, лента это редкие верные метки. Механика общая: берём соседей рядом, берём себя, смешиваем в равновесии. Вывод простой: важнее не дальность, а спокойная, местная передача подсказок.
Дальше сеть учится на тех узлах, где лента уже есть. Ошибка на помеченных узлах подправляет несколько “ручек настройки”, и это знание расползается по нитям. Обычно хватает пары-тройки проходов, и работа остаётся посильной, потому что каждый проход трогает в основном сами связи.
Когда так делали на известных сетях документов и на большой карте знаний, где меток было совсем мало, ответы выходили точнее и приходили быстрее, чем у прежних подходов. И в сарае становится ясно: не нужно клеить ленту на каждый узел и не нужно трясти всю сеть целиком. Нужны несколько спокойных местных проходов, где узел держится за себя и слушает соседей.