Introduction to Algorithms, Third Edition


Step 1: The structure of an optimal parenthesization



Download 4,84 Mb.
Pdf ko'rish
bet245/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   241   242   243   244   245   246   247   248   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

Step 1: The structure of an optimal parenthesization
For our first step in the dynamic-programming paradigm, we find the optimal sub-
structure and then use it to construct an optimal solution to the problem from opti-
mal solutions to subproblems. In the matrix-chain multiplication problem, we can
perform this step as follows. For convenience, let us adopt the notation
A
i ::j
, where
i
j
, for the matrix that results from evaluating the product
A
i
A
i
C
1
A
j
. Ob-
serve that if the problem is nontrivial, i.e.,
i < j
, then to parenthesize the product
A
i
A
i
C
1
A
j
, we must split the product between
A
k
and
A
k
C
1
for some integer
k
in the range
i
k < j
. That is, for some value of
k
, we first compute the matrices
A
i ::k
and
A
k
C
1::j
and then multiply them together to produce the final product
A
i ::j
.
The cost of parenthesizing this way is the cost of computing the matrix
A
i ::k
, plus
the cost of computing
A
k
C
1::j
, plus the cost of multiplying them together.
The optimal substructure of this problem is as follows. Suppose that to op-
timally parenthesize
A
i
A
i
C
1
A
j
, we split the product between
A
k
and
A
k
C
1
.
Then the way we parenthesize the “prefix” subchain
A
i
A
i
C
1
A
k
within this
optimal parenthesization of
A
i
A
i
C
1
A
j
must be an optimal parenthesization of
A
i
A
i
C
1
A
k
. Why? If there were a less costly way to parenthesize
A
i
A
i
C
1
A
k
,
then we could substitute that parenthesization in the optimal parenthesization
of
A
i
A
i
C
1
A
j
to produce another way to parenthesize
A
i
A
i
C
1
A
j
whose cost
was lower than the optimum: a contradiction. A similar observation holds for how
we parenthesize the subchain
A
k
C
1
A
k
C
2
A
j
in the optimal parenthesization of
A
i
A
i
C
1
A
j
: it must be an optimal parenthesization of
A
k
C
1
A
k
C
2
A
j
.
Now we use our optimal substructure to show that we can construct an optimal
solution to the problem from optimal solutions to subproblems. We have seen that
any solution to a nontrivial instance of the matrix-chain multiplication problem
requires us to split the product, and that any optimal solution contains within it op-
timal solutions to subproblem instances. Thus, we can build an optimal solution to
an instance of the matrix-chain multiplication problem by splitting the problem into
two subproblems (optimally parenthesizing
A
i
A
i
C
1
A
k
and
A
k
C
1
A
k
C
2
A
j
),
finding optimal solutions to subproblem instances, and then combining these op-
timal subproblem solutions. We must ensure that when we search for the correct
place to split the product, we have considered all possible places, so that we are
sure of having examined the optimal one.


374
Chapter 15
Dynamic Programming

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   241   242   243   244   245   246   247   248   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish