{"title":"聚类和线性布局","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":"{\"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}","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
摘要
Donald M. Schuler和Ernst G. Ulrich GTE实验室,Incorporated Waltham, Massachusetts .本文提出了两种算法,一种用于聚类一组相互连接的节点,另一种用于形成聚类相互连接节点的线性放置。线性布局算法需要将聚类的输出作为输入。设计这两种算法是为了分析数字逻辑的结构,以便在MOS/LSI芯片上自动放置逻辑功能,作为自动布局系统的一部分,到目前为止只用于该应用。然而,聚类算法可以用于分析任何无向图。这两种算法都是非迭代的,并且用很少的计算机时间提供非常好的结果。一、聚类算法聚类分析一组相互连接的节点,形成与其他组内部联系强、外部联系弱的组。互连节点集可以看作是一个无向图,每条边的权值等于节点i和节点j之间的连接强度Cij。只表示Cij > 0的分支。无向图由其连接矩阵C表示(其中Cij为节点i和j之间的连接强度)。由于大多数Cij = 0, Cij = Cji,因此使用稀疏半矩阵。这大大降低了存储需求。集群是以成对的方式完成的。为每一对相互连接的元素计算集群值,其中一个元素可以是一个节点,也可以是一个节点集群(当然,最初所有元素都是节点)。元素i和j的聚类值CVij由下式给出:CVij = f (s)C i ' + f (s)Ci。’(TI Cij) 3 (Tj Cij)(1)式中:Cij =元素i与元素j之间的连接强度TI =元素i的总连接强度Tj =元素j的总连接强度f (Si) =元素i大小的某函数f (Sj) =元素j大小的某函数假设f (Si) = f (Sj) = 1,聚类值(CV)的一些示例如图1所示。
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.