The Mathematics of Force- Directed Placement Simulating Graphs as Physical Systems To Assist in Computer Chip Layout By Jamey Lewis, St. Michael’s College.

Slides:



Advertisements
Similar presentations
Motion in 2 Dimensions Projectile Motion
Advertisements

CBA #1 Review Graphing Motion 1-D Kinematics Projectile Motion Circular Motion Gravity Graphing Motion 1-D Kinematics Projectile Motion Circular.
Are You Smarter Than a 5 th Grader? 1,000,000 5th Grade Drawing Forces 4th Grade Identifying Forces 3rd Grade Gravity 2nd Grade Graphical Displays of.
Rubber Band Sling Shot BY: Chantel Davis. Intro  Have you ever wonder does a rubber band have energy?  The answer is yes.  In this experiment I will.
The graph represents relative position down your sidewalk, as you walk off your porch. Distance down your sidewalk (m) Time (s) Describe your motion When.
Wednesday, Oct. 26, 2005PHYS , Fall 2005 Dr. Jaehoon Yu 1 PHYS 1444 – Section 003 Lecture #16 Wednesday, Oct. 26, 2005 Dr. Jaehoon Yu Charged Particle.
1cs533d-winter-2005 Notes  More optional reading on web for collision detection.
17 VECTOR CALCULUS.
Graphic Tool for Computer Chip Layout Laura McLane Saint Michael’s College Advisor: Joanna Ellis-Monaghan.
Force Directed Algorithm Adel Alshayji 4/28/2005.
1cs533d-term Notes  list Even if you’re just auditing!
Force Directed Algorithm Adel Alshayji 4/28/2005.
Oscillations Adapted by Rob Dickens from a presentation by John Spivey To help with learning and revision of the ‘Waves and Our Universe’ section of the.
Gravity, Projectiles, and Satellites Physics Click HERE if the web page above does not open. In this lesson, we will discuss the following: Newton’s Law.
Electricity, Sound and Light Chapter Nine: Waves and Sound 9.1 Harmonic Motion 9.2 Waves 9.3 Sound.
Vibrations, Waves and Sound
Simple Harmonic Motion
3.7. O THER G AME P HYSICS A PPROACHES Overview of other game engine physics approaches.
Rotational Motion. Rotational motion is the motion of a body about an internal axis. In rotational motion the axis of motion is part of the moving object.
Montwood High School Physics R. Casao
CBA #1 Review Graphing Motion 1-D Kinematics
Electrostatic Force Coulomb’s Law. Charges Two charges of the same type repel one another ++ The two charges will experience a FORCE pushing them apart.
Lecture # 22 SCIENCE 1 ASSOCIATE DEGREE IN EDUCATION Graphing Motion.
Springs We are used to dealing with constant forces. Springs are more complicated - not only does the magnitude of the spring force vary, the direction.
CHAPTER 23 WAVES 23.1 Harmonic Motion pp
Chapter Twenty-Three: Waves  23.1 Harmonic Motion  23.2 Properties of Waves  23.3 Wave Motion.
Equilibrium Forces and Unbalanced Forces. Topic Overview A force is a push or a pull applied to an object. A net Force (F net ) is the sum of all the.
GRAVITY AND FORCE NOTES
Oscillations – motions that repeat themselves Period ( T ) – the time for one complete oscillation Frequency ( f ) – the number of oscillations completed.
Chapter Twenty-Three: Waves 23.1 Harmonic Motion 23.2 Properties of Waves 23.3 Wave Motion 1.
MEASURING MOTION Force and Motion. Classifying Different Types of Motion Straight Line Motion Projectile Motion Circular Motion Vibrational Motion #1.
WAVES. Chapter Twenty-Three: Waves  23.1 Harmonic Motion  23.2 Properties of Waves  23.3 Wave Motion.
4.1.1Describe examples of oscillation Define the terms displacement, amplitude, frequency, period, and phase difference Define simple harmonic.
Loose Ends Oscillations Gravity and Orbits. Oscillations The connection between uniform circular motion and SHM There is a close connection between circular.
Oscillations – motions that repeat themselves Period ( T ) – the time for one complete oscillation Frequency ( f ) – the number of oscillations completed.
{ SHM Simple Harmonic Motion. Simply put, simple harmonic motion is a motion ‘back and forth’ away from and back to equilibrium In SHM, the motion is.
Goal: To understand angular motions Objectives: 1)To learn about Circular Motions 2)To learn about Rotational Inertia 3)To learn about Torque 4)To examine.
Forces and Motion. Forces Affect Motion /A force is a push or a pull that changes motion. /Forces transfer energy to an object. /The force of gravity.
Chapter Twenty-Three: Waves
Chapter 18 Test Review. What is a reference point? The object that stays in place in relation to a moving object.
CHAPTER 23 WAVES 23.1 Harmonic Motion pp
Forces & Motion. Motion A change in the position of an object Caused by force (a push or pull)
Forces and motions I understand what causes and what stops motions on the planet Earth
Physics Fall Practice Final Exam 25 Questions Time = Less than 30 minutes.
Assuming both these system are in frictionless environments, what do they have in common? Energy is conserved Speed is constantly changing Movement would.
Physics 1D03 - Lecture 351 Review. Physics 1D03 - Lecture 352 Topics to study basic kinematics forces & free-body diagrams circular motion center of mass.
Chapter 13 – Forces in Motion. Types of Motion Constant Motion – motion that is constant and steady.
Forces. Log into my website, click the Introduction to Forces Notes On a note card, define the following terms: Force Newton Unbalanced force Contact.
Algorithms and Networks
Or Trust in the Force Luke/Ani
Simple Harmonic Motion
CHAPTER 23 WAVES 23.1 Harmonic Motion pp
Unit 4: Oscillatory Motion and Mechanical Waves
Oscillations AP Physics C.
Fields: Forces and Energy
3.7. Other Game Physics Approaches
Examples of wave superposition
WAVES.
Types of Forces Chapter 9.1.
SSA Review - 9 Forces & Motion
FCAT Review - 9 Forces & Motion
Closeness Centrality.
Gravity The Forces in Creation.
Closeness Centrality.
Oscillations and Harmonic Motion
Forces & Motion.
Chapter Twenty-Three: Waves
Chapter 2 – Free Fall Conceptual Physics.
How do objects move under the influence of gravity?
Energy Problems.
Presentation transcript:

