English

Practical Algorithms for Finding Extremal Sets

Data Structures and Algorithms 2015-08-10 v1

Abstract

The minimal sets within a collection of sets are defined as the ones which do not have a proper subset within the collection, and the maximal sets are the ones which do not have a proper superset within the collection. Identifying extremal sets is a fundamental problem with a wide-range of applications in SAT solvers, data-mining and social network analysis. In this paper, we present two novel improvements of the high-quality extremal set identification algorithm, \textit{AMS-Lex}, described by Bayardo and Panda. The first technique uses memoization to improve the execution time of the single-threaded variant of the AMS-Lex, whilst our second improvement uses parallel programming methods. In a subset of the presented experiments our memoized algorithm executes more than 400400 times faster than the highly efficient publicly available implementation of AMS-Lex. Moreover, we show that our modified algorithm's speedup is not bounded above by a constant and that it increases as the length of the common prefixes in successive input \textit{itemsets} increases. We provide experimental results using both real-world and synthetic data sets, and show our multi-threaded variant algorithm out-performing AMS-Lex by 33 to 66 times. We find that on synthetic input datasets when executed using 1616 CPU cores of a 3232-core machine, our multi-threaded program executes about as fast as the state of the art parallel GPU-based program using an NVIDIA GTX 580 graphics processing unit.

Keywords

Cite

@article{arxiv.1508.01753,
  title  = {Practical Algorithms for Finding Extremal Sets},
  author = {Martin Marinov and Nicholas Nash and David Gregg},
  journal= {arXiv preprint arXiv:1508.01753},
  year   = {2015}
}
R2 v1 2026-06-22T10:28:44.566Z