Problema |
Bine ati venit ca musafir! ( Logare | Inregistrare )
Problema |
26 Jan 2006, 02:58 PM
Mesaj
#1
|
|
Cronicar Grup: Moderator Mesaje: 2.132 Inscris: 16 June 04 Din: Bucuresti Forumist Nr.: 3.862 |
Salutare!
Nu sunt sigur că aici e locul potrivit să postez (dacă nu e... rog moderatorul să mute acest topic; sau sa-l īnchidă). Am următoarea problemă: Īntr-o grădină sunt n aspersoare. Pentru fiecare aspersor cunoaştem poziţia lui (x[i],y[i]) şi debitul de apă Q[i] (i = 1..n). Robinetul de alimentare cu apă se află la (x[0],y[0]) şi de-acolo trebuie să tragem o reţea arborescentă de conducte care să distribuie apa la toate cele n aspersoare. Dar trebuie să minimizăm costurile reţelei. Ştim că metrul liniar de conductă are un cost c proporţional cu radicalul debitului pe care-l suportă acea conductă: c = k*sqrt(Q). Deci dacă pe o anume distanţă două tronsoane de debite Q1 şi Q2 se pot contopi īntr-un singur tronson de debit Q1+Q2, costul va fi mai mic (radicalul sumei e mai mic de cāt suma radicalilor). Īntrebarea e: care ar fi un algoritm pentru determinarea arborelui de cost minim? Iată o schiţă explicativă: Īn imagine se văd conductele mai groase (şi mai scumpe) care cumulează mai mult debit, pe care apoi īl īmpart către conducte tot mai subţiri, către consumatorii finali. Am considerat că toţi consumatorii au acelaşi debit -- e o simplificare OK pentru o primă abordare. (Evident, problema e teoretică -- aspersoarele şi grădina sunt doar metafore.) Are cineva ceva idei? a -------------------- Trebuie să facem ceea ce credem că e bine, dar nu trebuie să credem că ceea ce facem e bine.
|
|
|
30 Jan 2006, 03:41 PM
Mesaj
#2
|
|
Cronicar Grup: Moderator Mesaje: 2.132 Inscris: 16 June 04 Din: Bucuresti Forumist Nr.: 3.862 |
Iată ce frumos arată treaba pentru trei consumatori:
Vectorii de lungimi sqrt(Q1), sqrt(Q2) şi sqrt(Q3) trebuie să-şi facă echilibru cu vectorul sqrt(Q1+Q2+Q3), ca īn figură. Lungimile lor sunt date de debite şi ei trebuie să-şi găsească unghiurile īncāt să se echilibreze. Echilibrarea cred că se poate face simplu, cu un algoritm care să simuleze efectiv procesul dinamic prin care sistemul tinde la echilibru. Īn cel mai rău caz, trebuie generaţi toţi arborii... a EDIT: Am testat soluţia geometrică pentru trei puncte şi am găsit că pot fi construiţi ambii arbori īncāt să respecte cerinţele algoritmului geometric! Asta īnseamnă că geometria nu ne poate ajuta să decidem structura arborelui. Deci trebuie efectiv īncercaţi toţi. Păcat, speram ca soluţia geometrică să ne scutească de aşa ceva... Acest topic a fost editat de Amenhotep: 30 Jan 2006, 05:47 PM -------------------- Trebuie să facem ceea ce credem că e bine, dar nu trebuie să credem că ceea ce facem e bine.
|
|
|
Versiune Text-Only | Data este acum: 9 June 2024 - 05:20 PM |