KIV / TI - Teoretická informatika
Cvičení 7 - Teorie informace

Výpočet entropie zdroje zpráv

Zadání: Zdroj zpráv produkuje zprávy ze souboru $\mathbf{x} = \{x_1, x_2, x_3, x_4\}$, přičemž pravděpodobnosti znaků jsou

Vypočtěte střední entropii zdroje.

Řešení: Entropie zdroje $H(\mathbf{x})$ je hodnota říkající, kolik bitů informace průměrně přinese jeden znak. Víme, že informace předaná jedním znakem $x_i$ je rovna jeho elementární entropii, tj. $I(x_i)=H(x_i)=-\log_2 p(x_i)$. Pokud je znak málo pravděpodobný, je jeho "překvapivost" velká, tedy přináší "hodně informace" - to odpovídá chování funkce "minus logaritmus pravděpodobnosti".

Současně je ale zřejmé, že znak s malou pravděpodobností výskytu nebude ve zprávě zabírat mnoho místa - právě proto, že je málo pravděpodobný. Pokud nás proto zajímá, kolik informace průměrně přinese jeden znak, měli bychom vypočítat vážený průměr všech elementárních entropií, tj.

$$H(\mathbf{x}) = -\sum_{i=1}^4 p(x_i) \log_2 p(x_i).$$

Veličina $H(\mathbf{x})$ se nazývá střední entropie zdroje. Podotkněme, že logaritmus při obecném základu snadno spočítáme, umíme-li počítat logaritmus při jiném základu:

$$\log_A x = \frac{\log_B x}{\log_B A},$$

čili výše uvedený vztah přepíšeme na

$$H(\mathbf{x}) = -\frac{1}{\log 2}\sum_{i=1}^4 p(x_i) \log p(x_i),$$

kde funkce $\log()$ je logaritmus při libovolném pevně zvoleném základu.

Pro náš příklad je tedy řešení

$$\begin{split} H(\mathbf{x}) &= -\frac{1}{\log 2}(0{,}2\log 0{,}2 + 0{,}3\log 0{,}3 + 0{,}4\log 0{,}4 + 0{,}1\log 0{,}1) = \\[4pt] &= 0{,}4644 + 0{,}5211 + 0{,}5288 + 0{,}3322 = \\[4pt] &= 1{,}847\ \text{bitu} \end{split} $$

S jedním znakem zprávy se tedy dozvíme průměrně 1,847 bitu informace; nebo jinak, na jeden znak zprávy potřebujeme průměrně 1,847 bitu datového prostoru. Zpráva dlouhá 1000 znaků tak bude průměrně zabírat 1847 bitu.

Zadání: Zjistěte redundanci zdroje.

Řešení: Pokud se všechny typy znaků objevují se stejnou pravděpodobností, je každý znak zprávy stejně hodnotný a jeho "cennost" je poměrně velká. Pokud se ale některé typy znaků vyskytují často, příliš velkou cenu nemají. Vysvětleme si to na příkladu.

Máme dva kandidáty na prezidenta, Losnu a Mažňáka, a oba mají podporu asi poloviny obyvatel. Každou hodinu přichází zpráva, který z nich má větší volební preference. Zpráva "teď vede Losna" je proto poměrně důležitá.

Pokud má ale kandidát Losna podporu 99 % obyvatel, je zpráva "teď vede Losna" celkem bezcenná, protože takovou zprávu čekáme. Kdyby naopak přišla zpráva "teď vede Mažňák", třeba proto, že se na Losnu našla nějaká špína, byl by to sólokapr. Pravděpodobnost této zprávy je však mizivá.

V prvním případě, kdy je podpora Losny a Mažňáka asi půl na půl, je informační hodnota jedné zprávy, tj. střední entropie, 1 bit (Losna nebo Mažňák). V druhém případě (99 % a 1 %) je střední entropie zdroje zpráv

$$H = -(0{,}99\log_2 0{,}99 + 0{,}01\log_2 0{,}01) = 0{,}08\ \text{bitu},$$

čili jedna zpráva je průměrně dost nezajímavá. Tuto "nezajímavost" čili "nadbytečnost" udává veličina zvaná redundance. V případě podpory 99 % a 1 % je redundance rovna $\rho = 1-0{,}08 = 0{,}92$ (bezrozměrná veličina). V případě podpory půl na půl je redundance $\rho = 1-1 = 0$, čili příchozí zprávy rozhodně nejsou nadbytečné.

