• 沒有找到結果。

Chevyshev distance between x and y is defined as

在文檔中 頻率排列碼 (頁 25-31)

(x, y) = max

i∈[n] |xi− yi|.

The distance between two permutations is the distance between the tuples representing them. We say two permutation (tuples) x and y are d-close to each other under metric δ if δ(x, y) ≤ d. A metric δ is right-invariant if and only if δ(xz, yz) = δ(x, y) for all permutations x, y and z. We show that Hamming distance, Minkowski distance of order p > 0 and Chebyshev distance are right-invariant.

Lemma 2.1.7. For n-tuples x, y and a permutation z ∈ Sn, we have dH(xz, yz) = dH(x, y), p(xz, yz) = ℓp(x, y) and ℓ(xz, yz) = ℓ(x, y).

Proof. By the definitions, we have

dH(xz, yz) = {i∈ [n] : xz(i)̸= yz(i)}

= |{j : xj ̸= yj for some i∈ [n] with j = z(i)}|

= |{i ∈ [n] : xi ̸= yi}|

= dH(x, y),

p(xz, yz) = √∑p

i∈[n] xz(i)− yz(i) p

= √∑p

i∈[n]|xi− yi|p

= ℓp(x, y),

and

(xz, yz) = max

i∈[n] xz(i)− yz(i)

= max

i∈[n] |xi− yi|

= ℓ(x, y).

We define the weight function wtδ(x) for a right-invariant metric δ and a k-tuple x as wtδ(x) = δ(ek, x). For any right invariant metric δ, the distance between the closest pairs of elements in a subgroup G of Sn is equal to the minimum weight of non-identity permutation

in G, since

where f is a bijective function from [k] to [k]. In 1965, Slepian [36] considered a code of length n for permutation modulation. It consists of all multiple permutations on the multiset Slepian’s code. Let n, m and λ be positive integers where n = mλ. Let Snλ be the Slepian’s code where µ1 = 1, µ2 = 2, . . . , µm = m and λ1 = λ2 = · · · = λm = λ. In other words, Snλ is the set of all multiple permutations on {

z }| {λ

1, . . . , 1, . . . ,

z }| {λ

m, . . . , m}. In particular, Sn = Sn1. Every element in Snλ is called a frequency permutation of length n and frequency λ. The identity frequency permutation eλn in Snλ is (1, . . . , 1, . . . , m, . . . , m).

2.2 Coding Theory

Codes are one of the most important objects which have been studied for decades in both computer science and communication engineering, since they have many applications in the-oretical fields and practical uses. These applications of codes include error-detection and error-correction in communication, data storage, data compression, cryptography, computa-tional complexity theory, etc. In this section, we give a brief but necessary introduction to coding theory. A code C is a set of sequences over a certain symbol set. An element in a code is called a codeword which represents a particular message. An encoding algorithm for code C computes the corresponding codeword in C for any message. A decoding algorithm, which is basically the inverse function of an encoding algorithm, recovers the message from a codeword or even from a corrupted one.

We say a code C is a block code if every codeword in C has the same length. One of the most important parameters of block codes is the minimum distance. The distance between

two codewords can be measured by a certain metric function δ. In different applications or en-vironments, we may choose different metric functions, such as Hamming distance, Minkowski distance, Chebyshev distance, Kendall’s tau distance, and etc. The minimum distance dδ(C) of a block code C under some metric δ is defined as the minimum distance between distinct codewords x and y in C, i.e.,

dδ(C) = min

x,y∈Cδ(x, y).

It is well known that the error-detection capability and the error-correction capability of a code heavily depend on its minimum distance.

Theorem 2.2.1. (Error detection) 0 < δ(c, x) < dδ(C) implies x /∈ C, for any block code C of length n, any codeword c∈ C and any n-tuple x.

Proof. By way of contradiction, assume x is a codeword. Then, we have

dδ(C)≤ δ(c, x) < dδ(C),

a contradiction.

Theorem 2.2.2. (Error correction) Given a block code C of length n, a codeword c∈ C and an n-tuple x. If δ(c, x) < dδ(C)2 , then c is the codeword closest to x.

Proof. By way of contradiction, assume c ̸= c is the closest codeword to x. Since δ(·, ·) is a metric and δ(x, c) < δ(c, x) < dδ(C)2 , we have

