Thursday, May 2, 2019

Equivalence classes of lists

Equivalence relations can be formed that determine that certain lists are equal to one another. One way of doing that is to take the orbit of a class of permutation groups acting on lists. These are equivalence relations that determine that lists are equal to one another up to a reordering. Different types of equivalence classes of lists are produced from symmetric groups, alternating groups, cyclic groups, and so on. Generally, transitive groups are selected here to determine collection classes.

Symmetric lists:
The first thing to realize is that symmetric lists are multisets, which means that any list can be treated as a multiset by simply ignoring its ordering. In this sense, it is perhaps not necessary to have a different data type for multisets, sets, etc (except for the purpose of creating an equivalence class). Then the important question is which operations on lists are invariant under reordering, the multiplicity function for example is invariant under reordering.

Alternating lists
Alternating lists are similar to symmetric lists, in the sense that they have relatively few permutations. Generally speaking, collections of this type are rarely mentioned.

Cyclic lists:
Cyclic lists or circular lists, are lists which are invariant up to rotation. Cyclic linked lists provide a possible implementation. Even though these are perhaps the next most useful class of lists, after examining the different types of collections determined by permutations, I concluded that symmetric lists are the most fundamental because they are a partially ordered multiset, so the most important collections are related to partially ordered multisets and aren't simply general relations.

No comments:

Post a Comment