V obecném případě, kdy máme $N$ typů znaků, je redundance zdroje dána vztahem

$$\rho = 1 - \frac{H(\textbf{x})}{\log_2 N},$$

kde $H(\textbf{x})$ je střední entropie zdroje. Pro náš zdroj zpráv se čtyřmi typy znaků ($N=4$) je

$$\rho = 1 - \frac{1{,}847}{2} = 0{,}076,$$

čili zdroj jistou nadbytečnost má, ale ne moc velkou.

Zadání: Za jakých okolností je redundance zdroje maximální (1) a minimální (0)?

Řešení: Je-li zdroj zpráv deterministický, potom má jeden typ znaku pravděpodobnost 1, ostatní 0. Tehdy je střední entropie rovna nule, čili jeden znak nepřináší žádnou informaci. Redundance je rovna $1-0 = 1$, zdroj zpráv je zcela nadbytečný (zbytečný).

Generuje-li zdroj každý znak se stejnou pravděpodobností, je střední entropie rovna $\log_2 N$, a tedy redundance je rovna nule.

Výpočet informace

Zadání: Tabulka obsahuje 10000 šesticiferných čísel v desítkové soustavě. Kolik informace obsahuje? Předpokládáme, že každá cifra je stejně pravděpodobná.

Řešení: Každá z deseti cifer je stejně četná, tj. její pravděpodobnost je $0{,}1$. Jeden znak (cifra) tak nese informaci $-\log_2 0{,}1 = \log_2 10 \approx 3{,}321928095\ \text{bitu}$. Jelikož tabulka obsahuje $60000$ znaků, nese tabulka informaci $199315{,}69\ \text{bitu}$. V ideálním případě bychom měli být schopni uchovat tabulku v $24915$ bajtech paměti.

Pokusme se získanou hodnotu porovnat s typickými způsoby uložení.

Kdybychom jednotlivé znaky tabulky reprezentovali v 8bitovém ASCII kódování, zabrala by tabulka 60000 bajtů, tj. 2,4× více, než je minimum.

Mohli bychom si uvědomit, že jedno šesticiferné číslo se bezpečně vejde do proměnné typu int, která má velikost 4 bajty (její rozsah je od -2147483648 do 2147483647). Čísel je 10000, čili tabulka zabere v paměti 40000 bajtů, tj. 1,6× více, než je minimum.

Jednu desítkovou číslici můžeme pochopitelně uložit jen čtyřmi bity. Takto by tabulka zabrala jen 30000 bajtů, tj. 1,2× více, než je minimum.

Takto bychom mohli postupovat dále. Díky teorii informace můžeme snadno posoudit, jestli je zvolené kódování paměťově úsporné a kam až lze v případných úsporách pokračovat.

Strategie volby experimentu

Zadání: Máme dvanáct na první pohled stejných mincí. Víme, že jedna je falešná a že se od pravé liší hmotností. Nevíme však, zda je lehčí, nebo těžší než pravá. K dispozici máme rovnoramennou váhu. Kolik vážení potřebujeme, abychom zjistili odpověď na dvě otázky?

  1. Která mince je falešná?
  2. Je falešná mince lehčí, nebo těžší než pravá?

Řešení: Pokud si mince očíslujeme od 1 do 12, může být řešením například tvrzení "falešná je mince č. 1 a je lehčí než pravá". Takových odpovědí zřejmě existuje 24, tj. dvanáct mincí krát dvě možnosti (lehčí, těžší). Entropie (nejistota) úlohy je proto

$$H(\text{úloha}) = \log_2 24 \approx 4{,}585\ \text{bitu}.$$

Rovnoramenné váhy mají na stejně dlouhých ramenech dvě misky. Pokud na levou misku dáme jednu minci a na pravou nedáme nic, je zřejmé, že levá miska je těžší. Když je výsledek vážení předem známý, nepřinese nám žádnou informaci. To můžeme snadno potvrdit výpočtem střední entropie: pravděpodobnost výsledku "levá miska je těžší" je 1, výsledku "pravá miska je těžší" je 0, výsledku "obě misky váží stejně" je rovněž nula, a proto

$$I(\text{hloupé vážení}) = -(1\log_2 1 + 0\log_2 0 + 0\log_2 0) = 0\ \text{bitu}.$$

(Připomeňme si, že hodnotu výrazu $0\log_2 0$ chápeme limitně, tj. jako nulu.)

