def METHOD_NAME(p):
    '''
    binary symmetric channel (BSC)
    output alphabet Y = {0, 1} and
    W(0|0) = W(1|1) and W(1|0) = W(0|1)
    this function returns a prob's vector for a BSC
    p denotes an erroneous transition
    '''
    if not (p >= 0.0 and p <= 1.0):
        print("given p is out of range!")
        return np.array([], dtype=float)
    # 0 -> 0, 0 -> 1, 1 -> 0, 1 -> 1
    W = np.array([[1 - p, p], [p, 1 - p]], dtype=float)
    return W