Teoria informacji/TI Ćwiczenia 1: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Stromy (dyskusja | edycje)
Nie podano opisu zmian
Stromy (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
Poniższe ćwiczenia służą oswojeniu się z pojęciem kodu:
== Ćwiczenia ==




{{cwiczenie|[Definicja kodu]|Ćwiczenie 1|
{{cwiczenie|1 [Definicja kodu]|Ćwiczenie 1|
Mamy dane zbiory:
Mamy dane zbiory:
:{0,01,11}
:{0,01,11}
Linia 28: Linia 28:




{{cwiczenie|[Rozpoznawanie kodów]|Ćwiczenie 2|
{{cwiczenie|2 [Rozpoznawanie kodów]|Ćwiczenie 2|
Czy istnieje algorytm, który dla dowolnego skończonego zbioru X nad alfabetem <math>\Sigma</math> stwierdza czy X jest kodem?}}
Czy istnieje algorytm, który dla dowolnego skończonego zbioru X nad alfabetem <math>\Sigma</math> stwierdza czy X jest kodem?}}


Linia 68: Linia 68:




{{cwiczenie|[Nieskończone kody]|Ćwiczenie 3|
{{cwiczenie|3 [Nieskończone kody]|Ćwiczenie 3|
Definicja kodu nie zakłada że zawiera on skończenie wiele słów. Przykładem nieskończonego kodu jest zbiór <math>\{ 0^n1 | n \in \mathbb{N}\}</math>.  
Definicja kodu nie zakłada że zawiera on skończenie wiele słów. Przykładem nieskończonego kodu jest zbiór <math>\{ 0^n1 | n \in \mathbb{N}\}</math>.  


Linia 83: Linia 83:




{{cwiczenie|[Maksymalne kody]|Ćwiczenie 4|
{{cwiczenie|4 [Maksymalne kody]|Ćwiczenie 4|
Załóżmy że X jest maksymalnym zbiorem bezprefiksowym nad alfabetem <math>\Sigma</math> (żaden jego nadzbiór nie jest bezprefiskowy). Czy w takim przypadku nierówność Krafta zamienia się w równość (tzn. <math>\sum_{s \in X} \frac{1}{r^{\ell (s)}} = 1</math>)? }}
Załóżmy że X jest maksymalnym zbiorem bezprefiksowym nad alfabetem <math>\Sigma</math> (żaden jego nadzbiór nie jest bezprefiskowy). Czy w takim przypadku nierówność Krafta zamienia się w równość (tzn. <math>\sum_{s \in X} \frac{1}{r^{\ell (s)}} = 1</math>)? }}


Linia 101: Linia 101:
</div>
</div>
</div>
</div>
== Zadania do rozwiązania ==
=== Zadanie 1 ===
Mówimy że kod '''wyczerpuje''' alfabet, jeśli dowolny wystarczająco długi ciąg liter alfabetu zawsze rozpoczyna się od słowa kodowego (innymi słowy dowolny nieskończony ciąg liter da się rozłożyć na słowa kodowe). Pokaż że dla dowolnego skończonego kodu <math>X</math> dowolne dwa z poniższych warunków implikują trzeci:
* <math>X</math> jest bezprefiksowy
* <math>X</math> wyczerpuje alfabet
* <math>\sum_{s \in X} \frac{1}{r^{\ell (s)}} = 1</math>
Pokaż że żaden z tych warunków nie implikuje pozostałych dwóch. Czy założenie o skończoności kodu jest konieczne?

Wersja z 11:53, 15 sie 2006

Ćwiczenia

Ćwiczenie 1 [Definicja kodu]

Mamy dane zbiory:

{0,01,11}
{0,11,10}
{00,01,10}
{00,001,100}
{1,010,110,001,000,101}

Określ:

Które z nich są kodami?
Które są bezprefiskowe?
Które są maksymalne bezprefiksowe?

Rozwiązanie

{{{3}}}


Ćwiczenie 2 [Rozpoznawanie kodów]

Czy istnieje algorytm, który dla dowolnego skończonego zbioru X nad alfabetem Σ stwierdza czy X jest kodem?

Wskazowka

Rozwiązanie


Ćwiczenie 3 [Nieskończone kody]

Definicja kodu nie zakłada że zawiera on skończenie wiele słów. Przykładem nieskończonego kodu jest zbiór {0n1|n}.

Udowodnij że każdy nieskończony kod również spełnia nierówność Krafta.

Rozwiązanie

{{{3}}}


Ćwiczenie 4 [Maksymalne kody]

Załóżmy że X jest maksymalnym zbiorem bezprefiksowym nad alfabetem Σ (żaden jego nadzbiór nie jest bezprefiskowy). Czy w takim przypadku nierówność Krafta zamienia się w równość (tzn. sX1r(s)=1)?

Wskazowka

Rozwiązanie


Zadania do rozwiązania

Zadanie 1

Mówimy że kod wyczerpuje alfabet, jeśli dowolny wystarczająco długi ciąg liter alfabetu zawsze rozpoczyna się od słowa kodowego (innymi słowy dowolny nieskończony ciąg liter da się rozłożyć na słowa kodowe). Pokaż że dla dowolnego skończonego kodu X dowolne dwa z poniższych warunków implikują trzeci:

  • X jest bezprefiksowy
  • X wyczerpuje alfabet
  • sX1r(s)=1

Pokaż że żaden z tych warunków nie implikuje pozostałych dwóch. Czy założenie o skończoności kodu jest konieczne?