161-A5.1
Jump to navigation
Jump to search
In this module, you have learned that it is possible to synthesize extremal channels from multiple copies of a given binary-input channel. In particular, the binary erasure channel (BEC) has the property that all synthesized channels are equivalent to BECs.
Task Description
Your task in Module 5 is simple: given the erasure probability of a BEC, you are to count the number of synthetic channels with erasure probability that is better (lower) than the original BEC.
You need to write a function count_bad_channels
which will take two arguments:
blocklength
- anint
that is a power of two, denoting the blocklength or, equivalently, the number of synthetic channels produced via the polar transform.erasure_prob
- afloat
, a positive real number between 0 and 1, indicating the erasure probability of the original BEC.
The function must return an int
corresponding to the number of synthetic BECs with erasure probabilities strictly greater than erasure_prob
.
Header |
import math
|
Student submission (function only) |
def count_bad_channels(blocklength, erasure_prob):
# your code..
# more code..
return ans
}
|
Main test script |
# Main test script goes here, and will not be visible to students.
# The script will test if the submitted code does the prescribed functionality.
# For successfully validated scripts, test results will be sent via email.
|
Expected Output
1 | 1 | 4 | 39 | 7291 | |
1 | 1 | 6 | 86 | 20158 | |
1 | 3 | 11 | 193 | 51758 |