An Algebraic Approach to Network Coding

Similar documents
Ma/CS 6b Class 25: Error Correcting Codes 2

Communicating the sum of sources in a 3-sources/3-terminals network

THE idea of network coding over error-free networks,

Ma/CS 6b Class 24: Error Correcting Codes

Linear Codes, Target Function Classes, and Network Computing Capacity

Robust Network Codes for Unicast Connections: A Case Study

6.02 Fall 2012 Lecture #1

An Ins t Ins an t t an Primer

Outline. The Leader Election Protocol (IEEE 1394) IEEE 1394 High Performance Serial Bus (FireWire) Motivation. Background. Protocol Descriptions

22m:033 Notes: 1.3 Vector Equations

Exam 1. Problem 1: True or false

Network Coding on Directed Acyclic Graphs

Announcements August 31

The Leader Election Protocol (IEEE 1394)

Chapter 1: Introduction to Probability Theory

Sum-networks from undirected graphs: Construction and capacity analysis

Permutations and Combinations

Generalized Network Sharing Outer Bound and the Two-Unicast Problem

Course : Algebraic Combinatorics

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei

Code Construction for Two-Source Interference Networks

Can You Hear Me Now?

16.36 Communication Systems Engineering

Utilising public information in Network Coding

Section 1.1: Patterns in Division

Deterministic Network Coding by Matrix Completion. Nicholas James Alexander Harvey Bachelor of Mathematics, University of Waterloo, 2000

Index coding with side information

Alignment-Based Network Coding for Two-Unicast-Z Networks

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes.

Network coding for multiple unicast over directed acyclic networks

Shannon s noisy-channel theorem

6.3 Bernoulli Trials Example Consider the following random experiments

Basic information theory

Lecture Notes 1 Basic Probability. Elements of Probability. Conditional probability. Sequential Calculation of Probability

Coset Decomposition Method for Decoding Linear Codes

On the complexity of maximizing the minimum Shannon capacity in wireless networks by joint channel assignment and power allocation

Networks and Matroids

2.6 Complexity Theory for Map-Reduce. Star Joins 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51

Finite Universes. L is a fixed-length language if it has length n for some

Equivalence. Two networks can look different but be the same. They can also appear similar, but be different. For example:

Precoding-Based Network Alignment For Three Unicast Sessions

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Tail Inequalities Randomized Algorithms. Sariel Har-Peled. December 20, 2002

Alphabet Size Reduction for Secure Network Coding: A Graph Theoretic Approach

Notes on Dantzig-Wolfe decomposition and column generation

Beyond the Butterfly A Graph-Theoretic Characterization of the Feasibility of Network Coding with Two Simple Unicast Sessions

On Network Coding Capacity - Matroidal Networks and Network Capacity Regions. Anthony Eli Kim

Active Measurement for Multiple Link Failures Diagnosis in IP Networks

On Equilibria of Distributed Message-Passing Games

The Complexity of a Reliable Distributed System

Minimum cost transportation problem

Lecture 10: Mechanisms, Complexity, and Approximation

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

Deterministic Network Coding by Matrix Completion

Graph-Constrained Group Testing

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

Information and Entropy

Travelling Salesman Problem

Some mathematical properties of Cayley digraphs with applications to interconnection network design

An Introduction to (Network) Coding Theory

Information Theory. Lecture 10. Network Information Theory (CT15); a focus on channel capacity results

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

Mathematical Induction

Ability to Count Messages Is Worth Θ( ) Rounds in Distributed Computing

Network coding for resource optimization and error correction

MARKOV CHAINS A finite state Markov chain is a sequence of discrete cv s from a finite alphabet where is a pmf on and for

Communicating the Sum of Sources Over a Network View Document

1.6: Solutions 17. Solution to exercise 1.6 (p.13).

UTA EE5362 PhD Diagnosis Exam (Spring 2011)

Intro to probability concepts

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

2.2 Asymptotic Order of Growth. definitions and notation (2.2) examples (2.4) properties (2.2)

