cse 222 systems programming graph theory basics dr. jim holten
Post on 21-Dec-2015
220 views
TRANSCRIPT
CSE 222Systems Programming
Graph Theory Basics
Dr. Jim Holten
CSE 222201/21/09
Introduction
• Basic Definitions
• Concepts and Algorithms
• Applications
CSE 222301/21/09
Basic Definitions
• Nodes aka Vertices
• Links aka Edges
aka Arcs
CSE 222401/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 222501/21/09
Undirected Graph
CSE 222601/21/09
Directed Graph
CSE 222701/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 222801/21/09
Semantic Graph
AuthorsDocuments
Concepts
CSE 222901/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 2221001/21/09
Example of Hypergraph
AuthorsDocuments
Concepts
CSE 2221101/21/09
Hypergraph of Social Network
CSE 2221201/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 2221301/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 2221401/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 2221501/21/09
Projection Mapping
CSE 2221601/21/09
Subset Projections
CSE 2221701/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 2221801/21/09
Interdependencies
CSE 2221901/21/09
Applications
• Software Organization
• Activity Sequence Organization
• Interactions between processes
CSE 2222001/21/09
Software Organization
• Flow charts
• Data interdependencies
• Interactions between processes
CSE 2222101/21/09
Data Organization Chart
CSE 2222201/21/09
Processes Organization Chart
CSE 2222301/21/09
Activity Sequence Organization
• Gantt and Pert charts
• Project resource planning charts
• Storyboarding
CSE 2222401/21/09
Storyboard of the
Software Development Process
CSE 2222501/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 2222601/21/09
Infrastructure Networks
CSE 2222701/21/09
Critical Infrastructure
Interdependencies
CSE 2222801/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 2222901/21/09
Mesh Models
CSE 2223001/21/09
Element Type Dependencies
CSE 2223101/21/09
Summary
Graphs are a significant factor in the present
and the future of computer science!