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

Slides:



Advertisements
Similar presentations
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Advertisements

Great Theoretical Ideas in Computer Science for Some.
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 2014 Sukumar Ghosh.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
PSU CS Algorithms Analysis and Design Graphs.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Independent Studies with Industry Partnership John Cohn (Sr. Engineer, IBM) Joanna Ellis Monaghan (Math, St. Michael’s College)* Dan Nardi (Student, University.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
The Instant Insanity Game
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:
An Euler Circuit is a cycle of an undirected graph, that traverses every edge of the graph exactly once, and ends at the same node from which it began.
Jo Ellis-Monaghan St. Michaels College, Colchester, VT website:
Graphic Tool for Computer Chip Layout Laura McLane Saint Michael’s College Advisor: Joanna Ellis-Monaghan.
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.
CS 1114: Graphs and Blobs Prof. Graeme Bailey (notes modified from Noah Snavely, Spring 2009)
4/17/2017 Section 8.5 Euler & Hamilton Paths ch8.5.
1/13/03Tucker, Applied Combinatorics, Sec Tucker, Applied Combinatorics, Sec. 1.1, Jo E-M A Graph is a set of vertices (dots) with edges (lines)
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.
Selected Topics in Data Networking Graph Representation.
D1: Matchings.
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,
INSTANT INSANITY PUZZLE By Patrick K. Asaba. INSTANT INSANITY PUZZLE The Instant Insanity puzzle is played with four cubes. Each face of the cube is colored.
Joanna Ellis-Monaghan, St. Michaels College Paul Gutwin, Principal Technical Account Manager, Cadence.
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
1/25/05Tucker, Sec.1.11 Applied Combinatorics, 4th Ed. Alan Tucker Section 1.1 Graph Models Prepared by Jo Ellis-Monaghan.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
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.
Global Routing.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Planar Graphs: Euler's Formula and Coloring Graphs & Algorithms Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.:
Graph Theory Topics to be covered:
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
Angle Relationships Outcomes E7 – make and apply generalizations about angle relationships.
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.
Copyright © Zeph Grunschlag, More on Graphs.
Incidentor coloring: methods and results A.V. Pyatkin "Graph Theory and Interactions" Durham, 2013.
Module #19: Graph Theory: part II Rosen 5 th ed., chs. 8-9.
GRAPHS THEROY. 2 –Graphs Graph basics and definitions Vertices/nodes, edges, adjacency, incidence Degree, in-degree, out-degree Subgraphs, unions, isomorphism.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
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.
GEOMETRY OUTCOME 1 CHAPTER 1 AND 3, WITH ADDED COMPONENTS.
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.
Great Theoretical Ideas in Computer Science for Some.
5.7 Reflections and Symmetry. Objective Identify and use reflections and lines of symmetry.
CSC 252 Pallavi Moorthy Homework 5. 1.) Vertices, edges From cd../../handout/demo/graph_alg/gw_shortest_path.
Timetable Problem solving using Graph Coloring
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]
Week 6 - Wednesday CS 113.
Copyright © Zeph Grunschlag,
Graph theory Definitions Trees, cycles, directed graphs.
Graphs.
1.3 Modeling with exponentially many constr.
INSTANT INSANITY PUZZLE
Graphs Chapter 11 Objectives Upon completion you will be able to:
Graphs.
Connectivity Section 10.4.
1.3 Modeling with exponentially many constr.
EGR 2131 Unit 12 Synchronous Sequential Circuits
Chapter 9 Graph algorithms
Presentation transcript:

Jo Ellis-Monaghan St. Michaels College Colchester, VT website: and Other Applications of Graphs and Networks

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

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

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

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

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

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

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

DNA 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.

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.

Conquering the crazy cubes The cubes from my puzzle are represented below. B B B GGG GR R W W W 1 B G R R R W 3 B G R R W W 4 2

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

Build the Model Now construct a single multigraph with 4 vertices and the 12 edges, labeling each edge by the cube associated with it R G B W

Characterize a Solution 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)

Characterize Front/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. 4.Each vertex must be of degree 2.(use that color twice, one front & one back, or one left & one right)

Two Subgraphs satisfying the conditions Here are two such subgraphs: 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.

Now, stack the cubes using these faces as the front/back and sides. Build the solution stack ? Is there another solution? ? Is it possible to find a set of subgraphs that use the loops ? Front/Back Sides f b b f b f b f l r l r l rl r

Only six types of subgraphs meet the solution requirements: All subgraphs with 4 edges and 4 vertices of degree 2 “square cycle” “crossed cycle” “loop and triangle” “two loops and a C 2 ” “two C 2 ’s” “four loops”

“Same” Loop and a Triangle Crossed Cycles

“Same” Arrangements Two double loops Three loops

So, look for these types of subgraphs “square cycle” “crossed cycle”“loop and triangle” “four loops”“two loops and a C 2 ” “two C 2 ’s” Crazy Cubes/Instant Insanity slides modified from: Sarah Graham-- Judy Lalani--