270 likes | 280 Views
The ATG Minimization Algorithms aim to minimize full and ordered temporal graphs, addressing conflicts and redundant arcs to optimize structure and efficiency. This intricate process enhances graph representation.
E N D
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
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
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
nk nj ni
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
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 n2 n3 n1
Example of a simple ATG –Instantaneous events and relative constraints • C = {<, =, >} • self_ref is set to = • Transitivity Table Cik 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 n1 ---> n1 { = } n1 ---> n2 { < } n1 ---> n3 { = } n1 ---> n4 { < = > } n1 ---> n5 { < = > } n2 ---> n1 { > } n2 ---> n2 { = } n2 ---> n3 { < = > } n2 ---> n4 { = } n2 ---> n5 { < = > } n3 ---> n1 { = } n3 ---> n2 { < = > } n3 ---> n3 { = } n3 ---> n4 { < } n3 ---> n5 { < = > } n4 ---> n1 { < = > } n4 ---> n2 { = } n4 ---> n3 { > } n4 ---> n4 { = } n4 ---> n5 { < > } n5 ---> n1 { < = > } n5 ---> n2 { < = > } n5 ---> n3 { < = > } n5 ---> n4 { < > } n5 ---> n5 { = }
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 { < }