<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>El Cedazo &#187; Informática</title>
	<atom:link href="https://eltamiz.com/elcedazo/category/informatica/feed/" rel="self" type="application/rss+xml" />
	<link>https://eltamiz.com/elcedazo</link>
	<description>Comparte conocimiento.</description>
	<lastBuildDate>Sun, 01 Feb 2026 06:35:56 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
		<item>
		<title>Minimización de Funciones Lógicas. El algoritmo de Quine–McClusky explicado y mejorado. El documento completo.</title>
		<link>https://eltamiz.com/elcedazo/2023/01/31/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-el-documento-completo/</link>
		<comments>https://eltamiz.com/elcedazo/2023/01/31/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-el-documento-completo/#comments</comments>
		<pubDate>Tue, 31 Jan 2023 14:56:04 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Lógica]]></category>
		<category><![CDATA[Macluskey]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=81807</guid>
		<description><![CDATA[Durante los últimos días he publicado una serie de cinco artículos sobre el problema de la minimización de funciones lógicas, y en concreto sobre el algoritmo de Quine-McClusky, reputado en la profesión como el procedimiento de referencia para resolver este tipo de problemas: dada una expresión lógica, encontrar la expresión equivalente, o sea, con su [...]]]></description>
			<content:encoded><![CDATA[<p>Durante los últimos días he publicado <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">una serie de cinco artículos</a> sobre el problema de la minimización de funciones lógicas, y en concreto sobre <a href="https://es.wikipedia.org/wiki/Algoritmo_Quine%E2%80%93McCluskey" target="_blank" rel="nofollow" class="liwikipedia">el algoritmo de Quine-McClusky</a>, reputado en la profesión como el procedimiento de referencia para resolver este tipo de problemas: dada una expresión lógica, encontrar la expresión equivalente, o sea, con su misma tabla de verdad, que sea mínima, es decir, que contenga el menor número posible de variables individuales.</p>

<p>Tratándose de un algoritmo publicado en 1956, ha sido estudiado y utilizado profusamente durante sus casi setenta años de vida. Y sin embargo, todavía es posible encontrar formas de mejorar este algoritmo para reducir los recursos informáticos que requiere o simplemente para que efectivamente encuentre la función lógica mínima equivalente a una dada, lo que no siempre hace.</p>

<p>En <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">esos artículos</a> fui paulatinamente describiendo el algoritmo en su diferentes pasos, alguno de ellos nuevo en el sentido de que no he encontrado referencias sobre ellos en la Red, otros idénticos a lo expresado en la literatura, y otros, por fin, con modificaciones sobre lo expresado en dicha literatura sobre el algoritmo.</p>

<p>En este artículo final de la serie presento un único documento con el compendio de los cinco artículos; he retocado algunas frases para eliminar el estilo derivado de estar publicados en una serie de artículos en la web, pero el documento sigue las mismas pautas y el mismo orden de exposición seguido en los artículos de la serie.</p>

<p>He aquí <a href="https://eltamiz.com/elcedazo/wp-content/uploads/2023/01/El-algoritmo-de-Quine-McClusky-por-Macluskey-2023.pdf" target="_blank" class="lipdf"><strong>el documento completo</strong></a>.</p>

<p>Espero que os sirva.</p>

<p>Disfrutad de la vida mientras podáis.</p>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2023/01/31/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-el-documento-completo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Minimización de Funciones Lógicas. El algoritmo de Quine–McClusky explicado y mejorado-V</title>
		<link>https://eltamiz.com/elcedazo/2023/01/27/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-v/</link>
		<comments>https://eltamiz.com/elcedazo/2023/01/27/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-v/#comments</comments>
		<pubDate>Fri, 27 Jan 2023 08:29:07 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Lógica]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=81673</guid>
		<description><![CDATA[Éste de hoy es el quinto y último artículo de esta serie sobre el algoritmo de Quine-McClusky. En el anterior artículo de esta serie sobre minimización de funciones lógicas, el cuarto, dedicado a definir el Paso 7 del algoritmo, describí cómo son las alternativas que se citan habitualmente en la literatura sobre Quine-McClusky, sobre todo el [...]]]></description>
			<content:encoded><![CDATA[<p>Éste de hoy es el quinto y último artículo de <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">esta serie sobre el algoritmo de Quine-McClusky</a>.</p>

<p>En el <a href="https://eltamiz.com/elcedazo/2023/01/23/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iv/" target="_blank" class="liexternal">anterior artículo</a> de <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">esta serie sobre minimización de funciones lógicas</a>, el cuarto, dedicado a definir el Paso 7 del algoritmo, describí cómo son las alternativas que se citan habitualmente en la literatura sobre Quine-McClusky, sobre todo el método de Petrik, que procuré definir con la máxima precisión debido a que, aunque es sencillo de implementar, no es tarea tan sencilla comprender en qué se basa y cómo funciona.</p>

<p>En este quinto y definitivo artículo describiré una alternativa viable y muy interesante a dicho método de Petrik, una alternativa que proviene de un área distinta de la informática, pero perfectamente aplicable a nuestro problema de minimizar expresiones lógicas.</p>

<p><strong><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2023/01/El-algoritmo-QM-V-por-Macluskey-2023.pdf" target="_blank" class="lipdf">Aquí podéis encontrar el PDF del quinto y último artículo</a></strong>.</p>

<p>Y con él acaba la serie. Yo no alcanzo para llegar más allá.</p>

<p>Espero que toda la información que he vertido en estos artículos os haya sido de utilidad y que, quizás, os haya picado el gusanillo de mirar con otros ojos a algoritmos que están establecidos en nuestra profesión como si fueran el Santo Grial, pero que, quién sabe, quizás sean susceptibles de mejorarse, como hemos visto que le ocurre al venerable algoritmo de Quine-McClusky.</p>

<p>Disfrutad de la vida mientras podáis.</p>
]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2023/01/27/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-v/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Minimización de Funciones Lógicas. El algoritmo de Quine–McClusky explicado y mejorado-IV</title>
		<link>https://eltamiz.com/elcedazo/2023/01/23/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iv/</link>
		<comments>https://eltamiz.com/elcedazo/2023/01/23/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iv/#comments</comments>
		<pubDate>Mon, 23 Jan 2023 14:36:19 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Lógica]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=81671</guid>
		<description><![CDATA[En el anterior artículo de esta serie discutí la razón por la que el algoritmo de Quine-McClusky no siempre devuelve la expresión mínima correspondiente a la forma canónica original, que es la información de entrada para el algoritmo. Efectivamente, en un importante porcentaje de casos, que puede acercarse hasta el 50% en cuanto la forma [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="https://eltamiz.com/elcedazo/2023/01/18/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iii/" target="_blank" class="liexternal">el anterior artículo</a> de <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">esta serie</a> discutí la razón por la que el algoritmo de Quine-McClusky no siempre devuelve la expresión mínima correspondiente a la forma canónica original, que es la información de entrada para el algoritmo.</p>

<p>Efectivamente, <strong>en un importante porcentaje de casos</strong>, que puede acercarse hasta el 50% en cuanto la forma canónica tiene un cierto y relativamente modesto tamaño, <strong>el algoritmo tal como se define en la literatura no encuentra la expresión mínima solicitada</strong>. Y además, en dicho artículo he demostrado que de hecho hay tantas formas canónicas de una cierta longitud en las que el algoritmo tradicional encuentra la expresión mínima, como aquellas en las que no la encuentra y es preciso ejecutar el método alternativo para hallar dicha solución mínima absoluta.</p>

<p>En <a href="https://eltamiz.com/elcedazo/2023/01/18/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iii/" target="_blank" class="liexternal">ese tercer artículo</a> había indicado el modo de solventar esta engorrosa circunstancia para obtener siempre, siempre la expresión mínima correspondiente a la función original.</p>

<p>Pero algo faltaba: la definición del algoritmo no estaba aún completa, pues por motivos didácticos había postergado la definición del penúltimo paso del algoritmo, el Paso 7, que es el que de verdad consume cantidades ingentes de recursos informáticos para su resolución.</p>

<p>En los dos artículos que faltan de la serie, el de hoy, cuarto de los cinco de que se compone, y en el siguiente y último, definiré con toda la precisión de que sea capaz las diferentes alternativas para ejecutar este penúltimo paso, alternativas que, obviamente, tienen cada una de ellas sus ventajas e inconvenientes.</p>

<p><strong><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2023/01/El-algoritmo-QM-IV-por-Macluskey-2023.pdf" target="_blank" class="lipdf">Aquí podéis encontrar el PDF del cuarto artículo</a></strong>.</p>

<p>Hasta el próximo, que será el último de la serie.</p>

<p>Disfrutad de la vida mientras podáis.</p>
]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2023/01/23/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Minimización de Funciones Lógicas. El algoritmo de Quine–McClusky explicado y mejorado-III</title>
		<link>https://eltamiz.com/elcedazo/2023/01/18/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iii/</link>
		<comments>https://eltamiz.com/elcedazo/2023/01/18/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iii/#comments</comments>
		<pubDate>Wed, 18 Jan 2023 18:07:21 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Lógica]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=81669</guid>
		<description><![CDATA[El anterior artículo de esta serie sobre minimización de  funciones lógicas terminaba con una afirmación cuanto menos sorprendente: el algoritmo de Quine-McClusky no siempre devuelve la expresión mínima correspondiente a la forma canónica original, que es la única entrada para el algoritmo. En éste de hoy, el tercero de los cinco de que se compone [...]]]></description>
			<content:encoded><![CDATA[<p>El <a href="https://eltamiz.com/elcedazo/2023/01/15/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-ii/" class="liexternal">anterior artículo</a> de <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">esta serie sobre minimización de  funciones lógicas</a> terminaba con una afirmación cuanto menos sorprendente: <strong>el algoritmo de Quine-McClusky no siempre devuelve la expresión mínima correspondiente a la forma canónica original</strong>, que es la única entrada para el algoritmo.</p>

<p>En éste de hoy, el tercero de los cinco de que se compone la serie, se explica por qué en ocasiones (en <em>muchas</em> ocasiones) el algoritmo tal como está definido en la literatura no encuentra la expresión mínima, y qué se puede hacer para efectivamente encontrarla siempre.</p>

<p><strong><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2023/01/El-algoritmo-QM-III-por-Macluskey-2023.pdf" target="_blank" class="lipdf">Aquí podéis encontrar el PDF de este tercer artículo</a></strong>.</p>

<p>Hasta el próximo.</p>

<p>Disfrutad de la vida mientras podáis.</p>
]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2023/01/18/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-iii/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Minimización de Funciones Lógicas. El algoritmo de Quine–McClusky explicado y mejorado-II</title>
		<link>https://eltamiz.com/elcedazo/2023/01/15/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-ii/</link>
		<comments>https://eltamiz.com/elcedazo/2023/01/15/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-ii/#comments</comments>
		<pubDate>Sun, 15 Jan 2023 09:29:44 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Lógica]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=81667</guid>
		<description><![CDATA[Tal como avancé en el artículo anterior de esta serie, en este artículo de hoy, el segundo, voy a definir con el máximo detalle que pueda y sepa los intríngulis de algoritmo de Quine-McClusky, excepto su penúltimo paso, que por sus características especiales describiré más adelante. He aquí el PDF de este segundo artículo. El último [...]]]></description>
			<content:encoded><![CDATA[<p>Tal como avancé en<a href="https://eltamiz.com/elcedazo/2023/01/11/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-i/" target="_blank" class="liexternal"> el artículo anterior</a> de <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">esta serie</a>, en este artículo de hoy, el segundo, voy a definir con el máximo detalle que pueda y sepa los intríngulis de algoritmo de Quine-McClusky, excepto su penúltimo paso, que por sus características especiales describiré más adelante.</p>

<p><strong><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2023/01/El-algoritmo-QM-II-por-Macluskey-2023.pdf" target="_blank" class="lipdf">He aquí el PDF de este segundo artículo</a></strong>.</p>

<p>El último párrafo del artículo es, cuanto menos, intrigante&#8230; en el tercer artículo de la serie se resolverá el misterio. Y las conclusiones serán, seguramente, sorprendentes.</p>

<p>Hasta entonces, en el próximo artículo.</p>

<p>Disfrutad de la vida mientras podáis.</p>
]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2023/01/15/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Minimización de Funciones Lógicas. El algoritmo de Quine–McClusky explicado y mejorado-I</title>
		<link>https://eltamiz.com/elcedazo/2023/01/11/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-i/</link>
		<comments>https://eltamiz.com/elcedazo/2023/01/11/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-i/#comments</comments>
		<pubDate>Wed, 11 Jan 2023 19:09:51 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Lógica]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=81665</guid>
		<description><![CDATA[Este artículo es el primero de una serie de cinco que versará sobre el algoritmo de Quine-McClusky. Se trata del algoritmo de referencia utilizado para minimizar expresiones lógicas. Se conoce desde hace cerca de 70 años y está firmemente establecido en la profesión informática como la solución definitiva para realizar esa importante función, a saber, [...]]]></description>
			<content:encoded><![CDATA[<p>Este artículo es el primero de <a href="https://eltamiz.com/elcedazo/series/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado/" target="_blank" class="liexternal">una serie de cinco</a> que versará sobre el <a href="https://es.wikipedia.org/wiki/Algoritmo_Quine%E2%80%93McCluskey" target="_blank" rel="nofollow" class="liwikipedia"><strong>algoritmo de Quine-McClusky</strong></a>.</p>

<p>Se trata del algoritmo de referencia utilizado para minimizar expresiones lógicas. Se conoce desde hace cerca de 70 años y está firmemente establecido en la profesión informática como la solución definitiva para realizar esa importante función, a saber, determinar cuál es la expresión booleana que, siendo idéntica a otra dada, es decir, que tiene su misma tabla de verdad, es mínima, tiene el menor número posible de términos.</p>

<p>Averiguar tal expresión para sustituirla en el programa donde se encuentre reduce el tiempo de ejecución de ese programa, pues para determinar el flujo del programa habrá que valorar un menor número de condiciones que en la expresión original. Y lo mismo podemos decir del diseño de circuitos: cuantas menos puertas lógicas tenga dicho circuito, más rápido será en ejecución y más barato de fabricar.</p>

<p>El caso es que yo he dedicado muchos meses, años, al estudio, programación y, por qué no, crítica del famoso algoritmo de Quine-McClusky, y he encontrado diferentes aspectos que podrían mejorar en algo, o quizás en bastante dicho algoritmo. De hecho, como veremos, en un importante porcentaje de casos el algoritmo no proporciona la expresión mínima absoluta correspondiente a la función dada. De ahí esta serie, donde expondré estos hallazgos para darlos a conocer a aquellos de vosotros que estéis interesados.</p>

<p>Si tenéis dudas sobre expresiones lógicas, álgebra de Boole y demás zarandajas que los informáticos usamos continuamente, podéis informaros en la serie sobre <a href="http://eltamiz.com/elcedazo/eso-que-llamamos-logica/" target="_blank" class="liinternal"><strong>Eso que llamamos Lógica</strong></a> que escribí hace un tiempo, donde podéis encontrar los relativamente pocos conceptos lógicos que aparecerán en los artículos.</p>

<p>Y ahora, una información previa en cuanto al formato que tienen los artículos.</p>

<p>Me ha sido muy difícil transferir los artículos tal como estaban escritos en mi procesador de textos favorito al formato HTML de las páginas web de ElCedazo, pues el resultado sufría de efectos impredecibles y dejaba un formato desastroso, así que esta vez he optado por una solución completamente novedosa en ElCedazo: <strong>construir un PDF para cada artículo</strong>, que enlazaré en las diferentes entradas. No es lo normal en este sitio, ya lo sabéis, pero creedme que aquí y ahora es lo mejor para mí y para vosotros, lo más sencillo para que los cinco artículos de la serie queden razonablemente legibles.</p>

<p>Bien, <strong><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2023/01/El-algoritmo-QM-I-por-Macluskey-2023.pdf" target="_blank" class="lipdf">he aquí el PDF del primer artículo</a></strong>, que servirá como introducción a los demás.</p>

<p>Hasta el próximo artículo.</p>

<p>Disfrutad de la vida mientras podáis.</p>
]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2023/01/11/minimizacion-de-funciones-logicas-el-algoritmo-de-quine-mcclusky-explicado-y-mejorado-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Nuevos datos sobre Alphazero, un avance muy significativo en la Inteligencia Artificial</title>
		<link>https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/</link>
		<comments>https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#comments</comments>
		<pubDate>Sat, 05 Jan 2019 10:16:17 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=63206</guid>
		<description><![CDATA[Hace algo más de un año, en diciembre de 2017, publiqué un artículo comentando la aparición de una nueva inteligencia artificial, Alphazero, creada por DeepMind, una división de Google en el Reino Unido, diseñada para jugar al ajedrez, que había batido de forma incontestable a Stockfish, el indiscutido campeón mundial de programas de ajedrez. En [...]]]></description>
			<content:encoded><![CDATA[<p>Hace algo más de un año, en diciembre de 2017, <a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/" target="_blank" class="liexternal">publiqué un artículo comentando la aparición de una nueva inteligencia artificial, Alphazero</a>, creada por <a href="https://es.wikipedia.org/wiki/Google_DeepMind" target="_blank" rel="nofollow" class="liwikipedia">DeepMind</a>, una división de Google en el Reino Unido, diseñada para jugar al ajedrez, que había batido de forma incontestable a Stockfish, el indiscutido campeón mundial de programas de ajedrez. En esa fecha DeepMind publicó un <em>paper</em> preliminar, explicando someramente el método seguido para generar la IA, una red neuronal, así como el resultado de la competición programada contra Stockfish: 100 partidas, en las que Alphazero venció en 28 y las 72 restantes fueron tablas. Y en ese documento se mostraron 10 de las 100 partidas jugadas, todas ellas victorias de Alphazero, que dejaron bastante <em>ojipláticos</em> a multitud de jugadores, maestros y analistas.</p>

<div id="attachment_63223" class="wp-caption alignleft" style="width: 314px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Tablero-de-ajedrez.jpg" class="liimagelink"><img class="size-full wp-image-63223" title="Tablero de ajedrez" src="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Tablero-de-ajedrez.jpg" alt="" width="304" height="200" /></a><p class="wp-caption-text">Todo listo para comenzar la batalla&#8230;</p></div>

<p>Sin embargo, y a pesar de la enorme calidad del juego de Alphazero demostrado en esas pocas partidas, hubo también quien tuvo serias dudas sobre el desarrollo del match, debido a las condiciones que se dieron durante el mismo en cuanto a la gestión del tiempo, la configuración del hardware utilizado, etc.</p>

<p>DeepMind ha seguido trabajando en ese proyecto y el mes pasado (diciembre de 2018), un año después, <strong><a href="https://deepmind.com/documents/260/alphazero_preprint.pdf" target="_blank" class="lipdf">ha publicado un nuevo <em>paper</em> muchísimo más detallado que el anterior</a></strong>, donde se explican pormenorizadamente muchos de los extremos que habían quedado en el limbo, se resuelven las dudas que se habían generado y donde, en fin, se muestran los resultados de diferentes enfrentamientos con Stockfish con condiciones diferentes&#8230; y no sólo con él.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_0_63206" id="identifier_0_63206" class="footnote-link footnote-identifier-link" title="Adem&aacute;s, en su web han publicado mucha m&aacute;s informaci&oacute;n adicional.">1</a>]</sup> Y los resultados siguen siendo alucinantes, o al menos a mí me lo parecen. Tanto es así que <a href="http://science.sciencemag.org/content/362/6419" target="_blank" class="liexternal">la superprestigiosa revista Science ha publicado este anuncio en su portada</a>.</p>

<p>Antes de seguir, un inciso: DeepMind ha utilizado el mismo algoritmo, y gestionado del mismo modo, para jugar no sólo al ajedrez, sino a otros dos juegos tan endemoniados o más que el ínclito ajedrez: el <a href="https://es.wikipedia.org/wiki/Sh%C5%8Dgi" target="_blank" rel="nofollow" class="liwikipedia">shogi</a><sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_1_63206" id="identifier_1_63206" class="footnote-link footnote-identifier-link" title="Una especie de ajedrez japon&eacute;s que se juega en tableros de 9&amp;#215;9, tiene piezas diferentes con movimientos diferentes a los del ajedrez y permite que las piezas capturadas puedan ser reintroducidas en el tablero, pero con el color cambiado, entre otras diferencias.">2</a>]</sup> y el <a href="https://es.wikipedia.org/wiki/Go" target="_blank" rel="nofollow" class="liwikipedia">go</a>.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_2_63206" id="identifier_2_63206" class="footnote-link footnote-identifier-link" title="Antiqu&iacute;simo juego chino de piedras blancas o negras que se juegan en un tablero de 19&amp;#215;19 escaques, cuyo objetivo es dominar el m&aacute;ximo n&uacute;mero posible de casillas del tablero eliminando las fichas del contrario que quedan rodeadas por las fichas propias.">3</a>]</sup> La verdad es que no sé casi nada de ninguno de ellos, así que poco puedo aportar al respecto. En el documento publicado se hace referencia también a estos dos juegos, pero yo me centraré en lo que sí conozco más o menos bien: el ajedrez. Únicamente hay que destacar el hecho de que el mismo algoritmo, sin cambios, conociendo exclusivamente las reglas del juego y con la misma técnica de autoaprendizaje (aunque generando, obviamente, diferentes redes neuronales en cada caso) haya sido capaz de fulminar igualmente a los programas campeones mundiales de cada uno de estos dos juegos. En el caso del go, ese campeón mundial era precisamente AlphaGo, también de DeepMind y el origen primigenio de este mismo Alphazero, y en el del shogi, ese programa es ELMO. Ambos han sido destrozados por Alphazero&#8230; y hasta aquí puedo contar.</p>

<p>El <a href="https://es.wikipedia.org/wiki/Ajedrez" target="_blank" rel="nofollow" class="liwikipedia">ajedrez</a> es, como ya sabéis, y con enorme diferencia, el juego más analizado desde el punto de vista de su juego por ordenadores. Muchos años han pasado desde que <a href="https://es.wikipedia.org/wiki/Deep_Blue_versus_Gary_Kasparov" target="_blank" rel="nofollow" class="liwikipedia"><em>Deep Blue</em> ganó aquella mítica partida a Gary Kasparov</a> en 1996, y en estos tiempos todo el mundo está de acuerdo en que ningún ser humano, ni tan siquiera el flamante campeón mundial, Magnus Carlsen, sería capaz de ganar un match a ninguno de los programas más potentes existentes (Rybka, Komodo, Houdini o el mismo <a href="https://es.wikipedia.org/wiki/Stockfish" target="_blank" rel="nofollow" class="liwikipedia">Stockfish</a>, el actual campeón).</p>

<p>Ya comenté en <a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/" target="_blank" class="liexternal">el artículo del año 2017</a> lo que se sabía por entonces acerca de Alphazero (que era lo publicado en la comunicación preliminar): se trataba de un algoritmo que construía una red neuronal profunda entrenada mediante autojuego, es decir, que todo lo que aprendía era jugando contra sí misma, sin ningún otro estímulo exterior. Es decir, el programa sólo sabía las reglas del juego&#8230; y nada más.</p>

<p>Esta aproximación de <em>tabula rasa</em> se olvida de todo lo aprendido sobre el juego a lo largo de centurias de análisis por parte de los mejores jugadores de la historia y de los mejores programas de ajedrez del momento. Alphazero no sabe nada de<a href="https://es.wikipedia.org/wiki/Anexo:Aperturas_de_ajedrez" target="_blank" rel="nofollow" class="liwikipedia"> teoría de aperturas</a> (ni siquiera “sabe” qué es eso de una “apertura”), ni de trucos tácticos, celadas y demás, ni de las procelosas ventajas o desventajas de determinadas estructuras muy conocidas (peones doblados, peones pasados, la importancia de la pareja de alfiles, etc), ni tampoco de la existencia de ciertas tablas de finales que permiten hallar sin esfuerzo el mejor camino para ganar o empatar una posición cuando quedan pocas piezas en el tablero. Por no conocer, ni siquiera conoce el valor teórico de las piezas, establecido a lo largo de siglos de estudio.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_3_63206" id="identifier_3_63206" class="footnote-link footnote-identifier-link" title="Por cierto, estos valores normalmente aceptados son: pe&oacute;n, 1 punto; caballo y alfil, 3 puntos cada uno; torre, 5 puntos; dama, 9 &oacute; 10 puntos (seg&uacute;n d&oacute;nde mires). El Rey no tiene un valor definido, puesto que tiene que estar siempre presente &nbsp;o la partida ha terminado. Luego, su valor var&iacute;a conforme van desapareciendo piezas del tablero y se convierte en un defensor o atacante activo m&aacute;s. De todas formas, estos valores te&oacute;ricos sufren infinidad de modificaciones dependiendo de la posici&oacute;n: que est&eacute; m&aacute;s o menos abierta o cerrada, que haya o no amenazas materiales, etc, etc, etc.">4</a>]</sup> En el <em>paper</em> indican que Alphazero no evalúa cada posición en puntos (peones), como lo hacen la gran mayoría de programas de ajedrez, sino que mide la probabilidad de victoria o derrota, entre 1 y -1. Eso explica seguramente por qué sacrifica tantos peones o piezas en plena apertura o en el juego medio sin que parezca importarle la pérdida de material: porque evalúa que así maximiza sus probabilidades de ganar el juego y eso es lo único que le importa.</p>

<p>En fin, todas estas estructuras han sido analizadas, valoradas y estudiadas hasta la saciedad por generaciones de analistas y grandes maestros, se han editado infinidad de libros, blogs, videos explicativos y demás, y las conclusiones han sido plasmadas en los mejores programas para jugar al ajedrez. Estos aúnan una gigantesca capacidad de cálculo, decenas de millones de movimientos evaluados por segundo, con una sofisticada técnica de búsqueda y selección de movimientos, normalmente basada en el popular algoritmo de poda “<a href="https://es.wikipedia.org/wiki/Poda_alfa-beta" target="_blank" rel="nofollow" class="liwikipedia">alfa-beta</a>”, así como una serie de funciones de evaluación diseñadas ad hoc para mejorar sus prestaciones. El resultado son programas que son, simplemente, imposibles de batir consistentemente por un humano.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_4_63206" id="identifier_4_63206" class="footnote-link footnote-identifier-link" title="Quiz&aacute;s puedan perder una partida de vez en cuando contra un gran maestro, pero en una confrontaci&oacute;n a doce partidas, por ejemplo, son imbatibles.">5</a>]</sup> Por ejemplo, en <a href="https://chess24.com/es/watch/live-tournaments/carlsen-caruana-world-chess-championship-2018/1/1/6" target="_blank" class="liexternal">la sexta partida del reciente match por el Campeonato del Mundo</a> entre Caruana y Carlsen, celebrado en Londres el pasado mes de noviembre, Fabio Caruana, con negras, hizo en el movimiento 68 la muy humana jugada Cf3,  que le llevaba a una posición donde tenía una leve ventaja que Carlsen, con su maestría habitual, diluyó hasta llegar a tablas “muertas” diez jugadas más tarde. Pues bien, rápidamente Stockfish dio su veredicto: de haber jugado 68. &#8230; Ah4 en lugar de Cf3, Caruana hubiera conseguido una ventaja ganadora que hubiera cristalizado en jaque mate inevitable&#8230; en la jugada 105, ¡37 jugadas más tarde! A ver quién es el guapo que es capaz de evaluar una posición (y menos en un final, con pocas piezas en el tablero) con una profundidad de 37 jugadas, o sea, 74 movimientos. Así son estos monstruos de silicio, inagotables y casi infalibles.</p>

<p>Pues bien: ahí radica la sorpresa de la fulgurante aparición de Alphazero: su existencia ha desmontado muchas de las bases inamovibles del diseño de programas. Sí, ya sé que esto mismo lo dije hace un año, pero lo voy a repetir de todos modos.</p>

<p>En primer lugar, Alphazero aparece por “generación espontánea”, en el sentido de que no bebe en absoluto de ninguna fuente anterior. Sólo le han enseñado las reglas básicas del ajedrez, cómo mueven las fichas y cuál es el objetivo: zamparse al rey enemigo. Nada más. Además, ni siquiera se ha programado ninguna técnica sofisticada de búsqueda al estilo de un alfa-beta clásico, sino que usa un algoritmo mucho más sencillo y de propósito general, como es <a href="https://es.wikipedia.org/wiki/M%C3%A9todo_de_Montecarlo" target="_blank" rel="nofollow" class="liwikipedia">el de Montecarlo</a>, para seleccionar las mejores jugadas a probar. Es decir, una auténtica <em>tabula rasa</em> sin paliativos: nada de herencias de ningún tipo y empecemos todo desde cero.</p>

<div id="attachment_63225" class="wp-caption alignright" style="width: 460px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/IA-Google.jpg" class="liimagelink"><img class="size-full wp-image-63225" title="IA Google" src="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/IA-Google.jpg" alt="" width="450" height="300" /></a><p class="wp-caption-text">DeepMind es una división de Google dedicada a la creación de IA&#8217;s, como es el caso de Alphazero</p></div>

<p>Luego, en segundo lugar, le han puesto a jugar consigo mismo, nada de contra otro programa preexistente, bueno o malo. Es decir, al principio movía aleatoriamente las piezas, puesto que no tenía ni la menor idea de si una pieza era mejor que otra, si era bueno o malo ocupar el centro, o doblar peones o coronar&#8230; y eventualmente uno de los dos bandos gana, luego las jugadas que ha realizado deben ser mejores que las del bando que perdió.</p>

<p>Tras cada conjunto de ejecuciones (de 4.096 ejecuciones cada lote, según comenta el documento) se consolida la mejor red neuronal obtenida hasta el momento, que se cataloga como “Mejor jugador”, y en siguientes iteraciones se juega siempre contra este “Mejor jugador”. Si tras un lote de ejecuciones el nuevo jugador ha demostrado ser mejor que él, entonces ocupa su trono y vuelta a empezar. Es decir, aprende de sus propios errores y toma sus propias decisiones sin tener en cuenta ningún otro parámetro.</p>

<p>El entrenamiento de la red terminó cuando llevaba unas 700.000 iteraciones, proceso que duró apenas 9 horas en los gigantescos servidores de Google&#8230; lo que implica que en un hardware menos sofisticado igual hubiera tardado diez o cien veces más: una nadería de tiempo, en cualquier caso. Parece que cuando llevaba 300.000 iteraciones (unas cuatro horas de entrenamiento) ya derrotaba consistentemente a Stockfish. Y con las 700.000 finales&#8230; lo arrasa.</p>

<p>Con la información publicada el año pasado esto parecía ya evidente, pero, como ya dije, algunos grandes maestros comentaron que las condiciones de la prueba de entonces no fueron justas con Stockfish, sugiriendo que estaban favoreciendo claramente a Alphazero en el match. Incluso hubo quien afirmó que en condiciones de igualdad Stockfish seguramente ganaría el match. En concreto, se quejaron de que:</p>

<p><strong>a)</strong> La configuración de hardware usado, con miles de procesadores, no favorecía a Stockfish, que está más bien pensado para correr en un máquina &#8220;normal&#8221;, con un pequeño número de procesadores. En cambio, es ideal para un programa como Alphazero.</p>

<p><strong>b)</strong> La gestión del tiempo que se usó (1 minuto por jugada para cada contendiente) no favorecía tampoco a Stockfish, que tiene una sofisticada rutina para determinar, a imagen de lo que hace un jugador humano, en qué jugadas debe gastar muchísimo tiempo y en cuáles no. Un tiempo fijo por jugada puede hacer que en algunas de ellas sobre el 99,9% de ese minuto (por ser “jugadas únicas”), mientras que en otras pueda resultar insuficiente. Supongo que aquí cada programa queda en espera tras realizar su jugada hasta la respuesta del rival, es decir, no utilizan el tiempo de cálculo del otro para seguir pensando sobre la posición, como evidentemente sí hacemos los humanos.</p>

<p><strong>c)</strong> No se le permitiera usar ni su generoso libro de aperturas ni el de finales, lo que podría llevar a Stockfish a cometer algunos errores, sutiles siempre, desde luego, pero errores al fin.</p>

<p><strong>d)</strong> No se usara la última versión del programa, aunque desde luego que no hay mucha diferencia entre una versión y otra, pero siempre ayuda usar la última versión, que suele ser mejor en cuanto a resultados.</p>

<p><strong>e)</strong> Por fin, como sólo se publicaron 10 de las 100 partidas jugadas, reclamaron el acceso a todas las partidas para poder evaluar el programa de forma exhaustiva, y no sólo las 10 mostradas, que eran, eso sí, espectaculares.</p>

<p>Pues bien, ahora, en el documento publicado en diciembre de 2018, los autores explican detalladamente el nuevo proceso de enfrentamiento entre Alphazero y Stockfish, y todas las dudas se han disipado, o al menos quedan muchas menos.</p>

<p>Para empezar, ahora se ha jugado un número muy superior de partidas, decenas de miles, con diferentes puntos de partida: se han jugado conjuntos de 1.000 partidas (500 con cada color) “libres”, en el sentido de que se comienza desde la posición inicial y cada programa elige la apertura como le da la real gana, sin cortapisas. Pero es que además se han jugado varios otros conjuntos de 1000 partidas modificando algunos parámetros, sobre todo el tiempo disponible para Alphazero, y conjuntos de 400 partidas comenzando con posiciones provenientes de las 12 aperturas “humanas” más jugadas (española, siciliana, francesa, Caro-Kann, inglesa, gambito de dama, nimzoindia, etc), y otros enfrentamientos adicionales. Ya voy adelantando que el resultado de las 1.000 partidas “normales” (desde la posición inicial, con el mismo tiempo para cada jugador) es abrumador: <strong>Alphazero ganó 155 partidas, perdió 6 y empató el resto, 839.</strong> Una paliza en toda regla, nuevamente. Vale, menos abrumador que el 28 a 0 del <em>paper</em> original, pero paliza, de todos modos.</p>

<p>Veamos:</p>

<p><strong>a)</strong> Se ha usado la configuración de hardware que se usó con Stockfish en el <a href="https://en.wikipedia.org/wiki/Top_Chess_Engine_Championship" target="_blank" rel="nofollow" class="liwikipedia">TCEC</a> (<em>Top Chess Engine Championship</em>, el campeonato mundial oficioso de programas de ajedrez, en el que precisamente Stockfish ha resultado ser el mejor programa los últimos años). Esta configuración es de 44 hilos en 44 núcleos (2 CPU’s Intel Xeon Broadwell de 2.2 GHz con 22 núcleos cada una), con 32GB para la tabla de búsqueda y las tablas <em>syzygy</em> de finales. Es decir, la que se supone que es la configuración ideal para Stockfish. Con esta configuración, Stockfish calculaba 60 millones de movimientos por segundo&#8230; sin embargo Alphazero “sólo” revisaba 60.000 movimientos por segundo, una milésima parte, y sin embargo ganó consistentemente en todos los enfrentamientos, lo que indica algo que se decía hace muchos años y que dejó de decirse en vista de la aplastante superioridad de los programas de “fuerza bruta”: <strong>que era mucho más importante la <em>calidad</em> en la elección de las jugadas a revisar que no la <em>cantidad</em> de movimientos revisados.</strong> El ex-campeón mundial Gary Kasparov se congratula de ello en un editorial en la propia revista Science.</p>

<p><strong>b)</strong> Las partidas se jugaron también con el control de tiempo que se usa en el TCEC: tres horas por jugador, con 15 segundos adicionales por cada jugada, que cada programa gestionó como mejor supo. En el caso de Stockfish, con su sofisticado algoritmo de gestión del tiempo. En el caso de Alphazero, como no tenían nada de eso previsto, se limitaron a usar en cada movimiento como máximo una veinteava parte del tiempo que le restaba para el total de la partida. Nada más. Y ya se ven los resultados.</p>

<p>Pero es que además se han programado varios conjuntos más de 1.000 partidas en las que, manteniendo los parámetros de Stockfish, se limitó el tiempo a usar por Alphazero: Con la tercera parte del tiempo (una hora en vez de tres, más 5 segundos adicionales por jugada), con la décima parte del tiempo, una treintava parte del tiempo y, por fin, con la centésima parte. Pues bien, Alphazero apenas se resintió con la tercera parte del tiempo (ganó alguna partida menos con blancas, pero Stockfish no fue capaz de ganar más veces); ganó también con claridad con la décima parte del tiempo, y sólo cuando usaba la treintava parte de tiempo fue capaz Stockfish de vencer el match&#8230; pero no por paliza, pues aun así Alphazero consiguió un número apreciable de victorias, tanto con blancas como con negras. Con la centésima parte del tiempo que su rival (108 segundos para la partida completa, más 0,15 segundos por movimiento) sí que fue capaz Stockfish de darle una buena zurra a Alphazero&#8230; que aun así fue capaz de ganar más partidas que las 6 que ganó su rival en el match con tiempos iguales. El gráfico siguiente lo muestra:</p>

