# Modeling Spatio-temporal Network Computations Betsy George, Shashi Shekhar Department of Computer Science and Engineering University of Minnesota Second.

## Presentation on theme: "Modeling Spatio-temporal Network Computations Betsy George, Shashi Shekhar Department of Computer Science and Engineering University of Minnesota Second."— Presentation transcript:

Modeling Spatio-temporal Network Computations Betsy George, Shashi Shekhar Department of Computer Science and Engineering University of Minnesota Second International Conference on GeoSpatial Semantics, Mexico City, Mexico 29 November 2007

Outline  Introduction  Motivation  Problem Statement  Related Work  Contributions  Conclusion and Future Work  Representation  Evaluation of Model using Case studies Conceptual Model Logical Model Physical Model

Motivation  Varying Congestion Levels and turn restrictions  travel time changes. 1) Transportation network Routing  Identification of frequent routes (i.e.) Journey to Crime U.P.S. Embraces High-Tech Delivery Methods (July 12, 2007) By Claudia H. Deutsch “The research at U.P.S. is paying off. Last year, it cut 28 million miles from truck routes— in good part by mapping routes that minimize left turns.” 3) Knowledge discovery from Sensor data. 2) Crime Analysis  Spreading Hotspots 9 PM, November 19, 2007 Sensors on Minneapolis Highway Network periodically report time varying traffic 4 PM, November 19, 2007 Some example queries on a time-varying network.

Problem Definition  Input : a) A Spatial Network b) Temporal changes of the network topology and parameters.  Objectives : (i) Expressive power (ii) Minimize storage and computation costs.  Output : A model that supports efficient correct algorithms for computing the query results.  Constraints : (i) Changes occur at discrete instants of time, (ii) Logical & Physical independence

Challenges  Conflicting Requirements  Expressive Power  Storage Efficiency  New and alternative semantics for common graph operations.  Ex., Shortest Paths are time dependent.  Key assumptions violated.  Ex., Prefix optimality of shortest paths

Related Work In Conceptual Data Model Temporally Enhanced ER Model (TERC)* Person Applicant Non-Degree seekingStudent Degree seekingStudent Alumnus Donor Accepted PromotedGraduated Added Models temporal changes in relationships via entity subtypes. * E. Zimayi, C. Parent, S, Spaccapietra, TERC+: A Temporal Conceptual Model, Proceedings of International Symposium on Digital Media Information Base, November 1997

Related Work In Logical Data Model Snapshots at t=1,2,3,4,5 t=1 N2 N1 N3 N4 N5 1 2 2 2 t=2 N2 N1 N3 N4 N5 1 2 2 1 t=3 N2 N1 N3 N4 N5 1 2 2 1 t=4 N2 N1 N3 N4 N5 1 2 2 1 t=5 N2 N1 N3 N4 N5 1 2 2 2 1 N.. Travel time Node: Edge: Time Expanded Graph Holdover Edge Transfer Edges t=1 N1 N4 t=2 N4 N5 t=3 N2 N3 N4 t=4 N1 N2 N3 N4 N5 N1 N2 N3 N4 N5 t=5 N1 N2 N3 N5 t=6 N1 N2 N3 N4 N5 t=7 N1 N2 N3 N4 N5

Limitations of Related Work  High Storage Overhead  Redundancy of nodes across time-frames  Additional edges across time frames.  Inadequate support for modeling non-flow parameters and uncertainty on edges.  Time Expanded Graph  Lack of physical independence of data  Computationally expensive Algorithms  Increased Network size. A B t=t2 t=t3 t=t4 t=t1 Relationship between Two Objects at Various Instants disjoint touch... Representation using Pictograms  Model can lead to too many sub-entities  Entities participating in an evolving relationship might not always have subtypes.  TERC Model  Can affect scalability Parking Lot Vehicle Parking Lot Vehicle

Our Contributions Time Aggregated Graph (TAG)  Representation  Evaluation of Model using Case Studies Routing Algorithms Conceptual Model Logical Model Physical Model Time Aggregation on evolving relationships Time aggregated Graph Set of logical operators

Representation of a Dynamic Relationship t=t9 A B t=t2 t=t3 t=t4 t=t1 Relationship between Two Objects at Various Instants Pictogram with time aggregation [d,t,o,c,c,v,o,t,d] Parking Lot Vehicle  Uses time-aggregation to model evolving relationships. d – disjoint t – touch o – overlap c – contains v – covers Disjoint CoveredBy Covers Touch Equals Overlap Inside Contains Implicit evolving relationships among Spatial Objects