dδ(C)≤ δ(c, c)≤ δ(c, x) + δ(x, c) < dδ(C),

a contradiction.

Therefore, a block code is considered as a more powerful error detecting code or a error correcting code when it has larger minimum distance.

Another important parameter of codes is information rate. Codes of higher information rate have less space redundancy. The information rate of a block code is the ratio of its message length to its codeword length. The length of a block code C is the average number

of bits to represent a codeword. The message length is log2|C|, i.e., the number of bits sufficient to represent a message. In general, codes of larger minimum distance have lower information rate.

One can find the code of largest minimum distance under constraints on the information rate by enumerating all possible candidates. Although this code is the most powerful one against errors among all codes of the same information rate, it does not mean that this code is suitable in practical use. One of the reasons is that we probably do not have the computation power to enumerate every possible codes under such constraints. In other words, the best one does exist, but we may not know what it explicitly is. Another reason is that we probably do not know any efficient encoding and decoding algorithms for this code.

Therefore, we need systematic methods to constructing codes for certain codeword lengths, information rates and minimum distances. Moreover, we need codes with efficient encoding and decoding algorithms. In this thesis, we propose several construction to generate codes with predetermined information rate and minimum distance. Some of them have efficient encoding and decoding algorithms.

A (λ, n, d, δ)-FPA C is a subset of Snλ and the minimum distance of C under δ. The codeword length of an FPA C ⊆ Snλ is log2|Snλ| bits. The message length of an FPA C is log2|C|, where |C| is the cardinality of C. Therefore, the information rate of C is loglog2|C|

2|Sλn|. For a fixed length n, an FPA C has a smaller symbol set when it has a higher frequency.

Thus, FPAs of frequency more than 1 have a higher information rate than PAs of the same length. This is one of the reasons why FPAs can replace PAs in various applications.

2.3 Computational Complexity

In this section, we give some background knowledge about computational complexity theory.

There are two main categories of computational problems. The first kind is the decision problems. The answer to a decision problem is either ‘yes’ or ‘no’. For example, “Given a real number r, a block code C and a metric δ, is the minimum distance of C under δ less than r?” is a decision problem. The second kind is the optimization problems. In order to define an optimization problem, we need

• An instance set X.

• The set of feasible solutions f (x) for every instance x∈ X.

• A cost function c(·, ·), which maps (x, y) into a real number where x ∈ X and y ∈ f(x).

• A goal, which is either minimization or maximization.

The answer to an optimization problem on an instance x can be the best feasible solution y ∈ f(x) or the value of c(x, y), depending on the description of the problem. For example,

“Given a block code C and a metric δ, find the minimum distance of C under δ.” Each feasible solution for this problem consists of two distinct codewords y1 and y2. The cost function is δ(y1, y2), the goal of this problem is minimization. In this case, the answer is a number representing the minimum distance of C under δ. There is another version of this problem:

“Given a block code C and a metric δ, find the closest pair of distinct codewords in C under δ.”

The answer to this version is the feasible solution with the smallest cost. Every optimization problem has a corresponding decision problem which is to ask if a feasible solution of certain cost exists. In this thesis, we discuss both decision problems and optimization problems related to FPAs in Chapter 6.

The complexity of an algorithm is measured by how much resource, including time and space, is consumed. It is often a function of the size of the input of the algorithm. The input size of a problem instance is the length of its description. E.g., the input size of an instance of the problem, “Given a block code C of length k, find the minimum distance of C under the -metric”, is k|C|, since each codeword in C has length k. An algorithm is considered to be more efficient if it has lower complexity. In general, we say an algorithm is time efficient if and only if its time complexity is bounded by a polynomial in terms of its input size, or just simply say, it runs in polynomial time. In Chapter 5, we consider the input size of the encoding and the decoding algorithms as the lengths of message and received frequency permutations, respectively. Therefore, checking all possible codewords is not efficient, since

|C| can be an exponential function of the intput length.

The complexity of a problem is defined by the complexity of algorithms solving it. Besides providing an explicit algorithm for a problem, we can also use reduction to obtain complexity results on problems.

Definition 2.3.1. A decision problem A is polynomial-time reducible to another decision

在文檔中 頻率排列碼 (頁 25-31)

相關文件