Abstract Temporal Graph

Slides:



Advertisements
Similar presentations
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Advertisements

Reducing DFA’s Section 2.4. Reduction of DFA For any language, there are many DFA’s that accept the language Why would we want to find the smallest? Algorithm:
Networks Prim’s Algorithm
CIS Intro to AI 1 Interpreting Line Drawings & Constraint Satisfaction II Mitch Marcus CIS 391 – Fall 2008.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Lecture 8: Asynchronous Network Algorithms
8.3 Representing Relations Connection Matrices Let R be a relation from A = {a 1, a 2,..., a m } to B = {b 1, b 2,..., b n }. Definition: A n m  n connection.
Chapter 4 Retiming.
Chen, Lu Mentor: Zhou, Jian Shanghai University, School of Management Chen213.shu.edu.cn.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
CSC401 – Analysis of Algorithms Lecture Notes 14 Graph Biconnectivity
On-the-Fly Garbage Collection: An Exercise in Cooperation Edsget W. Dijkstra, Leslie Lamport, A.J. Martin and E.F.M. Steffens Communications of the ACM,
Network Optimization Problems: Models and Algorithms This handout: Minimum Spanning Tree Problem.
TCOM 501: Networking Theory & Fundamentals
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Chapter 4: Finding the Shortest Path Lesson 1: Dijkstra’s Algorithm
Network Optimization Models
Introduction to Operations Research
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
Example Question on Linear Program, Dual and NP-Complete Proof COT5405 Spring 11.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Diverse Routing Algorithms
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Network Analysis Maxflow. What is a Network? Directed connected graph Source node Sink (destination node) Arcs are weighted (costs) Represent a system.
Lecture 8CSE Intro to Cognitive Science1 Interpreting Line Drawings II.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Trees.
1 1 Slide © 2005 Thomson/South-Western Chapter 9 Network Models n Shortest-Route Problem n Minimal Spanning Tree Problem n Maximal Flow Problem.
Directed Graphs 12/7/2017 7:15 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
St. Edward’s University
Chapter - 12 GRAPH MATRICES AND APPLICATIONS.
Plan Agents Chapter 7..
Shortest Path from G to C Using Dijkstra’s Algorithm
Software Testing and Maintenance 1
Network Simplex Animations
Mathematical Structures for Computer Science Chapter 6
1.206J/16.77J/ESD.215J Airline Schedule Planning
Directed Graphs 9/20/2018 1:45 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
Disjoint Path Routing Algorithms
Directed Graphs Directed Graphs 1 Shortest Path Shortest Path
Problem Reduction -AND-OR Graph -AO* Search CSE 402 K3R23/K3R20.
Biconnectivity SEA PVD ORD FCO SNA MIA 11/16/2018 2:31 AM
James B. Orlin Presented by Tal Kaminker
EMIS 8374 Node Splitting updated 27 January 2004
EMIS 8373: Integer Programming
Instructor: Shengyu Zhang
Solving maximum flows on distribution networks:
Introduction Basic formulations Applications
R. Johnsonbaugh Discrete Mathematics 5th edition, 2001
Barrier Coverage with Optimized Quality for Wireless Sensor Networks
EMIS 8374 Shortest Path Problems: Introduction Updated 9 February 2008
Shortest-Path Property 4.1
Algorithms and data structures
Directed Graphs Directed Graphs Directed Graphs 2/23/ :12 AM BOS
EE5900 Advanced Embedded System For Smart Infrastructure
EMIS 8374 Search Algorithms Updated 9 February 2004
Networks Prim’s Algorithm
Biconnectivity SEA PVD ORD FCO SNA MIA 5/6/2019 5:08 PM Biconnectivity
Shortest Path Solutions
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
EMIS 8374 Search Algorithms Updated 12 February 2008
Directed Graphs (Part II)
EMIS 8374 Max-Flow in Undirected Networks Updated 18 March 2008
Presentation transcript:

Abstract Temporal Graph Minimization Algorithms

minimize_full (ATG) 1. ConvertFull (ATG) 2. PropagateFull(ATG)

ConvertFull(ATG) /* Nodes n1, n2, …., nm */ for i=1 to m for j=1 to m if i=j add self-referencing arc at ni with label {self_ref} else if there is an arc from ni to nj do nothing else if there is an arc from nj to ni add an arc from ni to nj with label tcji-1 else add arc from ni to nj set to C

The critical step is executed m3 times PropagateFull(ATG) /* Nodes n1, n2, …., nm */ repeat for k=1 to m for i=1 to m for j=1 to m /* critical step */ tcij ← match(tcij, propagate(tcik,tckj)) if tcij = {} a conflict is raised until no arc label is reduced /* no change */   The critical step is executed m3 times

if i=j remove self-referencing arc at ni PropagateFull cont /* remove self-referencing and inverse arcs */ for i=1 to m for j=i to m if i=j remove self-referencing arc at ni else tcij ← match(tcij,tcji-1) if tcij = {} a conflict is raised else delete arc from nj to ni

ni   nk   nj  

minimize_ordered (ATG) 1. ConvertOrdered (ATG) 2. PropagateOrdered(ATG)

ConvertOrdered(ATG) /* Let node ordering be: n1, n2, …., nm */ for i=1 to (m-1) for j=i+1 to m if nodes ni to nj are unconnected add an arc from ni to nj with label C else if there is only an arc from ni to nj do nothing else if there is only an arc from nj to ni add arc from ni to nj with label tcji-1 and delete the arc from nj to ni else tcij ← match(tcij,tcji-1) if tcij = {} a conflict is raised else delete arc from nj to ni

