Difference between revisions of "Aufgaben:Exercise 2.2: Kraft–McMillan Inequality"

From LNTwww
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  
{{quiz-Header|Buchseite=Informationstheorie/Allgemeine Beschreibung
+
{{quiz-Header|Buchseite=Information_Theory/General_Description
 
}}
 
}}
  
[[File:P_ID2416__Inf_A_2_2.png|right|frame|Beispielhafte Binär– und Ternärcodes]]
+
[[File:P_ID2416__Inf_A_2_2.png|right|frame|Four examples of binary codes and three ternary codes]]
In der Abbildung sind einige beispielhafte Binär– und Ternärcodes angegeben.
+
In the figure some exemplary binary and ternary codes are given.
  
Beim Binärcode $\rm B1$ werden alle möglichen Quellensymbole $q_\mu$ (mit Laufindex $\mu = 1$, ... , $8$) durch jeweils eine Codesymbolfolge $\langle c_\mu \rangle $ einheitlicher Länge $L_\mu = 3$ dargestellt. Dieser Code ist aus diesem Grund zur Datenkomprimierung ungeeignet.
+
*With the  binary code  $\rm B1$  all possible source symbols  $q_\mu$  $($with index  $\mu = 1$, ... , $8)$  are represented by a encoded sequence  $\langle c_\mu \rangle $  of uniform length  $L_\mu = 3$ .  
 +
*This code is unsuitable for data compression for this reason.
  
Die Möglichkeit zur Datenkomprimierung ergibt sich erst dann, wenn
 
* die $M$ Quellensymbole nicht gleichwahrscheinlich sind, und
 
*die Länge $L_\mu$ der Codeworte unterschiedlich sind.
 
  
 +
The possibility of data compression arises only when
 +
*the  $M$  source symbols are not equally likely, and
 +
*the length  $L_\mu$  of the code words are different.
  
Diese Eigenschaft weist zum Beispiel der Binärcode  $\rm B2$ auf:  
 
*Je ein Codewort hat hier die Länge $1$, $2$ bzw. $3$ ($N_1 = N_2 = N_3 = 1$).
 
*Zwei Codeworte haben die Länge $L_\mu = 4$ ($N_4 = N_5 = 2$).
 
  
 +
For example, the binary code   $\rm B2$  has this property:   
 +
*Here, one code word each has the length   $1$,  $2$  and  $3$, respectively  $(N_1 = 1,\ N_2 = 2,\ N_3 = 3)$.
 +
*Two code words have the length  $L_\mu = 4$  $(N_4 = N_5 = 4)$.
  
Voraussetzung für die Decodierbarkeit eines solchen Codes ist, dass der Code '''präfixfrei''' ist.  Das heißt, dass kein Codewort der Präfix (also der Beginn) eines längeren Codewortes sein darf.
 
  
Eine notwendige Bedingung dafür, dass ein Code zur Datenkomprimierung präfixfrei sein kann, wurde 1949 von Leon Kraft angegeben, die so genannte '''Kraftsche Ungleichung''':
+
A prerequisite for the decodability of such a code is that the code is  '''prefix-free''' .  
 +
*That is, no code word may be the prefix (i.e., the beginning) of a longer code word.
 +
 
 +
*A necessary condition for a code for data compression to be prefix-free was stated by Leon Kraft in 1949, called  '''Kraft's inequality''':
 
:$$\sum_{\mu=1}^{M} \hspace{0.2cm} D^{-L_{\mu}} \le 1 \hspace{0.05cm}.$$
 
:$$\sum_{\mu=1}^{M} \hspace{0.2cm} D^{-L_{\mu}} \le 1 \hspace{0.05cm}.$$
  
Hierbei bezeichnen
+
Here denote
* $M$ die Anzahl der möglichen Quellensymbole $q_\mu$,
+
* $M$  the number of possible source symbols  $q_\mu$   ⇒   "symbol set size",
* $L_\mu$ die Länge des zum Quellensymbol $q_\mu$ gehörigen Codewortes $c_\mu$,
+
* $L_\mu$  the length of the code word  $c_\mu$  associated with the source symbol  $q_\mu$,
* $D = 2$ kennzeichnet einen Binärcode ($\rm 0$  oder $\rm 10$) und $D = 32$ einen Ternärcode ($\rm 0$, $\rm 1$, $\rm 2$).
+
* $D = 2$  denotes a binary code  $(\rm 0$  or  $\rm 1)$  and  $D = 3$  denotes a ternary code  $(\rm 0$,  $\rm 1$,  $\rm 2)$.
  
  
Ein Code kann nur dann präfixfrei sein, wenn die Kraftsche Ungleichung erfüllt ist. Die Umkehrung gilt nicht:   Wird die Kraftsche Ungleichung erfüllt, so bedeutet das noch lange nicht, dass dieser Code tatsächlich präfixfrei ist.
+
A code can be prefix-free only if Kraft's inequality is satisfied.   
  
 +
The converse does not hold:   If Kraft's inequality is satisfied, it does not mean that this code is actually prefix-free.
  
''Hinweis:''
+
 
*Die Aufgabe gehört zum  Kapitel [[Informationstheorie/Allgemeine_Beschreibung|Allgemeine Beschreibung der Quellencodierung]].
+
 
 +
 
 +
Hint:
 +
*The exercise belongs to the chapter  [[Information_Theory/Allgemeine_Beschreibung|General Description of Source Coding]].
 
   
 
   
  
  
===Fragebogen===
+
===Question===
  
 
<quiz display=simple>
 
<quiz display=simple>
{Welche der Binärcodes erfüllen die Kraftsche Ungleichung?
+
{Which of the binary codes satisfy Kraft's inequality?
 
|type="[]"}
 
|type="[]"}
 
+ $\rm B1$,
 
+ $\rm B1$,
Line 48: Line 55:
  
  
{Welche der vorgegebenen Binärcodes sind präfixfrei?
+
{Which of the given binary codes are prefix-free?
 
|type="[]"}
 
|type="[]"}
 
+ $\rm B1$,
 
+ $\rm B1$,
Line 56: Line 63:
  
  
{Welche der vorgegebenen Ternärcodes sind präfixfrei?
+
{Which of the given ternary codes are prefix-free?
 
|type="[]"}
 
|type="[]"}
 
+ $\rm T1$,
 
+ $\rm T1$,
Line 63: Line 70:
  
  
{Wie lauten die Kenngrößen des Ternärecodes $\rm T1$?
+
{What are the characteristics of the ternary code&nbsp; $\rm T1$?
 
|type="{}"}
 
|type="{}"}
 
$ N_1 \ = \ $ { 1 }
 
$ N_1 \ = \ $ { 1 }
Line 71: Line 78:
  
  
{Wieviel 3&ndash;wertige Codeworte $(L_\mu = 3)$ könnte man dem Code $\rm T1$ hinzufügen, ohne dass sich an der Präfixfreiheit etwas ändert?
+
{How many trivalent code words&nbsp; $(L_\mu = 3)$&nbsp; could be added to the&nbsp; $\rm T1$&nbsp; code without changing the prefix freedom?
 
|type="{}"}
 
|type="{}"}
 
$\Delta N_3 \ = \ $ { 6 }
 
$\Delta N_3 \ = \ $ { 6 }
  
  
{Der Ternärcode $\rm T3$ soll auf insgesamt $N = 9$ Codeworte erweitert werden. <br>Wie erreicht man das ohne Verletzung der Präfixfreiheit?
+
{The ternary code&nbsp; $\rm T3$&nbsp; is to be expanded to a total of&nbsp; $N = 9$&nbsp; code words.&nbsp; How to achieve this without violating the prefix freedom?
 
|type="[]"}
 
|type="[]"}
- Ergänzung um vier 3&ndash;wertige Codeworte.
+
- Addition of four three-valued code words.
+ Ergänzung um vier 4&ndash;wertige Codeworte.
+
+ Addition of four four-valued code words.
+ Ergänzung um ein 3&ndash;wertiges und drei 4&ndash;wertige Codeworte.
+
+ Addition of one trivalent and three tetravalent code words.
  
  
Line 86: Line 93:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1, 2 und 3.</u> Für die angegebenen Binärcodes gilt:
+
'''(1)'''&nbsp; The correct <u>solutions are 1, 2 and 3.</u>&nbsp; The following applies to the binary codes given:
* $\rm B1$:&nbsp;&nbsp;&nbsp; $8 \cdot 2^{-3} = 1$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; Bedingung erfüllt,
+
* $\rm B1$:&nbsp;&nbsp;&nbsp; $8 \cdot 2^{-3} = 1$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; condition fulfilled,
* $\rm B2$:&nbsp;&nbsp;&nbsp; $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 1 \cdot 2^{-3}  + 2 \cdot 2^{-4}= 1$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; Bedingung erfüllt,
+
* $\rm B2$:&nbsp;&nbsp;&nbsp; $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 1 \cdot 2^{-3}  + 2 \cdot 2^{-4}= 1$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; condition fulfilled,
* $\rm B3$:&nbsp;&nbsp;&nbsp; $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 1 \cdot 2^{-3}  + 2 \cdot 2^{-4}= 1$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; Bedingung erfüllt,
+
* $\rm B3$:&nbsp;&nbsp;&nbsp; $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 1 \cdot 2^{-3}  + 2 \cdot 2^{-4}= 1$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; condition fulfilled,
* $\rm B4$:&nbsp;&nbsp;&nbsp; $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 2 \cdot 2^{-3}  + 1 \cdot 2^{-4}= 17/16$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; Bedingung <u>nicht</u> erfüllt.
+
* $\rm B4$:&nbsp;&nbsp;&nbsp; $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 2 \cdot 2^{-3}  + 1 \cdot 2^{-4}= 17/16$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; condition <u>not</u> fulfilled.
 +
 
 +
 
  
 +
'''(2)'''&nbsp; <u>Proposed solutions 1 and 2</u> are correct:
 +
*The code&nbsp; $\rm B4$, which does not satisfy Kraft's inequality, is certainly not prefix-free either.
 +
*But if Kraft's inequality is fulfilled, it is still not certain that this code is also prefix-free.
 +
*In code&nbsp; $\rm B3$&nbsp; the code word&nbsp;  "10"&nbsp; is the beginning of the code word&nbsp; "1011".
 +
*In contrast, codes&nbsp; $\rm B1$&nbsp; and&nbsp; $\rm B2$&nbsp; are actually prefix-free.
  
'''(2)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 2:</u>
 
*Der Code $\rm B4$, der die Kraftsche Ungleichung nicht erfüllt, ist mit Sicherheit auch nicht präfixfrei.
 
*Aber bei Erfüllung der Kraftschen Ungleichung ist noch nicht sicher, dass dieser Code auch präfixfrei ist.
 
*Beim Code $\rm B3$ ist &bdquo;10&rdquo; der Beginn des Codewortes &bdquo;1011&rdquo;.
 
*Dagegen sind die Codes $\rm B1$ und $\rm B2$ tatsächlich präfixfrei.
 
  
  
'''(3)'''&nbsp; Richtig sind die <u>Antworten 1 und 3</u>:
+
'''(3)'''&nbsp; The correct <u>solutions are 1 and 3</u>:
*Die Kraftsche Ungleichung wird von allen drei Codes erfüllt.
+
*Kraft's inequality is satisfied by all three codes.
*Wie aus der Tabelle hervorgeht, sind die Codes $\rm T1$ und $\rm T3$ tatsächlich präfixfrei.
+
*As can be seen from the table, codes&nbsp; $\rm T1$&nbsp; and&nbsp; $\rm T3$&nbsp; are indeed prefix-free.
*Der Code $\rm T2$ ist dagegen nicht präfixfrei, da &bdquo;1&rdquo; der Beginn des Codewortes &bdquo;10&rdquo; ist.  
+
*The code&nbsp; $\rm T2$&nbsp;, on the other hand, is not prefix-free because "1" is the beginning of the code word "10".
  
  
'''(4)'''&nbsp; $N_i$ gibt an, wieviele Codeworte  mit $i$ Symbolen  es im Code gibt. Für den Code $\rm T1$ gilt:
+
 
 +
'''(4)'''&nbsp; $N_i$&nbsp; indicates how many code words with&nbsp; $i$&nbsp; symbols there are in the code.&nbsp; For the code&nbsp; $\rm T1$&nbsp; it is:
 
:$$N_1 \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}, \hspace{0.2cm}N_2 \hspace{0.15cm}\underline{= 2}\hspace{0.05cm}, \hspace{0.2cm}N_3 \hspace{0.15cm}\underline{= 6}\hspace{0.05cm}.$$
 
:$$N_1 \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}, \hspace{0.2cm}N_2 \hspace{0.15cm}\underline{= 2}\hspace{0.05cm}, \hspace{0.2cm}N_3 \hspace{0.15cm}\underline{= 6}\hspace{0.05cm}.$$
  
  
'''(5)'''&nbsp; Nach der Kraftschen Ungleichung muss gelten
+
 
 +
'''(5)'''&nbsp; According to Kraft's inequality, the following must be true
 
:$$N_1 \cdot 3^{-1} + N_2 \cdot 3^{-2} + N_3 \cdot 3^{-3 } \le 1\hspace{0.05cm}.$$
 
:$$N_1 \cdot 3^{-1} + N_2 \cdot 3^{-2} + N_3 \cdot 3^{-3 } \le 1\hspace{0.05cm}.$$
Bei gegebenem $N_1 = 1$ und $N_2 = 2$ wird dies erfüllt, solange gilt:
+
For given&nbsp; $N_1 = 1$&nbsp; and&nbsp; $N_2 = 2$&nbsp; , this is satisfied as long as holds:
 
:$$N_3 \cdot 3^{-3 } \le 1 - 1/3 - 2/9 = 4/9 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}N_3  \le 12 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm \Delta}\,N_3
 
:$$N_3 \cdot 3^{-3 } \le 1 - 1/3 - 2/9 = 4/9 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}N_3  \le 12 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm \Delta}\,N_3
 
\hspace{0.15cm}\underline{= 6}\hspace{0.05cm}.$$
 
\hspace{0.15cm}\underline{= 6}\hspace{0.05cm}.$$
Die zusätzlichen Codeworte sind $\rm 210, \,211, \,212, \,220, \,221, \,222$.
+
The additional code words are&nbsp; $\rm 210, \,211, \,212, \,220, \,221, \,222$.
  
  
'''(6)'''&nbsp; Für den Code $\rm T3$ gilt:
 
*$S({\rm T3})= 2 \cdot 3^{-1} + 2 \cdot 3^{-2} + 1 \cdot 3^{-3 } = {25}/{27}\hspace{0.05cm}.$
 
*Wegen $S({\rm T3}) \le 1$ erfüllt der Ternärcode $\rm T3$ die Kraftsche Ungleichung und er ist zudem auch präfixfrei.
 
  
 +
'''(6)'''&nbsp; For code&nbsp; $\rm T3$&nbsp; it holds:
 +
*$S({\rm T3})= 2 \cdot 3^{-1} + &nbsp;2 \cdot 3^{-2} + 1 \cdot 3^{-3 } = {25}/{27}\hspace{0.05cm}.$
 +
*Because of&nbsp; $S({\rm T3}) \le 1$&nbsp; the ternary code&nbsp; $\rm T3$&nbsp; satisfies Kraft's inequality and it is also prefix-free.
  
Betrachten wir nun die vorgeschlagenen neuen Codes.
+
 
 +
Let us now consider the proposed new codes.
 
* Code $\rm T4$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 5)$:
 
* Code $\rm T4$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 5)$:
:$$S({\rm T4})= S({\rm T3}) + 4 \cdot 3^{-3 } = {29}/{27}\hspace{0.1cm} > \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T4 \hspace{0.15cm}ist\hspace{0.15cm} ungeeignet}\hspace{0.05cm},$$
+
:$$S({\rm T4})= S({\rm T3}) + 4 \cdot 3^{-3 } = {29}/{27}\hspace{0.1cm} > \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T4 \hspace{0.15cm}is\hspace{0.15cm} unsuitable}\hspace{0.05cm},$$
 
* Code $\rm T5$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 1, \ N_4 = 4)$:
 
* Code $\rm T5$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 1, \ N_4 = 4)$:
:$$S({\rm T5})= S({\rm T3}) + 4 \cdot 3^{-4 } = {79}/{81}\hspace{0.1cm} < \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T5 \hspace{0.15cm}ist\hspace{0.15cm} geeignet}\hspace{0.05cm},$$
+
:$$S({\rm T5})= S({\rm T3}) + 4 \cdot 3^{-4 } = {79}/{81}\hspace{0.1cm} < \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T5 \hspace{0.15cm}is\hspace{0.15cm} suitable}\hspace{0.05cm},$$
 
* Code $\rm T6$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 2, \ N_4 = 3)$:
 
* Code $\rm T6$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 2, \ N_4 = 3)$:
:$$S({\rm T6})= S({\rm T3}) + 1 \cdot 3^{-3 } + 3 \cdot 3^{-4 } = \frac{75 + 3 + 3}{81}\hspace{0.1cm} = \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T6 \hspace{0.15cm}ist\hspace{0.15cm} geeignet}\hspace{0.05cm}.$$
+
:$$S({\rm T6})= S({\rm T3}) + 1 \cdot 3^{-3 } + 3 \cdot 3^{-4 } = \frac{75 + 3 + 3}{81}\hspace{0.1cm} = \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T6 \hspace{0.15cm}is\hspace{0.15cm} suitable}\hspace{0.05cm}.$$
  
Richtig sind also die <u>zwei letzten</u> Lösungsvorschläge.  
+
Thus, <u>the two last proposed solutions</u> are correct.
Beispielsweise lauten die insgesamt $N = 9$ Codeworte des präfixfreien Codes $\rm T6$:  
+
 +
For example, the total&nbsp; $N = 9$&nbsp; code words of the prefix-free code&nbsp; $\rm T6$&nbsp;  are:  
 
:$$\rm 0, \, 1, \, 20, \,21, \,220, \,221, \,2220, \, 2221 , \,2222.$$
 
:$$\rm 0, \, 1, \, 20, \,21, \,220, \,221, \,2220, \, 2221 , \,2222.$$
 
{{ML-Fuß}}
 
{{ML-Fuß}}
Line 140: Line 153:
  
  
[[Category:Aufgaben zu Informationstheorie|^2.1 Allgemeine Beschreibung^]]
+
[[Category:Information Theory: Exercises|^2.1 General Description^]]

Latest revision as of 15:52, 1 November 2022

Four examples of binary codes and three ternary codes

In the figure some exemplary binary and ternary codes are given.

  • With the binary code  $\rm B1$  all possible source symbols  $q_\mu$  $($with index  $\mu = 1$, ... , $8)$  are represented by a encoded sequence  $\langle c_\mu \rangle $  of uniform length  $L_\mu = 3$ .
  • This code is unsuitable for data compression for this reason.


The possibility of data compression arises only when

  • the  $M$  source symbols are not equally likely, and
  • the length  $L_\mu$  of the code words are different.


For example, the binary code  $\rm B2$  has this property:  

  • Here, one code word each has the length   $1$,  $2$  and  $3$, respectively  $(N_1 = 1,\ N_2 = 2,\ N_3 = 3)$.
  • Two code words have the length  $L_\mu = 4$  $(N_4 = N_5 = 4)$.


A prerequisite for the decodability of such a code is that the code is  prefix-free . 

  • That is, no code word may be the prefix (i.e., the beginning) of a longer code word.
  • A necessary condition for a code for data compression to be prefix-free was stated by Leon Kraft in 1949, called  Kraft's inequality:
$$\sum_{\mu=1}^{M} \hspace{0.2cm} D^{-L_{\mu}} \le 1 \hspace{0.05cm}.$$

Here denote

  • $M$  the number of possible source symbols  $q_\mu$   ⇒   "symbol set size",
  • $L_\mu$  the length of the code word  $c_\mu$  associated with the source symbol  $q_\mu$,
  • $D = 2$  denotes a binary code  $(\rm 0$  or  $\rm 1)$  and  $D = 3$  denotes a ternary code  $(\rm 0$,  $\rm 1$,  $\rm 2)$.


A code can be prefix-free only if Kraft's inequality is satisfied. 

The converse does not hold:   If Kraft's inequality is satisfied, it does not mean that this code is actually prefix-free.



Hint:


Question

1

Which of the binary codes satisfy Kraft's inequality?

$\rm B1$,
$\rm B2$,
$\rm B3$,
$\rm B4$.

2

Which of the given binary codes are prefix-free?

$\rm B1$,
$\rm B2$,
$\rm B3$,
$\rm B4$.

3

Which of the given ternary codes are prefix-free?

$\rm T1$,
$\rm T2$,
$\rm T3$.

4

What are the characteristics of the ternary code  $\rm T1$?

$ N_1 \ = \ $

$ N_2 \ = \ $

$ N_3 \ = \ $

5

How many trivalent code words  $(L_\mu = 3)$  could be added to the  $\rm T1$  code without changing the prefix freedom?

$\Delta N_3 \ = \ $

6

The ternary code  $\rm T3$  is to be expanded to a total of  $N = 9$  code words.  How to achieve this without violating the prefix freedom?

Addition of four three-valued code words.
Addition of four four-valued code words.
Addition of one trivalent and three tetravalent code words.


Solution

(1)  The correct solutions are 1, 2 and 3.  The following applies to the binary codes given:

  • $\rm B1$:    $8 \cdot 2^{-3} = 1$   ⇒   condition fulfilled,
  • $\rm B2$:    $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 1 \cdot 2^{-3} + 2 \cdot 2^{-4}= 1$   ⇒   condition fulfilled,
  • $\rm B3$:    $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 1 \cdot 2^{-3} + 2 \cdot 2^{-4}= 1$   ⇒   condition fulfilled,
  • $\rm B4$:    $1 \cdot 2^{-1} + 1 \cdot 2^{-2} + 2 \cdot 2^{-3} + 1 \cdot 2^{-4}= 17/16$   ⇒   condition not fulfilled.


(2)  Proposed solutions 1 and 2 are correct:

  • The code  $\rm B4$, which does not satisfy Kraft's inequality, is certainly not prefix-free either.
  • But if Kraft's inequality is fulfilled, it is still not certain that this code is also prefix-free.
  • In code  $\rm B3$  the code word  "10"  is the beginning of the code word  "1011".
  • In contrast, codes  $\rm B1$  and  $\rm B2$  are actually prefix-free.


(3)  The correct solutions are 1 and 3:

  • Kraft's inequality is satisfied by all three codes.
  • As can be seen from the table, codes  $\rm T1$  and  $\rm T3$  are indeed prefix-free.
  • The code  $\rm T2$ , on the other hand, is not prefix-free because "1" is the beginning of the code word "10".


(4)  $N_i$  indicates how many code words with  $i$  symbols there are in the code.  For the code  $\rm T1$  it is:

$$N_1 \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}, \hspace{0.2cm}N_2 \hspace{0.15cm}\underline{= 2}\hspace{0.05cm}, \hspace{0.2cm}N_3 \hspace{0.15cm}\underline{= 6}\hspace{0.05cm}.$$


(5)  According to Kraft's inequality, the following must be true

$$N_1 \cdot 3^{-1} + N_2 \cdot 3^{-2} + N_3 \cdot 3^{-3 } \le 1\hspace{0.05cm}.$$

For given  $N_1 = 1$  and  $N_2 = 2$  , this is satisfied as long as holds:

$$N_3 \cdot 3^{-3 } \le 1 - 1/3 - 2/9 = 4/9 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}N_3 \le 12 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm \Delta}\,N_3 \hspace{0.15cm}\underline{= 6}\hspace{0.05cm}.$$

The additional code words are  $\rm 210, \,211, \,212, \,220, \,221, \,222$.


(6)  For code  $\rm T3$  it holds:

  • $S({\rm T3})= 2 \cdot 3^{-1} +  2 \cdot 3^{-2} + 1 \cdot 3^{-3 } = {25}/{27}\hspace{0.05cm}.$
  • Because of  $S({\rm T3}) \le 1$  the ternary code  $\rm T3$  satisfies Kraft's inequality and it is also prefix-free.


Let us now consider the proposed new codes.

  • Code $\rm T4$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 5)$:
$$S({\rm T4})= S({\rm T3}) + 4 \cdot 3^{-3 } = {29}/{27}\hspace{0.1cm} > \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T4 \hspace{0.15cm}is\hspace{0.15cm} unsuitable}\hspace{0.05cm},$$
  • Code $\rm T5$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 1, \ N_4 = 4)$:
$$S({\rm T5})= S({\rm T3}) + 4 \cdot 3^{-4 } = {79}/{81}\hspace{0.1cm} < \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T5 \hspace{0.15cm}is\hspace{0.15cm} suitable}\hspace{0.05cm},$$
  • Code $\rm T6$ $(N_1 = 2, \ N_2 = 2, \ N_3 = 2, \ N_4 = 3)$:
$$S({\rm T6})= S({\rm T3}) + 1 \cdot 3^{-3 } + 3 \cdot 3^{-4 } = \frac{75 + 3 + 3}{81}\hspace{0.1cm} = \hspace{0.1cm}1\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm T6 \hspace{0.15cm}is\hspace{0.15cm} suitable}\hspace{0.05cm}.$$

Thus, the two last proposed solutions are correct.

For example, the total  $N = 9$  code words of the prefix-free code  $\rm T6$  are:

$$\rm 0, \, 1, \, 20, \,21, \,220, \,221, \,2220, \, 2221 , \,2222.$$