Jo Ellis-Monaghan St. Michaels College, Colchester, VT 05439 website:

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science for Some.
Advertisements

NP-Hard Nattee Niparnan.
Planar graphs Algorithms and Networks. Planar graphs2 Can be drawn on the plane without crossings Plane graph: planar graph, given together with an embedding.
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Independent Studies with Industry Partnership John Cohn (Sr. Engineer, IBM) Joanna Ellis Monaghan (Math, St. Michael’s College)* Dan Nardi (Student, University.
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees David R. Karger David R. Karger Philip N. Klein Philip N. Klein Robert E. Tarjan.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Applied Discrete Mathematics Week 12: Trees
The Circuit Partition Polynomial and Relation to the Tutte Polynomial Prof. Ellis-Monaghan 1 Andrea Austin The project described was.
Jo Ellis-Monaghan St. Michaels College Colchester, VT website: and Other.
Problem 1 Defining Netlist Snarl Factor. Some Background A B C D F G EH A B C D F G EH Congested area PlacementRouting A B C D F G E H Netlist == Graph.
Jo Ellis-Monaghan St. Michaels College, Colchester, VT website:
Graph Theory and DNA Nanostructures Laura Beaudin, Jo Ellis-Monaghan*, Natasha Jonoska, David Miller, and Greta Pangborn.
Graphic Tool for Computer Chip Layout Laura McLane Saint Michael’s College Advisor: Joanna Ellis-Monaghan.
Graph Theory and DNA Nanostructures Laura Beaudin, Jo Ellis-Monaghan*, Natasha Jonoska, David Miller, and Greta Pangborn.
The Circuit Partition Polynomial and Relation to the Tutte Polynomial Prof. Ellis-Monaghan 1 Andrea Austin The project described was.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Jo Ellis-Monaghan St. Michaels College, Colchester, VT website: Work.
3/24/03Tucker, Section 4.31 Tucker, Applied Combinatorics, Sec. 4.3, prepared by Jo E-M Bipartite GraphMatching Some Definitions X-Matching Maximal Matching.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Selected Topics in Data Networking Graph Representation.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Curve Curve: The image of a continous map from [0,1] to R 2. Polygonal curve: A curve composed of finitely many line segments. Polygonal u,v-curve: A polygonal.
Joanna Ellis-Monaghan, St. Michaels College Paul Gutwin, Principal Technical Account Manager, Cadence.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
GRAPH Learning Outcomes Students should be able to:
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
Graph Theory Topics to be covered:
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Graphs Rosen, Chapter 8. Isomorphism (Rosen 560 to 563) Are two graphs G1 and G2 of equal form? That is, could I rename the vertices of G1 such that the.
Module #19: Graph Theory: part II Rosen 5 th ed., chs. 8-9.
Mathematics of Networks (Cont)
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
GRAPHS THEROY. 2 –Graphs Graph basics and definitions Vertices/nodes, edges, adjacency, incidence Degree, in-degree, out-degree Subgraphs, unions, isomorphism.
Data Structures & Algorithms Graphs
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Graph Theory and Applications
Spring 2015 Mathematics in Management Science Network Problems Networks & Trees Minimum Networks Spanning Trees Minimum Spanning Trees.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Great Theoretical Ideas in Computer Science for Some.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Planarity Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT.
DECISION 1. How do you do a Bubble Sort? Bubble Sort:  You compare adjacent items in a list;  If they are in order, leave them.  If they are not in.
Topics In Social Computing (67810) Module 1 Introduction & The Structure of Social Networks.
Xuding Zhu National Sun Yat-sen University Circular chromatic index.
Graphs. Representations of graphs : undirected graph An undirected graph G have five vertices and seven edges An adjacency-list representation of G The.
Algorithms and Networks
Planar Graphs Hubert Chan (Chapter 9.7) [O2 Proof Techniques]
Copyright © Zeph Grunschlag,
Graph theory Definitions Trees, cycles, directed graphs.
Eulerian tours Miles Jones MTThF 8:30-9:50am CSE 4140 August 15, 2016.
1.3 Modeling with exponentially many constr.
ICS 353: Design and Analysis of Algorithms
Graphs Chapter 11 Objectives Upon completion you will be able to:
Connectivity Section 10.4.
Introduction Wireless Ad-Hoc Network
1.3 Modeling with exponentially many constr.
Planarity.
Discrete Mathematics for Computer Science
Presentation transcript:

Jo Ellis-Monaghan St. Michaels College, Colchester, VT website:

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 Networks A B C D A B C D A multiple edge A loop A B C D

The Kevin Bacon Game or 6 Degrees of separation making-bacon-fuqua.html Bacon Number # of People Total number of linkable actors: Weighted total of linkable actors: Average Bacon number: Connery Number # of people Average Connery Number: Kevin Bacon is not even among the top 1000 most connected actors in Hollywood (1222 th ). Data from The Oracle of Bacon at UVA

Maximal Matchings in Bipartite Graphs 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 Graph

The small 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."

Social Networks Stock Ownership (2001 NY Stock Exchange) Children’s Social Network Social Network of Sexual Contacts

Infrastructure and Robustness MapQuest JetBlue Scale Free Distributed Number of vertices Vertex degree Number of vertices Vertex degree

Rolling Blackouts inAugust =2/2f/&name=2003-blackout-after.jpg

Some Networks are more robust than others. But how do we measure this?

A network modeled by a graph (electrical, communication, transportation) A functional network (can get from any vertex to any other along functioning edges) A dysfunctional network (vertices s and t can’t communicate) s t Question: If each edge operates independently with probability p, what is the probability that the whole network is functional?

If an edge is working (this happens with probability p), it’s as thought the two vertices were “touching”—i.e. just contract the edge: If an edge is not working (this happens with probability 1-p), it might as well not be there—i.e. just delete it: T hus, if R(G;p) is the reliability of the network G where all edges function with a probability of p, and e is not a bridge nor a loop, then R(G;p) =(1-p)R(G-e;p) + p R(G/e;p) Deletion and Contraction is a Natural Reduction for Network Reliability

= (1-p)p 2 + p(1-p)p + p 2 + p (1-p) + p p = (1-p)p 2 (1-p) + p Reliability Example Note that if every edge of the network is a bridge (i.e. the network is a disjoint union of trees), then R(G;p) = (p) E, where E is the number of edges. Also note that R(loop;p) = 1 E.g.: So R(G;p) = 3p 2 - 2p 3 gives the probability that the network is functioning. E.g. R(G;.5)=.5625 Bothersome question: Does the order in which the edges are deleted and contracted matter?

Conflict 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 DC B A E DC B

Coloring Algorithm The Chromatic Polynomial counts the ways to vertex color a graph: C(G, n ) = # proper vertex colorings of G in n colors. + = G G\e G-e Recursively: Let e be an edge of G. Then, - = n(n-1) 2 +n(n-1) + 0 = n 2 (n-1) n(n-1) = =

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 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!

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 recognition joint work with J. Cohn (IBM), R. Snapp and D. Nardi (UVM) The Haystack The Needle…

Pre-Processing Algorithm is cutting edge, and not currently used for this application in industry. BEGIN /* GULP2A CALLED ON THU FEB 21 15:08: */ EQUIV MICRON +X,+Y MSGPER HEADER GYMGL1 'OUTPUT 2002/02/21/14/47/12/cohn' LEVEL PC LEVEL RX CNAME ULTCB8AD CELL ULTCB8AD PRIME PGON N RX PGON N PC RECT N PC 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)

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 N 2 in the number of faces, but practically NlogN. Linear time subgraph search for target

