The heaven for bloggers

Author:- Aditya Raj
04 January. 6 min read

In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communication channel or storage in a storage medium. An early example is an invention of language, which enabled a person, through speech, to communicate what they thought, saw, heard, or felt to others. But speech limits the range of communication to the distance a voice can carry and limits the audience to those present when the speech is uttered. The invention of writing, which converted spoken language into visual symbols, extended the range of communication across space and time. The process of encoding converts information from a source into symbols for communication or storage. Decoding is the reverse process, converting code symbols back into a form that the recipient understands, such as English or/and Spanish. One reason for coding is to enable communication in places where ordinary plain language, spoken or written, is difficult or impossible. For example, semaphore, where the configuration of flags held by a signaler or the arms of a semaphore tower encodes parts of the message, typically individual letters, and numbers. Another person standing a great distance away can interpret the flags and reproduce the words sent.

In information theory and computer science, a code is usually considered as an algorithm that uniquely represents symbols from some source alphabet, by encoded strings, which may be in some other target alphabet. An extension of the code for representing sequences of symbols over the source alphabet is obtained by concatenating the encoded strings. Before giving a mathematically precise definition, this is a brief example. The mapping C = { a ↦ 0 , b ↦ 01 , c ↦ 011 } {\displaystyle C=\{\,a\mapsto 0,b\mapsto 01,c\mapsto 011\,\}} C = \{\, a\mapsto 0, b\mapsto 01, c\mapsto 011\,\} is a code, whose source alphabet is the set { a , b , c } {\displaystyle \{a,b,c\}} \{a,b,c\} and whose target alphabet is the set { 0 , 1 } {\displaystyle \{0,1\}} \{0,1\}. Using the extension of the code, the encoded string 0011001 can be grouped into codewords as 0 011 0 01, and these in turn can be decoded to the sequence of source symbols acab. Using terms from formal language theory, the precise mathematical definition of this concept is as follows: let S and T be two finite sets, called the source and target alphabets, respectively. A code C : S → T ∗ {\displaystyle C:\,S\to T^{*}} C:\, S \to T^* is a total function mapping each symbol from S to a sequence of symbols over T. The extension C ′ {\displaystyle C'} C' of C {\displaystyle C} C, is a homomorphism of S ∗ {\displaystyle S^{*}} S^{*} into T ∗ {\displaystyle T^{*}} T^{*}, which naturally maps each sequence of source symbols to a sequence of target symbols.

In this section, we consider codes that encode each source (clear text) character by a code word from some dictionary, and concatenation of such code words give us an encoded string. Variable-length codes are especially useful when clear text characters have different probabilities; see also entropy encoding. A prefix code is a code with the "prefix property": there is no valid code word in the system that is a prefix (start) of any other valid code word in the set. Huffman coding is the most known algorithm for deriving prefix codes. Prefix codes are widely referred to as "Huffman codes" even when the code was not produced by a Huffman algorithm. Other examples of prefix codes are country calling codes, the country and publisher parts of ISBNs, and the Secondary Synchronization Codes used in the UMTS WCDMA 3G Wireless Standard. Kraft's inequality characterizes the sets of codeword lengths that are possible in a prefix code. Virtually any uniquely decodable one-to-many code, not necessarily a prefix one, must satisfy Kraft's inequality.


People who read this also read ...

article

Learn more about Machine Learning

Author Name
27 January | 6min read
article

Learn more about Machine Learning

Author Name
27 January | 6min read
article

Learn more about Machine Learning

Author Name
27 January | 6min read
article

Learn more about Machine Learning

Author Name
27 January | 6min read