The Algorithm Design Manual Second Edition


When are Dynamic Programming Algorithms Correct?



Download 5,51 Mb.
Pdf ko'rish
bet234/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   230   231   232   233   234   235   236   237   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

When are Dynamic Programming Algorithms Correct?

Dynamic programming algorithms are only as correct as the recurrence relations

they are based on. Suppose we define LP [i, j] as a function denoting the length of

the longest simple path from to j. Note that the longest simple path from to j

had to visit some vertex right before reaching j. Thus, the last edge visited must

be of the form (x, j). This suggests the following recurrence relation to compute

the length of the longest path, where c(x, j) is the cost/weight of edge (x, j):

LP [i, j] = max

(

x,j)



∈E

LP [i, x] + c(x, j)

The idea seems reasonable, but can you see the problem? I see at least two of

them.

First, this recurrence does nothing to enforce simplicity. How do we know that



vertex has not appeared previously on the longest simple path from to x? If it

did, adding the edge (x, j) will create a cycle. To prevent such a thing, we must

define a different recursive function that explicitly remembers where we have been.

Perhaps we could define LP





[i, j, k] to be the function denoting the length of the

longest path from to avoiding vertex k? This would be a step in the right

direction, but still won’t lead to a viable recurrence.

A second problem concerns evaluation order. What can you evaluate first? Be-

cause there is no left-to-right or smaller-to-bigger ordering of the vertices on the

graph, it is not clear what the smaller subprograms are. Without such an ordering,

we get are stuck in an infinite loop as soon as we try to do anything.

Dynamic programming can be applied to any problem that observes the princi-

ple of optimality. Roughly stated, this means that partial solutions can be optimally

extended with regard to the state after the partial solution, instead of the specifics

of the partial solution itself. For example, in deciding whether to extend an approx-

imate string matching by a substitution, insertion, or deletion, we did not need to




8 . 7

L I M I T A T I O N S O F D Y N A M I C P R O G R A M M I N G : T S P



303

know which sequence of operations had been performed to date. In fact, there may

be several different edit sequences that achieve a cost of on the first characters

of pattern and characters of string . Future decisions are made based on the



consequences of previous decisions, not the actual decisions themselves.

Problems do not satisfy the principle of optimality when the specifics of the

operations matter, as opposed to just the cost of the operations. Such would be

the case with a form of edit distance where we are not allowed to use combinations

of operations in certain particular orders. Properly formulated, however, many

combinatorial problems respect the principle of optimality.




Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   230   231   232   233   234   235   236   237   ...   488




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