Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah...
Transcript of Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah...
![Page 1: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/1.jpg)
Network Flows for Functions
D. Manjunath[Joint work with Virag Shah and Bikash Kumar Dey]
IIT Bombay
NCC 2011; 29 Jan 2011
![Page 2: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/2.jpg)
Outline
• The problem setup
• The LP formulations and algorithms
• Extensions and open problems
• Other works
• Summary
![Page 3: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/3.jpg)
The setting
• Terminal (aka sink) nodes want to recover functions of datafrom distributed sources. Example of functions:max,min, average, etc.
• Application example: Average temperature sensed bymany sensors, average/maximum traffic at different partsof a network.
S
S
S
SS
S
R
RT
S
![Page 4: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/4.jpg)
The setting
S1 S2 S3
1T 2T
X1
X3X21 X31 X1
X2
X1 X2
X1
1
X22 2 2
,, X2f( ) X1g( ), ,f( ) g( )
![Page 5: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/5.jpg)
Computing function: a simple example
X
Z
Y
f(X,Y,Z)= max(X,Y,Z)
![Page 6: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/6.jpg)
Computing function: a simple example
X
Z
Y
f(X,Y,Z)= max(X,Y,Z)
max(X,Y)
max(X,Y,Z)
• Computing at internal nodes is a naturalchoice—distributed computation of distributed data.
• We assume: no mixing of data across different realizations.
![Page 7: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/7.jpg)
Computation tree: G
X1 X2X3
Θ
*
+
X1X2
Computation tree of Θ(X1,X2,X3) = X1X2 + X3
![Page 8: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/8.jpg)
Computation tree: G
• A single computation tree may servedifferent functions.
• Our techniques depend only on thecomputation tree and not on thefunction.
• A single function may allow multiplecomputationt trees; we start byassuming a single computation treeand generalise to multiple trees.
X1 X2X3
Θ
*
+
Θ(X1,X2,X3) =X1X2 + X3
OR
(X1 + X2)X3
OR...
![Page 9: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/9.jpg)
Our setup
• A single terminal wants to compute a single function of thedistributed using a given computation tree. Manygeneralizations will follow.
![Page 10: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/10.jpg)
Our setup
• A single terminal wants to compute a single function of thedistributed using a given computation tree. Manygeneralizations will follow.
• The network has undirected half-duplex links with a totalcapacity constraint. Easily applicable to directed networks.
u vtotal flow ≤ c(uv)
![Page 11: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/11.jpg)
Our setup
• A single terminal wants to compute a single function of thedistributed using a given computation tree. Manygeneralizations will follow.
• The network has undirected half-duplex links with a totalcapacity constraint. Easily applicable to directed networks.
u vtotal flow ≤ c(uv)
• Objective: to find the maximum computation rate per useof the network and to find an optimum computation andcommunication scheme.
![Page 12: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/12.jpg)
Embedding: Illustration for Θ = X1X2 + X3
N and G and two possible embeddings.
t
s1 s2 s3
X1 X2X3
Θ
*
+
X1X2
X2
s1 s2 s3
t
X1
X3
X3
Θ
X2
X1
X1*X2
s1 s2 s3
t
X1 X2
X1*X2
X3
X3
![Page 13: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/13.jpg)
Definition
A path in N is a sequence of nodes v1, v2, · · · , vl ; l ≥ 1 s.t.vivi+1 ∈ E for i = 1, 2, . . . , l − 1.
Let P denote the set of paths in N .
![Page 14: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/14.jpg)
Definition
A path in N is a sequence of nodes v1, v2, · · · , vl ; l ≥ 1 s.t.vivi+1 ∈ E for i = 1, 2, . . . , l − 1.
Let P denote the set of paths in N .
Define Φ↑(θ)= ηßΓ|head(η) = tail(θ) and
Φ↓(θ)= η ∈ Γ|tail(η) = head(θ).
θ
θ
![Page 15: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/15.jpg)
Definition
A path in N is a sequence of nodes v1, v2, · · · , vl ; l ≥ 1 s.t.vivi+1 ∈ E for i = 1, 2, . . . , l − 1.
Let P denote the set of paths in N .
Define Φ↑(θ)= ηßΓ|head(η) = tail(θ) and
Φ↓(θ)= η ∈ Γ|tail(η) = head(θ).
θ
θThe edges of G are ordered in a topological order.
Definition: An embedding of G into N is a
map B : Γ → P such that
1. start(B(θl)) = sl for l = 1, 2, . . . , κ
2. end(B(η)) = start(B(θ)) if η ∈ Φ↑(θ)
3. end(B(θ|Γ|)) = t .
θ1 θ2 θκ
θ|Γ|
![Page 16: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/16.jpg)
Embedding-Edge LP
• What is the best time-sharing between the differentembeddings?
Embedding-Edge LP: Maximize λ =∑
B∈B x(B) subject to1. Capacity constraints
∑
B∈B
rB(e)x(B) ≤ c(e), ∀e ∈ E (1)
2. Non-negativity constraints
x(B) ≥ 0, ∀B (2)
rB(e) = # of times that network edge e of N is used inembedding B.
![Page 17: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/17.jpg)
Embedding-Edge LP
• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.
![Page 18: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/18.jpg)
Embedding-Edge LP
• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.
• |B| is exponential in |V |. So this LP has exponentialcomplexity.
![Page 19: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/19.jpg)
Embedding-Edge LP
• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.
• |B| is exponential in |V |. So this LP has exponentialcomplexity.
• We need to seek simpler solutions• We can identify each edge of G to be a flow.
![Page 20: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/20.jpg)
Embedding-Edge LP
• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.
• |B| is exponential in |V |. So this LP has exponentialcomplexity.
• We need to seek simpler solutions• We can identify each edge of G to be a flow.
• We can thus explore an efficient Node-Arc LP based on“flow conservation.”
![Page 21: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/21.jpg)
Flow-conservation
• A complication: Flow can be destroyed or generated atinternal nodes.
![Page 22: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/22.jpg)
Flow-conservation
• A complication: Flow can be destroyed or generated atinternal nodes.
• A destroyed flow of type θ1 or θ2
generates a flow of type η of the samevolume.
![Page 23: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/23.jpg)
Flow-conservation
• A complication: Flow can be destroyed or generated atinternal nodes.
• A destroyed flow of type θ1 or θ2
generates a flow of type η of the samevolume.
• A flow generated at a node is assumedto flow on a virtual self-loop at thatnode.
• The flow in the self-loop contributes tothe incoming flow, but not to theoutgoing flow.
θ1 θ2
η
![Page 24: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/24.jpg)
Flow-conservation
X2
s1 s2 s3
t
X1
X3
X3
Θ
X2
X1
s1 s2 s3
t
X2
X3
X3
X1
X1*X2
![Page 25: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/25.jpg)
Flow-conservation
X2
s1 s2 s3
t
X1
X3
X3
Θ
X2
X1
s1 s2 s3
t
X2
X3
X3
X1
X1*X2f X2f X1=1.5
f X1=1.5
f X1=1.5
f X3=1.5
f X3=1f X1X2+X3
f X1X2=0.5
f X3=1
f X3=1.5
X1X2+X3f =0.5
f X1X2
=1f X1X2+X3=1.5
=1.5f X2
=1.5f X2
s2 s3
t
s1
=1.5
=0.5
0.51.0
![Page 26: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/26.jpg)
Node-Arc LP
Node-Arc LP: Maximize λ subject to followingconstraints. For any node v ∈ V
1. Functional conservation of flows:
f ηvv +∑
u∈N(v)
f θvu −∑
u∈N′(v)
f θuv = 0,
∀θ ∈ Γ \ θ|Γ| and ∀η ∈ Φ↓(θ).
θ1 θ2
η
θ1 θ2
θ1θ2η
~ 2~ 2~ 1
η
~ 3
~ 1~ 3
2. Conservation and termination of θ|Γ|:
∑
u∈N(v)
fθ|Γ|vu −
∑
u∈N′(v)
fθ|Γ|uv =
−λ v = t
0. otherwise
![Page 27: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/27.jpg)
Node-Arc LP3. Generation of θl ∀l ∈ 1, 2, . . . , κ:
f θlvv =
λ v = sl
0. otherwise
4. Capacity constraints
∑
θ∈Γ
(
f θuv + f θvu
)
≤ c(uv), ∀uv ∈ E .
5. Non-negativity constraints
f θuv ≥ 0, ∀uv ∈ E and ∀θ ∈ Γ
f θuu ≥ 0, ∀u ∈ V and ∀θ ∈ Γ
λ ≥ 0.
![Page 28: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/28.jpg)
Node-Arc LP → Embedding-Edge LP
• This is a similar to LP formulations in multi-commodity flow.
![Page 29: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/29.jpg)
Node-Arc LP → Embedding-Edge LP
• This is a similar to LP formulations in multi-commodity flow.
• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.
![Page 30: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/30.jpg)
Node-Arc LP → Embedding-Edge LP
• This is a similar to LP formulations in multi-commodity flow.
• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.
• In each iteration, Extract-Embedding extracts’ a non-zeroflow on an embedding or a nonzero redundant flow on acycle.
![Page 31: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/31.jpg)
Node-Arc LP → Embedding-Edge LP
• This is a similar to LP formulations in multi-commodity flow.
• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.
• In each iteration, Extract-Embedding extracts’ a non-zeroflow on an embedding or a nonzero redundant flow on acycle.
• Atleast one flow f θuv is completely removed in each iterationof Extract-Embedding.
![Page 32: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/32.jpg)
Node-Arc LP → Embedding-Edge LP
• This is a similar to LP formulations in multi-commodity flow.
• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.
• In each iteration, Extract-Embedding extracts’ a non-zeroflow on an embedding or a nonzero redundant flow on acycle.
• Atleast one flow f θuv is completely removed in each iterationof Extract-Embedding.
• The algorithm has the overall complexity O(κ2|E |2).
• The LP has O(κ|E |) number of variables, O(κ|E |) numberof non-negativity constraints, and O(κ|V |+ |E |) number ofother constraints.
![Page 33: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/33.jpg)
Toward an efficient ǫ-approximate solution
• For multi-commodity flow, and more general packing LPs,Garg and Konemann [1998] gave a primal-dual algorithmto compute a solution which achieves at least (1 − ǫ)fraction of the optimal rate.
• Our Embedding-Edge LP is also such a ‘packing LP’.
• So, Garg-Konemann algorithm can be used for ourproblem.
• The algorithm uses an oracle subroutine that solves a‘dual’ problem.
![Page 34: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/34.jpg)
Toward an efficient ǫ-approximate solution
Let l(e) be the weight of edge e. Define the weight of anembedding B as
wL(B) =∑
e∈B
rB(e)l(e).
• The oracle subroutine OptimalEmbedding(L) finds anembedding with minimum weight for a given set L of edgeweights.
![Page 35: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/35.jpg)
Toward an efficient ǫ-approximate solution
Let l(e) be the weight of edge e. Define the weight of anembedding B as
wL(B) =∑
e∈B
rB(e)l(e).
• The oracle subroutine OptimalEmbedding(L) finds anembedding with minimum weight for a given set L of edgeweights.
• We later give an efficient algorithm for doing this.
![Page 36: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/36.jpg)
An efficient ǫ-approximate solution
Algorithm: Algorithm for finding approximately optimal x and λ
Input: Network graph N = (V ,E), capacities c(e), set ofsource nodes S, terminal node t , computation tree G = (Ω, Γ),the desired accuracy ǫOutput: Primal solution x(B),B ∈ BInitialize l(e) := δ/c(e), ∀e ∈ E , x(B) := 0, ∀B ∈ B ;while D(l) < 1 do % D(l) =
∑
c(e)l(e)B∗ := OptimalEmbedding(L);e∗ := edge in B∗ with smallest c(e)/rB∗(e) ;x(B∗) := x(B∗) + c(e∗)/rB∗(e∗);l(e) := l(e)(1 + ǫ c(e∗)/rB∗ (e∗)
c(e)/rB∗ (e) ), ∀e ∈ B∗ ;endx(B) := x(B)/ log1+ǫ
1+ǫδ , ∀B;
![Page 37: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/37.jpg)
OptimalEmbedding(L): overview
• For each edge θi , starting from θ1, it finds a way to computeθi at each network node at the minimum cost possible.
• It keeps track of that minimum cost and also the‘predecessor’ node from where it receives θi .
• If θi is computed at that node itself then the predecessornode is itself.
![Page 38: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/38.jpg)
OptimalEmbedding(L)
• Computing θi for i ∈ 1, 2, . . . , κ at the minimum cost at anode u is equivalent to finding the shortest path to u fromsi . We do this by using Dijkstra’s algorithm.
• For any other i , the node u can either compute θi fromΦ↑(θi) or receive it from one of its neighbors.
• To take this into account, unlike Dijkstra’salgorithm, we initialize the cost of computingθi with the cost of computing Φ↑(θi) at thesame node. The rest is similar to Dijkstra’salgorithm.
• Finally the predecessors are backtrackedfrom t to find the optimal embedding.
t
![Page 39: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/39.jpg)
Complexity
• Overall complexity of OptimalEmbedding(L):O(κ(|E |+ |V | log |V |))
• The number of iterations in the primal-dual algorithm is ofthe order O(ǫ−1|E | log1+ǫ |E |).
• Thus the overall complexity of the primal-dual algorithm isO(
ǫ−1κ|E |(|E |+ |V | log |V |) log1+ǫ |E |)
.
![Page 40: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/40.jpg)
Extensions and Open Problems
Extensions• Multiple trees for the same function.
• Multiple terminals and functions of distinct sources.
• Computing with a specified precision.
• Consider energy limited sensors.
Open problems• An immediate open problem: The computation graph G is a
DAG and not a tree.
![Page 41: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/41.jpg)
In perspective: Other setups for function networks
• Wired/wireless networks: Graph or hypergraph v1
v2
v3
v4
u v u
• Directed or undirected links
u v u v
flow ≤ c(uv) total flow ≤ c(uv)
• block computation/coding vs. bit-wise computation
• zero-error recovery vs. small-error recovery
• correlated vs. independent sources
• single terminal vs. multiple terminals
• same vs. different functions at different terminals
• fixed vs. random networks
![Page 42: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/42.jpg)
Typical objectives
• For any given link capacities, what is the maximum rate (orrate-region for multiple terminals) that is achievable? Moregenerally, rate-distortion trade-off?
• Assymptotic scaling laws for required communicationcomplexity per node
• Efficient encoding/decoding
![Page 43: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/43.jpg)
Summary of other views
• In information theory: Small networks, correlated sourceswith the objective of finding achievable rate-region andrate-distortion.
• Scaling laws for randomly deployed networks: Does notconsider a fixed network.
• Network coding: internal nodes are allowed to mix receiveddata to construct outgoing data even for communication.
![Page 44: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/44.jpg)
The big picture
ComputerScience
Info
rmat
ion
The
ory
Networkcoding
Networking
functioncomputation
Distributed
![Page 45: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/45.jpg)
The big picture
ComputerScience
Info
rmat
ion
The
ory
Networkcodingflow
multi−commodity
Networking
functioncomputation
Distributed
![Page 46: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/46.jpg)
The big picture
ComputerScience
Info
rmat
ion
The
ory
functionsFlow for
Networkcodingflow
multi−commodity
Networking
functioncomputation
Distributed
![Page 47: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/47.jpg)
The End
![Page 48: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/48.jpg)
The End
Thank you
![Page 49: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011](https://reader034.fdocuments.us/reader034/viewer/2022051606/60278f42af683a665c7223d8/html5/thumbnails/49.jpg)
The End
Thank you
Questions?