
io.github.oliviercailloux.j_voting.profiles.StrictProfile Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of j-voting Show documentation
Show all versions of j-voting Show documentation
General classes for dealing with social choice theory.
The newest version!
package io.github.oliviercailloux.j_voting.profiles;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import io.github.oliviercailloux.j_voting.Alternative;
/**
* A StrictProfile represents a complete StrictProfile. The preferences are
* strict. The preferences are about the same alternatives exactly.
*
*/
public interface StrictProfile extends StrictProfileI, Profile {
/**
* @param i not null
the ith alternative to get from Voters in the
* profile
* @return a List of Alternatives
*/
public List getIthAlternatives(int i);
/**
* @param i not null
the ith alternative to get from Voters with
* different Preferences in the profile
* @return a List of Alternatives
*/
public List getIthAlternativesOfUniquePreferences(int i);
/**
* writes the strict and complete profile into a new file with the SOC format.
*/
public void writeToSOC(OutputStream output) throws IOException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy