Combinatorial Structures to Construct Simple Games and Molecules

We connect three different topics: combinatorial structures, game theory and chemistry. In particular, we establish the bases to represent some simple games, defined as influence games, and molecules, defined from atoms, by using combinatorial structures. First, we characterize simple games as influence games using influence graphs. It let us to modeling simple games as combinatorial structures (from the viewpoint of structures or graphs). Second, we formally define molecules as combinations of atoms. It let us to modeling molecules as combinatorial structures (from the viewpoint of combinations). It is open to generate such combinatorial structures using some specific techniques as genetic algorithms, (meta-) heuristics algorithms and parallel programming, among others.


Introduction
The goal of this paper is to establish a new connection among different topics.We consider combinatorial structures defined from combinatorial classes and admissible operators [23], [8], [9].We also dealt with simple games and influence games based on the spread of influence in graphs [17], [18], [2], [26].Next, we consider how to generate molecules from combinatorial structures [6], [7].Finally, weestablish new problems that relate some topics as combinatorics, game theory or chemistry.
Combinatorial structures let us represent some influence games (depending on the considered graph) and, consequently, let us represent simple game (because any influence game have an associated simple game and viceversa).In a similar way, combinatorial structures let us represent combinations of atoms, that is, molecules.
First section describes combinatorial structures, second section introduces simple and influence games.Afterwards, we give new results about representing simple (as influence games) and molecules (as combinations of atoms).Finally, we make some considerations about future work.

Combinatorial Structures
In this section we give the formal definition of admissible combinatorial classes which define combinatorial structures.We also consider the corresponding generating functions to count how many objects there are of each size.Finally, we introduce the so-called admissible operators to define the more useful combinatorial structures.

Combinatorial Classes and Generating Functions
Most of the material can be found in [23], [8], [9].However, to make this subsection more self-contained and to fix notation, we will briefly introduce some basic definitions and concepts.We begin with the formal definition of a combinatorial class.

Definition 1. A combinatorial class is a pair (A,|•| A ) such that A is a finite denumerable set and |•| A : A→N is a size function such that, for all n≥0, A n ={α2A | | α | A =n} is finite.
We use normal letters (A, B, C,...) to denote combinatorial classes.Also, we use subscripts under a class' name to denote the subset of objects of that class A with a given size n, for example, A n .In a similar way, A >n , A <n , A ≥n and A ≤n denote the subset of objects of that class A with size larger, smaller, larger or equal and smaller or equal than n.Moreover, if the class is implied, we will drop the subscript in |•| A .Shall no confusion arise, we will use the same name for the class and for the set of objects belonging to that class.
Typically, complex objects in a given class are composed of smaller units, called atoms and generically denoted by Z. Atoms are objects of size 1 and the size of an object is the number of atoms it contains.For instance, a string is composed by the concatenation of symbols, where each of these is an atom, and the size of the string is its length or the number of symbols it is composed of.Similarly, a tree is built out of nodes -its atoms-and the size of the tree is its number of nodes.Objects of size 0 are normally denoted by ϵ 1 .
Two main types of combinatorial classes can be defined depending on whether the atoms that compose a given object can be distinguished or not.In the former case, we say that the class is labelled whereas in the latter we say the class is unlabelled.Examples of labelled classes include permutations, Cayley trees, functional graphs and a host of other important combinatorial classes.A valid standard labelling of an object of size n is a bijection from the object's atoms to [1..n], or equivalently, a permutation of size n.
As it will become apparent, an efficient solution to the problem of counting, namely, given a specification of a class and a size, compute the number of objects with the given size, is fundamental for our approach to the iteration, unranking and ranking problems.Hence, we turn our attention to so-called admissible combinatorial classes.Those are constructed from admissible operators over classes that yield new classes, and such that the number of objects of a given size in the new class can be computed from the number of objects of that size or smaller sizes in the constituent classes.
We can formalize the notion of admissibility through the notion of counting generating functions.

Admissible Operators
We now define admissible operators to describe the more usual combinatorial structures.same symbol (ϵ,λ) is often used to denote the class which does only contain the empty object.Likewise, Z often denotes an atomic class, shall no confusion arise.

Definition 4. An operator (also called constructor) Ψ over combinatorial classes A 1 , A 2 , …, A k is admissible if and only if there exists some operator Φ over the corresponding counting generating functions
where C(z) is the counting generating function of C.

