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

CÁC THUẬT TOÁN XÁC SUẤT (PROBABILISTIC) ppt

10 1K 8

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 212,5 KB

Nội dung

C C Á Á C THU C THU Ậ Ậ T TO T TO Á Á N N X X Á Á C C SU SU Ấ Ấ T T (PROBABILISTIC) (PROBABILISTIC) Numberical probabilistic algorithms Numberical probabilistic algorithms  Giới thiệu: - Thuật toán xác suất về số dùng để tính toán 1 kết quả gần đúng của vấn đề toán học (Kết quả gần chính xác nhất với kết quả thực tế). 1. Buffon’s Needle: - Gạch những đường thẳng có khoảng cách D đều nhau trên bảng - Có 355 que tăm có chiều dài L=1/2 D. - Tung những que này lên bảng, thì bao nhiêu que sẽ rơi vào giữa 2 đường thẳng? Numberical probabilistic algorithms Numberical probabilistic algorithms  Giải quyết bài toán: - Số que sẽ rơi vào giữa 2 đường thẳng 0355 - Giả sử que rơi vuông góc với đường thẳng: sẽ có ½ khả năng que rơi vào giữa 2 đường thẳng - Nếu que rơi song song với đường thẳng thì xác suất rơi ra ngoài là rất nhỏ  Mỗi que có 1/pi khả năng để rơi vào 2 đường thẳng - Bài toán Buffon’s Needle tính ra được là 113 que (355/pi) sẽ rơi vào giữa 2 đường thẳng Numberical probabilistic algorithms Numberical probabilistic algorithms  Kết luận: - Từ bài toán Buffon’s needle có thể được dùng để tính pi = n/k ( n- số que ném ban đầu, k – số que rơi vào giữa 2 đường thẳng)  Cách giải quyết khác: - Cho 1 hình vuông có cạnh là 2R chứa 1 hình tròn có bán kính là R. - Ném phi tiêu ngẫu nhiên vào trong hình vuông. Đếm xem có bao nhiêu phi tiêu rơi vào hình tròn Numberical probabilistic algorithms Numberical probabilistic algorithms Diện tích hình tròn: S T =pi*R 2 Diện tích hình vuông: S V =(2R) 2 Tỉ lệ: S T /S V = pi/4 Hay nói cách khác: pi = 4*c/s (c- số phi tiêu rơi vào hình tròn, s- số phi tiêu được ném) Từ kỹ thuật này có thể được ứng dụng để tính diện tích những hình không quy tắc: - Cho 1 hình bất kì A, và 1 hình vuông bao trùm ngoài hình A. - Ném ngẫu nhiên phi tiêu vào hình vuông Numberical probabilistic algorithms Numberical probabilistic algorithms Tính tỉ lệ: T = phi tiêu rơi vào A / tổng phi tiêu được ném.  T = Diện tích A/Diện tích hình vuông 2. Monte Carlo Intergration: - Cho 1 hàm f liên tục  vùng dưới đường cong của f chính là tích phân của hàm (Tích phân xem như diện tích S dưới đường cong y =f(x) với x chạy từ ab) Numberical probabilistic algorithms Numberical probabilistic algorithms - Tuy nhiên có những hàm rất khó hoặc không thể lấy tích phân  Cần sử dụng đến kỹ thuật Monte Carlo: - Cho 1 hàm y=f(x) bất kì - Vẽ 1 hình vuông bao bọc đoạn f(x) cần tính tích phân - Ném ngẫu nhiên phi tiêu vào trong hình vuông, và đếm bao nhiêu phi tiêu rơi vào dưới đường cong  Diện tích dưới đường cong xấp xỉ = Số phi tiêu dưới đường cong/số phi tiêu ném Numberical probabilistic algorithms Numberical probabilistic algorithms  Giải thuật: float Integrate (f, n ) // n- số phi tiêu được ném { int hits=0; for (int i =1;i<=n;i++) { x=uniform (0,1); y=uniform (0,1); if (y<=f(x)) hits=hits+1; } return hits/n; Numberical probabilistic algorithms Numberical probabilistic algorithms 3. Probabilistic Counting: - Đặt cược: Chọn ngẫu nhiên ít nhất 2 người trong 25 người, sao cho 2 người này có cùng sinh nhật. - Có N!/(N-k)! Cách để chọn k khác nhau từ tập N có thứ tự - Có N k cách khác nhau để chọn k nếu có sự lặp lại Cơ hội để thắng cược: 1- 365!/(340!*365 25 ) = 56,9% Thực tế cơ hội chiến thắng có thể cao hơn, vì ngày sinh nhật này không tính đến năm Monte Carlo Algorithms Monte Carlo Algorithms Giới thiệu: - Thuật toán Monte Carlo sẽ trả về 1 kết quả, và tính chính xác của kết quả sẽ tăng dần theo những lần chạy của thuật toán. - Thỉnh thoảng thuật toán này cũng đưa ra kết quả sai. - Thuật toán Monte Carlo trả về kết quả p có độ chính xác là: ½<p<1 - Nếu với mỗi input khác nhau, thuật toán đều trả về chung 1 kết quả  Monte Carlo đồng nhất . thiệu: - Thuật toán Monte Carlo sẽ trả về 1 kết quả, và tính chính xác của kết quả sẽ tăng dần theo những lần chạy của thuật toán. - Thỉnh thoảng thuật toán này cũng đưa ra kết quả sai. - Thuật toán. C SU SU Ấ Ấ T T (PROBABILISTIC) (PROBABILISTIC) Numberical probabilistic algorithms Numberical probabilistic algorithms  Giới thiệu: - Thuật toán xác suất về số dùng để tính toán 1 kết quả. tính toán 1 kết quả gần đúng của vấn đề toán học (Kết quả gần chính xác nhất với kết quả thực tế). 1. Buffon’s Needle: - Gạch những đường thẳng có khoảng cách D đều nhau trên bảng - Có 355 que

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

TỪ KHÓA LIÊN QUAN

w