Почему маленькая поблажка вдруг ускоряет поиск
В полутёмном театре администратор ещё до прихода зрителей быстро зовёт людей из фойе. Кому-то свет, кому-то микрофоны, кому-то двери. Весь вечер держится на одной вещи, найти самую маленькую команду без пустых мест.
Много трудных задач устроены так же. Если команда уже справляется, лишний человек её не портит, значит ищут самый короткий список. Раньше быстрый поиск надеялся почти на чудо: первые выбранные люди должны были сразу попасть в скрытую идеальную команду. Иначе оставалось перебирать список за списком.
Новая идея смягчает это правило. Если можно взять команду чуть больше лучшей, первые люди не обязаны быть точным попаданием. Достаточно, чтобы среди них нашлась заметная часть нужных, а потом быстрый добор закроет остальные роли. Тут всё прямо: люди, это варианты, скрытая команда, это самый маленький верный набор.
Ну и вот удача перестаёт быть хрупкой. Если сразу отвести в сторону побольше людей, потом добирать легче. Но растёт риск, что среди первых окажется слишком мало нужных. В этом и новизна, найден момент, где ещё один случайный выбор уже не окупается. Без поблажки всё снова скатывается к старому точному поиску.
Штука в том, что можно обойтись и без случая. Администратор заранее готовит короткие списки так, чтобы для любой скрытой хорошей команды хотя бы один список захватил достаточно нужных людей. Получается полностью спланированный ход, а скорость почти та же.
Это срабатывает в разных тяжёлых задачах, где надо накрыть все связи малым набором точек или убрать несколько узлов, чтобы в сети исчезли зацикленные ходы. Выигрыш в числах выглядит крошечным. А потом этот крошечный сдвиг повторяется снова и снова, и путь заметно укорачивается. Маленькая поблажка меняет не только ответ, она меняет то, какие ранние догадки стоит сохранять.