modeling spatio-temporal network computations betsy george, shashi shekhar department of computer...
TRANSCRIPT
Modeling Spatio-temporal Network Computations
Betsy George, Shashi ShekharDepartment 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, 2007Sensors 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
ApplicantNon-Degree
seekingStudent
Degree seekingStudent
Alumnus Donor
Accepted
Promoted
Graduated
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
22
1
t=3
N2
N1
N3
N4 N5
1
22
1
t=4
N2
N1
N3
N4 N5
1
22
1
t=5
N2
N1
N3
N4 N5
12
22
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
N5t=6
N1
N2
N3
N4
N5
t=7
N1 N1
N2 N2
N3 N3
N4
N5 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.
AB t=t2t=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
AB
t=t2t=t3t=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
CoveredByCovers
Touch
Equals
Overlap
InsideContains
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
mi- travel time at t=i
[m1,…..,(mT]
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
22
1
t=3
N2
N1
N3
N4 N5
1
22
1
t=4
N2
N1
N3
N4 N5
1
22
1
t=5
N2
N1
N3
N4 N5
12
22
1
Time Aggregated Graph
N : Set of nodes E : Set of edges T : Length of time interval
nwi: Time dependent attribute on nodes for time instant i.
ewi: 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, [nw1…nwT ],
[ew1,..,ewT ] |nwi : N RT, ewi : E RT
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, deleteo 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
N4 N5[1,∞, ∞, ∞, ∞]
•Topology_first Operations Example: getEdge(n1,n2)•Time_first Operations Example: getEdge(n1,n2,t)
Logical Model – A Set of Logical Operators
insert delete modify
at_time at_all_time at_time at_all_time at_time at_all_time
Node insert(node, t,value)
insert(node, series)
delete(node,t)
delete(node)
update(node,t,value)
update(node, series)
Edge insert(node1, node2,value,
t)
insert(node1,node2,seri
es)
delete(node1,node2,t)
delete(node1,node2)
update(node1,
node2,t,value)
update(node1,node2,seri
es)
Route
insert(node1, node2,value,
t)
insert(node1,node2)
delete(node1,node2,t)
delete(node1,node2)
Graph
insert(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_time at_all_time at_earliest
Node getNode(node,time) getNode(node) get_node_earliest (node,time)
Edge getEdge(node1,node2,time) getEdge(node1,node2) get_Edge_earliest (node1,node2,tim
e)
Route getRoute(node1,node2,time) getRoute(node1,node2) get_route_earliest (node1,node2,tim
e)
SP_Route getSP_Route(node,node2,time) getSP_Route(node,node)
Flow get_max_Flow(node1,node2,time)
get_max_Flow(node1,node2)
Graph get_Graph(time) get_Graph()
Physical Representation
N1
N2
N3
N4
N5
N2 N3
N4
N4
N5
∞V 1 1 11
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
N4 N5
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
N1 N2
N3
N4
N5
N3
N1
N2
N4
N5
2
2
2
1
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
t=2
2
2
∞
1
∞ 1 ∞ ∞
∞ ∞ ∞ ∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
t=1
N1 N2 N3 N4 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
N4 N5
N1 N2
N3
N4
N5
N3
N1
N2
N4
N5
2
2
1
∞ 1 ∞ ∞
∞ ∞ ∞ ∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
t=4
2
2
∞
1
∞ 1 ∞ ∞
∞ ∞ ∞ ∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
t=3
N1 N2 N3 N4 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
N4 N5
An Implementation of Infinite time series.
N1
N2
N3
N4
N5
N2 N3
N4
N4
N5
11
∞
11
1
22
2
22
2
2 ∞∞
Time series is stored in a circular queue the link to each adjacent node.
Comparison of Storage Cost
Memory(Length of time series=150)
100
1100
2100
3100
4100
5100
111 277 562 786
No: of nodes
Sto
rag
e u
nit
s (K
B)
TAG
TEXP
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
22
1
t=3
N2
N1
N3
N4 N5
1
22
1
t=4
N2
N1
N3
N4 N5
1
22
1
t=5
N2
N1
N3
N4 N5
12
22
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 codeInput: Graph G(N,E), Source s, Destination d, Start time tstart
Output: Shortest Path from s to d for start time tstart
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,cu); = getEdge (u,v,t);relax(u,v,);insert(Q,v);
}}
Best Start Time Shortest Path Algorithm
Algorithm
Pseudo codeInput: Graph G(N,E), Source s, Destination d, Start time tstart
Output: Best start time from s to d for start time tstart
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 (cu > + cv), 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);
cu = getNode(u,t);cv = getNode(v,t+ );
update(v,t, + cv);
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
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