Нам дан ненаправленный граф G = (V, E) и две вершины s, t ∈ V. Мы считаем простым
пути между с и т. Путь прост, если каждая вершина посещается не более одного раза.
Следуют ли следующие данные в P или NP-complete?
Существует ли эффективный алгоритм полиномиального времени для следующего?
"n" представляет количество вершин в графе "V"
- Существует ли простой путь от s до t длиной не более n / 100?
- Существует ли простой путь от s до t длиной не менее n / 100?
- Существует ли простой путь от s до t длиной ровно n / 100?
- Есть ли два непересекающихся по краю пути от s до t? (Говорят, что два пути не пересекаются с ребром, если они не имеют общего ребра.)
Мои мысли (пожалуйста, поправьте меня, если я ошибаюсь) Ваш вклад приветствуется.
- Я думаю, что могу запустить алгоритм Дейкстры, чтобы найти кратчайший путь между S и T за полиномиальное время. Так что вопрос 1 в П.
- Я думаю, что необходимо перечислить все простые пути от s до t. Я не знаю, каково будет время выполнения этого, но я думаю, что это будет хуже, чем полином.
- Аналогично 2 выше. Нет полиномиального алгоритма.
- Я не уверен. Я не знаю ни одного эффективного (алгоритма поли-времени) для поиска нескольких путей между двумя узлами, но это не значит, что их не существует.