Thursday, 12 November 2009

Linear notation for transformations

In the book 'Classical Finite Transformation Semigroups' by Olexandr Ganyushkin and Volodymyr Mazorchuk (my review) an improved linear notation for transformations is introduced. Linear in the sense that it fits into a line, otherwise it is full with recursion. Cycles are in cyclic notation, for collapsing states

[tree; root]

is used recursively. I like the idea, decided to use it, so I had to implement it in GAP. The code seems to work fine now, what more, it turned out to be more economical on using square brackets (the usefulness of this may be disputable though).

Here are all the transformations of T3:

Transformation( [ 1, 2, 1 ] ) [3;1]
Transformation( [ 1 .. 3 ] ) ()
Transformation( [ 2, 1, 3 ] ) (1,2)
Transformation( [ 2, 3, 1 ] ) (1,2,3)
Transformation( [ 2, 1, 2 ] ) (1,[3;2])
Transformation( [ 2, 3, 2 ] ) ([1;2],3)
Transformation( [ 2, 1, 1 ] ) ([3;1],2)
Transformation( [ 3, 2, 1 ] ) (1,3)
Transformation( [ 1, 3, 2 ] ) (2,3)
Transformation( [ 3, 1, 2 ] ) (1,3,2)
Transformation( [ 3, 2, 3 ] ) [1;3]
Transformation( [ 1, 3, 1 ] ) [[2;3];1]
Transformation( [ 3, 1, 3 ] ) [[2;1];3]
Transformation( [ 1, 2, 2 ] ) [3;2]
Transformation( [ 3, 2, 2 ] ) [[1;3];2]
Transformation( [ 1, 1, 2 ] ) [[3;2];1]
Transformation( [ 1, 1, 1 ] ) [2,3;1]
Transformation( [ 2, 3, 3 ] ) [[1;2];3]
Transformation( [ 3, 1, 1 ] ) ([2;1],3)
Transformation( [ 1, 3, 3 ] ) [2;3]
Transformation( [ 2, 2, 1 ] ) [[3;1];2]
Transformation( [ 2, 2, 3 ] ) [1;2]
Transformation( [ 2, 2, 2 ] ) [1,3;2]
Transformation( [ 3, 3, 2 ] ) ([1;3],2)
Transformation( [ 1, 1, 3 ] ) [2;1]
Transformation( [ 3, 3, 1 ] ) (1,[2;3])
Transformation( [ 3, 3, 3 ] ) [1,2;3]

and the example from their book page11:

gap>LinearNotation(Transformation([8,9,7,13,7,16,7,1,13,11,16,4,12,9,14,13]));
"(1,8)([[2,[15;14];9],[6,[10;11];16];13],12,4)[3,5;7]"


Tuesday, 8 September 2009

Action graph for T4


The partially finished new holonomy engine in SgpDec is chugging along well. This is the graph of the extended image set of the full transformation semigroup on four points, T4. This 'action graph' is like a Cayley-graph of the semigroup, but on the extended set of images rather than on the semigroup elements. The generators are the 'usual' ones:
  1. cycle: Transformation( [ 2, 3, 4, 1 ] )
  2. transposition: Transformation( [ 2, 1, 3, 4 ] )
  3. collapsing: Transformation( [ 1, 2, 3, 1 ] )
Clearly only collapsing can jump down to a lower equivalence class.

The number after the set in the label is the length of a minimal word needed to generate that particular set.

Tuesday, 18 August 2009

Molecular dynamics simulation on uniquely labeled digraphs

There are 6 different types of molecules in the system, the reactions are according to Gamma(6,4) and Gamma(6,6) (a cycle with shortcut from node 1 to node 4 and 6 respectively).
Each moment a random event is chosen with equal probability ( a molecule of type 1 arrives in the system, a reaction happens, or a molecule of random type leaves the system [proportionally to concentration levels]).




Clearly molecule 1 gets a boost by the input, and those molecules that are products of more than one reactions (incoming edges) have higher concentrations, the others barely survive. The group structure is different in the above systems, but that does not seem to play any role. The dynamics is explained by the graph structure.

Ensemble dynamics: If at one moment the same reaction is applied to all molecules in the system, then the distribution of the molecules regarding their type is unimodal (i.e. at a moment only one type of molecule can be observed, the others' frequency is negligible), where the peak moves between the types reaction by reaction.

Witthout input and output flow: The stabilised concentration can be predicted by a simple graph algorithm (or something similar as the output may depened on where we start)
  1. Start with value 1.
  2. Go through the nodes from 2 to 1 cyclically and give the nodes the current value if there is one incoming edge, double if there are two, divide by 2 if there is a branch.
This should be a straightforward problem in the theory of flows on graphs.

Tuesday, 28 July 2009

Association - Disassociation Model

Aim: to look for symmetries in a simple system of association-disassociation.

Molecules u and v can combine to form w, which can break into u and v.

u + v <--> w

Starting from 5 w's, we have the automaton (derived from Petri net) with or without sink state.

These are aperiodic. There are no symmetry groups in the semigroup of the automata (in both cases).
Similar results hold for any initial marking of the nets (initial configuration).

However, the automaton (as a state transition graph) clearly has symmetries (like swapping input symbols t1 and t2 and reversing the order of the states). This is an example showing that the automorphism group may have elements with no connection with the automaton's transformation semigroup.