Description:
        Generate a Plackett-Luce dataset and return the parameters and votes
    Parameters:
        n:            number of votes to generate
        m:            number of alternatives
        useDirichlet: boolean flag to use the Dirichlet distribution

def generate_pl_dataset(n, m, useDirichlet=True):
    """
    Description:
        Generate a Plackett-Luce dataset and return the parameters and votes
    Parameters:
        n:            number of votes to generate
        m:            number of alternatives
        useDirichlet: boolean flag to use the Dirichlet distribution
    """
    gamma = None
    if useDirichlet:
        gamma = np.random.dirichlet(np.ones(m))
    else:
        gamma = np.random.rand(m)
        gamma /= np.sum(gamma) # normalize sum to 1.0 (not needed for Dirichlet)
    votes = []
    for i in range(n): # generate vote for every agent
        votes.append(draw_pl_vote(m, gamma))
    return (gamma, votes)