<div id="attachment_63210" class="wp-caption aligncenter" style="width: 730px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Cuadro-1-Alphazero-vs-Stockfish.jpg" class="liimagelink"><img class="size-full wp-image-63210" title="Alphazero vs Stockfish Cuadro 1" src="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Cuadro-1-Alphazero-vs-Stockfish.jpg" alt="" width="720" height="395" /></a><p class="wp-caption-text">Datos de los diversos enfrentamientos entre Alphazero y Stockfish. En verde, partidas ganadas por Alphazero; en rojo, perdidas por Alphazero; en gris, tablas. Se dan datos  separados de las partidas jugadas con blancas y con negras por Alphazero. En<strong> (A)</strong>, datos del match principal, 1.000 partidas a tres horas por jugador más 15 segundos por movimiento. En<strong> (B)</strong> los resultados de otros matches de 1.000 partidas en los que se restringe el tiempo disponible para Alphazero a 1/3; 1/10; 1/30 y 1/100 del inicial. En <strong>(C)</strong>, los resultados de otros matches de 1.000 partidas contra la última versión de Stockfish (la 9) y dejando a éste usar el libro de aperturas, donde sorprendentemente, caso único en todo el estudio,  consigue Alphazero más victorias con negras que con blancas. En <strong>(D)</strong>, resultados de los diferentes enfrentamientos comenzados desde posiciones provenientes de aperturas &#8220;humanas&#8221; y desde el conjunto de posiciones iniciales usadas en el TCEC. Fuente: <a href="https://deepmind.com/documents/260/alphazero_preprint.pdf" target="_blank" class="lipdf">DeepMind</a>, con formato modificado por mí para ajustarlo a la página web.</p></div>

<p><strong>c)</strong> Stockfish sí usó las tablas de finales <em>syzygy</em> en todos los enfrentamientos. Sin embargo, no se le dejó usar su extenso libro de aperturas en el match principal (tampoco lo usó Alphazero, claro está, porque no lo tiene). Para revisar el impacto del uso del libro de aperturas por Stockfish, se programó un nuevo enfrentamiento de 1.000 partidas dejando usar dicho libro de aperturas&#8230; y nuevamente la paliza fue épica, como se ve en el gráfico anterior.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_5_63206" id="identifier_5_63206" class="footnote-link footnote-identifier-link" title="Curioso resulta que en este caso concreto, y de forma excepcional, tanto &Aacute;lphazero como Stockfish ganaran m&aacute;s partidas con negras que con blancas; habr&aacute; que revisar en serio si las aperturas m&aacute;s analizadas est&aacute;n de verdad bien analizadas.">6</a>]</sup> De hecho, los autores comentan que cuando Stockfish usaba su libro de aperturas los juegos resultaban todos muy parecidos (y aburridos: bastante más del 90% acababan en tablas), por lo que cambiaron levemente los parámetros de Alphazero, permitiéndole elegir cualquier movimiento posible que tuviera una evaluación como mucho un 1% menor que el movimiento más fuerte, que es el que elegiría en condiciones normales. Es decir, introdujeron un pequeño elemento aleatorio en la elección de las jugadas. El resultado fue que la tasa de victorias de Alphazero pasó del 5,8% al 14%, similar a la del conjunto base de 1.000 partidas (que era de un 15,5%)&#8230; ¡la creatividad al poder!</p>

<p>Adicionalmente se programaron nuevos duelos de 400 partidas, 200 con cada color, para cada una de las 12 aperturas “humanas” seleccionadas (aquellas con más de 100.000 apariciones en las bases de datos online de partidas entre jugadores humanos). La paliza fue, nuevamente, épica: de las 4.800 partidas jugadas en estos enfrentamientos Stockfish apenas fue capaz de ganar unas cuantas, entre una y dos docenas (las trazas rojas que se vislumbran en el gráfico siguiente), mientras que Alphazero ganó un número considerable de ellas (el documento no cuantifica estas cifras, pero se pueden inferir del gráfico).</p>

<div id="attachment_63212" class="wp-caption aligncenter" style="width: 900px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Cuadro-2-Alphazero-vs-Stockfish.jpg" class="liimagelink"><img class="size-full wp-image-63212" title="Cuadro 2 Alphazero vs Stockfish" src="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Cuadro-2-Alphazero-vs-Stockfish.jpg" alt="" width="890" height="234" /></a><p class="wp-caption-text">Cuadro resumen del resultado de los enfrentamientos de 400 partidas (200 con cada color) en cada posición, donde se comienza el juego desde las doce posiciones más utilizadas por jugadores humanos. De izquierda a derecha, fila superior: Apertura Inglesa, Gambito de Dama, Defensa Grunfeld, Defensa Francesa, Defensa Siciliana, línea con 2. &#8230;e6, y Apertura Española, variante clásica. Fila inferior: Apertura de Peón de Dama, Defensa Nimzoindia, Defensa Siciliana con 2. &#8230;d6, Defensa Siciliana clásica con 2. &#8230;Cc6, Defensa Caro-Kann y Apertura Reti. Se separan los resultados de partidas jugadas por Alphazero con blancas y con negras; en verde, victorias de Alphazero; en rojo, derrotas de Alphazero, y en gris, tablas. Después de ver estos resultados, si yo jugara con negras no se me ocurriría plantear contra 1. e4 ni una Francesa, ni una Caro-Kann ni una Española clásica (con 3&#8230; a6): Alphazero ganó más del 50% de partidas con blancas contra estas defensas. Nos hemos quedado con las ganas de saber si la reputación de la Defensa Rusa (1 e4, e5. 2 Cf3, Cf6) como una defensa de las líneas más seguras para las negras está  o no justificada en la realidad, porque no está entre las 12 utilizadas en estos duelos. Fuente: <a href="https://deepmind.com/documents/260/alphazero_preprint.pdf" target="_blank" class="lipdf">DeepMind</a>, con formato modificado por mí para ajustarlo a la página web.</p></div>

<p>Y, por fin, aún se ejecutaron otros 50 duelos más en los que se empezaba desde una posición determinada, las utilizadas en el mismo torneo TCEC que sirve de referencia (100 partidas, 50 con cada color, para cada una de las 50 posiciones seleccionadas, en total 5.000 partidas). Algunas de estas posiciones tomadas del TCEC no son neutrales en absoluto, sino que implican clara ventaja para algún color; esto hizo que el número de victorias de uno u otro programa fuera muy grande cuando les tocaba jugar con el bando en ventaja. Alphazero volvió a ganar consistentemente en prácticamente todos los matches.</p>

<div id="attachment_63216" class="wp-caption aligncenter" style="width: 1266px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Cuadro-3-Alphazero-vs-Stockfish1.jpg" class="liimagelink"><img class="size-full wp-image-63216" title="Cuadro 3 Alphazero vs Stockfish" src="https://eltamiz.com/elcedazo/wp-content/uploads/2018/12/Cuadro-3-Alphazero-vs-Stockfish1.jpg" alt="" width="1256" height="500" /></a><p class="wp-caption-text">Resultado de los enfrentamientos con Stockfish, 100 partidas cada uno de ellos, 50 con cada color, partiendo de 50 posiciones iniciales del TCEC, que son las representadas en el cuadro. Se separan los resultados de Alphazero jugando con blancas y con negras. En verde, partidas ganadas por Alphazero; en rojo, perdidas por Alphazero, y en gris, tablas. Las posiciones no tienen por qué estar igualadas (y muchas no lo están). Es curioso que haya cuatro o cinco posiciones en las que Alphazero gana un número importante de partidas tanto con blancas como con negras. Y Stockfish salva su honor: hay dos o tres posiciones de las 50 donde vence claramente. Fuente: <a href="https://deepmind.com/documents/260/alphazero_preprint.pdf" target="_blank" class="lipdf">DeepMind</a>, con formato modificado por mí para ajustarlo a la página web.</p></div>

<p><strong>d)</strong> En las pruebas se usó la versión de Stockfish que ganó el TCEC de 2016, la versión 8, que era la vigente en el momento de la prueba. Sin embargo, mientras estaban confeccionando el documento apareció una nueva versión de Stockfish, la 9, por lo que programaron un nuevo duelo de 1.000 partidas con esa nueva versión&#8230; y el resultado fue muy similar al obtenido con la versión anterior: una paliza similar a la del enfrentamiento original. En el primer cuadro mostrado están los resultados de este match, similares a los del match base.</p>

<p><strong>e)</strong> Esta vez sí han publicado un gran número de partidas de los matches, no todas, porque son muchos miles. En concreto, se han publicado 110 partidas del match principal de 1.000 comenzadas desde la posición inicial, seleccionando una al azar de cada tipo de apertura usada, incluyendo las seis partidas perdidas por Alphazero en este match. También se han publicado otras 100 partidas más del match usando las posiciones predeterminadas de TCEC, en este caso seleccionando al azar una partida con blancas y otra con negras de cada una de las 50 posiciones usadas. Por fin, el gran maestro Matthew Sadler ha seleccionado 10 partidas más que le parecen interesantes para la comunidad de jugadores de ajedrez. Esta vez sí que hay donde mirar&#8230; por parte de quien sepa, claro.</p>

<p>En <strong><a href="https://chess24.com/en/read/news/alphazero-really-is-that-good" target="_blank" class="liexternal">esta excelente página de Colin McGourty en chess24.com</a></strong> podéis encontrar no sólo la noticia en sí, sino que se pueden reproducir (con la evaluación jugada a jugada  del propio Stockfish)  las nuevas 210 partidas publicadas, además de las 10 que se publicaron en diciembre de 2017. Y por si fuera poco, el gran maestro Matthew Sadler ha publicado cinco videos en los que analiza cinco partidas que para él tienen un gran interés para los aficionados, videos que se enlazan desde la propia página.</p>

<p>Como corolario curioso, dos o tres apreciaciones que a mí me surgen de la información publicada en el <em>paper</em>:</p>

<p>Una, que la mínima ventaja que da a las blancas el hecho de hacer el primer movimiento es sencillamente enorme. En el match base Alphazero fue capaz de ganar 145 partidas de las 500 que jugó con blancas, ¡un espectacular 29%!, pero apenas ganó 10 con negras, el 2%. En cuanto a Stockfish, de las seis partidas que ganó 4 lo fueron con blancas y 2 con negras. Y en los juegos basados en las “aperturas humanas” ocurre más o menos lo mismo, no tan acentuado&#8230; porque es obvio que hay aperturas más eficaces que otras para las blancas o para las negras. Todo esto me sugiere que, en el futuro, ni con un juego perfecto será posible ganar una partida con negras; lo máximo que se podrá aspirar será a entablar la partida. Hay grandes maestros (pocos, es cierto) que siempre han defendido que jugar con negras es algo magnífico y que hay las mismas posibilidades de ganar que con blancas. Pues no, es obvio.</p>

<p>Dos, y hablando de aperturas concretas, un tema infinito entre aficionados y jugadores profesionales, algunas han quedado poco menos que refutadas por Alphazero, mientras otras han recibido un espaldarazo. Por ejemplo, durante el proceso de aprendizaje, en el que el algoritmo iba eligiendo las mejores jugadas (y, por tanto, aperturas; recordad que Alphazero no usa un libro de aperturas) para enfrentarlas al “Mejor Jugador” del momento, fue transitando por diferentes sistemas y defensas, desde una bastante extraña al principio, pasando por el gambito de dama, la defensa francesa, etc&#8230; para quedarse finalmente (se supone que porque la considera la más firme) con la <a href="https://es.wikipedia.org/wiki/Apertura_espa%C3%B1ola" target="_blank" rel="nofollow" class="liwikipedia">Apertura Ruy López, o española</a>, y en concreto con la variante Berlín (1 e4, e5. 2 Cf3, Cc6. 3 Ab5, Cf6). Curiosamente, esta apertura está reputada como una de las más sólidas para las negras y ha sido empleada con fruición en torneos magistrales cuando el jugador con negras no quiere arriesgar y juega a no perder. En el duelo Carlsen-Kariakin del Campeonato del Mundo de 2016, por ejemplo, se empleó en más de la mitad de las partidas por uno y otro jugador.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_6_63206" id="identifier_6_63206" class="footnote-link footnote-identifier-link" title="Curiosamente, en el &uacute;ltimo duelo Carlsen-Caruana no se ha usado ni una vez&amp;#8230; posiblemente ambos jugadores ten&iacute;an miedo del an&aacute;lisis anti-Berl&iacute;n que hubiera podido hacer la otra parte y han jugado en su lugar mucha Siciliana, seguramente la apertura que lleva a posiciones de doble filo que da m&aacute;s oportunidades a ambos jugadores&amp;#8230; como bien ha demostrado Alphazero, por cierto.">7</a>]</sup></p>

