Skip to main content

Case Study: Lattice Cover Graph Construction

  • Chapter
  • First Online:
Book cover The Correctness-by-Construction Approach to Programming

Abstract

In this chapter, the correctness by construction approach is applied to an algorithmic problem that lies well off the beaten track of classical text book examples. The algorithm has been in the public domain since about 2000, but was only clearly explained and its correctness shown in 2010 [26]. The algorithm has also been shown to be considerably more efficient than its rivals.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    It is trivial to adapt the algorithm for cases where \(\neg (X \subset {\top }_{\mathcal{L}})\). Two cases then need to be handled. If \(X \supset {\top }_{\mathcal{L}}\) then X simply becomes the new top of the enlarged SICL. If \(\neg (X \subset {\top }_{\mathcal{L}}\wedge X \supset {\top }_{\mathcal{L}})\) then insert \(X \cap {\top }_{\mathcal{L}}\) into \(\mathcal{L}\), create a supremum for X and \({\top }_{\mathcal{L}}\) and join X and \({\top }_{\mathcal{L}}\) to their supremum.

  2. 2.

    Of course, we assume that \(\vert \mathcal{X}\vert < \infty \). However, the algorithm specifications above are not inherently limited to dealing with finite sets. They could, in principle, be implemented on a computer that had some way of representing infinitely large sets and which could carry out the required set operations (intersection, membership, union) on those infinite sets.

  3. 3.

    Note: Concept Explorer’s author has requested that users cite his Russian text, [49].

  4. 4.

    Algorithms were implemented in C++ on the same codesbase. Tests were performed on a PentiumTM 4–2 GHz computer with 1 Gigabyte RAM running under Windows XPTM.

References

  1. G. Arévalo, in Proceedings of LMO 2003: Langages et Modeles à Objets, Understanding behavioral dependencies in class hierarchies using concept analysis, Hermes, Paris, January 2003. pp 47–59

    Google Scholar 

  2. G. Birkhoff, Lattice Theory (Amer. Math. Soc. Coll. Publ., Providence, R.I., 1973)

    Google Scholar 

  3. C.L. Blake, C.J. Merz, UCI repository of machine learning databases. University of California, Irvine, Dept. of Information and Computer Sciences, 1998

    Google Scholar 

  4. J.P. Bordat, Calcul pratique du treillis de Galois d’une correspondance. Math. Sci. Hum. 23(2), 243–250 (1978)

    MathSciNet  Google Scholar 

  5. C. Carpineto, G. Romano, Concept Data Analysis: Theory and Applications (John Wiley & Sons Ltd, New York, 2004)

    Book  MATH  Google Scholar 

  6. C. Carpineto, G. Romano, A lattice conceptual clustering system and its application to browsing retrieval. Mach. Learn. 24(2), 95–122 (1996)

    Google Scholar 

  7. L.C. Freeman, D.R. White, Using Galois lattices to represent network data. Sociol. Methodol. 23, 127–146 (1993)

    Article  Google Scholar 

  8. B. Ganter. Two basic algorithms in concept analysis, FB4-Preprint No. 831 (Technische Hochschule Darmstadt, June 1984)

    Google Scholar 

  9. B. Ganter, R. Wille, Formal Concept Analysis: Mathematical Foundations (Springer, Berlin, 1999)

    Book  MATH  Google Scholar 

  10. R. Godin, R. Missaoui, H. Alaoui. Incremental concept formation algorithms based on Galois lattices. Comput. Intell. 11(2), 243–250 (1995)

    Article  Google Scholar 

  11. P.A. Grigoriev, S.A. Yevtushenko, in Concept Lattices: Proc. of the 2nd Int. Conf. on Formal Concept Analysis, ed. by P. Eklund. Quda: applying formal concept analysis in a data mining environment, vol 2961/2004 (Springer, Berlin/Heidelberg, 2004), pp. 386–393

    Google Scholar 

  12. D.G. Kourie, S. Obiedkov, B.W. Watson, F.D. van der Merwe, An incremental algorithm to construct a lattice of set intersections. Sci. Comput. Program. 74(3), 128–142 (2009)

    Article  MATH  Google Scholar 

  13. S. Kuznetsov, S. Obiedkov, Comparing performance of algorithms for generating concept lattices. J. Exp. Theor. Artif. Intell. 14(2/3), 189–216 (2002)

    Article  MATH  Google Scholar 

  14. S. Kuznetsov, in Concept Lattices: Proceedings of the 2nd International Conference on Formal Concept Analysis, ed. by P. Eklund. Machine learning and formal concept analysis. LNCS, vol. 2961 (Springer-Verlag, Berlin, Heidelberg, 2004), pp. 287–312

    Google Scholar 

  15. E.M. Norris, An algorithm for computing the maximal rectangles in a binary relation. Rev. Roum. Math. Pures A. 23(2), 243–250 (1978)

    MathSciNet  MATH  Google Scholar 

  16. L. Nourine, O. Raynaud, A fast algorithm for building lattices. Inform. Process. Lett. 71, 199–204 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  17. U. Priss, in Formal Concept Analysis, Foundations and Applications, ed. by B. Ganter, G. Stumme, R. Wille. Linguistic applications of formal concept analysis. LNAI, vol. 3626 (Springer-Verlag, Berlin, Heidelberg, 2005), pp. 149–160

    Google Scholar 

  18. G. Stumme, A. Mädche, in Proceedings of the17th International Conference on Artificial Intelligence (IJCAI ’01), ed. by B. Nebel. FCA-merge: Bottom-up merging of ontologies, Seattle, WA, USA, 2001. pp. 225–230

    Google Scholar 

  19. T. Tilley, R. Cole, P. Becker, P. Eklund, in Formal Concept Analysis, Foundations and Applications, ed. by Bernhard Ganter, Robert Godin, A survey of formal concept analysis support for software engineering activities. Lecture Notes in Computer Science, vol. 3626, July 2005, pp. 250–271

    Google Scholar 

  20. P. Valtchev, R. Missaoui, R. Godin, in Concept Lattices: Proceedings of the 2nd International Conference on Formal Concept Analysis, ed. by P. Eklund. Formal concept analysis for knowledge discovery and data mining: The new challenges. LNCS, vol. 2961 (Springer-Verlag, Berlin, Heidelberg, 2004), pp. 352–371

    Google Scholar 

  21. F.J. van der Merwe, Constructing concept lattices and compressed pseudo-lattices, Master’s thesis, University of Pretoria, 2003

    Google Scholar 

  22. F.J. van der Merwe, S. Obiedkov, D.G. Kourie, in Concept Lattices: Proc. of the 2nd Int. Conf. on Formal Concept Analysis, ed. by P. Eklund. AddIntent: A new incremental algorithm for constructing concept lattices. LNCS, vol. 2961 (Springer-Verlag, Berlin, Heidelberg, 2004), p. 411

    Google Scholar 

  23. S.A. Yevtushenko, in Proceedings of the 7th national conference on Artificial Intelligence KII-2000. System of data analysis “concept explorer” (in Russian), Russia (2000), pp. 127–134

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Kourie, D.G., Watson, B.W. (2012). Case Study: Lattice Cover Graph Construction. In: The Correctness-by-Construction Approach to Programming. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27919-5_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27919-5_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-27918-8

  • Online ISBN: 978-3-642-27919-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics