edu.princeton.repeatedgames.rgsolve.polygon
Class GameExtremePoint

java.lang.Object
  extended by edu.princeton.plot.Point
      extended by edu.princeton.repeatedgames.rgsolve.polygon.GameExtremePoint
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class GameExtremePoint
extends Point
implements java.io.Serializable

This class extends the Point class. A GameExtremePoint described a vertex of V*, and how it is generated

See Also:
Serialized Form

Nested Class Summary
static class GameExtremePoint.CONSTRAINT
          An enum type for the player identity of binding incentive constraints
 
Field Summary
 int a1
          Player 1 action generating this point
 int a2
          Player 2 action generating this point
 GameExtremePoint.CONSTRAINT continConstraint
          Identity of binding I.C.
 int continIndex1
          index of point in extreme-point-table used in constructing continuation value
 int continIndex2
          index of point in extreme-point-table used in constructing continuation value
private static long serialVersionUID
          Serialization ID
 GameExtremePoint.CONSTRAINT stageConstraint
          Identity of binding I.C.
 double weight1
          Indicates the probability weight on the Extreme Point in continIndex1.
 
Fields inherited from class edu.princeton.plot.Point
x, y
 
Constructor Summary
GameExtremePoint(double x, double y)
          Simple constructor which sets x- and y-coordinate, leaving other fields uninitialized.
GameExtremePoint(double x, double y, int a1, int a2, int continIndex1, int continIndex2, double weight1, GameExtremePoint.CONSTRAINT stageConstraint, GameExtremePoint.CONSTRAINT continConstraint)
          Full constructor of a GameExtremePoint detailing a vertex of V* and how it is generated.
 
Method Summary
 void contract(double g1, double g2, double discount)
          This method contracts this point towards g=(g1,g2), i.e.
 GameExtremePoint getContraction(double g1, double g2, double discount)
          This method contracts this point towards g=(g1,g2), i.e.
 Point getPoint()
          "Upcasts" this GameExtremePoint and returns an instance of Point with the same coordinates.
 
Methods inherited from class edu.princeton.plot.Point
affineCombo, angleRadians, angleRadiansAbs, clone, deepCopy, dot, dot, equals, euclidDistance, euclidDistance, get, getClockwiseNormal, getNaN, getX, getY, hashCode, interpXonY, interpYonX, isCloseTo, L1norm, L2norm, linearCombo, LInfnorm, minus, norm, normalize, plus, rotate, roundEquals, roundPointList, set, setX, setY, supDistance, supDistance, supNorm, times, toArray, toString, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Serialization ID

See Also:
Constant Field Values

a1

public int a1
Player 1 action generating this point


a2

public int a2
Player 2 action generating this point


continIndex1

public int continIndex1
index of point in extreme-point-table used in constructing continuation value


continIndex2

public int continIndex2
index of point in extreme-point-table used in constructing continuation value


weight1

public double weight1
Indicates the probability weight on the Extreme Point in continIndex1. This vertex equals (1-delta) g(a1,a2) + delta * (weight1 * continIndex1 + (1-weight1) * continIndex2).


stageConstraint

public GameExtremePoint.CONSTRAINT stageConstraint
Identity of binding I.C. constraints at the stage payoff supporting this point


continConstraint

public GameExtremePoint.CONSTRAINT continConstraint
Identity of binding I.C. constraints at the continuation payoff supporting this point

Constructor Detail

GameExtremePoint

public GameExtremePoint(double x,
                        double y)
Simple constructor which sets x- and y-coordinate, leaving other fields uninitialized.

Parameters:
x - x-coordinate
y - y-coordinate

GameExtremePoint

public GameExtremePoint(double x,
                        double y,
                        int a1,
                        int a2,
                        int continIndex1,
                        int continIndex2,
                        double weight1,
                        GameExtremePoint.CONSTRAINT stageConstraint,
                        GameExtremePoint.CONSTRAINT continConstraint)
Full constructor of a GameExtremePoint detailing a vertex of V* and how it is generated.

Parameters:
x - x-coordinate
y - y-coordinate
a1 - action of player 1
a2 - action of player 2
continIndex1 - index of continuation value
continIndex2 - index of continuation value
weight1 - the weight on continIndex1
stageConstraint - binding IC constraints at stage payoff
continConstraint - binding IC constraints for continuation value
Method Detail

getContraction

public GameExtremePoint getContraction(double g1,
                                       double g2,
                                       double discount)
This method contracts this point towards g=(g1,g2), i.e. (x',y') <-- (1-discount) * g + discount * (x,y), and returns the returns the new point (x',y')

Parameters:
g1 - stage payoff to 1
g2 - stage payoff to 2
discount - the discount rate
Returns:
(1-discount) * (g1,g2) + discount * (x,y)

contract

public void contract(double g1,
                     double g2,
                     double discount)
This method contracts this point towards g=(g1,g2), i.e. (x,y) <-- (1-discount) * g + discount * (x,y)

Parameters:
g1 - stage payoff to 1
g2 - stage payoff to 2
discount - the discount rate

getPoint

public Point getPoint()
"Upcasts" this GameExtremePoint and returns an instance of Point with the same coordinates.

Returns:
the Point (x,y)