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.

Đ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
Hướng dẫn bài tập
- Tăng
circle_pointscho 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)