Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Backtracking in plan  (Citit de 4912 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
costi_.-.
Strain
*

Karma: 2
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« : Septembrie 18, 2011, 11:53:21 »

Salut.
In afara de abordarea backtracking,exista alte solutii mai eficiente pentru puncul (b) de la problema 4  Whistle .Sper sa intelegeti cerinta:
http://infoscience.3x.ro/c++/Backtracking_%20in_%20plan.htm
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #1 : Septembrie 18, 2011, 12:03:49 »

Daca nu e nevoie sa cunosti drumul, poti face o parcurgere in latime pornind din punctul de start.
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #2 : Septembrie 18, 2011, 12:05:08 »

Da exista, poti sa vezi algoritmul lui Lee (cunoscut in termen de grafuri ca si parcurgere in latime), si diversele probleme de pe InfoArena, cu solutii oficiale.
[LE] Se pare ca am scris in acelasi timp ...
Memorat
costi_.-.
Strain
*

Karma: 2
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« Răspunde #3 : Septembrie 18, 2011, 14:31:04 »

Stiu de algoritmul BFS si de aplicatiile lui pe o matrice Smile.Dar, in problema drumul cel mai "consistent" inseamna (presupun) drumul cu suma maxima.
Eu ma gandeam sa memorez toate drumurile posibile de la sursa la tinta intr-o matrice,sa calculez suma pentru fiecare in parte si apoi afisez drumul cu suma cea mai mare.Binenteles, asta e abordarea Bk.Ori, eu vreau sa aflu drumul maxim direct Tongue.
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #4 : Septembrie 18, 2011, 17:28:56 »

Poate am facut greseala sa presupun ca soricelul poate merge de doua ori pe acelasi drum. Si in acest caz, suma ar fi egala cu suma tuturor casutelor accesibile.
In cazul in care nu poate, nu cred ca ramane altceva decat backtracking  Think
Memorat
darkseeker
De-al casei
***

Karma: 29
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #5 : Octombrie 28, 2011, 21:58:19 »

In cazul in care nu poti trece de 2 ori prin aceeasi celula din matrice ai urmatoarea solutie fara backtracking :
Folosesti algoritmul lui dijkstra , o stare fiind definita de ( i , j , cost ) ea reprezentand costul maxim al unui drum de la celula linieStart,coloanaStart la celula i,j . Evident vei modifica algoritmul pentru a-ti obtine costul maxim .
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #6 : Octombrie 28, 2011, 22:54:42 »

Imi vine greu a crede ca exista o astfel de solutie. Poate vrei sa detaliezi?
Memorat
darkseeker
De-al casei
***

Karma: 29
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #7 : Octombrie 29, 2011, 10:06:03 »

Ai dreptate . Solutia este eronata . Imi cer scuze ca nu m-am gandit mai mult ... a fost la repezeala si nu mi-am dat seama ca mai mereu in matrice ar exista un ciclu de cost pozitiv ( care ar imbunatati intr-una costul maxim al unui drum ) .
« Ultima modificare: Octombrie 29, 2011, 10:16:37 de către Boaca Cosmin » Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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