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
Tài liệu đã được kiểm tra trùng lặp

Đ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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

whatever the algorithm is doing, there is only one thing it could do next.

Trang 2

T n t i hay không t n t i gi i thu t h u hi u

• v i nhi u bài toán chúng ta có nh ng gi i thu t

Trang 3

Nh ng bài toán khó và nh ng bài toán d

Bài toán 1 - BFS – th i gian tuy n tínhBài toán 2 – th i gian hàm m

Trang 4

1 Gi i thu t th i gian a th c t t nh và không

t t nh

P: p h p t t c nh ng bài toán có th gi i c b ng

nh ng gi i thu t t t nh trong th i gian a th c

“T t nh” (Deterministic : khi gi i thu t ang làm gì,

c ng ch có m t vi c duy nh t có th c th c hi n k

ti p (whatever the algorithm is doing, there is only one

thing it could do next)

Thí d : X p th t b ng ph ng pháp chèn thu c l p P vì có

Trang 5

Thí d : Cho A là m t m ng s nguyên M t gi i thu t không

t t nh NSORT(A, n) s p th t các s theo th t t ng

và xu t chúng ra theo th t này

Trang 8

Gi i thu t không t t nh (tt

ra, m t máy tính không t t nh không t o ra nh ng

b n sao c a gi i thu t m t khi ph i th c hi n m t l a

Trang 9

Gi i thu t không t t nh (tt

Ghi chú:

! Cá ô á success à failure à t ng ng v i

phát bi u stop trong m t gi i thu t t t nh

! ph c t p tính toán c a NSORT là O(n)

Trang 10

Bài toán th a mãn m ch logic (circuit

satisfiability proble

Cho m t công th c logic có d ng

(x1 + x3 + x5)*(x1+ ~x2 + x4)*(~x3 + x4 +x5)*

(x2 + ~x3 + x5)

v i các bi 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ài toán CSP là xác nh xem có t n t i m t phép gán các

tr logic vào các bi n logic sao cho toàn công th c tr

thành true

CSP c ng là m t bài toán NP

Ghi chú: L p P là m t t p con c a l p NP

Trang 11

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ánthu c l p NP c ng s c gi i trong th i gian a th c

Trang 12

ng bài toán nh v y c g i là nh ng bài toán

NP- y (NP-complete)

Hình 6.1

NP

P NP-complete

Trang 13

• B t c gi i thu t nào gi i c bài toán m i thu c lo i NP

có th c dùng gi i m t bài toán NP- y nào ó

ã bi t b ng cách sau:

bi n th m t th hi n b t k c a bài toán NP- y ã bi t

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

Trang 14

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

ch c n ch ng t r ng m t bài toán NP- y ã bi t nào

ó 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 L2, ký hi u là L1 L2 n u b t k gi ithu t nào gi i c L2 thì c ng có th c dùng gi iL1

Trang 15

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

2 M t bài toán NP- y ã bi t thu gi m v L

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 m t th , tìm

Trang 16

Tính kh thu gi m a th c (tt

bi t HCP là NP- y và mu n xác nh xemTSP c ng là NP- y hay không B t k gi i thu t nào

có th c dùng gi i bài toán TSP c ng có th c

dùng gi i bài toán HCP, thông qua s thu gi m sau:

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:

Trang 17

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

Trang 18

3 nh lý Cook

à á ào là bài toán NP- y u tiên?

S.A Cook (1971) ã xu t c m t ch ng minh tr c ti p

u tiên r ng bài toán th a mãn m ch logic (CSP) là bài

Trang 19

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 chutrình Hamilton

M t vài bài toán khác nh sau:

- Bài toán â Cho m t t p nh ng s nguyên,

có th phân ho ch chúng thành hai t p con mà có t ng

tr s b ng nhau?

à á ê : Cho m t bài toán qui ho chtuy n tính, li u có t n t i m t l i gi i toàn s nguyên?

Trang 20

- X ô ê ý

g) Cho m t k h n (deadline) và m t t p cáccông tác có chi u dài th i gian khác nhau ph i c

th c thi trên hai b x lý V n là có th s p x p

th c thi t t c nh ng công tác ó sao cho th a mãn k

h n không?

và m t s nguyên N, có th ki m c m t t p nh h n

N nh mà ch m h t m i c nh trong th ?

- Bài toán ù ( ING): cho n món mà

ph i t vào trong các thùng có s c ch a b ng nhau L.Món i òi h i li n v s c ch a c a thùng M c ích

là xác nh s thùng ít nh t c n ch a t t c n món

ó

Trang 21

P ≠ NP ?

à án nêu trên và nhi u bài toán liên quan có

nh ng ng d ng th c t quan tr ng

S ki n không có nh ng gi i thu t t t c tìm th y cho

b t k bài toán nào trong s nh ng bài toán nêu trên là

Trang 22

tri n m t gi i thu t mà tìm ra l i gi i trong m t s tr ng

h p nào ó, m c dù không làm vi c c trong m i tr ng

h p

3 S d ng nh ng gi i thu t có ph c t p hàm m nh ng

h u hi u, ví d nh gi i thu t quay lui

4 a heuristic vào gi i thu t t ng thêm hi u qu c a

gi i thu t

5 S d ng metaheuristic

Trang 23

Heuristic và meta heuristic

" Heuristic là tri th c v bài toán c th c s d ng

d n d t quá trình tìm ra l i gi i c a gi i thu t Nh s

thêm vào các heuristic mà gi i thu t tr nên h u hi u h n

" Meta heuristic là lo i heuristic t ng quát có th áp d ng

cho nhi u l p bài tóan

" G n ây meta heuristic là m t lãnh v c nghiên c u pháttri n m nh m , v i s ra i c a nhi u meta heuristic nh :

- gi i thu t di truy n (genetic algorithm)

- gi i thu t mô ph ng luy n kim (simulated annealing)

- tìm ki m tabu (Tabu search)v.v…

Trang 25

B n l p bài toán phân theo khó

" Nh ng bài toán b t kh quy t (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 ngtrên m t máy Turing

Nh ng bài toán khó gi i (intractable) : ây là nh ng bài

toán mà không t n t i gi i thu t th i gian a th c gi ichúng Ch t n t i gi i thu t th i gian hàm m gi i

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 t c a l pbài toán NP

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

TỪ KHÓA LIÊN QUAN

w