FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.benchmarks.party.PartyGame Class Reference

A random problem generator for the party game. More...

Classes

enum  Method
 The method used to formulate the game as a DisCSP. More...
class  PartyInstance
 An instance of a party game. More...

Static Public Member Functions

static Element createStats (String name, String value)
 Creates a "stats" element.
static Document generateAcyclicProblem (int nbrPlayers, int branchingFactor, double epsilon, boolean mixed, Method method, boolean intensional)
 Generates an instance based on an acyclic graph.
static Document generateChordalProblem (int nbrPlayers, double rateOfChords, double epsilon, boolean mixed, Method method, boolean intensional)
 Generates an instance based on a chordal graph.
static Document generateRingProblem (int nbrPlayers, double epsilon, boolean mixed, Method method, boolean intensional)
 Generates an instance based on a ring graph.
static Document generateGridProblem (int side, double epsilon, boolean mixed, Method method, boolean intensional)
 Generates an instance based on a square grid.
static PartyInstance generateProblem (Graph graph)
 Generates a random instance of the party game.
static Document encodeProblem (PartyInstance party, final Method method, final boolean intensional)
 Encodes a party game instance as a DisCSP in XCSP format.
static void main (String[] args) throws IOException
 Write a random problem to a file.

Static Protected Member Functions

static Document encodeProblem (PartyInstance party, double epsilon, final boolean mixed, final Method method, final boolean intensional)
 Encodes a party game instance as a DisCSP in XCSP format.

Static Private Member Functions

static Document encodeProblem (PartyInstance party, double epsilon, double tau, final boolean mixed, final Method method, final boolean intensional)
 Encodes a party game instance as a DisCSP in XCSP format.

Detailed Description

A random problem generator for the party game.

