Măriți viteza de trimitere a datelor datorită vitezei de recepție

Am o conexiune ADSL și de fiecare dată când am probleme, când trebuie să trimit pe cineva un dosar mare. Deoarece viteza de trimitere este de aproximativ 10 ori mai mică decât viteza de descărcare de la Ineta.







De ce nu creșteți viteza de expediere datorită vitezei de recepție? Am venit cu un mod viclean pentru a face acest lucru fără a fi nevoie să modificăm echipamentul (acesta este interesul problemei), dar nu sunt încă sigur de eficacitatea acestuia. Acest post nu este o aplicație, este doar o încercare de a testa teoria. Poate e totul prostii?

Exemple din viață

Imaginați-vă un vizitator foarte beat de restaurant și foarte (t) chelner jucăuși. Într-o asemenea măsură încât, atâta timp cât vizitatorul va spune „Cartofi la cuptor cu legume si branza,“ chelnerul are timp pentru a sorta toate felurile de mâncare din meniu, iar persoana va trebui doar să spună „da“ la momentul potrivit. Este evident că rata de comandă este crescută la întâmplare (dacă ai noroc, masa va fi chiar la începutul listei de vorbit, și dacă nu?)

Un alt exemplu: autocompletarea în Yandex. Noi scriem "la", instantaneu indiciul "fantoma unei opere un muzical" iese, faceți clic pe care mai repede, decât să umpleți tot textul cu litere. Și aici nu există nici o garanție că, printre cele 10 prompte, cel drept se va întâmpla imediat, dar pe măsură ce tastați, probabilitatea de a ghici înălțimi.

Verificarea teoriei

Să presupunem că trebuie să transferăm numărul 493.

Aproximativ acest număr arată în biți dacă nu utilizați compresia:
0100.1001.0011 - 12 biți







Fie viteza de trimitere = 1 bit pe minut.
Trebuie să trimitem 12 biți și, de obicei, ar dura 12 minute.

Va funcționa metoda dacă putem trimite "da / nu" numai la intervale discrete?

Pentru a înțelege acest lucru, amintiți-vă chelnerul: să spunem, avem 4 minute și putem spune "da" strict cu ora, o dată pe minut: la sfârșitul primului minut, al doilea și așa mai departe. Astfel, cu patru răspunsuri, putem alege doar din 16 vase prin metoda de căutare binară (de la 0000 la 1111 în sistemul binar).

Nu putem spune "da" exact în momentul în care chelnerul pronunță felul de mâncare de care avem nevoie și acest lucru este rău.

Știți cum să ghiciți numărul de la 1 la 1000 pentru 10 întrebări despre "da / nu"?

Numărul tău este mai mare de 500?
Da → Mai mare de 750?
Nu → Mai mare de 250?

Și așa mai departe, până ne dăm seama.
Aceasta este metoda de căutare binară.

Dar alegerea a 16 opțiuni nu este suficientă pentru a determina numărul 493. Avem nevoie de o alegere de cel puțin 1000.

Condiții de aplicabilitate

Metoda inventată poate funcționa numai în acest caz:
- nu există o sincronizare strictă a răspunsurilor în timp (putem vorbi în orice moment);
- viteza de primire depășește cu mult viteza de expediere (chelnerul ne vorbește mult mai repede).

Să ne întoarcem la sarcină

0100.1001.0011 - 12 biți

Cel mai simplu mod: prin toate opțiunile de la 0 la 999, este nevoie să se realizeze în primele 3 minute, așa că, dacă numărul nostru = 999, nostru „Da“ la sfârșitul celui de al treilea minut sa încheiat la timp pentru sfârșitul patrulea minut . Permiteți-mi să vă reamintesc că răspunsul nostru durează un minut.

Numărul nostru = 493 și vom răspunde "Da" deja pentru 2,5 minute, iar începând cu 3,5 minute vom ghici următorul număr.

Pe baza rezultatelor calculelor, situația a ieșit din domeniul fanteziei:
viteza de primire = (9 biți × 1000) / 3 minute = 3000 biți pe minut,
adică de 3 mii de ori viteza de trimitere.

Timp de 3 minute pentru noi va exista o astfel de secvență:
0000000000
0000000001
.
1111111111
(1000 pachete de 9 biți fiecare)

Concluzie: ghicitul este eficient în lumea umană, unde există cuvinte, imagini, sens, dar aproape inutile în lumea computerelor. Ideea a fost o eșec :)

Ți-a plăcut nota? → Partajare în rețelele sociale:







Trimiteți-le prietenilor: