论文标题
奶油:计算的包装[自动,endo,iso,mono,epi] - 构图,一致性,除数等代数$(2^n,1^n)$
CREAM: a Package to Compute [Auto, Endo, Iso, Mono, Epi]-morphisms, Congruences, Divisors and More for Algebras of Type $(2^n,1^n)$
论文作者
论文摘要
奶油间隙软件包计算具有任意数量的二进制和一元操作的代数的自动形态,一致性,内态和亚代词;它还决定是否存在两个这样的代数之间的单态性,表达,同构,或一个是另一个分裂。因此,它找到了几乎所有在实践中使用的代数的对象(组,各种签名中的准群,可能具有许多单一操作,田野,半环,Quandles,Quandles,Logic代数等)的对象。 作为一个千篇一律的包装,它仅依赖于通用代数定理,而无需利用有关特定定理(例如,组或半群)来减少搜索空间。佳能和霍尔特(Holt)产生了非常快速的代码,以计算群体的自动形态,这些群体在大于128的订单上的表现。同样,Mitchell等人。利用深度定理以非常有效的方式计算完全0简单的半群的自动形态和一致性。但是,这些域(超过128级和完全简单的半群)比我们的通用包装奶油更快的差距代码的示例之一。对于绝大多数其他类别的代数来说,我们的代码是计算上述对象的第一个代码,或者现有算法的表现均优于奶油,在某些情况下,几个数量级。 为了获得这一性能,Cream将通用代数算法的混合物与差距以及人工智能定理证明工具(AITP)和非常精致的C实现相结合。作为后者的一个例子,我们以优于所有其他已知的实现的方式来重新实现Freese的非常聪明的算法来计算通用代数的一致性。
The CREAM GAP package computes automorphisms, congruences, endomorphisms and subalgebras of algebras with an arbitrary number of binary and unary operations; it also decides if between two such algebras there exists a monomorphism, an epimorphism, an isomorphism or if one is a divisor of the other. Thus it finds those objects for almost all algebras used in practice (groups, quasigroups in their various signatures, semigroups possibly with many unary operations, fields, semi-rings, quandles, logic algebras, etc). As a one-size-fits-all package, it only relies on universal algebra theorems, without taking advantage of specific theorems about, eg, groups or semigroups to reduce the search space. Canon and Holt produced very fast code to compute automorphisms of groups that outperform CREAM on orders larger than 128. Similarly, Mitchell et al. take advantage of deep theorems to compute automorphisms and congruences of completely 0-simple semigroups in a very efficient manner. However these domains (groups of order above 128 and completely 0-simple semigroups) are among the very few examples of GAP code faster than our general purpose package CREAM. For the overwhelming majority of other classes of algebras, either ours is the first code computing the above mentioned objects, or the existing algorithms are outperformed by CREAM, in some cases by several orders of magnitude. To get this performance, CREAM uses a mixture of universal algebra algorithms together with GAP coupled with artificial intelligence theorem proving tools (AITP) and very delicate C implementations. As an example of the latter, we re-implement Freese's very clever algorithm for computing congruences in universal algebras, in a way that outperforms all other known implementations.