Я недавно наткнулся на этот алгоритм , и мне трудно объяснить его самому себе. Алгоритм решает проблему присваивания в O (n 4 ) (и, очевидно, его можно улучшить до O (n 3 )), но я не понимаю, почему .
Интуитивно я вижу, что алгоритм будет стремиться найти хорошие и оптимальные решения, но я не вижу доказательства! Все доказательства, которые я видел до сих пор, содержат обозначения, с которыми я не знаком. Мой вопрос: кто-нибудь может объяснить это строго, но просто?
Я уже понимаю, что проблему можно перенести в матрицу значений, в которой должно быть выбрано ровно одно значение в каждой строке и каждом столбце. Минимально возможное значение (из выбранных элементов) и выбор, который производит, - это то, что вычисляет алгоритм. Очевидно, что выбор также находит минимум.
Часть, с которой я борюсь, в плане обозначений, - здесь . Третий абзац в разделе Настройки , который начинается с «Давайте вызовем функцию» ...