Improving the Representation of Infinite Trees to Deal with Sets of Trees

  • Laurent Mauborgne
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1782)


In order to deal efficiently with infinite regular trees (or other pointed graph structures), we give new algorithms to store such structures. The trees are stored in such a way that their representation is unique and shares as much as possible. This maximal sharing allows substantial memory gain and speed up. For example, equality testing becomes constant time. The algorithms are incremental, and as such allow good reactive behavior. This new algorithms are then applied to the representation of sets of trees. The expressive power of this new representation is exactly what is needed by set-based analysis.


Boolean Function Unique Representation Regular Tree Binary Decision Diagram Tree Automaton 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
    Aho, A. V., Hopcroft, J. E., and Ullman, J. D. Data Structures and Algorithms. Addison-Wesley, 1983.Google Scholar
  2. [2]
    Bryant, R. E. Graph based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35 (August 1986), 677–691.Google Scholar
  3. [3]
    Cai, J., and Paige, R. Using multiset discrimination to solve language processing without hashing. Theoretical Computer Science (1994). also, U. of Copenhagen Tech. Report, DIKU-TR Num. D-209, 94/16, URL ftp:
  4. [4]
    Cardon, A., and Crochemore, M. Partitioning a graph in O(|A| log2 |V|). Theoretical Computer Science 19 (1982), 85–98.zbMATHCrossRefMathSciNetGoogle Scholar
  5. [5]
    Charatonik, W., and Podelski, A. Codefinite set constraints. In 9th International Conference on Rewriting Techniques and Applications (March–April 1998), T. Nipkow, Ed., vol. 1379 of Lecture Notes in Computer Science, Springer-Verlag, pp. 211–225.CrossRefGoogle Scholar
  6. [6]
    Colmerauer, A. PROLOG and infinite trees. In Logic Programming (1982), K. L. Clark and S.-A. Tärnlund, Eds., vol. 16 of APIC Studies in Data Processing, Academic Press, pp. 231–251.Google Scholar
  7. [7]
    Devienne, P., Talbot, J., and Tison, S. Solving classes of set constraints with tree automata. In 3th International Conference on Principles and Practice of Constraint Programming (October 1997), G. Smolka, Ed., vol. 1330 of Lecture Notes in Computer Science, Springer-Verlag, pp. 62–76.CrossRefGoogle Scholar
  8. [8]
    Gécseg, F., and Steinby, M. Tree Automata. Akadémia Kiadó, 1984.Google Scholar
  9. [9]
    Heintze, N. Set Based Program Analysis. PhD thesis, School of Computer Science, Carnegie Mellon University, October 1992.Google Scholar
  10. [10]
    Hopcroft, J. An n log n algorithm for minimizing states in a finite automaton. In Theory of machines and computations (1971), Z. Kohavi and A. Paz, Eds., Academic Press, pp. 189–196.Google Scholar
  11. [11]
    Jones, N. D., and Muchnick, S. S. Flow analysis and optimization of LISP-like structures. In 6th POPL (January 1979), ACM Press, pp. 244–256.Google Scholar
  12. [12]
    Knuth, D. E. Sorting and Searching, vol. 3 of The Art of Computer Programming. Addison-Wesley, 1973.Google Scholar
  13. [13]
    Liu, Y. A. Dependence analysis for recursive data. In IEEE International Conference on Computer Languages (May 1998), pp. 206–215.Google Scholar
  14. [14]
    Mauborgne, L. Binary decision graphs. In Static Analyis Symposium (SAS’99) (1999), A. Cortesi and G. Filé, Eds., vol. 1694 of Lecture Notes in Computer Science, Springer-Verlag, pp. 101–116.CrossRefGoogle Scholar
  15. [15]
    Michie, D. “memo” functions and machine learning. Nature 218 (April 1968), 19–22.CrossRefGoogle Scholar
  16. [16]
    Reynolds, J. Automatic computation of data set definitions. In Information Processing’ 68 (1969), Elsevier Science Publisher, pp. 456–461.Google Scholar
  17. [17]
    Thatcher, J. W., and Wright, J. B. Generalized finite automata with an application to a decision problem of second-order logic. Mathematical Systems Theory 2 (1968), 57–82.CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Laurent Mauborgne
    • 1
  1. 1.LIENS - DMI, École Normale SupérieureParis cedex 05France

Personalised recommendations