•Tudorutzu
Strain
Karma: 1
Deconectat
Mesaje: 10
|
|
« : 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
|
|
« 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
|
|
« Răspunde #2 : Aprilie 20, 2008, 19:54:17 » |
|
Nodurile presupun ca au voie sa se repete
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•amadaeus
Client obisnuit
Karma: 28
Deconectat
Mesaje: 93
|
|
« 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
|
|
« Răspunde #4 : Aprilie 20, 2008, 21:29:09 » |
|
Nodurile presupun ca au voie sa se repete si eu am presupus acelasi lucru
|
|
|
Memorat
|
Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
|
|
|
•Tudorutzu
Strain
Karma: 1
Deconectat
Mesaje: 10
|
|
« Răspunde #5 : Aprilie 21, 2008, 00:22:37 » |
|
nu au voie sa se repete
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit
Karma: 28
Deconectat
Mesaje: 93
|
|
« 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
|
|
« 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
Mesaje: 93
|
|
« Răspunde #8 : Aprilie 21, 2008, 15:46:40 » |
|
...sau niste random-uri inteligente, in sistem Ciucu
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•CezarMocan
|
|
« Răspunde #9 : Aprilie 21, 2008, 17:38:59 » |
|
Ia zi si mie cum ar merge cu randomuri problema asta... sunt chiar curios
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit
Karma: 28
Deconectat
Mesaje: 93
|
|
« Răspunde #10 : Aprilie 21, 2008, 18:11:42 » |
|
Asta numai el iti poate spune
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•Cosmin
|
|
« 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
|
|
« Răspunde #12 : Aprilie 21, 2008, 19:34:31 » |
|
ce sunt k-opturile??
|
|
|
Memorat
|
|
|
|
•Cosmin
|
|
« Răspunde #13 : Aprilie 21, 2008, 19:43:22 » |
|
http://en.wikipedia.org/wiki/Traveling_salesman_problemcauta 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
|
|
« 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.
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•wefgef
|
|
« 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 .
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Marius
|
|
« Răspunde #16 : Aprilie 21, 2008, 23:08:03 » |
|
Eu am avut si un milion de puncte si nu se poate 101 ...
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•amadaeus
Client obisnuit
Karma: 28
Deconectat
Mesaje: 93
|
|
« 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 sub arhiva de probleme si arhiva educationala
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
|