Z vlastností entropie víme, že dosahuje maxima při rovnoměrném rozdělení pravděpodobnosti, tj. pokud můžeme všechny tři výsledky očekávat s pravděpodobností $1/3$. Tehdy je střední entropie rovna

$$I(\text{vhodné vážení}) = -\Big(\frac{1}{3}\log_2 \frac{1}{3} + \frac{1}{3}\log_2 \frac{1}{3} + \frac{1}{3}\log_2 \frac{1}{3}\Big) = \log_2 3 \approx 1{,}585\ \text{bitu}.$$

Informace, tj. snížení entropie úlohy, kterou nám přinese vhodně zvolené vážení, je tedy přibližně $1{,}585\ \text{bitu}$. Entropie úlohy je $4{,}585\ \text{bitu}$. Dá se proto očekávat, že

$$\text{počet vážení} = \frac{H(\text{úloha})}{I(\text{vhodné vážení})} \approx 2{,}893 \approx 3.$$

Závěrečné zaokrouhlení na celé číslo tři musíme udělat proto, že počet vážení musí být celočíselný.

Co nám výpočet říká? Za prvé říká, že pouhými dvěma váženími se obě odpovědi zjistit nedají (leda bychom měli štěstí, ale řešení vyžadující štěstí nepotřebujeme). Za druhé naznačuje, že tři vážení by měla stačit, pokud se nám vždy povede najít "vhodné vážení", tj. obsazení misek vedoucí k rovnoměrnému rozložení pravděpodobnosti výsledku.

Díky teorii informace můžeme pokračovat dále a zjistit, zda jsou tři vážení skutečně dostačující za všech okolností. Budeme proto zkoumat, kolik mincí dát na levou a kolik na pravou misku, aby pravděpodobnost výsledku vážení byla co nejrovnoměrnější, tj. aby byla informace získaná vážením co největší.

Pokud dáme na levou misku jiný počet mincí než na pravou, dá se čekat, že těžší bude miska s více mincemi. My ale nepotřebujeme vážení, u něhož se dá výsledek čekat. Proto budeme uvažovat jen taková vážení, kde máme na levé a pravé misce stejný počet mincí.

Pokud bude například na levé misce jedna mince, na pravé misce také jedna mince, může vážení dopadnout trojím způsobem:

  1. Obě misky jsou stejně těžké: k tomu je zapotřebí, abychom nejdřív na levou misku položili nefalšovanou minci (pravděpodobnost $11/12$), a poté na pravou misku rovněž nefalšovanou minci (pravděpodobnost $10/11$). Celkově je pravděpodobnost výsledku rovna součinu dílčích pravděpodobností, tj. $10/12$.
  2. Levá miska je těžší: k tomu dojde, je-li vlevo falešná mince a ta je těžší než pravá, nebo je-li vpravo falešná mince a ta je lehčí než pravá. Pravděpodobnost obou variant je $1/24$, čili celková pravděpodobnost tohoto výsledku je $1/12$.
  3. Pravá miska je těžší: situace je analogická k předchozí, čili pravděpodobnost výsledku je také $1/12$.

Informace získaná vážením, kde na levé i pravé misce je po jedné minci, je tak

$$I = -\Big(\frac{1}{12}\log_2\frac{1}{12} + \frac{10}{12}\log_2\frac{10}{12} + \frac{1}{12}\log_2\frac{1}{12}\Big) \approx 0{,}817\ \text{bitu}.$$

Stejně budeme postupovat například tehdy, dáme-li na pravou i levou misku po dvou mincích:

  1. Obě misky jsou stejně těžké: k tomu je zapotřebí, abychom postupně z dvanácti mincí vybrali čtyři nefalšované. K tomu dojde s pravděpodobností

    $$\frac{11}{12} \times \frac{10}{11} \times \frac{9}{10} \times \frac{8}{9} = \frac{8}{12}.$$

  2. Pravděpodobnost výsledku "obě misky jsou stejně těžké" je $8/12$, a proto je pravděpodobnost ostatních výsledků $1-8/12=4/12$. Pokud předpokládáme, že pravděpodobnost výsledku "levá miska je těžší" je stejná jako "pravá miska je těžší", je pravděpodobnost obou výsledků $2/12$.

Informace získaná vážením, kde na levé i pravé misce je po dvou mincích, je tak

$$I = -\Big(\frac{2}{12}\log_2\frac{2}{12} + \frac{8}{12}\log_2\frac{8}{12} + \frac{2}{12}\log_2\frac{2}{12}\Big) \approx 1{,}252\ \text{bitu}.$$

