Chương 6: Những bài toán NP - đầy đủ ppsx

25 194 1
Chương 6: Những bài toán NP - đầy đủ ppsx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 Ch ng 6 Nh ngbàitóanNP- y 1.Gi ithu tth i gian ath c t t nhvàkhông t t nh 2.V n NP- y 3. nh lý Cook 4.M t s bàitoánNP- y 2 T n t ihaykhông t n t igi ithu t h uhi u • v inhi u bài toánchúngtacónh nggi i thu t h uhi u gi i. • Tuy nhiên,cór t nhi u bài toán kháckhôngcógi i thu t h u hi u gi i. • Và i v i m t l p khá l n c anh ngbài toán nh v y,chúng takhông th nói có t n t igi i thu t h u hi u gi i nó haykhông. 3 Nh ngbàitoánkhó và nh ngbàitoánd • ê ã à ó ng c ch phânlo inh ngbàitoánm ilà“khó b ng” m t s bàitoán c ã bi t. • Tuy nhiên, ôikhi ranh gi i gi anh ngbàitoán “khó” và nh ngbàitoán “d ” là khá t nh Thí d :  D :Cót n t i m t l i i t x n y mà trong s nh h nM?  KHó:Cót n t i m t l i i t x n y mà tr ng s M? Bàitoán1-BFS – th igiantuy ntính Bàitoán2–th i gianhàm m 4 1.Gi ithu tth igian ath c t t nhvàkhông t t nh P: p h p t t c nh ng bàitoán có th gi i c b ng nh ng gi ithu t t t nhtrongth igian ath c. “ T t nh” (Deterministic : khi gi ithu t anglàm gì, c ng ch có m tvi cduy nh tcóth cth c hi n k ti p.(whateverthealgorithmisdoing,there isonlyone thingitcould do next). Thí d : X pth t b ng ph ng pháp chènthu c l pP vì có ph c t p ath cO(N 2 ) 5 T nhkhông t t nh cách m r ng quy n n ng c amáytínhlàcho nó có n ng l c làm vi ckhông t t nh (non-determinism). Kh ng t nh khi m tgi ithu t g p m t s l ach n gi a nhi u kh n ng, nó có quy n n ng “tiên óan” bi t ch n m tkh n ngthích áng. Gi ithu t không t t nh (nondeterministicalgorithm) Thí d :Cho A là m t m ng s nguyên. M t gi ithu t không t t nhNSORT(A,n) s pth t các s theoth t t ng và xu t chúng ra theoth t này. 6 Thí d v m tgi ithu tkhông t t nh //AnarrayBisusedastemporaryarray . procedure NSORT(A //sortnpositiveintegers // begin for i:=1to n do B[i]:= for i:=1to n do begin j:= choice(1: ; if B[j]< then failure else B[j]:=A[i] end for i:=1to n-1 do if B[i]> B[i-1] thenfailure; prin success end; à choice(1:n) ó á nh m t v trí úngtrong t mtr t 1 n n. 7 Thí d v m tgi ithu tkhông t t nh(tt â m tgi ithu tkhông t t nh có th c th chi n b ng m t s songsonghóakhông h n ch (unboundedparallelism). M i l n có b c l ach n ph ith c hi n,gi ithu t t o ra nhi u b nsao c achính nó (copiesof itself).M i b nsao cth chi n chokh n ng l a ch n. Nh v y nhi u kh n ng cth chi n cùng m t lúc. - B nsao utiên k tthúcthành côngthì làm k tthúc t t c cácquá trìnhtínhtóankhác. - N u m t b nsao k tthúcth t b ithì ch b nsao y k tthúcmàthôi. 8 Gi ithu tkhông t t nh(tt ra, m tmáytínhkhông t t nhkhông t oranh ng b nsao c a gi ithu t m tkhi ph ith chi n m t l a ch n. Mà, nó có quy n n ng ch n m t y u t “ úng” t m t t p nh ngkh n ng l ach n m i ph ith chi n m t l a ch n. M t y u t “ úng” c nhngh a nh là m tchu ing n nh t c anh ng l ach n(shortestsequence of choices) mà d n n s k tthúcthành công. Trongtr ng h pkhông t n t i m t chu i nh ng l a ch n mà d n n s k tthúcthành côngtagi nh r nggi i thu t d ng và inrathông báo “t nh to n không thành công”. 9 Gi ithu tkhông t t nh(tt Ghi chú:  Cá ô á success à failure à t ng ng v i phát bi u stop trong m tgi ithu t t t nh.  ph c t ptínhtoán c aNSORT là O(n). NP: t p h p t t c nh ngbài toánmàcóth cgi i b nggi ithu t không t t nh trongth igian a th c. Thí d :Bài toáncót n t i l i idài nh t t nh x n nh y là thu c l pNP. 10 Bàitoánth a mãn m chlogic(circuit satisfiabilityproble Cho m t côngth c logiccód ng (x1 +x3 + x5)*(x1+~x2 +x4)*(~x3 +x4+x5)* (x2 + ~x3 + x5) v icácbi n xi là các bi n logic(true or false), “+” di n t OR, “*” di n t AND, và ~ di n t NOT. BàitoánCSPlàxác nhxem có t n t i m t phépgán các tr logicvào các bi n logicsao chotoàncôngth ctr thành true. CSP c ng là m tbàitoánNP. Ghichú : L pP là m t t pcon c a l pNP. [...]... a bài toán NP- y thành m t th hi n c a bài toán m i, gi i bài toán này b ng gi i thu t ã có tìm ra m t l i gi i, r i bi n th l i gi i này tr v thành m t l i gi i c a bài toán NP- y ã bi t 13 Tính kh thu gi m a th c (tt h m t bài toán thu c lo i NP là NP- y , ta ã bi t nào ch c n ch ng t r ng m t bài toán NP- y ó thì kh thu gi m a th c v bài toán m i y nh ngh a: (Thu gi ) Ta b o bài toán L1 ( ) bài toán. .. y c g i là nh ng bài toán NP- y (NP- complete) Hình 6.1 NP- complete NP P 12 Tính kh thu gi m a th c (Polynomial reducibilit • • • p NP- y là l p con c a nh ng bài toán khó nh t trong l p NP Công c chính ch ng minh m t bài toán thu c lo i NPy là ý t ng v tính kh thu gi m a th c (polynomial reducibility) B t c gi i thu t nào gi i c bài toán m i thu c lo i NP c dùng gi i m t bài toán NP- y nào ó có th ã... xu t u tiên r ng bài toán th a mãn m ch logic (CSP) là bài toán NP- y à á “N ã ì à á ó c.” Ch ng minh c a Cook r t ph c t p nh ng ch y u d a vào máy Turing (Turing machine) t ng quát 18 4 M t s bài toán NP- y à ìn bài toán khác nhau c bi t là NP- y Danh sách này b t u b ng bài toán tho mãn m ch logic, bài toán ng i th ng gia du hành (TSP) và bài toán chu trình Hamilton M t vài bài toán khác nh sau:... (Undecidable problems): â à nh ng bài toán ch a h có gi i thu t gi i Thí d : Bài toán quy t nh xem m t ch ng trình có d ng trên m t máy Turing Nh ng bài toán khó gi i (intractable) : ây là nh toán mà không t n t i gi i thu t th i gian a th chúng Ch t n t i gi i thu t th i gian hàm m chúng Nh ng bài toán NP- y Nh ng bài toán NP- y là m t l p con c bi bài toán NP Nh ng bài toán P ng bài c gi i gi i tc al p 25... Tính kh thu gi m a th c (tt m t bài toán m i L là NP- y , chúng ta c n ch ng minh: 1 Bài toán L thu c l p NP ã bi t thu gi m v L 2 M t bài toán NP- y Thí d : Cho hai bài toán Bài toán ng i th ng gia du hành (TSP): cho m t t p các thành ph và kho ng cách gi a m i c p thành ph , tìm m t l trình i qua t t c m i thành ph sao cho t ng kho ng cách c a l trình nh h n M Bài toán chu trình Hamilton (HCP): Cho... (tt à thu gi , nh v y tính ch t NP- y c a HCP hàm ý tính ch t tính ch t NP- y c a TSP S thu gi m HCP v TSP là nh ng nét t ng t nhau n gi n vì hai bài toán có S thu gi m th i gian a th c có th s r t ph c t p khi chúng ta liên k t nh ng bài toán mà t ng i khác nhau Thí d : Có th thu gi m bài toán tho mãn m ch logic (CSP) v bài toán HCP 17 3 nh lý Cook à á ào là bài toán NP- y u tiên? c m t ch ng minh tr... nh ng gi i thu t t t b t k bài toán nào trong s nh ng bài toán nêu trên là m t b ng ch ng m nh m r ng P NP Dù cho P có khác NP hay không, m t s ki n th c t là ch ng ta không có nh ng gi i thu t m b o có th gi i b t k m t bài toán NP- y nào m t cách h u hi u 21 M t s k thu t toán NP- y i ph v i nh ng bài 1 ù “ x p x “(approximation algorithm) tìm l i gi i x p x t i u (near-optimal) phát 2 D a vào hi...2 V n NP- y Có á ng bài toán mà ã bi t là thu c v l p NP nh ng không r có th thu c v l p P hay không à ê á ô (T c là ta gi i ú ó ê í ô à á à ú ) Nh ng bài toán NP này l i có thêm m t tính ch t n a là: “N u b t k m t trong nh ng bài toán này có th gi i c trong th i gian a th c thì t t c nh ng bài toán c gi i trong th i gian a th c thu c l p NP c ng s trên m t máy t t nh.” 11 ng bài toán nh v y... c m i nh 15 Tính kh thu gi m a th c (tt bi t HCP là NP- y và mu n xác nh xem TSP c ng là NP- y hay không B t k gi i thu t nào c dùng gi i bài toán TSP c ng có th c có th gi i bài toán HCP, thông qua s thu gi m sau: dùng Cho m t th hi n c a bài toán HCP (m t th ), hãy t o ra m t th hi n c a bài toán TSP t ng ng nh sau: t o ra các thành ph c a bài toán TSP b ng cách dùng th ; t p nh trong v kho ng cách... annealing) - tìm ki m tabu (Tabu search) v.v… 23 ng g p c a v n NP- y Có hi u bài toán NP- y trong các lãnh v c gi i tích s (numerical analysis), s p th t và tìm ki m, x lý dòng ký t (string processing), Mô hình hóa hình h c (geometry modeling) x lý th (graph processing) S óng góp quan tr ng nh t c a lý thuy t v NPlà: nó cung à á á ã ê à “ ” ay “khó” y 24 B n l p bài toán phân theo khó Nh ng bài toán b . tnàogi i cbàitoán m ithu clo iNP có th c dùng gi i m t bàitoán NP- y nào ó ã bi t b ng cách sau: bi n th m tth hi n b t k c a bàitoán NP- y ã bi t thành m tth hi n c a bàitoán m i,gi i bàitoán này. t l igi i c abàitoánNP- y ã bi t. 14 Tínhkh thugi m ath c(tt h m t bàitoánthu c lo iNP là NP- y ,ta ch c n ch ng t r ng m t bàitoán NP- y ã bi t nào ó thì kh thu gi m ath c v bàitoán m i y. nh. y à ìn bàitoánkhác nhau cbi tlà NP- y . Danhsáchnày b t u b ng bàitoántho mãn m chlogic, bàitoán ng ith ng gia du hành(TSP) và bàitoán chu trìnhHamilton. M tvàibàitoánkhác nh sau: - Bàitoán â Cho

Ngày đăng: 05/08/2014, 20:21

Tài liệu cùng người dùng

Tài liệu liên quan