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

Cấu trúc dữ liệu và giải thuật (phần 22) potx

10 306 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

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

Nội dung

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ế.. Num

Trang 1

CÁC THUT TOÁN

(PROBABILISTIC)

Trang 2

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?

Trang 3

Numberical probabilistic algorithms

 Giải quyết bài toán:

- Số que sẽ rơi vào giữa 2 đường thẳng 0355

- 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

Trang 4

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

Trang 5

Numberical probabilistic algorithms

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

Trang 6

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ừ ab)

Trang 7

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

Trang 8

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++)

y=uniform (0,1);

if (y<=f(x)) hits=hits+1;

}

return hits/n;

Trang 9

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ự

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

Trang 10

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

Ngày đăng: 09/07/2014, 21:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w