Я щойно навчив рандомізований алгоритм каржеру-Штейна в моєму класі випускників алгоритмів. Це справжній алгоритмічний дорогоцінний камінь , тому я не можу цього навчити, але це завжди залишає мене розчарованим, тому що я не знаю жодних інших застосувань основної техніки. (Тому важко призначити домашнє завдання, яке приводить в дію точку додому.)
Алгоритм Каргера та Штейна - це уточнення більш раннього алгоритму Каргера, який ітераційно стискає випадкові ребра, поки граф не має лише двох вершин; цей простий алгоритм працює в час і повертає мінімальний зріз з ймовірністю , де - кількість вершин у вхідному графіку. Удосконалений алгоритм рекурсивного скорочення ітеративно стискає випадкові ребра до тих пір, поки кількість вершин не впаде з до , рекурсивно викликає себе двічі на графі, що залишився, і поверне менший з двох одержаних скорочень. Проста реалізація вдосконаленого алгоритму працює вΩ ( 1 / n 2 ) n n n / √час і повертає мінімальний зріз з ймовірністю . (Є більш ефективні реалізації цих алгоритмів і кращі рандомізовані алгоритми.)
Які ще рандомізовані алгоритми використовують подібні методи посилення розгалуження? Мене особливо цікавлять приклади, які (очевидно) не передбачають скорочення графіків.