<p>Y tres de las aperturas más antiguas, que se siguen jugando hoy en día, la Española clásica (1 e4, e5. 2 Cf3, Cc6. 3 Ag5, a6), la Defensa Francesa (1 e4, e6. 2 d4, d5.) y la Caro-Kann (1 e4, c6) han quedado virtualmente refutadas. Alphazero ha ganado más de las mitad de las partidas que jugó con blancas con estas aperturas y unas pocas con negras, mientras Stockfish apenas fue capaz de ganar un par o dos entre las tres. Es decir, a Alphazero mejor no le hagas una Caro-Kann o una Francesa: te destruirá. Y si quieres jugarle una Española, más te vale que sea una variante Berlín (1 e4, e5. 2 Cf3, Cc6. 3 Ab5, Cf6) o te destruirá de todos modos. Si Alphazero empieza con e4, mejor plantéale una Defensa Siciliana (1 e4, c5. 2 Cf3, Cc6.), es con la que tienes más oportunidades de que no te destroce.</p>

<p>.</p>

<p>Bien, creo que con las 4.000 palabras y pico que llevo hasta ahora es suficiente.<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_7_63206" id="identifier_7_63206" class="footnote-link footnote-identifier-link" title="Ya veis, no aprendo a resumir&amp;#8230;">8</a>]</sup> Esta forma autodidacta de aprender un juego como es el ajedrez, complejo y muy estudiado, ha resultado ser mucho más eficiente que cualquier otra. Y demuestra el poder de las redes neuronales y del <em>deep learning</em> aplicado a problemas reales. A mí me preocupa, sinceramente, que estos programas salten del inocuo y divertido juego del ajedrez (o del go, o del shogi) a otras áreas más&#8230; <em>importantes</em>. Que lo harán. Tarde o temprano, pero lo harán, si no lo han hecho ya. Y si alguien con criterio no tiene el control final sobre lo que puedan decidir estos supersistemas&#8230; a saber qué podría pasar. Claro que, por otra parte&#8230; ¿dónde encontraremos a esa persona o grupo de personas con <em>criterio suficiente</em> como para mantener el control final? ¿De verdad lo van a hacer “mejor” que las IA’s? <em>Bufff</em>. Viendo el nivel de competencia que demuestran cada día las <em>personas muy importantes</em> que dirigen este nuestro mundo&#8230; no quiero ni pensarlo.</p>

<p>Los optimistas (o pesimistas, quién sabe) dicen que ese escenario no va a ocurrir, que este tipo de juegos con reglas muy bien definidas y en ambientes cerrados son muy propicios para el autoaprendizaje, pero que el mundo real es muy distinto, mucho más difuso y con reglas cambiantes, donde no existe información perfecta para cadal problema y, por tanto, estas técnicas de <em>deep learning</em> no sirven para eso. Pero, claro, Google pagó una cantidad gigantesca de dinero<sup>[<a href="https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/#footnote_8_63206" id="identifier_8_63206" class="footnote-link footnote-identifier-link" title="Entre 400 y 500 millones de d&oacute;lares, seg&uacute;n parece.">9</a>]</sup> para hacerse con el control de DeepMind, compañía especializada en estas cositas de redes neuronales y tal&#8230; y no creo que su objetivo cuando la compró fuera exclusivamente darle una paliza al pobre diablo de Stockfish. En este siglo, en el que nuestro teléfono sabe de nosotros más que nosotros mismos, podemos esperar cualquier cosa. No necesariamente mala, desde luego. Pero, desgraciadamente, tampoco necesariamente buena.</p>

<p>Veremos.</p>

<p>Disfrutad de la vida, mientras podáis.</p>
<ol class="footnotes"><li id="footnote_0_63206" class="footnote">Además, en su web <a href="https://deepmind.com/blog/alphazero-shedding-new-light-grand-games-chess-shogi-and-go/" target="_blank" class="liexternal">han publicado mucha más información adicional</a>.</li><li id="footnote_1_63206" class="footnote">Una especie de ajedrez japonés que se juega en tableros de 9&#215;9, tiene piezas diferentes con movimientos diferentes a los del ajedrez y permite que las piezas capturadas puedan ser reintroducidas en el tablero, pero con el color cambiado, entre otras diferencias.</li><li id="footnote_2_63206" class="footnote">Antiquísimo juego chino de piedras blancas o negras que se juegan en un tablero de 19&#215;19 escaques, cuyo objetivo es dominar el máximo número posible de casillas del tablero eliminando las fichas del contrario que quedan rodeadas por las fichas propias.</li><li id="footnote_3_63206" class="footnote">Por cierto, estos valores normalmente aceptados son: peón, 1 punto; caballo y alfil, 3 puntos cada uno; torre, 5 puntos; dama, 9 ó 10 puntos (según dónde mires). El Rey no tiene un valor definido, puesto que tiene que estar siempre presente  o la partida ha terminado. Luego, su valor varía conforme van desapareciendo piezas del tablero y se convierte en un defensor o atacante activo más. De todas formas, estos valores teóricos sufren infinidad de modificaciones dependiendo de la posición: que esté más o menos abierta o cerrada, que haya o no amenazas materiales, etc, etc, etc.</li><li id="footnote_4_63206" class="footnote">Quizás puedan perder una partida de vez en cuando contra un gran maestro, pero en una confrontación a doce partidas, por ejemplo, son imbatibles.</li><li id="footnote_5_63206" class="footnote">Curioso resulta que en este caso concreto, y de forma excepcional, tanto Álphazero como Stockfish ganaran más partidas con negras que con blancas; habrá que revisar en serio si las aperturas más analizadas están de verdad bien analizadas.</li><li id="footnote_6_63206" class="footnote">Curiosamente, en el último duelo Carlsen-Caruana no se ha usado ni una vez&#8230; posiblemente ambos jugadores tenían miedo del análisis <em>anti-Berlín</em> que hubiera podido hacer la otra parte y han jugado en su lugar mucha Siciliana, seguramente la apertura que lleva a posiciones de doble filo que da más oportunidades a ambos jugadores&#8230; como bien ha demostrado Alphazero, por cierto.</li><li id="footnote_7_63206" class="footnote">Ya veis, no aprendo a resumir&#8230;</li><li id="footnote_8_63206" class="footnote">Entre 400 y 500 millones de dólares, según parece.</li></ol>]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2019/01/05/nuevos-datos-sobre-alphazero-un-avance-muy-significativo-en-la-inteligencia-artificial/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>AlphaZero: Un avance muy significativo de la Inteligencia Artificial</title>
		<link>https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/</link>
		<comments>https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#comments</comments>
		<pubDate>Tue, 26 Dec 2017 12:18:20 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Ingeniería]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">https://eltamiz.com/elcedazo/?p=57145</guid>
		<description><![CDATA[A principios de diciembre leí una noticia que me impactó bastante. La leí en El País, en las páginas deportivas correspondientes a los deportes minoritarios, firmada por Leontxo García, el magnífico corresponsal especialista de El País en ajedrez, que mantiene una interesantísima sección denominada “La Pasión del Ajedrez”.[1] El titular del artículo era nada menos [...]]]></description>
			<content:encoded><![CDATA[<p>A principios de diciembre leí una noticia que me impactó bastante. <a href="https://elpais.com/elpais/2017/12/07/ciencia/1512667534_598950.html" target="_blank" class="liexternal">La leí en El País</a>, en las páginas deportivas correspondientes a los deportes minoritarios, firmada por Leontxo García, el magnífico corresponsal especialista de El País en ajedrez, que mantiene una interesantísima sección denominada “La Pasión del Ajedrez”.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_0_57145" id="identifier_0_57145" class="footnote-link footnote-identifier-link" title="En otros tiempos yo jugu&eacute; al ajedrez a nivel de aficionado, bastante mal, por cierto. Ahora me gusta seguir de vez en cuando partidas de maestros, aunque reconozco que a duras penas las entiendo.">1</a>]</sup> El titular del artículo era nada menos que «<em>Jaque mate del “Messi de los chips</em>”»&#8230; a algún genio se le debió ocurrir que utilizando a modo de reclamo el nombre del futbolista argentino igual conseguía más clics en la noticia. En realidad el titular correcto debería haber sido algo como “<strong>Prepárense: la singularidad tecnológica, más cerca</strong>”, sólo que entonces, sin ese “Messi” en el título, seguro que no hubiera clicado casi nadie&#8230; En fin. El caso es que, aunque ha tenido mucha repercusión entre los jugadores de ajedrez y que bastantes medios tradicionales han publicado artículos contando con más o menos detalle la noticia, estoy seguro de que habrá pasado bastante inadvertida para el público en general entre el marasmo diario de información que nos llega cada día por diferentes medios.</p>

<p>El resumen del artículo en un único párrafo podría ser algo como: “<em>AlphaZero, una IA creada y entrenada por DeepMind, la división de Inteligencia Artificial de Google, ha derrotado en un match a Stockfish, considerado el mejor programa actual de ajedrez</em>”.</p>

<div id="attachment_57149" class="wp-caption alignleft" style="width: 240px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/tablero_ajedrez.png" class="liimagelink"><img class="size-full wp-image-57149" title="Tablero de Ajedrez" src="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/tablero_ajedrez.png" alt="" width="230" height="230" /></a><p class="wp-caption-text">Tablero de Ajedrez</p></div>

<p>O sea, un nuevo programa que juega al ajedrez ha derrotado al vigente campeón&#8230; ¡Menuda novedad! Es lo que lleva pasando los últimos 40 ó 50 años: que cada programa es más rápido, más potente y juega mejor que el anterior. En definitiva, poca cosa, ¿no?</p>

<p>Pues no. <strong>En mi opinión, esta vez no</strong>.</p>

<p>En este largo artículo intentaré convenceros de que esta noticia trasciende con mucho del especializado mundo del ajedrez, que esta vez es muy diferente y que esa derrota de Stockfish por parte de un “novato” como es AlphaZero es bastante significativa de que las cosas que tienen que ver con la inteligencia artificial, esta vez sí, están cambiando. Y no sé si es para bien o&#8230; o no.</p>

<p>Si eres jugador de ajedrez seguramente este artículo te sobre, porque conocerás todo lo que viene a continuación y mucho más. El artículo está destinado a quienes no tengan demasiada idea de ajedrez ni sigan el estado del arte de los programas de ajedrez, y pretende explicar las implicaciones últimas que tiene este evento extraordinario.</p>

<p>Eso sí: para contar bien el porqué de mi sorpresa no me queda más remedio, por ser fiel a mi dicharachero estilo, que comenzar por el principio e ir paso a paso&#8230; Tarde o temprano llegaré al meollo de lo que quiero contaros, pero me parece muy importante aquí fijar bien las bases históricas y tecnológicas para que se comprenda bien todo el asunto. Paciencia, pues.</p>

<h1><strong>BREVE HISTORIA DEL JUEGO DEL AJEDREZ</strong></h1>

<p>El <a href="https://es.wikipedia.org/wiki/Ajedrez" target="_blank" rel="nofollow" class="liwikipedia">ajedrez</a> es un juego de estrategia para dos personas, que van jugando alternativamente moviendo sus piezas, blancas las de un jugador y negras las del otro, por un tablero de 8&#215;8 escaques.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_1_57145" id="identifier_1_57145" class="footnote-link footnote-identifier-link" title="Escaque es cada una de las casillas blancas y negras (o al menos claras y oscuras) del tablero.">2</a>]</sup> Originario inicialmente de India, se conoce en su forma actual desde hace al menos quinientos o seiscientos años: a mediados del siglo XV se fijaron las reglas del juego tal y como las conocemos ahora y desde entonces se ha jugado ininterrumpidamente hasta nuestras fechas. Y cada día más.</p>

<p>Siendo como es un juego de <a href="/elcedazo/2011/08/21/teoria-de-juegos-xxix-wargames-5/" target="_blank" class="liinternal">información completa</a><sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_2_57145" id="identifier_2_57145" class="footnote-link footnote-identifier-link" title="Ambos jugadores poseen una informaci&oacute;n perfecta tanto de la situaci&oacute;n de las piezas propias y del contrincante como de las reglas; no hay informaci&oacute;n oculta de ning&uacute;n tipo.">3</a>]</sup> y con un elevadísimo número de partidas posibles, desde casi el principio de su expansión los jugadores vieron la necesidad de estudiar la teoría del juego para mejorar sus posibilidades de victoria. Y así comenzó el estudio sistemático de las aperturas, el de los finales, las diferentes estrategias del juego medio, etc. En los tres o cuatro párrafos que siguen voy a citar nombres de aperturas o de posiciones concretas con la jerga típica del ajedrez, pero sin describirlas en absoluto. Si no conocéis bien el juego, de todos modos leed estos párrafos aunque no sepáis a qué me refiero con lo de “apertura siciliana”, “peón pasado”, etc, porque lo importante de todo esto, que desarrollaré a continuación, tiene bastante que ver con todo este inmenso <em>corpus</em> de conocimiento sobre el juego que se ha ido acumulando a través de los siglos.</p>

<p>Efectivamente, multitud de jugadores de todos los tiempos han utilizado ingentes cantidades de esfuerzo y tiempo en analizar hasta el más mínimo detalle los intríngulis de las diferentes aperturas:<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_3_57145" id="identifier_3_57145" class="footnote-link footnote-identifier-link" title="Apertura: Formas distintas de comenzar el juego. Suele comprender los primeros doce o quince movimientos de cada jugador.">4</a>]</sup> la Española,<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_4_57145" id="identifier_4_57145" class="footnote-link footnote-identifier-link" title="As&iacute; nombrada en honor a Ruy L&oacute;pez de Segura, cl&eacute;rigo espa&ntilde;ol que la populariz&oacute; en el siglo XVI, y que sigue siendo posiblemente la apertura m&aacute;s jugada en la actualidad.">5</a>]</sup> la Siciliana, la Francesa, el Gambito de Dama, las Defensas Indias de Rey o Dama&#8230; Hay varias docenas de aperturas diferentes que se juegan con regularidad, todas ellas muy bien estudiadas. Y se escribieron tratados y compendios que estudiaban estas aperturas, tratados que con el tiempo quedaban obsoletos y eran sustituidos por otros nuevos&#8230; Lo poco que yo sé sobre aperturas lo aprendí estudiando el monumental trabajo del gran maestro internacional checo Ludek Pachman: cuatro volúmenes publicados a finales de los años 60 del siglo pasado que compendiaron todo el saber ajedrecístico del momento sobre los diferentes tipos de aperturas en el ajedrez.</p>

<div id="attachment_57150" class="wp-caption alignright" style="width: 444px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/Ajedrez-Staunton.jpg" class="liimagelink"><img class="size-full wp-image-57150" title="Ajedrez Staunton" src="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/Ajedrez-Staunton.jpg" alt="" width="434" height="299" /></a><p class="wp-caption-text">Listos para comenzar la partida</p></div>

<p>El mismo trabajo se hizo con los finales: son perfectamente conocidas las técnicas a usar cuando en el tablero quedan muy pocas piezas, y todo jugador decente sabe cómo dar mate sólo con torre, o con dos alfiles, o con alfil y caballo, etc, así como la forma coronar un peón o, en su caso, evitar la coronación cuando sólo hay peones y reyes en el tablero, etc.</p>

<p>Y el mismo esfuerzo y tiempo, o incluso más, se ha usado secularmente en comprender las características deseables de las posiciones de ajedrez (además de las obvias: diferencia de material –piezas– entre uno y otro jugador, amenazas concretas al rey, la dama, etc), por ejemplo la existencia de peones pasados, de columnas abiertas o semiabiertas, la posición del rey (en el centro o enrocado), la obtención de la calidad o la importancia de mantener la pareja de alfiles, entre muchos otros detalles más o menos procelosos que, sin embargo, los jugadores tienen en cuenta para evaluar una posición.</p>

<p>El ajedrez está considerado como el juego de estrategia entre dos jugadores por antonomasia (con permiso del Go que, aunque es de complejidad similar o incluso mayor, no cuenta ni de lejos con el enorme número de aficionados que juegan regularmente al ajedrez). Los jugadores dedicaban, y dedican, horas y más horas al entrenamiento, a conocer cada variante de cada apertura, a encontrar los puntos fuertes y débiles de cada posición, a analizar con el máximo detalle cada partida, cada variante, cada jugada, todo en aras de mejorar su juego y vencer al rival.</p>

<p>Y entonces&#8230; llegaron los ordenadores.</p>

<h1><strong>LOS ORDENADORES Y EL AJEDREZ</strong></h1>

<p>Los primeros ordenadores eran mamotretos enormes, carísimos y con poquísima capacidad, incluso para la época. Y se usaban para <em>Cosas-Verdaderamente-Importantes</em>, como derrotar a la Alemania nazi en la Segunda Guerra Mundial,<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_5_57145" id="identifier_5_57145" class="footnote-link footnote-identifier-link" title="Esto hizo Colossus, el primer aut&eacute;ntico ordenador creado en Bletchley Park, Inglaterra, para descifrar el c&oacute;digo Enigma usado por los alemanes.">6</a>]</sup> o calcular los parámetros necesarios para que estallaran las bombas nucleares,<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_6_57145" id="identifier_6_57145" class="footnote-link footnote-identifier-link" title="Richard Feynman, por ejemplo, cuenta su trabajo dentro del Proyecto Manhattan en el Laboratorio de Los &Aacute;lamos calculando precisamente esto.">7</a>]</sup> o poner un cacharro en el espacio, incluso con habitantes dentro&#8230; Pero pronto los incipientes ingenieros e informáticos volvieron su atención al ajedrez, con el ánimo de programar un software que fuera capaz de jugar lo mejor posible. El motivo es claro: el ajedrez es un juego con reglas precisas y no demasiado complicadas, pero que son capaces de generar tantas partidas diferentes como átomos tiene el universo,<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_7_57145" id="identifier_7_57145" class="footnote-link footnote-identifier-link" title="Vale, a lo mejor exagero, pero en cualquier caso el n&uacute;mero de partidas posibles es de un uno y un mont&oacute;n de ceros detr&aacute;s.">8</a>]</sup> y es de información completa, así que resulta idóneo para su programación en ordenadores, y además está bien estudiado en cuanto a técnicas poderosas de juego que facilitan la elección de la próxima jugada en la esperanza de que sea la mejor.</p>

