Sunteți pe pagina 1din 11

TURNURI DE INALTIME

MAXIMA
CELE MAI INALTE 10 TURNURI DIN LUME
1. Burj Khalifa, Dubai(cea mai
2. Taipei 101, Taiwan are 101 etaje si o
inalta cladire din lume, cu inaltimea
inaltime de 509 metri,
sa uimitoare de 828 de metri)
3. World Financial 4. International
Center, China(101 Commerce Center, 5. Petronas Towers,
niveluri si inaltimea de China(inaltime de Malaezia(452 metri)
492 metri) 484m si 118 etaje)
7. Willis Tower, 8. Guangzhou
6. Greenland Financial Statele Unite ale International
Center, China( 450 Americii(108 etaje si Finance Center,
metri) 442 de metri) China(440 de metri)
9. Trump International Tower 10. Jin Mao Tower,
& Hotel, Statele Unite ale
Americii(423 metri) China(420.5 m si 88 etaje)
Termenul „backtrack”(pista de intoarcere) a fost inventat
de matematicianul american D. H. Lehmer în anii 1950.
Backtracking este denumirea unui algoritm de căutare a
tuturor soluțiilor unei probleme de calcul, ce utilizează
generarea pas cu pas a soluțiilor potențiale și abandonarea
soluțiilor potențiale parțiale de îndată ce este clar că
acestea nu au șanse să devină soluții valide.
Algoritmul se poate aplica doar pentru problemele ce
admit conceptul de „candidat parțial de soluție”.
Pentru problemele în care se poate aplica acest algoritm,
rezolvarea este mult mai rapidă folosind această metodă
decât căutarea prin metoda forței brute prin toți candidații.
 Metoda Backtracking este o metodă de elaborare a
algoritmilor. Ea se aplică problemelor în care soluţia se
poate reprezenta sub forma unui vector, X=(x1,x2,...,xm),
care aparţine lui S=S1xS2x...Sm

 S=S1xS2x...Sm se numeşte spaţiul soluţiilor posibile


 Pentru fiecare problemă în parte se dau anumite condiţii
între componentele vectorului soluţie care se numesc
condiţii interne
 Soluţiile posibile care verifică condiţiile interne se
numesc soluţii rezultat
 Metoda Backtracking îşi propune să genereze toate
soluţiile rezultat
 O metodă simplă de a genera soluţiile rezultat constă
în a genera într-un mod oarecare toate soluţiile posibile şi
de a alege dintre acestea doar pe cele care verifică
condiţiile interne. Dezavantajul constă în faptul că timpul
cerut este foarte mare.
EXEMPLU PENTRU INTELEGEREA METODEI
Pentru a înţelege mai uşor prezentăm următorul exemplu:
Presupunem că dorim să ne îmbrăcăm de la un magazin pentru o
festivitate şi dorim să cumpărăm: pantofi, ciorapi, pantaloni, cămaşă şi
cravata astfel încât acestea să se asorteze între ele, să se genereze toate
modalităţile de a ne îmbrăca.
Magazinul are:
5 etaje
La etajul 1 are 10 raioane cu pantofi
La etajul 2 are 10 raioane cu ciorapi
La etajul 3 are 10 raioane cu pantaloni
La etajul 4 are 10 raioane cu cămăşi
La etajul 5 are 10 raioane cu cravate
Deoarece soluţia are mai multe componente, 5 – câte
etaje are magazinul, putem folosi metoda Backtracking.
Pentru rezolvare vom folosi:
k : variabilă întreagă care reprezintă etajul pe care ne
găsim
x : vector care are 5 componente întregi, adică exact
câte etaje are magazinul cu proprietatea că xk reprezintă
numărul raionului de la care s-a cumpărat pe etajul k. În
cazul de faţă xk {1,...,10} unde k{1,...,5}
as este o variabilă întreagă care primeşte valoarea 1
dacă pe etajul k mai sunt raioane nevizitate şi primeşte
valoarea 0 dacă pe etajul k nu mai sunt raioane nevizitate.
ev este o variabilă întreagă care primeşte valoarea 1
dacă ce este la raionul xk convine şi primeşte valoarea 0
dacă ce este la raionul xk nu convine.
se pleacă de la primul etaj
din faţa uşii
atâta timp cât încă ne aflăm la un etaj , k
repetăm
ne întrebăm dacă mai sunt raioane pe etajul k
dacă da, atunci
se verifică dacă ne convine ce conţine raionul care
urmează
atâta timp cât mai sunt raioane şi nu am găsit ce ne place.
dacă am găsit atunci
dacă le-am luat pe toate
atunci
se afişează
altfel
se merge la etajul următor în faţa uşii
altfel
se coboară la etajul de jos
Se dau n cuburi numerotate 1,2,...,n, de laturi li si culori ci, i=1,2,...,n
(fiecare culoare este codificata printr-un caracter).
Sa se tipareasca toate turnurile care se pot forma luand p cuburi din
cele n disponibile, astfel incat laturile cuburilor din turn sa fie in ordine
crescatoare iar culorile a oricare 2 cuburi alaturate din turn sa fie
diferite, apoi sa se afiseze turnul de inaltime maxima(inaltimea unui
turn este data de suma inaltimilor cuburilor componente).
Exemplu: n=4,p=3, consideram cuburile 1,2,3,4 de laturi (8,4,9,6) si
culori ('r','v','g','v'). Turnurile de cate 3 cuburi care indeplinesc cerintele
din enunt sunt [2,1,3], [4,1,3], iar cel de inaltime maxima este [4,1,3].

S-ar putea să vă placă și