Блог пользователя constkir

Автор constkir, 10 лет назад, По-русски

Сейчас осознал, что задача о потоке минимальной стоимости для случая когда стоимости ребер могут быть отрицательными — NP. Алгоритмы через путь минимальной стоимости не работают из-за отрицательных циклов, а теорема о том что поток имеет минимальную стоимость т.ит.т.к. нет отрицательных циклов для этого случая вообще не верна, хотя ошибка весьма неочевидна. Почему-то я об этом нигде раньше не встречал упоминаний.

  • Проголосовать: нравится
  • -8
  • Проголосовать: не нравится

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

Почему не слышали, что задача в классе NP? Ответ: это очевидно. Но она ещё и лежит в классе P. Есть семейство алгоритмов, которые выбирают отрицательный цикл и пускают по нему поток, некоторые из которых строго полиномиальны. Легко гуглится по словам min mean-cost cycle cancelling.

»
10 лет назад, # |
  Проголосовать: нравится -11 Проголосовать: не нравится

Я писал, что мне показалось, что это метод вообще неправильный. Но я уже нашел ошибку в своем контрпримере. Теперь опять ничего не понимаю. То есть, у меня как бы есть доказательство P=NP и я уже 3 часа не могу найти в нем ошибку. Теперь буду искать завтра с утра.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +60 Проголосовать: не нравится

    Вы свели какую-нибудь NP-hard задачу к потоку минимальной стоимости? Или что вы подразумеваете под словом доказательство?

»
9 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится

Ура. Таки P!=NP?, по крайней мере пока. Ошибка была в неверном понимании потока. Интуитивно, когда дают задачу о потоке говорят, допустим, о системе трубопроводов по которым с минимальной стоимостью надо перекачать что-то из начального пункта в конечный. При этом неявно предполагается, что это что-то есть только в начальном пункте и изначально нигде его больше нет. Так вот, в такой формулировке задача NP-полна. Когда же речь идет о цикруляции, то предполагается, что эти трубопроводы уже как-то заполнены, даже если граф несвязный. Тогда полиномиально.