Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Dijkstra cu costuri negative pe muchii  (Citit de 1283 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Archazey
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« : Octombrie 31, 2014, 13:05:29 »

Daca in loc de Bellman-Ford as folosi Dijkstra,crescand toate muchiile cu o valoare constanta astfel incat valorile sa fie toate pozitive,iar la sfarsit sa scad lungimeadrumului*constanta. Imi da raspunsul corect mereu?
Memorat
freak93
Echipa infoarena
Nu mai tace
*****

Karma: 342
Deconectat Deconectat

Mesaje: 819



Vezi Profilul
« Răspunde #1 : Octombrie 31, 2014, 15:32:50 »

Nu:

Sa presupunem ca constanta ta e 5 (am folosit un numar la intamplare)

Hai sa luam un triunghi, 3 muchii 1 -> 2, 1 -> 3 si 2->3. Daca muchia de la 1 la 3 are valoarea 5, muchie de la 1 la 2 valoarea 2 si muchia de la 2 la 3 tot valoarea 2 atunci cel mai bun drum de la 1 la 3 are distanta 4. Daca insa aduni 5 la toate, faci dijkstra si scazi la final lungime * 5 o sa iti dea ca distanta e 5 nu 4 (ti-ar fi iesit muchia 1->3 in loc cu distanta 5 + 5 = 10, in loc de 1 -> 2 + 2 -> 3 = (2 + 5) + (2 + 5) = 14).

Daca incerci sa calculezi constanta pe baza celei mai mici muchii ca valoare te vezi izbii de aceasi problema.
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #2 : Noiembrie 01, 2014, 04:05:56 »

Ca sa completez ce a zis Adi: e usor de văzut si fara example ca nu mai e aceeași problema. Noul tau cost e suma-costuri + nr-muchii * C, iar Dijkstra nu ti oferă niciun control asupra unui asemenea trade-off muchii-cost.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines