Formal analysis and algorithms for extracting coordinate systems of games.
ABSTRACT A two-player game given in the normal form of payoff matrix may be alternatively viewed as a list of the outcomes of binary interactions between two sets of entities, solutions and tests. The internal structure of such interactions may be characterized by an appropriately constructed coordinate system, which spatially arranges the solutions with respect to coordinates identified with tests, while preserving their mutual relations as given by the matrix. Of particular interest are coordinate systems of minimal size that give rise to the notion of dimension of a game. Following, we investigate such coordinate systems and relate their features to properties of partially ordered sets (posets), mostly to poset width and poset dimension. We propose an exact algorithm for constructing a minimal correct coordinate system and prove its correctness. In the experimental part, we compare the exact algorithm to the heuristics proposed in on a sample of random payoff matrices of different sizes to demonstrate that the heuristics heavily overestimates the size of the minimal coordinate system. Finally, we show how the game dimension relate to the a priori dimension of a game.
-
Article: A decomposition theorem for partially ordered sets
Ann. Math. Ser. 01/1950; 251:161 - 166. -
Conference Proceeding: DECA: dimension extracting coevolutionary algorithm.
Genetic and Evolutionary Computation Conference, GECCO 2006, Proceedings, Seattle, Washington, USA, July 8-12, 2006; 01/2006 -
Conference Proceeding: Finding all minimal unsatisfiable subsets.
Proceedings of the 5th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, 27-29 August 2003, Uppsala, Sweden; 01/2003
Page 1
Formal Analysis and Algorithms for Extracting
Coordinate Systems of Games
Wojciech Ja´ skowski and Krzysztof Krawiec
Abstract—A two-player game given in the normal form of
payoff matrix may be alternatively viewed as a list of the
outcomes of binary interactions between two sets of entities, so-
lutions and tests. The internal structure of such interactions may
be characterized by an appropriately constructed coordinate
system, which spatially arranges the solutions with respect to
coordinates identified with tests, while preserving their mutual
relations as given by the matrix. Of particular interest are
coordinate systems of minimal size that give rise to the notion
of dimension of a game. Following [1], we investigate such
coordinate systems and relate their features to properties of
partially ordered sets (posets), mostly to poset width and poset
dimension. We propose an exact algorithm for constructing a
minimal correct coordinate system and prove its correctness.
In the experimental part, we compare the exact algorithm to
the heuristics proposed in [1] on a sample of random payoff
matrices of different sizes to demonstrate that the heuristics
heavily overestimates the size of the minimal coordinate system.
Finally, we show how the game dimension relate to the a priori
dimension of a game.
I. INTRODUCTION
It is quite common in computational intelligence that
system’s change (learning, optimization) is driven by the
outcomes of interactions between some elementary entities.
Game-playing agents often learn by playing against opponent
strategies. Machine learning algorithms generate hypotheses
and test them on training examples. Evolutionary algorithms
guide the search by simulating the evolved designs in vari-
ous environmental conditions. What these scenarios have in
common is the underlying concept of a binary interaction
between a solution (strategy, hypothesis, design) and a test
(opponent strategy, training example, environmental condi-
tions, respectively).
Typically, a single interaction is not informative enough
to explain the underlying phenomenon or, in particular, to
guide the system’s change. Thus, the outcomes of individual
interactions are usually aggregated, leading to an overall
performance measure, like winning probability, accuracy of
classification, or fitness in the above examples. In this way,
however, the individual characteristics of particular solutions
and tests are inevitably lost. Also, using a fixed set of tests
brings the risk of biasing the method, known as overfit-
ting in machine learning. Recent results in coevolutionary
algorithms show that this has not have to be the case: it is
possible to infer and model the intrinsic structure of a set
of interactions by analyzing their mutual relations. There is
growing evidence that such structure may be exploited for the
W. Ja´ skowski and K. Krawiec are with the Institute of Computing Science,
Poznan University of Technology, Piotrowo 2, 60965 Pozna´ n, Poland; email:
{wjaskowski,kkrawiec}@cs.put.poznan.pl.
benefit of the learning method, for instance by accelerating
its convergence.
The form of structurization that seems to be especially
appealing relies on the concept of a coordinate system. This
paper we elaborate on the coordinate system defined by
Bucci [1], revisited in Section IV. Our major contribution
consists in identifying some of its properties and providing
an exact algorithm for creation of a minimal coordinate
system, presented in Section V. To this aim, we employ
the powerful formalism of posets [2], introduced in Section
II, and formalize the notion of game used in this paper in
Section III.
II. MATHEMATICAL BACKGROUND
Definition 1: Partially ordered set (poset, for short) is
a pair (X,P), where X is a set and P is a reflexive,
antisymmetric, and transitive binary relation on X. We call
X the ground set while P is a partial order on X.
We write x ≤ y in P when (x,y) ∈ P and x ≥ y in P
when (y,x) ∈ P. The notations x < y in P and y > x in P
mean x ≤ y in P and x �= y. When the context is obvious,
we will abbreviate x < y in P by just writing x < y.
Definition 2: For a poset (X,P), x,y ∈ X are compara-
ble (x ⊥ y) when either x ≤ y or x ≥ y; otherwise, x and
y are incomparable (x � y).
Definition 3: A poset (X,P) is called a chain if every
pair of elements from X is comparable. When (X,P) is a
chain, we call P a linear order on X. Similarly, we call a
poset an antichain if every pair of distinct elements from X
is incomparable. A chain (respectively, antichain) (X�,P�)
is a maximum chain (respectively, maximum antichain) in
(X,P), X�⊆ X,P�⊆ P if no other chain (respectively,
antichain) in (X,P) has more elements than it.
Definition 4: An x ∈ X is called a maximal element
(respectively, minimal element) in (X,P), if there is no
y ∈ X such that x < y (respectively, x > y). We denote the
set of all maximal elements of a poset (X,P) by max(X,P),
while by min(X,P) the set of all minimal elements.
Definition 5: The width of a poset (X,P), denoted as
width(X,P), is the number of elements in its maximum
antichain.
Theorem 1: (Dilworth [3]) If (X,P) is a poset and
width(X,P) = n, then there exists a partition of X =
C1∪C2∪···∪Cn, where Ciis a chain for i = 1,2,...,n. We
call it minimum chain partition, as it comprises the smallest
possible number of chains.
Note that an important consequence of Dilworth theorem
is that each Cicontains exactly one element of the maximum
978-1-4244-4815-9/09/$25.00 ©2009 IEEE201
Page 2
antichain.
Definition 6: Given a poset (X,P), a linear extension of
P is any superset of P that is a linear order on X.
Definition 7: The dimension of a poset (X,P), denoted
dim(X,P), is the smallest cardinal number1t for which
there exists a family R = {L1,L2,...,Lt} of linear ex-
tensions of P so that P =�R =�t
{a,b,c,d,e,f} and P = {(a,c),(a,d),(b,d),(b,e),(c,f),
(d,f),(a,f),(b,f)} ∪ {(x,x) : x ∈ X}. Some of its
elements are incomparable (e.g., c � d), thus it is not a
linear order. Examples of chains in (X,P) are a < c and
b < d < f. {a,e} is an example of antichain, and {c,d,e} is
a maximum antichain of this poset, thus width(X,P) = 3.
However, dim(X,P) = 2, because there exists a family of
two linear extensions L1 and L2, such that P = L1∩ L2,
namely L1= a < c < b < d < f < e and L2= b < e <
a < d < c < f, and no smaller family with this property
exists.
III. BASIC DEFINITIONS
Definition 8: In this paper by game we will mean a formal
object G = (S,T,g) that consists of a finite set S of solutions
(a.k.a. candidate solutions, e.g., [5]), a set T of tests, and an
interaction function g : S × T → R. We limit ourselves to
the case where the codomain of g is a binary set {0,1}. If
g(s,t) = 1, we say that solution s solves test t; otherwise,
we say that s fails test t.
Notice that in the perspective of game theory, g can be
interpreted as a payoff matrix, and S, T as sets of strategies.
For simplicity, we assume that both S and T are finite (G is
a finite game).
Definition 9: Solutions failed set SF(t) ⊆ S comprises
of all solutions that fail the test t. Dually, tests solved set
TS(s) ⊆ T comprises of all tests that are solved by solution
s. Notice also that t ∈ TS(s) ⇐⇒ s / ∈ SF(t) for all s ∈ S,
t ∈ T, since both sides hold if and only if s solves t.
Definition 10: Test t1 is weakly dominated by test t2,
written t1 ≤ t2, when SF(t1) ⊆ SF(t2) for t1,t2 ∈ T.
Dually, solution s1 is weakly dominated by solution s2,
written s1≤ s2, when TS(s1) ⊆ TS(s2) for s1,s2∈ S.
For brevity we use the same symbol ≤ for both relations,
as they are univocally determined by the context. Since ≤
inherits transitivity and reflexivity from ⊆, it is a preorder
in both S and T. To make ≤ a partial order we need to
assume that no two elements of one set are indiscernible
with respect to how they interact with the elements of the
other set, precisely: �t1,t2∈ T, t1�= t2: SF(t1) = SF(t2)
and �s1,s2∈ S, s1�= s2: TS(s1) = TS(s2). Under this
assumption s1= s2 ⇐⇒ TS(s1) = TS(s2) and, dually,
t1= t2 ⇐⇒ SF(t1) = SF(t2); thus (S,≤) and (T,≤)
are posets what eases our further arguments. In case some
indiscernible objects do exist (it can happen in practice), we
can merge them into one object without losing any important
features of G.
1Here we follow the original paper by Dushnick [4], since [2] requires
the dimension of poset to be a positive integer.
i=1Li.
(X,P)
Example 1: Considera posetwith
X
=
IV. COORDINATE SYSTEM
In the context of games, a coordinate system is a formal
concept that enables the solutions (and sometimes also the
tests) to be embedded into a multidimensional space. Of
particular interests are such definitions of coordinate systems,
in which the relations between solutions and tests (≤) are
reflected in spatial arrangement of their locations in the co-
ordinate system. Previous work suggests that this formalism
can help designing better coevolutionary algorithms [6] and
examining properties of certain problems and games [7].
There is no unique definition of coordinate system for
a game; currently we are aware of two formulations: by
Bucci et al. [1] and by de Jong and Bucci [6], [7]. When
investigating these and other definitions of coordinate sys-
tems, there are several aspects that should be considered:
i) size of minimal coordinate system for various games;
ii) computational complexity of the algorithm that builds
the minimal coordinate system from interactions; iii) the
existence of efficient heuristics for that purpose.
In this paper we try to analyze the historically first
definition of coordinate system introduced by Bucci et al. in
[1], so in following by coordinate system we mean the one
defined there. There are slight differences in our formulation,
which however do not affect any important properties of the
coordinate system. First, Bucci et al. worked with preordered
sets, but we, as pointed out earlier, limit our discussion to
posets. Second, in our formulation, the positions of solutions
with respect to an axis are shifted one test to the left, which
is more convenient.
For convenience, we introduce a formal element t0such
that g(s,t0) = 1 for all s ∈ S. Also, we define an operator
‘overline’ that augments a set of tests with t0, i.e.,¯ X =
X ∪ {t0}.
Definition 11: The coordinate system C for a game G is
a set of axes (Ai)i∈I, where each axis Ai⊆ T is linearly
ordered by <. I is an index set and the size of the coordinate
system, denoted by |C|, is the cardinality of I.
Definition 12: Position function pi:S →¯ Aiis a function
that assigns a test from¯ Aito solution s ∈ S in the following
way:
pi(s) = max{t ∈¯ Ai|g(s,t) = 1},
where the maximum is taken with respect to the relation <.
The test pi(s) is the position of s on the axis¯ Ai.
Definition 13: The coordinate system C is correct for a
game G iff for all s1,s2∈ S
s1≤ s2 ⇐⇒ ∀i∈Ipi(s1) ≤ pi(s2)
Lemma 1: Notice that in a correct coordinate system s1=
s2 implies both ∀ipi(s1) ≤ pi(s2) and ∀ipi(s2) ≤ pi(s1),
and consequently ∀ipi(s1) = pi(s2). The proof of converse
implication is similar. In result, in the correct coordinate
system for all s1,s2∈ S we have
s1= s2 ⇐⇒ ∀i∈Ipi(s1) = pi(s2).
(1)
2022009 IEEE Symposium on Computational Intelligence and Games
Page 3
This also leads to
s1< s2 ⇐⇒ ∀i∈Ipi(s1) ≤ pi(s2) ∧ ∃j∈Ipj(s1) < pj(s2).
(2)
To make the notation more convenient we will write s1≤C
s2 to denote that pi(s1) ≤ pi(s2) holds for i ∈ I in C.
Similarly, we will use s1<Cs2, s1=Cs2and s1�Cs2.
Let pi(s) = t. From the definition of position function
pi as the maximal test t for which g(s,t) = 1, it follows
immediately that g(s,t1) = 0 for each t1 > t. On the
other hand, tests on the axis Aiare linearly ordered by the
relation <, which means that for each t1,t2∈ Ai, t1< t2
when SF(t1) ⊂ SF(t2). Thus, according to the definition
of SF(t), g(s,t2) = 1 for each t2 < t. Consequently, if
Ai= {t1< t2< ··· < tki} is an axis and pi(s) = tj, we
can picture s’s placement on Aiin the following way ([1]):
g(s,t)
¯ Ai
1
t0
1
t1
...
...
1
tj
0
...
...
0
tj+1
tki
Definition 14: A correct coordinate system C is a mini-
mum coordinate system for G if there does not exist any
correct coordinate system for G with smaller size.
Definition 15: The dimension dimB(G) of a game G is
the size of the minimum coordinate system for G.
A. Example
Let us consider an exemplary game from [7], i.e., the
misère version of game of Nim [1 3] with two piles of sticks:
one containing a single stick and one containing three sticks.
The exact rules of this game are not important here, but an
interested reader is referenced to [7].
Table I
THE PAYOFF MATRIX FOR NIM [1 3]. AN EMPTY CELL MEANS 0.
t1
t2
t3
t4
t5
t6
t7
t8
t9
s1
s2
s3
s4
s5
s6
1
11111
1
1
1
1
1
1
1
1111
1
1
1
1
1
1
1
1
11
The payoff matrix of Nim [1 3] is shown in Table I.
There is a total of 144 strategies, but merging indiscernible
strategies reduces the number of first player strategies to 6
(candidate solutions s1−s6) and second player strategies to
9 (tests t1− t9).
t9
t8
t2
t4
s1
s2
s3
s4
s5
s6
Figure 1.
The minimal coordinate system for the game shown in Table I
Figure 1 presents the minimal coordinate system for
this game. The initial set of nine tests was com-
pressed to only two underlying objectives (axes) com-
posed of only four tests. Note also, that width(T,≤
) = 3 and the poset partition consists of the following
chains: (t9,t3,t6),(t8,t2,t5),(t7,t1,t4). On the other hand,
dim(S,≤) = 2.
V. PROPERTIES OF COORDINATE SYSTEM
In this section, we prove several facts about the coordinate
system defined above. This will allow us to better understand
this mathematical object, and, eventually, will help to con-
struct algorithms constructing coordinate system for a given
game.
Let us observe that the Definition 13 does not state that
all tests from T have to be used somewhere in C.
Definition 16: Coordinate system C = (Ai)i∈I system is
complete if�
have to be complete. However, see the following proposition.
Proposition 1: Every complete coordinate system is cor-
rect.
Proof: Let us use a more compact notation of ti
pi(s1) and ti
∀i∈Iti
(⇐) Assume ∀i∈Iti
containing both ti
tests t ∈ Ai such that t ≤ ti
t ∈ Ai such that t ≤ ti
complete, ∪i∈I
∪i∈I
tests on axis Tithat are solved by s2are also solved by s1and
this argument holds for any i ∈ I. Thus TS(s1) ⊆ TS(s2);
therefore, by the definition, s1≤ s2, as we set out to show.
(⇒) Assume to the contrary that s1≤ s2and it is false
that ∀i∈Iti
It follows that ti
However, from s1 ≤ s2 we know that TS(s1) ⊆ TS(s2),
thus if ti
s1,s2∈ S. The contradiction completes the proof.
Proposition 2: Let C = (Ai)i∈I be a correct coordinate
system. If a test t lies on two different axes, i.e., t ∈ Aaand
t ∈ Ab, a �= b, we can remove it from one of the axes and
the coordinate system will remain correct.
Proof: Let C�be a coordinate system resulting from
removing t from Aa and p�
removing t from Aa. First, observe that C�is a coordinate
system, since Aa\ {t} is totally ordered as Aais. Now, we
will show that C�is correct.
Let¯
Aa= {t0< ··· < t�< t < ··· < tka}. Removing t
from Aawill produce the following definition of p�
�
pi(s)
C is correct, thus s1≤ s2 ⇐⇒ ∀ipi(s1) ≤ pi(s2) for all
s1,s2∈ S. To prove that C�is correct we have to show that
s1≤ s2 ⇐⇒ ∀ip�
i∈IAi= T.
Neither a correct coordinate system nor a minimum one does
1=
2= pi(s2). We have to prove that s1≤ s2 ⇐⇒
2for all s1,s2∈ S.
1≤ ti
1and ti
1and s2 solves all tests
2. Since the coordinate system is
�t ∈ Ai|t ≤ ti
1≤ ti
2. Let us consider an axis Ai,
2. We know that s1 solves all
1
�
= TS(s1) and, similarly,
= TS(s2). ti
�t ∈ Ai|t ≤ ti
2
�
1≤ ti
2implies that all
1≤ ti
2. Thus, there exists such axis Aithat ti
1is solved by s1, but it is not solved by s2.
2< ti
1.
1is solved by s1then it is also solved by s2for all
ibe a position function after
i:
p�
i(s) =
t�
i = a ∧ pi(s) = t
otherwise
(3)
i(s1) ≤ p�
i(s2) for all s1,s2∈ S.
2009 IEEE Symposium on Computational Intelligence and Games203
Page 4
(⇒) Suppose that s1≤ s2. Thus, ∀ipi(s1) ≤ pi(s2) and
from (3) immediately follows that ∀i�=ap�
it remains to prove that p�
(3) and that pa(s1) ≤ pa(s2), consider four possible cases
for pa(s1) and pa(s2):
1) pa(s1) �= t and pa(s2) �= t: Thus p�
p�
p�
2) pa(s1) = t and t < pa(s2). Thus p�
p�
follows p�
3) pa(s1) < t and pa(s2) = t. Thus p�
so p�
p�
4) pa(s1) = t and pa(s2) = t. Thus p�
p�
In all cases p�
∀ip�
(⇒) Suppose that ∀ip�
we have ∀i�=api(s1) ≤ pi(s2) and it remains to prove that
pa(s1) ≤ pa(s2). Having in mind (3) and that p�
p�
1) p�
and pa(s2) = p�
follows pa(s1) ≤ pa(s2).
2) p�
and pa(s2) = p�
t ≤ pa(s2). Thus, pa(s1) ≤ pa(s2).
3) p�
and pa(s2) ∈ {t�< t}. From pa(s1) < t�and t�≤
pa(s2), it follows pa(s1) < pa(s2).
4) p�
a) pa(s1) = t�∧pa(s2) = t�. Thus, pa(s1) = pa(s2).
b) pa(s1) = t ∧ pa(s2) = t. Thus, pa(s1) = pa(s2).
c) pa(s1) = t�∧pa(s2) = t. Thus, pa(s1) < pa(s2).
d) pa(s1) = t ∧ pa(s2) = t�. From t�< t it
follows pa(s2) < pa(s1). It means that s1solves
t and s2 does not. We know, however, that t
lies on two axes: Aa and Ab. Thus it must be
also that pb(s2) < pb(s1). But, earlier we stated
that ∀i�=api(s1) ≤ pi(s2). Thus this case cannot
happen.
In all cases pa(s1) ≤ pa(s2), thus we have ∀ipi(s1) ≤
pi(s2). Since C is correct, the latter implies s1≤ s2, what
finishes the proof.
Notice that removing any test from C does not increase
the size of C. Proposition 2 implies that for every correct
coordinate system C, there is a coordinate system C�such that
every test appears on at most one axis in C�and |C�| ≤ |C|.
Corollary 1: In order to find the dimension for G it is
enough to search the space of such a coordinate systems C
that every test from T appears on at most one axis in C.
For convenience, denote∪C =�
before solution s2, written s1 <t s2, if g(s1,t) = 0 and
g(s2,t) = 1. Notice that s1<ts2implies s2≮ts1.
i(s1) ≤ p�
a(s2). Having in mind
i(s2) and
a(s1) ≤ p�
a(s1) = pa(s1) and
a(s2) = pa(s2). So from pa(s1) ≤ pa(s2) it follows
a(s1) ≤ p�
a(s2).
a(s1) = t�and
a(s2) = pa(s2). From p�
a(s1) < p�
a(s1) = t�< t < p�
a(s2) it
a(s2).
a(s1) = pa(s1) < t,
a(s1) ≤ t�and p�
a(s2).
a(s2) = t�; that implies p�
a(s1) ≤
a(s1) = t�and
a(s2) = t�, so p�
a(s1) ≤ p�
i(s1) ≤ p�
a(s1) = p�
a(s2), therefore, s1 ≤ s2 implies
a(s2).
i(s2).
i(s1) ≤ p�
i(s2). Thus, from (3)
a(s1) ≤
a(s2):
a(s1)
a(s2) it
a(s2), consider four possible cases for p�
a(s1) �= t�and p�
a(s1) and p�
a(s2) �= t�. Thus pa(s1) = p�
a(s2). So from p�
a(s1) ≤ p�
a(s1) = t�and t�< p�
a(s2). Thus pa(s1) ∈ {t�< t}
a(s2). From t�< pa(s2) it follows that
a(s1) < t�and p�
a(s2) = t�. Thus pa(s1) = p�
a(s1)
a(s1) = t�and p�
a(s2) = t�. There are four subcases:
i∈IAifor C = (Ai)i∈I.
Definition 17: We will say that test t orders solution s1
Theorem 2: Let C = (Ai)i∈I be a correct coordinate
system and let U =�
a correct coordinate system if and only if
�s1<ts2 =⇒ ∃t1∈U/{t}s1<t1s2
Proof: First, observe that C�is a coordinate system since
after removing t all axes remain linearly ordered.
(⇒) We will prove that if C�is correct then (4) is
satisfied. Suppose to the contrary that C�is correct and
(4) is not satisfied. It means that ∃s1,s2 ∈ S such that
s1 <t s2∧ �t1∈U/{t}s1 <t1s2. From s1 <t s2 it follows
s1< s2or s1� s2, thus s1� s2. On the other hand, from
�t1∈U/{t}s1<t1s2follows that s1≥C� s2and, since C�is
correct, s1≥ s2, what contradicts earlier statements.
(⇐) We will prove that if (4) is satisfied then C�is correct.
According to the definition of correctness (Definition 13), it
is enough to prove that for each pair (s1,s2) the relation
between s1and s2in C will be preserved in C�, i.e., s1≤C�
s2 ⇐⇒ s1≤Cs2.
First let us prove that removal of t does not affect the ≤
relation, i.e., �s1,s2∈ S such that s1≤C s2 =⇒ s1�C�
s2∨ s1≥C� s2. For the right hand side of this implication
to be true, there would have to exist an axis A�
that pj(s2) < pj(s1). This implies the existence of t�∈ A�
such that pj(s2) < t�and pj(s1) = t�. From the definition
of position function (12) it follows that g(s1,t�) = 1, and
from (12) and the linear ordering of tests on A�
that g(s2,t�) = 0. This in turn implies that t�∈ TS(s1) ∧
t�/ ∈ TS(s2), and thus TS(s1) �⊆ TS(s2), which together
with s1≤Cs2contradicts the correctness of C. Thus, s1≤C
s2 =⇒ s1≤C� s2.
Now let us prove that the � relation is preserved, i.e., s1�C
s2 =⇒ s1�C� s2despite removing t. Let us consider two
cases for the premise of (4):
1) s1<ts2: Given s1�Cs2, there must exist at least one
axis Ai∈ C such that pi(s1) < pi(s2) and at least one
axis Aj∈ C such that pj(s1) > pj(s2). Because of the
linear ordering, the Aj axes cannot contain t, so the
ordering of s1and s2on such axes remains unchanged
under the removal of t. For the Aiaxes, after removing
t, either pi(s1) < pi(s2) or pi(s1) ≥ pi(s2) holds.
In the former case, ordering of s1 and s2 on Ai is
preserved in C�. In the latter case not, but according
to (4) there exists t1 such that s1<t1s2, thus there
must exist an axis Aksuch that t1∈ Akand pk(s1) <
pk(s2). Thus, the resulting coordinate system C�will
contain at least one axis such that pi(s1) < pi(s2) and
at least one axis for which pj(s1) > pj(s2), hence
s1�C� s2.
2) ¬s1<ts2. For each axis Ai∈ C containing t (t ∈ Ai)
there are three possibilities:
a) If pi(s1) = pi(s2), then removal of t from Ai
cannot change the ordering of s1and s2, whatever
their relative position w.r.t. t.
i∈IAi. Let C�be a coordinate system
resulting from removing a test t from some axis in C. C�is
∀s1,s2∈S
�
(4)
j∈ C�such
j
jit follows
2042009 IEEE Symposium on Computational Intelligence and Games
Page 5
b) If pi(s1) > pi(s2), then removing t from Ai
can affect the ordering of s1and s2(i.e., cause
pi(s1) ≤ pi(s2)) only if pi(s1) = t. This however
implies that s2<ts1, which boils down to Case
1.
c) If pi(s1) < pi(s2), then from ¬s1 <t s2 it
follows that either t ≤ pi(s1) or pi(s2) < t. In
both cases, there exists t�∈ Ai, t��= t such that
pi(s2) = t�, thus g(s2,t�) = 1, and g(s1,t�) = 0.
Therefore, after removing t, t�will still guarantee
preserving the order of s1and s2.
In this way we proved that s1≤Cs2 =⇒ s1≤C� s2and
s1 �C s2
either s1 ≤C� s2 or s1 ≥C� s2 or s1 �C� s2, the converse
implication has to hold too, so s1≤Cs2 ⇐⇒ s1≤C� s2,
which concludes the proof.
Proposition 3: Let C = (Ai)i∈I be a minimal coordinate
system for G. Let U = ∪C. Then
dimB(G) = width(U,≤)
Proof: By definition of axis, each (Ai,≤), where
Ai ∈ C, i ∈ I, is a chain. C is a minimal coordinate
system, so by Proposition 2, we can assume without loss
of generality that each test occurs in at most one axis in
C. Hence, C is a chain partition of (U,≤). According to
Dilworth theorem, width(U,≤) is the number of chains in
the minimum chain partition of (U,≤), thus |C| is at least
width(U,≤); therefore, |C| = dimB(G) ≥ width(U,≤).
Let D = (Di)i=1...n be a minimum partition of (U,≤)
into chains, hence U = ∪D and n = width(U,≤). Let E =
(Ei)i=1...m(m ≥ n) be such a complete coordinate system
for G that Di ⊆ Ei for i = 1...n. E is complete, thus
it is also correct (by Proposition 1). Let us remove some
tests from the axes of E in such a way that E will remain
correct. Namely, for all i ∈ 1...m, remove every test t ∈ Ei
from Eisuch that t / ∈ Di. If such a t occurs on more than
one axis of E, we can safely remove it by Proposition 2;
otherwise, notice that t / ∈ U, since t / ∈ Di and, according
to Theorem 2, it can also be safely removed (if it could not
be removed, then it would be an element of U, because C
is correct). After this process is completed, the axes Ei= ∅
where i > n are empty, because Di = ∅, so they can be
removed from E. Then, m = n, Ei= Difor all i = 1...n,
hence D =E are correct. We have proved that the minimum
chain partition of U is a correct coordinate system for G,
thus dimB(G) ≤ |E| = n = width(U,≤), what finishes the
proof.
It is interesting to determine the upper bound for dimB(G).
Proposition 4: For every game G
dimB(G) ≤ width(T,≤)
Proof: Let C = (Ai)i∈Ibe a minimal coordinate system
for G. Let U = ∪C. Obviously, U ⊆ T, thus width(U,≤) ≤
width(T,≤). By Proposition 3 dimB(G) = width(U,≤),
hence we have dimB(G) ≤ width(T,≤).
=⇒
s1 �C� s2. Because for any pair (s1,s2)
(5)
(6)
Algorithm 1 The heuristics for extracting coordinate system.
1: procedure HEURISTICS(S,T,g)
2:
U ←T
3:
for distinct t,t1,t2∈ U do
4:
if SF(t) = SF(t1) ∪ SF(t2) then
5:
T ← T \ {t}
6:
end if
7:
end for
8:
C ← ∅
9:
for t ∈ T sorted by |SF(t)| do
10:
found ← false
11:
for Ti∈ C do
12:
if max((Ti,≤)) < t then
13:
Ti← Ti∪ {t}
14:
found ← true
15:
break
16:
end if
17:
end for
18:
if !found then
19:
C ← C ∪ {{t}}
20:
end if
21:
end for
22:
return C
23: end procedure
� Add t to existing axis
� Create a new axis
VI. ALGORITHMS
In this section, we show two algorithms constructing
correct coordinate systems.
A. The Heuristics
The first algorithm for coordinate system extraction was
given by Bucci et al. [1]. This heuristic does not guarantee
finding the minimal coordinate system.
The pseudocode of the algorithm is shown as Algorithm 1.
In the first stage, the algorithm removes from T the tests that
are combinations of two other tests in the sense of solutions
they fail (lines 2-7). In the second stage, it greedily finds an
axis to place a test on, ensuring that at every step axes remain
linearly ordered (line 12). To this aim, it first tries to place a
test on an existing axis (lines 11-17); if this is impossible, it
creates a new axis (lines 18-20). Tests are considered in the
ascending order with respect to the number of solutions they
fail (line 9), so that the “best-performing” tests are embedded
at the end. Note that the poset (Ti,≤) in line 12 is a non-
empty chain, so max(Ti,≤) contains exactly one test, which
is being compared with t.
In [1] there was no formal proof that the heuristics is
correct, so we provide it here.
Proposition 5: For a given game G, the Algorithm 1
produces a correct coordinate system C.
Proof: Observe that skipping the first stage of the
Algorithm 1 results in a complete coordinate system, which
must be correct by Proposition 1. Thus, it is enough to show
that removing a test t such that SF(t) = SF(t1) ∪ SF(t2),
where t,t1,t2 are distinct and t,t1,t2∈ ∪C, preserves the
2009 IEEE Symposium on Computational Intelligence and Games205
Page 6
correctness of C. From SF(t) = SF(t1)∪SF(t2) it follows
that
s ∈ SF(t) =⇒ s ∈ SF(t1) ∨ s ∈ SF(t2)
s ∈ SF(t1) or s ∈ SF(t2) implies s ∈ SF(t), thus
s / ∈ SF(t) =⇒ s / ∈ SF(t1) ∧ s / ∈ SF(t2)
Now, consider a pair s1,s2∈ S such that s1<ts2; there-
fore s1∈ SF(t) and s2 / ∈ SF(t). From the former, by (7)
and without loss of generality, it follows that s1∈ SF(t1).
On the other hand, the latter implies s2 / ∈ SF(t1) (by (8)).
Therefore, g(s1,t1) = 0 and g(s2,t1) = 1, what implies
s1<t1s2. Since t1�= t, test t1orders s1before s2. Thus,
according to Theorem 2, we can safely remove t and C will
remain correct.
To complete the proof, notice that the tests can be removed
from C in a top-down order, i.e., we remove a test t1from
the coordinate system C only when there do not exist any
t2,t3such that SF(t1)∪SF(t2) = SF(t3), where t1,t2,t3
are distinct elements of ∪C; otherwise we remove t3 first.
In this way we guarantee that all tests t such that SF(t) =
SF(t1) ∪ SF(t2), where t,t1,t2are distinct elements of T,
will be removed, as it is the case in the algorithm.
(7)
(8)
B. The Exact Algorithm
In following we propose an exact algorithm that constructs
a minimal coordinate system for a given game and thus
determines its dimension. Shown in Algorithm 2, it has
exponential complexity, and is founded on three results
proved in this paper:
1) Corollary 1, which says that it is enough to consider
the coordinate systems in which every test appears on
at most one axis
2) Theorem 2 that determines which tests can be safely
removed from T.
3) Proposition 3, which implies that when we cannot
remove any test from T, finding the chain partition
of (T,≤) gives the dimension of G.
The algorithm first computes U, the family of all minimal
correct subsets of T, i.e., such sets T�⊆ T that there
exists such a correct coordinate system C that ∪C = T�
and no T��⊂ T�with this property exists. The procedure
ALLMINIMALSUBSETS recursively visits the subsets of T,
and whenever it finds a minimal one, it appends it to U (line
25) and continues the search. Its recursion tree is consistent
with subset inclusion, i.e., the recursive calls visit the subsets
of the current set. Testing whether t can be removed from L
(CANBEREMOVED) relies on Theorem 2. By maintaining the
set R of tests not yet considered for removal at a given level
of recurrence (lines 15-16), the procedure never visits any
subset of T twice. Recursion returns when no more tests can
be removed and some parts of the search tree are effectively
never considered. Note that reaching a leaf of recursion tree
(detected using the isLeaf flag) does not guarantee that L is
a minimal correct subset: we still have to check individual
elements of L for removal (line 24). This method is similar
to the one described in [8].
Algorithm 2 The exact algorithm.
1: procedure EXACT(S,T,g)
2:
U ← AllMinimalSubsets(T,T)
3:
C ← ∞
4:
for U ∈ U do
5:
C�← ChainPartition(U,≤)
6:
if |C�| < |C| then
7:
C ← C�
8:
end if
9:
end for
10:
return C
11: end procedure
12:
13: procedure ALLMINIMALSUBSETS(L,R)
14:
isLeaf ← true
15:
for t ∈ R do
16:
R ← R \ {t}
17:
if CanBeRemoved(t) then
18:
isLeaf ← false
19:
L ← L \ {t}
20:
AllMinimalSubsets(L,R)
21:
L ← L ∪ {t}
22:
end if
23:
end for
24:
if isLeaf and �t∈LCanBeRemoved(t) then
25:
yield L
26:
end if
27: end procedure
28:
29: procedure CANBEREMOVED(t)
30:
Works according to Eq. (4)
31: end procedure
32:
33: procedure CHAINPARTITION((X,P))
34:
Returns a set of chains C
35: end procedure
In the second stage, the algorithm computes chain partition
C for every element of U that is the coordinate system (see
the proof of Proposition 3), and returns the one with minimal
number of axes |C|. Partitioning a poset (P,X), |X| = n into
chains is can be solved in O(n3) (c.f. [9], [10]) using a max-
flow computation on a bipartite network with unit capacities.
This result can be further improved to O(n5/2) with a
Hopcroft and Kart algorithm [11] and to O(n5/2/√logn)
by a method introduced in [12]. Recognizing if the number
of chains is at most k is even faster: O(n2k2) [10].
As the first stage is exponential anyway, we implemented
CHAINPARTITION using the simplest O(n3) algorithm. As
a consequence, the overall worst-case time complexity of
Algorithm 2 is O(2|T||T|4|S|). The consoling fact is that the
elements of U can be independently processed one by one,
so it is not necessary to maintain all of them simultaneously,
what results in polynomial space complexity.
2062009 IEEE Symposium on Computational Intelligence and Games
Page 7
0
10
20
30
40
value
246 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
problem size
dimB(G) (exact)
dimB(G) (heuristic)
Figure 2.
Heuristics vs. exact algorithm on a random game
VII. EXPERIMENTS
A. Dimension of a random game
In the first experiment, we compared the heuristics with
our exact algorithm (Exact for short) on random games of
different sizes n = 2...40. A problem of size n is given
by a random payoff matrix n × n (n tests and n solutions),
with each interaction outcome drawn at random with equal
probability. The dimensions of coordinate systems produced
by both algorithms are shown in Fig. 2. Each data point
represents the average dimension for 20 random matrices for
each problem size. The 95% confidence intervals were also
plotted.
Figure 2 gives rise to several interesting observations.
The exact algorithm performs clearly much better than the
heuristics, which hardly does any compression. The gap
between the algorithms grows rapidly with n, so that the
exact algorithm is nearly three times better for n = 32. The
compression provided by the exact algorithm is impressive,
given that incomparability of all pairs of test becomes
almost certain for large random matrices. Note also that the
logarithm-like shape of Exact curve suggests, the compres-
sion could be even higher for larger n. On the other hand, the
heuristics is obviously much faster than the exact algorithm,
that is why we could not produce results for n > 32.
B. Compare-on-one
In the second experiment we considered the compare-
on-one game defined in [13]. In this game, strategies are
represented as real-number vectors of length d, which we
call here the a priori dimension of the game. The interaction
function for solution s and test t is defined in two steps. First,
t determines the vector position m to be used for comparison
as m = argmaxit[i], where t[i] denotes the i-th element of
vector t. Then,
�
0
This time, along with the exact coordinate system dimen-
sion dimB(G), we calculated the width of the poset (T,≤)
and dimension of the poset (S,≤). The width was computed
g(s,t) =
1
if s[m] ≥ t[m]
otherwise
0
1
2
3
value
2468 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
problem size
dimB(G) (exact)
width(T,≤)
dim(S,≤)
Figure 3.
Compare-on-one, dimension d = 2
0
1
2
3
value
2468 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
problem size
dimB(G) (exact)
width(T,≤)
dim(S,≤)
Figure 4.
Compare-on-one, dimension d = 3
using the max-flow algorithm on a bipartite network with unit
capacities, while for poset dimension we used the algorithm
from [14]. We investigated how, for a given d, the above
three properties of coordinate systems change for a growing
size of S and T, |S| = |T| = n, by randomly generating n
test strategies and n solution strategies. Other settings of this
experiment were the same as in the previous one.
The results for d = 2 and d = 3 are shown in Figures 3
and 4. Clearly, the game dimension approaches a priori di-
mension d with growing n. This solidifies the finding of [1],
where only the heuristics for dimBwas used. Interestingly,
for for this game also both width and poset dimension seem
to converge towards d.
C. Compare-on-all
In the last experiment we examined the compare-on-
all game [13]. Strategies are represented as vectors as in
compare-on-one, but the interaction function is defined as
�
0
g(s,t) =
1
if ∀is[i] ≥ t[i]
otherwise
Notice that this game is transitive.
The results for this problem are shown in Figs. 3 (d = 2)
and 4 (d = 4). This time, dimB fails at approximating the
2009 IEEE Symposium on Computational Intelligence and Games207
Page 8
0
2
4
6
8
value
2468 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
problem size
dimB(G) (exact)
width(T,≤)
dim(S,≤)
Figure 5.
Compare-on-all, dimension d = 2
0
2
4
6
8
10
value
2468 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
problem size
dimB(G) (exact)
width(T,≤)
dim(S,≤)
Figure 6.
Compare-on-all, dimension d = 4
a priori game dimension d. Even worse, it does not seem to
saturate with growing n.
In [1] it was found that for this problem the heuristics
algorithm was constantly overestimating the a priori dimen-
sion of this game. There could be two possible reasons for
it: i) the algorithm was only an heuristics; ii) this definition
of a coordinate system does not fit the definition of the a
priori dimension for this game. Basing on our results, we
can reject the first hypothesis and accept the second one.
VIII. SUMMARY
The performance gap that spans the heuristics method
[1] and the exact one clearly deserves a better approximate
algorithm. The theoretical results presented here suggest the
possibility of devising a better heuristics, i.e., such that
more effectively exploits the trade-off between the quality
of approximating dimB(G) and time complexity. For such a
new heuristics, it would be highly desirable to have an upper
bound on estimated dimB(G).
The objective of this study was to structure a game by
embedding its elements into a correct coordinate system of
minimal dimension. In this pursuit, we abstracted from any
particular search problem and definition of solution concept.
Incorporating the exact algorithm or an effective heuristics
in tasks mentioned in Introduction, like learning a game
strategy, machine learning from examples, or evolutionary
design, could benefit it by making the search more well-
informed. An example of interesting consequence of making
a search algorithm aware of interaction structure is the
possibility of discarding those interactions that turn out to
be superfluous as they do not determine solution’s position
in the minimal coordinate system. This and related concepts
of exploiting coordinate systems of games definitely deserve
further investigation.
ACKNOWLEDGMENTS
This work was supported in part by Ministry of Science
and Higher Education grant # N N519 3505 33. Wojciech
Ja´ skowski gratefully acknowledges a scholarship from Sec-
toral Operational Programme ’Human Resources Develop-
ment’, Activity 8.2 co-financed by the European Social Fund
European Union and the Government of Poland.
REFERENCES
[1] A. Bucci, J. B. Pollack, and E. de Jong, “Automated extraction
of problem structure,” in Genetic and Evolutionary Computation
– GECCO-2004,PartI, ser.
Science, K. D. et al., Ed., vol. 3102.
Springer-Verlag, 26-30 Jun. 2004, pp. 501–512. [Online]. Available:
http://link.springer.de/link/service/series/0558/bibs/3102/31020501.htm
[2] W. Trotter, Combinatorics and partially ordered sets: Dimension
theory. Johns Hopkins University Press, 1992.
[3] R. Dilworth, “A decomposition theorem for partially ordered sets,”
Annals of Mathematics, pp. 161–166, 1950.
[4] B. Dushnik and E. W. Miller, “Partially ordered sets,” American
Journal of Mathematics, vol. 63, no. 3, pp. 600–610, 1941. [Online].
Available: http://www.jstor.org/stable/2371374
[5] A. Bucci and J. B. Pollack, “A mathematical framework for the study
of coevolution,” in Foundations of Genetic Algorithms 7, K. A. De
Jong, R. Poli, and J. E. Rowe, Eds. San Francisco: Morgan Kaufmann,
2003, pp. 221–236.
[6] E. D. de Jong and A. Bucci, “DECA: dimension extracting
coevolutionary algorithm,” in GECCO 2006: Proceedings of the 8th
annual conference on Genetic and evolutionary computation, M. C.
et al., Ed. Seattle, Washington, USA: ACM Press, 2006, pp. 313–320.
[Online]. Available: http://doi.acm.org/10.1145/1143997.1144056
[7] E. de Jong and A. Bucci, “Objective Set Compression. Test-Based
Problems and Multiobjective Optimization,” in Multiobjective Problem
Solving from Nature: From Concepts to Applications, J. K. et al., Ed.
Berlin: Springer, 2008, pp. 357–376.
[8] M. G. de la Banda, P. J. Stuckey, and J. Wazny, “Finding all minimal
unsatisfiable subsets,” in PPDP ’03: Proceedings of the 5th ACM
SIGPLAN international conference on Principles and practice of
declaritive programming. New York, NY, USA: ACM, 2003, pp.
32–43.
[9] R. Möhring, “Algorithmic aspects of comparability graphs and interval
graphs,” Graphs and Order: The Role of Graphs in the Theory of
Ordered Sets and Its Applications, pp. 41–102, 1984.
[10] S. Felsner, V. Raghavan, and J. Spinrad, “Recognition algorithms for
orders of small width and graphs of small Dilworth number,” Order,
vol. 20, no. 4, pp. 351–364, 2003.
[11] J. Hopcroft and R. Karp, “An$ nˆ{5/2}$ Algorithm for Maximum
Matchings in Bipartite Graphs,” SIAM Journal on Computing, vol. 2,
p. 225, 1973.
[12] H. Alt, N. Blum, K. Mehlhorn, and M. Paul, “Computing a maximum
cardinality matching in a bipartite graph in time O n 1.5 m/log n,”
Information Processing Letters, vol. 37, no. 4, pp. 237–240, 1991.
[13] E. D. de Jong and J. B. Pollack, “Ideal Evaluation from Coevolution,”
Evolutionary Computation, vol. 12, no. 2, pp. 159–192, Summer 2004.
[14] J. Yánez and J. Montero, “A poset dimension algorithm,” J. Algo-
rithms, vol. 30, no. 1, pp. 185–208, 1999.
Lecture Notes
Seattle, WA, USA:
inComputer
2082009 IEEE Symposium on Computational Intelligence and Games
View other sources
Hide other sources
-
Available from Wojciech Jaśkowski · 19 Nov 2012
-
Available from psu.edu