Teoria informacji

Transkrypt

Teoria informacji
Teoria informacji - zadania
Marcin Kotowski
18 sierpnia 2010
Zadanie 1. Mamy N graczy, każdy z nich dostaje czarna lub czerwoną czapkę (z równym prawdopodobieństwem). Zanim gracze dostaną czapki, mogą ustalić dowolną strategię, ale potem nie mogą się komunikować.
Po otrzymaniu czapek każdy gracz widzi czapki pozostałych, ale nie swoją. Każdy z graczy zgaduje, jaki ma
kolor, gracze wygrywają, jeśli każdy zgadnie dobrze. Jaka strategia zapewnia największe prawdopodobieństwo
wygranej?
Ustalmy pewien alfabet A. Przez A∗ będziemy oznaczać zbiór wszystkich słów o literach z A. U nas
zazwyczaj będzie A = {0, 1}.
Definicja 1. Niech S będzie zbiorem symboli (np. S = {a, b, c}). Kod to przyporządkowanie każdemu symbolowi z S pewnego słowa kodowego z A∗ w taki sposób, że dowolny ciąg złożony ze słów kodowych można
rozłożyć na słowa kodowe tylko na jeden sposób.
Własność ta oznacza, że każde zakodowane słowo da się jednoznacznie odczytać z powrotem.
Natura symboli z S nie jest dla nas istotna, więc dalej będziem utożsamiać kod po prostu ze zbiorem
słów kodowych. Przykład przyporządkowania, które nie jest kodem: {0, 011, 11} - słowo 0110 można rozłożyć
zarówno jako 0 − 11 − 0, jak i 011 − 0. Jeśli więc np. kodujemy litery a, b, c jako 0, 011, 11, to słowo 0110
możemy odczytać zarówno jako aca, jak i ba.
Definicja 2. Zbiór słów T ⊆ A∗ nazwiemy bezprefiksowym, jeśli żadne słowo z T nie jest prefiksem
innego słowa z T .
Na przykład, zbiór {0, 10, 11} jest bezprefiksowy. Zauważmy, że każdy zbiór bezprefiksowy jest automatycznie kodem - chcąc zdekodować słowo, czytamy po kolei symbole, aż dostaniemy jakieś słowo kodowe,
wtedy możemy je bezpiecznie „odciąć” i czytać dalej. Oczywiście nie każdy kod jest bezprefiksowy, np.
{0, 01, 11}.
Każdy zbiór bezsufiksowy również jest kodem (np. {0, 01, 11}). Jak zdekodować ciąg symboli zakodowany
kodem bezsufiksowym, przetwarzając go znak po znaku?
Definicja 3. Kod T ⊆ A∗ nazwiemy maksymalnym, jeśli dodanie jakiegokolwiek słowa powoduje utratę
jednoznacznej dekodowalności.
Kod {0, 01} nie jest maksymalny, ale {0, 01, 11} już jest.
Zadanie 2. Nierówność Krafta : Niech T będzie kodem bezprefiksowym, którego słowa kodowe mają długości l1 , . . . , ln . Zachodzi wtedy:
n
X
2−li ¬ 1
i=1
Na odwrót, jeśli liczby całkowite l1 , . . . , ln spełniają nierówność Krafta, to istnieje kod bezprefiksowy mający
słowa kodowe o zadanych długościach.
Zadanie 3. Udowodnij nierówność Krafta dla dowolnych kodów (niekoniecznie bezprefiksowych).
Zadanie 4. Pokaż, że kod T jest maksymalny ⇔ w nierówności Krafta zachodzi równość.
1
Ciekawostka - to stwierdzenie jest prawdą tylko dla skończonych kodów. Mogą istnieć nieskończone kody,
które są maksymalne, ale mają sumę w nierówności Krafta mniejszą od 1.
Zadanie 5. Znajdź maksymalny bezprefiksowy kod nieskończony, która ma sumę Krafta mniejszą od 1 (a
nawet - dowolnie małą).
Zadanie 6. Pokaż, że skończony kod bezprefiksowy jest maksymalny ⇔ każde nieskończone słowo daje się
rozłożyć na słowa kodowe.
Zadanie 7. Znajdź algorytm, który mając dany skończony zbior słów kodowych rozstrzyga, czy zbiór ten jest
kodem.
Zadanie 8. Mamy N graczy, każdy z nich dostaje czarna lub czerwoną czapkę (z równym prawdopodobieństwem). Zanim gracze dostaną czapki, mogą ustalić dowolną strategię, ale potem nie mogą się komunikować.
Po otrzymaniu czapek każdy gracz widzi czapki pozostałych, ale nie swoją. Każdy z graczy zgaduje, jaki ma
kolor - może powiedzieć dowolny kolor lub spasować. Gracze przegrywają, jeśli ktoś zgadnie źle lub wszyscy
spasują, wygrywają w przeciwnym przypadku. Zaproponuj strategię, która daje wysokie prawdopodobieństwo
wygranej. Pokaż, że maksymalne możliwe prawdopodobieństwo wynosi NN+1 .
Zadanie 9. Załóżmy, że chcemy przesłać 8 symboli za pomocą 6 bitów, ale podczas przesyłania jeden bit
może ulec zamianie (0 na 1 lub odwrotnie). Jaki przyjąć schemat kodowania, by umożliwić jednoznaczne
odczytanie przesłanej wiadomości? Czy da się to zrobić z mniejszą ilością bitów?
Zadanie 10. Rozważmy następującą grę: prowadzący wkłada do dwóch kolorowych kopert nieznane liczby
całkowite i pozwala Ci wybrać jedną z kopert. Po otwarciu koperty i przekonaniu się, jaka liczba jest w środku,
masz zgadnąć, czy liczba w drugiej kopercie jest większa, czy mniejsza. Jeśli zgadniesz dobrze, wygrywasz
złotówkę, w przeciwnym wypadku przegrywasz złotówkę.
Sąsiad przestrzega Cię, byś nie grał - jego syn strawił całe życie na graniu w tę grę i sumarycznie wyszedł
na zero. „Tu się średnio nie da nic wygrać, wychodzi się zawsze na zero” - twierdzi. Czy ma rację?
2