Graph homomorphisms form a natural generalization of graph colorings: there is a homomorphism from a graph G to
the complete graph on k vertices if and only if G is k-colorable. A homomorphism from a graph G = (VG, EG) to a graph
R = (V R , ER ) is a mapping r : VG → V R that maps adjacent vertices of G to adjacent vertices of R, i.e., r(u)r(v) ∈ ER
whenever uv ∈ EG . A homomorphism r from G to R is locally surjective if the following is true for every vertex u of G: for
every neighbor y of r(u) in R, there is at least one neighbor v of u in G with r(v) = y. We also call such an r an R-role
assignment. See Fig. 1 for an example.
Role assignments originate in the theory of social behavior [9,24]. A role graph R models roles and their relationships,
and for a given society we can ask if its individuals can be assigned roles such that relationships are preserved: each
person playing a particular role has among its neighbors exactly the roles prescribed by the model. In this way, a large
network of individuals can be compressed into a smaller network that still gives some description of the large network.
Role assignments are also useful in the area of distributed computing, in which one of the fundamental problems is to
arrive at a final configuration where all processors have been assigned unique identities. Chalopin et al. [4] show that,
under a particular communication model, this problem can be solved on a graph G representing the distributed system
if and only if G has no R-role assignment for any graph R with fewer vertices than G. Role assignments are useful in
topological graph theory as well, where a main question is which graphs G allow role assignments to planar graphs R [