Figure 1. Combinatorial operators and generating functions ('EGF' and 'OGF' denote exponential and ordinary generating functions, respectively).
We briefly describe now the combinatorial operators mentioned above.
We take the disjoint union (also called sum) of two classes A and B to represent the union of two disjoint copies, A° and B°, of A and B. One way to formalize this notion is to introduce two distinct "markers" ϵ A and ϵ B , each of size zero, and define the (disjoint) union A + B by Disjoint union is thus equivalent to a standard union whenever it is applied to disjoint sets.The size of γ The Cartesian product of A and B is composed by the pairs (α,β) such that α∈A and β∈ B, If A is a class then the sequence 3 class of A is defined as the following infinite sum

Seq(A) = ϵ + A + (A × A) + (A × A × A) + …
To guarantee the number of sequences of each size will be finite it is necessary to impose that Acontains no object of size 0 (i.e., a 0 = 0).From the definition of size for sums and products, the size of a sequence is the sum of the sizes of its The powerset class of A is defined as the class consisting of all finite subsets of A-objects without repeated components.The following isomorphism is often used: Powersets do not require that a0 = 0, but we assume it to be the use.
Sets are like powersets except that the repetitions of components are allowed.Hence As in the case of sequences, A must not contain objects of size 0.
The substitution of B into A (or composition of A and B) is defined by where Seq(B, card = k) is the class of k-tuples of B objects.
Objects of A•B may thus be viewed as obtained by selecting in all possible ways an α object of A and substituting for each of its atoms by an arbitrary object β of B. Formally, Note that A•B is well defined if and only if either b 0 = 0 or |A| <+∞; however, in general, we assume a 0 = b 0 = 0.
Labelled operators like unions, sequences, sets and cycles are defined as their unlabelled counterparts.But products and substitutions have some differences: Given two labelled objects α and β of sizes j and n−j, respectively, their partitional product is a set of ( n j ) labelled objects of size n which result from the ( n j ) consistent relabellings of the pair (α,β) so that each atom of the pair has a distinct label in the range [1..n] while respecting the order of the original labels of α and β.For instance, if α = 132 and β = 21 (these two objects 3 It is analogous to the Kleene star operator A*. belong to the labelled class Seq(Z), i.e., they are permutations) then 4 α * β = {13254, 14253, 14352,..., 35421}.The labelled product of the labelled classes A and B is defined then Labelled substitution is defined by The component with the smallest label in the object of Set(B, card = k) (the leader) substitutes the atom with the smallest label of the A object, and the same procedure is repeated with the remaining components of the object of Set(B, card = k) and the remaining atoms of the A object until all atoms have been replaced by components of the object in Set(B, card = k).
All operators previously considered represent combinatorial structures that depend on the chosen isomorphism and the chosen ordering to define them [19], [20], [15], [14].On the other hand, it is known [15], [14] that all these combinatorial structures with size n can be generated with worst-case time complexity equal to O(n 2 ) arithmetic operations for the so-called lexicographic ordering, and O(n•log(n)) arithmetic operations for the socalled boustrophedonic ordering.

