Abstract
A bijective code is a method for associating labeled n-trees to (n − 2)-strings of node labels in such a way that different trees yield different strings and vice versa. For all known bijective codes, optimal sequential encoding and decoding algorithms are presented in literature, while parallel algorithms are investigated only for some of these codes. In this paper we focus our attention on the Blob code: a code particularly considered in the field of Genetic Algorithms. To the best of our knowledge, here we present the first parallel encoding and decoding algorithms for this code. The encoding algorithm implementation is optimal on an EREW PRAM, while the decoding algorithm requires O(logn) time and O(n) processors on CREW PRAM.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Boppana, V., Hartanto, I., Fuchs, W.K.: Full Fault Dictionary Storage Based on Labeled Tree Encoding. In: Proc. of IEEE VTS, pp. 174–179 (1996)
Brent, R.P.: The Parallel Evaluation of General Arithmetic Expressions. J. of ACM 21(2), 201–206 (1974)
Caminiti, S.: On Coding Labeled Trees. PhD thesis, Sapienza University of Rome (December 2007)
Caminiti, S., Deo, N., Micikevičius, P.: Linear-time Algorithms for Encoding Trees as Sequences of Node Labels. Congr. Num. 183, 65–75 (2006)
Caminiti, S., Finocchi, I., Petreschi, R.: On Coding Labeled Trees. TCS 382(2), 97–108 (2007)
Caminiti, S., Petreschi, R.: String Coding of Trees with Locality and Heritability. In: Wang, L. (ed.) COCOON 2005. LNCS, vol. 3595, pp. 251–262. Springer, Heidelberg (2005)
Caminiti, S., Petreschi, R.: Parallel Algorithms for Dandelion-Like Codes. In: Allen, G., et al. (eds.) ICCS 2009, Part I. LNCS, vol. 5544, pp. 611–620. Springer, Heidelberg (2009)
Cayley, A.: A Theorem on Trees. Quart. J. of Math. 23, 376–378 (1889)
Chen, W.Y.C.: A General Bijective Algorithm for Trees. Proc. of NAS 87, 9635–9639 (1990)
Deo, N., Kumar, N., Kumar, V.: Parallel Generation of Random Trees and Connected Graphs. Congr. Num. 130, 7–18 (1998)
Deo, N., Micikevičius, P.: A New Encoding for Labeled Trees Employing a Stack and a Queue. Bull. of ICA 34, 77–85 (2002)
Eğecioğlu, Ö., Remmel, J.B.: Bijections for Cayley Trees, Spanning Trees, and Their q-Analogues. J. of Comb. Th. 42A(1), 15–30 (1986)
Fischer, M.J., Ladner, R.E.: Parallel Prefix Computation. J. of ACM 27(4), 831–838 (1980)
Garg, V.K., Agarwal, A.: Distributed Maintenance of a Spanning Tree Using Labeled Tree Encoding. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 606–616. Springer, Heidelberg (2005)
Greenlaw, R., Petreschi, R.: Computing Prüfer Codes Efficiently in Parallel. DAM 102(3), 205–222 (2000)
Jájá, J.: An Introduction to Parallel Algorithms. Addison-Wesley, Reading (1992)
Julstrom, B.A.: The Blob Code: A Better String Coding of Spanning Trees for Evolutionary Search. In: Proc. of ROPNET, pp. 256–261 (2001)
Julstrom, B.A.: The Blob Code is Competitive with Edge-Sets in Genetic Algorithms for the Minimum Routing Cost Spanning Tree Problem. In: Proc. of GECCO, pp. 585–590 (2005)
Kreweras, G., Moszkowski, P.: Tree Codes that Preserve Increases and Degree Sequences. J. of Disc. Math. 87(3), 291–296 (1991)
Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, Cambridge (1996)
Moon, J.W.: Counting Labeled Trees. William Clowes and Sons, London (1970)
Neville, E.H.: The Codifying of Tree-Structure. Proc. of Cambridge Phil. Soc. 49, 381–385 (1953)
Orlin, J.B.: Line-Digraphs, Arborescences, and Theorems of Tutte and Knuth. J. of Comb. Th. 25, 187–198 (1978)
Paulden, T., Smith, D.K.: Recent Advances in the Study of the Dandelion Code, Happy Code, and Blob Code Spanning Tree Representations. In: Proc. of CEC, pp. 2111–2118 (2006)
Paulden, T., Smith, D.K.: Some Novel Locality Results for the Blob Code Spanning Tree Representation. In: Proc. of GECCO, pp. 1320–1327 (2007)
Picciotto, S.: How to Encode a Tree. PhD thesis, University of California, San Diego (1999)
Prüfer, H.: Neuer Beweis eines Satzes über Permutationen. Archiv der Mathematik und Physik 27, 142–144 (1918)
Reeves, C.R., Rowe, J.E.: Genetic Algorithms: A Guide to GA Theory. Springer, Heidelberg (2003)
Reif, J.H.: Synthesis of Parallel Algorithms. Morgan Kaufmann, San Francisco (1993)
Vishkin, U., Caragea, G.C., Lee, B.: Models for Advancing PRAM and other Algorithms into Parallel Programs for a PRAM-On-Chip Platform. In: Handbook of Parallel Computing: Models, Algorithms and Applications, ch. 5. CRC Press, Boca Raton (2008)
Wen, X., Vishkin, U.: PRAM-on-Chip: First Commitment to Silicon. In: Proc. of SPAA, pp. 301–302 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Caminiti, S., Petreschi, R. (2010). Parallel Algorithms for Encoding and Decoding Blob Code . In: Rahman, M.S., Fujita, S. (eds) WALCOM: Algorithms and Computation. WALCOM 2010. Lecture Notes in Computer Science, vol 5942. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11440-3_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-11440-3_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11439-7
Online ISBN: 978-3-642-11440-3
eBook Packages: Computer ScienceComputer Science (R0)