1. Jo Ellis-Monaghan
St. Michaels College
Colchester, VT 05439
e-mail: jellis-monaghan@smcvt.edu
website: http://academics.smcvt.edu/jellis-monaghan
andand
Other ApplicationsofOther Applicationsof
Graphsand NetworksGraphsand Networks
2
2
2
1
1 1
3
3
3
4
4
4
2
2. A Graph or Network is a set of vertices (dots) with edges (lines)
connecting them.
Two vertices are adjacent if there is a line between them. The vertices A
and B above are adjacent because the edge AB is between them. An edge
is incident to each of the vertices which are its end points.
The degree of a vertex is the number of edges sticking out from it.
Graphs and NetworksGraphs and Networks
A
B
CD
A
B
CD
A multiple edge
A loop
A
B
CD
3. TheKevin Bacon GameTheKevin Bacon Game
oror
6 Degreesof separation6 Degreesof separation
http://www.spub.ksu.edu/issues/v100/FA/n069/fea-
making-bacon-fuqua.html
Bacon
Number
# of
People
0 1
1 1766
2 141840
3 385670
4 93598
5 7304
6 920
7 115
8 61
Total number of linkable
actors: 631275
Weighted total of linkable
actors: 1860181
Average Bacon number:
2.947
Connery
Number
# of
people
0 1
1 2216
2 204269
3 330591
4 32857
5 2948
6 409
7 46
8 8
Average Connery
Number: 2.706
Kevin Bacon is not evenKevin Bacon is not even
among the top 1000 mostamong the top 1000 most
connected actors in Hollywoodconnected actors in Hollywood
(1222(1222thth
).).
Data from The Oracle ofData from The Oracle of
Bacon at UVABacon at UVA
4. Thesmall world phenomenonThesmall world phenomenon
Stanley Milgram sent a
series of traceable letters
from people in the
Midwest to one of two
destinations in Boston.
The letters could be sent
only to someone whom
the current holder knew
by first name. Milgram
kept track of the letters
and found a median
chain length of about six,
thus supporting the
notion of "six degrees of
separation."http://mathforum.org/mam/04/poster.html
5. Social NetworksSocial Networks
•Stock Ownership (2001 NY
Stock Exchange)
•Children’s Social Network
•Social Network of Sexual
Contacts
http://mathforum.org/mam/04/poster.html
7. Maximal Matchingsin BipartiteGraphsMaximal Matchingsin BipartiteGraphs
Start with any matching
Find an alternating path
Start at an
unmatched
vertex on the left End at an unmatched
vertex on the right
Switch matching to
nonmatching and vice
versa
A maximal
matching!
A Bipartite GraphA Bipartite Graph
8. Conflict SchedulingConflict Scheduling
Draw edges between classes
with conflicting times
Color so that adjacent vertices have different colors.
Minimum number of colors = minimum required
classrooms.
A
E
D C
B
A
E
D C
B
9. Frequency Assignment
Assign frequencies to mobile radios and
other users of the electromagnetic
spectrum. Two customers that are
sufficiently close must be assigned
different frequencies, while those that
are distant can share frequencies.
Minimize the number of frequencies.
Vertices: users of mobile radios
Edges: between users whose
frequencies might interfere
Colors: assignments of different
frequencies
Need at least as many frequencies as the
minimum number of colors required!
Conflict SchedulingConflict Scheduling
Register Allocation
Assign variables to hardware registers
during program execution. Variables
conflict with each other if one is used both
before and after the other within a short
period of time (for instance, within a
subroutine). Minimize the use of non-
register memory.
Vertices: the different variables
Edges: between variables which conflict
with each other
Colors: assignment of registers
Need at least as many registers as the
minimum number of colors required!
10. IBM’s objective is to check a chip’s design and find all occurrences of a
simple pattern to:
– Find possible error spots
– Check for already patented segments
– Locate particular devices for updating
Rectilinear pattern recognitionRectilinear pattern recognition
joint work with J. Cohn (IBM), R. Snapp and D. Nardi (UVM)joint work with J. Cohn (IBM), R. Snapp and D. Nardi (UVM)
The HaystackThe Haystack
The Needle…The Needle…
11. Pre-ProcessingPre-Processing
Algorithm is cutting edge, and not currently used for this application in industry.
BEGIN /* GULP2A CALLED ON THU FEB 21 15:08:23 2002 */
EQUIV 1 1000 MICRON +X,+Y
MSGPER -1000000 -1000000 1000000 1000000 0 0
HEADER GYMGL1 'OUTPUT 2002/02/21/14/47/12/cohn'
LEVEL PC
LEVEL RX
CNAME ULTCB8AD
CELL ULTCB8AD PRIME
PGON N RX 1467923 780300 1468180 780300 1468180 780600 +
1469020 780600 1469020 780300 1469181 780300 1469181 +
781710 1469020 781710 1469020 781400 1468180 781400 +
1468180 781710 1467923 781710
PGON N PC 1468500 782100 1468300 782100 1468300 781700 +
1468260 781700 1468260 780300 1468500 780300 1468500 +
780500 1468380 780500 1468380 781500 1468500 781500
RECT N PC 1467800 780345 1503 298
ENDMSG
Two different layers/rectangles
are combined into one
layer that contains three shapes;
one rectangle (purple)
and two polygons (red and blue)
(Raw data format)(Raw data format)
12. Both target pattern and entire chip are encoded like this, with the vertices
also holding geometric information about the shape they represent. Then
we do a depth-first search for the target subgraph. The addition
information in the vertices reduces the search to linear time, while the entire
chip encoding is theoretically N2
in the number of faces, but practically
NlogN.
Linear timesubgraph search for targetLinear timesubgraph search for target
14. A set S of vertices ( the pins) hundreds of thousands.
A partition P1 of the pins (the gates) 2 to 1000 pins per gate, average of
about 3.5.
A partition P2 of the pins (the wires) again 2 to 1000 pins per wire,
average of about 3.5.
A maximum permitted delay between pairs of pins.
NetlistNetlist
Example
Gate Pin Wire
16. Placement layer-
gates/pins go here
Vias (vertical
connectors)
Horizontal wiring
layer
Vertical wiring
layer
Up to 12 or so layers
The Wiring Space
17. Thegeneral ideaThegeneral idea
Place the pins so that pins are in
their gates on the placement
layer with non-overlapping
gates.
Place the wires in the wiring
space so that the delay
constrains on pairs of pins
are met, where delay is
proportional to minimum
distance within the wiring,
and via delay is negligible
18. Lotsof Problems….Lotsof Problems….
Identify CongestionIdentify Congestion
Identify dense substructures from the netlist
Develop a congestion ‘metric’ A
B
C
D
F
G
E H
Congested
area
Congested area
What often happens What would be good
19. Automate Wiring Small ConfigurationsAutomate Wiring Small Configurations
Some are easy to place and route
Simple left to right logic
No / few loops (circuits)
Uniform, low fan-out
Statistical models work
Some are very difficult
E.g. ‘Crossbar Switches’
Many loops (circuits)
Non-uniform fan-out
Statistical models don’t work
20. Nano-Origami: Scientists At
Scripps Research Create
Single, Clonable Strand Of
DNA That Folds Into An
Octahedron
A group of scientists at The
Scripps Research Institute has
designed, constructed, and imaged
a single strand of DNA that
spontaneously folds into a highly
rigid, nanoscale octahedron that is
several million times smaller than
the length of a standard ruler and
about the size of several other
common biological structures, such
as a small virus or a cellular
ribosome.
Biomolecular constructionsBiomolecular constructions
http://www.sciencedaily.com/releases/2004/02/04
0212082529.htm
21. Assuring cohesionAssuring cohesion
A problem from biomolecular computing—physically constructingA problem from biomolecular computing—physically constructing
graphs by ‘zipping together’ single strands of DNAgraphs by ‘zipping together’ single strands of DNA
(not allowed)
N. Jonoska, N.
Saito, ’02
22. DNA sequencingDNA sequencing
AGGCTC
AGGCT GGCTC
TCTAC
CTCTA TTCTA
CTACT
It is very hard in
general to “read
off’ the sequence of
a long strand of
DNA. Instead,
researchers probe
for “snippets” of a
fixed length, and
read those.
The problem then
becomes
reconstructing the
original long strand
of DNA from the
set of snippets.
23. Enumerating thereconstructionsEnumerating thereconstructions
This leads to a directed graph with the same number of in-arrows as out
arrows at each vertex.
The number of reconstructions is then equal to the number of paths
through the graph that traverse all the edges in the direction of their
arrows.
24. Conquering thecrazy cubesConquering thecrazy cubes
The cubes from my puzzle are represented below.
B
B
B
G G G GR
R
W
W
W
11
B
G
R R
R
W
33
B G
R
R W
W 44
22
25. Build the Model
We will model each cube with a multigraph.
The vertices will correspond to the four colors and we connect the
corresponding vertices u and v if there is a pair of opposite faces colored
u and v.
11
4433
22
26. Build theModelBuild theModel
Now construct a single multigraph with 4 vertices and the 12 edges,
labeling each edge by the cube associated with it.
2
2
2
1
1
1
3
3
3
4
4
4
2
R
GB
W
11 22
4433
27. CharacterizeaSolutionCharacterizeaSolution
Suppose the puzzle has a
solution. How would it be
represented on the final
multigraph?
One subgraph will represent the front and back of the tower
and a second subgraph will represent the sides of the tower.
Using an edge in a subgraph corresponds to a positioning of the
cube (either front/back or sides).
2
2
2
1
1
1
3
3
3
4
4
4
2
28. CharacterizeFront/Back and Left/Right subgraphsCharacterizeFront/Back and Left/Right subgraphs
What are the restrictions on the subgraphs and how do they
relate to the solution?
1. Uses all four vertices. (all four colors)
2. Must contain four edges, one from each cube. (orient each cube)
3. No edge can be used more than once. (can’t use same
orientation twice)
4. Each vertex must be of degree 2. (use that color twice,
one front & one back,
or one left & one
right)
29. Two Subgraphssatisfying theconditionsTwo Subgraphssatisfying theconditions
Here are two such subgraphs:
2
2
2
1
1
1
3
3
3
4
4
4
2
3
1
1
2
4
3
2 4
Front/Back Sides
Now, stack the cubes using these faces as the front/back and sides.
Since each edge represents an orientation, label the edges to determine the
orientation.
30. Now, stack the cubes using these faces as the front/back
and sides.
Build thesolution stackBuild thesolution stack
2
2
2
1
1
1
3
3
3
4
4
4
2
? Is there another solution?
? Is it possible to find a set of subgraphs that use the
loops ?
3
1
1
2
4
3
2 4
Front/Back Sides
f
b
b
f
b
f
b
f l
r
l
r
l
r l
r
31. Only six types of subgraphs meet the solution requirements:
All subgraphswith 4 edgesand 4 verticesAll subgraphswith 4 edgesand 4 vertices
of degree2of degree2
“square cycle” “crossed cycle” “loop and triangle”
“two loops and a C2” “two C2’s”“four loops”
34. So, look for these types of subgraphs
“square cycle” “crossed cycle” “loop and triangle”
“four loops” “two loops and a C2” “two C2’s”
Crazy Cubes/Instant Insanity slides modified from:
Sarah Graham--http://academics.smcvt.edu/jellis-monaghan/combo2/special_topics_presentations.htm
Judy Lalani-- http://math.hope.edu/lalani/ScienceDay.ppt
Editor's Notes
Rod Steiger is the center of the Hollywood universe as of April 29, 2003 (Average Steiger number—2.652. Sean is #13
Measurements—diameter (max shortest distance), avg degree, average clustering, where cluster (v) = 2n/(d*(d-1)), where n is the number of edges among the neighbors of v and d= deg v
Other scale free networks—the internet, phone communications, emails, bibliographic citatations Power law -> fraction of verts w/ degree d is proportional to d^ -b for some constant b, often with 2<b<3
Social networks have high clustering, physical networks (eg power grids and transportaion) have low clustering and are vulnerable.
Many processes are algorithmic—but some (like this) are fast, while others are too slow to be practical
Mention there is an algorithmic approach here as well—contract and delete, but it is exponential in the number of edges
Variables in registers can be accessed much quicker than those not in registers. Typically, however, there are far more variables than registers so it is necessary to assign multiple variables to registers.
Shih and Joyce constructed a 1669-nucleotide strand of DNA that they designed to have a number of self-complementary regions, which would induce the strand to fold back on itself to form a sturdy octahedron. Folding the DNA into the octahedral structures simply required the heating and then cooling of solutions containing the DNA, magnesium ions, and a few accessory molecules. And, indeed, the DNA spontaneously folded into the target structure.
The researchers used cryoelectron microscopy, in collaboration with Research Assistant Joel Quispe of the Scripps Research Automated Molecular Imaging Group, to take two-dimensional snapshots of the octahedral structures. Significantly, the structures were highly uniform in shape -- uniform enough, in fact, to allow the reconstruction of the three-dimensional structure by computational averaging of the individual particle images.
We have graph polynomials that allow us to determine, for a given graph, how many ways it can be constructed by a single long strand of DNA, or by several shorter strands.
A with T: the purine adenine (A) always pairs with the pyrimidine thymine (T)
C with G: the pyrimidine cytosine (C) always pairs with the purine guanine (G)
Jonoska’s group has constructed and isolated ‘cubical’ DNA
Again we have graph polynomials whose coefficients provide this enumeration
Does anyone see a graph here? What are the essential relations/conflicts??
Ask for any thoughts about their cubes and problem. Any solutions? Any sets of cubes that would be easy to do? Any that would be impossible?
How many possible stacks? Gross estimate (doesn’t take into account permuting faces of same color): 4! Ways to order them, 6 faces to face front times 4 ways to orient a cube for each gives 4!*24^4. But don’t count rotating the stack or cycling the order, so divide by 4*4 to get 497,664 possible stacks.
What is important is which color is opposite which color.
These cubes need to work together somehow—ie if we use red and green from cube one as front and back, it influences a) what we can choose for left and right for cube one, and b) what we can choose for the other cubes
Each uses all four vertices. (all four colors on a side)
Each uses all four numbers. (all four cubes used)
Neither uses any of the edges of the other (no cube trying to be in two positions at once)
All vertices have degree 2 (each color appears both on the front and back –or left and right)