Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Graf  (Citit de 3744 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Tudorutzu
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« : Aprilie 20, 2008, 18:10:00 »

Spuneti-mi si mie va rog cum calculez drumul de cost minim de la un nod al unui graf la alt nod, drum care sa treaca printr-un numar fixat de noduri
Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #1 : Aprilie 20, 2008, 18:23:32 »

Poti rezolva problema prin programare dinamica:
D[ i ][ j ] = distanta minima de la nodul de start panala nodul i trecand prin exact j noduri. Initial D[ sursa ][1] = 0, iar pentru o stare (i,j) deja calculata vei trece intr-o stare (i',j+1) unde i' este un vecin al lui i.
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #2 : Aprilie 20, 2008, 19:54:17 »

Nodurile presupun ca au voie sa se repete Whistle
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #3 : Aprilie 20, 2008, 21:05:03 »

Daca nu au voie sa se repete, e NP-completa.
Memorat

"one of these days I'm going to cut you into little pieces..."
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #4 : Aprilie 20, 2008, 21:29:09 »

Nodurile presupun ca au voie sa se repete Whistle

si eu am presupus acelasi lucru  Whistle
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
Tudorutzu
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #5 : Aprilie 21, 2008, 00:22:37 »

nu au voie sa se repete   Whistle
Memorat
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #6 : Aprilie 21, 2008, 00:33:43 »

Atunci nu se poate rezolva in timp polinomial. Daca ai gasi un astfel de algoritm, ai rezolva si problema drumului hamiltonian (cauti drumul dintre doua noduri care sa treaca prin toate celelalte |V|-2 noduri).
Cred ca poti gasi o rezolvare intr-o dinamica pe stari in O(2^N * N^2), similara cu gasirea drumului hamiltonian de cost minim.
Memorat

"one of these days I'm going to cut you into little pieces..."
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #7 : Aprilie 21, 2008, 12:32:49 »

In cazul in care nu se poate sa repeti nodurile ai 2 posibilitati:

1. Faci un backtracking optimizat
2. Folosesti rezolvarea de care spunea amadeus mai sus cu dinamica pe configuratii. Ar trebui sa te uiti peste rezolvarea de la problema ADN pentru mai multe detalii
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #8 : Aprilie 21, 2008, 15:46:40 »

...sau niste random-uri inteligente, in sistem Ciucu  Whistle
Memorat

"one of these days I'm going to cut you into little pieces..."
CezarMocan
Nu mai tace
*****

Karma: 252
Deconectat Deconectat

Mesaje: 567



Vezi Profilul
« Răspunde #9 : Aprilie 21, 2008, 17:38:59 »

Ia zi si mie cum ar merge cu randomuri problema asta... sunt chiar curios Smile
Memorat
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #10 : Aprilie 21, 2008, 18:11:42 »

Asta numai el iti poate spune Tongue
Memorat

"one of these days I'm going to cut you into little pieces..."
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #11 : Aprilie 21, 2008, 18:18:58 »

Cezare poti baga si pe aici k-opturi cum ti-am mai zis la ciclu hamiltonean.
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #12 : Aprilie 21, 2008, 19:34:31 »

ce sunt k-opturile??
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #13 : Aprilie 21, 2008, 19:43:22 »

http://en.wikipedia.org/wiki/Traveling_salesman_problem

cauta aici k-opt

Am avut la ginfo prin 2001 sau 2002 nu mai stiu sa determinam lantul hamiltonean de cost minim intr-un graf unde n era vreo 200. Prietenul meu Adrian Carcu a facut cel mai bine pe problema si a folosit o combinatie de 2-opt si 3-opt.

Am folosit in o gramada de probleme de euristici de la Bursele Agora metode de imbunatatire a solutiei de tipul asta.
« Ultima modificare: Aprilie 21, 2008, 19:50:46 de către Cosmin Negruseri » Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #14 : Aprilie 21, 2008, 22:46:56 »

Sa punem o problema pe infoarena care sa determine lantul hamiltonian de cost minim pentru n mare (200 cum zice Cosmin) si sa se evalueze astfel incat daca obtii un cost mai bun decat al comisiei sa primesti mai mult de 10 puncte pe test? Sa fie o problema care obtine mai mult de 100 de puncte. Smile
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #15 : Aprilie 21, 2008, 23:05:40 »

Nu se poate sa obtii mai mult de 100 de puncte la o problema pe infoarena Smile.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #16 : Aprilie 21, 2008, 23:08:03 »

Eu am avut si un milion de puncte si nu se poate 101 ... Very Happy
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #17 : Aprilie 22, 2008, 00:05:21 »

Ar merge o intreaga clasa de astfel de probleme, pentru care sa nu existe solutie polinomiala sau solutie exponentiala care s-ar incadra in timp, iar punctarea sa se faca in functie de cea mai buna solutie valida pana la momentul respectiv (care ar lua 100p), restul surselor primind puncte in funtie de o anumita distributie (de exemplu Gaussiana).

Cred ca este totusi destula munca pentru implementarea unei astfel de functionalitati; poate in infoarena 3.0 vom avea si "arhiva de bulaneli", plasata cu o eticheta mai formala Tongue sub arhiva de probleme si arhiva educationala Very Happy
Memorat

"one of these days I'm going to cut you into little pieces..."
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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