Two Applications of Maximum Flow

Graph independent field size bounds on failure protecting network codes

CS Lecture 4. Markov Random Fields

Mathematical Foundations of Computer Science Lecture Outline October 18, 2018

Capacity Region of the Permutation Channel

Language-Processing Problems. Roland Backhouse DIMACS, 8th July, 2003

arxiv: v2 [cs.ds] 3 Oct 2017

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G.

Graph-based codes for flash memory

Modeling and Simulation NETW 707

Temporal Reachability Graphs

Binary Arithmetic: counting with ones

PRAM lower bounds. 1 Overview. 2 Definitions. 3 Monotone Circuit Value Problem

Provable Approximation via Linear Programming

Large Deviations for Channels with Memory

On the Min-Max-Delay Problem: NP-completeness, Algorithm, and Integrality Gap

Advanced topic: Space complexity

On queueing in coded networks queue size follows degrees of freedom

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.

An Equivalence between Network Coding and Index Coding

Computing linear functions by linear coding over networks

Computing and Communicating Functions over Sensor Networks

Selected partial inverse combinatorial optimization problems with forbidden elements. Elisabeth Gassner

Discrete Optimization

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

Linear Index Codes are Optimal Up To Five Nodes

Transcription:

An Algebraic Approach to July 30 31, 2009

Outline 1 2 a 3 Linear 4

Digital Communication Digital communication networks are integral parts of our lives these days; so, we want to know how to most effectively use these networks.

Digital Communication Digital communication networks are integral parts of our lives these days; so, we want to know how to most effectively use these networks. Two questions quickly arise when considering how to do this: What if an error occurs when transmitting data?

Digital Communication Digital communication networks are integral parts of our lives these days; so, we want to know how to most effectively use these networks. Two questions quickly arise when considering how to do this: What if an error occurs when transmitting data? How do we send as much data as possible through the network.

Digital Communication Digital communication networks are integral parts of our lives these days; so, we want to know how to most effectively use these networks. Two questions quickly arise when considering how to do this: What if an error occurs when transmitting data? How do we send as much data as possible through the network. We will be focusing on the latter of these two questions.

Traditionally, the method of choice for transmitting data at a node has been routing. In this method, data recieved at a node is simply re-transmitted (selectively) by the node.

Traditionally, the method of choice for transmitting data at a node has been routing. In this method, data recieved at a node is simply re-transmitted (selectively) by the node. coding is a simple extension of routing that allows for any node in the network to perform operations on its recieved data before it transmits any data.

Traditionally, the method of choice for transmitting data at a node has been routing. In this method, data recieved at a node is simply re-transmitted (selectively) by the node. coding is a simple extension of routing that allows for any node in the network to perform operations on its recieved data before it transmits any data. Throughout this discussion, we will be considering delay-free networks.

An Example: The Butterfly In the network below, we want to get two separate messages from the source node s to each of the sink nodes t 1 and t 2. s w y x z t 1 t 2

An Example: The Butterfly With Routing s With s w x w x y y z t 1 t 2 z t 1 t 2

An Example: The Butterfly With Routing s With s w x w x y y z t 1 t 2 z t 1 t 2

An Example: The Butterfly With Routing s With s w x w x y y z t 1 t 2 z t 1 t 2

An Example: The Butterfly With Routing s With s w x w x y y z t 1 t 2 z t 1 t 2

An Example: The Butterfly With Routing s With s w x w x y y z t 1 t 2 z t 1 t 2

An Example: The Butterfly With Routing s With s w x w x y y z t 1 t 2 z t 1 t 2

Outline 1 2 a 3 Linear 4

Some Definitions For the purposes of this presentation, we will define a communication network to be a directed graph.

Some Definitions For the purposes of this presentation, we will define a communication network to be a directed graph. Definition A directed graph G is an ordered pair (V, E) where V is a collection of points and E is a subset of V V N.

Some Definitions For the purposes of this presentation, we will define a communication network to be a directed graph. Definition A directed graph G is an ordered pair (V, E) where V is a collection of points and E is a subset of V V N. The set V is refered to as the vertex set of G, and the set E is refered to as the edge set of G.

Some Definitions For the purposes of this presentation, we will define a communication network to be a directed graph. Definition A directed graph G is an ordered pair (V, E) where V is a collection of points and E is a subset of V V N. The set V is refered to as the vertex set of G, and the set E is refered to as the edge set of G. An element of V is called a vertex (or a node), and an element of E is called an edge (or a link).

Some Definitions For the purposes of this presentation, we will define a communication network to be a directed graph. Definition A directed graph G is an ordered pair (V, E) where V is a collection of points and E is a subset of V V N. The set V is refered to as the vertex set of G, and the set E is refered to as the edge set of G. An element of V is called a vertex (or a node), and an element of E is called an edge (or a link). Note: The set E is a subset of V V N to allow for multiple edges between any two vertices. When no confusion can arise, we will denote an edge as an ordered pair in V V.

A Simple Example Let G = (V, E) be a directed graph with V and E given as follows: V = {a, b, c} E = {(a, b, 1), (a, b, 2), (a, c, 1), (c, b, 1)}

A Simple Example Let G = (V, E) be a directed graph with V and E given as follows: V = {a, b, c} E = {(a, b, 1), (a, b, 2), (a, c, 1), (c, b, 1)} Then we can visualize G as the following figure: a b c

A Simple Example Let G = (V, E) be a directed graph with V and E given as follows: V = {a, b, c} E = {(a, b, 1), (a, b, 2), (a, c), (c, b)} Then we can visualize G as the following figure: a b c

Some Notation From here on out, G = (V, E) will represent a directed graph.

Some Notation From here on out, G = (V, E) will represent a directed graph. For an edge e = (v, u, i) E, we call u and v the head and tail of e, respectively, and we use the notation head(e) = u and tail(e) = v.

Some Notation From here on out, G = (V, E) will represent a directed graph. For an edge e = (v, u, i) E, we call u and v the head and tail of e, respectively, and we use the notation head(e) = u and tail(e) = v. For a vertex v V, we define the sets Γ I (v) := {e E head(e) = v} Γ O (v) := {e E tail(e) = v}. and We define the in-degree and out-degree of v to be δ I (v) := Γ I (v) and δ O (v) := Γ O (v), respectively.

Modeling Data We will model the data transmitted through a network as a collection of random processes.

Modeling Data We will model the data transmitted through a network as a collection of random processes. For each v V, we let X (v) = {X(v, 1),..., X ( v, µ(v) ) } denote a collection of random processes that are observable at the node v. Here, µ(v) is allowed to equal zero, in which case the collection X (v) is empty.

Modeling Data We will model the data transmitted through a network as a collection of random processes. For each v V, we let X (v) = {X(v, 1),..., X ( v, µ(v) ) } denote a collection of random processes that are observable at the node v. Here, µ(v) is allowed to equal zero, in which case the collection X (v) is empty. With each edge e E we will associate a random process Y (e). This random process models the data transmitted over the link e.

Transmitting Data We will assume that communication in our network is performed by transmission of vectors of bits, that is, as elements of {0, 1} m for some m N. Unless otherwise stated, a vector is assumed to be a row vector.

Transmitting Data We will assume that communication in our network is performed by transmission of vectors of bits, that is, as elements of {0, 1} m for some m N. Unless otherwise stated, a vector is assumed to be a row vector. The above assumption allows for the following: We can interpret any random process R as a discrete random process R = {R 0, R 1, R 2,... }.

Transmitting Data We will assume that communication in our network is performed by transmission of vectors of bits, that is, as elements of {0, 1} m for some m N. Unless otherwise stated, a vector is assumed to be a row vector. The above assumption allows for the following: We can interpret any random process R as a discrete random process R = {R 0, R 1, R 2,... }. The data that we are working with, binary m-tuples, can now be interpreted as elements of F 2 m. This has the benefit of using the operations of F 2 m on our packets of data.