<p>En una palabra, <strong>el ajedrez es perfecto para investigar nuevas técnicas de evaluación y decisión que luego pudieran ser extrapoladas a otros campos más interesantes y productivos</strong>.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_8_57145" id="identifier_8_57145" class="footnote-link footnote-identifier-link" title="Pongo esta frase en negrita porque es el quid de todo el asunto. Recordadla para dentro de un rato.">9</a>]</sup></p>

<p>Tan pronto como en 1976 o 1977 tuve yo una asignatura en <a href="https://eltamiz.com/elcedazo/series/historia-de-un-viejo-informatico/" target="_blank" class="liexternal">mi ya olvidada carrera</a> que trataba, entre otros temas absolutamente novedosos en la época, sobre cómo atacar la programación de un software que jugara al ajedrez de manera&#8230; digamos que algo más sofisticada que un principiante. Por ejemplo, un serio problema de entonces era la representación del tablero en la memoria del ordenador: era vital poder codificar la posición de las piezas en el tablero de forma que la información fuera completa pero que ocupara el mínimo espacio posible&#8230; ¡los ordenadores de la época tenían 8, 16 o, en el mejor de los casos, 32 Kb de memoria!<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_9_57145" id="identifier_9_57145" class="footnote-link footnote-identifier-link" title="Kb: Kilobyte, o sea, 1.024 bytes cada uno. Un ordenador de la &eacute;poca ten&iacute;a 16.384 octetos o, en el mejor de los casos, 32.768. Es decir, uno o dos millones de veces menos que esa min&uacute;scula tarjeta de memoria que tienes en tu c&aacute;mara de fotos o en tu tel&eacute;fono m&oacute;vil&amp;#8230;">10</a>]</sup> y había que ahorrar cada byte. Todo programa que juega al ajedrez en primer lugar genera todas las jugadas que sean posibles en la posición, las evalúa de una u otra forma y luego procede a calcular de la misma manera las posibles respuestas del contrincante para cada una de ellas, posiblemente no de todas, sino sólo de las seleccionadas&#8230; y este proceso se repite algunas veces, tantas como niveles de análisis alcance el juego. En cuanto se analizan así tres o cuatro niveles (claramente insuficientes para jugar decentemente), se genera un árbol con un número de tableros representados que crece de forma exponencial, y si no hay memoria para almacenarlos y compararlos entre sí&#8230; mala cosa.</p>

<p>Una vez determinada la representación más idónea (y compacta), hay que evaluar la posición resultante&#8230; y no una sola, claro, sino todas ellas, para determinar mediante un valor numérico si es buena o mala para las blancas o las negras. Por ejemplo, valores positivos dan ventaja a las blancas y negativos, a las negras. Y aquí es donde de verdad los ingenieros se toparon con un problema. Un problema serio, en apariencia irresoluble: ¿cómo valorar una determinada posición de las piezas en el tablero? Existían, ya lo dije, libros, muchos libros sobre estrategia ajedrecística en las diferentes fases de la partida, pero esas normas y reglas generales tenían montañas de excepciones, cuando no eran directamente contradictorias. Algo muy difícil de compilar en un programa, máxime con las limitadas capacidades de aquellos cacharros antediluvianos. No obstante, se fueron haciendo los primeros pinitos.</p>

<p>Los primeros programas jugaban muy mal. Quizás podían ganar a un principiante que acabara de aprender las reglas, pero no a un jugador aficionado ni mucho menos a un maestro. La principal limitación estribaba, obviamente, en la incapacidad de analizar muchos niveles de juego, como hace un maestro habitualmente cuando analiza una posición, debido a la escasa capacidad de cálculo. El método de evaluación iba paulatinamente mejorando, pero la falta de potencia de los ordenadores impedía jugar una partida decente en tiempo razonable. Se implementaron algoritmos de podado del árbol, el más conocido el llamado “<a href="https://es.wikipedia.org/wiki/Poda_alfa-beta" target="_blank" rel="nofollow" class="liwikipedia">alpha-beta</a>”, que elimina para su análisis posterior todos aquellos nodos (jugadas) que son aparentemente malas&#8230; y entiéndase <em>aparentemente malas</em> en base a la imperfecta valoración que de las posiciones se efectuaban por entonces. Pero, claro, con los años los ordenadores fueron mejorando en prestaciones y bajando de precio. Y aquellos toscos programas fueron a su vez mejorando, y los ingenieros y programadores, aprendiendo por el camino.</p>

<div id="attachment_57151" class="wp-caption alignright" style="width: 400px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/390px-Novag_Constellation_Forte.jpg" class="liimagelink"><img class="size-full wp-image-57151" title="390px-Novag_Constellation_Forte" src="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/390px-Novag_Constellation_Forte.jpg" alt="" width="390" height="293" /></a><p class="wp-caption-text">La Novag Constellation Forte. ¡Qué gran máquina!, sobre todo teniendo en cuenta que salió al mercado en 1986&#8230;</p></div>

<p>A finales de los ochenta ya había máquinas comerciales que jugaban aceptablemente a nivel aficionado. En 1988 yo me compré, pagando una auténtica fortuna, una máquina Novag Constellation Forte con la que he pasado muchos momentos placenteros&#8230; ¡y eso que casi siempre me ganaba! Vale, sí, a mí me ganaba (y me sigue ganando, conste), pero a un maestro no le resistiría ni un asalto.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_10_57145" id="identifier_10_57145" class="footnote-link footnote-identifier-link" title="Las caracter&iacute;sticas de la Novag eran impresionantes para una m&aacute;quina de ajedrez de la &eacute;poca: procesador con 5 Mhz de velocidad de reloj, 64 Kb de memoria ROM y nada menos que 4 Kb de memoria RAM. S&iacute;, Kb, no Gb, ni siquiera Mb.">11</a>]</sup> Pues bien, ésa era la impresión general de la época: <em>por muy bien que llegue a jugar un ordenador, pasarán muchas décadas antes de que sea capaz de ganar a un maestro, y no digamos a un Gran Maestro&#8230; ¡o al Campeón del Mundo!</em> Y había incluso quien decía que <em>nunca jamás</em> se produciría tal evento.</p>

<p>Pues bien, <strong>exactamente eso pasó el día 10 de febrero de 1996, cuando <a href="https://es.wikipedia.org/wiki/Deep_Blue_(computadora)" target="_blank" rel="nofollow" class="liwikipedia">Deep Blue</a> derrotó a Gary Kasparov</strong>, el entonces invencible campeón del mundo en lo más excelso de su juego. Deep Blue era un superordenador IBM RS/6000 con 30 procesadores P2SC de 120 Mhz ampliados con 480 procesadores VLSI y un software específicamente diseñado para jugar al ajedrez. Lo basó todo en la fuerza bruta: con sus centenares de procesadores trabajando en paralelo calculaba unos cien millones de posiciones por segundo, un logro espectacular en esa fecha. Kasparov ganó de todos modos ese duelo a seis partidas por 4-2, a pesar de perder una de ellas,<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_11_57145" id="identifier_11_57145" class="footnote-link footnote-identifier-link" title="De las cinco restantes partidas, Kasparov gan&oacute; 3 y empat&oacute; las otras dos.">12</a>]</sup> pero al año siguiente el sucesor de Deep Blue (denominado, en un alarde de imaginación, <em>Deeper Blue</em>) derrotó finalmente a Kasparov en otro match a seis partidas por 3,5 a 2,5, ganando dos partidas, perdiendo una y haciendo tres veces tablas.</p>

<p>Estos dos duelos fueron el pistoletazo de salida para la imparable progresión de los programas que juegan al ajedrez. Vinieron Arasan, Rebel 3D, Chessmaster, Fritz&#8230; cada uno con más potencia y capacidad que el anterior. Se aprovechaban no sólo del increíble salto de potencia de los ordenadores, sino del cada vez mayor y mejor uso de técnicas de evaluación de las posiciones. Tanto era así que los jugadores humanos crearon <a href="https://es.wikipedia.org/wiki/T%C3%A1cticas_anticomputador" target="_blank" rel="nofollow" class="liwikipedia">estrategias nuevas para competir con las nuevas generaciones de programas ajedrecísticos</a>, haciendo movimientos muy conservadores a largo plazo, o bien entregando un peón “gratis” a cambio de un mejor desarrollo, etc. Pero estas nuevas tácticas tampoco duraron mucho. Los programas de ajedrez fueron mejorando, incorporando nuevas habilidades o recursos, aprovechando la creciente potencia del hardware&#8230; <strong>Ahora ya no hay un humano que sea capaz de ganar consistentemente a las máquinas jugando al ajedrez</strong>. Ya no, hace años que no.</p>

<p>La forma de clasificar a los jugadores de ajedrez es mediante un sistema llamado “<a href="https://es.wikipedia.org/wiki/Sistema_de_puntuaci%C3%B3n_Elo" target="_blank" rel="nofollow" class="liwikipedia">Sistema de puntuación ELO</a>”,<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_12_57145" id="identifier_12_57145" class="footnote-link footnote-identifier-link" title="Curiosamente, ELO no es un acr&oacute;nimo, sino el apellido del inventor del sistema, el h&uacute;ngaro Arpad Elo.">13</a>]</sup> que va quitando o poniendo puntos a los jugadores en función de los resultados de sus partidas con otros jugadores. Básicamente, se comparan los ELO’s previos de ambos jugadores y en función del resultado real de la partida se trasvasan puntos de uno a otro jugador. Pues bien, en el momento de juntar estas letras, el jugador con <a href="https://2700chess.com/" target="_blank" class="liexternal">ELO más alto</a> es precisamente el campeón mundial, el noruego Magnus Carlsen, con un valor de ELO de entre 2.833 y 2.986 dependiendo de si son partidas tradicionales (o sea, largas), cortas o relámpago. Y seguramente ese 2.986 en partidas blitz -o sea, las rapidísimas: 5 minutos para 40 movimientos- sea el valor más alto jamás alcanzado por un jugador en la historia, o estará muy cerca.</p>

<p>Pues bien, el campeón mundial de programas de ajedrez es <a href="https://es.wikipedia.org/wiki/Stockfish_(ajedrez)" target="_blank" rel="nofollow" class="liwikipedia">Stockfish</a>, con otros como Houdini, Komodo o Rybka muy cerca de él. Se trata de un programa de código abierto, es decir, gratuito, que tiene reconocido un ELO de&#8230; ¡3.400 puntos!<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_13_57145" id="identifier_13_57145" class="footnote-link footnote-identifier-link" title="&iexcl;Y hasta de 3.650 en partidas r&aacute;pidas!">14</a>]</sup> Es decir, entre 550 y 600 puntos más que Carlsen, el actual campeón mundial que es, posiblemente, el jugador más fuerte de la historia.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_14_57145" id="identifier_14_57145" class="footnote-link footnote-identifier-link" title="Los jugadores actuales &ndash;el propio Carlsen, Kariakin, Caruana, Aronian, Nakamura, etc&ndash; tienen la ventaja de tener a su disposici&oacute;n todos estos programas para poder entrenarse con ellos, lo que les permite ir mucho m&aacute;s all&aacute; en su estudio del juego de lo que nunca pudieron ir genios como Capablanca, Alekhine, Tal, Bobby Fischer o el propio Kasparov. Por ello es opini&oacute;n generalizada que son m&aacute;s fuertes que cualquier otro jugador de la historia, por genial que &eacute;ste fuera.">15</a>]</sup> En un duelo entre Carlsen y Stockfish, o cualquier otro programa de potencia similar, no cabe la menor duda de quién obtendría la victoria. Y no sería Carlsen, precisamente.</p>

<p>Son, en definitiva, programas muy sofisticados, que incorporan siglos de conocimiento del juego, que se apoyan en: <em>a)</em> completísimos libros de aperturas que compilan prácticamente todas las aperturas conocidas;<em> b)</em> exhaustivas <a href="https://es.wikipedia.org/wiki/Base_de_datos_de_tablas_de_finales" target="_blank" rel="nofollow" class="liwikipedia">bases de datos de finales</a>, que muestran el camino exacto, la mejor jugada posible para conseguir la victoria en posiciones del final de partida, con pocas piezas en juego; <em>c)</em> elaborados mecanismos de evaluación de las posiciones atendiendo a centenares de parámetros posicionales y tácticos refinados durante muchos años de experiencia analítica; y <em>d)</em> poderosos y muy eficientes algoritmos de poda de los árboles resultantes, para elegir las jugadas más prometedoras en las que profundizar el análisis. Y todo ello con un potente hardware que les permite analizar decenas de millones de movimientos por segundo.</p>

<p>En una palabra: estos programas para jugar al ajedrez son el resultado de millones de horas de análisis, investigación y estudio tanto de jugadores y analistas de ajedrez como de ingenieros e informáticos. Son el culmen del desarrollo humano para jugar a este juego tan especial. Son&#8230; perfectos.</p>

<p>¿<em>Perfectos</em>?</p>

<h1><strong>CUANDO TODOS ERAN FELICES&#8230; ENTONCES LLEGO ALPHAZERO</strong></h1>

