Skip to main content Accessibility help

A perfect hashing incremental scheme for unranked trees using pseudo-minimal automata

  • Rafael C. Carrasco (a1) and Jan Daciuk (a2)

We describe a technique that maps unranked trees to arbitrary hash codes using a bottom-up deterministic tree automaton (DTA). In contrast to other hashing techniques based on automata, our procedure builds a pseudo-minimal DTA for this purpose. A pseudo-minimal automaton may be larger than the minimal one accepting the same language but, in turn, it contains proper elements (states or transitions which are unique) for every input accepted by the automaton. Therefore, pseudo-minimal DTA are a suitable structure to implement stable hashing schemes, that is, schemes where the output for every key can be determined prior to the automaton construction. We provide incremental procedures to build the pseudo-minimal DTA and the mapping that associates an integer value to every transition that will be used to compute the hash codes. This incremental construction allows for the incorporation of new trees and their hash codes without the need to rebuild the whole DTA from scratch.

Hide All
[1] J. Aoe, K. Morimoto and M. Hase, An algorithm for compressing common suffixes used in trie structures. Trans. IEICE, J75-D-II (1992) 770–779
[2] Aoe, J., Morimoto, K. and Hase, M., An algorithm for compressing common suffixes used in trie structures. Systems and Computers in Japan 24 (1993) 3142. Translated from Trans. IEICE, J75-D-II (1992) 770–779.
[3] R. Bayer and E.M. McCreight. Organization and maintenance of large ordered indices. Acta Informatica 1 (1972) 173–189.
[4] Brainerd, W.S., The minimalization of tree automata. Information and Control 13 (1968) 484491.
[5] Carrasco, R.C. and Forcada, M.L., Incremental construction and maintenance of minimal finite-state automata. Computational Linguistics 28 (2002) 207216.
[6] Carrasco, R.C., Daciuk, J. and Forcada, M.L., An implementation of deterministic tree automata minimization, edited by J.Holub and J. Zdárek, CIAA2007, 12th International Conference on Implementation and Application of Automata Proceedings. Lect. Notes Comput. Sci. 4783 (2007) 122129.
[7] Carrasco, R.C., Daciuk, J. and Forcada, M.L., Incremental construction of minimal tree automata. Algorithmica 55 (2009) 95110.
[8] Ciura, M. and Deorowicz, S., How to squeeze a lexicon. Software – Practice and Experience 31 (2001) 10771090.
[9] H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison and M. Tommasi, (1997). Tree automata techniques and applications. Available on: release October, 1st 2002.
[10] Czech, Z.J., Havas, G. and Majewski, B.S., Perfect hashing. Theoret. Comput. Sci. 182 (1997) 1143.
[11] Daciuk, J., Comments on incremental construction and maintenance of minimal finite-state automata by C. Rafael Carrasco and L. Mikel Forcada. Computational Linguistics 30 (2004) 227235.
[12] J. Daciuk, Perfect hashing tree automata, edited by T. Hanneforth and K.-M.Würzner, Proceedings of Finite-State Methods and Natural Language Processing: 6th International Workshop, FSMNLP 2007, 97–106, Potsdam, September 14–16 (2007).
[13] Daciuk, J., Mihov, S., Watson, B.W. and Watson, R.E., Incremental construction of minimal acyclic finite-state automata. Computational Linguistics 26 (2000) 316.
[14] Daciuk, J., Maurel, D. and Savary, A., Dynamic perfect hashing with finite-state automata, edited by M.A. Kłopotek, S. Wierzchoń and K. Trojanowski, Intelligent Information Processing and Web Mining, Proceedings of the International IIS: IIPWM'05 Conference held in Gdańsk, Poland, June 13-16 (2005). Advances in Soft Computing 31 (2005) 169178.
[15] Daciuk, J., Maurel, D. and Savary, A., Incremental and semi-incremental construction of pseudo-minimal automata, edited by J. Farre, I. Litovsky and S. Schmitz, Implementation and Application of Automata: 10th International Conference, CIAA 2005. Lect. Notes Comput. Sci. 3845 (2006) 341342.
[16] C. Doran, D. Egedi, B.A. Hockey, B. Srinivas and M. Zaidel, XTAG system – a wide coverage grammar for english. In Proceedings of the 15th International Conference on Computational Linguistics (COLING 94), Vol. II, Kyoto, Japan (1994) 922–928.
[17] Lucchiesi, C. and Kowaltowski, T., Applications of finite automata representing large vocabularies. Software – Practice and Experience 23 (1993) 1530.
[18] Marcus, M.P., Santorini, B. and Marcinkiewicz, M., Building a large annotated corpus of english: the Penn Treebank. Computational Linguistics 19 (1993) 313330.
[19] Maurel, D., Pseudo-minimal transducer. Theoretical Computer Science 231 (2000) 129139.
[20] Nivat, M. and Podelski, A., Minimal ascending and descending tree automata. SIAM J. Comput. 26 (1997) 3958.
[21] D. Revuz, Dictionnaires et lexiques: méthodes et algorithmes. Ph.D. thesis, Institut Blaise Pascal, Paris, France. LITP 91.44 (1991).
[22] Revuz, D., Dynamic acyclic minimal automaton, edited by S. Yu and A. Paun, CIAA 2000, Fifth International Conference on Implementation and Application of Automata. Lect. Notes Comput. Sci. 2088 (2000) 226232.
[23] G. Rozenberg and A. Salomaa, Handbook of Formal Languages. Springer-Verlag, New York, Inc., Secaucus, NJ, USA (1997).
[24] A. Russell, Necessary and sufficient conditions for collision-free hashing, in CRYPTO '92: Proceedings of the 12th Annual International Cryptology Conference on Advances in Cryptology, London, UK. Springer-Verlag (1993) 433–441.
[25] Sgarbas, K., Fakotakis, N. and Kokkinakis, G., Two algorithms for incremental construction of directed acyclic word graphs. International Journal on Artificial Intelligence Tools 4 (1995) 369381.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

RAIRO - Theoretical Informatics and Applications
  • ISSN: 0988-3754
  • EISSN: 1290-385X
  • URL: /core/journals/rairo-theoretical-informatics-and-applications
Please enter your name
Please enter a valid email address
Who would you like to send this to? *



Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed