Algorithm 1: STM(G) 1: V: set of nodes in Graph G 2: F(c): Transduction behavior function 3: S(v, w): arrived signal from node v to node w 4: C: the list of final clusters 5: PreClusters: the list of preliminary clusters 6: for each node pair(v, w) v, w ∈ V, v ≠ w do 7:    distance(v, w) ← the shortest path length from node v to node w 8:    set parameter c in function as F(c) as distance(v, w) 9:    signal(v, w) ← S(v→w)=d(v)∏i∈P(v,w)d(i)F(c) MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGtbWucqGGOaakcqWG2bGDcqGHsgIRcqWG3bWDcqGGPaqkcqGH9aqpdaWcaaqaaiabdsgaKjabcIcaOiabdAha2jabcMcaPaqaamaarababaGaemizaqMaeiikaGIaemyAaKMaeiykaKcaleaacqWGPbqAcqGHiiIZcqWGqbaucqGGOaakcqWG2bGDcqGGSaalcqWG3bWDcqGGPaqkaeqaniabg+GivdaaaOGaemOrayKaeiikaGIaem4yamMaeiykaKcaaa@4DCA@ 10: end for 11: for each node v ∈ V do 12:       v. representative ← select the best scored node w for node v 13:       if cluster_w == null then 14:          make cluster_w 15:          cluster_w.add(v) 16:          PreClusters.add(cluster_w) 17:       else 18:          cluster_w.add(v) 19:       end if 20: end for 21: C ← Merge(PreClusters)