Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 140 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
PowerPoint Presentation
NI DUNG
Giới thiệu bài toán
Slide 4
Chng 3. Bi toỏn lit kờ
Khỏi nim bi toỏn tớnh toỏn
Khỏi nim thut toỏn
Slide 8
phc tp ca thut toỏn
Slide 10
Phộp toỏn c bn
Cỏc loi thi gian tớnh
Ký hiu tim cn Asymptotic Notation
Ký hiu
Vớ d
Ký hiu O
Vớ d: Ký hiu O ln
Slide 18
Ký hiu
Vớ d: Ký hiu
Slide 21
Liờn h gia Q, W, O
Chỳ ý
Ký hiu tim cn trong cỏc ng thc
So sỏnh cỏc hm s
Cỏch núi v thi gian tớnh
th ca mt s hm c bn
Tờn gi ca mt s tc tng
Vớ d phõn tớch thut toỏn
Slide 30
Slide 31
Slide 32
3. PHNG PHP SINH
S THUT TON
Thut toỏn sinh
Gii thớch
Slide 37
Sinh cỏc dóy nh phõn di n
Slide 39
Slide 40
Thut toỏn sinh k tip
Slide 42
Thut toỏn sinh xõu k tip
Sinh cỏc tp con m phn t ca tp n phn t
Sinh cỏc tp con m phn t ca tp n phn t
Th t t in
Slide 47
Slide 48
Slide 49
Sinh m-tp k tip
Sinh cỏc hoỏn v ca tp n phn t
Sinh cỏc hoỏn v ca tp n phn t
Slide 53
Slide 54
Slide 55
Slide 56
Sinh hoán vị kế tiếp
Slide 58
Slide 59
Slide 60
Slide 61
Slide 62
Li gii b phn
í tng chung
Bc tng quỏt
Xột hai tỡnh hung
Tỡnh hung ngừ ct
Thut toỏn quay lui
Hai vn mu cht
Slide 70
Slide 71
Cõy lit kờ li gii theo thut toỏn quay lui
Liệt kê xâu nhị phân độ dài n
Slide 74
Chng trỡnh trờn Pascal
Chng trỡnh trờn C
Cây liệt kê dãy nhị phân độ dài 3
Lit kờ cỏc m-tp con ca n-tp
Slide 79
Gii quyt 2 vn mu cht
Slide 81
Slide 82
Cõy lit kờ S(5,3)
Lit kờ hoỏn v
Slide 85
Slide 86
Mụ t Sk
Slide 88
Slide 89
Slide 90
Slide 91
Slide 92
Cõy lit kờ hoỏn v ca 1, 2, 3
The n-Queens Problem
Slide 95
Slide 96
Slide 97
Slide 98
Slide 99
Slide 100
Slide 101
Bi toỏn xp hu
Biu din li gii
Phỏt biu bi toỏn
Hm nhn bit ng c viờn
Slide 106
Slide 107
Slide 108
Slide 109
Thut toỏn lm vic nh th no
Slide 111
Slide 112
Slide 113
Slide 114
Slide 115
Slide 116
Slide 117
Slide 118
Slide 119
Slide 120
Slide 121
Slide 122
Slide 123
Slide 124
Slide 125
Slide 126
Slide 127
Slide 128
Slide 129
Slide 130
Slide 131
Slide 132
Slide 133
Slide 134
Slide 135
Slide 136
Một lời giải của bài toán xếp hậu khi n = 8
Slide 138
Slide 139
Slide 140
Nội dung
Chng BI TON LIT Kấ Toỏn ri rc NI DUNG 1.Gii thiu bi toỏn 2.Thut toỏn v phc 3.Phng phỏp sinh 4.Thut toỏn quay lui Toỏn ri rc Giới thiệu toán Bi toỏn a danh sỏch tt c cu hỡnh t hp tho mt s tớnh cht cho trc c gi l bi toỏn lit kờ t hp Do s lng cu hỡnh t hp cn lit kờ thng l rt ln c kớch thc cu hỡnh cha ln: S hoỏn v ca n phn t l n! S m phn t ca n phn t l n!/(m!(n-m)! Do ú n cú quan nim th no l gii bi toỏn lit kờ t hp Giới thiệu toán Bi toỏn lit kờ t hp l gii c nu nh ta cú th xỏc nh mt thut toỏn theo ú cú th ln lt xõy dng c tt c cỏc cu hỡnh cn quan tõm Mt thut toỏn lit kờ phi m bo yờu cu c bn: Khụng c lp li mt cu hỡnh, khụng c b sút mt cu hỡnh Chng Bi toỏn lit kờ 1.Gii thiu bi toỏn 2.Thut toỏn v phc 3.Phng phỏp sinh 4.Thut toỏn quay lui Toỏn ri rc Khỏi nim bi toỏn tớnh toỏn nh ngha Bi toỏn tớnh toỏn F l ỏnh x t cỏc xõu nh phõn di hu hn vo cỏc xõu nh phõn di hu hn: F : {0, 1}* {0, 1}* Vớ d: Mi s nguyờn x u cú th biu din di dng xõu nh phõn l cỏch vit h m nh phõn ca nú H phng trỡnh tuyn tớnh Ax = b cú th biu din di dng xõu l ghộp ni ca cỏc xõu biu din nh phõn ca cỏc thnh phn ca ma trn A v vect b a thc mt bin: P(x) = a0 + a1 x + + an xn, hon ton xỏc nh bi dóy s n, a0, a1, , an, m biu din dóy s ny chỳng ta cú th s dng xõu nh phõn Khỏi nim thut toỏn nh ngha Ta hiu thut toỏn gii bi toỏn t l mt th tc xỏc nh bao gm mt dóy hu hn cỏc bc cn thc hin thu c u cho mt u vo cho trc ca bi toỏn Thut toỏn cú cỏc c trng sau õy: u vo (Input): Thut toỏn nhn d liu vo t mt no ú u (Output): Vi mi cỏc d liu u vo, thut toỏn a cỏc d liu tng ng vi li gii ca bi toỏn Chớnh xỏc (Precision): Cỏc bc ca thut toỏn c mụ t chớnh xỏc Khỏi nim thut toỏn Hu hn (Finiteness): Thut toỏn cn phi a c u sau mt s hu hn (cú th rt ln) bc vi mi u vo n tr (Uniqueness): Cỏc kt qu trung gian ca tng bc thc hin thut toỏn c xỏc nh mt cỏch n tr v ch ph thuc vo u vo v cỏc kt qu ca cỏc bc trc Tng quỏt (Generality): Thut toỏn cú th ỏp dng gii mi bi toỏn cú dng ó cho phc ca thut toỏn phc tớnh toỏn ca thut toỏn c xỏc nh nh l lng ti nguyờn cỏc loi m thut toỏn ũi hi s dng Cú hai loi ti nguyờn quan trng ú l thi gian v b nh Vic tớnh chớnh xỏc c cỏc loi ti nguyờn m thut toỏn ũi hi l rt khú Vỡ th ta quan tõm n vic a cỏc ỏnh giỏ sỏt thc cho cỏc i lng ny Trong giỏo trỡnh ny ta c bit quan tõm n ỏnh giỏ thi gian cn thit thc hin thut toỏn m ta s gi l thi gian tớnh ca thut toỏn phc ca thut toỏn Rừ rng: Thi gian tớnh ph thuc vo d liu vo Vớ d: Vic nhõn hai s nguyờn cú ch s ũi hi thi gian khỏc hn so vi vic nhõn hai s nguyờn cú 3*109 ch s! nh ngha Ta gi kớch thc d liu u vo (hay di d liu vo) l s bớt cn thit biu din nú Vớ d: Nu x, y l u vo cho bi toỏn nhõn s nguyờn, thỡ kớch thc d liu vo ca bi toỏn l n = log |x| + log |y| Ta s tỡm cỏch ỏnh giỏ thi gian tớnh ca thut toỏn bi mt hm ca di d liu vo 10 Thut toỏn lm vic nh th no Th xp hu dũng vo ct ROW 2, COL ROW 1, COL ó t 126 Thut toỏn lm vic nh th no Xp c hu dũng ta tip tc xp hu dũng 4: Th ct ROW 2, COL ROW 1, COL ó t 127 Thut toỏn lm vic nh th no Th xp c hu dũng vo ct ROW 2, COL ROW 1, COL ó t 128 Thut toỏn lm vic nh th no Th xp c hu dũng vo ct ROW 2, COL ROW 1, COL ó t 129 Thut toỏn lm vic nh th no Th xp c hu dũng vo ct ROW 2, COL ROW 1, COL ó t 130 Thut toỏn lm vic nh th no Khụng xp c hu dũng ROW 2, COL ROW 1, COL ó t 131 Thut toỏn lm vic nh th no Quay li tỡm v trớ mi cho hu dũng 3: Th ct ROW 2, COL ROW 1, COL ó t 132 Thut toỏn lm vic nh th no Quay li tỡm v trớ mi cho hu dũng 3: Th ct ROW 2, COL ROW 1, COL ó t 133 Thut toỏn lm vic nh th no Khụng cú cỏch xp mi cho hu dũng ROW 2, COL ROW 1, COL ó t 134 Thut toỏn lm vic nh th no Quay li tỡm cỏch xp mi cho hu dũng 2: Khụng cú ROW 2, COL ROW 1, COL ó t 135 Thut toỏn lm vic nh th no Quay li tỡm cỏch xp mi cho hu dũng 1: Chuyn sang ct ROW 2, COL ROW 1, COL ó t 136 Một lời giải toán xếp hậu n = 137 The End Toỏn ri rc - NN 138 138 Questions? 139 139 Toỏn ri rc 140 [...]... tính trung bình của thuật toán là Θ (n) Toán rời rạc 31 Chương 3 Bài toán liệt kê 1.Giới thiệu bài toán 2.Thuật toán và độ phức tạp 3. Phương pháp sinh 4.Thuật toán quay lui Toán rời rạc 32 3 PHƯƠNG PHÁP SINH 3. 1 Sơ đồ thuật toán 3. 2 Sinh các cấu hình tổ hợp cơ bản • Sinh xâu nhị phân độ dài n • Sinh tập con m phần tử của tập n phần tử • Sinh hoán vị của n phần tử 33 SƠ ĐỒ THUẬT TOÁN Phương pháp sinh... bất đẳng thức trong định nghĩa công thức tiệm cận 23 Ký hiệu tiệm cận trong các đẳng thức Được sử dụng để thay thế các biểu thức chứa các toán hạng với tốc độ tăng chậm Ví dụ, 4n3 + 3n2 + 2n + 1 = 4n3 + 3n2 + Θ(n) = 4n3 + Θ(n2) = Θ(n3) Trong các đẳng thức, Θ (f(n)) thay thế cho một hàm nào đó g(n) ∈ Θ (f(n)) • Trong ví dụ trên, Θ(n ) thay thế cho 3n 2 2 + 2n + 1 24 So sánh các hàm số f↔ g ≈ a↔ b... giải bài toán liệt kê tổ hợp đặt ra nếu như hai điều kiện sau được thực hiện: 1) Có thể xác định được một thứ tự trên tập các cấu hình tổ hợp cần liệt kê Từ đó có thể xác định được cấu hình đầu tiên và cấu hình cuối cùng trong thứ tự đã xác định 2) Xây dựng được thuật toán từ cấu hình chưa phải là cuối cùng đang có, đưa ra cấu hình kế tiếp nó Thuật toán nói đến trong điều kiện 2) được gọi là Thuật toán. .. phương n3 bậc 3 2n hàm mũ nk (k là hằng số dương) đa thức 28 Ví dụ phân tích thuật toán Ví dụ Xét thuật toán tìm kiếm tuần tự để giải bài toán Đầu vào: n và dãy sốs1, s2, , sn Đầu ra: Vị trí phần tử có giá trị key hoặc là n+1 nếu không tìm thấy function Linear_Search(s,n,key); begin i:=0; repeat i:=i+1; until (i>n) or (key = s i); Linear_Search := i; end; Toán rời rạc 29 Ví dụ phân tích thuật toán. ..Phép toán cơ bản Đo thời gian tính bằng đơn vị đo nào? Định nghĩa Ta gọi phép toán cơ bản là phép toán có thể thực hiện với thời gian bị chặn bởi một hằng số không phụ thuộc vào kích thước dữ liệu Để tính toán thời gian tính của thuật toán ta sẽ đếm số phép toán cơ bản mà nó phải thực hiện 11 Các loại thời gian tính Chúng ta sẽ quan tâm đến: • Thời gian tối thiểu cần thiết để thực hiện thuật toán. .. thuật toán với đầu vào kích thước n • Thời gian nhiều nhất cần thiết để thực hiện thuật toán với mọi bộ dữ liệu đầu vào kích thước n Thời gian như vậy sẽ được gọi là thời gian tính tồi nhất của thuật toán với đầu vào kích thước n • Thời gian trung bình cần thiết để thực hiện thuật toán trên tập hữu hạn các đầu vào kích thước n Thời gian như vậy sẽ được gọi là thời gian tính trung bình của thuật toán. .. thuật toán với độ dài đầu vào là n Rõ ràng thời gian tính của thuật toán có thể đánh giá bởi số lần thực hiện câu lệnh i:=i+1 trong vòng lặp repeat Nếu s1 = key thì câu lệnh i:=i+1 trong thân vòng lặp repeat thực hiện 1 lần Do đó thời gian tính tốt nhất của thuật toán là Θ (1) Nếu key không có mặt trong dãy đã cho, thì câu lệnh i:= i+1 thực hiện n lần Vì thế thời gian tính tồi nhất của thuật toán. .. thuật toán là Θ (1) Nếu key không có mặt trong dãy đã cho, thì câu lệnh i:= i+1 thực hiện n lần Vì thế thời gian tính tồi nhất của thuật toán là O(n) Toán rời rạc 30 Ví dụ phân tích thuật toán Cuối cùng, ta tính thời gian tính trung bình của thuật toán • Nếu key tìm thấy ở vị trí thứ i của dãy (key = si) thì câu lệnh i := i+1 phải thực hiện i lần (i = 1, 2, , n), • Nếu key không có mặt trong dãy... nói đến trong điều kiện 2) được gọi là Thuật toán Sinh kế tiếp 34 Thuật toán sinh procedure Generate; Begin ; Stop:=false; while not stop do begin ; if (cấu hình đang có chưa là cuối cùng) then ... ngha cụng thc tim cn 23 Ký hiu tim cn cỏc ng thc c s dng thay th cỏc biu thc cha cỏc toỏn hng vi tc tng chm Vớ d, 4n3 + 3n2 + 2n + = 4n3 + 3n2 + (n) = 4n3 + (n2) = (n3) Trong cỏc ng thc,... toỏn l (n) Toỏn ri rc 31 Chng Bi toỏn lit kờ 1.Gii thiu bi toỏn 2.Thut toỏn v phc 3. Phng phỏp sinh 4.Thut toỏn quay lui Toỏn ri rc 32 PHNG PHP SINH 3. 1 S thut toỏn 3. 2 Sinh cỏc cu hỡnh t hp... Sinh k tip 36 PHNG PHP SINH 3. 1 S thut toỏn 3. 2 Sinh cỏc cu hỡnh t hp c bn Sinh xõu nh phõn di n Sinh m phn t ca n phn t Sinh hoỏn v ca n phn t 37 Sinh cỏc dóy nh phõn di n 38 Sinh cỏc