The Algorithm Design Manual Second Edition



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

9.2.4

Convex Hull (*)

solved in polynomial time) goes from finding convex hulls to sorting numbers.

A polygon is convex if the straight line segment drawn between any two points

inside the polygon must lie completely within the polygon. This is the case

when contains no notches or concavities, so convex polygons are nicely shaped.

The convex hull provides a very useful way to provide structure to a point set.

Applications are presented in Section

17.2


(page

568


).

Problem: Convex Hull

Input: A set of points in the plane.

Output: Find the smallest convex polygon containing all the points of S.

We now show how to transform from sorting to convex hull. This means we

must translate each number to a point. We do so by mapping to (x, x

2

). Why?



It means each integer is mapped to a point on the parabola x

2

. Since this



parabola is convex, every point must be on the convex hull. Furthermore, since

neighboring points on the convex hull have neighboring values, the convex hull

returns the points sorted by the x-coordinate—i.e., the original numbers. Creating

and reading off the points takes O(n) time:

Our final example of a reduction from an “easy” problem (i.e., one that can be



9 . 3

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



323

all of NP

Satisfiability

Integer Programming

3−SAT

Vertex Cover



Integer Partition

Independent Set

Clique

Inequivallence



of Programs

with Assignments

Hamiltonian

Cycle


Uniconnected

Subgraph


Generalized

Movie


Scheduling

Traveling

Salesman

Figure 9.2: A portion of the reduction tree for NP-complete problems. Solid lines denote the

reductions presented in this chapter

Sort(S)

For each i

∈ S, create point (i, i

2

).



Call subroutine convex-hull on this point set.

From the leftmost point in the hull,

read off the points from left to right.

What does this mean? Recall the sorting lower bound of Ω(lg n). If we could

compute convex hull in better than lg n, this reduction implies that we could sort

faster than Ω(lg n), which violates our lower bound. Thus, convex hull must take

Ω(lg n) as well! Observe that any O(lg n) convex hull algorithm also gives us a

complicated but correct O(lg n) sorting algorithm as well.




Download 5,51 Mb.

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