{"title":"Clustering and linear placement","authors":"Donald M. Schuler, Ernst G. Ulrich","doi":"10.1145/62882.62885","DOIUrl":null,"url":null,"abstract":"Donald M. Schuler and Ernst G. Ulrich GTE Laboratories, Incorporated Waltham, Massachusetts This paper presents two algorithms, one for clustering a set of interconnected nodes and the other for forming a linear placement of clustered interconnected nodes. The linear placement algorithm requires the output of clustering as an input. The two algorithms were designed to analyze the structure of digital logic for automatic placement of logic functions on a MOS/LSI chip as part of an automatic layoul system8 and so far have only been used for that application. However, the clustering algorithm could be used to analyze any undirected graph. Both algorithms are noniterative and provide very good results with small amounts of computer time. I. CLUSTERING ALGORITHM Clustering analyzes a set of interconnected nodes and forms groups that have strong internal connections but weak external connections to other groups. The set of interconnected nodes can be thought of as an undirected graph with a weight on each edge equal to the connection strength Cij between node i and node j. Only branches with Cij >o are represented. The undirected graph is represented by its connection matrix C (where Cij is the connection strength between nodes i and j). Since most Cij = 0 and Cij = Cji, a sparse half matrix is used. This greatly reduces storage requirements. Clustering is done in a pairwise fashion. A clustering value is calculated for each pair of interconnected elements where an element can be either a node or a cluster of nodes (initially, of course, all elements are nodes). The clustering value CVij for elements i and j is given by the following equation: cvij = f (S.) C i’ + f (S.) Ci. ’ (TI Cij) 3 (Tj Cij) (1) where: Cij = connection strength between elements i and j Ti = total connection strength to element i Tj = total connection strength to element j f (Si) = some function of the size of element i f (Sj) = some function of the size of element j Assuming that f (Si) = f (Sj) = 1, some examples of the clustering value (CV) are shown in Figure 1.","PeriodicalId":354586,"journal":{"name":"Papers on Twenty-five years of electronic design automation","volume":"67 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1988-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"43","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Papers on Twenty-five years of electronic design automation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/62882.62885","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 43
Abstract
Donald M. Schuler and Ernst G. Ulrich GTE Laboratories, Incorporated Waltham, Massachusetts This paper presents two algorithms, one for clustering a set of interconnected nodes and the other for forming a linear placement of clustered interconnected nodes. The linear placement algorithm requires the output of clustering as an input. The two algorithms were designed to analyze the structure of digital logic for automatic placement of logic functions on a MOS/LSI chip as part of an automatic layoul system8 and so far have only been used for that application. However, the clustering algorithm could be used to analyze any undirected graph. Both algorithms are noniterative and provide very good results with small amounts of computer time. I. CLUSTERING ALGORITHM Clustering analyzes a set of interconnected nodes and forms groups that have strong internal connections but weak external connections to other groups. The set of interconnected nodes can be thought of as an undirected graph with a weight on each edge equal to the connection strength Cij between node i and node j. Only branches with Cij >o are represented. The undirected graph is represented by its connection matrix C (where Cij is the connection strength between nodes i and j). Since most Cij = 0 and Cij = Cji, a sparse half matrix is used. This greatly reduces storage requirements. Clustering is done in a pairwise fashion. A clustering value is calculated for each pair of interconnected elements where an element can be either a node or a cluster of nodes (initially, of course, all elements are nodes). The clustering value CVij for elements i and j is given by the following equation: cvij = f (S.) C i’ + f (S.) Ci. ’ (TI Cij) 3 (Tj Cij) (1) where: Cij = connection strength between elements i and j Ti = total connection strength to element i Tj = total connection strength to element j f (Si) = some function of the size of element i f (Sj) = some function of the size of element j Assuming that f (Si) = f (Sj) = 1, some examples of the clustering value (CV) are shown in Figure 1.