Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
181,16 KB
Nội dung
!" "" #$%&' ( )'*+,- TOÁN CHO KHOA HỌC MÁY TÍNH Hàm sinh và ứng dụng Phân tích một số thuật toán sắp xếp ./0# PGS.TS. NGUYỄN PHI KHỨ /'# CH1301001 – NGUYỄN TUẤN AN !" "" #$%&' ( MỤC LỤC !" "" #$%&' ( A Hàm sinh xác suất I Tổng quan hàm sinh 1234567-819:7;<:7- 7=>%?@ABC: #D"E EFE###GH#=7 IJ%1J1237?5K:B 1231LM:2:# .NOD PI7LK::5?QPB123A8R* 6STNU"O25%V1WWXTSYWWXT? /PZB1231LM:[8.NO9\1237] S8I7B9\123R^_76` a? 3 !" "" #$%&' ( II Định nghĩa và thuộc tính @bA@7c6V=%7LS,?': S DN@DSO8 SD"8 8F8d N@=I*8:[ecI6`S,P 7LS,f%7:O?N.gOK:@1231LM:2: . @ NODDhN @ O i>7`. @ N OD 8]%J%WWj ?k2. @ N"OD "? QP56l82:# 8:9 . @ NODhN @ OD !"" # $!%8:9 . @ NODhN @ OD<m &!' # ( )*+#(8:9 & , --.# ( /!'0",18:9 & , #2 #( /3!!,13!!48:9 & , 4( /50/6!'0",158:9 . @ NODD WWX< n m<D Định lý khẳng định : $@o92l. @ . o 8:9 & , & 7 /8'9 0 4 !" "" #$%&' ( 5/$:3,37 /8*6 ;$<=[@o9p? Chứng minh :':e7`N:ON6O?)SK:.@ .o]U 8198i9\_7BZ . @ NODN@DSO . o NODNoDSO $. @ D. o 89FJ%9V:? /#$@9P<D 8:9\S=7`# @q.bb7NO (NOPK:@8:9\123 S DN@DSO 6`7\S:(NO7B71^ S DVK: S E ^S(NOS=e9=c<:11^D" i:9\_71LM:K:PK:@? K:oDN@O= . o NOD. N@O NODhN N@O OD $S1lf89\V. o NO71ZSVK:. @ NO? /#Q^oD:m6@] . o NODhN o O DhN :m6@ O D : hrN 6 O @ sD : . @ N 6 O 5 !" "" #$%&' ( III Tóm lược Lý thuyết t%@=17K:. @ NOSD 8] Dhr@N@ OdN@7m Os Chứng minh NODr. @ NOs Drs D Nf4S,aS15BO?BPWWj 8]# N ODhr@N@n OdN@7m Os8 7U $7:# N ON^N OODhN@O / N ON^N OODhr@N@n Os DhN@ F OhN@O D/:7N@OmrhN@Os F hN@O /] /:7N@ODN OrN O F smN O? /#$@qNuO8] . @ NODb uNn O E NODub uNn O hN@ODN ODub " Du? NODu F b uNn O 6 !" "" #$%&' ( /:7N@ODu F u F muDu 7 !" "" #$%&' ( IV Tổng của các biến ngẫu nhiên độc lập Lý thuyết Q^@o=611=82lP. @ NO. o NO vD@mo? . v NOD. @mo NOD. @ NO. o NO Chứng minh . v NODhN v ODhN @mo O DhN @ OhN o O N1=O D. @ NO. o NO Hệ quả $@ 8d8@ =611=82lP.@ NO8 d8.@NON=%c72PO8 . @ mdm@ NOD. @ NOd. @ NO Ví dụ 1: ']K:1=@ 8D 8d8S@qNu O Giải . @ NODb uNn O ? . @ m@Fmdm@ NODuNn O Db Nu mdmuONn O ? Q%= Ví dụ 2: '7B1=)b7== 8 !" "" #$%&' ( Q^@DD=231i7=e?']K:@w Giải: 'xI=e41=:8y 8dy1=? . @ NOD. y 8. yF 8d. y NO? $2. y NOD<m8yD 8d? . @ NODN<mO D N@DODVK: 7. @ NO Dm< n 8 D"8d8 @q)N8O? 9 !" "" #$%&' ( V Tổng của số ngẫu nhiên độc lập Lý thuyết $8@ 8@ F 8d=11=?$C@ G9:8PB . @ ? 9 z $ D@ mdm@ $ . z$ D. $ N. @ NOO Chứng minh :':9 NODhNO D N1ZSVP$O D D D NV<f1J72P19O D.$N.@NOO Nb1LM:K:. $ O Hệ quả OhNz $ ODhN$O?hN@O rNOsDr. $ N. @ NOOs D? SD. @ NO Q^D 8N]%D. @ N OD O8:9 hNz $ ODrs?rsDhN$O?hN@O '2lH:9\%=7` /:7Nz $ ODhN$O/:7N@Om/:7N$OrhN@Os F N!? {O 10 [...]... 2 e = 1 nếu và chỉ nếu ὴ ≤ 1 16 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn B Phân tích một số thuật toán sắp xếp I Định nghĩa độ phức tạp Thời gian mà máy tính khi thực hiện một thuật toán không chỉ phụ thuộc vào bản thân thuật toán đó, ngoài ra còn tùy thuộc từng máy tính Để đánh giá hiệu quả của một thuật toán, có thể xét số các phép tính phải thực... nghĩa là số phép hoán vị bằng n(n-1)/2 o Tổng kết lại, ta có độ phức tạp của Bubble Sort thuộc O(n2) trong mọi trường hợp 22 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn Đánh giá Bài phân tích trên cho ta sự hiểu biết tốt hơn về hàm sinh xác suất cũng như cách ứng dụng vào giải một số bài toán phổ biến như các ví dụ ở trên Cùng với một số thuật toán tìm... a[j+1]=x; } } } 20 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn Đánh giá thuật toán o Yếu tố quyết định chính của thuật toán chính là cách chọn khoảng cách h trong từng bước sắp xếp và số bước sắp xếp k Nhưng phải thỏa 2 điều kiện sau: h i > hi + 1 và hk = 1 o Các phần tử h không được là bội số của nhau nhằm tránh hiện tượng mỗi bước sắp thứ tự phải tổ... số không phụ thuộc vào , sao cho với đủ lớn, các hàm đều dương và thì ta nói thuật toán có độ phức tạp cỡ Các độ phức tạp thường gặp đối với các thuật toán thông thường gồm có: 17 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn • Độ phức tạp hằng số, Số phép tính/ thời gian chạy/dung lượng bộ nhớ không phụ thuộc vào độ lớn đầu vào Chẳng hạn như các thao tác... bằng cỡ Như vậy nếu xét một cách chặt chẽ, kí hiệu Θ mới biểu thị độ phức tạp của thuật toán một cách chặt chẽ Tuy nhiên qua một thời gian dài kí hiệu cũng đã được dùng phổ biến 18 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn II Các thuật toán sắp xếp 1 Thuật toán sắp xếp bằng phương pháp Quick Sort Cài đặt : void QuickSort(float a[],int l,int r) { int... bằng hàm sinh xác suất Giải Bằng nsn-1 và cộng tất cả các giá trị của n ta có được Hàm sinh (đây không là hàm sinh xác suất, khi {pn : n ≥ 1} không tạo ra một xác suất) đó là Bây giờ phương trình này được giải quyết theo các điều kiện ràng buộc G(0) = 0 Kết quả là 11 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn Giải G(s) theo chuỗi số trong s, và phân. .. Đánh giá thuật toán Ta nhận thấy hiệu quả của thuật toán phụ thuộc vào việc chọn giá trị mốc (hay phần tử chốt) 19 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn o Trường hợp tốt nhất: mỗi lần phân hoạch ta đều chọn được phần tử median (phần tử lớn hơn hay bằng nửa số phần tử và nhỏ hơn hay bằng nửa số phần tử còn lại) làm mốc Khi đó dãy được phân hoạch... Và điều này cũng đúng cho n = 1 Lặp lại kết quả này, ta có Gn là quần thể thứ n của G E(Xn) = E(Xn-1)ὴ ὴ = E(C ) là ý nghĩa kích thước quần thể Do đó 14 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn Có các suy luận Tương tự Ví dụ 1 : Kiểm tra một phân nhánh C được định nghĩa phân phối hình học pk = pqk, k = 0,1,2,…; 0 < p – 1 < 1, với p ≠ q Giải: hàm sinh. . .Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn VI Dùng hàm sinh để giải quyết quan hệ tái phát sinh Thay vì sử dụng lý thuyết của quan hệ từ khi giải quyết các mối quan hệ tái phát sinh trong quá trình giải quyết bằng các điều kiện, người ta thường chuyển đổi các mối quan hệ trong phương trình cho hàm sinh, để được giải quyết mục... các ví dụ ở trên Cùng với một số thuật toán tìm kiếm, cách phân tích đánh giá độ phức tạp cho ta sự lựa chọn giải pháp tốt nhất cho bài toán ta cần giải quyết Do vấn đề thời gian còn hạn chế và trong quá trình trao dồi kiến thức nên bài viết vẫn còn một số hạn chế nhất định 23 Hàm sinh xác suất và ứng dụng – Phân tích một số thuật toán sắp xếp An CH1301001:Nguyễn Tuấn Tài liệu tham khảo _ Giáo trình . #$%&' ( )'*+,- TOÁN CHO KHOA HỌC MÁY TÍNH Hàm sinh và ứng dụng Phân tích một số thuật toán sắp xếp ./0# PGS.TS. NGUYỄN PHI KHỨ /'# CH1301001. 16 !" "" #$%&' ( B Phân tích một số thuật toán sắp xếp I Định nghĩa độ phức tạp '|:%SHVS,[6f 1987:;p%x%?Q1V<fK: 89AAfHVSHV%?', 2|A123HV•K:68=1=PK: 1e?/]độ. k1J 123p56? 18 !" "" #$%&' ( II Các thuật toán sắp xếp 1. Thuật toán sắp xếp bằng phương pháp Quick Sort Cài đặt : ‰Sz7N‡=::rs8=87O C 8ŠE E D=E ŠD7E D:rN=m7O†FsE C ‹=bN:rsXOmmE ‹=bN:rŠsŒOŠnnE ‡NŠXDŠO C ‡NXŠO C bD:rsE :rsD:rŠsE :rŠsDbE G mmE ŠnnE G G ‹=bNXŠOE ‡N=XŠO‰Sz7N:8=8ŠOE ‡NX7O‰Sz7N:887OE G Đánh