The Algorithm Design Manual Second Edition


Longest Increasing Subsequence



Download 5,51 Mb.
Pdf ko'rish
bet249/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   245   246   247   248   249   250   251   252   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

9.2.2

Longest Increasing Subsequence

In Chapter

8

, we demonstrated how dynamic programming can be used to solve



a variety of problems, including string edit distance (Section

8.2


(page

280


)) and

longest increasing subsequence (Section

8.3

(page


289

)). To review,



Problem: Edit Distance

Input: Integer or character sequences and ; penalty costs for each insertion

(c



ins

), deletion (c



del

), and substitution (c



del

).

Output: What is the minimum cost sequence of operations to transform to ?



Problem: Longest Increasing Subsequence

Input: An integer or character sequence S.

Output: What is the longest sequence of integer positions

{p

1

, . . . , p



m

such that

p

i

< p

i+1

and S



p

i

< S

p

i+1

?

In fact, longest increasing subsequence (LIS) can be solved as a special case of



edit distance:

Longest Increasing Subsequence(S)



= Sort(S)

c

ins

c



del

= 1


c

sub

=

Return (

|S| - EditDistance(S,,c

ins

,c



del

,c



del

)/2)

Why does this work? By constructing the second sequence as the elements of

sorted in increasing order, we ensure that any common subsequence must be an



9 . 2

R E D U C T I O N S F O R A L G O R I T H M S



321

increasing subsequence. If we are never allowed to do any substitutions (because



c

sub

=

), the optimal alignment of two sequences finds the longest common sub-

sequence between them and removes everything else. Thus, transforming

{312}

to

{123costs two, namely inserting and deleting the unmatched 3. The length

of minus half this cost gives the length of the LIS.

What are the implications of this reduction? The reduction takes O(log n)

time. Because edit distance takes time O(

|S| · |T |), this gives a quadratic algorithm

to find the longest increasing subsequence of S, which is the same complexity as

the the algorithm presented in Section

8.3


(page

289


). In fact, there exists a faster

O(log n) algorithm for LIS using clever data structures, while edit distance is

known to be quadratic in the worst case. Here, our reduction gives us a simple but

not optimal polynomial-time algorithm.


Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   245   246   247   248   249   250   251   252   ...   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