Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Algoritm graf interesant ( ajutor )  (Citit de 5125 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
AndreiGrigoras
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« : Martie 04, 2016, 19:05:16 »

Problema este simpla : Dandu-se N puncte si M legaturi intre puncte ( avand fiecare un cost ) , aflati costul drumului minim ce porneste dintr-un nod X ( din cele N ) , trece prin toate celelalte puncte , si se intoarce inapoi in X ( un fel de circuit ) . Ai voie sa treci prin orice punct de oricate ori vrei , dar se cere costul minim ;
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #1 : Martie 04, 2016, 19:15:47 »

Daca ai un ciclu de cost negativ nu ai solutie.
Altfel, problema se reduce la problema ciclului hamiltonian de cost minim.
Memorat
AndreiGrigoras
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #2 : Martie 04, 2016, 19:31:09 »

Costurile sunt toate pozitive , ideea este ca pot parcurge un nod / muchie de mai multe ori . Problema este ca se poate sa nu fie nici un ciclu in graf . Este o problema la cazul general ( graful poate fi arbore sau nu ) si trebuie gasita solutia optima
« Ultima modificare: Martie 04, 2016, 19:51:24 de către Andrei Grigoras » Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #3 : Martie 04, 2016, 20:00:34 »

https://en.wikipedia.org/wiki/Travelling_salesman_problem

Problema e NP-Hard în multe dintre variante, inclusiv dacă ai voie să repeți noduri. Găsești acolo mai multe detalii.
Memorat
AndreiGrigoras
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #4 : Martie 04, 2016, 20:10:56 »

Interesant , ea este trecuta ca si problema cu operatii pe biti . Problema este "excursie" de pe campion . In principiu se dau niste nume de localitati , distantele si se cere un drum minim din nodul X care sa treaca prin toate nodurile si sa se intoarca in X . Am reusit sa evit operatiile pe biti folodind map < string , int > . Dar am dat de subproblema cu drumul minim.
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #5 : Martie 04, 2016, 20:22:49 »

Mda, e cam amuzant să pui tag de "operații pe biți" la travelling salesman. Ideea este că una dintre soluțiile eficiente la problema asta se folosește de programare dinamică cu număr exponențial de stări, fiecare stare fiind formată dintr-o submulțime de noduri deja atinsă și nodul în care te afli în prezent. În mod tradițional submulțimea de noduri se codifică printr-o mască de biți (un număr natural care are biți de 1 doar pe biții corespunzători orașelor parcurse). De asta zic ei că e problemă cu operații pe biți.

Ai aici mai multe detalii despre soluție.

http://www.infoarena.ro/problema/hamilton
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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