{"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\/et\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","title":{"rendered":"Ma sain Knutilt t\u0161eki summas 0x$3,00","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Donald Knuth<\/b>\u00a0\u2014 informaatika alal teadlane, kes hoolib oma raamatute t\u00e4psusest nii palju, et pakub <b>\u00fche kuuenda dollari<\/b> ($2,56, 0x$1,00) iga leitud \u00abvea\u00bb eest, kus veaks loetakse k\u00f5ik, mis on \u00abtehniliselt, ajalooliselt, t\u00fcpograafiliselt v\u00f5i poliitiliselt vale\u00bb. Ma t\u00f5esti tahtsin Knuthilt t\u0161ekki saada, seet\u00f5ttu otsustasin otsida vigu tema silmapaistvas t\u00f6\u00f6s <b>\u00abProgrammeerm kunst\u00bb<\/b> (TAOCP). \u00d5nnestus leida kolm. T\u00f5tt-\u00f6elda, Knuth saatis t\u0161eki summas <b>0x$3,00<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/ea8c328c9f7f67d1e2c0d729268aca01.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu n\u00e4ete, ei ole see t\u00f5eline k\u0161ek. Varem saatis Knuth t\u00f5elisi t\u0161ekke, kuid l\u00f5petas selle 2008. aastal <noindex><a rel=\"nofollow\" href=\"https:\/\/www-cs-faculty.stanford.edu\/~knuth\/news08.html\">\u00fclem\u00e4\u00e4rase pettuse t\u00f5ttu<\/a><\/noindex>. N\u00fc\u00fcd saadab ta \u00abisiklikke hoiustamise sertifikaate\u00bb <noindex><a rel=\"nofollow\" href=\"https:\/\/www-cs-faculty.stanford.edu\/~knuth\/boss.html\">San-Seriifi pangas<\/a><\/noindex> (BoSS). Ta \u00fctleb, et on valmis vajadusel t\u00f5elisi raha saatma, kuid tundub, et see on liiga vaevaline.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLeidsin kaks tr\u00fckiviga ja \u00fche ajaloolise vea. Loetlen need kahanevas triviaaluse j\u00e4rjekorras.<\/p>\n<h1>Tr\u00fckiviga nr 1<\/h1>\n<p>\nEsimene tr\u00fckiviga on kolmanda k\u00f6ite, \u00abSorteerimine ja otsing\u00bb lehe 392, kaheksas rida alt: \u00abP\u00e4rast eba\u00f5nnestunud otsingut on m\u00f5nikord (sometime) soovitatav tabelisse sisestada uus kirje, mis sisaldab <i>K<\/i>; meetod, mis seda teeb, nimetatakse otsing ja sisestamise algoritmiks. Viga seisneb selles, et \u00absometime\u00bb asemel peaks olema <b><i>sometimes<\/i><\/b> peab olema <b><i>Loomulikult pole sellises veas midagi \u00fcllatavat. Ainult selles artiklis leidub kindlasti mitmeid tr\u00fckivigu (tasu nende leidmise eest ei ole). Mis on tegelikult \u00fcllatav, on see, et seda pole nii kaua m\u00e4rgatud. Leht 392 ei asu s\u00fcgaval matemaatika jaotises, see on<\/i><\/b>.<\/p>\n<p>kogu kuuendast peat\u00fckist \u00abOtsing\u00bb! V\u00f5ib-olla on see \u00fcks loetavamaid jaotisi raames. Idee kohaselt peaks seal olema k\u00f5ige v\u00e4hem tr\u00fckivigu, kuid ei ole. <b>Muide, kui olete kunagi m\u00f5elnud TAOCP lugemisele, proovige. Paljud \u00fctlevad, et see on<\/b> viiteraamat<\/p>\n<p>, mis ei ole m\u00f5eldud otse lugemiseks, kuid see ei ole t\u00f5si. Autoril on selge seisukoht ja isikup\u00e4rane stiil. Ainus, mis loetavust takistab, on matemaatika keerukus. Kuid sellele on lihtne lahendus: loe, kuni j\u00f5uad matemaatikani, mida sa ei m\u00f5ista, j\u00e4ta see vahele ja avaa j\u00e4rgmine jaotis, mida saad m\u00f5ista. Sellisel viisil lugedes j\u00e4tan ma vahele v\u00e4hemalt 80% raamatust, kuid \u00fclej\u00e4\u00e4nud 20% on suurep\u00e4rased! <b>Samuti \u00f6eldakse, et TAOCP<\/b>ei ole asjakohane<\/p>\n<p>, <b>ei ole reaalne<\/b>, on vananenud v\u00f5i muul viisil mitteoluline \u00abreaalse programmeerimise\u00bb kontekstis. See pole ka t\u00f5si. N\u00e4iteks k\u00e4sitletakse esimeses jaotises p\u00e4rast sissejuhatust elementide otsimist sorteerimata massiivis. Lihtsaim algoritm on k\u00f5ikidele programmeerijatele tuttav. K\u00e4ivitage suunaja massiivi alguses, seej\u00e4rel tehke allolevaid toiminguid ts\u00fcklis:<\/p>\n<ol>\n<li>Kontrollige, kas praegune element on soovitud. Kui jah, tagastage see; vastasel juhul\n<\/li>\n<li>Kontrollige, kas suunaja on massiivi piiridest v\u00e4ljas. Kui jah, tagastage viga; vastasel juhul\n<\/li>\n<li>Suurendage suunajat ja j\u00e4tkake.<\/li>\n<\/ol>\n<p>\nN\u00fc\u00fcd vaatame: kui palju piiri kontrollimist see algoritm keskmiselt n\u00f5uab? Halvimal juhul, kui massiivis ei ole elementi, vajab iga elemendi puhul loendis \u00fchte kontrolli ning keskmiselt on see midagi sellist <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/6c99f945807d8a8aeac1d42854c83295.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Nutikam otsingu algoritm v\u00f5ib vajada vaid \u00fchte piiri kontrolli. Lisage vajalik element massiivi l\u00f5ppu, seej\u00e4rel k\u00e4ivitage suunaja massiivi alguses ja tehke allolevaid toiminguid ts\u00fcklis:<\/p>\n<ol>\n<li>Kontrollige, kas praegune element on soovitud. Kui jah, tagastage vastus, kui suunaja on massiivi piirides, v\u00f5i viga, kui see pole nii. Vastasel juhul\n<\/li>\n<li>Suurendage suunajat ja j\u00e4tkake.<\/li>\n<\/ol>\n<p>\nNii v\u00f5i naa, element leidub kindlasti ning piiri kontrollimise teeb ainult \u00fche korra, kui see on juhtunud. See on s\u00fcgav idee, kuid piisavalt lihtne ka algaja programmeerija jaoks. Ilmselt ei saa ma r\u00e4\u00e4kida selle t\u00f6\u00f6 relevantsusest teiste jaoks, kuid mul \u00f5nnestus koheselt seda tarkust rakendada nii isiklikus kui ka ametialases koodis. RAAMAT TAOCP on t\u00e4is selliseid p\u00e4rleid (aususe nimel, seal on ka palju veidraid asju, nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/nickdrozd.github.io\/2018\/11\/02\/bubble.html\">mullivannide sorteering<\/a><\/noindex>).<\/p>\n<blockquote><p><i>\u00abOtsimine, otsimine<br \/>\nNii kaua<br \/>\nOtsimine, otsimine<br \/>\nMa tahtsin lihtsalt tantsida\u00bb<\/i> <br \/>\n\u2014 Luther Vandross, \u00abOtsimine\u00bb (1980)<\/p><\/blockquote>\n<p><\/p>\n<h1>Tr\u00fckiviga nr 2<\/h1>\n<p>\nTeine viga on osas 4A, \"Kombinatorilised algoritmid\", osa 1. Lehek\u00fcljel 60 on kirjeldatud koomikute esinemiste kavandamise \u00fclesannet erinevates kasiinodes. N\u00e4iteks tuuakse v\u00e4lja mitmed t\u00f5elised koomikud, sealhulgas Lily Tomlin, Weird Al Yankovic ja Robin Williams, kes oli raamatu ilmumisel veel elus. Knut viitab alati t\u00e4ielikele nimedele, seega mainitakse Williamsi lehek\u00fcljel 882 nimega \"Williams, Robin MacLorin\". Kuid tema teine nimi l\u00f5peb \"n\"-iga, mitte \"m\"-iga, st MacLorin.<\/p>\n<p>MacLorin on tema ema neiup\u00f5lvenimi. Ta oli Anselm Joseph MacLorini, Mississippi 34. kuberneri, lapselaps. Tema valitsus ei j\u00e4\u00e4 ilmselt meelde millegi hea poole. Raamatust <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: ajalugu\u201c<\/a><\/noindex>:<\/p>\n<blockquote><p><i>\u201eAinus oluline s\u00fcndmus MacLorini ametiaja jooksul oli Ameerika \u00dchendriikide s\u00f5da Hispaania vastu, mis kuulutati v\u00e4lja 1898. aasta kevadel\u2026 Kahjuks andis seda s\u00f5da m\u00f5nedele ametnikele v\u00f5imaluse praktiseerida altk\u00e4emaksu. MacLorinit s\u00fc\u00fcdistati mitmesugustes kahtlastes praktikas, sealhulgas sugulaste t\u00f6\u00f6le v\u00f5tmiseks ja volituste kuritarvitamiseks armuandetes. T\u00f5rjumise ajastul s\u00fc\u00fcdistati kuberneri alkoholi tarbimises, mida ta avalikult tunnustas.\u201c<\/i><\/p><\/blockquote>\n<p><\/p>\n<h1>Ajalooline viga<\/h1>\n<p>\nVaadake <b>traditsiooniline korrutamise algoritm<\/b> kooli \u00f5pikust. Kui palju \u00fchekohalisi korrutamistoiminguid see n\u00f5uab? Oletame, et korrutate <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/d15239ad41c6fc6953641760f9ffcfdd.jpg\" style=\"display:block;margin: 0 auto;\" \/>-kohalise numbrega <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/b731d35571751cec684ca767411a023d.jpg\" style=\"display:block;margin: 0 auto;\" \/> . Tundub, et <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c1f7221e05cbca33ff54da5b6f665dd2.jpg\" style=\"display:block;margin: 0 auto;\" \/>-kohaline number <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/390eee500fc99f74a2252db0b3ba6fe4.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Esiteks korrutate esimese numbri <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/8d4db48caef1e8cceac94ae2fca4fc24.jpg\" style=\"display:block;margin: 0 auto;\" \/> iga numbri <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/dccbe5f9c5f2fe9bd3538f567e2bb214.jpg\" style=\"display:block;margin: 0 auto;\" \/> j\u00e4rjekorras. Siis korrutate teise numbri <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/b76bfeb3fb4f60f9f1ac66dcb937f736.jpg\" style=\"display:block;margin: 0 auto;\" \/> iga numbri <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bbe37fb224a8e6115872a2b2cdefa26e.jpg\" style=\"display:block;margin: 0 auto;\" \/> j\u00e4rjekorras ja nii edasi, kuni olete k\u00f5ik numbrid l\u00e4bi k\u00e4inud <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/df227a29c1bc24a1c7cbf9269c764b21.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Seega n\u00f5uab traditsiooniline korrutamine <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/f0c5ea2abdccff4a5b92fd1c70706d21.jpg\" style=\"display:block;margin: 0 auto;\" \/> primitivo korrutamisi. Eriti kahe arvu korrutamine <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/f609965f49d095d59264e127f6db0e64.jpg\" style=\"display:block;margin: 0 auto;\" \/> -kohtade kaupa n\u00f5uab <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/fb16f262bc1b872f6e8c003be2efe2d8.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u00fchekoha korrutamisi.<\/p>\n<p>See on halb, kuid protsessi saab optimeerida meetodiga, mille t\u00f6\u00f6tas v\u00e4lja n\u00f5ukogude matemaatik Anatoli Aleksejevit\u0161 Karatsuba. Oletame, et <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/3f42481650d00fe8cf1083be9479958f.jpg\" style=\"display:block;margin: 0 auto;\" \/> ja <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/756872cc2c490be54640606bba6cb8c7.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0on kahekohalised k\u00fcmnendnumbrid; st on olemas numbrid <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/4f1f27cc95638aab9f6836f809b42cc1.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/0192ac28c89bfd24a20a1fc1b06ce1a6.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bebb062d37ca6e82ce30589b5f790a0f.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/907b83653f451f4a861109f2244b175a.jpg\" style=\"display:block;margin: 0 auto;\" \/> nii, et <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/22b668162b9e64b9aba33d5fe475d65b.jpg\" style=\"display:block;margin: 0 auto;\" \/> ja <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/3a226e2600b99ec92d37b7acfbd63d20.jpg\" style=\"display:block;margin: 0 auto;\" \/> (selle algoritmi laiendamine suurematele arvudele n\u00f5uab teatud manipuleerimisi; kuigi see ei ole liiga keeruline, aga et \u00fcksikasjades eksida ei oleks, eelistan ma pidada kinni lihtsast n\u00e4itest). Siis <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/a3a658b41241bf40a1f0e779527b3eb2.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bf8e1b283d1cfa76314380b74b308b38.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/69c922747089f3affb9d640910047a41.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Kahe liikme korrutamine annab <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/274f90358c358641db7ccb2bda5896b1.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Seni on meil endiselt <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/be0a72ca4a77d7c710b99741619c4492.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u00fchekoha korrutamisi: <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/10af5b0ea33a7df7bceb34de5757ba5d.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/66919878cca7db5c80eca9e89c2bca13.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c9987bea5bc2a1fb928ef2c60bf880fb.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c6136863142c02a1b6ba260f02544c0c.jpg\" style=\"display:block;margin: 0 auto;\" \/>. N\u00fc\u00fcd liidame ja lahutame <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/1e9707de3bac2233c9343d2d95d5d1bb.jpg\" style=\"display:block;margin: 0 auto;\" \/>. P\u00e4rast mitmeid \u00fcmberkorraldusi, mille ma j\u00e4tan lugeja \u00fclesandeks, tuleb <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/9015c02c113b58d67e73013fea4ce9dd.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 kokku vaid kolm \u00fchekohalist korrutamist! (On m\u00f5ned pidevad koefitsiendid, kuid neid saab arvutada vaid liitmise ja numbrite nihutamisega).<\/p>\n<p>\u00c4ra n\u00f5ua t\u00f5estust, kuid <b>Karatsuba algoritm<\/b> (rekursiivselt \u00fcldistatud eeltoodud n\u00e4itest) t\u00e4iustab traditsioonilist korrutamismeetodit <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/99577e368b573f762034767d5af05032.jpg\" style=\"display:block;margin: 0 auto;\" \/> operatsioonidest tuhandeni <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/df139625f074f236e50343ecf5f2021a.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Pange t\u00e4hele, et see on tegelik algoritmi t\u00e4iustus, mitte optimeerimine meeles arvutamiseks. T\u00f5epoolest, algoritm ei sobi vaimseks arvestamiseks, kuna see n\u00f5uab suuremaid kulusid rekursiivsete operatsioonide jaoks. Lisaks ilmneb efekt t\u00e4ielikult alles siis, kui numbrid on piisavalt suured (\u00f5nneks on Karatsuba algoritmist veel kiiremad meetodid: 2019. aasta m\u00e4rtsis avaldati algoritm, mis n\u00f5uab vaid <noindex><a rel=\"nofollow\" href=\"https:\/\/web.maths.unsw.edu.au\/~davidharvey\/papers\/nlogn\/\"><i>n log n<\/i><\/a><\/noindex> korrutamist; kiirus suureneb ainult arusaamatult suurte numbrite korral).<\/p>\n<p>Seda algoritmi kirjeldatakse teise k\u00f6ite 295. lehek\u00fcljel \"Aritmeetilised algoritmid\". Seal kirjutab Knuth: \"Huvitav, et seda ideed avastati alles <b>1962<\/b> aastal\", kui avaldati artikkel, mis kirjeldab Karatsuba algoritmi. Kuid! 1995. aastal avaldas Karatsuba artikli \"Arvutuste keerukus\", kus ta mainib mitmeid asju: 1) umbes 1956. aastal \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043b, et korrutamine pole v\u00f5imalik v\u00e4hem kui <img decoding=\"async\" alt=\"Ma sain Knutilt t\u0161eki summas 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/87c650ae7cb55d5b5cd1f7d440cadbee.jpg\" style=\"display:block;margin: 0 auto;\" \/> sammud; 2) aastal <b>1960<\/b> osales Karatsuba seminaril, kus Kolmogorov esitas oma h\u00fcpoteesi n\u00b2. 3) \u201eJust n\u00e4dal aega hiljem\u201c t\u00f6\u00f6tas Karatsuba v\u00e4lja algoritmi \u201ejaga ja valitse\"; 4) 1962. aastal kirjutas ja avaldas Kolmogorov artikli <i>Karatsuba nimel<\/i> algoritmi kirjeldusega. \u201eMa kuulsin sellest artiklist alles p\u00e4rast seda, kui seda \u00fcmber tr\u00fckiti.\"<\/p>\n<p>Nii et viga seisneb selles, et asemel <i>1962<\/i> peaks olema <i>1960<\/i> aasta. Nii lihtne see on.<\/p>\n<h1>Anal\u00fc\u00fcs<\/h1>\n<p>\n<b>Vigade leidmine ei n\u00f5udnud erilist oskust.<\/b><\/p>\n<ol>\n<li>Esimene viga oli nii banaalne kui v\u00f5imalik ja asus suhteliselt silmapaistvas kohas (peat\u00fcki alguses). Iga idioot oleks selle leidnud; lihtsalt mina olin see idioot.\n<\/li>\n<li>Teise tr\u00fcki vea leidmine n\u00f5udis \u00f5nne ja vaeva, kuid mitte oskust. \"Williams'i\" indeks on eelviimasel lehel, \u00fcsna m\u00e4rkimisv\u00e4\u00e4rne osa raamatust. Ma just sirvisin indeksit (see ei ole nii kahju, nagu tundub, sest Knuthi indeksites on varjatud munade jahtimisi. N\u00e4iteks on seal sissekanne araabia ja heebrea keeles, ja m\u00f5lemad viitavad lehele 66. Kuid sellel lehel ei mainita kumbagi keelt; selle asemel mainitakse \"keeli, mida loetakse paremale poole\"). Ja minu t\u00e4helepanu t\u00f5mbas teise nime. Kuna ma tavaliselt loen Vikipeediat, kontrollisin Robin Williams'i ja m\u00e4rkasin erinevust.\n<\/li>\n<li>Ma tahaksin \u00f6elda, et ma tegin t\u00f5sist uurimist\u00f6\u00f6d ajaloo vea leidmiseks, kuid tegelikult vaatasin lihtsalt <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Karatsuba_algorithm\">Karatsuba algoritmi Vikipeedia lehte.<\/a><\/noindex>Esimeste ridade seas on kirjas: \"Karatsuba algoritm on kiire korrutamise algoritm. Avas Anatoli Karatsuba 1960. aastal ja avaldati 1962. aastal.\" P\u00e4rast seda j\u00e4i vaid kokku l\u00fc\u00fca kaks ja kaks.<\/li>\n<\/ol>\n<p>\nTulevikus tahaksin leida m\u00f5ne olulisema vea, eriti Knuthi koodis. Tahaksin leida vea ka \"Alustavaid algoritme\" k\u00e4sitlevas esimeses osas. V\u00f5ib-olla leidsin selle, kuid kohalikes raamatukogudes on mingil p\u00f5hjusel vaid 2., 3. ja 4A osa.<\/p>\n<p><b>Finantsfaktid:<\/b><\/p>\n<ul>\n<li>Kokku koosneb minu panus TAOCP-st vaid kolmest s\u00fcmbolist: \u00fchest lisamisest <i>s<\/i>, asendamisest <i>m<\/i> . Tundub, et <i>n<\/i> ja <i>2<\/i> . Tundub, et <i>0<\/i>. Hind on $2,56, need on \u00fcsna kasulikud s\u00fcmbolid; kui teile makstaks selliseid summasid, siis 1000 s\u00f5na artikkel (keskmiselt neli s\u00fcmbolit) tooks teile k\u00fcmme t\u00fckki.\n<\/li>\n<li>Kolme kuueksandikkudega dollariga jagan koos 29 teise kodanikuga 69. koha San-Seriifi pangas k\u00f5ige rikkamate sissemaksete loendis (olekus 1. mai 2019).<\/li>\n<\/ul>\n<h1>Teised arutelud Knuthi t\u0161ekkide \u00fcle<\/h1>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kevinlawler.com\/knuth\">Kuidas saada Knuthi t\u0161ekki<\/a><\/noindex>\n<p>\u00dcldised soovitused t\u00f5rgete leidmiseks Knuthi raamatutes. Peamiselt puudutavad tehnilisi vigu, mida mul pole. Seal on \u00fcks lause, mida ma v\u00f5tsin t\u00f5siselt:<\/p>\n<blockquote><p>On parem oodata, kuni kogute vea komplekti saatmiseks. \u00dchendades m\u00f5ned reaalsed, kuid mitte v\u00e4ga v\u00e4\u00e4rtuslikud vead, suurendate t\u00f5en\u00e4osust, et m\u00f5ni neist t\u00f5eliselt vigana v\u00f5i soovitusena k\u00e4sitletakse. Kui saata vigasid \u00fchekaupa, v\u00f5ivad nad k\u00f5ik eraldi tagasi l\u00fckata.<\/p><\/blockquote>\n<p>\nMa ei soovinud saata lihtsalt rumalaid tr\u00fckivigu, vaid j\u00e4rgisin n\u00f5u ja saatsin kirja alles siis, kui leidsin ajaloolise vea, mis tundus piisavalt t\u00f5sine.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/ashutoshmehra.net\/blog\/about\/knuth-reward-checks-and-certificates\/\">Ashutosh Mehra t\u0161ekid<\/a><\/noindex>\n<p>Ashutosh Mehra on kolmas k\u00f5ige rikkam investeerija San-Seriffis, kelle varandus ulatub 0x$207,f0 BoSS-is.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.truetex.com\/knuthchk.htm\">T\u0161ekk teatavate mittefunktsionaalsete vigade eest TeX-i reaalses koodis<\/a><\/noindex>\n<\/li>\n<li>Erinevad: <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>Allikas: <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.1.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\/et\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Ma sain Knuthilt t\u0161eki summas 0x$3,00 | ProHoster","description":"Donald Knuth on infotehnoloogia teadlane, kes hoolib oma raamatute t\u00e4psusest nii palju, et pakub \u00fche kuueteistk\u00fcmnendiku dollari ($2,56, 0x$1,00) mistahes leitud \"vea\" eest.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/34164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=34164"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/34164\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/25780"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=34164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=34164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=34164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}