1. Trang chủ
  2. » Công Nghệ Thông Tin

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

25 194 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 882,25 KB

Nội dung

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Ừ KHÓA LIÊN QUAN

w