Obdobně bychom postupovali dále a výsledky zpracovali do tabulky:

počet mincí pravděpodobnost informace (bity)
vlevo vpravo levá miska těžší obě misky stejně těžké pravá miska těžší
000/1212/120/120,000
111/1210/121/120,817
222/128/122/121,252
333/126/123/121,500
444/124/124/121,585
555/122/125/121,483
666/120/126/121,000

Pro první vážení tedy bude nejvýhodnější položit na levou a pravou misku vah po čtyřech mincích, čtyři nechat mimo váhy. Tehdy bude zjištěná informace nejvyšší, tj. $1{,}585\ \text{bitu}$. Entropie úlohy tak klesne na $4{,}585 - 1{,}585 = 3\ \text{bity}$.

Zkusme si zjistit, co neurčitost 3 bity skutečně znamená.

Pro srozumitelnější analýzu si zaveďme následující grafické symboly:

  1. - mince, o níž víme, že je nefalšovaná,
  2. - mince, o níž víme, že falešná a lehčí než nefalšovaná,
  3. - mince, o níž víme, že falešná a těžší než nefalšovaná,
  4. - mince, která je buď nefalšovaná, nebo falešná a lehčí,
  5. - mince, která je buď nefalšovaná, nebo falešná a těžší,
  6. - mince, o níž nevíme nic.

Na začátku úlohy jsme tedy byli v situaci, kdy jsme o dvanácti mincích nevěděli nic:

     

Mince jsme rozdělili na tři hromádky po čtyřech mincích a dvě hromádky porovnali na vahách. Dejme tomu, že obě misky byly stejně těžké. To ale znamená, že na obou miskách byly pouze nefalšované mince a ta falešná je ve zbývající hromádce. Situace po zvážení vypadá takto:

     

Nyní se neurčitost redukovala na osm možných odpovědí: mince č. 9, 10, 11, 12 a lehčí nebo těžší. Neurčitost při osmi možných odpovědích je pochopitelně $\log_2 8=3\ \text{bity}$, což odpovídá odvozené redukci entropie.

Alternativně jsme při vážení mohli zjistit, že levá miska je těžší. To ale znamená, že se na miskách objevila falešná mince: buď byla vlevo a byla těžší, nebo byla vpravo a byla lehčí než nefalšovaná. Mince mimo váhy byly v každém případě nefalšované. Graficky by dopadla situace po zvážení takto:

     

Opět vidíme, že neurčitost se zredukovala ze 24 možných odpovědí na osm možností, čili i nyní je neurčitost úlohy 3 bity.

Další vážení musíme naplánovat podle výsledku prvního vážení.

Varianta 1: první vážení vyšlo "obě misky stejné"

Pro přehlednost si připomeňme, že situace vypadá takto: máme osm bezesporu nefalšovaných mincí a čtyři mince, o nichž nevíme nic:

     

Na misky vah budeme opět dávat po stejném počtu mincí a budeme zjišťovat, jaké vážení přinese nejvíc informace. Nyní ale máme možnost kombinovat nefalšované s neznámými.

Pokud se třeba rozhodneme dát na levou misku všechny čtyři neznámé mince, musíme dát na pravou čtyři nefalšované mince. Tím je vyloučeno, aby obě misky vážily stejně (mezi čtyřmi neznámými je jedna falešná). Jelikož je stejně pravděpodobné, že je falešná mince lehčí nebo těžší než nefalšovaná, je pravděpodobnost výledku "levá miska těžší" 1/2, pravděpodobnost "pravá miska těžší" také 1/2. Informace je zřejmě 1 bit.

Pokud se rozhodneme dát na levou misku tři neznámé mince, máme dvě možnosti, co dát na pravou misku. Za prvé: jednu neznámou a dvě nefalšované. Za druhé: tři nefalšované, čili jedna neznámá se vůbec neocitne na miskách vah.

V prvním případě se opět nemůže stát, že by vážení dopadlo "obě misky stejné", a tedy pravděpodobnosti zbývajících výsledků jsou 1/2.

V druhém případě je pravděpodobnost 1/4, že se mimo váhy ocitla falešná mince, a tedy na vahách jsou jen nefalšované. Pravděpodobnost výsledku "obě misky stejné" je tak 1/4, pravděpodobnosti zbylých dvou musí být stejné, a to 3/8. Získaná informace je 1,561 bitu.