The party game is described in the following paper: Satinder Singh, Vishal Soni, and Michael P. Wellman. Computing approximate Bayes-Nash equilibria in tree-games of incomplete information. In Jack S. Breese, Joan Feigenbaum, and Margo I. Seltzer, editors, Proceedings of the Fifth ACM Conference on Electronic Commerce (EC'04), pages 81-90, New York, NY, USA, May 17-20 2004. ACM.

Author
Thomas Leaute

Member Function Documentation

◆ createStats()

Element frodo2.benchmarks.party.PartyGame.createStats ( String name,
String value )
static

Creates a "stats" element.

Parameters
namethe value of the "name" attribute
valuethe text
Returns
a new "stats" element

Referenced by encodeProblem().

◆ encodeProblem() [1/3]

Document frodo2.benchmarks.party.PartyGame.encodeProblem ( PartyInstance party,
double epsilon,
double tau,
final boolean mixed,
final Method method,
final boolean intensional )
staticprivate

Encodes a party game instance as a DisCSP in XCSP format.

Parameters
partythe party instance
epsilonthe margin used for approximate equilibria
tauthe probability discretization parameter for mixed strategies
mixedwhether to allow mixed strategies
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance

References createStats(), frodo2.solutionSpaces.AddableReal.doubleValue(), encodeProblem(), frodo2.solutionSpaces.hypercube.ScalarBasicSpaceIter< V extends Addable< V >, U extends Serializable >.getNbrSolutions(), frodo2.solutionSpaces.hypercube.ScalarBasicSpaceIter< V extends Addable< V >, U extends Serializable >.hasNext(), frodo2.benchmarks.party.PartyGame.Method.Leaute11, frodo2.solutionSpaces.hypercube.ScalarBasicSpaceIter< V extends Addable< V >, U extends Serializable >.nextSolution(), frodo2.benchmarks.party.PartyGame.Method.Soni07, and frodo2.benchmarks.party.PartyGame.Method.Vickrey02.

Here is the call graph for this function:

◆ encodeProblem() [2/3]

Document frodo2.benchmarks.party.PartyGame.encodeProblem ( PartyInstance party,
double epsilon,
final boolean mixed,
final Method method,
final boolean intensional )
staticprotected

Encodes a party game instance as a DisCSP in XCSP format.

Parameters
partythe party instance
epsilonthe margin used for approximate equilibria
mixedwhether to allow mixed strategies
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance

References encodeProblem().

Here is the call graph for this function:

◆ encodeProblem() [3/3]

Document frodo2.benchmarks.party.PartyGame.encodeProblem ( PartyInstance party,
final Method method,
final boolean intensional )
static

Encodes a party game instance as a DisCSP in XCSP format.

Parameters
partythe party instance
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance
Note
epsilon is set to 0.0, and mixed to false

References encodeProblem().

Referenced by encodeProblem(), encodeProblem(), encodeProblem(), generateAcyclicProblem(), generateChordalProblem(), generateGridProblem(), generateRingProblem(), and main().

Here is the call graph for this function:

◆ generateAcyclicProblem()

Document frodo2.benchmarks.party.PartyGame.generateAcyclicProblem ( int nbrPlayers,
int branchingFactor,
double epsilon,
boolean mixed,
Method method,
boolean intensional )
static

Generates an instance based on an acyclic graph.

Parameters
nbrPlayersthe number of players
branchingFactoreach node has at most (branchingFactor + 1) neighbors
epsilonthe margin used for approximate equilibria
mixedwhether to allow mixed strategies
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance

References encodeProblem(), generateProblem(), and frodo2.algorithms.RandGraphFactory.getAcyclicGraph().

Here is the call graph for this function:

◆ generateChordalProblem()

Document frodo2.benchmarks.party.PartyGame.generateChordalProblem ( int nbrPlayers,
double rateOfChords,
double epsilon,
boolean mixed,
Method method,
boolean intensional )
static

Generates an instance based on a chordal graph.

Parameters
nbrPlayersthe number of players
rateOfChordsrateOfChords % of the edges are chords
epsilonthe margin used for approximate equilibria
mixedwhether to allow mixed strategies
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance

References encodeProblem(), generateProblem(), and frodo2.algorithms.RandGraphFactory.getChordalGraph().

Here is the call graph for this function:

◆ generateGridProblem()

Document frodo2.benchmarks.party.PartyGame.generateGridProblem ( int side,
double epsilon,
boolean mixed,
Method method,
boolean intensional )
static

Generates an instance based on a square grid.

Parameters
sidethe graph contains side*side players
epsilonthe margin used for approximate equilibria
mixedwhether to allow mixed strategies
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance

References encodeProblem(), generateProblem(), and frodo2.algorithms.RandGraphFactory.getSquareGrid().

Here is the call graph for this function:

◆ generateProblem()

PartyInstance frodo2.benchmarks.party.PartyGame.generateProblem ( Graph graph)
static

Generates a random instance of the party game.

Parameters
graphthe graph in which players are nodes
Returns
a party game instance

References frodo2.algorithms.RandGraphFactory.Graph.neighborhoods, and frodo2.algorithms.RandGraphFactory.Graph.nodes.

Referenced by generateAcyclicProblem(), generateChordalProblem(), generateGridProblem(), generateRingProblem(), and main().

◆ generateRingProblem()

Document frodo2.benchmarks.party.PartyGame.generateRingProblem ( int nbrPlayers,
double epsilon,
boolean mixed,
Method method,
boolean intensional )
static

Generates an instance based on a ring graph.

Parameters
nbrPlayersthe number of players
epsilonthe margin used for approximate equilibria
mixedwhether to allow mixed strategies
methodthe DisCSP formulation method
intensionalwhether to use intensional constraints
Returns
a problem instance

References encodeProblem(), generateProblem(), and frodo2.algorithms.RandGraphFactory.getRingGraph().

Here is the call graph for this function:

◆ main()

void frodo2.benchmarks.party.PartyGame.main ( String[] args) throws IOException
static

The documentation for this class was generated from the following file: