North-Holland Microprocessing and Microprogramming 24 (1988) 647-654 647 A VLSl SYSTOLIC ARCHITECTURE FOR FUZZY CLUSTERING E.L. Zapata, R. Doallo, F.F. Rtvera and M.A. Ismatl* Dept. ElectrSntca. Facultad de Fisica. Univ. Santiago de Compostela. Santiago. Spain. (*) School of Computer Science. Univ. of Windsor. Windsor, Ontario. Canada NgB 3P4. This article presents a VLSI systolic architecture for fuzzy clustering based on the Fuzzy C-Neans algorithm. The architecture was designed using Moldovan's method. We describe the architectural configuration of the vartous systolic sub-arrays, the data flow scheme and the internal structure of each of the processing elements, and we analyse the algorithmic complexity of the design. The modularity and regularity of the proposed architecture make it readily susceptible to VLSI implementation. 1. INTRODUCTION A systolic array ts composed of a collection of processing elemonts (PEs) that are capable of performing simple operations (addition, multi- pltcatton, comparison, etc.) and are intercon- nected by local communication lines to form a regular topology. The simplicity and uniformity of the PEs of a systolic array, and the regula- rity of their tnterconnectlons, facilitate VLSI implementation by reducing design costs to a minimum [ 1 ] . There have been numerous attempts to develop a general method for realizing algorithms in the form of systolic architectures, among them those of Noldovan [2-4] and Mtranker [5], who define linear transformations of data-dependen- ce vectors. Quinton [6] obtains systolic arrays by applying affine transformations to systems of uniform recurrence equations. • Solutions based on the formulation of the problem in terms of graph theor~ have been investigated by Ramakrtshnan et al. [7], and Chen [8] has deve- loped a design process that begins by speci- fying the algorithm tn the parallel programming language CRYSTAL, which then subjects the tnt- tial specification to a series of transforma- tions until it is suitable for systolic Imple- mentation. Ftnally, Navarro et al. [9] have published a new method of partitioning and restructuring data that allows a wide range of matrix problems to be solved using the DBT transformation (Dense-to-Band matrix transfor- mation by Triangular block partitioning). The current state of VLSI microelectronics technology and the availability of design pro- cesses such as the above have encouraged the idea of implementing clustering techniques at the hardware level. The iterattve nature of clustering algorithms makes heavy demands on CPU time one of their greatest limitations, even for quite small data sets. Systolic archi- tectures for solvtng clustering problems have previously been published by Nt and Jain [10] and Hwang and Su [11], among others (for a general survey of pattern recognition by systo- lic VLSI machines, see Ref.[12]). The basic idea of fuzzy clustering is that each data point, rather than being assigned to a single cluster, is distributed among all the clusters present in a way described b~ an asso- ciated membership function. Dunn's [13] first fuzzy version of one of the most popular clustering techniques, that based on the mini- mizatton of within-group squared error or va- riance, was generalized by Dezdek, who proved the convergence of an infinite family of fuzzy C-means (FCM) algorithms [14] whose local opti- moltty has been studied by Seltm and Ismatl [15]. This paper presents a systolic architecture for fuzzy clustering based on the FCM algorithm [16]. It was designed following the basic pro- cedure of Moldovan, which is well fitted to FCM. Zn Section 2 below we briefly describe FCN; the systolic architecture for FCN is pre- sented tn Section 3; and its performance is analysed tn Section 4. 2. FUZZY C-MEANSCLUSTERING Given N P-featured data points defining the matrix X = (Xo,X 1..... XN I ) , Xi c R P, the aim of fuzzy clustering ts to ;ssign each X i a momber- ship function U;: n--> [0,1], ~= { ~n,..,nr~}, ~j--> ujl, gt~ing optimal degrees 6f moib~r- ship tn C clusters ~ . Each membership function ts to be normaltied sothat its values sum to unity. In fuzzy C-moans clustering, the membership functions are found by minimizing the objective function N-! C-1 f(u,v;x) =~ ~ (uji~llXi - vj II 2 i=0j=0 subject to ujl ~ 0 c-t (0~ j~ C-1, O~ i ~ N-l) uji = 1 j=0 where m > 1, M.II is an inner product induced norm on IF, and V = (Vo, .... Vc_l) is the matrix of cluster centres Vj given by N-I N-I Vjl= .E (Uji)taXi1 / i~o(UJl )m (O<I<P-1) (1)