OBJECT-ORIENTED DESIGN EVALUATION USING ALGEBRAIC GRAPH THEORY Spiros Xanthos, Alexander Chatzigeorgiou and George Stephanides Department of Applied Informatics,

Slides:



Advertisements
Similar presentations
Partitional Algorithms to Detect Complex Clusters
Advertisements

Statistical perturbation theory for spectral clustering Harrachov, 2007 A. Spence and Z. Stoyanov.
13 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Introduction.
Modularity and community structure in networks
Information Networks Link Analysis Ranking Lecture 8.
Graphs, Node importance, Link Analysis Ranking, Random walks
Information Networks Graph Clustering Lecture 14.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
1 Modularity and Community Structure in Networks* Final project *Based on a paper by M.E.J Newman in PNAS 2006.
Routing in WSNs through analogies with electrostatics December 2005 L. Tzevelekas I. Stavrakakis.
10/11/2001Random walks and spectral segmentation1 CSE 291 Fall 2001 Marina Meila and Jianbo Shi: Learning Segmentation by Random Walks/A Random Walks View.
DATA MINING LECTURE 12 Link Analysis Ranking Random walks.
1 Representing Graphs. 2 Adjacency Matrix Suppose we have a graph G with n nodes. The adjacency matrix is the n x n matrix A=[a ij ] with: a ij = 1 if.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 3 March 23, 2005
Link Analysis Ranking. How do search engines decide how to rank your query results? Guess why Google ranks the query results the way it does How would.
CS 584. Review n Systems of equations and finite element methods are related.
1 Authoritative Sources in a Hyperlinked Environment Jon M. Kleinberg Presented by Yongqiang Li Adapted from
Authoritative Sources in a Hyperlinked Environment Hui Han CSE dept, PSU 10/15/01.
example: four masses on springs
A Unified View of Kernel k-means, Spectral Clustering and Graph Cuts
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 3 April 2, 2006
Segmentation Graph-Theoretic Clustering.
Clustering (Part II) 11/26/07. Spectral Clustering.
Discrete Structures Chapter 7A Graphs Nurul Amelina Nasharuddin Multimedia Department.
A scalable multilevel algorithm for community structure detection
אשכול בעזרת אלגורתמים בתורת הגרפים
Link Analysis. 2 HITS - Kleinberg’s Algorithm HITS – Hypertext Induced Topic Selection For each vertex v Є V in a subgraph of interest: A site is very.
Application of Graph Theory to OO Software Engineering Alexander Chatzigeorgiou, Nikolaos Tsantalis, George Stephanides Department of Applied Informatics.
9.3 Representing Graphs and Graph Isomorphism
MATRICES. Matrices A matrix is a rectangular array of objects (usually numbers) arranged in m horizontal rows and n vertical columns. A matrix with m.
Stats & Linear Models.
Authoritative Sources in a Hyperlinked Environment Jon M. Kleinberg Presentation by Julian Zinn.
GRAPH Learning Outcomes Students should be able to:
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Models and Algorithms for Complex Networks Graph Clustering and Network Communities.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 2): Graphs  Graph Terminology (9.2)
1 CS104 : Discrete Structures Chapter V Graph Theory.
Spectral Analysis based on the Adjacency Matrix of Network Data Leting Wu Fall 2009.
Andreas Papadopoulos - [DEXA 2015] Clustering Attributed Multi-graphs with Information Ranking 26th International.
PROBABILITY AND STATISTICS FOR ENGINEERING Hossein Sameti Department of Computer Engineering Sharif University of Technology Mean, Variance, Moments and.
What is the determinant of What is the determinant of
Ranking Link-based Ranking (2° generation) Reading 21.
1 The 24th Clemson mini-Conference on Discrete Mathematics and Algorithms Oct. 22 – Oct. 23, 2009 Clemson University Algebraic Invariants and Some Hamiltonian.
Introduction to Graph Theory
Discrete Mathematical Structures: Theory and Applications
Relation. Combining Relations Because relations from A to B are subsets of A x B, two relations from A to B can be combined in any way two sets can be.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
- Murtuza Shareef Authoritative Sources in a Hyperlinked Environment More specifically “Link Analysis” using HITS Algorithm.
DM GROUP MEETING PRESENTATION PLAN Eigenvector-based Centrality Measures For Temporal Networks by D Taylor et.al. Uncovering the Small Community.
Spectral Graph Theory and the Inverse Eigenvalue Problem of a Graph Leslie Hogben Department of Mathematics, Iowa State University, Ames, IA 50011
Stats & Summary. The Woodbury Theorem where the inverses.
1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Christian Schindelhauer Search Algorithms Winter Semester 2004/ Dec.
 In the previews parts we have seen some kind of segmentation method.  In this lecture we will see graph cut, which is a another segmentation method.
