5
$\begingroup$

I have searched a lot about applications of finite groups in computer science. Most of the results include:

  1. Finite fields or groups of numbers coprime to $n$ which are widely used in cryptography and coding theory
  2. Permutations (symmetric group)
  3. Ring of matrices over an arbitrary field

But group theory is much more enormous and broader than these groups and includes many exotic enormous groups. I wonder if there are some applications of other groups in computer science. Specifically, I would appreciate if you mention some other finite (or at least finitely generated) groups (not semigroups or monoids) with their applications.

Example) for instance, optimal solving of a Rubik's cube is a computationally-intensive problem (which is called God's algorithm). Another example I want to see is something like monster group or some other finite simple groups.

$\endgroup$
8
  • $\begingroup$ See here and here $\endgroup$ Commented Aug 12, 2022 at 18:46
  • $\begingroup$ @SouravGhosh Thanks. I had seen it, but I want to see another specific finite group. I'll add this in the question too. $\endgroup$ Commented Aug 12, 2022 at 18:50
  • 1
    $\begingroup$ Every finite group arises as subgroup of a symmetric group, and hence also in computer science (see 2.). Then many groups from computational number theory. Also matrix groups over the integers (not fields), or over other commutative rings. And do you know about free groups? $\endgroup$ Commented Aug 12, 2022 at 20:22
  • $\begingroup$ @DietrichBurde Yeah, I know about the Cayley theorem as well as free groups. Cayley theorem is so important but does it help us study other finite groups computationally? $\endgroup$ Commented Aug 12, 2022 at 20:31
  • 2
    $\begingroup$ Free groups and finite inverse automata in computer science are very much related. So you could add it to your list. I suppose, in the end, almost all groups are used. I am not sure what you would learn from this. $\endgroup$ Commented Aug 12, 2022 at 20:33

2 Answers 2

3
$\begingroup$

Automorphism groups of codes. For example, the sporadic Mathieu group $M_{24}$ is the automorphism group of the extended binary Golay code.

$\endgroup$
2
$\begingroup$

Isomorphism testing is the area that comes to mind for me. In Graph Isomorphism (GI), the key techniques are Weisfeiler--Leman (WL) and Permutation Group Algorithms. At a high level, Babai uses WL to partition (tuples of) vertices into "small" color classes; after which, he applies permutation group algorithms to decide if there exists a color-preserving isomorphism.

In the multiplication table model, Group Isomorphism (GpI) reduces to GI, but is strictly easier under many-to-one computable reductions that are (for instance) $\textsf{AC}^{0}$-reductions. So while GpI is easier than GI when we zoom in with a microsocope, the best we know how to do in general is still $n^{\Theta(\log n)}$.

There are what I'd consider three main thrusts in GpI for the multiplication table model:

There are some additional works, such as the Grochow--Qiao Tensor Isomorphism paper (https://arxiv.org/pdf/1907.00309.pdf). Motivation for GpI comes from the relationship between class $2$ $p$-groups of exponent $p$ ($p > 2$). The isomorphism invariant is the commutator subgroup. Testing whether two commutator subgroups are equivalent is precisely testing whether two tensors are pseudo-isomoetric. The Baer correspondence provides that we can reverse the construction: given such a tensor, we can construct a class $2$ $p$-group of exponent $p$ ($p > 2$). The Tensor Isomorphism paper also provides additional applications of algebra in CS.

The papers I've cited do a good job surveying the literature for some results I've omitted, but this should give you a sense of what's out there.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged .