Encoding device, encoding method, and program
Patent Information
- Application Number
- JP2024507218
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-14
- Publication Date
- 2025-02-19
- Estimated Expiration
- 2042-03-14
AI Technical Summary
【0008】 開示の技術によれば、複数の入出力端子がある通信路において、任意のアクセス構造に対して効率的に符号化を行うことが可能となる。
Smart Images

Figure 0007632741000052 
Figure 0007632741000053 
Figure 0007632741000054
Abstract
Description
[Technical field]
[0001] The present invention relates to a technique for performing correct communication in a noisy environment with a small probability of decoding error. [Background technology]
[0002] As a technique for performing correct communication with a small probability of decoding errors in a noisy environment, for example, there is a technique disclosed in Non-Patent Document 1. Non-Patent Document 1 discloses a method for implementing coding in a communication channel with many input / output terminals. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] Jun Muramatsu, Shigeki Miyake,"Multi-Terminal Codes Using Constrained-Random-Number Generators", https: / / arxiv.org / pdf / 1801.02875.pdf Summary of the Invention [Problem to be solved by the invention]
[0004] In a communication path with multiple input / output terminals, a structure that indicates which of multiple messages multiple encoders input and encode is called a message access structure.
[0005] In a modern communication environment where a large number of information sources exist, it is desirable to realize efficient coding for an arbitrary access structure. However, in conventional techniques such as the technique disclosed in Non-Patent Document 1, it is not possible to efficiently code for an arbitrary access structure.
[0006] The present invention has been made in consideration of the above points, and has an object to provide a technique that enables efficient encoding for any access structure in a communication path having multiple input / output terminals. [Means for solving the problem]
[0007] According to the disclosed technology, there is provided an encoding device in a communication system including a set of encoding devices that perform encoding in a communication path having a plurality of input / output terminals, the encoding device comprising: A receiving unit for receiving a message; a control unit configured to generate code words from messages received by the receiving unit based on a classification result obtained by classifying a plurality of messages according to a subset of the encoding devices that can access the messages; An encoding device is provided, comprising: Effect of the Invention
[0008] According to the disclosed technique, it becomes possible to efficiently perform encoding for any access structure in a communication path having multiple input / output terminals. [Brief description of the drawings]
[0009] [Figure 1] 1 is a diagram illustrating an example of a configuration of a communication system according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram illustrating an example 1 of an access structure. [Diagram 3] FIG. 11 is a diagram illustrating an example 2 of an access structure. [Figure 4] FIG. 1 is a diagram showing Algorithm 1. [Diagram 5] FIG. 2 is a diagram showing the internal processing contents of an encoding device. [Figure 6] FIG. 2 is a diagram showing the internal processing contents of a decoding device. [Figure 7] FIG. 1 is a diagram illustrating Algorithm 2. [Figure 8] FIG. 1 illustrates an example of an apparatus configuration. [Figure 9] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention (the present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment. In the following description, references are represented by numbers such as [1], and the names of the documents corresponding to the numbers are listed at the end of the specification.
[0011] (overview) As described above, in a modern communication environment where a large number of information sources exist, it is desirable to realize efficient coding for an arbitrary access structure. However, in conventional techniques such as the technique disclosed in Non-Patent Document 1, it is not possible to efficiently code for an arbitrary access structure.
[0012] More specifically, in a configuration like Fig. 4 of [3], in a general access structure corresponding to Fig. 1 and Example 2 described later, the auxiliary random variable Z n S If we assume stationary memorylessness, efficient communication cannot be achieved. Also, the channel W i When the above is configured, the system configuration becomes more complex and the calculation time becomes longer.
[0013] In addition, in relation to a method for implementing an encoding method for a communication channel with many input / output terminals and an arbitrary access structure of messages, the prior art only had simple cases where there was a one-to-one correspondence between independent message sets and encoders, or where there was a common message set for all codes as shown in Fig. 8 of reference [4], and a complex configuration was required to realize efficient communication for these cases. In other words, the prior art was not able to efficiently encode for an arbitrary access structure.
[0014] Below, we describe a technique that allows efficient encoding for any access structure without using complex structures.
[0015] In this embodiment, a technique for encoding on a communication path with two or more input / output terminals (multi-terminal communication path) is described. In particular, in this embodiment, a message is classified according to "a set of encoders that can access it", and random numbers are generated in a sorted order according to the inclusion relationship of the set of encoders (for example, from largest to smallest), and each encoder performs encoding.
[0016] In addition, the encoder and decoder are configured using a random number generator and a sparse matrix that satisfy the constraints. However, using a random number generator that satisfies the constraints is just one example, and encoding and decoding can be achieved using any appropriately defined transformation other than random number generation that satisfies the constraints.
[0017] In the following description, a device that performs encoding will be referred to as an encoding device, and a device that performs decoding will be referred to as a decoding device. The encoding device and the decoding device may be referred to as an encoder and a decoder, respectively.
[0018] (Example of overall configuration of a communication system) An example of the overall configuration of a communication system according to the present embodiment is shown in Fig. 1. As shown in Fig. 1, the communication system includes a plurality of encoding devices and a plurality of decoding devices, which are connected to a communication network (which may also be called a communication path).
[0019] 1 shows M representing a message, Φ representing an encoding process, X representing input information to a communication channel (output information from an encoding device), μ representing characteristics of the communication channel, Y representing output information from the communication channel (input information to a decoding device), Ψ representing a decoding process, and ^M representing a message output from a decoding device, the details of which will be described later. Note that "^M" in the specification text is intended to be the symbol with a hat at the beginning of M.
[0020] Each encoding device has a plurality of input interfaces (which may be called input terminals) as a receiving unit, and is capable of inputting a plurality of messages. In this embodiment, inputting a message to an encoding device may be expressed as "an encoding device accessing a message."
[0021] (Definitions and Notation) Here, definitions and notations used in the description of the present embodiment are described. The German letters I and L in the mathematical expressions and algorithms shown in the drawings or images in the specification are respectively represented as I and L in the specification text. ~ I, ~ In addition, for items that are different in the way they are represented in the image and in the description text, the details will be explained as appropriate unless they are so obvious that no explanation is necessary.
[0022] In the following, V ≡{u v} u∈V When the notation is used, u is indexed by v which belongs to set V. v (sequences, random variables, functions, etc.). |V| represents the number of elements in set V. Note that {u v} v∈V is not a set (without duplicates), but a set of u for one v. v It is called an associative array (hash, dictionary) that has the values {u n} ∞ n=1 is a sequence of numbers {u n ;n=1,2,...}.
[0023] Let I be the set of channel inputs and corresponding encoder indices. Let J be the set of channel outputs and corresponding decoder indices. A general channel is a sequence of conditional probability distributions
[0024]
number
[0025] For each i ∈ I, XX n i Let X be the random variable n i ≡(X i,1 ,...,X i,n ) is a set of possible values (hereafter referred to as the alphabet). Note that a notation such as "XX" in which two capital letters are written side by side corresponds to the single letter "X" in cursive writing in drawings and images.
[0026] Here, the natural number n is the block length, and XX n i is set XX i For each j∈J, YY n j Let Y be the random variable n j Here, YY is the alphabet. n j does not have to be an n-dimensional space.
[0027] Let S be the set of message indices. For each s∈S, M s Alphabet MM s Let the sth message (hereafter called message s) follow the uniform distribution above. s} s∈S are assumed to be mutually independent. However, the assumptions of uniformity and independence may be omitted.
[0028] The i-th encoder (hereafter referred to as encoder i) receives a message set MS(i) ≡{M s} s∈S(i) Input X as the channel input after conversion (encoding). n i where S(i) is the set of indexes of messages that encoder i has access to, and will be described in more detail below.
[0029] For each j∈J, let D(j) be the set of indices of messages that the jth decoder (hereafter called decoder j) reproduces (decodes). Here, D(j) ⊂ S. The decoder j reproduces (decodes) the channel output Y n j Receive and play messages
[0030]
number
[0031]
number
[0032] A sequence of random variables U ≡ {U n} ∞ n=1Distribution sequence of
[0033]
number
[0034]
number
[0035] Here, when the sequence of random variables is stationary and memoryless (independent and identically distributed), H(U) becomes the entropy H(U), and H(U|V) and H(U|V) become the conditional entropy H(U|V). n} ∞ n=1 , {(U n ,V n )} ∞ n=1 When H(U) has only stationarity, the entropy rate lim n→∞ H(U n ) / n, and both H(U|V) and H(U|V) are conditional entropy rates lim n→∞ H(U n |V n ) / n.
[0036] For each s ∈ S, ZZ n s Let Z be the random variable n s Let ZZ be the alphabet. n s need not be an n-dimensional space. For each s∈S, CC s The function f sLet c be the range of s ∈CC s , m s ∈MM s As follows, s , m s Let us call it a vector.
[0037]
number
[0038]
number
[0039]
number
[0040] The access structure A is a subset of S×I, and (s,i)∈A means that the encoder i can access the message s. If A is interpreted as a set of directed edges and (s,i)∈A as the directed edge s→i, then (S,I,A) becomes a bipartite graph. Figures 2 and 3 show that a bipartite graph is constructed between the messages and the encoders.
[0041] For each s ∈ S, let I(s) be the set of indices of encoders that have access to message s.
[0042] I(s)≡{i∈I:(s,i)∈A} For each i∈I, let S(i) be the set of indices of messages that encoder i has access to.
[0043] S(i) ≡ {s∈S:(s,i)∈A} Here, i ∈ I(s) is equivalent to s ∈ S(i).
[0044] Let I' be a subset of I. For each I', let S(I') be the set of indexes of messages shared by index set I' and the corresponding encoder.
[0045] S(I′)≡{s∈S:I(s)=I′} ~ I, ~ Let I(i) be defined as follows:
[0046] ~ I≡{I′⊂I:S(I′)≠empty set} ~ I(i)≡{I′∈ ~ I:i∈I} Specific examples using the above symbols will be described below using Examples 1 and 2. Note that the classification process of classifying a plurality of messages according to a subset of the encoding devices that can access the messages, as illustrated in Examples 1 and 2, may be performed by each encoding device, or an external device may perform the classification process and each encoding device may receive the classification result from the external device.
[0047] <Access structure: Example 1> Example 1 corresponds to Fig. 2. Example 1 is an example of the access structure of a two-input multiple access channel code with a shared message and a two-input interference channel code with a shared message. Let S, I, and A be as follows.
[0048] S≡{0,1,2} I≡{1,2} A≡{(0,1),(0,2),(1,1),(2,2)} As shown in A above, message 0 is shared by encoder 1 and encoder 2, and for each i∈{1,2}, message i is a (private) message that can only be accessed by encoder i. In other words, for each i∈{1,2}, encoder i can access message 0 and message i. This access structure is also similar for a two-input interference channel with a shared message. In a multiple-access channel code, one decoder decodes all of message 0, message 1, and message 2. In an interference channel code, decoder i decodes message 0 and message i for each i∈{1,2}. From this access structure and the above definitions, we obtain the following.
[0049] I(0) ≡ {1,2} I(1)≡{1} I(2)≡{2} S(1) ≡ {0, 1} S(2) ≡ {0, 2} S({1})≡{1} S({2})≡{2} S({1,2})≡{0} ~ I≡{{1,2},{1},{2}} ~ I(1)≡{{1,2},{1}} ~ I(2)≡{{1,2},{2}} The above ~ I ≡ {{1,2},{1},{2}} is the set of the subset of coders with a shared message, where the subset of coders with a shared message includes one coder that has access to a message.
[0050] ~ I(1) ≡ {{1,2},{1}} is the set of subsets of encoders with shared messages, with respect to encoder 1. ~ I(2) ≡ {{1,2},{2}} is the set of subsets of encoders with shared messages with respect to encoder 2.
[0051] <Access structure: Example 2> Example 2 corresponds to Fig. 3. Example 2 is an example of an access structure in a three-input multiple access channel (including an interference channel). Let S, I, and A be as follows.
[0052] S≡{1,3,12,23,123} I≡{1,2,3} A≡{(1,1),(3,3),(12,1),(12,2),(23,2),(23,3),(123,1),(123,2),(123,3)}
[0053] For each i∈{1,3}, message i is the private message of encoder i, and for each two-digit number ij∈{12,23}, message ij is the shared message of encoder i and encoder j. Message 123 is the shared message of encoder 1, encoder 2, and encoder 3. In other words, encoder 1 has access to message 1, message 12, and message 123, encoder 2 has access to message 2, message 12, message 23, and message 123, and encoder 3 has access to message 3, message 23, and message 123. Here, the partially shared messages 12 and 23 do not appear in the two-input multiple access channel. From this access structure, we obtain the following.
[0054] S(1) ≡ {1, 12, 123} S(2) ≡ {12, 23, 123} S(3) ≡ {3, 23, 123} I(1)≡{1} I(3)≡{3} I(12)≡{1,2} I(23)≡{2,3} I(123)≡{1,2,3} S({1})≡{1} S({3})≡{3} S({1,2})≡{12} S({2,3})≡{23} S({1,2,3})≡{123} ~ I≡{{1,2,3},{1,2},{2,3},{1},{3}} ~ I(1)≡{{1,2,3},{1,2},{1}} ~ I(2)≡{{1,2,3},{1,2},{2,3}} ~ I(3)≡{{1,2,3},{2,3},{3}} Given I′∈ ~ For I, let S°(I′) be defined as follows. Note that “S°” is intended to be the letter S with ° at the beginning.
[0055]
number
[0056] If i∈I′, then S(I′)⊂S(i), S°(I′)⊂S(i) hold. That is, the encoder i can read the message set M S(I′) ≡{M s} s∈S(I′) , M S°(I′) ≡{M s} s∈S°(I′) Both are accessible.
[0057] ∪ I′∈~I(i) S(I′)=S(i) holds.
[0058] Probability Distribution
[0059]
number
[0060]
number
[0061]
number
[0062]
number
[0063] (Construction of channel codes) Next, the configuration of the channel code in this embodiment will be described. The basic idea of the configuration of the channel code in this embodiment is based on reference documents [1][3][2][4]. However, the matters described below are not necessarily disclosed in reference documents [1][3][2][4].
[0064] For each s ∈ S, the function
[0065]
number
[0066]
number
[0067] A set of two functions f S ≡{f s} s∈S ,g S ≡{g s} s∈S and a set of vectors c S ≡{c s} s∈Sis shared by the encoding device and the decoding device. In other words, the encoding device and the decoding device each store the above two sets of functions and a set of vectors in a storage unit such as a memory.
[0068] For each i ∈ I, encoder i has f S(i) ,g S(i) ,c S(i) For each j ∈ J, the decoder j uses f D(j) , g D(j) , c D(j) Furthermore, both the encoder and decoder use the conditional probability distribution
[0069]
number
[0070] <Encoding device> Next, the encoding process by the encoding device of this embodiment will be described. First, a random number generator that satisfies the constraint conditions is provided for the encoding device i. That is, the encoding device i performs a random number generation process that satisfies the constraint conditions using a control unit, which will be described later. The "random number generator" may be called a "random number generation unit."
[0071] Given
[0072]
number
[0073]
number
[0074]
number
[0075]
number
[0076] The encoding device i generates a random number
[0077]
number
[0078]
number
[0079] I′∈ ~ Given I, the message set m S(I′) All coders with access to (with index belonging to I′) can generate the same output z of the random number generator that satisfies the constraints. S(I′) To satisfy this assumption, for example, each encoder generates random numbers that satisfy the constraints by using a pseudorandom number sequence synchronized (using the same initial value). The function Φi :MM S(i) →XX n i is defined as follows:
[0080]
number
[0081]
number
[0082]
number
[0083] The data flow relating to the encoding process in the encoding device i is shown in Fig. 5. This is a diagram equivalent to illustrating the above-mentioned process contents.
[0084] In the encoding device i in FIG.
[0085]
number
[0086]
number
[0087]
number
[0088] <Decryption device> Next, the process in the decryption device j will be described. For each j∈J, the decryption device j stores a previously shared vector c D(j) ≡{c s} s∈D(j) and the channel output y j ∈YY n j Therefore, the random number ^z follows the distribution D(j) ≡{^z j,s} s∈D(j) is generated using a random number generator that satisfies the constraints.
[0089]
number
[0090]
number
[0091] The data flow related to the decryption process in the decryption device j is shown in FIG. 6. This is a diagram equivalent to illustrating the above-mentioned process contents. In FIG. 6, D(j)≡{s j,1 ,s j,2 ,...,s j,|D(j)|}.
[0092] <{(r s ,R s )} s∈S Conditions to be met > For each s ∈ S, rs , R s of
[0093]
number
[0094] In this embodiment, {(r s ,R s )} s∈S We explain the conditions that (Z n S ,X n I ,Y n J ) is defined as
[0095]
number
[0096]
number
[0097]
number
[0098]
number
[0099]
number
[0100]
number
[0101]
number
[0102] Specific
[0103]
number
[0104]
number
[0105] Theorem:^M j,s ≡g s (^Z n j,s ) is assumed. s ,r s )} s∈S satisfies (3)-(5), then for any ε>0, if n is sufficiently large, then there is a f that satisfies (1). S ,g S ,c S can be given.
[0106] (Spectral entropy rate lower bound and conditional spectral entropy rate upper bound) Here, detailed definitions of the above-mentioned spectral entropy rate lower limit and conditional spectral entropy rate upper limit will be described.
[0107] The sequence of random variables {U n} ∞ n=1 limit superior in probability p-limsup n→∞ U n and the limit inferior in probability p-limit n→∞ U n is defined below.
[0108]
number
[0109]
number
[0110]
number
[0111]
number
[0112]
number
[0113]
number
[0114]
number
[0115] (Linear extension of partial orderings of a family of subsets) Here, the above
[0116]
number
[0117] Here, we consider a set of subsets with partial ordering by inclusion relations. ~ I≡{I1,...,I |~I|}(each k∈{1,...,| ~ I|I k We will explain how to find the linear extension of ⊂I. The method for finding the linear extension is as follows:
[0118]
number
[0119] When the partial order is given by a directed acyclic graph (which may also be called a directed acyclic graph), topological sorting can produce | ~ The computation time is proportional to the sum of |I| and the number of directed edges. However, if the graph is not given as a directed acyclic graph, assuming that the computation time required to compare two subsets is O(|I|), then the computation time required to find a directed acyclic graph is O(|I|| ~ I| 2 ) computational complexity. In addition, when using the algorithm given in [5], the average computational complexity is O(w|I||), where the computational complexity required to compare two subsets is O(|I|). ~ I|log| ~ I|), where w is the width of the directed acyclic graph.
[0120] The alignment procedure proposed in this embodiment is shown in Algorithm 2 in Fig. 7. The alignment procedure may be executed by the encoding device or by an external device of the encoding device. When executed by an external device of the encoding device, the execution result is received by the encoding device and used in the encoding process.
[0121] In this proposed method, we use bucket sorting based on the number of elements in a subset. If the computational complexity of finding the number of elements in a subset is O(1), the computational complexity of the proposed method is O(| ~ I|+|I|). If the computational complexity of finding the number of elements in a subset is O(I), then the computational complexity of the proposed method is O(|I|| ~ I|). For example, ~I and ~ By using a doubly circularly linked list as the data structure for L(w), w∈{0,1,...,|I|}, the union operation can be made O(1).
[0122] Following Algorithm 2 shown in Figure 7, an unsorted list is input, and in the first line, for w ∈ {0, 1, ..., |I|}, ~ Initialize L(v). Line 3 ~ L(|I′|)←{I′}∪ ~ L(|I′|) is ~ This is the operation of adding I' to L(|I'|). In other words, the " ~ This is the operation of putting I' into a bucket called "L(|I'|)". ~ By performing this on element I' of I, the data for that number of elements is set into each "bucket" that corresponds to that number of elements.
[0123] Line 6 ~ I← ~ L(v)∪ ~ I am ~ At the beginning of I ~ This is the operation of adding L(v). By repeating this process from v=0 to |I|, data is extracted from the bucket and a sorted subset family is completed.
[0124] To reverse either the order or the inclusion relationship, change line 6 to ~ At the end of I ~ Adding L(v) ~ I← ~ I∪ ~ Change to L(v). Here, the following theorem holds:
[0125] Theorem 2: After running Algorithm 2, ~ I≡{I1,...,I |~I|},
[0126]
number
[0127] If the computational complexity of finding the number of elements in a subset is O(1), then the subset I′∈ ~ When a standard sorting algorithm (quick sort, merge sort, heap sort, etc.) is executed using the number of elements in I, the computational complexity is O(| ~ I|log| ~ I|), so O(| ~ I|log| ~ When |I|) is small compared to O(|I|) or when I cannot be determined in advance, the amount of calculation required is smaller if a standard sorting algorithm based on the number of elements in the subset is used.
[0128] (others) As mentioned above, in this embodiment, the use of a random number generator that satisfies the constraints is just an example, and any conversion may be used. In that case, the second line of Algorithm 1 (FIG. 4), which shows the processing contents of the encoding device, is changed to:
[0129]
number
[0130] (Device configuration example) FIG. 8 shows the functional configuration of an encoding device 100 and a decoding device 200 that execute the processes described above.
[0131] As shown in Fig. 8, the encoding device 100 includes a transmitting unit 110, a receiving unit 120, a control unit 130, and a storage unit 140, which are connected by a bus. The receiving unit 120 receives a message to be encoded. The control unit 130 executes the encoding process described above. The transmitting unit 110 transmits the encoded information to a communication network. The storage unit 140 stores information necessary for the encoding process.
[0132] In the encoding device 100, information required for calculations in the encoding process is held in advance in the storage unit 140. Dynamically changing information is collected by the receiving unit 120 and stored in the storage unit 140. Alternatively, dynamically changing information is obtained from an external device.
[0133] The decoding device 200 includes a transmitting unit 210, a receiving unit 220, a control unit 230, and a storage unit 240, which are connected by a bus. The receiving unit 220 receives information to be decoded. The control unit 230 executes the decoding process described above. The transmitting unit 210 transmits the decoded message. The storage unit 240 stores information necessary for the decoding process.
[0134] In the decoding device 200, information required for calculations in the decoding process is held in advance in the storage unit 240. Information that changes dynamically is collected by the receiving unit 220 and stored in the storage unit 240. Alternatively, information that changes dynamically is obtained from an external device.
[0135] The transmitting unit, receiving unit, control unit, and storage unit may be called a transmitter, a receiver, a controller (or a processor), and a memory, respectively.
[0136] (Hardware configuration example) The encoding device 100 and the decoding device 200 may be realized by a dedicated hardware circuit, or may be realized by causing a computer to execute a program. This computer may be a physical computer, or may be a virtual machine on the cloud. Hereinafter, the encoding device 100 and the decoding device 200 are collectively referred to as the device.
[0137] That is, the device can be realized by executing a program corresponding to the processing performed by the device, using hardware resources such as a CPU and memory built into a computer. The program can be recorded on a computer-readable recording medium (such as a portable memory) and stored or distributed. The program can also be provided via a network such as the Internet or email.
[0138] Fig. 9 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 9 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, all of which are interconnected via a bus B.
[0139] The program for realizing the processing on the computer is provided by a recording medium 1001 such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.
[0140] The memory device 1003 reads out and stores the program from the auxiliary storage device 1002 when an instruction to start the program is received. The CPU 1004 realizes the functions related to the device in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network. The display device 1006 displays a GUI (Graphical User Interface) or the like according to a program. The input device 1007 is composed of a keyboard and mouse, buttons, a touch panel, or the like, and is used to input various operation instructions. The output device 1008 outputs the results of calculations.
[0141] (Effects of the embodiment) The technology according to the present embodiment makes it possible to efficiently encode any access structure in a communication path with multiple input / output terminals. More specifically, the system configuration can be simplified compared to the conventional technology, and the calculation time can be reduced and the communication efficiency can be improved. In addition, the {(r s ,R s )} s∈S By setting, an error probability close to 0 can be achieved.
[0142] In addition, as a method for sorting a family of subsets based on their inclusion relationships, sorting can be achieved with a small amount of calculation by sorting based on the number of elements in the subset.
[0143] In this embodiment, ~ It is assumed that I(i), i∈I, is sorted in advance. However, if the message access structure changes dynamically, each encoder dynamically sorts it using Algorithm 2 or the like.
[0144] (Appendix 1) The following supplementary items are further disclosed regarding the above-described embodiment. (Additional note 1) A coding device in a communication system including a set of coding devices that perform coding in a communication path having a plurality of input / output terminals, Memory, at least one processor coupled to the memory; Including, The processor, Receive a message, A random number is generated from the messages received by the receiver based on a classification result obtained by classifying the plurality of messages by a subset of the encoding devices that have access to the messages. Encoding device. (Additional note 2) The processor generates random numbers in a sorted order of the subsets in a subset family of the encoding devices based on an inclusion relationship between the subsets in the subset family of the encoding devices. 2. The encoding device according to claim 1. (Additional note 3) The processor performs the sorting by performing a bucket sort based on the number of elements of each subset in the family of subsets. 3. An encoding device according to claim 2. (Additional note 4) 1. An encoding method executed by a computer used as an encoding device in a communication system including a set of encoding devices that perform encoding in a communication path having a plurality of input / output terminals, comprising: receiving a message; generating a random number from the received message based on a classification of the plurality of messages by a subset of the encoding devices that have access to the messages; An encoding method comprising: (Additional note 5) A non-transitory storage medium storing a program executable by a computer used as an encoding device to perform an encoding process, The encoding process includes: In a communication system having a set of encoding devices that perform encoding in a communication path having a plurality of input / output terminals, Receive a message, A random number is generated from the messages received by the receiver based on a classification result obtained by classifying the plurality of messages by a subset of the encoding devices that have access to the messages. Non-transitory storage medium.
[0145] (Appendix 2) The following supplementary items are further disclosed regarding the above-described embodiment. (Additional note 1) A coding device in a communication system including a set of coding devices that perform coding in a communication path having a plurality of input / output terminals, Memory, at least one processor coupled to the memory; Including, The processor, Receive a message, A codeword is generated from the messages received by the receiver based on a classification result obtained by classifying the plurality of messages by a subset of the encoding devices that have access to the messages. Encoding device. (Additional note 2) The processor performs the transform in a sorted order of the subsets in a subset family based on an inclusion relationship between the subsets of the encoding devices in the subset family. 2. The encoding device according to claim 1. (Additional note 3) The processor performs the sorting by performing a bucket sort based on the number of elements of each subset in the family of subsets. 3. An encoding device according to claim 2. (Additional note 4) 1. An encoding method executed by a computer used as an encoding device in a communication system including a set of encoding devices that perform encoding in a communication path having a plurality of input / output terminals, comprising: receiving a message; generating code words from the received messages based on a classification of the plurality of messages by a subset of the coders that have access to the messages; An encoding method comprising: (Additional note 5) A non-transitory storage medium storing a program executable by a computer used as an encoding device to perform an encoding process, The encoding process includes: In a communication system having a set of encoding devices that perform encoding in a communication path having a plurality of input / output terminals, Receive a message, A codeword is generated from the messages received by the receiver based on a classification result obtained by classifying the plurality of messages by a subset of the encoding devices that have access to the messages. Non-transitory storage medium.
[0146] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims. [References] [1] J. Muramatsu, "Channel coding and lossy source coding using a generator of constrained random numbers," IEEE Trans. Inform. Theory, vol. IT-60, no. 5, pp. 2667-2686, May 2014. [2] J. Muramatsu and S. Miyake, "Channel code using constrained-random-number generator revisited," IEEE Trans. Inform. Theory, vol. IT-65, no. 1, pp. 500-510, Jan. 2019. [3] J. Muramatsu and S. Miyake, "Multi-terminal codes using constrained-random-number generator," Proceedings of the 2018 International Symposium on Information Theory and its Applications, Singapore, Oct. 28-31, 2018, pp. 612-616. Extended version is available at arXiv:1801.02875v2[cs.IT]. [4] J. Muramatsu, "On the achievability of interference channel coding," https: / / arxiv.org / abs / 2201.10756, 2022. [5] C. Daskalakis, RM Karp, E. Mossel, S. Riesenfeld, and E. Verbin, "Sorting and selection in posets," https: / / arxiv.org / abs / 0707.1532v1, 2007. [Explanation of symbols]
[0147] 100 Encoding device 110 Transmitter 120 Receiving unit 130 Control section 140 Storage section 200 Decryption device 210 Transmitter 220 Receiving unit 230 Control Unit 240 Storage section 1000 Drive Device 1001 Recording media 1002 Auxiliary storage 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input Device 1008 Output device
Claims
1. A coding device in a communication system including a set of coding devices that perform coding in a communication path having a plurality of input / output terminals, A receiving unit for receiving a message; a control unit configured to generate code words from messages received by the receiving unit based on a classification result obtained by classifying a plurality of messages according to a subset of the encoding devices that can access the messages; An encoding device comprising:
2. The control unit performs the transformation in a sorted order of the subsets in a subset family based on an inclusion relationship between the subsets of the encoding devices in the subset family, which is a set of the subsets of the encoding devices. The encoding device according to claim 1 .
3. The control unit executes the sorting by performing a bucket sort based on the number of elements of each subset in the subset family. The encoding device according to claim 2.
4. 1. An encoding method executed by an encoding device in a communication system including a set of encoding devices that perform encoding in a communication path having a plurality of input / output terminals, comprising: receiving a message; generating code words from the received messages based on a classification of the plurality of messages by a subset of the coders that have access to the messages; An encoding method comprising:
5. A program for causing a computer to function as each unit in the encoding device according to any one of claims 1 to 3.