{"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\/es\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","title":{"rendered":"Recib\u00ed un cheque de Knuth por 0x$3,00","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Donald Knuth<\/b>\u00a0es un cient\u00edfico en el campo de la inform\u00e1tica que se preocupa tanto por la precisi\u00f3n de sus libros que ofrece <b>un d\u00f3lar hexadecimal<\/b> ($2.56, 0x$1.00) por cualquier \u00aberror\u00bb encontrado, donde un error se considera todo lo que es \u00abt\u00e9cnicamente, hist\u00f3ricamente, tipogr\u00e1ficamente o pol\u00edticamente incorrecto\u00bb. Ten\u00eda muchas ganas de recibir un cheque de Knuth, as\u00ed que decid\u00ed buscar errores en su obra maestra <b>\u00abEl arte de la programaci\u00f3n\u00bb<\/b> (TAOCP). Logr\u00e9 encontrar tres. Cumpliendo con mi palabra, Knuth envi\u00f3 un cheque por <b>0x$3.00<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/ea8c328c9f7f67d1e2c0d729268aca01.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nComo pueden ver, este no es un cheque real. Antes, Knuth enviaba cheques reales, pero dej\u00f3 de hacerlo en 2008 debido a <noindex><a rel=\"nofollow\" href=\"https:\/\/www-cs-faculty.stanford.edu\/~knuth\/news08.html\">fraudes desenfrenados<\/a><\/noindex>. Ahora env\u00eda \u00abcertificados de dep\u00f3sito personales\u00bb en <noindex><a rel=\"nofollow\" href=\"https:\/\/www-cs-faculty.stanford.edu\/~knuth\/boss.html\">el Banco San Serrif<\/a><\/noindex> (BoSS). Dice que est\u00e1 dispuesto a enviar dinero real si es necesario, pero parece que eso es demasiado engorroso.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nEncontr\u00e9 dos erratas y un error hist\u00f3rico. Los enlistar\u00e9 en orden de trivialidad decreciente.<\/p>\n<h1>Errata n\u00ba 1<\/h1>\n<p>\nLa primera errata se encuentra en la p\u00e1gina 392 del tercer volumen \u00abOrdenaci\u00f3n y b\u00fasqueda\u00bb, octava l\u00ednea desde abajo: \u00abDespu\u00e9s de una b\u00fasqueda fallida, a veces (sometime) es recomendable ingresar un nuevo registro en la tabla que contenga <i>K<\/i>; el m\u00e9todo que realiza esto se llama algoritmo de b\u00fasqueda e inserci\u00f3n. El error es que en vez de <b><i>sometime<\/i><\/b> debe ser <b><i>sometimes<\/i><\/b>.<\/p>\n<p>Por supuesto, no hay nada sorprendente en tal error. Solo en este art\u00edculo, seguramente habr\u00e1 varios errores tipogr\u00e1ficos (sin recompensas por encontrarlos). Lo que realmente es sorprendente es que no haya sido notado durante tanto tiempo. La p\u00e1gina 392 no est\u00e1 enterrada profundamente en la secci\u00f3n de matem\u00e1ticas, es <b>la primera p\u00e1gina<\/b> del cap\u00edtulo seis \u00abB\u00fasqueda\u00bb! Tal vez, una de las secciones m\u00e1s le\u00eddas del libro. Te\u00f3ricamente, deber\u00eda haber menos errores all\u00ed, pero no es as\u00ed.<\/p>\n<p>A prop\u00f3sito, si alguna vez has pensado en leer TAOCP, int\u00e9ntalo. Muchos dir\u00e1n que es <b>un manual<\/b>, no dise\u00f1ado para lectura directa, pero eso no es cierto. El autor tiene una clara visi\u00f3n y un estilo peculiar. Lo \u00fanico que obstaculiza la legibilidad es la complejidad de las matem\u00e1ticas. Sin embargo, hay una soluci\u00f3n simple: lee hasta que llegues a las matem\u00e1ticas que no entiendes, salt\u00e9ate esa parte y abre la siguiente secci\u00f3n que puedas comprender. Leyendo de esta manera, me salto al menos el 80% del libro, \u00a1pero el resto del 20% es magn\u00edfico!<\/p>\n<p>Tambi\u00e9n se dice que TAOCP <b>no es relevante<\/b>, obsoleta o de alguna manera irrelevante para la \u00abprogramaci\u00f3n real\u00bb. Esto tambi\u00e9n es falso. Por ejemplo, en la primera secci\u00f3n despu\u00e9s de la introducci\u00f3n se analiza la b\u00fasqueda de un elemento en un array desordenado. El algoritmo m\u00e1s sencillo es conocido por todos los programadores. Inicie el puntero al principio del array y luego realice las siguientes acciones en un ciclo:<\/p>\n<ol>\n<li>Verifique si el elemento actual es el deseado. Si es as\u00ed, devu\u00e9lvalo; de lo contrario,\n<\/li>\n<li>Verifique si el puntero est\u00e1 fuera del array. Si es as\u00ed, devuelva un error; de lo contrario,\n<\/li>\n<li>Aumente el puntero y contin\u00fae.<\/li>\n<\/ol>\n<p>\nAhora consideremos: \u00bfcu\u00e1ntas verificaciones de l\u00edmites requiere este algoritmo en promedio? En el peor de los casos, cuando el array no contiene el elemento, cada elemento de la lista requerir\u00e1 una verificaci\u00f3n, y en promedio esto ser\u00e1 algo as\u00ed como <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/6c99f945807d8a8aeac1d42854c83295.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Un algoritmo de b\u00fasqueda m\u00e1s inteligente puede requerir solo una verificaci\u00f3n de l\u00edmites. Adjunte el elemento deseado al final del array, luego inicie el puntero al principio del array y realice las siguientes acciones en un ciclo:<\/p>\n<ol>\n<li>Verifique si el elemento actual es el deseado. Si es as\u00ed, devuelva la respuesta si el puntero est\u00e1 dentro del array, o un error si no lo est\u00e1. De lo contrario,\n<\/li>\n<li>Aumente el puntero y contin\u00fae.<\/li>\n<\/ol>\n<p>\nDe una manera u otra, el elemento se encontrar\u00e1 garantizado, y la verificaci\u00f3n de l\u00edmites se realiza solo una vez, cuando esto ocurre. Esta es una idea profunda, pero es lo suficientemente simple incluso para un programador principiante. Probablemente no puedo hablar sobre la relevancia del trabajo para otros, pero pude aplicar inmediatamente esta sabidur\u00eda tanto en mi c\u00f3digo personal como profesional. El libro TAOCP est\u00e1 lleno de estas joyas (y para ser justos, tambi\u00e9n hay muchas cosas extra\u00f1as, como <noindex><a rel=\"nofollow\" href=\"https:\/\/nickdrozd.github.io\/2018\/11\/02\/bubble.html\">ordenamiento burbuja<\/a><\/noindex>).<\/p>\n<blockquote><p><i>\u00abBuscar, buscar<br \/>\nTanto tiempo<br \/>\nBuscar, buscar<br \/>\nSolo quer\u00eda bailar\u00bb<\/i> <br \/>\n\u2014 Luther Vandross, \u00abSearch\u00bb (1980)<\/p><\/blockquote>\n<p><\/p>\n<h1>Error tipogr\u00e1fico #2<\/h1>\n<p>\nLa segunda errata se encuentra en el volumen 4A, \"Algoritmos Combinatorios\", parte 1. En la p\u00e1gina 60 se describe un problema sobre la planificaci\u00f3n de las presentaciones de comediantes en varios casinos. Como ejemplo, se mencionan varios comediantes reales, incluyendo a Lily Tomlin, \"Weird Al\" Yankovic y Robin Williams, quien a\u00fan estaba vivo cuando se public\u00f3 el libro. Knuth siempre incluye los nombres completos en el \u00edndice, as\u00ed que Williams se menciona en la p\u00e1gina 882 como \"Williams, Robin Mac-Lorin\". Pero su segundo nombre termina en \"n\", no en \"m\", es decir, Mac-Lorin.<\/p>\n<p>Mac-Lorin es el apellido de soltera de su madre. Ella era bisnieta de Anselm Joseph Mac-Lorin, el 34\u00ba gobernador de Mississippi. Su mandato, aparentemente, no fue recordado por nada bueno. Del libro <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\">\"Mississippi: Historia\"<\/a><\/noindex>:<\/p>\n<blockquote><p><i>\"El evento m\u00e1s importante durante la administraci\u00f3n de Mac-Lorin fue la declaraci\u00f3n de guerra de los Estados Unidos a Espa\u00f1a en la primavera de 1898... Desafortunadamente, la guerra puede haber dado a algunos funcionarios estatales la oportunidad de practicar la corrupci\u00f3n. Mac-Lorin fue acusado de varias pr\u00e1cticas dudosas, incluyendo nepotismo y abuso excesivo de su poder de indulto. En la \u00e9poca del movimiento por la sobriedad, los cr\u00edticos acusaron al gobernador de embriaguez, lo cual \u00e9l admiti\u00f3 p\u00fablicamente.\"<\/i><\/p><\/blockquote>\n<p><\/p>\n<h1>Error hist\u00f3rico<\/h1>\n<p>\nConsideremos <b>algoritmo tradicional de multiplicaci\u00f3n<\/b> del programa escolar. \u00bfCu\u00e1ntas operaciones de multiplicaci\u00f3n de un solo d\u00edgito requiere? Supongamos que multiplicas <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/d15239ad41c6fc6953641760f9ffcfdd.jpg\" style=\"display:block;margin: 0 auto;\" \/>un n\u00famero de -d\u00edgitos <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/b731d35571751cec684ca767411a023d.jpg\" style=\"display:block;margin: 0 auto;\" \/> en <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c1f7221e05cbca33ff54da5b6f665dd2.jpg\" style=\"display:block;margin: 0 auto;\" \/>de -d\u00edgitos. <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/390eee500fc99f74a2252db0b3ba6fe4.jpg\" style=\"display:block;margin: 0 auto;\" \/>Primero multiplicas el primer d\u00edgito <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/8d4db48caef1e8cceac94ae2fca4fc24.jpg\" style=\"display:block;margin: 0 auto;\" \/> por cada d\u00edgito <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/dccbe5f9c5f2fe9bd3538f567e2bb214.jpg\" style=\"display:block;margin: 0 auto;\" \/> uno por uno. Luego multiplicas el segundo d\u00edgito <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/b76bfeb3fb4f60f9f1ac66dcb937f736.jpg\" style=\"display:block;margin: 0 auto;\" \/> por cada d\u00edgito <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bbe37fb224a8e6115872a2b2cdefa26e.jpg\" style=\"display:block;margin: 0 auto;\" \/> uno por uno y as\u00ed sucesivamente, hasta que hayas pasado por todos los d\u00edgitos. <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/df227a29c1bc24a1c7cbf9269c764b21.jpg\" style=\"display:block;margin: 0 auto;\" \/>De este modo, la multiplicaci\u00f3n tradicional requiere <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/f0c5ea2abdccff4a5b92fd1c70706d21.jpg\" style=\"display:block;margin: 0 auto;\" \/> multiplicaciones primitivas. En particular, multiplicar dos n\u00fameros de <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/f609965f49d095d59264e127f6db0e64.jpg\" style=\"display:block;margin: 0 auto;\" \/> d\u00edgitos requiere <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/fb16f262bc1b872f6e8c003be2efe2d8.jpg\" style=\"display:block;margin: 0 auto;\" \/> multiplicaciones de un solo d\u00edgito.<\/p>\n<p>Es malo, pero se puede optimizar el proceso usando un m\u00e9todo desarrollado por el matem\u00e1tico sovi\u00e9tico Anatoly Alexeyevich Karatsuba. Supongamos que <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/3f42481650d00fe8cf1083be9479958f.jpg\" style=\"display:block;margin: 0 auto;\" \/> y <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/756872cc2c490be54640606bba6cb8c7.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0son n\u00fameros decimales de dos d\u00edgitos; es decir, existen n\u00fameros <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/4f1f27cc95638aab9f6836f809b42cc1.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/0192ac28c89bfd24a20a1fc1b06ce1a6.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bebb062d37ca6e82ce30589b5f790a0f.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/907b83653f451f4a861109f2244b175a.jpg\" style=\"display:block;margin: 0 auto;\" \/> tales que <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/22b668162b9e64b9aba33d5fe475d65b.jpg\" style=\"display:block;margin: 0 auto;\" \/> y <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/3a226e2600b99ec92d37b7acfbd63d20.jpg\" style=\"display:block;margin: 0 auto;\" \/> (la generalizaci\u00f3n de este algoritmo a cifras mayores requiere ciertas manipulaciones; aunque no es muy complicado, pero para no equivocarme en los detalles, mejor seguir\u00e9 con un ejemplo simple). Entonces <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/a3a658b41241bf40a1f0e779527b3eb2.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/bf8e1b283d1cfa76314380b74b308b38.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/69c922747089f3affb9d640910047a41.jpg\" style=\"display:block;margin: 0 auto;\" \/>. La multiplicaci\u00f3n de binomios da <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/274f90358c358641db7ccb2bda5896b1.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Hasta ahora, todav\u00eda tenemos <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/be0a72ca4a77d7c710b99741619c4492.jpg\" style=\"display:block;margin: 0 auto;\" \/> multiplicaciones de un solo d\u00edgito: <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/10af5b0ea33a7df7bceb34de5757ba5d.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/66919878cca7db5c80eca9e89c2bca13.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c9987bea5bc2a1fb928ef2c60bf880fb.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/c6136863142c02a1b6ba260f02544c0c.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Ahora sumemos y restemos. <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/1e9707de3bac2233c9343d2d95d5d1bb.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Despu\u00e9s de varios reordenamientos, que dejar\u00e9 como ejercicio para el lector, se obtiene <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/9015c02c113b58d67e73013fea4ce9dd.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 \u00a1solo tres multiplicaciones de un solo d\u00edgito! (Hay algunos coeficientes constantes, pero se pueden calcular solo con suma y desplazamiento de d\u00edgitos).<\/p>\n<p>No pidas pruebas, pero <b>el algoritmo de Karatsuba<\/b> (generalizado recursivamente del ejemplo anterior) mejora el m\u00e9todo tradicional de multiplicaci\u00f3n de <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/99577e368b573f762034767d5af05032.jpg\" style=\"display:block;margin: 0 auto;\" \/> operaciones a <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/df139625f074f236e50343ecf5f2021a.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Ten en cuenta que esta es una mejora real del algoritmo y no una optimizaci\u00f3n para c\u00e1lculos mentales. De hecho, el algoritmo no es adecuado para hacer c\u00e1lculos mentales, ya que implica grandes sobrecargas por las operaciones recursivas. Adem\u00e1s, el efecto no se manifestar\u00e1 completamente hasta que los n\u00fameros sean lo suficientemente grandes (afortunadamente, en lugar del algoritmo de Karatsuba han surgido m\u00e9todos a\u00fan m\u00e1s r\u00e1pidos: en marzo de 2019 se public\u00f3 un algoritmo que requiere solo <noindex><a rel=\"nofollow\" href=\"https:\/\/web.maths.unsw.edu.au\/~davidharvey\/papers\/nlogn\/\"><i>n log n<\/i><\/a><\/noindex> multiplicaciones; la aceleraci\u00f3n es aplicable solo a n\u00fameros inconcebiblemente grandes).<\/p>\n<p>Este algoritmo est\u00e1 descrito en la p\u00e1gina 295 del segundo volumen de \u00abAlgoritmos generados\u00bb. All\u00ed, Knuth escribe: \u00abCuriosamente, esta idea fue descubierta solo en <b>1962<\/b> a\u00f1o\u00bb, cuando se public\u00f3 el art\u00edculo que describe el algoritmo de Karatsuba. \u00a1Pero! En 1995, Karatsuba public\u00f3 un art\u00edculo titulado \u00abComplejidad de los c\u00e1lculos\u00bb, en el que menciona varias cosas: 1) alrededor de 1956 Kolmogorov supuso que la multiplicaci\u00f3n no podr\u00eda llevarse a cabo en menos de <img decoding=\"async\" alt=\"Recib\u00ed un cheque de Knuth por 0x$3,00\" src=\"\/wp-content\/uploads\/2019\/05\/87c650ae7cb55d5b5cd1f7d440cadbee.jpg\" style=\"display:block;margin: 0 auto;\" \/> pasos; 2) en <b>1960<\/b> a\u00f1o, Karatsuba asisti\u00f3 a un seminario donde Kolmogorov expuso su hip\u00f3tesis n\u00b2. 3) \u00abJusto hace una semana\u00bb Karatsuba desarroll\u00f3 el algoritmo de \u00abdivide y vencer\u00e1s\u00bb; 4) en 1962 Kolmogorov escribi\u00f3 y public\u00f3 un art\u00edculo <i>en nombre de Karatsuba<\/i> describiendo el algoritmo. \u00abSolo supe de este art\u00edculo despu\u00e9s de que fue reimpreso\u00bb.<\/p>\n<p>Por lo tanto, el error radica en que en lugar de <i>1962<\/i> deber\u00eda indicarse <i>1960<\/i> el a\u00f1o. Eso es todo.<\/p>\n<h1>An\u00e1lisis<\/h1>\n<p>\n<b>Buscar errores no requer\u00eda habilidades especiales.<\/b><\/p>\n<ol>\n<li>El primer error fue tan b\u00e1sico como es posible y estaba en un lugar relativamente visible (al comienzo del cap\u00edtulo). Cualquiera podr\u00eda haberlo encontrado; simplemente yo fui ese cualquiera.\n<\/li>\n<li>La b\u00fasqueda del segundo error tipogr\u00e1fico requiri\u00f3 suerte y esfuerzo, pero no habilidad. El \u00edndice para \"Williams\" se encuentra en la pen\u00faltima p\u00e1gina del volumen, una parte bastante notable del libro. Justo estaba hojeando el \u00edndice (no es tan doloroso como parece, ya que en los \u00edndices de Knuth se esconden huevos de Pascua. Por ejemplo, hay entradas en \u00e1rabe y hebreo, ambas apuntando a la p\u00e1gina 66. Pero en esa p\u00e1gina no se menciona ninguno de los idiomas; en cambio, se mencionan \"idiomas que se leen de derecha a izquierda\"). Y mi atenci\u00f3n fue capturada por el segundo nombre. Dado que normalmente leo Wikipedia, verifiqu\u00e9 a Robin Williams y not\u00e9 una discrepancia.\n<\/li>\n<li>Me gustar\u00eda decir que hice una investigaci\u00f3n seria para encontrar un error hist\u00f3rico, pero en realidad solo eche un vistazo a <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Karatsuba_algorithm\">la p\u00e1gina de Wikipedia sobre el algoritmo Karatsuba.<\/a><\/noindex>En las primeras l\u00edneas dice: \"El algoritmo Karatsuba es un algoritmo de multiplicaci\u00f3n r\u00e1pida. Descubierto por Anatoliy Karatsuba en 1960 y publicado en 1962\". Despu\u00e9s de eso, solo quedaba sumar dos m\u00e1s dos.<\/li>\n<\/ol>\n<p>\nEn el futuro, me gustar\u00eda encontrar un error m\u00e1s sustancial, especialmente en el c\u00f3digo de Knuth. Tambi\u00e9n me gustar\u00eda encontrar un fallo en el primer volumen de \"Algoritmos Fundamentales\". Quiz\u00e1s lo hubiera encontrado, pero en la biblioteca local por alguna raz\u00f3n solo hay disponibles los vol\u00famenes 2, 3 y 4A.<\/p>\n<p><b>Hechos financieros:<\/b><\/p>\n<ul>\n<li>En total, mi contribuci\u00f3n a TAOCP consiste en solo tres s\u00edmbolos: una adici\u00f3n <i>s<\/i>, un reemplazo <i>m<\/i> en <i>n<\/i> y <i>2<\/i> en <i>0<\/i>. A $2.56, son s\u00edmbolos bastante rentables; si te pagaran tal cantidad, un art\u00edculo de 1000 palabras (en promedio, unas cuatro s\u00edmbolos) te podr\u00eda generar diez.\n<\/li>\n<li>Con tres d\u00f3lares hexadecimales, junto a otros 29 ciudadanos, ocupo el puesto 69 en la lista de los m\u00e1s ricos contribuyentes del banco San Serriffe (a fecha del 1 de mayo de 2019).<\/li>\n<\/ul>\n<h1>Otras discusiones sobre los cheques de Knuth<\/h1>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kevinlawler.com\/knuth\">C\u00f3mo obtener un cheque de Knuth<\/a><\/noindex>\n<p>Recomendaciones generales para buscar errores en los libros de Knuth. Principalmente se refieren a errores t\u00e9cnicos, que no tengo. Hay una frase que tom\u00e9 en serio:<\/p>\n<blockquote><p>Es mejor esperar hasta que no tengas un conjunto de errores que enviar. Al combinar varios errores reales, aunque no sean muy valiosos, aumentar\u00e1s la probabilidad de que uno de ellos realmente sea considerado un error o consejo. Si env\u00edas errores uno por uno, cada uno individualmente puede ser rechazado.<\/p><\/blockquote>\n<p>\nNo quer\u00eda enviar solo tonter\u00edas, as\u00ed que segu\u00ed el consejo y envi\u00e9 el correo solo cuando encontr\u00e9 un error hist\u00f3rico que me pareci\u00f3 lo suficientemente serio.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/ashutoshmehra.net\/blog\/about\/knuth-reward-checks-and-certificates\/\">Cheques de Ashutosh Mehra<\/a><\/noindex>\n<p>Ashutosh Mehra es el tercer inversor m\u00e1s rico en San-Seriff con una fortuna colosal de 0x$207,f0 en BoSS.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.truetex.com\/knuthchk.htm\">Cheque por algunos errores no funcionales en el c\u00f3digo real de TeX<\/a><\/noindex>\n<\/li>\n<li>Varios: <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>Fuente: <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 - 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\/es\/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\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Recib\u00ed un cheque de Knuth por 0x$3.00 | ProHoster","description":"Donald Knuth es un cient\u00edfico inform\u00e1tico que cuida tanto la precisi\u00f3n de sus libros que ofrece un d\u00f3lar hexadecimal ($2.56, 0x$1.00) por cualquier 'error' encontrado.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/ya-poluchil-ot-knuta-chek-na-0x-3-00","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/34164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=34164"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/34164\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/25780"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=34164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=34164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=34164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}