Escolar Documentos
Profissional Documentos
Cultura Documentos
G RAPHS
3. G RAPHS
testing bipartiteness
testing bipartiteness
SECTION 3.1
Undirected graphs
Notation. G = (V, E)
V = nodes.
E = edges between pairs of nodes.
Captures pairwise relationship between objects.
Graph size parameters: n = | V |, m = | E |.
V = { 1, 2, 3, 4, 5, 6, 7, 8 }
E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6, 7-8 }
m = 11, n = 8
Figure 1. Largest Connected Subcomponent of the Social Network in the Framingham Heart Study in the Year 2000.
Each circle (node) represents one person in the data set. There are 2200 persons in this subcomponent of the social
network. Circles with red borders denote women, and circles with blue borders denote men. The size of each circle
is proportional to the persons body-mass index. The interior color of the circles indicates the persons obesity status:
yellow denotes an obese person (body-mass index, 30) and green denotes a nonobese person. The colors of the
ties between the nodes indicate the relationship between them: purple denotes a friendship or marital tie and orange
denotes a familial tie.
The Evolution of FCC Lobbying Coalitions by Pierre de Vries in JoSS Visualization Symposium 2010
The Spread of Obesity in a Large Social Network over 32 Years by Christakis and Fowler in New England Journal of Medicine, 2007
www.nejm.org
373
graph
node
edge
communication
telephone, computer
circuit
wire
mechanical
joint
financial
stock, currency
transactions
transportation
internet
class C network
connection
game
board position
legal move
social relationship
person, actor
neural network
neuron
synapse
protein network
protein
protein-protein interaction
molecule
atom
bond
1
2
3
4
5
6
7
8
1
0
1
1
0
0
0
0
0
2
1
0
1
1
1
0
0
0
3
1
1
0
0
1
0
1
1
4
0
1
0
0
1
0
0
0
5
0
1
1
1
0
1
0
0
6
0
0
0
0
1
0
0
0
7
0
0
1
0
0
0
0
1
8
0
0
1
0
0
0
1
0
v1, v2, , vk with the property that each consecutive pair vi1, vi is joined
by an edge in E.
Def. A path is simple if all nodes are distinct.
Def. An undirected graph is connected if for every pair of nodes u and v,
there is a path between u and v.
10
Cycles
Trees
Def. A cycle is a path v1, v2, , vk in which v1 = vk, k > 2, and the first k 1
cycle.
Theorem. Let G be an undirected graph on n nodes. Any two of the
following statements imply the third.
G is connected.
G does not contain a cycle.
G has n 1 edges.
cycle C = 1-2-4-5-3-1
11
12
Rooted trees
Phylogeny trees
Given a tree T, choose a root node r and orient each edge away from r.
root r
parent of v
child of v
a tree
13
14
3. G RAPHS
basic definitions and applications
graph connectivity and graph traversal
testing bipartiteness
connectivity in directed graphs
DAGs and topological ordering
SECTION 3.2
http://java.sun.com/docs/books/tutorial/uiswing/overview/anatomy.html
15
Connectivity
Breadth-first search
s-t connectivity problem. Given two node s and t, is there a path between s
and t ?
s-t shortest path problem. Given two node s and t, what is the length of the
shortest path between s and t ?
BFS algorithm.
L1
L2
Ln1
L0 = { s }.
L1 = all neighbors of L0.
L2 = all nodes that do not belong to L0 or L1, and that have an edge to a
Applications.
Friendster.
Maze traversal.
Kevin Bacon number.
Fewest number of hops in a communication network.
node in L1.
Li+1 = all nodes that do not belong to an earlier layer, and that have an
edge to a node in Li.
17
18
Breadth-first search
Property. Let T be a BFS tree of G = (V, E), and let (x, y) be an edge of G.
L1
L2
each edge (u, v) is counted exactly twice
in sum: once in degree(u) and once in degree(v)
L3
19
20
Connected component
Flood fill
Flood fill. Given lime green pixel in an image, change color of entire blob of
neighboring lime pixels to blue.
Node: pixel.
Edge: two neighboring lime pixels.
Blob: connected component of lime pixels.
recolor lime green blob to blue
21
22
Flood fill
Connected component
Flood fill. Given lime green pixel in an image, change color of entire blob of
Node: pixel.
Edge: two neighboring lime pixels.
Blob: connected component of lime pixels.
R
s
24
Bipartite graphs
Def. An undirected graph G = (V, E) is bipartite if the nodes can be colored
3. G RAPHS
blue or white such that every edge has one white and one blue end.
Applications.
SECTION 3.4
a bipartite graph
26
Testing bipartiteness
An obstruction to bipartiteness
v2
v2
v3
v1
v4
v6
v5
v3
v4
v5
v6
v7
v1
a bipartite graph G
v7
bipartite
not bipartite
(2-colorable)
(not 2-colorable)
another drawing of G
27
28
Bipartite graphs
Bipartite graphs
Lemma. Let G be a connected graph, and let L0, , Lk be the layers produced
Lemma. Let G be a connected graph, and let L0, , Lk be the layers produced
(i) No edge of G joins two nodes of the same layer, and G is bipartite.
(i) No edge of G joins two nodes of the same layer, and G is bipartite.
(ii) An edge of G joins two nodes of the same layer, and G contains an
(ii) An edge of G joins two nodes of the same layer, and G contains an
L2
L1
L3
L2
L1
L3
Case (ii)
Case (i)
L2
L1
L3
Case (i)
29
30
Bipartite graphs
Lemma. Let G be a connected graph, and let L0, , Lk be the layers produced
z = lca(x, y)
5-cycle C
Its length is
1
(x, y)
31
bipartite
not bipartite
(2-colorable)
(not 2-colorable)
32
Directed graphs
Notation. G = (V, E).
3. G RAPHS
Ex. Web graph: hyperlink points from one web page to another.
SECTION 3.5
34
Road network
Web graph.
To see all the details that are visible on the screen,use the
"Print" link next to the map.
netscape.com
novell.com
cnnsi.com
timewarner.com
hbo.com
sorpranos.com
35
36
Node = species.
Edge = from prey to predator.
The Political Blogosphere and the 2004 U.S. Election: Divided They Blog, Adamic and Glance, 2005
Figure 1: Community structure of political blogs (expanded set), shown using utilizing a GEM
layout [11] in the GUESS[3] visualization and analysis tool. The colors reflect political orientation,
red for conservative, and blue for liberal. Orange links go from liberal to conservative, and purple
ones from conservative to liberal. The size of each blog reflects the number of other blogs that link
to it.
Reference: http://www.twingroves.district96.k12.il.us/Wetlands/Salamander/SalGraphics/salfoodweb.giff
37
Some
directed
graph
longer existed,
or had moved
to aapplications
different location. When looking at the front page of a blog we did
Graph search
not make a distinction between blog references made in blogrolls (blogroll links) from those made
in posts (post citations). This had the disadvantage of not differentiating between blogs that were
actively mentioned in a post on that day, from blogroll links that remain static over many weeks [10].
directed graph
node
directed edge
Since posts usually contain sparse references to other blogs, and blogrolls usually contain dozens of
blogs, we assumed that the network obtained by crawling the front page of each blog would strongly
transportation
street intersection
one-way street
reflect blogroll links. 479 blogs had blogrolls through blogrolling.com, while many others simply
maintained a list of links to their favorite blogs. We did not include blogrolls placed on a secondary
web
web page
hyperlink
page.
We constructed
a
citation
network
by
identifying
whether
a
URL
present
on the page of one blog
food web
species
predator-prey relationship
references another political blog. We called a link found anywhere on a blogs page, a page link to
distinguish it from
a post citation, a link to another
within a post. Figure 1
WordNet
synset blog that occurs strictly
hypernym
shows the unmistakable division between the liberal and conservative political (blogo)spheres. In
fact, 91% of the
links originating within eithertask
the conservative or liberal
communities
stay within
scheduling
precedence
constraint
that community. An effect that may not be as apparent from the visualization is that even though
we started withfinancial
a balanced set of blogs, conservative
blogs show a greater
tendency to link. 84%
bank
transaction
of conservative blogs link to at least one other blog, and 82% receive a link. In contrast, 74% of
liberal blogs link
another blog, while only person
67% are linked to by another blog.
Socall
overall, we see a
celltophone
placed
slightly higher tendency for conservative blogs to link. Liberal blogs linked to 13.6 blogs on average,
while conservative
blogs
linked to an averageperson
of 15.1, and this difference isinfection
almost entirely due to
infectious
disease
the higher proportion of liberal blogs with no links at all.
Although liberal
blogs may not link board
as generously
popular
game
positionon average, the most
legal
move liberal blogs,
Daily Kos and Eschaton (atrios.blogspot.com), had 338 and 264 links from our single-day snapshot
citation
journal article
citation
object graph
object
4
pointer
inheritance hierarchy
class
inherits from
control flow
code block
jump
38
Web crawler. Start from web page s. Find all web pages linked from s,
either directly or indirectly.
39
40
Strong connectivity
Def. Nodes u and v are mutually reachable if there is a both path from u to v
Pf.
strongly connected
v
41
42
Strong components
Def. A strong component is a maximal subset of mutually reachable nodes.
3. G RAPHS
basic definitions and applications
graph connectivity and graph traversal
testing bipartiteness
connectivity in directed graphs
Theorem. [Tarjan 1972] Can find all strong components in O(m + n) time.
SECTION 3.6
SIAM J. COMPUT.
Vol. 1, No. 2, June 1972
TARJAN"
Abstract. The value of depth-first search or "bacltracking" as a technique for solving problems is
illustrated by two examples. An improved version of an algorithm for finding the strongly connected
components of a directed graph and ar algorithm for finding the biconnected components of an undirect graph are presented. The space and time requirements of both algorithms are bounded by
k 1V + k2E d- k for some constants kl, k2, and k a, where Vis the number of vertices and E is the number
of edges of the graph being examined.
43
Precedence constraints
Precedence constraints. Edge (vi, vj) means task vi must occur before vj.
Applications.
nodes as v1, v2, , vn so that for every edge (vi, vj) we have i < j.
v2
v6
v3
v5
v7
v4
v1
v2
v3
v4
v5
v6
v7
v1
a DAG
a topological ordering
45
46
Suppose that G has a topological order v1, v2, , vn and that G also has a
v1
vi
vj
vn
48
Suppose that G is a DAG and every node has at least one entering edge.
Since v
Then, since u has at least one entering edge (x, u), we can walk
backward to x.
DAG
49
51
50