The Mathematics of Force- Directed Placement Simulating Graphs as Physical Systems To Assist in Computer Chip Layout By Jamey Lewis, St. Michael’s College

How do we convert… …this… … into this?

The Problem  We have a graph of nodes and edges (gates and wires in the computer chip).  We need to find a good layout for the graph that provides a geometric representation of its components and makes graph symmetry clearly visible.  In industry there may be constraints on the size of the components, but they may also simply need to be far enough apart to distinguish.

The Solution  Simulate the graph or network as a physical model (masses and springs, for example) and subject it to physical forces.  The unnecessarily-long edges will be the most tense, and will try to contract the most.  When the nodes and edges have pushed and pulled themselves to equilibrium, we will have a geometric representation of the graph in the plane.

The Spring Embedder A model of masses and springs, corresponding to nodes and edges on a graph, is called a Spring Embedder. Spring forces exist between nodes and may attract or repel depending on how contracted they are, and on how contracted they want to be (desired/ideal length). Electrical forces may exist to repel nodes from one another, to keep them as far apart as constraints dictate, if spring repulsion is insufficient.

The Spring Force The x-component of the Spring force equation on vertex v. The y-component equation mirrors this one. The force is applied to v by all springs (edges) between v and another vertex. k (1) : the stiffness of the spring between the two vertices k (1) : the stiffness of the spring between the two vertices L : the resting length of the spring L : the resting length of the spring d(p 1,p 2 ) : the linear distance between the two vertices d(p 1,p 2 ) : the linear distance between the two vertices x : the x-coordinate of a vertex’ position x : the x-coordinate of a vertex’ position

