def get_N_RL(sym_list):
    """
    Compute a value denoting the maximum "number of reachable locations", ($N_{r}$), over all possible locations.

    From the paper:
    Formally $N_{r}$ is calculated from an empirical symbolic time series $\mathcal{T} = \{s_{1}, s_{2}, \ldots, s_{m}\}$, 
    with the set of all possible spatial locations being $\Omega$, as $N_{r} = \max_{x \in \Omega} | \{ s_{i+1} : s_i = x \} |$.

    :param sym_list: A list of location symbols
    :type sym_list: list
    """

    mapLocation = {}
    ct_point = 0
    for point in sym_list[:-1]:
        idNextPoint = sym_list[ct_point+1]
        try:
            mapLocation[point].add(idNextPoint)
        except KeyError:
            mapLocation[point] = set([idNextPoint])
        ct_point += 1
    N = 0
    for SetPoint in mapLocation.values():
        nb = len(SetPoint)
        if nb > N:
            N = nb
    return N