coding for the permutation channel - universiteit gent
TRANSCRIPT
Coding for the Permutation Channel
Mladen KovaΔevid
(joint work with Dejan Vukobratovid)
Department of Power, Electronics, and Communication Engineering, University of Novi Sad, Serbia
Summary
β’ Permutation channels
β’ Error correction in permutation channels
β Multiset codes
β Perfect multiset codes
2
Permutation channel
β’ Channel alphabet: π, a finite set of symbols
β’ Channel input: Sequence of symbols π = π1, π2, β¦ , ππ , ππ β π
3
Permutation channel
β’ Channel alphabet: π, a finite set of symbols
β’ Channel input: Sequence of symbols π = π1, π2, β¦ , ππ , ππ β π
β’ Channel output: Random permutation of π, namely
π = ππ 1 , ππ 2 , β¦ , ππ π
3
Permutation channel
β’ Channel alphabet: π, a finite set of symbols
β’ Channel input: Sequence of symbols π = π1, π2, β¦ , ππ , ππ β π
β’ Channel output: Random permutation of π, namely
π = ππ 1 , ππ 2 , β¦ , ππ π
β’ Equivalently: π = π β Ξ
β’ where Ξ is a random π Γ π permutation matrix
3
Permutation channel
β’ Channel alphabet: π, a finite set of symbols
β’ Channel input: Sequence of symbols π = π1, π2, β¦ , ππ , ππ β π
β’ Channel output: Random permutation of π, namely
π = ππ 1 , ππ 2 , β¦ , ππ π
β’ Equivalently: π = π β Ξ
β’ where Ξ is a random π Γ π permutation matrix
3
β This is a special case of the βrandom matrixβ channel arising in random linear network coding
Permutation channel
β’ Example: End-to-end transmission in some types of packet networks
β Multipath routing β reordering of packets
4
Permutation channel
β’ Example: End-to-end transmission in some types of packet networks
β Multipath routing β reordering of packets
β Symbols = packets
4
Permutation channel
β’ Example: End-to-end transmission in some types of packet networks
β Multipath routing β reordering of packets
β Symbols = packets
β’ Apart from being permuted, some packets can be lost, some can be received erroneously, etc.
4
Permutation channel
β’ Example: End-to-end transmission in some types of packet networks
β Multipath routing β reordering of packets
β Symbols = packets
β’ Apart from being permuted, some packets can be lost, some can be received erroneously, etc.
β’ To account for these impairments, we model the channel as a permutation channel with errors, deletions, and insertions.
4
Coding for the permutation channel
β’ In the permutation channel, any information that is contained in the order of symbols will be lost
5
Coding for the permutation channel
β’ In the permutation channel, any information that is contained in the order of symbols will be lost
β Example: Given the received sequence, say (π, π, π), any of the following sequences is equally likely to have been sent: π, π, π , π, π, π , π, π, π , π, π, π , π, π, π , (π, π, π)
5
Coding for the permutation channel
β’ In the permutation channel, any information that is contained in the order of symbols will be lost
β Example: Given the received sequence, say (π, π, π), any of the following sequences is equally likely to have been sent: π, π, π , π, π, π , π, π, π , π, π, π , π, π, π , (π, π, π)
β’ The only carrier of information should be the (multi)set of symbols selected at the source
5
Coding for the permutation channel
β’ In the permutation channel, any information that is contained in the order of symbols will be lost
β Example: Given the received sequence, say (π, π, π), any of the following sequences is equally likely to have been sent: π, π, π , π, π, π , π, π, π , π, π, π , π, π, π , (π, π, π)
β’ The only carrier of information should be the (multi)set of symbols selected at the source
β Error-correcting codes for this channel should be defined in the space of all multisets over the channel alphabet π
5
Multiset codes
β’ Recall: A multiset is a set with repetitions of elements allowed
β Operations on multisets:
β’ *π, π, π+ = 3
β’ *π, π, π+ βͺ *π, π, π, π+ = *π, π, π, π, π+
β’ *π, π, π+ β© *π, π, π, π+ = *π, π+
6
Multiset codes
β’ Recall: A multiset is a set with repetitions of elements allowed
β Operations on multisets:
β’ *π, π, π+ = 3
β’ *π, π, π+ βͺ *π, π, π, π+ = *π, π, π, π, π+
β’ *π, π, π+ β© *π, π, π, π+ = *π, π+
β’ Notation:
β π π = the set of all multisets over π
β π π, π = the set of all multisets over π of cardinality π
6
Multiset codes
β’ Definition: A multiset code πΆ is a non-empty subset of π(π). We say that it is a constant-cardinality code if πΆ β π(π, π).
7
Multiset codes
β’ Definition: A multiset code πΆ is a non-empty subset of π(π). We say that it is a constant-cardinality code if πΆ β π(π, π).
β’ Natural metrics in π(π) are:
π· π, π = π βͺ π β π β© π = π β π + π β π
7
Multiset codes
β’ Definition: A multiset code πΆ is a non-empty subset of π(π). We say that it is a constant-cardinality code if πΆ β π(π, π).
β’ Natural metrics in π(π) are:
π· π, π = π βͺ π β π β© π = π β π + π β π
π·β² π, π = max π β π , π β π
7
Multiset codes
β’ Definition: A multiset code πΆ is a non-empty subset of π(π). We say that it is a constant-cardinality code if πΆ β π(π, π).
β’ Natural metrics in π(π) are:
π· π, π = π βͺ π β π β© π = π β π + π β π
π·β² π, π = max π β π , π β π
β’ Claim: A multiset code πΆ with minimum distance π·min is capable of correcting any pattern of π insertions, π deletions, and π‘ substitutions (errors), as long as 2 π + π + 2π‘ < π·min.
7
Multiset codes as integer codes
β’ Claim: Multiset codes are equivalent to integer codes under β1 distance
9
Multiset codes as integer codes
β’ Claim: Multiset codes are equivalent to integer codes under β1 distance
β’ Every multiset over π can be described by its multiplicity function
9
Multiset codes as integer codes
β’ Claim: Multiset codes are equivalent to integer codes under β1 distance
β’ Every multiset over π can be described by its multiplicity function
β Example: Let π = *π, π+, and observe the multiset π = *π, π, π, π, π+. We can simply describe it as (3, 2), i.e., 3 πβs and 2 πβs.
9
Multiset codes as integer codes
β’ Claim: Multiset codes are equivalent to integer codes under β1 distance
β’ Every multiset over π can be described by its multiplicity function
β Example: Let π = *π, π+, and observe the multiset π = *π, π, π, π, π+. We can simply describe it as (3, 2), i.e., 3 πβs and 2 πβs.
β Example: Let π = *π, π, π+, and observe the multiset π = *π, π, π, π+. We can simply describe it as (0, 2, 2), i.e., 0 πβs, 2 πβs, and 2 πβs.
9
Multiset codes as integer codes
β’ If π = *0, 1,β¦ , π β 1+, then every multiset π over π can be
described as a π-tuple π = π₯0, β¦ , π₯πβ1 , π₯i β β
10
Multiset codes as integer codes
β’ If π = *0, 1,β¦ , π β 1+, then every multiset π over π can be
described as a π-tuple π = π₯0, β¦ , π₯πβ1 , π₯i β β
β π₯πβs are non-negative integers representing numbers of occurrences of the symbols from π in π
10
Multiset codes as integer codes
β’ If π = *0, 1,β¦ , π β 1+, then every multiset π over π can be
described as a π-tuple π = π₯0, β¦ , π₯πβ1 , π₯i β β
β π₯πβs are non-negative integers representing numbers of occurrences of the symbols from π in π
β The set of all multisets over π is equivalent to βπ
10
Multiset codes as integer codes
β’ If π = *0, 1,β¦ , π β 1+, then every multiset π over π can be
described as a π-tuple π = π₯0, β¦ , π₯πβ1 , π₯i β β
β π₯πβs are non-negative integers representing numbers of occurrences of the symbols from π in π
β The set of all multisets over π is equivalent to βπ
β’ We have:
β π βͺ π β max π, π (componentwise)
β π β© π β min π, π (componentwise)
β π β π₯ππ
10
Multiset codes as integer codes
β’ Also, the distance between multisets π and π reduces to the β1 (Manhattan) distance between their multiplicity functions π, π β βπ
11
Multiset codes as integer codes
β’ Also, the distance between multisets π and π reduces to the β1 (Manhattan) distance between their multiplicity functions π, π β βπ
π· π, π = π β π 1 = π₯π β π¦π
πβ1
π=0
11
Multiset codes as integer codes
β’ Also, the distance between multisets π and π reduces to the β1 (Manhattan) distance between their multiplicity functions π, π β βπ
π· π, π = π β π 1 = π₯π β π¦π
πβ1
π=0
β’ Therefore, multiset codes are equivalent to codes in βπ under the β1 metric
11
Multiset codes as integer codes
β’ Also, the distance between multisets π and π reduces to the β1 (Manhattan) distance between their multiplicity functions π, π β βπ
π· π, π = π β π 1 = π₯π β π¦π
πβ1
π=0
β’ Therefore, multiset codes are equivalent to codes in βπ under the β1 metric
11
β’ Constant-cardinality codes are equivalent to codes in the βdiscrete simplexβ
Ξππβ1= π₯0, β¦ , π₯πβ1 βΆ π₯π β β, π₯π
π= π
Special case β Subset codes
β’ If we restrict to sets, we get subset codes, i.e., codes in the power set of π
π π = π βΆ π β π
12
Special case β Subset codes
β’ If we restrict to sets, we get subset codes, i.e., codes in the power set of π
π π = π βΆ π β π
β’ These codes are equivalent to binary codes in the Hamming space, whereas constant-cardinality codes are equivalent to constant-weight binary codes (codes in the Johnson space)
12
Special case β Subset codes
β’ If we restrict to sets, we get subset codes, i.e., codes in the power set of π
π π = π βΆ π β π
β’ These codes are equivalent to binary codes in the Hamming space, whereas constant-cardinality codes are equivalent to constant-weight binary codes (codes in the Johnson space)
β’ Remark: The length and minimum distance of subset codes are bounded by π
12
Special case β Subset codes
β’ If we restrict to sets, we get subset codes, i.e., codes in the power set of π
π π = π βΆ π β π
β’ These codes are equivalent to binary codes in the Hamming space, whereas constant-cardinality codes are equivalent to constant-weight binary codes (codes in the Johnson space)
β’ Remark: The length and minimum distance of subset codes are bounded by π
β the same βproblemβ appears with subspace codes
12
Special case β Subset codes
β’ If we restrict to sets, we get subset codes, i.e., codes in the power set of π
π π = π βΆ π β π
β’ These codes are equivalent to binary codes in the Hamming space, whereas constant-cardinality codes are equivalent to constant-weight binary codes (codes in the Johnson space)
β’ Remark: The length and minimum distance of subset codes are bounded by π
β the same βproblemβ appears with subspace codes
β Multiset codes do not have this restriction; π(π) is infinite
12
Perfect multiset codes
β’ Let π, π be a metric space with an integer-valued metric π. A code πΆ β π is said to be π-perfect, π β β, if
13
Perfect multiset codes
β’ Let π, π be a metric space with an integer-valued metric π. A code πΆ β π is said to be π-perfect, π β β, if
π΅ π, π β© π΅ π, π = β , π, π β πΆ, π β π
β’ and
13
Perfect multiset codes
β’ Let π, π be a metric space with an integer-valued metric π. A code πΆ β π is said to be π-perfect, π β β, if
π΅ π, π β© π΅ π, π = β , π, π β πΆ, π β π
β’ and
π΅ π, π
πβπΆ
= π
13
Perfect multiset codes
β’ Let π, π be a metric space with an integer-valued metric π. A code πΆ β π is said to be π-perfect, π β β, if
π΅ π, π β© π΅ π, π = β , π, π β πΆ, π β π
β’ and
π΅ π, π
πβπΆ
= π
β’ where π΅ π, π = π βΆ π π,π β€ π .
13
Perfect multiset codes
β’ Let π, π be a metric space with an integer-valued metric π. A code πΆ β π is said to be π-perfect, π β β, if
π΅ π, π β© π΅ π, π = β , π, π β πΆ, π β π
β’ and
π΅ π, π
πβπΆ
= π
β’ where π΅ π, π = π βΆ π π,π β€ π .
β’ Perfect code is nontrivial if πΆ β₯ 2 and π β₯ 1.
13
Perfect multiset codes
β’ In the following, we observe codes in Ξππβ1
under the metric
πβ² π, π =1
2 π₯π β π¦π
πβ1
π=0
β π β π 1 is even for π, π β Ξππβ1
β This is equivalent to taking the βinjectionβ distance π·β²
14
Perfect multiset codes
β’ Theorem:
β Nontrivial π-perfect multiset code of length π over a binary
alphabet exists for any π β₯ 2π + 1. Such a code has π+1
2π+1
codewords.
15
Perfect multiset codes
β’ Theorem:
β Nontrivial π-perfect multiset code of length π over a binary
alphabet exists for any π β₯ 2π + 1. Such a code has π+1
2π+1
codewords.
β Nontrivial π-perfect multiset code of length π over a ternary alphabet exists if and only if π = 3π + 1. Furthermore, there are exactly two π-perfect multiset codes of length 3π + 1, each having three codewords.
15
Perfect multiset codes
β’ Theorem:
β Nontrivial π-perfect multiset code of length π over a binary
alphabet exists for any π β₯ 2π + 1. Such a code has π+1
2π+1
codewords.
β Nontrivial π-perfect multiset code of length π over a ternary alphabet exists if and only if π = 3π + 1. Furthermore, there are exactly two π-perfect multiset codes of length 3π + 1, each having three codewords.
β Nontrivial π-perfect multiset codes over larger alphabets do not exist, for any π and π.
15
Perfect multiset codes β Binary alphabet
β’ The space
Ξπ1 = π β π‘, π‘ βΆ π‘ = 0,β¦ , π
β’ can be represented as a graph with Ξπ1 = π + 1 vertices, the βleftmostβ vertex being (π, 0), and the βrightmostβ (0, π).
16
Perfect multiset codes β Binary alphabet
β’ The space
Ξπ1 = π β π‘, π‘ βΆ π‘ = 0,β¦ , π
β’ can be represented as a graph with Ξπ1 = π + 1 vertices, the βleftmostβ vertex being (π, 0), and the βrightmostβ (0, π).
β’ Figure: 1-perfect code in Ξ81 (π = 1, π = 8)
16
Perfect multiset codes β Binary alphabet
β’ Given any π = π 2π + 1 + π , with π β₯ 1, 0 β€ π < 2π + 1, π-perfect code can be constructed as follows
πΆ = π βπ
2β 2π + 1 π ,
π
2+ 2π + 1 π βΆ π = 0,β¦ , π
β’ This code has π + 1 =π+1
2π+1 codewords.
17
Perfect multiset codes β Binary alphabet
β’ Given any π = π 2π + 1 + π , with π β₯ 1, 0 β€ π < 2π + 1, π-perfect code can be constructed as follows
πΆ = π βπ
2β 2π + 1 π ,
π
2+ 2π + 1 π βΆ π = 0,β¦ , π
β’ This code has π + 1 =π+1
2π+1 codewords.
β’ Stronger statement: There are π = min π + 1 , 2π + 1 β π
perfect codes in Ξπ1 , and they can be enumerated.
17
Perfect multiset codes β Ternary alphabet
β’ The space
Ξπ2 = π β π‘1 β π‘2, π‘1, π‘2 βΆ π‘1, π‘2 β₯ 0, π‘1 + π‘2 β€ π
β’ can be represented as a triangular grid graph
19
Perfect multiset codes β Ternary alphabet
β’ The space
Ξπ2 = π β π‘1 β π‘2, π‘1, π‘2 βΆ π‘1, π‘2 β₯ 0, π‘1 + π‘2 β€ π
β’ can be represented as a triangular grid graph
19
Perfect multiset codes β Ternary alphabet
β’ There are exactly two e-perfect codes in Ξ3π+12 :
πΆ1 = 2π + 1, π, 0 , 0, 2π + 1, π , π, 0, 2π + 1
πΆ2 = 2π + 1, 0, π , π, 2π + 1, 0 , 0, π, 2π + 1
20
Perfect multiset codes β Ternary alphabet
β’ There are exactly two e-perfect codes in Ξ3π+12 :
πΆ1 = 2π + 1, π, 0 , 0, 2π + 1, π , π, 0, 2π + 1
πΆ2 = 2π + 1, 0, π , π, 2π + 1, 0 , 0, π, 2π + 1
20
Perfect multiset codes β Ternary alphabet
β’ There are exactly two e-perfect codes in Ξ3π+12 :
πΆ1 = 2π + 1, π, 0 , 0, 2π + 1, π , π, 0, 2π + 1
πΆ2 = 2π + 1, 0, π , π, 2π + 1, 0 , 0, π, 2π + 1
β’ There are no e-perfect codes in Ξπ2 for π β 3π + 1.
20
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations
21
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations
β Vertex π, 0, 0 has to be covered by a ball around some codeword, and hence there must exist a codeword of the form π β π‘, π‘1, π‘2 , with π‘1 + π‘2 = π‘ β€ π
69
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations
β Points of this form with 0 β€ π‘ < π or 0 < π‘1, π‘2 < π‘ cannot be codewords of an π-perfect code in Ξπ
2
22
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations.
β The only remaining possibilities are π β π, π, 0 and π β π, 0, π
23
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations.
β The only remaining possibilities are π β π, π, 0 and π β π, 0, π
β When π = 3π + 1 these two possibilities yield perfect codes πΆ1 and πΆ2
23
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations.
β The only remaining possibilities are π β π, π, 0 and π β π, 0, π
β When π = 3π + 1 these two possibilities yield perfect codes πΆ1 and πΆ2
β When π < 3π + 1 it is impossible to cover all points, and hence to build a perfect code
23
Perfect multiset codes β Ternary alphabet
β’ Proof: The proof consists of the following observations.
β There are no perfect codes for π > 3π + 1
24
Perfect multiset codes β Larger alphabets
β’ There are no nontrivial perfect codes in Ξππβ1
for π > 3.
25
Perfect multiset codes β Larger alphabets
β’ There are no nontrivial perfect codes in Ξππβ1
for π > 3.
β’ The proof idea is the same: We try to build the perfect code and see that we canβt
β There is always a point that cannot be covered
25
Perfect codes in the Johnson space
β’ Johnson space π½(π, π) is the space of all binary sequences of length π and Hamming weight π.
26
Perfect codes in the Johnson space
β’ Johnson space π½(π, π) is the space of all binary sequences of length π and Hamming weight π. Clearly
π½ π, π β Ξππβ1
26
Perfect codes in the Johnson space
β’ Johnson space π½(π, π) is the space of all binary sequences of length π and Hamming weight π. Clearly
π½ π, π β Ξππβ1
β’ Conjecture (Delsarte): There are no nontrivial perfect codes in π½(π, π).
26
Perfect codes in the Johnson space
β’ Johnson space π½(π, π) is the space of all binary sequences of length π and Hamming weight π. Clearly
π½ π, π β Ξππβ1
β’ Conjecture (Delsarte): There are no nontrivial perfect codes in π½(π, π).
β’ In our terminology: There are no nontrivial subset codes.
26
Perfect codes in the Johnson space
β’ Johnson space π½(π, π) is the space of all binary sequences of length π and Hamming weight π. Clearly
π½ π, π β Ξππβ1
β’ Conjecture (Delsarte): There are no nontrivial perfect codes in π½(π, π).
β’ In our terminology: There are no nontrivial subset codes.
β’ Can we use the same method to attack this problem?
26
Perfect codes in the Johnson space
β’ Observe π½(9,5), and let π = 1
β’ W.l.o.g. we can take the first codeword to be
π = 1 1 1 1 1 0 0 0 0
27
Perfect codes in the Johnson space
β’ Observe π½(9,5), and let π = 1
β’ W.l.o.g. we can take the first codeword to be
π = 1 1 1 1 1 0 0 0 0
β’ Observe the sequence
π = 1 1 1 0 0 1 1 0 0
β’ with π π, π = 2.
27
Perfect codes in the Johnson space
β’ Observe π½(9,5), and let π = 1
β’ W.l.o.g. we can take the first codeword to be
π = 1 1 1 1 1 0 0 0 0
β’ Observe the sequence
π = 1 1 1 0 0 1 1 0 0
β’ with π π, π = 2.
27
β’ W.l.o.g. we can assume that the codeword π covering π is
π = 1 1 0 0 0 1 1 1 0
Perfect codes in the Johnson space
β’ Now observe
π = 1 1 1 0 0 0 0 1 1
β’ We have π π,π = π π,π = 2, so to cover π we need another codeword π.
28
Perfect codes in the Johnson space
β’ Now observe
π = 1 1 1 0 0 0 0 1 1
β’ We have π π,π = π π,π = 2, so to cover π we need another codeword π. But such a codeword (with π π,π = 1, π π, π = π π, π = 3) does not exist.
28
Perfect codes in the Johnson space
β’ Now observe
π = 1 1 1 0 0 0 0 1 1
β’ We have π π,π = π π,π = 2, so to cover π we need another codeword π. But such a codeword (with π π,π = 1, π π, π = π π, π = 3) does not exist.
β’ Therefore, 1-perfect code in π½(9,5) does not exist.
28
Perfect codes in the Johnson space
β’ Now observe
π = 1 1 1 0 0 0 0 1 1
β’ We have π π,π = π π,π = 2, so to cover π we need another codeword π. But such a codeword (with π π,π = 1, π π, π = π π, π = 3) does not exist.
β’ Therefore, 1-perfect code in π½(9,5) does not exist.
β’ More generaly, π-perfect in π½(π, π) cannot exist unless π β π β‘ π β‘ π (πππ π + 1) (Etzion)
28
Furtherβ¦
β’ Constructions and decoding algorithms
β’ Bounds on multiset codes
β’ Multiset codes and multiset designs
29
Furtherβ¦
β’ Constructions and decoding algorithms
β’ Bounds on multiset codes
β’ Multiset codes and multiset designs
β’ Do multiset codes have analogues in the vector space setting?
29