Community structure in graphs Santo Fortunato. More links “inside” than “outside” Graphs are “sparse” “Communities”
A Tutorial on Spectral Clustering Ulrike von Luxburg Max Planck Institute for Biological Cybernetics Statistics and Computing, Dec. 2007, Vol. 17, No.
Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John Wiley.
Lecture 5 Graph Theory prepped by Lecturer ahmed AL tememe 1.
Computation on Graphs. Graphs and Sparse Matrices Sparse matrix is a representation of.
Properties and applications of spectra for networks 章 忠 志 复旦大学计算机科学技术学院 Homepage:
Chapter 9 (Part 2): Graphs
Section 7.4 Matrix Algebra.
Degree and Eigenvector Centrality
Segmentation Graph-Theoretic Clustering.
Prof. Paolo Ferragina, Algoritmi per "Information Retrieval"
Prof. Paolo Ferragina, Algoritmi per "Information Retrieval"
Walks, Paths, and Circuits
3.3 Network-Centric Community Detection
Properties and applications of spectra for networks
 = N  N matrix multiplication N = 3 matrix N = 3 matrix N = 3 matrix
12 Further mathematics Adjacency Matrices.
Presentation transcript:

OBJECT-ORIENTED DESIGN EVALUATION USING ALGEBRAIC GRAPH THEORY Spiros Xanthos, Alexander Chatzigeorgiou and George Stephanides Department of Applied Informatics, University of Macedonia, Thessaloniki, Greece Contact: GOALS 1.To identify and quantify heavily loaded portions of an object- oriented design by algorithmic means 2.To identify dense regions of classes in the system by spectral graph partitioning “GOD” CLASSES The outcome of the analysis/design phase is often one or more "God” objects, which perform most of the work in the system. Clearly, such a solution is not managing complexity any better than procedural programming and implies a poorly designed model. Paraphrasing Kleinberg [1]: A class c holds a central role in a model: a. if it receives many messages from other central classes (candidate of a good authority) b. if it sends many messages to other classes which are also central (candidate of a good hub) LINK ANALYSIS The set of all classes can be represented as a directed graph G=(V, E) where vertices correspond to the classes and a directed edge indicates an association between classes p and q. Each edge is annotated with the number of discrete messages sent to the same direction (m p,q ). Given a set T of associated classes, the aim is to find the authority and hub weights (a p, h p ), associated with each class. Classes with higher authority and hub weights are viewed as classes having a more important role in the model. Employing the Power Method of Linear Algebra it can be shown that: If A denotes the adjacency matrix of the graph G in the model under study, then the authority and hub weights are given by the elements of the normalized principal eigenvector of A T A and A A T, respectively. References [1] J. M. Kleinberg, “Authoritative Sources in a Hyperlinked Environment”, Journal of the ACM, vol. 46, issue 5, Sep. 1999, pp [2] M. Fiedler, “A property of eigenvectors of nonnegative symmetric matrices and its application to graph theory”, Czechoslovak Mathematical Journal, 25 (1975), pp EXAMPLES In the following design, other measures (i.e. in-out degree) would not be able to differentiate between the role of the central and peripheral classes. Link analysis clearly identifies C3 as the most heavily loaded class: Colors show the distribution of workload. Bright red indicates heavily loaded classes. Principal eigenvectors of A T A and AA T DENSE COMMUNITIES The objective is to group classes in such a way that the inter-group coupling is minimized and the intra-group coupling is maximized. Dense communities of classes, might imply relevance of functionality and thus indicate a portion of the overall design that has a distinct purpose. The second eigenvector of the Laplacian matrix of G provides a natural way for bi-partitioning the underlying graph: Positive and negative entries in the second eigenvector correspond to two groups of classes, which, if partitioned, minimize the coupling between the partitions [2].