The critical step is executed (m3 – 3m2 + 2m)/6 times PropagateOrdered(ATG) /* Let node ordering be: n1, n2, …., nm */ repeat /* for every intermediate node nk */ for k=2 to (m-1) /* for every incoming arc to nk */ for i=1 to (k-1) /* for every outgoing arc from nk */ for j=(K+1) to m /* critical step */ tcij ← match(tcij, propagate(tcik,tckj)) if tcij = {} a conflict is raised until no arc label is reduced /* no change */ The critical step is executed (m3 – 3m2 + 2m)/6 times

Point of caution: In the fully connected ATG there are at least two distinct paths between every pair of nodes and the propagation is bidirectional. In the ordered ATG the propagation is unidirectional and thus the labels of the basic arcs stay invariant under the propagation n1   n2   n3  

C = {<, =, >} self_ref is set to = Transitivity Table Example of a simple ATG – Instantaneous events and relative constraints C = {<, =, >} self_ref is set to = Transitivity Table Cik cij <  = >  < <, =, > Ckj

A simple example temporal graph <  N1   N2   = = N5   N3   N4   <, > < 

Original Temporal Graph n1 ---> n2 { < } n1 ---> n3 { = } n2 ---> n4 { = } n3 ---> n4 { < } n4 ---> n5 { < > }

Fully Connected Temporal Graph

Minimized Temporal Graph n1 ---> n2 { < } n1 ---> n3 { = } n1 ---> n4 { < } n1 ---> n5 { < = > } n2 ---> n3 { > } n2 ---> n4 { = } n2 ---> n5 { < > } n3 ---> n4 { < } n3 ---> n5 { < = > } n4 ---> n5 { < > }

<  N1   N2   = = N5   N3   N4   <, > < 

Original Temporal Graph n1 ---> n2 { < } n1 ---> n3 { = } n2 ---> n4 { = } n3 ---> n4 { < } n4 ---> n5 { < > }

Ordered Temporal Graph n1 ---> n2 { < } n1 ---> n3 { = } n1 ---> n4 { < = > } n1 ---> n5 { < = > } n2 ---> n3 { < = > } n2 ---> n4 { = } n2 ---> n5 { < = > } n3 ---> n4 { < } n3 ---> n5 { < = > } n4 ---> n5 { < > }

Minimized Temporal Graph n1 ---> n2 { < } n1 ---> n3 { = } n1 ---> n4 { < } n1 ---> n5 { < = > } n2 ---> n3 { < = > } n2 ---> n4 { = } n2 ---> n5 { < > } n3 ---> n4 { < } n3 ---> n5 { < = > } n4 ---> n5 { < > }

Another simple example temporal graph <  N1   N2   = <  N3  

Original Temporal Graph n1 ---> n2 { < } n1 ---> n3 { = } n2 ---> n3 { < }

Temporal Graph n1 ---> n1 { = } n1 ---> n2 { < } n1 ---> n3 { = } n2 ---> n1 { > } n2 ---> n2 { = } n2 ---> n3 { < } n3 ---> n1 { = } n3 ---> n2 { > } n3 ---> n3 { = } Conflict detected between nodes n2 and n3

Another Example Diagnosis reached (n1) Discussion about therapy (n2 – n3) Consensus on best therapy regime (n4) Patient agreed on proposed therapy (n5) Application of therapy (n6 – n7) Adjustment of some therapy parameters (n8) Patient monitoring (n9 – n10)

Original Temporal Graph n1 ---> n3 { < = } n2 ---> n1 { < = } n4 ---> n3 { = > } n5 ---> n4 { = > } n6 ---> n5 { = > } n8 ---> n6 { > } n8 ---> n7 { < } n9 ---> n2 { < = } n10 ---> n7 { > }

Derived Temporal Relations n1 ---> n2 { = > } n1 ---> n3 { < = } n1 ---> n4 { < = } n1 ---> n5 { < = } n1 ---> n6 { < = } n1 ---> n7 { < } n1 ---> n8 { < } n1 ---> n9 { = > } n1 ---> n10 { < } n2 ---> n3 { < = } n2 ---> n4 { < = } n2 ---> n5 { < = } n2 ---> n6 { < = } n2 ---> n7 { < } n2 ---> n8 { < } n2 ---> n9 { = > } n2 ---> n10 { < }

Derived Temporal Relations cont n3 ---> n4 { < = } n3 ---> n5 { < = } n3 ---> n6 { < = } n3 ---> n7 { < } n3 ---> n8 { < } n3 ---> n9 { = > } n3 ---> n10 { < } n4 ---> n5 { < = } n4 ---> n6 { < = } n4 ---> n7 { < } n4 ---> n8 { < } n4 ---> n9 { = > } n4 ---> n10 { < } n5 ---> n6 { < = } n5 ---> n7 { < } n5 ---> n8 { < } n5 ---> n9 { = > } n5 ---> n10 { < }

Derived Temporal Relations cont n6 ---> n7 { < } n6 ---> n8 { < } n6 ---> n9 { = > } n6 ---> n10 { < } n7 ---> n8 { > } n7 ---> n9 { > } n7 ---> n10 { < } n8 ---> n9 { > } n8 ---> n10 { < } n9 ---> n10 { < }