The Repulsive Force The x-component of the Repulsive force equation on vertex v. The y-component equation mirrors this one. The force is applied to v by all other vertices (perhaps limited to merely those within a specific effective range). k (2) : electrical repulsion constant between two vertices k (2) : electrical repulsion constant between two vertices d(p 1,p 2 ) : the linear distance between the two vertices d(p 1,p 2 ) : the linear distance between the two vertices x : the x-coordinate of a vertex’ position x : the x-coordinate of a vertex’ position

An Example

Concerning the Barycentric Model Some Spring Embedders use a Gravitational force to attract all nodes toward the graph’s Barycenter (the average of all node positions) in order to show symmetry more clearly and keep loosely- connected groups of nodes from drifting. Some Spring Embedders use a Gravitational force to attract all nodes toward the graph’s Barycenter (the average of all node positions) in order to show symmetry more clearly and keep loosely- connected groups of nodes from drifting. Others simulate this by creating at least 3 Fixed vertices on the edges of the graph and giving all edges an ideal length of 0, causing them to want to contract as long as they are able, counteracted only by the attraction from the fixed vertices. Others simulate this by creating at least 3 Fixed vertices on the edges of the graph and giving all edges an ideal length of 0, causing them to want to contract as long as they are able, counteracted only by the attraction from the fixed vertices.

My Implementation Instead of directly implementing simulated Gravity, I chose to use the method of setting some but not all Ideal Edge Lengths to 0. Instead of directly implementing simulated Gravity, I chose to use the method of setting some but not all Ideal Edge Lengths to 0. This results in a graph that is sufficiently flexible to show off geometry, yet not unnecessarily bent towards the middle to produce a circular formation. This results in a graph that is sufficiently flexible to show off geometry, yet not unnecessarily bent towards the middle to produce a circular formation. However, I also retained the Repulsive forces that are not present in the 2 nd method, so that fixed points would not be a requirement. However, I also retained the Repulsive forces that are not present in the 2 nd method, so that fixed points would not be a requirement.

A Problem: Oscillation One of the problems of Spring Embedder implementation is of Oscillation, that is, when nodes move back and forth repetitively without ever stabilizing. One of the problems of Spring Embedder implementation is of Oscillation, that is, when nodes move back and forth repetitively without ever stabilizing. This happens because the application of forces in a computer program occurs in steps and not continuously, and moving vertices are given the chance to move past their stable destinations in a single step, forcing them to move back and forth. This happens because the application of forces in a computer program occurs in steps and not continuously, and moving vertices are given the chance to move past their stable destinations in a single step, forcing them to move back and forth. A form of oscillation that also occurs is Rotation, when vertices continuously move in a circle. A form of oscillation that also occurs is Rotation, when vertices continuously move in a circle.

The Solution: Temperature A solution to this problem is to implement a “Temperature” for each vertex, acting as a factor for its movement. Hot = fast, cold = slow. A solution to this problem is to implement a “Temperature” for each vertex, acting as a factor for its movement. Hot = fast, cold = slow. When traveling continuously in the same direction, a Vertex’ temperature will increase and it will speed up. When Oscillation or Rotation are detected, the Vertex’ temperature will drop, and it will slow down. When traveling continuously in the same direction, a Vertex’ temperature will increase and it will speed up. When Oscillation or Rotation are detected, the Vertex’ temperature will drop, and it will slow down.

Oscillation and Temperature The direction of the impulse of vertex v. After adjustment based on which quadrant the movement is in, this can be used to determine if the new direction is over 90 degrees different from the old direction. θ : the direction of the impulse of vertex v θ : the direction of the impulse of vertex v Δ : the change in x or y position of vertex v Δ : the change in x or y position of vertex v

Oscillation and Temperature The x-component of the movement of vertex v as affected by Temperature. The y-component equation mirrors this one. Δ: the change in x position of vertex v as a result of forces Δ : the change in x position of vertex v as a result of forces T : the Temperature variable of vertex v, ranging from T : the Temperature variable of vertex v, ranging from 0-100

Example

One More Example

END Thanks for listening!