-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproblem1.py
More file actions
36 lines (29 loc) · 759 Bytes
/
problem1.py
File metadata and controls
36 lines (29 loc) · 759 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from random import random
def create_transmitted_message(prob):
num = random()
message = 0 if num <= prob else 1
return message
def create_received_signal(message, e_0, e_1):
num = random()
if message == 0:
if num <= e_0:
signal = 1
else:
signal = 0
else:
if num > e_1:
signal = 1
else:
signal = 0
return signal
e_0_prob = 0.01
e_1_prob = 0.02
num_experiments = 10000
num_failures = 0
for _ in range(num_experiments):
message = create_transmitted_message(e_0_prob)
signal = create_received_signal(message, e_0_prob, e_1_prob)
if message != signal:
num_failures += 1
probability_of_failure = num_failures / num_experiments
print("Probability of failure:", probability_of_failure)