Time Aggregated Graph Snapshots of a Network at t=1,2,3,4,5 Time Aggregated Graph N1 [ ,1,1,1,1] [2,2,2,2,2] [1,1,1,1,1] [2,2,2,2,2] [2, , , ,2] N2 N3 N4 N5 m i - travel time at t=i [m 1,…..,(m T ] Edge N.. Node  Attributes are aggregated over edges and nodes. t=1 N2 N1 N3 N4 N5 1 2 2 2 t=2 N2 N1 N3 N4 N5 1 2 2 1 t=3 N2 N1 N3 N4 N5 1 2 2 1 t=4 N2 N1 N3 N4 N5 1 2 2 1 t=5 N2 N1 N3 N4 N5 1 2 2 2 1

Time Aggregated Graph N : Set of nodesE : Set of edgesT : Length of time interval nw i : Time dependent attribute on nodes for time instant i. ew i : Time dependent attribute on edges for time instant i. On edge N4-N5 * [2,∞,∞,∞, 2] is a time series of attribute; * At t=2, the ‘∞’ can indicate the absence of connectivity between the nodes at t=2. * At t=1, the edge has an attribute value of 2. TAG = (N,E,T, [nw 1 …nw T ], [ew 1,..,ew T ] | nw i : N  R T, ew i : E  R T N1 [ ,1,1,1,1] [2,2,2,2,2] [1,1,1,1,1] [2,2,2,2,2] [2, , , ,2] N2 N3 N4 N5

Logical Model  Logical Operators Accessors Modifiers Predicates o get o insert, update, delete o exists Node Edge Route Graph  Graph Elements Examples getEdge(N1,N3,1)  2 getEdge(N1,N3)  [2,2,2,2,2] insertEdge(N1,N4,1,1)  N1 [ ,1,1,1,1] [2,2,2,2,2] [1,1,1,1,1] [2,2,2,2,2] [2, , , ,2] N2 N3 N4N5 [1,∞, ∞, ∞, ∞] Topology_first Operations Example: getEdge(n1,n2) Time_first Operations Example: getEdge(n1,n2,t)

Logical Model – A Set of Logical Operators insertdeletemodify at_timeat_all_timeat_timeat_all_timeat_timeat_all_time Nodeinsert(node, t,value) insert(node, series) delete(node,t)delete(node)update(node,t, value) update(node, series) Edgeinsert(node1, node2,value,t) insert(node1, node2,series) delete(node1, node2,t) delete(node1, node2) update(node1, node2,t,value) update(node1, node2,series) Routeinsert(node1, node2,value,t) insert(node1, node2) delete(node1, node2,t) delete(node1, node2) Graphinsert(graph, time) insert(graph)delete(graph, time) delete(graph)update(graph, time) update(graph) Operators in the Accessor Category Operators in the Modifier Category at_timeat_all_timeat_earliest NodegetNode(node,time)getNode(node)get_node_earliest (node,time) EdgegetEdge(node1,node2,time)getEdge(node1,node2)get_Edge_earliest (node1,node2,time) RoutegetRoute(node1,node2,time)getRoute(node1,node2)get_route_earliest (node1,node2,time) SP_RoutegetSP_Route(node,node2,time)getSP_Route(node,node) Flowget_max_Flow(node1,node2,time)get_max_Flow(node1,node2) Graphget_Graph(time)get_Graph()

Physical Representation N1 N2 N3 N4 N5 N2 N3 N4 N5 ∞ V 1111 F 1 F 2 V 2 2 ∞∞∞ F 2 Time-Aggregated Adjacency List N1 [ ,1,1,1,1] [2,2,2,2,2] [1,1,1,1,1] [2,2,2,2,2] [2, , , ,2] N2 N3 N4N5 Attribute time series is stored at the link to each adjacent node. ‘V’ – Attribute varies over time. ‘F’ – Attribute remains constant  Might use less storage for sparse graphs.

Physical Representation N1N2 N3 N4 N5 N3 N1 N2 N4 N5 2 2 2 1 ∞∞ ∞∞ ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ t=2 2 2 ∞ 1 ∞1 ∞∞ ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ t=1 N1 N2 N3N4 N5 N1 [ ,1,1,1,1] [2,2,2,2,2] [1,1,1,1,1] [2,2,2,2,2] [2, , , ,2] N2 N3 N4N5 N1N2 N3 N4 N5 N3 N1 N2 N4 N5 2 2 1 ∞1 ∞∞ ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ t=4 2 2 ∞ 1 ∞1 ∞∞ ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ t=3 N1 N2 N3N4 N5    ∞ Attributes are stored in a three dimensional matrix. One slice on the time dimension  one snapshot  More suitable for Time-first (snapshot) operations.

Physical Representation Time-Aggregated Adjacency List wit sliding windows N1 [ ,1,1,1,1] [2,2,2,2,2] [1,1,1,1,1] [2,2,2,2,2] [2, , , ,2] N2 N3 N4N5 An Implementation of Infinite time series. N1 N2 N3 N4 N5 N2 N3 N4 N5 1 1 ∞ 1 1 1 2 2 2 2 2 2 2 ∞ ∞ Time series is stored in a circular queue the link to each adjacent node.

Comparison of Storage Cost For a TAG of n nodes, m edges and time interval of length T,  If there are k edge time series in the TAG, storage required for time series is O(kT). (*)  Storage requirement for TAG is O(n+m+kT) (**) D. Sawitski, Implicit Maximization of Flows over Time, Technical Report (R:01276),University of Dortmund, 2004. (*) All edge and node parameters might not display time-dependence. For a Time Expanded Graph,  Storage requirement is O(nT) + O(n+m)T (**) Experimental Evaluation

Evaluation using Routing Algorithms Start at t=1: Shortest Path is N1-N3-N4-N5; Travel time is 6 units. Start at t=3: Shortest Path is N1-N2-N4-N5; Travel time is 4 units. Shortest Path is dependent on start time!! Fixed Start Time Shortest Path Least Travel Time (Best Start Time) Finding the shortest path from N1 to N5.. t=1 N2 N1 N3 N4 N5 1 2 2 2 t=2 N2 N1 N3 N4 N5 1 2 2 1 t=3 N2 N1 N3 N4 N5 1 2 2 1 t=4 N2 N1 N3 N4 N5 1 2 2 1 t=5 N2 N1 N3 N4 N5 1 2 2 2 1

Shortest Path Algorithm for Given Start Time Algorithm  Every node has a cost (  arrival time at the node).  Greedy strategy:  Select the node with the lowest cost to expand.  Traverse every edge at the earliest available time.  Complexity of shortest path algorithm is O(m( log T+ log n)) Pseudo code Input: Graph G(N,E), Source s, Destination d, Start time t start Output: Shortest Path from s to d for start time t start Insert s in minimum heap Q u= extract_min (Q); while Q not empty { for each node v adjacent to u { t = get_edge_earliest(u,v,c u );  = getEdge (u,v,t); relax(u,v,  ); insert(Q,v); }}

Best Start Time Shortest Path Algorithm Algorithm Pseudo code Input: Graph G(N,E), Source s, Destination d, Start time t start Output: Best start time from s to d for start time t start Enqueue(Q,s); u= dequeue(Q); while Q not empty { for each node v adjacent to u and for each t{  = getEdge(u,v,t); if (c u >  + c v ), then { insert(Q,v); }}  Each node has a cost series.  Node to be expanded is selected at random.  Every entry in the cost series of ‘adjacent’ nodes are updated (if there is an improvement in the existing cost). ts = getNode(u); c u = getNode(u,t); c v = getNode(v,t+  ); update(v,t,  + c v );

Conclusions  Time Aggregated Graph (TAG)  Time series representation of edge/node properties  Non-redundant representation  Often less storage, less computation time  Evaluation of the Model using Case Studies  Shortest Path for Fixed Start Time  Transportation Network Routing Algorithms

Future Work  Spatio-temporal Network Databases  Conceptual level  Extend Pictogram-enhanced ER model.  Logical level  Formulate a complete set of logical operators  Physical level  Add spatial properties to nodes, edges.  Design indexing methods for time-aggregated graph.  Explore the possibility of infinite time windows.  Formulate new algorithms.  Three-Schema Architecture

Download ppt "Modeling Spatio-temporal Network Computations Betsy George, Shashi Shekhar Department of Computer Science and Engineering University of Minnesota Second."

Similar presentations