<p>Como hemos visto, Stockfish, Houdini y otros programas han sido desarrollados paso a paso con los algoritmos específicos más avanzados para comprender el juego del ajedrez y la experiencia acumulada a lo largo de los años. Representan lo que podríamos llamar “la aproximación del ingeniero” para resolver un problema. Sin embargo, hay otra aproximación diferente para aprender a jugar al ajedrez, que es básicamente la que utiliza un niño al que se le enseñan las reglas básicas: <strong>el ensayo-error</strong>. El niño recién enseñado de momento no sabe nada de la apertura española, ni de las ventajas de clavar las piezas, ni de la forma de dar mate con sólo una torre: lo que hace es comenzar a jugar partidas moviendo las piezas según se le va ocurriendo y aprender del resultado.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_15_57145" id="identifier_15_57145" class="footnote-link footnote-identifier-link" title="As&iacute; aprendieron Capablanca o Bobby Fischer, por citar s&oacute;lo a dos genios del ajedrez.">16</a>]</sup> Aprende que sacar a pasear la dama a las primeras de cambio no suele ser una buena elección, a evitar el mate pastor y que una torre vale más que un caballo. Con el tiempo, poco a poco, empieza a dominar los aspectos de la táctica y la estrategia&#8230; y entonces quedará irremisiblemente atrancado, hasta que algún vecino amable le regale un libro de aperturas o sobre táctica y descubra que todo lo que ha aprendido a golpe de partidas perdidas se puede aprender en los libros que han escrito otros que, a su vez, han aprendido en libros que han escrito otros más, que a su vez&#8230; Y comenzará a usar programas que mejoren su juego y su análisis, y a contrastar su sapiencia en torneos con la del resto de jugadores que, básicamente, han aprendido como él mismo. Eventualmente, si te llamas Magnus Carlsen y eres un superdotado para este juego llegarás a ganar el campeonato mundial. Varias veces.</p>

<p>Lo que parece evidente es que el aprendizaje por ensayo y error está limitado: llegará un momento en que será casi imposible mejorar a base de jugar partidas sin saber nada de aperturas, ni de finales, ni de bla, bla, bla&#8230; ¿no?</p>

<p>Pues parece que no. <strong>Porque así, precisamente así es como AlphaZero ha aprendido lo que sabe</strong>. Y sabe mucho.</p>

<p>Desde hace mediados de los 70 se conocen diversas técnicas de lo que se llama “Inteligencia Artificial”. En los años 90, los que molaban eran los “<a href="https://es.wikipedia.org/wiki/Sistema_experto" target="_blank" rel="nofollow" class="liwikipedia">Sistemas Expertos</a>”, que iban aprendiendo el comportamiento del mundo según se lo explicaban expertos humanos que les enseñaban qué decisiones tomarían ellos ante una cierta situación. Aquello cayó finalmente en el olvido, o casi, debido a la dificultad de que los expertos humanos pudieran coherentemente razonar el porqué de sus decisiones, y entonces se pensó que lo idóneo era que las IAs aprendieran solitas. En consecuencia se inventaron las “<a href="https://es.wikipedia.org/wiki/Red_neuronal_artificial" target="_blank" rel="nofollow" class="liwikipedia">redes neuronales</a>” y el &#8220;<a href="https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico" target="_blank" rel="nofollow" class="liwikipedia">aprendizaje automático</a>&#8221; (<em>machine learning</em>). Se basan en crear una suerte de “neuronas” virtuales organizadas en diferentes capas, a las que se entregan unos ciertos datos de entrada y una salida esperada, para que aprendan de estos datos reales. Por ejemplo, se les entregan miles o millones de letras “a” manuscritas (que un humano ha determinado previamente que son, efectivamente, aes), y la red se va automodificando (modifica los pesos que aplica en cada capa a cada característica básica) para ir comprendiendo la estructura íntima de lo que los humanos llamamos “a”. Si todo va bien, al final la red será capaz de identificar qué es una “a” manuscrita, posiblemente mejor incluso que los propios humanos.</p>

<div id="attachment_57158" class="wp-caption alignleft" style="width: 310px"><a href="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/deepmind-alphazero-ai.jpg" class="liimagelink"><img class="size-medium wp-image-57158" title="deepmind-alphazero-ai" src="https://eltamiz.com/elcedazo/wp-content/uploads/2017/12/deepmind-alphazero-ai-300x168.jpg" alt="" width="300" height="168" /></a><p class="wp-caption-text">AlphaZero, creado por DeepMind</p></div>

<p>Pues bien, AlphaZero, creada por <a href="https://es.wikipedia.org/wiki/Google_DeepMind" target="_blank" rel="nofollow" class="liwikipedia">DeepMind, la división de IA de Google</a>, es una red neuronal. Con suficientes capas y un algoritmo de aprendizaje general que, en principio, sirve para casi todo, lo que normalmente quiere decir para bastante poco; ya se sabe el antiguo dicho: aprendiz de mucho, maestro de nada. Es decir, <strong>no está especializada en ajedrez</strong>. No tiene un gigantesco libro de aperturas que le guíe por los intrincados comienzos de las partidas. No conoce los valores teóricos de cada pieza, afinados tras siglos de análisis. No tiene una completa tabla de finales que indique la forma correcta de jugar estas posiciones. No sabe nada de la estrategia del juego medio, ni de los trucos tácticos ni de cómo valorar las interioridades de ciertas posiciones. A AlphaZero únicamente se le han enseñado las reglas del juego: cómo mueven las fichas, cómo se comen, cómo promocionan los peones al llegar a la octava fila y, por supuesto, cuál es el objetivo de la partida, que es zamparse al rey enemigo.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_16_57145" id="identifier_16_57145" class="footnote-link footnote-identifier-link" title="En realidad nadie se come al rey: se anuncia jaque-mate, es decir, que a la pr&oacute;xima el rey ser&aacute; indefectiblemente comido, y se termina la partida sin darse el real fest&iacute;n, aunque en la pr&aacute;ctica magistral es raro que se d&eacute; mate: el jugador abandona antes de eso, cuando ve que tiene la partida perdida.">17</a>]</sup> En una palabra, <strong>Alphazero no tiene ni idea de todos aquellos sibilinos detalles que hacen realmente fuertes a los programas especializados y, por ende, a los jugadores humanos.</strong> Es únicamente una red neuronal profunda y un algoritmo tipo <em>tabula rasa</em> para reforzar el aprendizaje. No usa el algoritmo “alpha-beta”, ni tampoco el “minimax”, los habituales en programas de ajedrez, sino uno mucho más genérico: un <a href="https://es.wikipedia.org/wiki/M%C3%A9todo_de_Montecarlo" target="_blank" rel="nofollow" class="liwikipedia">algoritmo de tipo MonteCarlo</a> para optimizar la selección de valores. Nada más.</p>

<p>A Alphazero, tras enseñarle las reglas, le han puesto a entrenarse jugando contra sí mismo, es decir, a entrenar su red neuronal por ensayo-error: hago un movimiento más o menos aleatorio tras otro, primero con blancas, luego con negras y, al final, uno de los dos bandos da mate. Y eso es bueno, luego los movimientos que hizo ese jugador deben ser mejores que los del que perdió. Con esta información se retroalimenta la red. Y repetimos el proceso usando los nuevos pesos de la red. Una y otra vez. Hasta hace no mucho diríamos que necesitaría muchos millones de repeticiones para jugar a nivel de jugador de club&#8230; y lo de llegar a jugar a nivel de maestro es ya otro cantar que difícilmente se puede alcanzar trabajando exclusivamente de esta forma.</p>

<p>Sin embargo, algo en el horizonte intuía que esto podría cambiar: una versión anterior de esta red, llamada AlphaGo, entrenada básicamente de la misma forma, había vencido en 2016 a Lee Sedol, jugador de Go coreano que es el campeón mundial del juego. Para la posteridad quedó la cara de absoluta incredulidad del pobre Lee ante una cierta jugada de AlphaGo que le desarboló completamente: más de veinte segundos con la boca abierta y ojos como platos antes de exclamar vaya Vd. a saber qué en coreano. Ya dije que el Go es un juego de estrategia si cabe más complicado que el ajedrez. Y siendo como es este AlphaZero un heredero de AlphaGo&#8230;</p>

<h1><strong>LOS HECHOS</strong></h1>

<p>Según el <a href="https://cdn.chess24.com/GzFl-Z4-SVWO-mC9rL6XhQ/original/mastering-chess-and-shogi-by-self-play.pdf" target="_blank" class="lipdf"><em>paper</em> publicado por DeepMind</a>, entrenaron AlphaZero durante 24 horas.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_17_57145" id="identifier_17_57145" class="footnote-link footnote-identifier-link" title="No queda muy claro si el entrenamiento fue de 4 horas, de 8 o de 24&amp;#8230; en cualquier caso es una nimiedad; poco importa si fueron 8 o 24: en cualquier caso son muy, muy pocas.">18</a>]</sup> En unas 300.000 iteraciones, unas cuatro horas de autojuego, ya había alcanzado el nivel de Stockfish. Al acabar el entrenamiento se programó un duelo con Stockfish versión 8, un match de 100 partidas, 50 con cada color. Stockfish fue configurado con su nivel más fuerte, usando 64 hilos y un Gigabyte para la tabla hash donde evalúa las posiciones. Con esa configuración evalúa unos 70 millones de movimientos por segundo. Es decir, Stockfish jugaba a su máxima potencia posible. El match se jugó. Y el resultado fue&#8230;&#8230;&#8230;&#8230;&#8230; . . . .  .  .  .</p>

<h2 style="text-align: center;"><strong>¡ 28 a 0 ! </strong></h2>

<p>O, si queréis, 64 a 36:<strong> AlphaZero ganó a Stockfish 28 partidas y las 72 restantes fueron tablas</strong>. No perdió ni una. De las 28 partidas ganadas, 25 fueron con blancas<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_18_57145" id="identifier_18_57145" class="footnote-link footnote-identifier-link" title="Las blancas son siempre las que inician el juego y, por tanto, deciden el tipo general de apertura.">19</a>]</sup> y 3 con negras. Y encima, para conseguir tal hazaña sólo necesitó calcular 80.000 movimientos por segundo. No 80 millones: sólo 80.000, casi mil veces menos que Stockfish. Algunos comentaristas inciden en que parece que las condiciones del match, con un minuto de evaluación por movimiento, no son los más adecuados para Stockfish versión 8, la utilizada en el match, y parece que tampoco se le dejó usar su base de datos de finales. Da igual: en el <em>paper</em> publicado se han mostrado como ejemplo 10 partidas de las 100 que jugaron, y en muchos casos AlphaZero ha realizado jugadas que, por decirlo de algún modo, están simplemente fuera de la comprensión actual del ajedrez. Tanto de humanos como de máquinas.</p>

<p>Por ejemplo, hay maestros que aseguran que <a href="http://www.chessgames.com/perl/chessgame?gid=1899418" target="_blank" class="liexternal">la jugada 21 de la sexta partida publicada</a>, <strong>Ag5</strong>, es la mejor jugada del año. O de la década, o del siglo, quién sabe. Un movimiento imposible de ver, incomprensible para humanos, incluso para el propio Stockfish, que ni tan siquiera lo considera en sus análisis por estúpido y perdedor, pero que una vez jugado deja la partida vista para sentencia. Si os interesa, esa partida concreta está maravillosamente comentada por el Gran Maestro Pepe Cuenca en <a href="https://www.youtube.com/watch?v=9nkLJreG21c" target="_blank" class="liexternal">este video</a>. En el mes escaso que Alphazero lleva en el candelero, las 10 partidas publicadas han sido destripadas, analizadas y comentadas muchas veces por una legión de analistas asombrados. El propio Leontxo García, <a href="https://elpais.com/elpais/2017/12/17/media/1513529905_038469.htmlhttp://" target="_blank" class="liexternal">en el comentario a esa misma partida en El País</a>, asegura que &#8220;si existe alguna civilización superior a la humana en otro planeta quizá juegue así de bien&#8230;&#8221;.</p>

<p>No sé cómo calificar estos datos, teniendo en cuenta el fortísimo nivel del rival&#8230; y no quiero pensar qué hubiera pasado de haber jugado con un humano, con <em>cualquier</em> humano. Es como si un partido de fútbol de la Champions acabara 35 a 0, o como si de pronto un corredor de maratón hiciera una marca de una hora y cuarto. Es impensable, es increíble. Es una paliza en toda regla, <strong>una enmienda a la totalidad al modo en que tradicionalmente los informáticos hemos atacado los problemas</strong>&#8230;</p>

<p>&#8230;Y también algo que nos debe preocupar seriamente. Al menos a mí me preocupa. Porque para AlphaZero y sus creadores el ajedrez es simplemente un medio, una mera anécdota.</p>

<h1><strong>LAS IMPLICACIONES</strong></h1>

<p><strong>Lo de menos es que AlphaZero juegue bien al ajedrez</strong>. O al Go, o al Shogi, una especie de ajedrez japonés.<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_19_57145" id="identifier_19_57145" class="footnote-link footnote-identifier-link" title="Incidentalmente, DeepMind us&oacute; la misma red neuronal y los mismos algoritmos para entrenar a AlphaZero a jugar al Go y al Shogi, con tiempos de entrenamiento similares. Pod&eacute;is imaginar el resultado de los duelos contra los programas campeones del mundo de Go, el propio AlphaGo antes mencionado, y Elmo, en Shogi. Palizas de dimensiones b&iacute;blicas, igual que en ajedrez.">20</a>]</sup> De paso, AlphaZero encontró por el camino, y sin ayuda, todas las aperturas más jugadas y analizadas a lo largo de los siglos, las usó frecuentemente y fue capaz de batir a Stockfish y su ingente base de datos una y otra vez, sin perder una sola partida. Reproduzco, en fin, un párrafo lapidario del propio <em>paper</em>:<sup>[<a href="https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/#footnote_20_57145" id="identifier_20_57145" class="footnote-link footnote-identifier-link" title="Que no voy a traducir, es bastante sencillo de comprender.">21</a>]</sup></p>

<p>“<em>The game of chess represented the pinnacle of AI research over several decades. State-of-the-art programs are based on powerful engines that search many millions of positions, leveraging handcrafted domain expertise and sophisticated domain adaptations. AlphaZero is a generic reinforcement learning algorithm – originally devised for the game of Go – that achieved superior results within a few hours, searching a thousand times fewer positions, given no domain knowledge except the rules of chess. Furthermore, the same algorithm was applied without modification to the more challenging game of shogi, again outperforming the state of the art within a few hours</em>”.</p>

<p>Sí, todo lo anterior es lo de menos. Lo de verdad impactante de la noticia es que una red neuronal sin grandes conocimientos de un tema concreto y altamente especializado sea capaz, en tan sólo 24 horas de entrenamiento (o las que sean) jugando contra sí misma, de alcanzar un dominio del juego muy superior al preexistente, con una comprensión de las posiciones lejos del alcance de cualquier otro organismo, esté basado en el carbono o en el silicio. En unas pocas horas de entrenamiento ha aprendido de ajedrez más que todos los humanos y programas juntos durante siglos. Ha encontrado todos los trucos y estrategias que tanto ha costado encontrar a los especialistas, obviamente también alguna nueva desconocida, y todo sin siquiera jugar contra un rival ni enseñanza teórica alguna.</p>

<p>No quiero pensar lo que podría hacer un programa como éste si lo pusieran a analizar <em>Otras-Cosas-Más-Importantes</em>. Relaciones internacionales. Comercio, importación y exportación. Obtención de nuevos medicamentos. Fabricación y logística. Marketing y publicidad. Conducción automática. Gestión energética. Control de Armas. Gestión de conflictos. Reconocimiento de patrones, de caras, de objetos. Y mil cosas más que no se me ocurren, pero que a alguien se le ocurrirán. Cosas que, con toda seguridad, van a analizar. DeepMind es una división de Google, no lo olvidemos, y, que yo sepa, Google es una empresa con ánimo de lucro (como todas, claro), y no una ONG. Y, desde luego, no están solos: hay otras empresas e investigadores punteros trabajando en Inteligencia Artificial. Muchos.</p>

<p>Como antes recalqué, <em>el ajedrez es perfecto para investigar nuevas técnicas de evaluación y decisión que luego pudieran ser extrapoladas a otros campos más interesantes y productivos</em>. La duda es: interesantes y productivos&#8230; ¿<em>para quién</em>?</p>

<p>¿Estará <a href="https://es.wikipedia.org/wiki/Skynet_(Terminator)" target="_blank" rel="nofollow" class="liwikipedia">Skynet</a> más cerca de lo que pensamos?</p>

<p>¡Suerte!</p>