Will the definitions ever end? Definition A cycle in G is a sequence of edges of the form {(v 0, v 1 ), (v 1, v 2 ),..., (v n, v 0 )}.

Will the definitions ever end? Definition A cycle in G is a sequence of edges of the form {(v 0, v 1 ), (v 1, v 2 ),..., (v n, v 0 )}. The graph G is called acyclic if it contains no cycles.

Will the definitions ever end? Definition A cycle in G is a sequence of edges of the form {(v 0, v 1 ), (v 1, v 2 ),..., (v n, v 0 )}. Example The graph G is called acyclic if it contains no cycles. b a d a b c c

They have to end eventually... Definition A connection in G is a triple ( v, v, X (v, v ) ) V V P X (v), where P X (v) denotes the power set of X (v).

They have to end eventually... Definition A connection in G is a triple ( v, v, X (v, v ) ) V V P X (v), where P X (v) denotes the power set of X (v). Given a connection c = ( v, v, X (v, v ) ), we call v the source of c and v the sink of c. We will denote the source and sink of c by source(c) and sink(c), respectively.

They have to end eventually... Definition A connection in G is a triple ( v, v, X (v, v ) ) V V P X (v), where P X (v) denotes the power set of X (v). Given a connection c = ( v, v, X (v, v ) ), we call v the source of c and v the sink of c. We will denote the source and sink of c by source(c) and sink(c), respectively. If v is a sink of any connection c, the collection of random processes Z(v) = {Z(v, 1),..., Z ( v, ν(v) ) } denotes the output at v. These random processes will be functions of the random processes on the edges in Γ I (v).

Outline 1 2 a 3 Linear 4

F 2 m-linear s Definition Let G = (V, e) be a delay-free communication network. We say that G is an F 2 m-linear network if for all links e = (v, u, i) E the random process Y (e) on e satisfies µ(v) Y (e) = α k,e X(v, k) + k=1 e :head(e )=tail(e) β e,ey (e ) where the coefficients α k,e and β e,e are elements of F 2 m.

Output of a Connection In the case of a linear network, we will be forming the output processes in Z(v) as linear combinations of the edges in Γ I (v): Z(v, k) = ε e,ky (e ). e :head(e )=v

Output of a Connection In the case of a linear network, we will be forming the output processes in Z(v) as linear combinations of the edges in Γ I (v): Z(v, k) = ε e,ky (e ). e :head(e )=v Because all of the operations performed at every node are linear functions, each of the output processes is a linear combination of the input processes. Letting x denote the vector of input processes and z denote the vector of output processes, we find that there is a matrix M, referred to as a transfer matrix, such that z = xm.

Another Definition Definition We define a network coding problem as a pair (G, C) where G is a network and C is a set of desired connections.

Another Definition Definition We define a network coding problem as a pair (G, C) where G is a network and C is a set of desired connections. We wish to give succinct algebraic conditions under which a set of desired connections is feasible. This is equivalent to finding elements α k,e, β e,e, and ε e,j in a suitably chosen field F 2 n such that all desired connections can be established. If a connection is feasible, we call the associated network coding problem solvable and the associated collection of coefficients a solution.

Outline 1 2 a 3 Linear 4

Tomorrow Now that we have a basic framework set up for studying networks, we aim to answer some questions in the upcoming presentation:

Tomorrow Now that we have a basic framework set up for studying networks, we aim to answer some questions in the upcoming presentation: Under what conditions is a given linear network coding problem solvable?

Tomorrow Now that we have a basic framework set up for studying networks, we aim to answer some questions in the upcoming presentation: Under what conditions is a given linear network coding problem solvable? How can we efficiently find a solution to a given linear network coding problem?

Tomorrow Now that we have a basic framework set up for studying networks, we aim to answer some questions in the upcoming presentation: Under what conditions is a given linear network coding problem solvable? How can we efficiently find a solution to a given linear network coding problem? When does a static solution exist for a network that is subject to link failures?