2014-10-12 3 views
-1

, так что вопрос будет следующим: Вы получите ориентированный граф G = (V, E) и весовую функцию wt: E-> R +. Вам также даны два выделенных узла s, t ∈ V Напишите алгоритм, который отмечает каждый узел v таким образом, что v лежит на кратчайшем пути от s до t. Введем логическое поле по адресу для каждого узла v. Ваш алгоритм должен установить пост-состояние: ∀ v ∈ V: v. по адресу ≡ (∃ p: shpath (p, s, t) ∩ вдоль (v, p)) где мы определяем shpath (p, s, t) = path (p, s, t) ∩ wt (p) = δ (s, t) и вдоль (v, p) = (v = hd (p) ∪ вдоль (v, tl (p))). Здесь hd, tl обозначают голову и хвост последовательности. Также вдоль (v, λ) = false, где λ - пустая последовательность. Докажите, что ваш алгоритм заканчивается во времени O (| V |^3), с вышеуказанным постусловием trueрасчет алгоритма кратчайшего пути

Я пытался понять это, но есть некоторые вещи, которые я не совсем понимаю, например, мы предполагаем, что существует несколько кратчайших путей? и должен ли мы найти кратчайший путь, а затем посмотреть, какие узлы принадлежат этому пути? или мы должны найти эти узлы, пока мы находимся в процессе поиска кратчайшего пути? и как я должен доказать, что этот алгоритм заканчивается во времени O (| V |^3), пожалуйста, помогите ...

+0

Я думаю, вы, возможно, захотите опубликовать этот вопрос по теоретической информатике http://cstheory.stackexchange.com/ – shuttle87

ответ

0

Мы предполагаем, что существует несколько кратчайших путей?

Может быть много кратчайших путей, да. Рассмотрим такой график, как

* * * * 
/\/\/\/\ 
s * * * t 
\/\/\/\/
    * * * * 

где каждое ребро имеет длину 1. Имеются 16 кратчайших путей от s до t.

и должен ли мы найти кратчайший путь, а затем посмотреть, какие узлы принадлежат этому пути?

Если вы попробуете это на приведенном выше графике, вы не сможете пометить 4 узла.

или мы должны найти эти узлы, пока мы находимся в процессе нахождения кратчайшего пути?

Возможно, возможно нет. Существует несколько правильных алгоритмов.

и как я должен доказать, что этот алгоритм оканчиваются время O (| V |^3)

Вы должны беспокоиться о доказательстве правильности первого.

+0

спасибо за ответ и извините, я очень новичок в этом курсе, вы можете хотя бы дать мне немного подсказки, чтобы начать меня? Я действительно хочу начать, но я просто не знаю, как ... пожалуйста, объясните еще кое-что .. –

+0

@AliYahya Определенные вершины s, t, u, как бы вы нашли кратчайший путь от s до t, который посещает u по пути ? –

+0

lol, где я потерялся, я имею в виду, что существует множество различных алгоритмов коротких путей, и я не знаю, следует ли мне просто использовать грубую силу или любой из известных алгоритмов, потому что каждый из них дает вам другую стоимость ... I «Я действительно смущен: / –

Смежные вопросы