A quorum sensing inspired algorithm for dynamic clustering The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation Feng Tan, and Jean-Jacques Slotine. “A Quorum Sensing Inspired Algorithm for Dynamic Clustering.” 52nd IEEE Conference on Decision and Control (December 2013). As Published http://dx.doi.org/10.1109/CDC.2013.6760733 Publisher Institute of Electrical and Electronics Engineers (IEEE) Version Original manuscript Accessed Fri May 27 00:00:50 EDT 2016 Citable Link http://hdl.handle.net/1721.1/97722 Terms of Use Creative Commons Attribution-Noncommercial-Share Alike Detailed Terms http://creativecommons.org/licenses/by-nc-sa/4.0/ arXiv:1303.3934v1 [cs.LG] 16 Mar 2013 A Quorum Sensing Inspired Algorithm for Dynamic Clustering Feng Tan1 and Jean-Jacques Slotine2∗‡† March 19, 2013 Abstract Quorum sensing is a decentralized biological process, by which a community of cells with no global awareness can coordinate their functional behaviors based on cell-medium interaction and local decision making. This paper draws inspirations from quorum sensing and colony competition to study the clustering problem. We propose an algorithm treating each data as a single cell, utilizing the knowledge of local connectivity to cluster cells into multiple colonies simultaneously. The algorithm consists of two stages: first, it spots sparsely distributed “core cells” and determines for each cell its influence radius; second, core cells secrete “auto-inducers” that diffuse into the environment to form colonies. Interactions between colonies eventually determine each cell’s identity. We combine the two steps into a dynamic process, which gives the algorithm flexibility to analyze both static and time-varying data. Finally, we test our algorithm on several applications, including synthetic and real benchmarks datasets, alleles clustering, and dynamic systems grouping and identification. The results suggest that our algorithm performs as well as other cutting-edge methods on static data, while applications on time-varying data like locations of swarms of robots are also promising. 1 Introduction Quorum Sensing [1] [2] [3] [4] is a decentralized biological process, by which a community of bacteria cells interact with environment locally with no awareness of global information. Each cell secretes auto-inducers that diffuse into local environment and build up concentration. These auto-inducers may be captured by ∗1 Nonlinear Systems Laboratory, Massachusetts Institute of Technology, Cambridge, MA 02139, USA fengtan at mit.edu †2 Nonlinear Systems Laboratory, Massachusetts Institute of Technology, Cambridge, MA 02139, USA jjs at mit.edu ‡ *This work was sponsored in part by a grant from the Boeing Corporation receptors, which can activate transcription of certain genes equipped in the cell. In V. fisheri cells, the receptor is LuxR and the mechanism is shown in Fig.1. When few cells exist in the neighborhood, diffusion kejpg the density of the inducers low, so that no functional behavior will be initiated. However, when the concentration reaches a certain threshold, a positive feedback loop is triggered to secrete more and more auto-inducers and fully activate the receptors. Specific genes are transcribed, and relevant function or behavior expressed by the genes will be performed collectively. We find that cluster analysis in computer science closely resembles this quorum-searching phenomenon. So in this paper we associate these two parts with each other to develop a novel algorithm. Cluster analysis is to separate a set of unlabeled objects into clusters, so that objects in the same cluster are more similar. Currently, many clustering algorithms have been studied, such as hierarchical clustering (CURE [5], BIRCH [6]), centroid-based clustering (K-means [7]), distribution based clustering (expectation-maximization algorithm), density based clustering (DBSCAN [8]) and spectral clustering (Normalized Cuts [9], Power Iteration Clustering [10]). However, current techniques suffer from several limitations: many algorithms require input of cluster number; sensitivity to outliers and noise often influences clustering results; some algorithms fail to adapt to clusters with different density or arbitrary shape. However, these problems seem to be easily solved in nature by herds of animals, flocks of birds, schools of fish and colonies of cells, whose robustness and flexibility far exceed artificial algorithms. Consequently, it is plausible to learn from nature for new clustering algorithms. Biological insights can inspire new algorithms [11], like work of Yehuda et al. on borrowing ideas from biology to solve the maximal independent set problem [12]. We think they can also inspire connections between dynamic system control and machine learning algorithms. First, a biologically inspired learning algorithm can be converted into a dynamical process, which suits for real-time control requirements. Second, biological processes handle well with failures and dangers which is similar with the robustness and stability requirements for learning algorithms and dynamic control. Third, biological processes are mostly distributed systems, which may inspire local decision making strategies to control swarms of dynamic systems. In this case bridging dynamic system control with machine learning through biology inspired algorithms is promising. In this paper, we develop a clustering algorithm inspired by quorum sensing and colony competition. It is not only able to perform clustering on benchmark datasets, but also easy to be integrated with dynamic systems and control strategies. With further extensions made possible through this integration, control theory would be more intelligent and flexible. For the following parts of the paper, we describe details of our algorithm in the second section. Then, we test our clustering algorithm with several experiments. Lastly, we discuss about the results shown in the previous sections, and discuss about future works and extensions. Figure 1: Quorum sensing model 2 Algorithm Model To design the algorithm, we model the biological process of quorum sensing and colony competitions, including the auto-inducer density model, the local tuning policy, the colony establishments, interactions between and inside colonies and colony splitting and merging processes. 2.1 Gaussian Distributed Density Diffusion We treat every data as a single cell and use the Gaussian kernel function to describe secretion of auto-inducers as: f (~x, ~xi ) = e − k~ x−~ xi k2 σi 2 (1) We use Gaussian distribution because it constrains the influence of any single cell in a local region. And the σi can be considered as “influence radius” representing the secretion ability of each cell. In such way, we can map all the data into a kernel matrix Mn×n − mij = f (~xi , ~xj ) = e k~ xi −~ x j k2 σj 2 (2) As we know that, f (x, ~xi ) is cell i’s influence over environment. So mij is the influence from cell j to cell i. Moreover, d~ = M ×~1n×1 is the vector representing local density of all the cells, where di = n X j6=i mij = n X e − k~ xi −~ xj k2 σj 2 (3) j6=i If the density of a certain cell is high, we say this cell is “recognized” and located in a well-established colony. Also it will be sensible to set a threshold on mij to make M sparse, since we only want the cells connected with their local neighbors. 2.2 Local Decision for Influence Radius Tuning Cells tune their influence radius to connect with neighbors and maintain local density. We design the process to minimize a “hunger factor”, which is the error between the density vector and a goal vector as ~a = a · ~1n×1 , then ~a − d~ is the error or the “hunger factor” vector. The “hunger factor” information can be carried with the auto-inducers whose needed input is the local density that can be sensed locally. We use the quadratic error as the cost function: Vdensity = ka · ~1n×1 − M · ~1n×1 k2 To minimize it, we take the time derivative of Vdensity d ~ 2 k~a − dk dt d ~ T (~a − d) ~ (~a − d) dt ~ ~ T d (d) = −2(~a − d) dt ~ T ( ∂ d) ~ ~σ˙ = −2(~a − d) ∂~σ = (4) ∂ ~ We name the Jacobian matrix as J = ( ∂~ σ d) 2k~ x −~ xj k2 − i Then Jij = σj3 Proposition I. e k~ xi −~ x j k2 σ2 j ~ ~σ˙ = J T (~a − d)(∗) With this tuning policy for ~σi ’s, we can have d ~ T JJ T (~a − d) ~ ≤0 Vdensity = −2(~a − d) dt In more details, σ̇i = X Jji (a − dj ) j6=i = 2 X k~xi − ~xj k2 j6=i σi3 e − k~ xi −~ x j k2 σ2 i (a − dj ) (5) Here, each term is composed of two parts: the (a − dj ) term represents the “hunger factor” of surrounding cells, and the Jji part represents cell i’s potential to satisfy their needs. However, this proposition is easy to trigger “over-fitting” or get trapped in local minimums. Ill-posed results, such as “super cells” with infinite influence radius, may emerge. On the other hand, it is not feasible for distributed computation like swarms of robots since for any robot to make decisions, it needs complete information of all other agents. Proposition II. ~ + β(M − D)~σ − α~σ + f~init ~σ˙ = J T (~a − d) We regularize the equation in Proposition I. with terms concerning kσk and n P mij (σj − σi ). For β(M − D)~σ , we add the term based on the assumption j6=i that cells near each other have similar secreting ability. The D matrix is a n P diagonal matrix, with the entries Dii = mij . So the ith term in the vector j6=i β(M − D)~σ equals to n P mij (σj − σi ), which provides diffusive bonding between j6=i cells’ influence radius in a neighborhood. Also, we add inhibition term −α~σ , so that no “super cell” will emerge despite of existing needs, due to dissipation and its own capability, as it is in nature. The f~init term provides initial actuation to expand the influence radius, which disappears after most of the cells have been connected with their neighbors. It can be regarded as an exploration stage searching local communities. Yet still, this proposition requires global information. Proposition III. ~ + β(M − D)~σ − α~σ + f~init ~σ˙ = M (~a − d) (6) ~ We propose the local tuning policy, replacing J T with matrix M . Here M (~a − d) is the local hunger factor vector accumulated at the location of each cell, which is the driving force tuning the ~σ . When the local environment appears to be “hungry” (local hunger factor is positive), the cell tends to increase its influence radius to satisfy the demand, and vice versa. Our algorithm is more biologically reasonable in this case: the auto-inducers secreted by cells carry the demand information, and spread as the density distribution. Assume that influence radius in the same colony are mostly similar, then k~ x −~ x k2 M ≈ M T , thus all entries in J T only adds a proportional term i σ3 j before j mij . So intuitively, M should be a good approximation. Moreover, we use contraction analysis [13] to prove the convergence of both Proposition II and III. Contraction analysis proposes that for the system ~x˙ = f (~x, t), if there exists a constant β > 0, such that for ∀~x, ∀t ≥ 0 1 ∂f ∂f T ( + ) ≤ −βI < 0 2 ∂~x ∂~x then all solutions converge exponentially to a single trajectory, independent of the initial conditions. More details with other complex metrics can be referred to [13]. For both propositions, we treat them as ~σ˙ = f (~σ ) − α~σ , with the ∂f Jacobian matrix F = ∂~ σ . For Proposition II, after rescaling the data such that 2 2 ∀i, j, k~xi − ~xj k > a |Fi,j | = ≤ 2k~xi − ~xj k4 3k~xi − ~xj k2 − |e 6 σj σj4 3a 3 ≤ k~xi − ~xj k2 a 2| k~ xi −~ xj k2 σ2 j Assume after setting a threshold for mij ’s each cell has less than 5a neighbors, P ˙ then | j Fij | ≤ 15, so make α = 15, we can have ∂∂~~σσ = F − αI as a negative diagonally dominant matrix, so that the system is contracting, and converging to a single equilibrium. For Proposition III, after rescaling the data such that ∀i, j, k~xi − ~xj k > a2 |Fi,j | = | X j ≤ 2k~xi − ~xj k2 e mij σj3 k~ xi −~ x j k2 σ2 j | a 1 ≤ k~xi − ~xj k a P Similarly with the less than 5a neighbors assumption, | j Fij | ≤ 5, make α = 5, we have the system for Proposition III contracting, and converge to a single equilibrium. The convergence proof by contraction analysis is relatively conservative. In our simulations, we can get the system converging to a stable equilibrium with much smaller α choice. 2.3 Colony Establishments and Interactions In quorum sensing, when the concentration surpasses a predefined threshold, cells begin to produce specific functional genes to perform group behavior. In our algorithm, we use this trait as the criterion for establishing a colony. When the density of a cell belonging to no colony, di surpasses a predefined threshold, we establish a new jth colony originating from it and add a n × 1 colony vector ~cj into the colony matrix C, where C = [c~1 , c~2 , ..., cj−1 ~ ], with the only non-zero entry as 1 in the ith term, which is also Cij . In the Normalized Cuts algorithm [9], which is a cutting edge spectral clustering algorithm widely used for image segmentation tasks, it is designed to minimize the cost function: N cuts(A, B) = cut(A, B) cut(B, A) + assoc(A, V ) assoc(B, V ) where cut(A, B) = X mij i∈A,j∈B and assoc(A, V ) = X i∈A mij We design the colony interactions to minimize a cost function similar to the Normalized Cuts: X γX T Vcolony = ~cTi (M + M T )~cj − ~c (M + M T )~ci 2 i i i6=j X T X T ~c˙i (M + M T )~cj − γ ~c˙i (M + M T )~ci V̇colony = i i6=j = X T ~c˙i (M + M T )(~ce − (γ + 1)~ci ) i Here, ~ce = P ci i~ Consequently, by making ~c˙i = −(M + M T )~ce + (γ + 1)(M + M T )~ci V̇colony = − ≤ 0 X (~ce − (γ + 1)~ci )T (M + M T )2 (~ce − (γ + 1)~ci ) i We can also transform the interaction equations into a matrix form, where Ce is a matrix with every column same as ~ce : Ċ = −(M + M T )Ce + (γ + 1)(M + M T )C Summing all colony vectors to achieve the environmental colony vector ~ce also follows the idea of quorum sensing to simplify the calculation through using global variable updates instead of calculating every component. Here all entries in C are saturated in the range of [0, 1]. The interactions between colonies are composed of two parts, one part is the mutual inhibitions between colonies, and the other is self-promotion of colonies into the environment. When initially the colonies have not yet been well developed, there is only colony self-expanding, like a neighbor-to-neighbor infection. After the colonies have been expanding for a while, some colonies become neighboring to each other, and the mutual inhibition comes into effect. So finally, it will be a balance between self-expanding and inhibitions from others. Furthermore, we can explain the interaction in a micro view at the boundary of two competing colonies as shown in Fig.2: suppose that we have two colonies A and B neighboring with each other, with colony vector as ~cA and ~cB respectively. For a single cell i in the boundary area between the two colonies, following the interaction rules, X X ċAi = − (mij + mji )cBj + γ (mij + mji )cAj j ċBi j X X =− (mij + mji )cAj + γ (mij + mji )cBj j j When γ = 1, it is obvious that ċAi = −ċBi , P so if accumulated influence P from colony A is larger than from colony B, as (m + m )c > ij ji Aj j j (mij + mji )cBj , then finally cAi = 1, cBi = 0, vice versa. Eventually each row in C will have at most one non-zero entry as 1, on the column, whose colony has most accumulated influence towards the cell. γ is the parameter measuring the relative strength of inhibition and expanding forces: when γ < 1, the inhibition force is enhanced, there might exist some blank boundaries between colonies. While when γ > 1, it is easier for the colony factors to spread into neighboring colonies. So at the beginning, it would be wise to tune up γ, to speed up newborn colonies growing, and enhance distributed small colonies merging. Later when colonies have become stable, we can tune γ back to 1 to achieve a distinct clustering result. Figure 2: The interactions between two colonies 2.4 Colony Merging and Splitting Among the established colonies, some may be well connected to each other, while also there may be new colonies. Such scenarios require rules for merging and splitting colony parts. We calculate the ratio between inter colony connections and intra colony connections as a criterion measuring the merging possibility for one colony into another: rij = ~cTi (M + M T )~cj ~cTi (M + M T )~ci (7) We set a threshold, such that if rij is large enough, colony i is merged into colony j. On the other hand, there may be occasions that new clusters are split from previous colonies. So we set a continuity detecting vector s~i for each colony: the evolution of s~i follows the same rules of colony interactions. When the detecting process reaches a stable equilibrium, we restart it all over again. Cells identified as outliers in each iteration are marked as “no longer recognized” and become available for forming new colonies upon again. 2.5 Clustering Result Finally, we get the result by choosing the maximal entry of each row in matrix C, that determines the colony identity of each cell. And cells with null rows are regarded as outliers. Pseudo Code of the proposed algorithm is presented below: 1. Initialize ~σ as ~0, form the M matrix, set the parameters a, b, β, γ 2. Begin the process: ~ + β(M − D)~σ − α~σ + f~init ~σ˙ = M (~a − d) Detect new cluster: if ∃di > b(b ≤ a) and cell i not recognized by any colony create a new colony using cell i as core cell end Ċ = −(M + M T )(Ce − C) + γ(M + M T )C Ṡ = −(M + M T )(Se − S) + γ(M + M T )S Cluster segmented detection: if in the stable state, S 6= C update C = S and accept new born clusters endT ~ c (M +M T )~ c rij = ~ciT (M +M T )~cji i Cluster merging: if ∃rij > 0.2, i 6= j then we can merge the colony i into colony j end 3. Achieve the clustering results by counting the C matrix For the parameters choices: γ defines the ability of mutual penetration and crossing density gaps. So with larger γ, colonies are more inclined to merge. β measures similarities of σi ’s in local neighborhood. Larger β would result in smoother σi ’s distribution, yet potentially rugged density distribution. a measures sparsity of the connection graph. With a more connected graph, we tend to have fewer clusters, and vice versa. Hence, we have some basic rules to tune the parameters: if the result suggests fewer clusters than we expect, we can tune down a and γ, and if the influence radius of some cells become too large, we can tune up β and α. In the future, we can design rules tuning parameters dynamically according to our expectations. 3 Experiments We test our algorithm on several applications, including synthetic and real benchmarks datasets, alleles classifications, and dynamic systems grouping and identification. 3.1 Synthetic Benchmarks Experiments We provide the clustering results on four difficult synthetic occasions that are nonlinearly separable and follow no specific distribution: the two-chains model, the double-spirals model, the two moons model and the island model. The results are shown in Fig. 3 proving that influence radius tuning ensures that the density distribution closely fits the topology of data, which provides distinct separation boundaries. Figure 3: Clustering results on synthetic benchmarks 3.2 Real Benchmarks Experiments Iris flower dataset The Iris flower dataset [14], introduced by Sir Ronald Fisher, consists of 150 instances forming 3 clusters, of which two are only nonlinearly separable. Pendigits dataset The Pendigits datasets [15] is a multivariate dataset of 10992 instances, each with 16 attributes. We randomly choose 1000 instances for clustering. Also, we build two subsets of the dataset to test: PenDigits01(easier) and PenDigits17(harder), with digits “0”, “1” and “1”, “7”, respectively. Polbooks dataset PolBooks [16] is a co-purchase network of 105 political books. Each book is labeled “liberal”, “conservative”, or “neutral”, mostly in the first two category. Here we compare our results with cutting-edge algorithms including Normalized Cuts [9], Ng-Jordan-Weiss algorithm [17] and Power Iteration Clustering [10], shown in Table 1. For the Iris dataset, our performance is comparable to the cutting edge methods. For the Pen-digits data, we can cluster 10 classes simultaneously with overall correctness rate 86.6% while other methods don’t have such ability. Moreover, for the two subcases, we outperform the comparisons. For the network segmentation task of Polbooks dataset, although our algorithm is not designed specifically to solve such tasks, the segmentation result is still very satisfying. Table 1: Clustering result comparison with NCut, NJW and PIC NCut NJW PIC Ours Dataset Instances Clusters (%) (%) (%) (%) Iris Pendigits PenDigits01 PenDigits17 Polbooks 3.3 150 1000 200 200 105 3 10 2 2 3 67.3 80.7 98.0 100.0 75.5 84.8 100.0 75.5 82.3 100.0 75.5 86.7 97.3 86.6 100.0 81.5 83.8 Novel Experiment on Application for Alleles Clustering As introduced in [18], it is very important to understand the similarities of DRB (HLA-DR chain) alleles for the designation of high population coverage vaccines through classifying the supertypes of them. In the work of [18], WenJun et al. analyzed on 559 DRB alleles, and proposed a kernel matrix based on BLOSUM62 matrix measuring the distance between the alleles as DL2 (a, b) = ( 1 1 X 3 3 (K̂N (a, c) − K̂N (b, c))2 ) 2 kN k c∈N So we utilize proposed distance in our Gaussian kernel, with the same tuning policy. The clustering result compared to [18] is shown in Table 2. Our result has no misclassification errors. The only difference is that the 25 alleles classified as outliers have been classified into some clusters in [18] using hierarchical clustering methods. Outliers such as DRB5*0112, DRB1*1525, DRB1*1425, DRB1*1442, DRB1*1469 and DRB1*0832 are discussed as exceptions in their result, which makes their classification more doubtful. Also we share same conclusions on exceptions like DRB1*0338, DRB3*0115; and likewise classify DRB1*1440 , DRB1*1469, DRB1*1477, DRB1*1484, DRB1*14116 and DRB1*14102 into the ST8 supertype. This experiment proves that our algorithm is effective on clustering multiple clusters simultaneously for alleles clustering data, and also our results support the conclusions of Wen-jun et al.’s work on the mathematical foundation analysis of amino acid chains. The detected outliers may lead further analysis and provide potential directions to biological researchers. Table 2: Clustering result comparison of alleles clustering Supertype Number of Alleles Misclassified Outliers ST52 43 0 0 ST3 63 0 6 ST6 100 0 2 52 0 2 ST8 ST4 93 0 6 68 0 1 ST2 ST5 34 0 1 ST53 6 0 0 ST9 16 0 1 ST7 18 0 1 ST51 15 0 0 ST1 34 0 2 ST10 3 0 3 25 0 25 Overall 3.4 Experiments on Dynamic System Grouping In this section, we introduce applications on clustering dynamic systems, which show our capability to deal with time varying data in a continuous way. The clustering results that we achieve are flexible and changing according to the distribution of data, which can be regarded as an integral over time. 3.4.1 Application I. Real-time clustering of mobile robots In natural colonies like fish schools or hordes of buffalos, groups merging and splitting are so smooth and elegant, which gives the colonies flexibility to deal with obstacles and dangers. Our first application is to cluster time-varying data such as locations of working mobile robots imitating the phenomenon. Also as explained in [19], synchronization will enhance the ability to resist noise and improve robustness of the whole network. So potentially, we can couple agents in the same group, to achieve synchronization by forming contracting Lagrangian systems as introduced in [20] and [21]. Such dynamic grouping and coupling would help enhance control performance, which can be analyzed in the future. In our simulation, 200 robots are located as the previously introduced twomoon dataset, moving around their center locations with radius of 0.5 and random speed. During that time, 30 new robots join the group, and also some robots migrate to form new clusters. We update the distance matrix D and influence matrix M continually. For potential real world application, we can use electromagnetic field emitters, and electromagnetic field intensity sensors to actualize the designed mechanism, replacing the agent-to-agent communications with agent-environment-agent interactions, which is the core idea of quorum sensing. From video1 and Fig.5, we can see that the cluster number is first merged down to 3 clusters, and then varies with the merging and splitting events, exactly describing the real-time variation of the robots migration. And shown in Fig.4, the influence radius tuning is capable of handling local density variations: it is tuned down responding to a local high density, and vice versa, to preserve balance. The results prove our capability of dealing with time varying data by using the accumulated information to do dynamic clustering, and handling variations of cluster numbers as well. The results also suggest that using our algorithm to group dynamic systems is feasible and further applications on synchronization and coordination are promising. Figure 4: Variation of density and influence radius of a single cell Figure 5: Cluster numbers of over the simulation time 3.4.2 Application II. Multi-model switching As introduced in [22] [23], multi-model switching control could improve the transient control performance and precision. Here we propose a new method for multi-model switching control: 1 http://www.youtube.com/watch?v=EshxTGNpQC4 Suppose we have a system with unknown parameters, however we know that there are limited possible choices of parameters configuration. 1. Initially, we use adaptive control to assure acceptable performance. Simultaneously, we have tens of virtual systems simulating with the same control input whose parameters scatter around the pre-known choices. 2. When the density of virtual system is stable after tuning, we calculate local density of the real system: dr = n X e − ~r −f ~ k2 kf i σ2 i (8) i where f~r and f~i are Fourier transform vectors of the input of the real system and virtual systems. 3. If dr exceeds a predefined threshold, we know the real system belongs to a virtual cluster. Hence we can get the real parameters and switch to robust control. 4. Further, if the parameters vary again, by detecting dr dropping down, we can resume adaptive control and wait for the next time that dr surpasses the threshold. For experiment, we use 60 virtual dynamic systems as mi ẍi + bi |ẋi |ẋi + ki xi = ui , mi , bi , ki are unknown constants. The parameters mi , bi , ki are scattered around three known choices: [4, 3, 2], [2, 4, 3] and [3, 2, 4], with 20 systems each. And we have a “real” system, whose parameters mr , br , kr are set as [4,3,2] initially, and then changed to [2,4,3]. Assume the task is to track the trajectory of xd (t). According to adaptive control theory, we need control law: u = m̂(ẍd − λ(ẋ − ẋd )) + b̂|ẋ|ẋ + k̂x − k1 s (9) where s = x̃˙ + λx̃, k1 > 0 is a constant, and adaptive law: ˙ = −s(ẍd − λ(ẋ − ẋd )) m̂ ˙ b̂ = −s|ẋ|ẋ ˙ k̂ = −sx Since we know m̃(ẍd − λ(ẋ − ẋd )) + b̃|ẋ|ẋ + k̃x converges to 0 asymptotically and thus u ≈ m(ẍd − λ(ẋ − ẋd )) + b|ẋ|ẋ + kx, systems with similar parameters require similar inputs. So that we can use the input Fourier transform vector to measure distance between systems in our algorithm. As we can see from the simulation results Fig.6 and Fig.7, soon after the multi-model switching starts at t = 10 seconds, the density of the real system surpasses the threshold 5, and the parameters are estimated correctly. After the parameters change at t = 20 seconds, sharply the density drops along with the Figure 6: Parameter estimations of the real system Figure 7: Density of the real system control mode switched to adaptive control. After about another 10 seconds, the density is high again, and the system is correctly estimated with new parameters. With the applications above, we show the potential of combining our algorithm with dynamic systems. The algorithm attempts to imitate the smooth grouping and coordination of natural colonies and the results prove the reliability of proposed algorithm. 4 CONCLUSIONS This paper presents our dynamic clustering algorithm inspired by quorum sensing as a potential bridge between machine learning and control. Experiments on different types of unlabeled datasets show that our algorithm performs as well, if not better, as some cutting edge clustering methods on static datasets and performs well on dynamic clustering tasks. Our algorithm’s advantage over existing algorithms can be concluded as: 1. Since the influence radius is tuned to preserve local connectivity, we can adapt to clusters with different sizes and variations. We can cluster nonlinearly separable data that follow no specific distribution, and handles noise and outliers well. 2. Our decentralized algorithm is potentially suitable for parallel and dis- tributed computation. Potential applications on real mobile robots would replace agent-agent communications with agent-environment interactions. 3. We can cluster multiple colonies simultaneously. And the segments are dynamically adjusted through smooth merging and splitting. 4. The algorithm is dynamic, which is easy to be combined with real mechanical systems. Novel control that is more flexible and robust theory for coordinating complex systems may emerge. The overall computation complexity would be O(n)3 with single processor. However, if we use the algorithm on real robots clustering, with distributed computation, the computation of single robot would be hugely reduced to linear time. For future work, first, we will conduct further research developing rules dynamically tuning the parameters. Second, for dynamic systems’ metrics, we may need various better methods for extracting feature vectors rather than just analyzing the fast Fourier transform vector of the inputs. Third, we will look into the possibilities of using our clustering algorithm on much more applications involved with dynamic systems. And last but not least, we will develop new control theories that utilize the information gained from our novel algorithm, to further improve control performance and synchronization with more natural self-organizing coordination. References [1] M.B. Miller and B.L. Bassler. Quorum sensing in bacteria. Annual Reviews in Microbiology, 55(1):165–199, 2001. [2] C.M. Waters and B.L. Bassler. Quorum sensing: cell-to-cell communication in bacteria. Annual Review of Cell and Developmental Biology, 21:319–346, 2005. [3] T.D. Seeley and P.K. Visscher. Group decision making in nest-site selection by honey bees. Apidologie, 35(2):101–116, 2004. [4] S.C. Pratt. Quorum sensing by encounter rates in the ant temnothorax albipennis. Behavioral Ecology, 16(2):488–496, 2005. [5] S. Guha, R. Rastogi, and K. Shim. Cure: an efficient clustering algorithm for large databases. volume 27, pages 73–84. ACM SIGMOD Record, 1998. [6] T. Zhang, R. Ramakrishnan, and M. Livny. Birch: an efficient data clustering method for very large databases, 1996. [7] J.A. Hartigan and M.A. Wong. Algorithm as 136: A k-means clustering algorithm. Journal of the Royal Statistical Society. Series C (Applied Statistics), 28(1):100–108, 1979. [8] M. Ester, H.P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in large spatial databases with noise. volume 1996, pages 226–231. AAAI Press, 1996. [9] Shi Jianbo. Normalized cuts and image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22:888–905, 2000. [10] F. Lin and W.W. Cohen. Power iteration clustering. ICML (to appear), 2010. [11] S. Navlakha and Z. Bar-Joseph. Algorithms in nature: the convergence of systems biology and computational thinking. Molecular Systems Biology, 7(546), 2011. [12] Y. Afek, N. Alon, O. Barad, E. Hornstein, N. Barkai, and Z. Bar-Joseph. A biological solution to a fundamental distributed computing problem. Science’s STKE, 331(6014):183, 2011. [13] W. Lohmiller and J.J.E. Slotine. On contraction analysis for non-linear systems. Automatica, 34(6):683–696, 1998. [14] R.A. Fisher. The use of multiple measurements in taxonomic problems. Annals of Human Genetics, 7(2):179–188, 1936. [15] F. Alimoglu and E. Alpaydin. Combining multiple representations and classifiers for pen-based handwritten digit recognition. In Proceedings of the Fourth International Conference on Document Analysis and Recognition, volume 2, pages 637–640 vol. 2. IEEE, 1997. [16] Mark EJ Newman. Finding community structure in networks using the eigenvectors of matrices. Physical review E, 74(3):036104, 2006. [17] A.Y. Ng, M.I. Jordan, and Y. Weiss. On spectral clustering: Analysis and an algorithm. Advances in neural information processing systems, 2:849– 856, 2002. [18] W.J. Shen, H.S. Wong, Q.W. Xiao, X. Guo, and S. Smale. Towards a mathematical foundation of immunology and amino acid chains. Arxiv preprint arXiv:1205.6031, 2012. [19] N. Tabareau, J.J. Slotine, and Q.C. Pham. How synchronization protects from noise. PLoS Computational Biology, 6(1):e1000637, 2010. [20] Q.C. Pham and J.J.E. Slotine. Stable concurrent synchronization in dynamic system networks. Neural Networks, 20(1):62–77, 2007. [21] S.J. Chung and J.J.E. Slotine. Cooperative robot control and concurrent synchronization of lagrangian systems. IEEE Transactions on Robotics, 25(3):686–700, 2009. [22] K.S. Narendra and J. Balakrishnan. Adaptive control using multiple models. IEEE Transactions on Automatic Control, 42(2):171–187, 1997. [23] K.S. Narendra, J. Balakrishnan, and M.K. Ciliz. Adaptation and learning using multiple models, switching, and tuning. Control Systems, IEEE, 15(3):37–51, 1995.