3.7.13 · D1 · HinglishAlgorithm Paradigms

FoundationsDP problems — matrix chain multiplication

2,881 words13 min read↑ Read in English

3.7.13 · D1 · Coding › Algorithm Paradigms › DP problems — matrix chain multiplication

Is page par assume kiya gaya hai ki tumne kuch bhi nahi dekha. parent MCM note padhne se pehle, jo bhi symbol woh tumhare saamne phenkta hai, pehle unhe earn karna hoga. Hum unhe ek-ek karke build karte hain, har ek pichle ke upar.


0. Matrix asal mein hoti kya hai?

Figure — DP problems — matrix chain multiplication

Figure dekho. Magenta grid mein rows aur columns hain, isliye yeh ek matrix hai. Bahar ke chhote labels dimensions hain. Bas itna hi vocabulary chahiye — is page par hum grid ke andar kabhi nahi dekhte, sirf uski shape dekhte hain.

Shape kyun, contents kyun nahi? Kyunki MCM poochhta hai "multiplication mein kitna kaam lagega?", aur — jaise hum dekhenge — workload sirf shape par depend karta hai, andar ke actual numbers par kabhi nahi.


1. Do matrices ko multiply karna — shape ka rule

Koi bhi do matrices ko directly multiply nahi kar sakte. Unki shapes ke baare mein ek rule hai.

Figure — DP problems — matrix chain multiplication

Picture mein inner numbers (violet, beech mein touch karte hue) match hone chahiye — yeh shared dimension hai. Outer numbers (orange) bach jaate hain aur answer ki shape ban jaate hain. Yaad rakhne ka ek aasaan tarika:


2. EK multiplication ki cost — kahan se aata hai

Ab iska core: ek matrix multiply mein kitna kaam hota hai? Hum §1 ke wahi rakhte hain — left par rows, shared middle , right par columns.

Figure — DP problems — matrix chain multiplication

Figure mein ek highlighted output cell (orange) dikhai gayi hai. Ise compute karne ke liye, hum length ki shared strip (violet) ke saath slide karte hain, multiplications karte hue. Aise cells hain, isliye hum utni baar pay karte hain.

Multiplications count kyun karo, additions kyun nahi? Lambi tradition ki wajah se, aur isliye ki real hardware par multiplications historically cost mein dominant rehti theen. Parent note is convention ko fix karta hai; hum isse follow karte hain.


3. Ek dimension array poori chain kyun describe karta hai

Parent note kabhi matrices ki shapes alag-alag list nahi karta. Uski jagah woh ek single array use karta hai. Yeh kyun kaafi hai.

Figure — DP problems — matrix chain multiplication

Figure dekho: har do adjacent -values ke beech straddle karta hai. par baitha hai, par, aur woh share karte hain — jo exactly matching-inner-dimensions rule hai, automatically satisfy hota hua.


4. Subscript aur index

ya ke neeche ka chhota number ek subscript hai — ek nametag, arithmetic nahi. matlab "i-th matrix"; matlab "position ke left mein ek step -value".

Recurrence mein hum teeno ek saath dekhenge: (ek sub-chain ka start), (ek sub-chain ka end), aur (woh jagah jahan hum cut karte hain). Inhe alag rakhna: aur ends hain; unke beech ghooma karta hai.


5. Parenthesization — brackets ke saath pairing karna

Figure — DP problems — matrix chain multiplication

Figure ke dono trees same final matrix produce karte hain — yeh ek property hai jise associativity kehte hain (product mein brackets ko rearrange karne se answer nahi badalta). Lekin, jaise §2 ne dikhaya, do orders mein kaafi alag costs aa sakti hain. Yahi gap MCM ke hone ka poora reason hai, aur yeh Catalan Numbers se connect hota hai, jo batata hai kitne bracketings possible hain.


6. Do words jo DP ko kaam karvaate hain

Parent note do phrases par lean karta hai. Yahan har ek ka matlab picture ke roop mein hai.


7. DP table, uska base case, aur yeh kaise fill hota hai

Ab hum storage ko naam de sakte hain aur — finally — formula assemble kar sakte hain.

Figure — DP problems — matrix chain multiplication

