Pagini recente » Diferente pentru problema/ceas3 intre reviziile 7 si 8 | Diferente pentru algoritm-kuhn intre reviziile 9 si 10 | Istoria paginii problema/algoritm | Algoritmiada 2014, Runda Finală - Program de desfăşurare | Diferente pentru problema/podm intre reviziile 4 si 3
Diferente pentru
problema/podm intre reviziile
#4 si
#3
Nu exista diferente intre titluri.
Diferente intre continut:
Din fericire, principiul optimalităţii al metodei _programării dinamice_ se poate aplica la această problemă. Dacă cel mai bun mod de a înmulţi toate matricele presupune o tăietură între a $i$-a şi a $i + 1$ a matrice a produsului, atunci subprodusele $M{~1~}M{~2~}...M{~i~}$ şi $M{~i+1~}M{~i+2~}...M{~n~}$ trebuie calculate la rândul lor într-un mod optim.
Vom construi tabloul $m[1..n, 1..n]$, unde $m[i, j]$ este numărul minim de înmulţiri scalare necesare pentru a calcula partea $M{~i~}M{~i+1~}...M{~j~}$ a produsului iniţial. Soluţia problemei iniţiale va fi $m[1, n]$. Presupunem că tabloul $d[0..n]$ conţine dimensiunile matricilor, astfel încât matricea $M{~i~}$ este de dimensiuni $(d[i-1], d[i]), 1 ≤ i ≤ n$. Construcţia tabloului se face diagonală cu diagonală:
Vom construi tabloul $m[1..n, 1..n]$, unde $m[i, j]$ este numărul minim de înmulţiri scalare necesare pentru a calcula partea $M{~i~}M{~i+1~}...M{~j~}$ a produsului iniţial. Soluţia problemei iniţiale va fi $m[1, n]$. Presupunem că tabloul $d[0..n]$ conţine dimensiunile matricilor, astfel încât matricea $M{~i~}$ este de dimensiuni $d[i-1] x d[i], 1 ≤ i ≤ n$. Construcţia tabloului se face diagonală cu diagonală:
* <tex> d = 0: m[i, i] = 0, 1 \le i \le n </tex>
* <tex> d = 1: m[i, i + 1] = d[i - 1] * d[i] * d[i + 1], 1 \le i \le n - 1 </tex>
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.