Obdobně bychom postupovali dále a výsledky sestavili do tabulky:

počet mincí na miskách pravděpodobnost informace (bity)
levá miska pravá miska levá miska těžší obě misky stejně těžké pravá miska těžší
40041/201/21,000
30121/201/21,000
30033/81/43/81,561
20201/201/21,000
20113/81/43/81,561
20021/41/41/41,500
10101/41/21/41,500
10011/83/41/81,061

V tabulce vidíme, že "ideální vážení" nyní neexistuje, ani jedno nedosahuje informace 1,585 bitu. Dva způsoby ale dosahují 1,561 bitu. Dejme tomu, že se rozhodneme pro způsob vážení "tři neznámé na levou misku, tři nefalšované na pravou".

Pokud by se zjistilo, že obě misky jsou stejně těžké, jsme v této situaci:

     

Už víme, která mince je falešná a stačí nám jedno vážení, abychom zjistili, zda je lehčí, nebo těžší než nefalšovaná.

Alternativně se mohlo zjistit, že levá miska je těžší. Pak bychom byli v této situaci:

     

(Tedy mince, která zbyla mimo váhy, je určitě nefalšovaná, a mezi třemi na levé misce vah je falešná. O ní už víme, že je těžší než nefalšovaná.) Když dvě z neznámých mincí položíme na váhy a misky budou stejně těžké, je "falešná a těžší" ta, co zbyla. Pokud vyjde nerovnováha, je "falešná a těžší" ta mince, která nyní vychází těžší.

V obou případech jsme již potřebovali jen dvě vážení, čili s prvním vážením jsme zvládli odpovědět s pouhými třemi váženími.

Varianta 2: první vážení vyšlo "levá miska je těžší"

Pro přehlednost si připomeňme, že situace vypadá takto: máme čtyři bezesporu nefalšované mince, falešná se skrývá mezi osmi na vahách. Buď je na levé misce, a potom je těžší než nefalšovaná, nebo je na pravé misce, a potom je lehčí než nefalšovaná:

     

Nyní je situace s volbou experimentu ještě komplikovanější, protože na misky vah můžeme dávat mince trojího druhu: podezřelé těžší, podezřelé lehčí a nefalšované.

Na levou misku vah můžeme dát nějaký počet nefalšovaných $(L_N)$, podezřelých těžších $(L_T)$ a podezřelých lehčích $(L_L)$ mincí.

Na pravou misku vah můžeme dát nějaký počet nefalšovaných $(P_N)$, podezřelých těžších $(P_T)$ a podezřelých lehčích $(P_L)$ mincí.

Pro jednotlivá čísla musí platit omezující podmínky, protože od každého druhu máme jen čtyři mince:

$$L_N + P_N \le 4,$$

$$L_L + P_L \le 4,$$

$$L_T + P_T \le 4.$$

Navíc musí být na obou miskách stejný počet mincí:

$$L_T + L_L + L_N = P_T + P_L + P_N.$$

Možností, jak uspořádat vážení, je až hanba. Bude proto lepší vymyslet krátký program, který všechny projde a vyhodnotí.

V programu potřebujeme počítat pravděpodobnosti výsledků vážení, tj. "levá miska těžší", "pravá miska těžší", "obě misky stejně těžké".

Jaká je pravděpodobnost výsledku "levá miska těžší"? To se stane, je-li nalevo falešná těžší mince, případně napravo falešná lehčí mince. Pravděpodobnost, že falešná je nalevo a je těžší, je $L_T/8$. Pravděpodobnost, že falešná je napravo a je lehčí, je obdobně $P_L/8$. Proto je pravděpodobnost výsledku "levá miska těžší" rovna $(L_T + P_L)/8$.

Stejně zjistíme, že pravděpodobnost výsledku "pravá miska je těžší" je $(L_L + P_T)/8$. Doplňkem do jedné získáme pravděpodobnost výsledku "obě misky stejně těžké", čili $1-(L_T+L_L+P_T+P_L)/8$.

Nyní snadno napíšeme kód, který vyhodnotí všechny možnosti a najde maximum informace. Následující kód je pro Matlab/Octave, přepis do libovolného programovacího jazyka je triviální.

#pomocna funkce pro vypocet entropie
function out = xlogx(x)
 if (x != 0)
  out = -x * log(x) / log(2);
 else
  out = 0;
 end
end

################################################