Simple Games as Influence Games
In this section we consider another topic with respect to the previous section.Now we introduce simple games and influence games [17], [18], [2], [26].
Firstly, we introduce simple games.Definition 5. A simple game Γ is given by a tuple (N, W) where N is a finite set of players and W is a monotonic family of subsets of N.
In the context of simple games, the subsets of N are called coalitions, N is the grand coalition and X ∈ W is a winning coalition (a successful team).Any subset of N which is not a winning coalition is called a losing coalition (an unsuccessful team).A minimal winning coalition is a winning coalition X that does not properly contain any winning coalition.That is, removing any player from X results in a losing coalition.A maximal losing coalition is a losing coalition X that is not properly contained in any other losing coalition.That is, adding any player to X results in a winning coalition.W, L, W m and L M usually denote the sets of winning, losing, minimal winning and maximal losing coalitions, respectively.Any of those set families determine uniquely the game and constitute the usual forms of representation for simple games [25], although the sizes of those representations are not, in general, polynomial in the number of players.
On the other hand, before introducing formally the family of influence games we need to define a family of labeled graphs and a process of spread of influence based on the linear threshold model [21], [12], [22].We use standard graph notation following [3].As usual, given a finite set U, P(U) denotes its power set, and |U| its cardinality.For any 0 ≤ k ≤ |U|, P k (U) denotes the subsets of U with exactly k elements.For a given graph G = (V,E) we assume that n = |V | and m = |E|.Also G[S] denotes the subgraph induced by S ⊆ V and, for a vertex u ∈ V, N(u) = {v ∈ V | (u,v) ∈ E}.Definition 6.An influence graph is a tuple (G,w,f), where G = (V,E) is a weighted, labeled and directed graph (without loops).As usual V is the set of vertices or agents, E is the set of edges and w: E → N is a weight function.Finally, f: V → N is a labeling function that quantifies how influenceable each agent is.An agent i ∈ V has influence over another agent j ∈ V if and only if (i,j) ∈ E. We also consider the family of unweighted influence graphs (G,f) in which every edge has weight 1.
Given an influence graph (G,w,f) and an initial activation set X ⊆ V, the spread of influence of X is the set F(X) ⊆ V which is formed by the agents activated through an iterative process.We use F k (X) to denote the set of nodes activated at step k.Initially, at step 0, only the vertices in X are activated, that is F 0 (X) = X.The set of vertices activated at step i >0 consists of all vertices for which the total weight of the edges connecting them to nodes in F i-1 (X) meets or exceeds their labels, i.e., The process stops when no additional activation occurs and the final set of activated nodes is denoted by F(X).
As the number of vertices is finite, for any i > n, F i (X) = F i−1 (X).Thus, F(X) = F n (X) and we have the following result.
Theorem 7 ([18]).Given an influence graph (G,w,f) and a set of vertices X, the set F(X) can be computed in polynomial time.
Definition 8.An influence game is given by a tuple (G, w, f, q, N) where (G, w, f) is an influence graph, q is an integer quota, 0 ≤ q ≤ |V | + 1, and N ⊆ V is the set of players.X ⊆ N is a successful team if and only if |F(X)| ≥ q, otherwise X is an unsuccessful team.
Note that all results and definitions stated in influence games can be done for directed or undirected graphs.

Representing Simple Games
We connect different topics -combinatorial structures, simple games and graphs with spread of influence (to define influence games)-in order to introduce a new way to represent simple games.This fact is based in the following result.
Theorem 9 ([18]).An influence game has associated a simple game and, viceversa, a simple game has associated an influence game.
See the details how to construct an influence game from a simple game, and how to construct a simple game from an influence game, in [18].Note that there exists a construction such that the influence game which define a simple game just use unweighted influence graphs.This construction just use unweighted graphs with unions and products.Thus, a simple game can be represented by combinatorial structures with elementary admissible operators (unions and products).
The sketch about how to generate a simple game with just combinatorial structures is described in the following five steps: First Step: To consider a simple game Γ.

Second
Step: To generate the corresponding influence game IΓ as it is described in [18].)].Note that each step can be computed in polynomial time whether the simple game Γ is given by either (N,W) or (W m ) (see Theorem 1 in [18]).
Theorem 10.It is possible to construct a simple game Γ as a combinatorial structure.Furthermore, when Γ is given by either (N,W) or (W m ) such construction can be obtained in polynomial time.

Representing Molecules
Combinatorial structures can also be applied to other topics like Chemistry.In this case, combinatorial structures let us generate molecules [6], [7].
We can define a molecule as a combination of atoms.Definition 11.A molecule is an union of sets of specific cardinality of k atoms, being k a positive integer, i.e., Molecule:= Union(Set(Atom 1 , card = c 1 ),..., Set(Atom k , card = c k )).
In the same vein, a Chemical-Compound can be defined as follows.
Definition 12.A chemical-compund is a set of n molecules, i.e.,

Conclusions and Future Work
In this work we have represent simple games (game theory) and molecules (Chemistry) from combinatorial structures (combinatorics).There is still much work to do with these topics (simple games and molecules v.s.combinatorial structures).For instance, from combinatorial structures we can study how many simple games or molecules can be generated with a specific structure and size (number of nodes).Some algorithms related with this problem are the so-called ranking, unranking, iteration or random generation of combinatorial structures [19,20].
We can also study the limitations of these representations.
It is still open how to apply concepts over simple games and molecules to combinatorial structures: properties of players or atoms, coalitions or compounds, subclasses, etc. Reciprocally, it is also interesting to study how to apply concepts over combinatorial structures (classes) to simple games or molecules: properties over classes, operators, etc.
We ask whether it is possible to define a new concept: Labeled and Unlabeled simple game or molecule.
Finally, combinatorial structures can also be applied to another different topics [29], [23].