Străzile din Manhattan și... conectarea grupurilor de pini?
Arbori SteinerUn titlu din teoria grafurilor... Sunteți tentați să "dați pagina" oarecum îngroziți de plictiseala unor expuneri matematice? De data aceasta să n-o faceți! Arborii Steiner au o aplicabilitate extrem de frumoasă în proiectarea... microprocesoarelor. Distanța ManhattanAtunci când doreau să realizeze un cablaj la o schemă nouă, cei pasionați de electronică s-au întâlnit de multe ori cu problema conectării grupurilor de pini. Această problemă se poate transpune în limbajul teoriei grafurilor astfel: fiecare pin al unui circuit reprezintă un nod, iar toți pinii care se conectează între ei formează un subgraf complet (fiecare nod e conectat cu toate celelalte). Astfel problema inițială se reduce la următoarea: dându-se un graf format din mai multe subgrafuri complete, se cere să se determine subgrafurile conexe aferente, adică pentru fiecare subgraf se caută un arbore parțial asociat. Practic un arbore parțial conține toate nodurile grafului/subgrafului inițial și o parte din muchii (mai exact doar n-1, unde n este numărul de noduri). În general se caută arborii parțiali care au o anumită proprietate suplimentară, ca de exemplu suma lungimilor tuturor muchiilor arborelui să fie minimă. În acest caz subgraful se numește arbore parțial minim. Pentru determinarea acestuia există algoritmi bine puși la punct care generează soluția optimă într-un timp polinomial. Tot în cadrul electronicii, pentru realizarea anumitor circuite digitale și mai ales în proiectarea microprocesoarelor, s-a mai impus o restricție: toate liniile de conexiune dintre puncte să fie formate doar din segmente orizontale și verticale. În acest caz, pentru calcularea distanței dintre două puncte, adică a lungimii unei muchii, nu se mai folosește formula clasică pentru distanță (metrica euclidiană): ci așa-numita distanță Manhattan (metrica Manhattan): Denumirea de distanță Manhattan vine de la următoarea situație: în Manhattan străzile au fost realizate astfel: După cum se poate vedea în desenul de mai sus cele trei drumuri figurate au aceeași lungime. Practic, între două puncte care nu se află pe aceeași linie orizontală sau verticală, există o infinitate de drumuri care conectează cele două puncte și toate au aceeași valoare minimă. Dacă studiem următoarea situație în care trebuie să conectăm trei puncte: Se observă că traseul din figura b) (L=x2+y1) are suma totală a conexiunilor mai mică decât cel din figura a) (L=x2+y1+y2). Această îmbunătățire a traseului global s-a realizat prin introducerea unui punct suplimentar (T), care nu aparține grafului inițial. Pornind de la observația de mai sus, s-a definit problema arborelui Steiner minim în plan: Dându-se un set P de n noduri coplanare care trebuie interconectate, să se găsească un set S de puncte Steiner astfel încât arborele de acoperire minim conform metricii Manhattan să fie minim. Acești arbori conțin pe lângă nodurile grafului inițial și niște noduri suplimentare care se aleg astfel încât să reducă costul arborelui parțial de acoperire. Problema determinării setului de puncte SteinerPentru rezolvarea acestei probleme, trasăm linii verticale și orizontale prin fiecare punct din P. Mulțimea astfel formată (punctele de intersecție) formează mulțimea de puncte Steiner candidat Sc. Se poate demonstra că S Ì Sc. S-a demonstrat că problema deteminării setului de puncte Steiner S este NP-completă. Din această cauză, implementările actuale folosesc algoritmi euristici care furnizează o soluție apropiată de optim, dar care au o complexitate polinomială. Revenind la problema de la care am pornit de a conecta grupuri de pini astfel încât lungimea totală a traseelor să fie minimă, s-a observat că aceasta implică o minimizare a sumei costurilor subarborilor Steiner. O soluție ar fi determinarea subarborilor Steiner pentru fiecare componentă în parte, dar această metodă duce la o aglomerare a traseelor care nu poate fi realizată în practică. Limitarea fizică principală a construcției de cablaje este densitatea maximă limitată a traseelor. Pentru transpunerea ei în spațiul matematic al grafurilor s-a introdus o grilă de control a densității. Aceasta este formată din pătrate pentru care s-a definit numărul maxim de trasee care pot traversa o latură oarecare a grilei. Și în acest caz problema este NP-completă. În practică se preferă construirea acestor arbori Steiner cu ajutorul unor algoritmi euristici de rutare (complexitate polinomială) de tip greedy care asigură soluții apropiate de optim. dl. Horia Giurgiu este asistent la Facultatea de Calculatoare, Universitatea Tehnică din Cluj, și poate fi contactat la adresa de e-mail: Horia.Giurgiu@cs.utcluj.ro [cuprins] |