Bắt đầu ngayBắt đầu miễn phí

Tính toán tất định sai

Trong bài này và bài tiếp theo, bạn sẽ thử nghiệm với cách tính pi từ video để hiểu sâu hơn tầm quan trọng của từng bước trong quy trình mô phỏng.

Hãy nhớ rằng mô phỏng để tìm pi sẽ tạo các điểm ngẫu nhiên \((x, y)\) trong đó \(x\) và \(y\) nằm giữa -1 và 1, như trên đồ thị bên dưới.

A graph of a circle inside a square with randomly sampled points

Điều gì sẽ xảy ra nếu bạn vô tình thay đổi phép tính tất định dùng để kiểm tra xem có nên cộng một điểm vào circle_points hay không? Điều này sẽ ảnh hưởng thế nào đến kết quả cuối cùng? Từ giá trị “kỳ quặc” bạn nhận được cho pi, bạn sẽ thấy việc xác định đúng các phép tính tất định là điều thiết yếu trong mô phỏng Monte Carlo!

random đã được nhập sẵn cho bạn.

Bài tập này là một phần của khóa học

Mô phỏng Monte Carlo với Python

Xem khóa học

Hướng dẫn bài tập

  • Tăng circle_points cho bất kỳ điểm nào có khoảng cách tới gốc tọa độ nhỏ hơn 0.75 (thay vì khoảng cách bằng một như minh họa trong video).

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

n = 10000
circle_points = 0 
square_points = 0 
for i in range(n):
    x = random.uniform(-1, 1)
    y = random.uniform(-1, 1)
    dist_from_origin = x**2 + y**2
    # Increment circle_points for any point with a distance from origin of less than .75
    if ____:
        circle_points += 1
    square_points += 1
pi = 4 * circle_points / square_points
print(pi)
Chỉnh sửa và Chạy Mã