1 Verifying Polynomial Identities Giả sử ta có một chương trình nhân các đa thức. Ví dụ: (x + 1)(x − 2)(x + 3(x − 4)(x + 5)(x − 6) ≡ x6 − 7x3 + 25 Chương trình của ta sẽ output kết quả la x6 − 7x3 + 25 Ta muốn kiểm tra tính đúng đắn của kết quả này. Ta có thế nhân lần lượt các số hạng với nhau. Thế nhưng việc làm này rất tốn kém, mà thực tế ta lại thực hiện lại giải thuật nhân đa thức cũ như vậy là đi theo con đường cũ rồi. Nếu đã sai vẫn ra kết quả
Mục lục 10 11 12 13 14 Verifying Polynomial Identities Axioms of Probability Verifying Matrix Multiplication A Randomized Min-Cut Algorithm (Karger Algprithm) Random Variables and Expectation The Bernoulli and Binomial Random Variables Conditional Expectation Extra: Recursive Procedure Calling The Geometric Expectation Extra: Coupon Collector's Problem Application: The Expected Run-Time of Quicksort The Birthday Paradox .10 Balls into Bins 11 Problem Set Membership .12 Verifying Polynomial Identities Giả sử ta có chương trình nhân đa thức Ví dụ: (x + 1)(x − 2)(x + 3(x − 4)(x + 5)(x − 6) ≡ x6 − 7x3 + 25 Chương trình ta output kết la x6 − 7x3 + 25 Ta muốn kiểm tra tính đắn kết Ta nhân số hạng với Thế việc làm tốn kém, mà thực tế ta lại thực lại giải thuật nhân đa thức cũ theo đường cũ Nếu sai kết sai mà Bây ta sử dụng giải thuật random để giải câu hỏi : F(x) ? ≡ G(x) ALGORITHM 1.1: Chọn số x = a Kiểm tra F(a) ≠ G(a)ta kết luận F(x) ≠ G(x) PROBABILISTIC ANALYSIS: Khi F(a) = G(a) ta chưa kêt luận F(x) ≡ G(x) a nghiệm phương trình F(x) − G(x) = Giả sử F(x) đa thức bậc d Khi F(x) - G(x) không có d nghiệm Tức F(x) ≠ G(x) tất số nguyên ta chọn có d trường hợp mà F(a) = G(a) Nếu ta chọn a khoảng {0, 100d} tức không gian mẫu có 100d khả > Xác suất chọn trúng nghiệm F(x) - G(x) 1/100 Đây xác suất để ALGORITHM 1.1 sai Thực thuật toán n lần độc lập Áp dụng công thức cho kiên độc lập ta có xác suất thất bại thuật toán 1.1 ( )n 100 Axioms of Probability Không gian mẫu (Sample Space) Ω tập hợp tất khả xảy kiện Hàm xác suất ánh xạ từ tập kiện vào tập số thực R Ta gọi hàm số là: Pr(E) = Xác suất kiện E Pr(E∩F) Conditional Probability: Pr(E | F) = Pr(F) Law of Total Probability: E1, E2 kiện xung khắc (E1 ∩ E2 =⊘) mà E1 E2 lấp đầy không gian mẫu Khi với kiện B ta có: Pr(B) = Pr(B ∩ E1) + Pr(B ∩ E2) Pr(B∩E1) => Bayes' Law: Pr(E1 | B) = Pr(B ∩ E1) / Pr(B) = Pr(B∩E1)+ Pr(B∩E2) Verifying Matrix Multiplication Cho ma trận n*n A, B C Ta cần kiểm tra xem A*B ?= C Trong A,B ma trận đơn vị, bao gồm số GIải thuật cổ điển: Tính A*B so sánh với C Time: ⊖ (n3 ) ALGORITHM(1.3) : chọn vector đơn vị n chiều ngẫu nhiên r = (r1,r2, ,rn), ri = or 1, 1[...]... một Bloom, và các hàm h_i; i =1,2, ,k Ta nói y nằm trong Bloom nếu tất cả các vị trí bit 1 của y đều có ở trong Bloom Ví dụ: y= 8 = 1000 nằm trong Bloom 1010.; y = 1001 không nằm trong Bloom 1010 ALGORITHM Tính h_i(x); i =1,2, ,k x thuộc S h_i(x) nằm trong Bloom nào với mọi i =1,2, ,k PROBABILISTIC ANALYSIS: Case 1: Không tồn tại i để h_i(x) nằm trong Bloom => x không thuộc S Giả sử ngược lại x thuộc... số bóng nhất định Ta gọi maximum load là số bóng chứa trong hộp có nhiều bóng nhất Định lý: Xác suất để maximum load lớn hơn 3 ln n/ln ln n là không quá 1/n Proof: Xét bin thứ nhất Xác suất để có ít nhất M balls trong bin 1 sẽ là: n 1 × ( )M M n (chọn ra M quả trong số n quả Xác suất để mỗi quả vào hộp 1 là 1/n) n 1 1 e × ( )M ≤ ≤ ( )M M n M! M Tron bất đẳng thức thứ 2 ta sử dụng công thức: k k k i x không thuộc S Giả sử ngược lại x thuộc S thì phải tồn tại i: 1