#citac radku tabulky
radek = 1;

#maximum informace a radek, kde se maximum nachazi
maxInformace = 0;
maxRadek = 0;

#kombinujeme...
for leva_tezsi = 0:4
  for prava_tezsi = 0:(4-leva_tezsi)
    for leva_lehci = 0:4
      for prava_lehci = 0:(4-leva_lehci)
        leva_podezrele = leva_tezsi + leva_lehci;
        prava_podezrele = prava_tezsi + prava_lehci;

        #vezmeme tolik nefalsovanych, aby byl pocet minci vlevo a vpravo stejny
        nefalsovanych = leva_podezrele - prava_podezrele;
        if (abs(nefalsovanych) > 4)
          continue;
        end
        if (nefalsovanych < 0)
          leva_nefalsovane = -nefalsovanych;
          prava_nefalsovane = 0;
        else
          leva_nefalsovane = 0;
          prava_nefalsovane = nefalsovanych;
        end        
        
        #spocteme pravdepodobnosti
        pLevaTezsi = (leva_tezsi + prava_lehci) / 8;
        pPravaTezsi = (leva_lehci + prava_tezsi) / 8;
        pStejne = 1 - pLevaTezsi - pPravaTezsi;
        
        #informace daneho vazeni
        informace = xlogx(pLevaTezsi) + xlogx(pPravaTezsi) + xlogx(pStejne);
        
        #vypiseme si pouze informacne vydatne radky
        if (informace > 1.56)
          printf("%d   %d %d %d   %d %d %d   %f\n", 
             radek, leva_tezsi, leva_lehci, leva_nefalsovane, 
             prava_tezsi, prava_lehci, prava_nefalsovane, 
             informace);
        end
        
        #hledame maximum
        if (informace > maxInformace)
          maxInformace = informace;
          maxRadek = radek;
        end
        radek = radek + 1;
      end
    end
  end
end

printf("max. informace: %.3f bitu na radku %d\n", maxInformace, maxRadek);

Program zjistí, že pro několik konfigurací je informace $1.561278\ \text{bitu}$. (Ostatních více než sto dalších konfigurací nevypisujeme, protože jejich informační hodnota je menší.)

počet mincí na miskách informace (bity)
levá miska pravá miska

$(L_T)$

$(L_L)$

$(L_N)$

$(P_T)$

$(P_L)$

$(P_N)$
0131301.561
0211201.561
0132201.561
0142301.561
1200211.561
1300131.561
1111201.561
1201111.561
1201201.561
1032201.561
1112101.561
1122201.561
1033101.561
1043201.561
2200131.561
2300141.561
2101111.561
2201031.561
2201121.561
2012101.561
2102011.561
2102101.561
3101031.561
3201041.561

Čistě teoreticky je jedno, které možnosti dáme přednost. Zvolme si namátkou

$$L_T = 1\qquad L_L = 2 \qquad P_T = 1 \qquad P_L = 2 \qquad L_N = P_N = 0,$$

tj. na váhy položíme všechny čtyři podezřelé lehčí a dvě podezřelé těžší. Mimo váhy zůstanou dvě podezřelé těžší a čtyři nefalšované:

levá miska:    pravá miska:    vedle:

Pokud vážení dopadlo "obě misky váží stejně", musely být na miskách jen nefalšované mince. Z aktuální situace

levá miska:    pravá miska:    vedle:

je zřejmé, že jediné vážení rozhodne, která z mincí je falešná (to, že je těžší, už víme).

Alternativně mohla být těžší levá miska. To mohlo nastat jen tehdy, je-li nalevo falešná těžší, nebo napravo falešná lehčí mince. Situaci upravíme:

levá miska:    pravá miska:    vedle:

Pokud nyní na vahách porovnáme obě podezřelé lehčí, budeme vědět výsledek.

Konečně mohlo vážení skončit pravou stranou těžší. To mohlo nastat jen tehdy, je-li nalevo falešná lehčí, nebo napravo falešná těžší mince. Situaci upravíme:

levá miska:    pravá miska:    vedle:

Opět vidíme, že porovnáním obou podezřelých lehčích získáme finální odpověď.

Shrnutí: Ve všech případech jsme ověřili, že tři zvážení nám k jednoznačné odpovědi stačí, čímž je analýza hotova.

Právě dokončený příklad je samozřejmě poněkud samoúčelný. Dává ale návod, jak konstruovat dotazy tak, aby byly co nejužitečnější.