The theory of finite automata works with finite alphabets. The article Automata with Group Actions by Bojanczyk et al. is one recent attempt to extend the theory to infinite alphabets. To do so, the authors use a basic notion from group theory, namely group action. Here I review the facts about group actions that are necessary to understand Bojanczyk's article.
Recall that a group is a set together with a binary operation that has an identity, is associative, and each element has an inverse:
- , for all
- , for all , and
- there exist a such that , for all
The typical example of a group is the set of permutations of some set . Its elements have the type . The identity is the identity function. The binary operation is function composition, which is always associative. Each permutation has an inverse almost by definition. (Permutations are those functions that have inverses.) This group is sometimes denoted and is called the symmetric group of .
Recall also that a function is called a homomorphism when for all . We say that preserves the group operation. In particular, or, more precisely, . In words, homomorphisms map the identity of one group to the identity of the other. This is easy to prove, and makes a nice exercise.
A group action is a homomorphism from to . The set is called a -Set.
The simplest group action is the trivial action, which maps all elements of to the identity permutation of ,
I know of two reasons why group actions are an interesting concept. First, they let you think of elements of a group as symmetries of a set and therefore they partition the set into equivalence classes. You change the group , you change which elements of are "essentially the same." Second, once you have group actions for and you also have group actions for and and . So group actions build up nicely.
The picture I have in my mind when I talk about G-Sets is a bunch of points (the elements of ) with a bunch of arcs between them. Each arc is labelled by an element of . When we look at all arcs labelled by (where ) we get the picture of a permutation on . That is, a bunch of (disjoint) cycles. When we look at the arcs labelled by we see a loop on each point. In general, we see arcs getting out of each point. This picture has a few more properties. If there is an arc from to and one from to , then there is an arc from to . In other words, the digraph I'm describing is transitively closed. Proving this property makes another nice exercise. In yet other words, for all and either there is an arc from to or there is no path from to . The (strongly) connected components of this graph are the equivalence classes that determines on . The equivalence class of an element is called its orbit. Another property of this graph (the Burnside lemma) is that the points in each orbit have exactly loops in total. (Well, I admit: This is not quite the standard formulation.)
To discuss how group actions build up it's useful to finally introduce some (common) notation. We write when the permutation associated with maps to . So, in a way, the dot represents the (still nameless) group action. Typically, we use the following.
A subset of is said to be invariant (or equivariant) when it is a union of orbits. Equivalently, is said to be invariant when each permutes its elements, that is . (The graph picture is very handy to figure out why these two definitions are equivalent.)
Now suppose that the -Set is and we are given a function . We say that is invariant when the subset is invariant. In other words, when for all and . Invariant functions are closed under composition. -Set is the category of -Sets with the arrows being invariant functions.
How is this at all relevant to finite automata over infinite alphabets? Well, very roughly, a finite automaton over infinite alphabets is one that cannot distinguish between symmetric traces. For example, an automaton might say that "given two iterators and on a collection , it is illegal to use to modify and then continue to use ." The exact values , , and are irrelevant, so if a trace with some values is accepted, then so are all traces obtained by pointwise permuting the values in the trace. I realize this is rather unclear, but I plan to talk about it in a future post.
In the meantime, there are two other nice references on group actions that I know of: Wikipedia and a recent post on Gower's blog.
No comments:
Post a Comment
Note: (1) You need to have third-party cookies enabled in order to comment on Blogger. (2) Better to copy your comment before hitting publish/preview. Blogger sometimes eats comments on the first try, but the second works. Crazy Blogger.