<p>Disfrutad la vida, mientras podáis. Y esta vez va en serio.</p>
<ol class="footnotes"><li id="footnote_0_57145" class="footnote">En otros tiempos yo jugué al ajedrez a nivel de aficionado, bastante mal, por cierto. Ahora me gusta seguir de vez en cuando partidas de maestros, aunque reconozco que a duras penas las entiendo.</li><li id="footnote_1_57145" class="footnote">Escaque es cada una de las casillas blancas y negras (o al menos claras y oscuras) del tablero.</li><li id="footnote_2_57145" class="footnote">Ambos jugadores poseen una información perfecta tanto de la situación de las piezas propias y del contrincante como de las reglas; no hay información oculta de ningún tipo.</li><li id="footnote_3_57145" class="footnote">Apertura: Formas distintas de comenzar el juego. Suele comprender los primeros doce o quince movimientos de cada jugador.</li><li id="footnote_4_57145" class="footnote">Así nombrada en honor a <a href="https://es.wikipedia.org/wiki/Ruy_L%C3%B3pez_de_Segura" target="_blank" rel="nofollow" class="liwikipedia">Ruy López de Segura</a>, clérigo español que la popularizó en el siglo XVI, y que sigue siendo posiblemente la apertura más jugada en la actualidad.</li><li id="footnote_5_57145" class="footnote">Esto hizo Colossus, el primer auténtico ordenador creado en Bletchley Park, Inglaterra, para descifrar el código Enigma usado por los alemanes.</li><li id="footnote_6_57145" class="footnote"><a href="/elcedazo/2015/01/24/has-leido-esta-usted-de-broma-sr-feynman/" target="_blank" class="liinternal">Richard Feynman</a>, por ejemplo, cuenta su trabajo dentro del Proyecto Manhattan en el Laboratorio de Los Álamos calculando precisamente esto.</li><li id="footnote_7_57145" class="footnote">Vale, a lo mejor exagero, pero en cualquier caso el número de partidas posibles es de un uno y un montón de ceros detrás.</li><li id="footnote_8_57145" class="footnote">Pongo esta frase en negrita porque es el quid de todo el asunto. Recordadla para dentro de un rato.</li><li id="footnote_9_57145" class="footnote">Kb: Kilobyte, o sea, 1.024 bytes cada uno. Un ordenador de la época tenía 16.384 octetos o, en el mejor de los casos, 32.768. Es decir, uno o dos millones de veces menos que esa minúscula tarjeta de memoria que tienes en tu cámara de fotos o en tu teléfono móvil&#8230;</li><li id="footnote_10_57145" class="footnote">Las características de la Novag eran impresionantes para una máquina de ajedrez de la época: procesador con 5 Mhz de velocidad de reloj, 64 Kb de memoria ROM y nada menos que 4 Kb de memoria RAM. Sí, Kb, no Gb, ni siquiera Mb.</li><li id="footnote_11_57145" class="footnote">De las cinco restantes partidas, Kasparov ganó 3 y empató las otras dos.</li><li id="footnote_12_57145" class="footnote">Curiosamente, ELO no es un acrónimo, sino el apellido del inventor del sistema, el húngaro Arpad Elo.</li><li id="footnote_13_57145" class="footnote">¡Y hasta de 3.650 en partidas rápidas!</li><li id="footnote_14_57145" class="footnote">Los jugadores actuales –el propio Carlsen, Kariakin, Caruana, Aronian, Nakamura, etc– tienen la ventaja de tener a su disposición todos estos programas para poder entrenarse con ellos, lo que les permite ir mucho más allá en su estudio del juego de lo que nunca pudieron ir genios como Capablanca, Alekhine, Tal, Bobby Fischer o el propio Kasparov. Por ello es opinión generalizada que son más fuertes que cualquier otro jugador de la historia, por genial que éste fuera.</li><li id="footnote_15_57145" class="footnote">Así aprendieron Capablanca o Bobby Fischer, por citar sólo a dos genios del ajedrez.</li><li id="footnote_16_57145" class="footnote">En realidad nadie <em>se come al rey</em>: se anuncia jaque-mate, es decir, que a la próxima el rey será indefectiblemente comido, y se termina la partida sin darse el real festín, aunque en la práctica magistral es raro que se dé mate: el jugador abandona antes de eso, cuando ve que tiene la partida perdida.</li><li id="footnote_17_57145" class="footnote">No queda muy claro si el entrenamiento fue de 4 horas, de 8 o de 24&#8230; en cualquier caso es una nimiedad; poco importa si fueron 8 o 24: en cualquier caso son muy, muy pocas.</li><li id="footnote_18_57145" class="footnote">Las blancas son siempre las que inician el juego y, por tanto, deciden el tipo general de apertura.</li><li id="footnote_19_57145" class="footnote">Incidentalmente, DeepMind usó la misma red neuronal y los mismos algoritmos para entrenar a AlphaZero a jugar al Go y al Shogi, con tiempos de entrenamiento similares. Podéis imaginar el resultado de los duelos contra los programas campeones del mundo de Go, el propio AlphaGo antes mencionado, y Elmo, en Shogi. Palizas de dimensiones bíblicas, igual que en ajedrez.</li><li id="footnote_20_57145" class="footnote">Que no voy a traducir, es bastante sencillo de comprender.</li></ol>]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2017/12/26/alphazero-un-avance-muy-significativo-de-la-inteligencia-artificial/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Historia de un Viejo Informático revisitada: el Common Data Model de Softlab</title>
		<link>https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/</link>
		<comments>https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#comments</comments>
		<pubDate>Sat, 30 Apr 2016 12:41:50 +0000</pubDate>
		<dc:creator>Macluskey</dc:creator>
				<category><![CDATA[Historia]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Macluskey]]></category>

		<guid isPermaLink="false">http://eltamiz.com/elcedazo/?p=38923</guid>
		<description><![CDATA[Queridos lectores de El Cedazo: aquellos de vosotros que llevéis con nosotros desde los años de Carolo sabréis que mis primeros pinitos como bloguero aficionado fueron escribiendo por capítulos la Historia de un Viejo Informático&#8230; mi historia o, mejor, la bastante poco edulcorada historia de la informática española tal como yo la viví desde que [...]]]></description>
			<content:encoded><![CDATA[<p>Queridos lectores de El Cedazo: aquellos de vosotros que llevéis con nosotros desde los años de Carolo sabréis que mis primeros pinitos como bloguero aficionado fueron escribiendo por capítulos la <a href="http://eltamiz.com/elcedazo/series/historia-de-un-viejo-informatico/" target="_blank" class="liinternal">Historia de un Viejo Informático</a>&#8230; mi historia o, mejor, la bastante poco edulcorada historia de la informática española tal como yo la viví desde que comencé la Carrera de Informática a principios de los años 70 del siglo pasado<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_0_38923" id="identifier_0_38923" class="footnote-link footnote-identifier-link" title="Aunque por entonces ni siquiera era una carrera universitaria; s&oacute;lo en 1977 accedi&oacute; a semejante condici&oacute;n.">1</a>]</sup> hasta más o menos principios del siglo XXI, con el advenimiento y generalización de Internet. Por entonces yo dejé de estar en primera línea de fuego de la innovación y el desarrollo y me dediqué a asuntos más tenebrosos, como preocuparse de los dineros que se invierten en Sistemas de Información,controlar provedores y cosas así, por lo que poco podía ya aportar a lo que muchos habían ya contado con más conocimiento y acierto.</p>

<p>La <a href="http://eltamiz.com/elcedazo/series/historia-de-un-viejo-informatico/" target="_blank" class="liinternal">serie</a> se comenzó a publicar en enero de 2009, hace ya más de siete años, (¡cómo pasa el tiempo, rediez!) y se terminó en julio del mismo año,  así que seguramente muchos de vosotros, amables lectores,  os habéis incorporado a las nutridas filas de seguidores de El Cedazo después de esa fecha, por lo que quizás no conozcáis la serie ni las cosas diversas (y a veces divertidas) que allí iba yo contando. Claro que también es posible que la hayáis leído, o quizás algunos de sus artículos, cuando <a href="http://eltamiz.com/elcedazo/2014/09/10/memorias-de-un-viejo-informatico-por-fin-publicado-el-libro/" target="_blank" class="liinternal">me atreví a publicar el libro de la serie</a>, allá por septiembre de 2014, libro que, debo decirlo, habéis comprado mucho y bien, tanto <a href="http://www.lulu.com/shop/macluskey/memorias-de-un-viejo-inform%C3%A1tico/paperback/product-21790879.html" target="_blank" class="liexternal">en papel (en lulu.com)</a>, como en formato electrónico (<a href="http://www.lulu.com/shop/macluskey/memorias-de-un-viejo-inform%C3%A1tico/ebook/product-21790862.html" target="_blank" class="liexternal">epub, en lulu.com</a>, o en formato <a href="http://www.amazon.es/Memorias-un-Viejo-Inform%C3%A1tico-Macluskey-ebook/dp/B00N1XY8NI/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1455479698&amp;sr=1-1&amp;keywords=Macluskey" target="_blank" class="liexternal">kindle, en amazon.es</a>), rebasando mis más optimistas expectativas. <strong>Aprovecho ahora para daros las gracias</strong>, amigos, <strong>por vuestra amabilidad y la gran acogida que me dispensasteis</strong>. Pero me estoy yendo por las ramas&#8230;</p>

<p>Pues bien, el caso es que en uno de los artículos de la serie (y del libro, claro), <a href="http://eltamiz.com/elcedazo/2009/05/12/herramientas-case-hasta-en-la-sopa/" target="_blank" class="liinternal">dedicado a la proliferación de &#8220;Herramientas CASE&#8221;</a> que se produjo entre principios y mediados de los años 90, decía yo que Softlab, empresa alemana de software radicada en Munich, por entonces propiedad del grupo BMW,<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_1_38923" id="identifier_1_38923" class="footnote-link footnote-identifier-link" title="S&iacute;, los de los autom&oacute;viles.">2</a>]</sup> que había desarrollado Maestro, la mejor herramienta CASE de la década anterior, construyó en los años 90 su sucesor, Maestro II,<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_2_38923" id="identifier_2_38923" class="footnote-link footnote-identifier-link" title="Ya veis que muy imaginativos no eran, &iquest;verdad?">3</a>]</sup> basado en un esquema de Orientación a Objetos diez años antes de que esta técnica se pusiera de moda, y cité también que:</p>

<p>&#8220;&#8230; <em>Softlab realizó a principios de los noventa un gigantesco esfuerzo para obtener el <strong>Metamodelo de los Sistemas de Información </strong>(que era una sábana de metro y medio por un metro, lo menos), que es de lo más interesante para nuestra profesión que he visto nunca, por más que no ayudó gran cosa como argumento de su venta… pocos entendían la importancia de tal documento, que, como es costumbre, no hay manera de encontrar hoy por parte alguna… </em>&#8220;</p>

<p>Explicaba yo luego lo que era un metamodelo, incluso con ejemplos, y por fin aseguraba que:</p>

<p>&#8220; <em>Los ingenieros de Softlab modelizaron <strong>todos los Objetos posibles con los que trabajamos los informáticos</strong>, tanto de la parte lógica como de la física. Por ejemplo, un Programa usa una Base de Datos, una Tabla Relacional contiene Atributos (Datos elementales), una Transacción es atendida por un Programa… Todos los conceptos posibles, tanto del Análisis como del Diseño o la Construcción estaban allí representados. Una labor ingente, digna de mejor suerte… o simplemente de haber sobrevivido. No sé si alguien conservará alguna copia de esta información (yo no, y me encantaría), que fue un trabajo monumental… e ignorado. ¡A quién se le ocurre hacer esto en Munich, en lugar de en California! </em>&#8220;</p>

<p>Bueno, pues curiosamente, inopinadamente, sorprendentemente, veinte años más tarde, y gracias a la mediación del amigo de un amigo, ¡<strong>he conseguido ese documento único</strong>! Casualidades de la vida&#8230; Y después de pasarme tres tardes relamiéndome cual gato tomando leche mientras seguía y reseguía las innumerables relaciones entre entidades, voy ahora a atreverme a mostrároslo. Aquí abajo tenéis la visión general del Anverso&#8230; ya sé que no se distingue nada de nada&#8230; ¡paciencia!</p>

<div id="attachment_39301" class="wp-caption aligncenter" style="width: 610px"><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Anverso-completo.jpg" class="liimagelink"><img class="size-full wp-image-39301" title="CDM-Anverso " src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Anverso-completo.jpg" alt="" width="600" height="433" /></a><p class="wp-caption-text">CDM de SoftLab. Visión general del anverso</p></div>

<p>Evidentemente, ese documento posiblemente tenía un copyright (aunque el propio documento en sí no lo dice por parte alguna) y su divulgación pública no sé si es posible o no, pero, ya veis, lo haré de todos modos por varias razones:</p>

<p>Primero, porque igual que me ha llegado a mí, lo debe tener bastante gente, o al menos <em>lo podría tener</em> bastante gente, porque en aquella época Softlab lo usaba como argumento de venta y lo repartía a diestro y siniestro como si fuera un panfleto publicitario más. Por ello, no se trata de una divulgación como tal, porque divulgado, y bien divulgado, ya estaba&#8230; ¡hace veinte años! El documento se publicó en 1995 y, como podéis suponer, está en muchos puntos mayormente obsoleto, porque algo ha cambiado la informática en estos veintitantos años, lo que es una razón adicional para pensar que nadie se sentirá menoscabado en sus derechos por su publicación.</p>

<p>Segundo, porque Softlab hace bastantes años que ya no existe. BMW la cambió de nombre (ahora se llama <a href="http://www.cirquent.com" target="_blank" class="liexternal">Cirquent</a>)<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_3_38923" id="identifier_3_38923" class="footnote-link footnote-identifier-link" title="Aunque ya veis que la direcci&oacute;n &amp;#8220;www.cirquent.com&amp;#8221; redirige directamente a &amp;#8220;http://emea.nttdata.com/uk/home/en/&amp;#8220;&amp;#8230; no s&eacute; si Cirquent sigue existiendo como tal o tambi&eacute;n ha sido canibalizada.">4</a>]</sup> y vendió la mayor parte del capital a los japoneses de NTT Data. La empresa resultante, una importante consultora alemana de la actualidad, ya no se dedica a la ingeniería de software, según se puede colegir inspeccionando su página web, sino a lo que se dedican casi todas las consultoras de pro de la actualidad: vender proyectos de escritura de software y creación de sistemas informáticos, mantenimiento de sistemas, implantaciones de SAPs y cosas así. Estoy seguro de que si les preguntas ahora por el &#8220;Common Data Model&#8221;, por lo menos el 99,5% de sus empleados preguntarían: ¿&#8230;<em>el qué</em>?. Y eso porque son alemanes, porque si fueran españoles dirían: ¿<em>Comorrrr</em>? De hecho, intentar buscar en Google &#8220;<em>Common Data Model</em>&#8220;, con o sin la palabra <em>Softlab</em>, no devuelve nada que sea parecido a este documento o a su traza. Para Google no existe, ergo&#8230; no existe. Ahora ya no es importante para nadie, salvo quizás para algunos frikis como vosotros&#8230; o como yo mismo.</p>

<p>Y la tercera razón, y para mí decisiva, es que creo sinceramente que éste es uno de los documentos más importantes que jamás se hayan escrito en nuestra profesión, quizás junto con el famoso artículo &#8220;<a href="https://en.wikipedia.org/wiki/Considered_harmful" target="_blank" rel="nofollow" class="liwikipedia"><em>GoTo considered harmful</em></a>&#8221; de Dijkstra que hace casi cincuenta años nos cambió a todos la forma de programar. Todo informático que se precie debería, en mi opinión, tener al menos la oportunidad de echar una ojeada a la piedra Rosetta de la profesión, así que&#8230; ¿listos?&#8230; pues allá va.</p>

<p>.</p>

<p>Lo primero que hay que tener en cuenta es que el &#8220;Common Data Model&#8221; es exactamente lo que su nombre indica: Un <a href="https://es.wikipedia.org/wiki/Modelo_relacional" target="_blank" rel="nofollow" class="liwikipedia">Modelo de Datos</a>, es decir, un Diagrama de Entidad-Relación o ERD (por <em>Entity-Relationship Diagram</em>), pero en realidad es un modelo de un nivel de abstracción superior a los modelos de datos normales, puesto que no representa un sistema de información que haya que desarrollar, sino que <strong>modeliza las propias entidades que manejamos los informáticos para construir los sistemas de información</strong>: programas, bases de datos, registros, modelos de entidad-relación, campos elementales, pantallas, requisitos de cambio, etc, etc, etc. Por lo tanto, en realidad se trata de un <em>Metamodelo de Información</em>, y no voy aquí a repetir todo el rollo que solté al respecto en <a href="http://eltamiz.com/elcedazo/2009/05/12/herramientas-case-hasta-en-la-sopa/" target="_blank" class="liinternal">el artículo antes citado de la serie</a>. En definitiva, ésa es la forma de comprenderlo: Dada una entidad con sentido en nuestro mundo, por ejemplo la entidad <em>PROGRAMA</em>,<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_4_38923" id="identifier_4_38923" class="footnote-link footnote-identifier-link" title="Alfa y Omega de nuestra profesi&oacute;n: todo lo que hacemos termina tarde o temprano convirti&eacute;ndose en un programa o un conjunto de ellos. O por lo menos deber&iacute;a terminar en un programa, porque hay veces que&amp;#8230; mmmm&amp;#8230; ">5</a>]</sup> se describen todas las relaciones habidas y por haber de esa entidad (es decir de los programas individuales) con el resto de entidades: tablas, ficheros, pantallas, scripts, bases de datos, etc.</p>

<p>Aquí tenéis un trocito del CDM, precisamente  donde aparece la entidad <strong>Programa</strong>:</p>

<div id="attachment_39304" class="wp-caption aligncenter" style="width: 710px"><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Program.jpg" class="liimagelink"><img class="size-full wp-image-39304" title="CDM-Program" src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Program.jpg" alt="" width="700" height="341" /></a><p class="wp-caption-text">Entidad PROGRAMA, en el CDM</p></div>

<p>Así, por ejemplo, entre las entidades PROGRAMA y TABLA se definen las relaciones siguientes:</p>

<ul>
<li><p>PROGRAMA Crea/Altera TABLA</p></li>
<li><p>PROGRAMA Usa TABLA</p></li>
<li><p>PROGRAMA Borra TABLA</p></li>
<li><p>PROGRAM Lee TABLA</p></li>
<li><p>PROGRAMA Elimina filas de TABLA</p></li>
<li><p>PROGRAMA Inserta filas en TABLA</p></li>
<li><p>PROGRAMA Actualiza TABLA</p></li>
</ul>

<p>Podéis comprobarlo en la imagen siguiente:</p>

<div id="attachment_39306" class="wp-caption aligncenter" style="width: 710px"><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-PROGRAM-TABLE.jpg" class="liimagelink"><img class="size-full wp-image-39306" title="CDM-PROGRAM-TABLE" src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-PROGRAM-TABLE.jpg" alt="" width="700" height="498" /></a><p class="wp-caption-text">Relaciones entre Programa y Tabla</p></div>

<p>Naturalmente, como bien se puede observar, existen también las relaciones inversas: Tabla es leída por Programa, Tabla es actualizada por Programa, etc.</p>

<p>Pues bien, lo mismo ocurre con todas las demás entidades: Programa lee Fichero,<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_5_38923" id="identifier_5_38923" class="footnote-link footnote-identifier-link" title="Y su inversa, claro: Fichero es le&iacute;do por Programa.">6</a>]</sup> Programa forma parte de Job,<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_6_38923" id="identifier_6_38923" class="footnote-link footnote-identifier-link" title="Job es lo que casi todo el mundo llama ahora script.">7</a>]</sup> Programa actualiza Segmento (de IMS/DB, la base de datos jerárquica de IBM, todavía bastante usada en la época), Programa usa Variable&#8230; en fin, centenares, miles de relaciones entre decenas de entidades. Porque, desde luego, la misma lógica aplica a todas las entidades del metamodelo: Tabla forma parte de Base de Datos, Job consiste de JobSteps (pasos de ejecución) que consisten a su vez en la ejecución de un Programa, Registro es formado por Campos, Constante es movida a una Variable, Modelo de Entidad Relación consiste de Entidades, y de Relaciones, Entidad contiene Atributos&#8230;</p>

<p>Además, como podéis imaginar, muchas entidades tienen relaciones recursivas consigo mismas, como por ejemplo <em>Programa llama a Programa, </em>o<em> Campo contiene a Campo</em>. Como incluirlas sería aumentar la ya elevada complejidad del galimatías que es el modelo, las representan con una abreviatura cuyo significado se indica en el lado inferior derecho del anverso. Por ejemplo, en la imagen anterior se pueden observar las relaciones recursivas 3, 4, 5, 7, 24, 25 y 28 con las que la entidad PROGRAMA se relaciona consigo misma. He aquí el significado de cada una:<sup>[<a href="https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/#footnote_7_38923" id="identifier_7_38923" class="footnote-link footnote-identifier-link" title="Por ejemplo, la relaci&oacute;n 3 es &amp;#8220;Programa llama a Programa&amp;#8221;, etc.">8</a>]</sup></p>

<p><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Recursividades.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-39307" title="CDM-Recursividades" src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Recursividades.jpg" alt="" width="686" height="402" /></a></p>

<p>Por fin, además del anverso que ya habéis entrevisto, está también el reverso el documento, a su vez repleto de información, donde se puede encontrar, por un lado, la definición de cada una de las entidades representadas en el metamodelo y, por el otro, la extensión que prepararon para el recién aparecido paradigma de la Orientación a Objetos que, como sabéis, estaba en pañales allá por mediados de la década de los noventa. Ésta es la pinta general del reverso:</p>

<div id="attachment_39308" class="wp-caption aligncenter" style="width: 710px"><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Reverso-Completo.jpg" class="liimagelink"><img class="size-full wp-image-39308" title="CDM-Reverso Completo" src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/02/CDM-Reverso-Completo.jpg" alt="" width="700" height="500" /></a><p class="wp-caption-text">Reverso del CDM. Descripción de las entidades del metamodelo y extensión para OO.</p></div>

<p>.</p>

<p>Bueno, ya no voy a seguir más. Como dicen en los anuncios de algunos pisos&#8230; ¡mejor verlo!</p>

<p>A continuación os dejo dos enlaces para bajar tanto el anverso como el reverso y que podáis disfrutarlo a vuestro gusto. Son imágenes muy grandes, del orden de 7000 x 5000 píxeles, porque es la única forma de ver algo, aunque, ya os lo digo yo, lo mejor es tener un ejemplar en papel, desplegarlo sobre la mesa (hace falta que sea grande) y extasiarse con él&#8230; ¿A que me tenéis envidia?</p>

<p>Aquí podéis encontrar el <a href="http://eltamiz.com/elcedazo/files/macluskey/Softlab%20Common%20Data%20Model-Anverso.jpg" target="_blank" class="liinternal">Anverso</a>.</p>

<p>Y aquí, el <a href="http://eltamiz.com/elcedazo/files/macluskey/Softlab%20Common%20Data%20Model-Reverso.jpg" target="_blank" class="liinternal">Reverso</a>.</p>

<p>.</p>

<p>En fin, espero que os haya gustado o, al menos, impresionado, aunque esté parcialmente obsoleto porque no haga mención de algunas &#8220;cosas modernas&#8221;, como <em>servlets</em>, <em>clases java</em> y todas esas cosillas. Pero es normal: en 1995&#8230; ¡no existían!</p>

<p>Disfrutad de la vida, mientras podáis.</p>

<p>&nbsp;</p>
<ol class="footnotes"><li id="footnote_0_38923" class="footnote">Aunque por entonces ni siquiera era una carrera universitaria; sólo en 1977 accedió a semejante condición.</li><li id="footnote_1_38923" class="footnote">Sí, los de los automóviles.</li><li id="footnote_2_38923" class="footnote">Ya veis que muy imaginativos no eran, ¿verdad?</li><li id="footnote_3_38923" class="footnote">Aunque ya veis que la dirección &#8220;<em>www.cirquent.com</em>&#8221; redirige directamente a &#8220;<em>http://emea.nttdata.com/uk/home/en/</em>&#8220;&#8230; no sé si Cirquent sigue existiendo como tal o también ha sido canibalizada.</li><li id="footnote_4_38923" class="footnote">Alfa y Omega de nuestra profesión: todo lo que hacemos termina tarde o temprano convirtiéndose en un programa o un conjunto de ellos. O por lo menos <em>debería</em> terminar en un programa, porque hay veces que&#8230; mmmm&#8230; </li><li id="footnote_5_38923" class="footnote">Y su inversa, claro: Fichero es leído por Programa.</li><li id="footnote_6_38923" class="footnote">Job es lo que casi todo el mundo llama ahora <em>script</em>.</li><li id="footnote_7_38923" class="footnote">Por ejemplo, la relación 3 es &#8220;Programa llama a Programa&#8221;, etc.</li></ol>]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2016/04/30/historia-de-un-viejo-informatico-revisitada-el-common-data-model-de-softlab/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
		<item>
		<title>Computador mágico: el libro</title>
		<link>https://eltamiz.com/elcedazo/2016/01/31/computador-magico-el-libro/</link>
		<comments>https://eltamiz.com/elcedazo/2016/01/31/computador-magico-el-libro/#comments</comments>
		<pubDate>Sun, 31 Jan 2016 13:25:29 +0000</pubDate>
		<dc:creator>J</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[J]]></category>

		<guid isPermaLink="false">http://eltamiz.com/elcedazo/?p=38589</guid>
		<description><![CDATA[Aunque por exceso de trabajo hemos tardado mucho, ¡por fin hemos sacado Computador mágico en forma de libro! Para los lectores que han seguido la serie mientras se iba publicando, apenas hay cambios: alguna corrección de erratas, alguna ampliación menor cuando vuestros comentarios han recomendado cambiar algo y, sobre todo, adaptar el lenguaje al medio [...]]]></description>
			<content:encoded><![CDATA[<p>Aunque por exceso de trabajo hemos tardado mucho, ¡por fin hemos sacado <a href="/elcedazo/series/computador-magico/" title="Computador mágico" class="liinternal">Computador mágico</a> en forma de libro!</p>

<p><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/01/ComputadorMagicoDigest_v21_cover_v1small1.png" class="liimagelink"><img class="aligncenter size-full wp-image-38592" title="ComputadorMagicoDigest_v21_cover_v1small" src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/01/ComputadorMagicoDigest_v21_cover_v1small1.png" alt="" width="666" height="493" /></a></p>

<p>Para los lectores que han seguido la serie mientras se iba publicando, apenas hay cambios: alguna corrección de erratas, alguna ampliación menor cuando vuestros comentarios han recomendado cambiar algo y, sobre todo, adaptar el lenguaje al medio impreso&#8230; pero el contenido en sí es el mismo.</p>

<p>Si eres un lector nuevo, ¡bienvenido a esta comunidad! <em>Computador mágico</em> intenta explicar, de forma <em>simplista antes que incomprensible</em>,<sup>[<a href="https://eltamiz.com/elcedazo/2016/01/31/computador-magico-el-libro/#footnote_0_38589" id="identifier_0_38589" class="footnote-link footnote-identifier-link" title="Es, ya sab&eacute;is, el lema de El Tamiz.">1</a>]</sup> el funcionamiento de un ordenador, desde sus componentes más básicos (los transistores) hasta el sistema operativo, de forma que pueda ser entendido por cualquiera con unos conocimientos mínimos de secundaria.<sup>[<a href="https://eltamiz.com/elcedazo/2016/01/31/computador-magico-el-libro/#footnote_1_38589" id="identifier_1_38589" class="footnote-link footnote-identifier-link" title="Aun cuando eso pueda suponer en alg&uacute;n momento una peque&ntilde;a p&eacute;rdida de precisi&oacute;n.">2</a>]</sup></p>

<p>El índice del libro es muy parecido al índice de la serie de la que se alimenta:</p>

<ul>
    <li>El transistor</li>
    <li>Puertas lógicas</li>
    <li>Lógica combinacional</li>
    <li>Representación binaria</li>
    <li>Notación hexadecimal y octal</li>
    <li>Unidad aritmético-lógica</li>
    <li>El biestable RS</li>
    <li>El biestable síncrono</li>
    <li>Lógica secuencial</li>
    <li>Registros y memoria</li>
    <li>Pantalla sencilla</li>
    <li>Teclado sencillo</li>
    <li>Ordenador C16A</li>
    <li>Arquitectura de von Neumann</li>
    <li>Ordenador C16B: subrutinas</li>
    <li>El compilador</li>
    <li>Ordenador C16C: interrupciones</li>
    <li>Ordenadores reales</li>
    <li>El sistema operativo</li>
    <li>Arranque hasta el buscaminas</li>
    <li>Anexo A: Física del semiconductor</li>
    <li>Anexo B: sobre las ferritas y otras memorias de ordenador obsoletas</li>
</ul>

<p>El Anexo B es una colaboración de Macluskey, que del mismo modo que colaboró en la serie, colabora aquí, cediendo sus conocimientos históricos a la humanidad.</p>

<p>Como viene siendo habitual en este foro, lo hemos publicado en Lulu&#8230; pero esta vez hay una novedad: hemos conseguido generar un ePub correcto, de modo que también está disponible en ePub y en formato Amazon.</p>

<p>Computador mágico <a href="http://www.lulu.com/shop/javier-j-sedano/computador-m%C3%A1gico/paperback/product-22502998.html" target="_blank" class="liexternal">en papel</a>: 9€ (+IVA).</p>

<p>Computador mágico <a href="http://www.lulu.com/shop/javier-j-sedano/computador-m%C3%A1gico/ebook/product-22502942.html" target="_blank" class="liexternal">en ePub</a>: 3€ (+IVA).</p>

<p>Computador mágico <a href="http://www.lulu.com/shop/javier-j-sedano/computador-m%C3%A1gico/ebook/product-22502909.html" target="_blank" class="liexternal">en PDF</a>: 3€ (+IVA).</p>

<p>Computador mágico <a href="http://www.amazon.es/Computador-m%C3%A1gico-Del-transistor-buscaminas-ebook/dp/B01AZXD120/" target="_blank" class="liexternal">para Kindle de Amazon</a>: aproximadamente 3€ IVA incluido, dependerá del tipo de cambio.</p>

<p>Los enlaces están también en la <a href="/elcedazo/biblioteca-el-cedazo/" title="Biblioteca El Cedazo" class="liinternal">Biblioteca</a> de El Cedazo, junto con el resto de libros que se ha publicado al calor de este blog.</p>

<p><a href="http://eltamiz.com/elcedazo/wp-content/uploads/2016/01/IMG_20160123_164607_small.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-38596" title="IMG_20160123_164607_small" src="http://eltamiz.com/elcedazo/wp-content/uploads/2016/01/IMG_20160123_164607_small.jpg" alt="" width="500" height="375" /></a></p>

<p>El libro contiene muchísimas tablas, diagramas y listados, de modo que aunque el resultado en las versiones electrónicas (ePub y Kindle) es digno y completamente correcto,<sup>[<a href="https://eltamiz.com/elcedazo/2016/01/31/computador-magico-el-libro/#footnote_2_38589" id="identifier_2_38589" class="footnote-link footnote-identifier-link" title="Si no, Lulu y Amazon no dejar&iacute;an subirlo.">3</a>]</sup> pierde muchos de los efectos de maquetación, que sí se conservan lógicamente en las versiones en PDF y en papel. Mi consejo por lo tanto es que, a menos que no os quede otro remedio, prefiráis las versiones mejor maquetadas.</p>

<p>No puedo terminar este anuncio sin agradeceros a vosotros, los lectores de El Cedazo, por el seguimiento de la serie, que es lo que hace que al final acabemos publicando el libro, así como todos los comentarios que han mejorado su contenido.</p>

<p>&nbsp;</p>
<ol class="footnotes"><li id="footnote_0_38589" class="footnote">Es, ya sabéis, el lema de El Tamiz.</li><li id="footnote_1_38589" class="footnote">Aun cuando eso pueda suponer en algún momento una pequeña pérdida de precisión.</li><li id="footnote_2_38589" class="footnote">Si no, Lulu y Amazon no dejarían subirlo.</li></ol>]]></content:encoded>
			<wfw:commentRss>https://eltamiz.com/elcedazo/2016/01/31/computador-magico-el-libro/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/es/</creativeCommons:license>
	</item>
	</channel>
</rss>
