{"id":34164,"date":"2019-10-31T21:56:44","date_gmt":"2019-10-31T18:56:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ya-poluchil-ot-knuta-chek-na-0x-3-00\/"},"modified":"2019-10-31T21:56:44","modified_gmt":"2019-10-31T18:56:44","slug":"ya-poluchil-ot-knuta-chek-na-0x-3-00","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","title":{"rendered":"Am primit de la Knut un cec \u00een valoare de 0x$3,00","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Donald Knuth<\/b>\u00a0\u2014 un om de \u0219tiin\u021b\u0103 \u00een domeniul informaticii, care se \u00eengrijoreaz\u0103 at\u00e2t de mult de corectitudinea c\u0103r\u021bilor sale \u00eenc\u00e2t ofer\u0103 <b>o sut\u0103 de dolari hexadecimali<\/b> ($2,56, 0x$1,00) pentru orice \u201eeroare\u201d g\u0103sit\u0103, unde o eroare este considerat\u0103 tot ceea ce este \u201etehnic, istoric, tipografic sau politic gre\u0219it\u201d. Mi-a pl\u0103cut mult s\u0103 primesc un cec de la Knuth, a\u0219a c\u0103 am decis s\u0103 caut erori \u00een opera sa remarcabil\u0103 <b>\u201eArta program\u0103rii\u201d<\/b> (TAOCP). Am reu\u0219it s\u0103 g\u0103sesc trei. \u00cen conformitate cu cuv\u00e2ntul, Knuth mi-a trimis un cec de <b>0x$3,00<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/ea8c328c9f7f67d1e2c0d729268aca01.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA\u0219a cum vede\u021bi, acesta nu este un cec adev\u0103rat. C\u00e2ndva, Knuth trimitea cecuri reale, dar a \u00eencetat \u00een 2008 din cauza <noindex><a rel=\"nofollow\" href=\"https:\/\/www-cs-faculty.stanford.edu\/~knuth\/news08.html\">fraudei necontrolate<\/a><\/noindex>. Acum trimite \u201ecertificate de depozit personale\u201d \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/www-cs-faculty.stanford.edu\/~knuth\/boss.html\">banca San Serriffe<\/a><\/noindex> (BoSS). El spune c\u0103 este gata s\u0103 trimit\u0103 bani reali dac\u0103 este necesar, dar, se pare, este prea complicat.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAm g\u0103sit dou\u0103 gre\u0219eli de tipografie \u0219i o gre\u0219eal\u0103 istoric\u0103. Le voi enumera \u00een ordine de la cea mai pu\u021bin trivial\u0103.<\/p>\n<h1>Gre\u0219eala de tipografie nr. 1<\/h1>\n<p>\nPrima gre\u0219eal\u0103 de tipografie \u2014 pe pagina 392 a volumului trei \u201eSortare \u0219i c\u0103utare\u201d, a opta linie de jos: \u201eDup\u0103 o c\u0103utare nereu\u0219it\u0103, uneori (sometime) este recomandabil s\u0103 introduci o nou\u0103 \u00eenregistrare \u00een tabel care con\u021bine <i>K<\/i>; metoda care face acest lucru se nume\u0219te algoritm de c\u0103utare \u0219i inserare. Gre\u0219eala este c\u0103 \u00een loc de <b><i>sometime<\/i><\/b> ar trebui s\u0103 fie <b><i>sometimes<\/i><\/b>.<\/p>\n<p>Desigur, o astfel de gre\u0219eal\u0103 nu este surprinz\u0103toare. Doar \u00een acest articol cu siguran\u021b\u0103 se vor g\u0103si c\u00e2teva gre\u0219eli de tipografie (f\u0103r\u0103 recompense pentru g\u0103sirea lor). Ceea ce este cu adev\u0103rat surprinz\u0103tor este c\u0103 a fost neremarcat\u0103 at\u00e2t de mult timp. Pagina 392 nu este \u00eengropat\u0103 ad\u00e2nc \u00een sec\u021biunea de matematic\u0103, aceasta este <b>cea mai prima pagin\u0103<\/b> a \u0219asea capitol\u201e C\u0103utare\u201d! Poate unul dintre cele mai citite sec\u021biuni ale c\u0103r\u021bii. \u00cen teorie, acolo ar trebui s\u0103 fie cele mai pu\u021bine gre\u0219eli de tipografie, dar nu este a\u0219a.<\/p>\n<p>Apropo, dac\u0103 ai g\u00e2ndit vreodat\u0103 s\u0103 cite\u0219ti TAOCP, \u00eencearc\u0103. Mul\u021bi vor spune c\u0103 este <b>un ghid<\/b>, nu destinat citirii directe, dar aceasta nu este adev\u0103rat. Autorul are un punct de vedere clar \u0219i un stil distinctiv. Singurul lucru care \u00eempiedic\u0103 citibilitatea este complexitatea matematicii. Totu\u0219i, exist\u0103 o solu\u021bie simpl\u0103: cite\u0219te p\u00e2n\u0103 ajungi la matematica pe care nu o \u00een\u021belegi, s\u0103ri peste ea \u0219i deschide urm\u0103toarea sec\u021biune pe care o po\u021bi \u00een\u021belege. Citind astfel, sar peste cel pu\u021bin 80% din carte, dar restul de 20% este minunat!<\/p>\n<p>De asemenea, se spune c\u0103 TAOCP <b>nu este relevant\u0103<\/b>, este \u00eenvechit\u0103 sau \u00een alt mod inaplicabil program\u0103rii \u201ereale\u201d. Aceasta este, de asemenea, o minciun\u0103. De exemplu, \u00een prima sec\u021biune dup\u0103 introducere se discut\u0103 despre c\u0103utarea unui element \u00eentr-un tablou nesortat. Cel mai simplu algoritm este cunoscut de to\u021bi programatorii. Porni\u021bi un pointer la \u00eenceputul tabloului, apoi efectua\u021bi urm\u0103torii pa\u0219i \u00eentr-un ciclu:<\/p>\n<ol>\n<li>Verifica\u021bi dac\u0103 elementul curent este cel dorit. Dac\u0103 da, returna\u021bi-l; \u00een caz contrar\n<\/li>\n<li>Verifica\u021bi dac\u0103 pointerul este \u00een afara tabloului. Dac\u0103 da, returna\u021bi o eroare; \u00een caz contrar\n<\/li>\n<li>Cre\u0219te\u021bi pointerul \u0219i continua\u021bi.<\/li>\n<\/ol>\n<p>\nAcum s\u0103 ne g\u00e2ndim: c\u00e2te verific\u0103ri de limit\u0103 necesit\u0103 acest algoritm, \u00een medie? \u00cen cel mai r\u0103u caz, c\u00e2nd tabloul nu con\u021bine elementul, pentru fiecare element din list\u0103 va fi necesar\u0103 o verificare, iar \u00een medie va fi ceva de genul <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/6c99f945807d8a8aeac1d42854c83295.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Un algoritm de c\u0103utare mai inteligent poate necesita doar o verificare de limit\u0103. Ata\u0219a\u021bi elementul dorit la sf\u00e2r\u0219itul tabloului, apoi porni\u021bi pointerul la \u00eenceputul tabloului \u0219i efectua\u021bi urm\u0103torii pa\u0219i \u00eentr-un ciclu:<\/p>\n<ol>\n<li>Verifica\u021bi dac\u0103 elementul curent este cel dorit. Dac\u0103 da, returna\u021bi r\u0103spunsul, dac\u0103 pointerul este \u00een limitele tabloului, sau o eroare, dac\u0103 nu este. \u00cen caz contrar\n<\/li>\n<li>Cre\u0219te\u021bi pointerul \u0219i continua\u021bi.<\/li>\n<\/ol>\n<p>\nA\u0219a sau altfel, elementul va fi g\u0103sit garantat, iar verificarea limitelor se face doar o singur\u0103 dat\u0103, atunci c\u00e2nd se \u00eent\u00e2mpl\u0103. Aceasta este o idee profund\u0103, dar suficient de simpl\u0103 chiar \u0219i pentru un programator \u00eencep\u0103tor. Probabil c\u0103 nu pot vorbi despre relevan\u021ba lucr\u0103rii pentru al\u021bii, dar am reu\u0219it imediat s\u0103 aplic aceast\u0103 \u00een\u021belepciune at\u00e2t \u00een codul personal, c\u00e2t \u0219i \u00een cel profesional. Cartea TAOCP este plin\u0103 de astfel de perle (p\u00e2n\u0103 la urm\u0103, este plin\u0103 \u0219i de lucruri ciudate, cum ar fi <noindex><a rel=\"nofollow\" href=\"https:\/\/nickdrozd.github.io\/2018\/11\/02\/bubble.html\">sortarea prin bucle<\/a><\/noindex>).<\/p>\n<blockquote><p><i>\u201eC\u0103utare, c\u0103utare<br \/>\nAt\u00e2t de mult timp<br \/>\nC\u0103utare, c\u0103utare<br \/>\nEu doar voiam s\u0103 dansez\u201d<\/i> <br \/>\n\u2014 Luther Vandross, \u201eC\u0103utare\u201d (1980)<\/p><\/blockquote>\n<p><\/p>\n<h1>Typo #2<\/h1>\n<p>\nA doua gre\u0219eal\u0103 se afl\u0103 \u00een volumul 4A, \u201eAlgoritmi combinatori\u201d, partea 1. Pe pagina 60 este descris\u0103 o problem\u0103 legat\u0103 de programarea spectacolelor comediantului \u00een diferite cazinouri. Ca exemplu, sunt men\u021biona\u021bi c\u00e2\u021biva comedianti reali, inclusiv Lily Tomlin, Weird Al Yankovic \u0219i Robin Williams, care era \u00eenc\u0103 \u00een via\u021b\u0103 c\u00e2nd cartea a fost publicat\u0103. Knuth men\u021bioneaz\u0103 \u00eentotdeauna numele complete \u00een index, astfel \u00eenc\u00e2t Williams este men\u021bionat pe pagina 882 ca \u201eWilliams, Robin Mac-Laurin\u201d. Dar al doilea s\u0103u prenume se termin\u0103 cu \u201en\u201d \u0219i nu cu \u201em\u201d, adic\u0103 Mac-Laurin.<\/p>\n<p>Mac-Laurin este numele de familie al mamei sale. Ea a fost str\u0103-str\u0103nepoata lui Anselm Joseph Mac-Laurin, al 34-lea guvernator al Mississippi-ului. Se pare c\u0103 mandatul s\u0103u nu a fost marcat de nimic bun. Din carte <noindex><a rel=\"nofollow\" href=\"https:\/\/books.google.com\/books?id=OvNjBAAAQBAJ&amp;pg=PA177&amp;lpg=PA177&amp;dq=anselm+mclaurin&amp;source=bl&amp;ots=kPu_kLXUrz&amp;sig=ACfU3U2UKRAmJyH_dVfcb2tfSmzYemEgTw&amp;hl=en&amp;sa=X&amp;ved=2ahUKEwjTl9vvroDiAhVHI6wKHfCTC6I4MhDoATADegQICRAB#v=onepage&amp;q&amp;f=false\">\u201eMississippi: Istorie\u201d<\/a><\/noindex>:<\/p>\n<blockquote><p><i>\u201eCel mai important eveniment din timpul administra\u021biei lui Mac-Laurin a fost declara\u021bia de r\u0103zboi a Statelor Unite \u00eempotriva Spaniei \u00een prim\u0103vara anului 1898... Din p\u0103cate, r\u0103zboiul a dat poate ocazia unor func\u021bionari publici s\u0103 practice mit\u0103. Mac-Laurin a fost acuzat de diverse practici discutabile, inclusiv nepotism \u0219i abuz excesiv de putere \u00een ceea ce prive\u0219te gra\u021bierea. \u00cen epoca mi\u0219c\u0103rii pentru temperan\u021b\u0103, criticii l-au acuzat pe guvernator de alcoolism, ceea ce el a recunoscut public.\u201d<\/i><\/p><\/blockquote>\n<p><\/p>\n<h1>Eroare istoric\u0103<\/h1>\n<p>\nS\u0103 examin\u0103m <b>algoritmul tradi\u021bional de \u00eenmul\u021bire<\/b> din programa \u0219colar\u0103. C\u00e2te opera\u021bii de \u00eenmul\u021bire cu un singur digit necesit\u0103? S\u0103 presupunem c\u0103 \u00eenmul\u021bi\u021bi <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/d15239ad41c6fc6953641760f9ffcfdd.jpg\" style=\"display:block;margin: 0 auto;\" \/>-digit number <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/b731d35571751cec684ca767411a023d.jpg\" style=\"display:block;margin: 0 auto;\" \/> pe <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c1f7221e05cbca33ff54da5b6f665dd2.jpg\" style=\"display:block;margin: 0 auto;\" \/>-digit <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/390eee500fc99f74a2252db0b3ba6fe4.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Mai \u00eent\u00e2i, \u00eenmul\u021bi\u021bi prima cifr\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/8d4db48caef1e8cceac94ae2fca4fc24.jpg\" style=\"display:block;margin: 0 auto;\" \/> cu fiecare cifr\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/dccbe5f9c5f2fe9bd3538f567e2bb214.jpg\" style=\"display:block;margin: 0 auto;\" \/> pe r\u00e2nd. Apoi \u00eenmul\u021bi\u021bi a doua cifr\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/b76bfeb3fb4f60f9f1ac66dcb937f736.jpg\" style=\"display:block;margin: 0 auto;\" \/> cu fiecare cifr\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bbe37fb224a8e6115872a2b2cdefa26e.jpg\" style=\"display:block;margin: 0 auto;\" \/> pe r\u00e2nd \u0219i a\u0219a mai departe, p\u00e2n\u0103 trece\u021bi prin toate cifrele <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/df227a29c1bc24a1c7cbf9269c764b21.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Astfel, \u00eenmul\u021birea tradi\u021bional\u0103 necesit\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/f0c5ea2abdccff4a5b92fd1c70706d21.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u00eenmul\u021biri primitive. \u00cen special, \u00eenmul\u021birea a dou\u0103 numere pe <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/f609965f49d095d59264e127f6db0e64.jpg\" style=\"display:block;margin: 0 auto;\" \/> digit necesit\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/fb16f262bc1b872f6e8c003be2efe2d8.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u00eenmul\u021biri cu un singur digit.<\/p>\n<p>Este r\u0103u, dar procesul poate fi optimizat printr-o metod\u0103 dezvoltat\u0103 de matematicianul sovietic Anatoliy Alexeyevich Karatsuba. S\u0103 presupunem c\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/3f42481650d00fe8cf1083be9479958f.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u0219i <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/756872cc2c490be54640606bba6cb8c7.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0- sunt numere zecimale de dou\u0103 cifre; adic\u0103 exist\u0103 numere <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/4f1f27cc95638aab9f6836f809b42cc1.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/0192ac28c89bfd24a20a1fc1b06ce1a6.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bebb062d37ca6e82ce30589b5f790a0f.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/907b83653f451f4a861109f2244b175a.jpg\" style=\"display:block;margin: 0 auto;\" \/> astfel \u00eenc\u00e2t <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/22b668162b9e64b9aba33d5fe475d65b.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u0219i <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/3a226e2600b99ec92d37b7acfbd63d20.jpg\" style=\"display:block;margin: 0 auto;\" \/> (generalizarea acestui algoritm pentru cifre mai mari necesit\u0103 anumite manevre; de\u0219i nu este foarte complicat, pentru a nu gre\u0219i \u00een detalii, mai bine r\u0103m\u00e2n la un exemplu simplu). Atunci <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/a3a658b41241bf40a1f0e779527b3eb2.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bf8e1b283d1cfa76314380b74b308b38.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/69c922747089f3affb9d640910047a41.jpg\" style=\"display:block;margin: 0 auto;\" \/>. \u00cenmul\u021birea binomilor d\u0103 <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/274f90358c358641db7ccb2bda5896b1.jpg\" style=\"display:block;margin: 0 auto;\" \/>. P\u00e2n\u0103 acum, avem \u00een continuare <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/be0a72ca4a77d7c710b99741619c4492.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u00eenmul\u021biri cu un singur digit: <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/10af5b0ea33a7df7bceb34de5757ba5d.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/66919878cca7db5c80eca9e89c2bca13.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c9987bea5bc2a1fb928ef2c60bf880fb.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c6136863142c02a1b6ba260f02544c0c.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Acum s\u0103 adun\u0103m \u0219i s\u0103 sc\u0103dem <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/1e9707de3bac2233c9343d2d95d5d1bb.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Dup\u0103 c\u00e2teva permut\u0103ri, pe care le voi l\u0103sa ca exerci\u021biu pentru cititor, se ob\u021bine <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/9015c02c113b58d67e73013fea4ce9dd.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 doar trei multiplic\u0103ri de un singur digit! (Exist\u0103 anumi\u021bi coeficien\u021bi constan\u021bi, dar ace\u0219tia pot fi calcula\u021bi doar prin adunare \u0219i deplasare de cifre).<\/p>\n<p>Nu cere dovezi, dar <b>algoritmul Karatsuba<\/b> (generalizat recursiv din exemplul de mai sus) \u00eembun\u0103t\u0103\u021be\u0219te metoda tradi\u021bional\u0103 de multiplicare cu <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/99577e368b573f762034767d5af05032.jpg\" style=\"display:block;margin: 0 auto;\" \/> opera\u021bii p\u00e2n\u0103 la <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/df139625f074f236e50343ecf5f2021a.jpg\" style=\"display:block;margin: 0 auto;\" \/>. A\u0219adar, observa\u021bi c\u0103 este o \u00eembun\u0103t\u0103\u021bire real\u0103 a algoritmului, nu o optimizare pentru calcule mentale. De fapt, algoritmul nu este potrivit pentru a fi utilizat \u00een minte, deoarece necesit\u0103 cheltuieli mari pentru opera\u021bii recursive. \u00cen plus, efectul nu va deveni evident dec\u00e2t c\u00e2nd numerele devin suficient de mari (din fericire, \u00een locul algoritmului Karatsuba au ap\u0103rut metode \u0219i mai rapide: \u00een martie 2019 a fost publicat un algoritm care necesit\u0103 doar <noindex><a rel=\"nofollow\" href=\"https:\/\/web.maths.unsw.edu.au\/~davidharvey\/papers\/nlogn\/\"><i>n log n<\/i><\/a><\/noindex> multiplic\u0103ri; accelerarea se aplic\u0103 doar numerelor at\u00e2t de mari \u00eenc\u00e2t nu sunt imaginabile).<\/p>\n<p>Acest algoritm este descris pe pagina 295 a celui de-al doilea volum \u201eAlgoritmi calcula\u021bi\u201d. Acolo, Knuth scrie: \u201eEste interesant c\u0103 aceast\u0103 idee a fost descoperit\u0103 abia \u00een <b>1962<\/b> anul\u201d, c\u00e2nd a fost publicat un articol care descria algoritmul Karatsuba. Dar! \u00cen 1995, Karatsuba a publicat un articol intitulat \u201eComplexitatea calculului\u201d, \u00een care afirm\u0103 c\u00e2teva lucruri: 1) \u00een jurul anului 1956, Kolmogorov a sugerat c\u0103 multiplicarea nu poate fi efectuat\u0103 \u00een mai pu\u021bin de <img decoding=\"async\" alt=\"Am primit de la Knut un cec \u00een valoare de 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/87c650ae7cb55d5b5cd1f7d440cadbee.jpg\" style=\"display:block;margin: 0 auto;\" \/> pa\u0219i; 2) \u00een <b>1960<\/b> anul, Karatsuba a fost prezent la un seminar unde Kolmogorov a expus ipoteza sa n\u00b2. 3) \u201eExact \u00een urm\u0103 cu o s\u0103pt\u0103m\u00e2n\u0103\u201d Karatsuba a elaborat algoritmul \u201e\u00eemparte \u0219i st\u0103p\u00e2ne\u0219te\u201d; 4) \u00een 1962, Kolmogorov a scris \u0219i a publicat un articol <i>\u00een numele lui Karatsuba<\/i> despre algoritm. \u201eAm aflat despre acest articol doar dup\u0103 ce a fost reprintat.\u201d<\/p>\n<p>Astfel, eroarea const\u0103 \u00een faptul c\u0103 \u00een loc de <i>1962<\/i> trebuie s\u0103 fie men\u021bionat <i>1960<\/i> anul. Asta e tot.<\/p>\n<h1>Analiz\u0103<\/h1>\n<p>\n<b>C\u0103utarea erorilor nu necesita abilit\u0103\u021bi deosebite.<\/b><\/p>\n<ol>\n<li>Prima eroare a fost at\u00e2t de banal\u0103 pe c\u00e2t se poate, \u0219i se afla \u00eentr-un loc relativ vizibil (\u00eenceputul capitolului). Orice idiot ar putea s\u0103 o g\u0103seasc\u0103; doar c\u0103 eu am fost acel idiot.\n<\/li>\n<li>C\u0103utarea celei de-a doua gre\u0219eli tipografice a necesitat noroc \u0219i d\u0103ruire, dar nu abilit\u0103\u021bi. Indexul pentru \u201eWilliams\u201d se afl\u0103 pe penultima pagin\u0103 a volumului, o parte destul de vizibil\u0103 a c\u0103r\u021bii. Tocmai r\u0103sfoiam indexul (nu este at\u00e2t de r\u0103u pe c\u00e2t pare, deoarece \u00een indexurile lui Knuth sunt ascunse ou\u0103 de Pa\u0219te. De exemplu, exist\u0103 \u00eenregistr\u0103ri \u00een arab\u0103 \u0219i ebraic\u0103, ambele indic\u00e2nd pagina 66. Dar pe aceast\u0103 pagin\u0103 nu este men\u021bionat niciunul dintre limbile respective; \u00een schimb, se men\u021bioneaz\u0103 \u201elimbile care se citesc de la dreapta la st\u00e2nga\u201d). \u0218i aten\u021bia mi-a fost atras\u0103 de al doilea nume. Deoarece de obicei citesc Wikipedia, am verificat Robin Williams \u0219i am observat o discrepan\u021b\u0103.\n<\/li>\n<li>Mi-a\u0219 dori s\u0103 pot spune c\u0103 am f\u0103cut o cercetare serioas\u0103 pentru a g\u0103si o gre\u0219eal\u0103 istoric\u0103, dar de fapt doar am aruncat o privire <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Karatsuba_algorithm\">pe pagina Wikipedia despre algoritmul lui Karatsuba.<\/a><\/noindex>. \u00cen primele linii scrie: \u201eAlgoritmul lui Karatsuba este un algoritm de multiplicare rapid\u0103. A fost descoperit de Anatoli Karatsuba \u00een 1960 \u0219i publicat \u00een 1962\u201d. Dup\u0103 aceasta, nu a mai fost dec\u00e2t s\u0103 adun dou\u0103 \u0219i cu dou\u0103.<\/li>\n<\/ol>\n<p>\n\u00cen viitor, mi-a\u0219 dori s\u0103 g\u0103sesc o gre\u0219eal\u0103 mai semnificativ\u0103, \u00een special \u00een codul lui Knuth. De asemenea, a\u0219 dori s\u0103 g\u0103sesc un bug \u00een primul volum \u201eAlgoritmi fundamentali\u201d. Poate c\u0103 a\u0219 fi g\u0103sit, dar biblioteca local\u0103 are dintr-un motiv oarecare doar volumele 2, 3 \u0219i 4A.<\/p>\n<p><b>Fapte financiare:<\/b><\/p>\n<ul>\n<li>\u00cen total, contribu\u021bia mea la TAOCP const\u0103 \u00een doar trei simboluri: o ad\u0103ugare <i>s<\/i>, o \u00eenlocuire <i>m<\/i> pe <i>n<\/i> \u0219i <i>2<\/i> pe <i>0<\/i>. La pre\u021bul de 2,56 USD, acestea sunt simboluri destul de profitabile; dac\u0103 ai fi pl\u0103tit astfel de bani, un articol de 1000 de cuvinte (\u00een medie, aproximativ patru simboluri) \u021bi-ar aduce zece bucurii.\n<\/li>\n<li>Cu trei dolari hexazecimale, \u00eempreun\u0103 cu al\u021bi 29 de cet\u0103\u021beni, \u00eempart locul 69 \u00een lista celor mai boga\u021bi contribuitori ai b\u0103ncii San Serif (la data de 1 mai 2019).<\/li>\n<\/ul>\n<h1>Alte discu\u021bii despre cecurile lui Knuth<\/h1>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kevinlawler.com\/knuth\">Cum s\u0103 ob\u021bii un cec de la Knuth<\/a><\/noindex>\n<p>Recomand\u0103ri generale pentru g\u0103sirea gre\u0219elilor \u00een c\u0103r\u021bile lui Knuth. Se refer\u0103 \u00een principal la gre\u0219eli tehnice, pe care nu le am. Exist\u0103 o propozi\u021bie pe care am luat-o \u00een serios:<\/p>\n<blockquote><p>Cel mai bine este s\u0103 a\u0219tep\u021bi p\u00e2n\u0103 c\u00e2nd ai str\u00e2ns un set de gre\u0219eli pentru a le trimite. Combin\u00e2nd c\u00e2teva gre\u0219eli reale, dar nu foarte valoroase, \u00ee\u021bi vei cre\u0219te \u0219ansele ca una dintre ele s\u0103 fie cu adev\u0103rat considerat\u0103 o gre\u0219eal\u0103 sau un sfat. Dac\u0103 trimi\u021bi gre\u0219elile una c\u00e2te una, fiecare ar putea fi respins\u0103 individual.<\/p><\/blockquote>\n<p>\nNu am vrut s\u0103 trimit doar gre\u0219eli stupide, a\u0219a c\u0103 am ascultat sfatul \u0219i am trimis scrisoarea doar dup\u0103 ce am g\u0103sit o eroare istoric\u0103 care mi s-a p\u0103rut suficient de grav\u0103.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/ashutoshmehra.net\/blog\/about\/knuth-reward-checks-and-certificates\/\">Chia lui Ashutosh Mehra<\/a><\/noindex>\n<p>Ashutosh Mehra este al treilea cel mai bogat investitor \u00een San Serriff cu o avere colosal\u0103 de 0x$207,f0 \u00een BoSS.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.truetex.com\/knuthchk.htm\">Chitan\u021b\u0103 pentru unele erori nefunc\u021bionale \u00een codul real TeX<\/a><\/noindex>\n<\/li>\n<li>Divers: <noindex><a rel=\"nofollow\" href=\"http:\/\/ed-thelen.org\/KnuthCheck.html\">#1<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"http:\/\/www.club.cc.cmu.edu\/~ajo\/knuth-check.html\">#2<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"http:\/\/joaoff.com\/2008\/02\/25\/a-reward-check-from-donald-knuth\/\">#3<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.quora.com\/What-is-it-like-to-receive-a-Knuth-reward-check\">#4<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"http:\/\/www.joshwakefield.com\/knuth\/\">#5<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"http:\/\/www.righto.com\/2011\/05\/my-knuth-reward-check.html\">#6<\/a><\/noindex><\/li>\n<\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/452812\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u043d\u0430\u043b\u044c\u0434 \u041a\u043d\u0443\u0442\u00a0\u2014 \u0443\u0447\u0451\u043d\u044b\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u0441\u044f \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u0445 \u043a\u043d\u0438\u0433, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0439 \u0434\u043e\u043b\u043b\u0430\u0440 ($2,56, 0x$1,00) \u0437\u0430 \u043b\u044e\u0431\u0443\u044e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0443\u044e \u00ab\u043e\u0448\u0438\u0431\u043a\u0443\u00bb, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0451, \u0447\u0442\u043e \u00ab\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438, \u0442\u0438\u043f\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u00bb. \u042f \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0447\u0435\u043a \u043e\u0442 \u041a\u043d\u0443\u0442\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0438\u0441\u043a\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0435\u0433\u043e \u0432\u044b\u0434\u0430\u044e\u0449\u0435\u043c\u0441\u044f \u0442\u0440\u0443\u0434\u0435 \u00ab\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u00bb (TAOCP). \u0423\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25780,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u043d\u0430\u043b\u044c\u0434 \u041a\u043d\u0443\u0442 \u2014 \u0443\u0447\u0451\u043d\u044b\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u0441\u044f \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u0445 \u043a\u043d\u0438\u0433, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0439 \u0434\u043e\u043b\u043b\u0430\u0440 ($2,56, 0x$1,00) \u0437\u0430 \u043b\u044e\u0431\u0443\u044e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0443\u044e \u00ab\u043e\u0448\u0438\u0431\u043a\u0443\u00bb, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u043a\u043e\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u042f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043e\u0442 \u041a\u043d\u0443\u0442\u0430 \u0447\u0435\u043a \u043d\u0430 0x$3,00 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u043d\u0430\u043b\u044c\u0434 \u041a\u043d\u0443\u0442 \u2014 \u0443\u0447\u0451\u043d\u044b\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u0441\u044f \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u0445 \u043a\u043d\u0438\u0433, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0439 \u0434\u043e\u043b\u043b\u0430\u0440 ($2,56, 0x$1,00) \u0437\u0430 \u043b\u044e\u0431\u0443\u044e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0443\u044e \u00ab\u043e\u0448\u0438\u0431\u043a\u0443\u00bb, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u043a\u043e\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:56:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:56:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Am primit de la Knuth un cec de 0x$3,00 | ProHoster","description":"Donald Knuth este un om de \u0219tiin\u021b\u0103 \u00een domeniul informaticii care \u00ee\u0219i pas\u0103 at\u00e2t de mult de corectitudinea c\u0103r\u021bilor sale \u00eenc\u00e2t ofer\u0103 un dolar hexazecimal ($2,56, 0x$1,00) pentru orice \"eroare\" g\u0103sit\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u042f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043e\u0442 \u041a\u043d\u0443\u0442\u0430 \u0447\u0435\u043a \u043d\u0430 0x$3,00 | ProHoster","og:description":"\u0414\u043e\u043d\u0430\u043b\u044c\u0434 \u041a\u043d\u0443\u0442 \u2014 \u0443\u0447\u0451\u043d\u044b\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u0441\u044f \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u0445 \u043a\u043d\u0438\u0433, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0439 \u0434\u043e\u043b\u043b\u0430\u0440 ($2,56, 0x$1,00) \u0437\u0430 \u043b\u044e\u0431\u0443\u044e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0443\u044e \u00ab\u043e\u0448\u0438\u0431\u043a\u0443\u00bb, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u043a\u043e\u0439.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:56:44+00:00","article:modified_time":"2019-10-31T18:56:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34164","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 18:10:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:27:29","updated":"2026-01-21 18:10:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=34164"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34164\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/25780"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=34164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=34164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=34164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}