Counting and Computing Join-Endomorphisms in Lattices (Revisited)
Résumé
Structures involving a lattice and join-endomorphisms on it are ubiquitous in computer science. We study the cardinality of the set $\mathcal{E}(L)$ of all join-endomorphisms of a given finite lattice $L$. In particular, we show for $\mathbf{M}_n$, the discrete order of $n$ elements extended with top and bottom, $| \mathcal{E}(\mathbf{M}_n) | =n!\mathcal{L}_n(-1)+(n+1)^2$ where $\mathcal{L}_n(x)$ is the Laguerre polynomial of degree $n$. We also study the following problem: Given a lattice $L$ of size $n$ and a set $S\subseteq \mathcal{E}(L)$ of size $m$, find the greatest lower bound ${\large\sqcap}_{\mathcal{E}(L)} S$. The join-endomorphism ${\large\sqcap}_{\mathcal{E}(L)} S$ has meaningful interpretations in epistemic logic, distributed systems, and Aumann structures. We show that this problem can be solved with worst-case time complexity in $O(mn)$ for distributive lattices and $O(mn + n^3)$ for arbitrary lattices. In the particular case of modular lattices, we present an adaptation of the latter algorithm that reduces its average time complexity. We provide theoretical and experimental results to support this enhancement. The complexity is expressed in terms of the basic binary lattice operations performed by the algorithm.