Netlist Layout (joint work with J. Cohn, A. Dean, P. Gutwin, J. Lewis, G. Pangborn) How do we convert this… … into this?

A set S of vertices ( the pins) hundreds of thousands. A partition P 1 of the pins (the gates) 2 to 1000 pins per gate, average of about 3.5. A partition P 2 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. Netlist Example Gate Pin Wire

The Wires

Placement layer- gates/pins go here Vias (vertical connectors) Horizontal wiring layer Vertical wiring layer Up to 12 or so layers The Wiring Space

The general 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

Lots of Problems…. Identify Congestion  Identify dense substructures from the netlist  Develop a congestion ‘metric’ A B C D F G EH Congested area What often happens What would be good

Automate 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

SPRING EMBEDDING

Random layout Spring embedded layout

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 constructions htm

DNA Strands Forming a Cube

Assuring cohesion A problem from biomolecular computing—physically constructing graphs by ‘zipping together’ single strands of DNA (not allowed) N. Jonoska, N. Saito, ’02

A Characterization A theorem of C. Thomassen specifies precisely when a graph may be constructed from a single strand of DNA, and theorems of Hongbing and Zhu to characterize graphs that require at least m strands of DNA in their construction. Theorem: A graph G may be constructed from a single strand of DNA if and only if G is connected, has no vertex of degree 1, and has a spanning tree T such that every connected component of G – E(T) has an even number of edges or a vertex v with degree greater than 3.

Oriented Walk Double Covering and Bidirectional Double Tracing Fan Hongbing, Xuding Zhu, 1998 “The authors of this paper came across the problem of bidirectional double tracing by considering the so called “garbage collecting” problem, where a garbage collecting truck needs to traverse each side of every street exactly once, making as few U-turns (retractions) as possible.” L. M. Adleman, Molecular Computation of Solutions to Combinatorial Problems. Science, 266 (5187) Nov. 11 (1994)

DNA sequencing (joint work with I. Sarmiento) 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.

Enumerating the reconstructions 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.

Graph Polynomials Encode the Enumeration A very fancy polynomial, the interlace polynomial, of Arratia, Bollobás, and Sorkin,2000, encodes the number of ways to reassemble the original strand of DNA. It is related, with a lot of work, to the contraction- deletion approach of the Chromatic and Reliability polynomials.

a a b b c b a c c d d d A chord diagramThe associated circle graph a b c d The interlace polynomial is computed, not on the “snippet” graph, but on an associated circle graph. The “snippet” graph

Pendant Duplicate Graphs v v v' v v Adding a pendant vertex to v. Duplicating the vertex v. Effect of adding a pendant vertex or duplicating a vertex a b c v v’ a b c v

Theorem A set of subsequences of DNA permits exactly two reconstructions iff the circle graph associated to any Eulerian circuit of the ‘snippet’ graph is a pendant-duplicate graph. Side note to the cognesci: Pendant-duplicate graphs correspond to series-parallel graphs via a medial graph construction, so the two reconstructions is actually a new interpretation of the beta invariant.