Parallel sort on a linear array of cellular automata
暂无分享,去创建一个
A cellular automata machine (CA machine) is a structure of interconnected elementary automata, evolving in a parallel and synchronous way. In this paper, we analyse the CA Machine as a general computing structure in which specific computations on the input data must be done. We extend the standard definition of cellular automata to include some requirements of memory to store data, also with some rules to detect the end of the computations and to obtain a result. To validate and illustrate the computations on the CA machine, we present the analysis and implementation of parallel sort algorithms. We describe algorithms, in which each automata cell has a key to be ordered. The sort is performed by the exchange of keys between cell neighbours. Rules are included in order that a cell chooses the neighbour with which the exchange (swap) will be performed, without knowing its cell index nor the length of the array. We show that the algorithm complexity of sorting n keys in those machines is linear on n.<<ETX>>
[1] Rommert J. Casimir,et al. Real programmers don't use spreadsheets , 1992, SIGP.
[2] Azriel Rosenfeld,et al. Parallel Image Processing by Memory-Augmented Cellular Automata , 1981, IEEE Transactions on Pattern Analysis and Machine Intelligence.