%0 Conference Paper
%1 troy2007faster
%A Troy, Adam D.
%A Zhang, Guo-Qiang
%A Tian, Ye
%B Proceedings of the 15th International Conference on Conceptual Structures (ICCS 2007)
%C Berlin, Heidelberg
%D 2007
%E Priss, U.
%E Polovina, S.
%E Hill, R.
%I Springer-Verlag
%K algorithm analysis concept fast fca formal
%P 206--219
%T Faster Concept Analysis
%U http://newton.cwru.edu/papers/MCA.pdf
%V 4604
%X We introduce a simple but efficient, multistage algorithm for constructing concept lattices (MCA). A concept lattice can be obtained as the closure system generated from attribute concepts (dually, object concepts). There are two strategies to use this as the basis of an algorithm: (a) forming intersections by joining one attribute concept at a time, and (b) repeatedly forming pairwise intersections starting from the attribute concepts. A straightforward translation of (b) to an algorithm suggests that pairwise intersection be performed among all cumulated concepts. MCA is parsimonious in forming the pairwise intersections: it only performs such operations among the newly formed concepts from the previous stage, instead of cumulatively. We show that this parsimonious multistage strategy is complete: it generates all concepts. To make this strategy really work, one must overcome the need to eliminate duplicates (and potentially save time even further), since concepts generated at a later stage may have already appeared in one of the earlier stages. As considered in several other algorithms in the literature 5, we achieve this by an auxiliary search tree which keeps all existing concepts as paths from the root to a flagged node or a leaf. The depth of the search tree is bounded by the total number of attributes, and hence the time complexity for concept lookup is bounded by the logarithm of the total number of concepts. For constructing lattice diagrams, we adapt a sub-quadratic algorithm of Pritchard 9 for computing subset partial orders to constructing the Hasse diagrams. Instead of the standard expected quadratic complexity, the Pritchard approach achieves a worst-case time O(N2/log N). Our experimental results showed significant improvements in speed for a variety of input profiles against three leading algorithms considered in the comprehensive comparative study 5: Bordat, Chein, and Norris.