Macaulay2 » Documentation
Packages » GameTheory :: spohnCI
next | previous | forward | backward | up | index | toc

# spohnCI -- ideal of the Spohn conditional independence (CI) variety

- Usage:
    `spohnCI(PR, X, G)`
    `spohnCI(PR, X, G, PlayerNames)`
    `spohnCI(PR, X, Stmts)`
    `spohnCI(PR, X, Stmts, PlayerNames)`
- Inputs:
  - PR, a ring, the probability ring (must be created with probabilityRing)
  - X, a list, the n tensors defining the game
  - G, a graph, the graph specifying the conditional independence conditions
  - Stmts, a list, a list of lists {L1,L2,L3} corresponding to the relation "L1 and L2 are conditionally independent given L3".
  - PlayerNames, a list, the ordered list of players - the names of the random variables in the conditional independence statements or vertices of the graph. If PlayerNames is omitted, the players (or the vertices of G) are assumed to be labelled 1..n.
- Optional inputs:
  - Verbose (missing documentation) => ..., default value false,
- Outputs:
  - an ideal, The ideal of the Spohn CI variety

## Description

spohnCI computes the ideal of the Spohn conditional independence variety for a game $X$ and conditional independence model determined by an undirected graph $G$ or set of conditional independence statements $Stmts$.

The input for the conditional independence model can be a set of conditional probability statements or an undirected graph. A single conditional independence statement is a list consisting of three disjoint lists of indices for players, e.g. $\{ \{1,2\},\{4\}, \{3\} \}$ which represents the conditional independence statement "The strategies of Players 1 and 2 are conditionally independent of Player 4's strategy given Player 3's strategy".

Given an undirected graph $G$, the conditional independence statements are produced via the globalMarkov function from the GraphicalModels package. A global Markov statement for $G$ is a list $\{A, B, C\}$ of three disjoint lists of vertices of $G$, where the subset $C$ separates the subset $A$ from the subset $B$ in the graph $G$.

    i1 : FF = ZZ/32003;

    i2 : d = {2,2,2};

    i3 : X = randomGame(d, CoefficientRing => FF);

    i4 : PR = probabilityRing(d, CoefficientRing => FF);

    i5 : G1 = graph ({}, Singletons => {1,2,3});

    i6 : G2 = graph ({{1,2}}, Singletons => {3});

    i7 : I1 = spohnCI(PR,X,G1);

    o7 : Ideal of PR

    i8 : I2 = spohnCI(PR,X,G2);

    o8 : Ideal of PR

Here is an example where the vertices of the graph need to be relabeled.

    i9 : FF = ZZ/32003;

    i10 : d = {2,3,2};

    i11 : X = randomGame(d, CoefficientRing => FF);

    i12 : PR = probabilityRing(d, CoefficientRing => FF);

    i13 : G1 = graph {{John,Matthew},{Matthew,Sarah}};

    i14 : G2 = graph {{a,b},{b,c},{c,a}};

    i15 : I1 = spohnCI(PR,X,G1, {John,Matthew,Sarah});

    o15 : Ideal of PR

    i16 : I2 = spohnCI(PR,X,G2, {a,b,c});

    o16 : Ideal of PR

Here is an example where the conditional independence relations are given with a List.

    i17 : FF = ZZ/32003;

    i18 : d = {2,2,2};

    i19 : X = randomGame(d, CoefficientRing => FF);

    i20 : PR = probabilityRing(d, CoefficientRing => FF);

    i21 : G = graph ({{1,2}},Singletons => {3});

    i22 : L = {{{1,2},{3},{}}};

    i23 : I1 = spohnCI(PR,X,G);

    o23 : Ideal of PR

    i24 : I2 = spohnCI(PR,X,L);

    o24 : Ideal of PR

    i25 : I1 == I2

    o25 = true

The Verbose=>true option prints the progress of each step in the saturation process - a message is printed after saturating the ideal of the Spohn variety $V$, the conditional independence ideal $I$, and the sum $V + I$ with respect to each hyperplane of the probability simplex.

    i26 : FF = ZZ/32003;

    i27 : d = {2,3,2};

    i28 : X = randomGame(d, CoefficientRing => FF);

    i29 : PR = probabilityRing(d, CoefficientRing => FF);

    i30 : L = {{{1,2},{3},{}}};

    i31 : I = spohnCI(PR, X, L, Verbose=>true);
    Completed step 1 of saturating CI ideal
    Completed step 1 of saturating input ideal
    Completed step 2 of saturating CI ideal
    Completed step 2 of saturating input ideal
    Completed step 3 of saturating CI ideal
    Completed step 3 of saturating input ideal
    Completed step 4 of saturating CI ideal
    Completed step 4 of saturating input ideal
    Completed step 5 of saturating CI ideal
    Completed step 5 of saturating input ideal
    Completed step 6 of saturating CI ideal
    Completed step 6 of saturating input ideal
    Completed step 7 of saturating CI ideal
    Completed step 7 of saturating input ideal
    Completed step 8 of saturating CI ideal
    Completed step 8 of saturating input ideal
    Completed step 9 of saturating CI ideal
    Completed step 9 of saturating input ideal
    Completed step 10 of saturating CI ideal
    Completed step 10 of saturating input ideal
    Completed step 11 of saturating CI ideal
    Completed step 11 of saturating input ideal
    Completed step 12 of saturating CI ideal
    Completed step 12 of saturating input ideal
    Completed step 13 of saturating CI ideal
    Completed step 13 of saturating input ideal
    Completed step 1 of saturating sum
    Completed step 2 of saturating sum
    Completed step 3 of saturating sum
    Completed step 4 of saturating sum
    Completed step 5 of saturating sum
    Completed step 6 of saturating sum
    Completed step 7 of saturating sum
    Completed step 8 of saturating sum
    Completed step 9 of saturating sum
    Completed step 10 of saturating sum
    Completed step 11 of saturating sum
    Completed step 12 of saturating sum

    o31 : Ideal of PR

## See also

- spohnIdeal -- compute the ideal of the Spohn variety of a given game
- ciIdeal -- the ideal of a list of conditional independence statements
- intersectWithCImodel -- ideal of the intersection of a given variety with the conditional independence model
- conditionalIndependenceIdeal -- ideal of a list of conditional independent statements

## Ways to use spohnCI:

- `spohnCI(Ring,List,Graph)`
- `spohnCI(Ring,List,Graph,List)`
- `spohnCI(Ring,List,List)`
- `spohnCI(Ring,List,List,List)`

## For the programmer

The object spohnCI is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/GameTheory.m2:2169:0.