CSE 222 Systems Programming Graph Theory Basics Dr. Jim Holten
CSE /21/09 Introduction Basic Definitions Concepts and Algorithms Applications
CSE /21/09 Basic Definitions Nodes aka Vertices Links aka Edges aka Arcs
CSE /21/09 Basic Definitions Subgraphs Undirected vs Directed Graphs Paths, Distances, and Graph Diameter Connected Graphs Components of a Graph Fully connected graph or subgraph
CSE /21/09 Undirected Graph
CSE /21/09 Directed Graph
CSE /21/09 Basic Definitions Node Attributes aka Labels, Indices, Weights, Categories, etc. Link Attributes aka Labels, Indices, Weights, Categories, etc. A Semantic Graph is a graph partitioned based on node or link attribute values
CSE /21/09 Semantic Graph Authors Documents Concepts
CSE /21/09 More Definitions A Hypernode replaces a collection of nodes and their included links. A Hypergraph is any graph that includes one or more hypernodes.
CSE /21/09 Example of Hypergraph Authors Documents Concepts
CSE /21/09 Hypergraph of Social Network
CSE /21/09 Some Concepts A cluster is a subgraph made up of set of highly interconnected nodes. A critical node is a node on a unique path between two nodes or subgraphs of interest. A critical link is a link on a unique path between two nodes or subgraphs of interest.
CSE /21/09 Related Algorithms Finding clusters is defined many ways –Fully connected subgraph or just better than some threshold on connectedness? –Is a node only connected to a node in the cluster to be included in the cluster? Finding critical paths, nodes, or links
CSE /21/09 Related Concepts Projections of nodes or subgraphs are mappings via directed links. The domain subgraph includes the projection's "from" nodes. The range subgraph includes the projection's "to" nodes. Basis Node Set is a minimal set of nodes that have a path to every other node
CSE /21/09 Projection Mapping
CSE /21/09 Subset Projections
CSE /21/09 Related Concepts There are multiple ways of looking at a single collection of nodes and links. Are multiple graphs just a single multi- component graph? Interdependencies among multiple graphs can be useful.
CSE /21/09 Interdependencies
CSE /21/09 Applications Software Organization Activity Sequence Organization Interactions between processes
CSE /21/09 Software Organization Flow charts Data interdependencies Interactions between processes
CSE /21/09 Data Organization Chart
CSE /21/09 Processes Organization Chart
CSE /21/09 Activity Sequence Organization Gantt and Pert charts Project resource planning charts Storyboarding
CSE /21/09 Storyboard of the Software Development Process
CSE /21/09 Network Modeling Applications Communications (Internet, etc.) Energy distribution (electric power, natural gas, etc.) Transportation (highways, railways, waterways, etc) Social associations Financial and product flows
CSE /21/09 Infrastructure Networks
CSE /21/09 Critical Infrastructure Interdependencies
CSE /21/09 Physics Models Mesh Models –Space segmented into volumes –Volumes surrounded by faces and edges –Edges meet at vertices Model element type dependencies form a graph of interdependent element sets
CSE /21/09 Mesh Models
CSE /21/09 Element Type Dependencies
CSE /21/09 Summary Graphs are a significant factor in the present and the future of computer science!