Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Drum simplu de cost MAXIM  (Citit de 5307 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« : Mai 01, 2008, 10:35:27 »

Salut , ce algoritm as putea folosi pentru a determina un drum simplu de cost maxim intr-un graf neorientat ?
Mentionez ca trebuie sa reconstitui si drumul daca asta influenteaza cu ceva..
« Ultima modificare: Mai 01, 2008, 10:44:28 de către Jean Luca Paliuca » Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #1 : Mai 01, 2008, 15:43:19 »

E problema NP-completa, nu exista rezolvare polinomiala pentru ea Smile.

Poti face dinamica pe stari sau back optimizat.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #2 : Mai 01, 2008, 16:04:47 »

Mi-ai putea da un mic ajutor in legatura cu dinamica pe stari deoarece nu am mai auzit de asa ceva ?
Ar fi un fel de Roy Floyd doar ca nu ar merge daca exista cicluri ? Sau merge tot timpul ?
« Ultima modificare: Mai 01, 2008, 16:17:07 de către Jean Luca Paliuca » Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #3 : Mai 01, 2008, 17:15:59 »

Hmm cred ca ai putea face ceva de genul:

A[i,j] - costul maxim de a ajunge in nodul i, avand configuratia j. Prin configuratie se intelege un numar care in baza 2 tine minte daca ai fost intr-un nod. Spre exemplu daca ai avea j=9 in baza 2 ai avea 1001, asta insemnand ca ai deja parcurse nodurile 1 si 4. Sper sa mearga Smile, daca este ceva gresit corectati-ma.
Memorat

vid...
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #4 : Mai 01, 2008, 18:00:56 »

Ce inseamna ca sunt parcurse nodurile 1 si 4 ? Ca drumul este 1 , 4 si i ?
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #5 : Mai 01, 2008, 18:38:43 »

Ce inseamna ca sunt parcurse nodurile 1 si 4 ? Ca drumul este 1 , 4 si i ?

In cazul asta ii ca si cum ai avea drumul 1-4-i. Dar, de exemplu daca ai avea mai multe noduri parcurse, spre exemplu 1,2,3,4 nu insemna ca drumul este 1-2-3-4-i, ci doar ca ai trecut prin nodurile 1,2,3,4 deja. Astfel te asiguri ca nu mai treci inca o data prin ele.
Memorat

vid...
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #6 : Mai 01, 2008, 22:11:08 »

Hmmm , sunt curios daca merge asa... Si care ar fi recurenta pentru a actualiza un element din matrice ? In functie de ce actualizezi ?
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #7 : Mai 02, 2008, 09:02:14 »

Ai putea face un Bellman Ford cu coada pentru o implementare mai simpla.
Memorat

vid...
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #8 : Mai 02, 2008, 09:11:58 »

Pana la urma e sau nu NP-completa ? Daca fac un Bellman-Ford pt fiecare nod mi se pare ca nu gaseste drum simplu tot timpul
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #9 : Mai 02, 2008, 09:33:11 »

E np hard.

Poti sa te uiti la problema ADN si la solutia ei din articolele cu solutii, ca sa prinzi trucul.

Cosmine nu faci cu bellman ford ci umplii pur si simplu matricea aia cu dinamica. Nu vad cu ce te ajuta bellman ford.

Daca problema e mai particulara si graful accepta o sortare topologica atunci exista algoritmi eficienti, sau daca graful e un arbore.
Memorat
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #10 : Mai 02, 2008, 09:49:35 »

Am citit articolul cu solutii , frumoasa abordare . In general am inteles, sper sa-mi iasa si implementarea.

Mersi mult.
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #11 : Mai 02, 2008, 11:14:00 »

@Cosmin

Defapt nu aplici un Bellman Ford cu coada in adevaratul sens al cuvantului, ci doar ti o coada de care te folosesti. Mie mi se pare mult mai usor sa umpli matricea asa.

Memorat

vid...
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #12 : Mai 06, 2008, 21:14:19 »

Doar daca exista si costuri negative este NP-completa ?
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #13 : Mai 06, 2008, 21:16:41 »

Este NP si fara costuri negative. Gandeste-te ca dak as putea rezolva problema ta, atunci as putea sa rezolv problema si pentru un graf in  care costurile muchiilor sunt 1, ceea ce inseamna ca as putea gasi un ciclul hamiltonian, problema demonstrata ca fiind NP.
Memorat
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #14 : Mai 06, 2008, 21:21:57 »

Multumesc.

Inca ceva , poate poti sa ma ajuti.

Nu-mi dai un exemplu pentru care pica Dijkstra aplicat pt fiecare nod ?
« Ultima modificare: Mai 06, 2008, 21:29:31 de către Jean Luca Paliuca » Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #15 : Mai 06, 2008, 21:34:59 »

pai cum verifici cu djikstra sa nu vizitezi un nod de 2 ori?? cu djikstra o sa te plimbi pe cicluri de o infinitate de ori si costul o sa tot creasca.
Memorat
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #16 : Mai 06, 2008, 21:52:23 »

Cu vectorul in care verifici daca ai trecut sau nu printr-un nod
« Ultima modificare: Mai 06, 2008, 22:25:00 de către Jean Luca Paliuca » Memorat
byndrsn
Client obisnuit
**

Karma: 19
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #17 : Mai 06, 2008, 22:14:56 »

Nu-mi dai un exemplu pentru care pica Dijkstra aplicat pt fiecare nod ?

Nu imi dau seama exact la ce te referi. Vrei sa modifici algoritmul lui Dijkstra astfel incant sa aleaga la fiecare pas nodul cu distantza temporara maxima?
Memorat
paliuca
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #18 : Mai 06, 2008, 22:17:57 »

Un contraexemplu pentru care Dijkstra nu gaseste drum simplu de cost maxim daca iei pe rand fiecare nod ca sursa... nevermind...abandonez problema
« Ultima modificare: Mai 06, 2008, 22:25:29 de către Jean Luca Paliuca » Memorat
byndrsn
Client obisnuit
**

Karma: 19
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #19 : Mai 06, 2008, 22:30:09 »

Dijkstra calculeaza drumurile minime. Daca folosesti Dijkstra pornind din fiecare nod, cel mai costisitor drum pe care il gasesti e distanza maxima dintre oricare 2 noduri. "Roata" (http://en.wikipedia.org/wiki/Wheel_graph wheel graph) cu 7 noduri este un contraexemplu: un ciclu de lungime 6 cu un nod in centru conectat cu toate nodurile de pe ciclu. Sa zicem ca fiecare muchie are cost 1. Distanta maxima intre oricare 2 varfuri este 2. Dar drumul de cost maxim are cost 6.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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