Figure dikhata hai kyun loop length ke order mein hai: ek length-3 entry fill karne ke liye (upar), arrows dikhate hain yeh length-2 aur length-1 entries mein neeche jaata hai — jo sirf tabhi exist karte hain agar hum unhe pehle se fill kar chuke hain. Row-by-row fill karo aur tum aisi numbers maangoge jo abhi hain hi nahi. Length ke hisaab se fill karo, sabse chhhoti pehle, aur tumhari zaroori har value guaranteed ready hogi.


8. Recurrence assemble karna — ab sare symbols earn ho chuke hain

Har piece define hai: (), cut index , ek combine ki cost , table , sare cuts par , base case. Yahan yeh sab kaise fit hote hain.

Upar define kiya hua har cheez is formula mein exactly ek slot mein fit hoti hai. Yahi payoff hai: yahan ek bhi symbol naya nahi hai.


Prerequisite map (pieces formula mein kaise feed hote hain)

Is map ko ek flow ki tarah padho: shape rule aur cost formula (upar) dono cost of a bracketing mein feed hote hain; base case aur length-ordering table mein feed hoti hai; aur sab kuch neeche ek MCM recurrence par converge hota hai. Koi bhi arrow trace karo aur tumhe bol paana chahiye kyun woh dependency exist karti hai.

n equals number of matrices

Dimension array p

Matrix a by b grid

Shape matching rule

Cost equals a times b times c

Matrix A i is p left times p right

Cost of a bracketing

Parenthesization brackets

Associativity same result

Minimize scalar multiplications

Base case m i i equals 0

DP table m i j

Optimal substructure

Overlapping subproblems

Fill by chain length L

The min over all cuts k

MCM recurrence


Equipment checklist

Term padho, zor se jawab do, phir reveal karo.

MCM mein kya represent karta hai?
Chain mein matrices ki count, .
" matrix" ka matlab kya hai, aur kaun sa number rows hai?
rows aur columns wali grid; pehla number hamesha rows hota hai.
Kaun sa shape rule ek ko ek matrix se multiply karne deta hai, aur result ki shape kya hai?
Inner dimensions match hone chahiye (dono ); result hota hai.
Ek times multiply mein kitne scalar multiplications lagte hain, aur kyun?
output cells hain, har ek par multiplications lagti hain.
Scalar kya hai, aur kya MCM additions count karta hai?
Scalar ek ordinary number hota hai; MCM sirf multiplications count karta hai, additions ignore karta hai.
Array mein matrix ki dimensions kya hain?
(left aur right ka number udhaar leta hai).
numbers ka array matrices kyun describe karta hai?
Neighbours ek boundary dimension share karte hain, isliye matrices se exactly ek zyada -value hoti hai.
"Parenthesization" kya choose karta hai, aur final matrix kyun nahi badlti?
Brackets kahan jaayenge (ek waqt mein do pair karte hue); result nahi badlta kyunki matrix multiplication associative hai.
Ek sentence mein optimal substructure kya hai?
Best overall plan uske independent left aur right sub-chains ke best plans se bana hota hai.
mein ek concrete overlapping subproblem do.
Sub-chain (ya ) kai alag whole-chain bracketings mein reuse hoti hai.
kya store karta hai, aur final answer kahan hai?
multiply karne ki sabse sasti cost; answer par hai.
Table ka base case kya hai aur kyun?
, kyunki ek akeli matrix ko koi multiplication nahi chahiye; ise pehle initialize kiya jaata hai.
tumhe kya karne ka instruction deta hai?
Har cut point ko se tak try karo aur sabse chhhoti cost rakho.
Table chain length ke hisaab se kyun fill karte hain?
Ek lambi chain ko chhhoti sub-chains pehle se computed chahiye, isliye chhhoti lengths pehle aani chahiye.
Poora MCM recurrence batao.
, with .

Connections

  • Parent topic — full MCM note
  • Dynamic Programming — woh paradigm jisme yeh foundations feed hoti hain
  • Catalan Numbers — kitne parenthesizations exist karte hain
  • Memoization vs Tabulation — overlapping subproblems exploit karne ke do tarike
  • Optimal Binary Search Tree · Burst Balloons — same interval-DP shape
  • Time Complexity Analysis — kyun brute force hopeless hai