Sunteți pe pagina 1din 3

ALGORITMUL DIHOTOMIEI

APLICAŢIE

Fie 16 cutii numerotate de la 0 la 15. Într-una dintre cutii (cutia cu numărul 5, de exemplu) se
găseşte un premiu. Care este numărul mediu de întrebări pe care o persoană interesată de
premiu ar trebui să le adreseze celui ce se află în posesia cutiilor (şi implicit a premiului), dacă
acesta din urmă trebuie să răspundă corect la întrebări, dar numai prin răspunsuri de tip: „DA”
sau „NU”? Care sunt aceste întrebări?

Rezolvare:

Numărul întrebărilor (Q) este egal cu numărul biţilor de informaţie necesari pentru a transmite
selecţia unul simbol din N simboluri echiprobabile (în cazul de faţă selecţia unei cutii din N cutii
echiprobabile; N = 16).
Astfel, I = cantitatea de informaţie, I=log2N= log216= log224=4 biţi/simbol.
Deci, avem nevoie de 4 întrebări pentru a afla în care cutie se găseşte premiul.
Putem aplica algoritmul dihotomiei în această situaţie deoarece putem să gândim această situaţie
ca fiind o situaţie ce poate fi redusă la o situaţie de alegere elementară (cea în care avem de ales o
variantă dintre două variante posibile) şi care este caracterizată printr-un bit de informatie I =
log22 = 1 bit/simbol. Această reducere se poate face împărţind numărul de posibilităţi în două
mulţimi de posibilităţi disjuncte. Astfel, situaţia de fapt poate fi văzută ca fiind o situaţie
elementară care se poate reitera.
Fie x numărul cutiei în care se află premiul şi pe care dorim să îl aflăm. Aplicând algoritmul
dihotomiei, succesiunea de întrebări pentru aflarea cutiei (în cazul nostru cutia cu numărul 5) este
următoarea:

Întrebarea 1: x≥8? Răspuns 1: NU (0) – Se elimină astfel cutiile cu numerele: 8,9,10,11,12,13,14,15.

Se împarte numărul de cutii (N=16) la 2 şi se obţin două mulţimi cu acelaşi număr de cutii: 8.
Întrebarea pusă „x≥8?” va cere un răspuns care va plasa cutia ce conţine premiul într-una dintre
mulţimi. Astfel, răspunsul NU, notat cu „0” în baza 2, va elimina cutiile care au un număr mai
mare şi egal cu 8: 8, 9, 10, 11, 12, 13, 14, 15. Ca urmare, cutia se va găsi în mulţimea: 0, 1, 2, 3,
4, 5, 6, 7.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

N/2 N/2

Întrebarea 1

1
Întrebarea 2: x≥4? Răspuns 2: DA (1) - Se elimină astfel cutiile cu numerele: 0,1,2,3.

Pentru a pune cea de-a doua întrebare se procedează asemănător situaţiei de la prima întrebare.
Fiindcă mulţimea de cutii rămasă de la prima întrebare este de 8 cutii, fiecare mulţime rezultată
prin împărţirea acestui număr la 2 va avea 4 cutii. Deoarece răspunsul la întrebarea precedentă
este „NU”, numărul obţinut prin împărţirea lui 8 la 2 nu se adaugă la numărul care a fost folosit
pentru a pune întrebarea precedentă (8). Dacă, în schimb, răspunsul precedent ar fi fost afirmativ
(„DA”), atunci pentru a adresa cea de-a doua întrebare, trebuia să adunăm la numărul 8
(jumătatea iniţială a şirului de cutii) şi numărul 4 (reprezentând jumătatea jumătăţii), pentru a afla
în care dintre cele două jumătăţi rămase se află cutia cu premiul.

8/2 8/2 8/2 8/2

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

N/2 N/2

Întrebarea 2 Întrebarea 1 Întrebarea 2’

NU DA

Întrebarea 3: x≥6? Răspuns 3: NU (0) - Se elimină astfel cutiile cu numerele: 6,7.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Întrebarea 2 Întrebarea 1
DA Întrebarea 3 NU
NU

Procedura se repetă. Răspunsul afirmativ la întrebarea precedentă elimină cutiile cu numere mai
mici decât 4. Ca urmare, cutia cu premiul se află printre cutiile cu numerele 4, 5, 6, 7. Din nou,
numărul care apare în întrebare se obţine conform aceleiaşi proceduri: se împarte mulţimea
cutiilor (4) la 2, iar rezultatul obţinut de adaugă la numărul ce apare în prima întrebare cu răspuns
afirmativ. Deoarece întrebarea precedentă este prima întrebare cu răspuns afirmativ (întrebarea
nr. 2), atunci 2 se adună cu numărul care apare în această întrebare (4). Astfel se explică formarea

2
numărului care apare în întrebarea 3: „x≥6?”. Deoarece cutia ce conţine premiul are un număr
mai mic decât 6, răspunsul este unul negativ (NU).

Întrebarea 4: x≥5? Răspuns 4: DA (1) - Se elimină astfel cutia cu numărul: 4.


Respectând procedura, întrebarea 4 conduce la răspunsul afirmativ şi la identificarea cutiei ce
conţine premiul.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Întrebarea 1
NU
Întrebarea 2
DA

Întrebarea 3
NU

Întrebarea 4
DA
Deci,

x=5
Observaţii

1. Cutia cu premiul se poate identifica doar după adresarea celor 4 întrebări care primesc
răspunsuri de tip DA/NU.
2. Numărul întrebărilor depinde de numărul cazurilor echiprobabile.
3. Cifrele în baza 2 (scrise în paranteză după răspunsuri, conform convenţiei DA=1, NU=0)
reprezintă, citite de la prima la ultima întrebare, numărul cutiei în care se găseşte premiul.
Astfel, 01012=510.