def compare_state(obs1, obs2, margin_noise=0.3, margin_features=0.1):
    """

    Compare 2 user observations based on the configured margins

    :param obs1: user's state => observation 1
    :param obs2: user's state => observation 2
    :param margin_noise: acceptable difference between noisy states of obs1 and obs2
    :param margin_features: acceptable difference between each features(user interests) of obs1 and obs2
    :return: true if obs1 is similar to obs2, false if otherwise


    """
    if abs(obs1[0] - obs2[0]) > margin_noise:
        print("False")
        return False
    for i in range(1, len(obs1)):
        if abs(obs1[i] - obs2[i]) > margin_features:
            print("False")
            return False
    print("True")
    return True