Archivo de la categoría: Para todos los públicos

Música, lectura, deporte… Cosas para todos los públicos (no necesariamente programadores)

Creo que por fin entendí la dualidad onda-corpúsculo

Vaya, lo siento, he retirado este artículo.

Hace unas semanas publiqué aquí un texto bastante largo en el que exponía una interpretación retrocausal del universo. Explicaba el razonamiento que me había llevado hasta ella y razonaba brevemente sobre sus consecuencias desde un punto de vista filosófico.

Mencioné el artículo en un foro de Internet y la reacción crítica de algún físico me convenció para retirarlo. Por lo visto yo, un «lego» (sí: algunos físicos usan esa palabra para referirse a los que no somos físicos), estaba difundiendo un refrito de todos los conceptos equivocados de la «ciencia pop». Peor: estaba pretendiendo «enseñar» desde la ignorancia.

En mi defensa puedo alegar que al principio del artículo yo dejaba bien claro que no soy físico y que lo que contaba en él era mi opinión.

Sigo opinando que la interpretación retrocausal es la más acertada porque recupera la localidad al tiempo que explica la acción fantasmal (o espeluznante) a distancia. Simplemente encaja, tiene sentido.

El tiempo dirá. Siento las molestias.

Nuestro primer cuadro fractal

¡Por fin! Ya tenemos nuestro cuadro fractal impreso por Art&Vinilo y lo vamos a colgar en el salón.

Lo primero fue decidir dónde lo íbamos a poner y qué tamaño tendría. Decidimos que iría en una pared lateral del salón, enfrente de la ventana, y mediría 85cm de ancho y 60cm de alto. Esa parte fue fácil. A 300 puntos por pulgada eso son 10039 por 7087 píxels.

Pero elegir la imagen ya es harina de otro costal. No queríamos hartarnos de verla en el salón a los cinco días… Pasé muchas horas calculando fractales y eligiendo colores. Nos costó meses decidirnos.

Finalmente nos decantamos por este:

m004_aliens_morados_474x335

Descargar en formato gigante (ojo: 72’6 MB)

Encargamos la impresión a Art&Vinilo y el resultado es magnífico. Los gradientes son perfectos. No se notan bandas de color por ninguna parte. El nivel de detalle es asombroso. Hay que mirarlo muy de cerca, con buena luz y buena vista para llegar a apreciar los puntos de tinta.

Ahí van un par de fotos:

foto_cuadro_fractal_peq

foto_cuadro_fractal_detalle_peq

Ahora sólo falta colgarlo :-)

Otro día subiré los fractales candidatos que se quedaron por el camino. Ahora miro alguno de ellos y me cuesta creer que un día me parecieron bonitos. Qué volátil es esto de la estética.

Fractales

Por si alguien aún no lo ha notado, me encantan los fractales.

Llevo unos cuantos años (¡dos décadas!) perfeccionando mi programa para pintar el conjunto de Mandelbrot, pero nunca estoy totalmente satisfecho. Aún hay muchos detalles que pulir y siempre me falta el mismo ingrediente: ¡tiempo!

Lo que sí puedo compartir son algunas muestras de las imágenes que puede generar. Ahí va la primera:

m002_espirales_mejillon_474x356

Descargar en formato gigante (ojo: 12’6 MB)

¿Que qué es el conjunto de Mandelbrot?

Hay miles de páginas web y libros que tratan de explicarlo, pero yo voy a aprovechar para hablar de mi libro, que contiene, entre otras aventuras, mi mejor intento de explicación.

Para los matemáticos:

El conjunto de Mandelbrot es el conjunto de todos los puntos del plano complejo que, usados como constante C en la serie Zn+1=Zn2+C , donde Z0=0 , no hacen que la longitud (el módulo) de Z tienda a infinito. La imagen anterior representa una pequeña región del plano complejo. Los puntos pintados en azul oscuro (a la izquierda) pertenecen casi todos al conjunto de Mandelbrot. Los puntos pintados en otros colores no pertenecen al conjunto de Mandelbrot. Para éstos últimos, el color se ha elegido en función de la n a partir de la cuál la longitud de Zn es mayor que 2. Cuando esto ocurre, sabemos que la serie tenderá a infinito, así que dejamos de calcularla. Cuando esto no ocurre, como no podemos calcular indefinidamente, debemos fijar un máximo para el valor de n. A partir de ahí, si la longitud de Zn no ha superado el valor 2, pintamos el pixel de azul oscuro y pasamos a otro pixel.

En realidad, si yo hubiese leído el párrafo anterior cuando aún no había oído hablar de los fractales, me habría quedado igual que antes de leerlo.

Para el resto de los mortales:

El conjunto de Mandelbrot es un objeto matemático como lo son el círculo, el cuadrado, o el dodecaedro. Nada más, y nada menos. Pertenece al mundo de las ideas de Platón. Como el resto de las cosas matemáticas, no necesita de un universo material para «ser». Simplemente «es». Es el mundo material el que parece funcionar conforme a las leyes matemáticas.

Quizás esta última afirmación os parece ridícula. Nuestra cultura está plagada de memes que ridiculizan al científico que aspira a calcularlo todo, a explicarlo todo, a predecir el futuro. No tengo claro si realmente los científicos de hace un siglo tenían esas ínfulas, o si hay un interés casi vengativo por desacreditar a la ciencia. La fe exagerada en la ciencia puede ser ridícula vista desde fuera, efectivamente. Vista desde fuera, cualquier fe exagerada puede parecer ridícula. Especialmente desde otra fe.

El caso es que el error estaba en pensar que, si el universo obedece leyes matemáticas, podremos explicarlo todo y predecir el futuro. Nada más lejos de la realidad. De hecho, nada más lejos de las matemáticas. Hay unas cuantas verdades matemáticas con una importancia trascendental enorme, que se descubrieron en el siglo pasado, pero que sólo han calado en nuestra cultura como meras anécdotas.

Una de estas verdades trascendentales es la teoría del caos. Quizás os suene más el «efecto mariposa», pero eso es sólo la anécdota, el ejemplo impactante utilizado para tratar de explicar algo más grande: que para predecir el futuro tendríamos que hacer una cantidad abrumadora de cálculos, y antes necesitaríamos conocer el presente a un nivel de detalle abrumador. Tan abrumador, que la manera más eficiente de predecir el futuro con exactitud es esperar a que ocurra. Es decir, que cualquier máquina que lo calculara sería más grande y requeriría más tiempo que el mundo material que intentamos predecir.

En realidad no es una idea nueva en lo que respecta al mundo material. Es lo que la humanidad ha experimentado desde que anda por la Tierra. Es el muro contra el que se topan los que pretenden calcular el futuro con exactitud. La novedad está en que eso también ocurre en el mundo de las ideas de Platón. La impredecibilidad no se debe a algo del mundo material. Tampoco se debe a ningún otro mundo metafísico e insondable que nos queramos inventar. La impredecibilidad es inherente al mundo ideal de las matemáticas.

Suficiente por ahora. Ahí va otra imagen:

m001_coliflores_electricas_474x474

Descargar en formato gigante (ojo: 19’2 MB)

En esta segunda imagen hay muy poca superficie que pertenezca realmente al conjunto. Sólo son un puñado de píxels blancos aquí y allá. En la versión reducida ni se ven. No obstante, el conjunto de Mandelbrot es conexo. Es decir, que esas pequeñas «islas» de superficie perteneciente al conjunto están conectadas entre sí por finísimos filamentos que también pertenecen al conjunto. Esos filamentos están tan retorcidos que el contorno del conjunto de Mandelbrot tiene una longitud infinita. Es un hecho muy curioso porque el área del conjunto, sin embargo, es finita.

En esta imagen casi vemos los filamentos como relámpagos verde pálido. En realidad no vemos los filamentos en sí, que en muchos puntos son infinitamente delgados. Lo que vemos resplandecer son los puntos cercanos a ellos. Con esos valores de C, la serie tarda más en salirse del círculo de radio 2.

Volviendo al tema de la impredecibilidad, voy a poner un ejemplo:

Sabemos de muchos puntos que pertenecen al conjunto de Mandelbrot. Lo sabemos con total certeza porque con esos valores de C, la secuencia se repite. El ejemplo más sencillo es C=0. Con ese valor de C, todos los valores de Z son cero. Otro ejemplo es C=-1, con el que la serie oscila indefinidamente entre -1 y 0. Y otro ejemplo más es C=-2, con el que la serie se estanca enseguida en el valor Z=2.

También sabemos que, para todo C cuyo módulo sea mayor que 2, la serie tiende a infinito. Por ejemplo, para C=3, los valores de Z son: 0, 3, 12, 147, 21612, 467078547, 218162369067631000… No voy a entrar en los detalles, pero se puede demostrar y es razonablemente intuitivo.

Sin embargo, para muchos de los infinitos puntos que hay dentro del círculo de radio 2, no disponemos de un método general que nos permita predecir en todos los casos si la serie tenderá a infinito o no. La única manera de averiguarlo es calcular la serie, y eso no siempre está a nuestro alcance. En muchos casos, según avanza el cálculo, los números tienen cada vez más dígitos.

Si algún valor de Z se sale del círculo de radio 2, ya está: ese C no pertenece al conjunto. Por otro lado, si algún valor de Z es exactamente igual que otro anterior, ya está: la serie se repite y ese valor de C sí pertenece al conjunto. Pero ¿qué pasa si seguimos calculando y no ocurre ninguna de las dos cosas? Tendremos que parar en algún momento. ¡No podemos calcular indefinidamente!

La teoría del caos dice que hay sistemas matemáticos en los que se da este comportamiento. Se gobiernan por leyes matemáticas perfectamente definidas, pero la más mínima variación en las condiciones iniciales puede afectar de forma decisiva a cómo se comportan mucho después. Y además no hay ningún atajo para predecir esos cambios de comportamiento. La única manera es calcularlo paso a paso con absoluta precisión. Tanta precisión que escapa a nuestras posibilidades porque llega a ser infinitamente mayor que el sistema que pretendíamos predecir. Traducido a un universo material regido por esas leyes: la única manera de predecir el futuro con absoluta exactitud es esperar a que ocurra.

Concluyendo…

Todo esto pone un límite a lo que podemos calcular y predecir, pero no impide que el universo sea un montón de materia/energía puesta a rodar, obedeciendo con precisión absoluta unas leyes matemáticas y físicas predefinidas, sin ninguna intervención externa posterior al Big Bang.

La cuestión es: ¿pueden unas leyes matemáticas y físicas hacer que surja todo lo que vemos a nuestro alrededor?

En este sentido, el conjunto de Mandelbrot y otros fractales son un hallazgo sorprendente. Son objetos puramente matemáticos, como el círculo o el dodecaedro, y sin embargo sus formas nos recuerdan a tejidos vivos y a paisajes.

Todo esto y más está explicado magníficamente en un precioso reportaje de la BBC llamado «The Secret Life of Chaos». Se puede encontrar fácilmente en Youtube, también con subtítulos en español.

Ahí va la última imagen. De las tres, ésta es la que más me gusta:

m003_rayos_verdes_474x296

Descargar en formato gigante (ojo: 23’3 MB)

Una última aclaración: estas imágenes son en parte una creación mía, pero esa parte es muy pequeña. El único acto creativo es la elección de los colores. Las formas están ahí. Simplemente «son», como la redondez de un círculo «es» sin necesidad de que yo lo dibuje o siquiera lo imagine.

En la generación de estas imágenes hay otra parte que podría parecer un acto creativo pero que en realidad es sólo de descubrimiento: la elección de qué parte del conjunto de Mandelbrot ampliar y calcular. El conjunto de Mandelbrot está ahí con su infinita complejidad, con sus infinitos filamentos y remolinos. Simplemente «es», sin necesidad de que yo lo calcule.

Piko Piko, el gusanito (nombre original: Pickomino)

Índice

Introducción

Hace tiempo que tengo pendiente escribir sobre este juego que me fascina y al que he dedicado muchas horas. A menudo nos ocurre que lo urgente no deja tiempo para lo importante, así que voy a tomarme un rato para compartir esta experiencia con vosotros.

Empecé echando una partida o dos con los compañeros de trabajo a la hora del café y acabé desarrollando la Inteligencia Artificial de la App oficial. En fin, es una historia larga, así que empezaré por el principio.

Todo empezó hace ya unos cuantos años, cuando enseñaba programación en la Universidad de Alcalá. Un día un compañero trajo un juego de mesa en una pequeña caja de cartón. Hoy en día es normal que los juegos de mesa vengan en cajas pequeñas, pero cuando yo era pequeño las cajas eran tan impactantes como el precio. Los juegos de mesa estaban diseñados para presidir el mueble del salón, para lo cual, antes tenían que presidir el escaparate de la tienda. Nadie pensó que acabaríamos viéndonos obligados a deshacernos de las cajas al mudarnos a una solución habitacional.

Vaya, estoy desbarrando. ¡Martín, céntrate! El caso es que el jueguecito me sorprendió gratamente. Resultó ser muy interesante y muy divertido.

Volver al índice

Las reglas del juego

Fichas y dados
Fichas y dados del juego de mesa original

La caja contiene 16 fichas y 8 dados.

Cada ficha tiene dibujados (y en relieve) un número y uno o más gusanos. Los números van del 21 al 36. Las primeras cuatro fichas (del 21 al 24) tienen sólo un gusano cada una. Las siguientes cuatro (del 25 al 28) tienen dos cada una, las siguientes cuatro (del 29 al 32) tienen tres cada una, y las últimas cuatro fichas (del 33 al 36) tienen cuatro gusanos cada una.

Los dados son normales salvo por el detalle de tener un dibujo de un gusano en la cara donde normalmente estaría el 6. En este juego no hay seises.

El objetivo de cada jugador es acumular fichas. Cuantos más gusanos, mejor. Al terminar la partida se cuentan los gusanos de las fichas de cada jugador, y gana el que más gusanos tenga.

Al comienzo de la partida todas las fichas se colocan en el centro de la mesa. Los jugadores se turnan para tirar los dados y ganar así las fichas. Enseguida explicaré cómo se tiran los dados, que tiene su miga. El caso es que, con los puntos obtenidos en un turno, el jugador puede coger del centro de la mesa la ficha de ese número o, si esa no está disponible, una de menos puntos. Pero hay más… Cada jugador va apilando las fichas ganadas en su lado de la mesa. La ficha que se encuentra a la vista, es decir, en la cima de la pila, está expuesta a ser robada por otro jugador que obtenga con los dados la puntuación exacta de la ficha.

No es fácil conseguir los puntos exactos para robar una ficha a otro jugador, pero merece la pena intentarlo. Al fin y al cabo, el juego es una carrera por obtener gusanos, y si se los quitamos al oponente, la ventaja es doble. La cuestión es si nos atreveremos a robarle la ficha a ese querido familiar o amigo, que además no se va a quedar cruzado de brazos…

Queda otro detalle respecto al turno. Si la tirada no cumple los requisitos necesarios para obtener una ficha (ni del centro de la mesa ni de la pila de otro jugador), el jugador pierde la última ficha que obtuvo, que vuelve al centro de la mesa. Además, cada vez que se devuelve una ficha al centro de la mesa, se coloca boca abajo la ficha del centro de la mesa con mayor puntuación. Las fichas que quedan boca abajo ya no forman parte del juego.

Un turno fallido es doblemente perjudicial: el jugador no consigue una nueva ficha y encima pierde una ficha de las que ya había ganado.

El juego termina cuando ya no queda ninguna ficha boca arriba en el centro de la mesa.

La norma de colocar boca abajo las fichas de mayor puntuación sirve para impedir que las partidas se eternicen. Las tiradas de alrededor de 36 puntos son muy improbables, aunque perfectamente posibles. En caso de que la misma ficha devuelta sea la de más puntuación, se puede aplicar la norma tal cuál o se puede hacer una excepción y dejarla boca arriba. Antes de comenzar el juego, conviene acordar qué se va a hacer en estos casos.

Bien, ahora voy a tratar el tema de los dados. Las caras del 1 al 5 valen de 1 a 5 puntos respectivamente. Normal. La cara del gusano vale 5 puntos, pero tiene otro valor añadido que explicaré en breve.

Se empieza lanzando los ocho dados a la vez, pero los puntos no se suman sin más. Hay que escoger los dados de uno de los valores que han salido, y apartarlos. El resto habrá que lanzarlos de nuevo. Por ejemplo, supongamos que ha salido { 1, 2, 2, 2, 2, 2, 4, 5 }. No han salido treses ni gusanos. Podemos optar por apartar:

  • 1 = 1 punto
  • 2 + 2 + 2 + 2 + 2 = 10 puntos
  • 4 = 4 puntos
  • 5 = 5 puntos

Pero antes de elegir, debemos tener en cuenta las normas que afectan a los demás dados:

  1. Podremos volver a tirar los dados restantes, apartar los de otro valor para ir sumando puntos, y así sucesivamente hasta… bueno, ahora veremos hasta cuándo.
  2. No podremos volver a apartar los dados de un valor que ya hayamos apartado en este turno. Es decir, que si apartamos el cinco y después salen más cincos, ya no podremos aprovechar esos cincos. Tendremos que apartar algún otro valor… ¡si sale!
  3. Podemos plantarnos y dejar de lanzar los dados cuando se cumplan estos dos requisitos:
    • que tengamos suficientes puntos para robar una ficha del centro de la mesa o de otro jugador, y…
    • que hayamos conseguido apartar al menos un gusano (¡por eso son tan valiosos!)
  4. Si todos los valores que salen en una tirada coinciden con valores que ya hemos apartado, perdemos el turno (y la última ficha ganada).
  5. Si agotamos los dados sin haber conseguido gusanos o sin haber sumado suficientes puntos, perdemos el turno (y la última ficha ganada).

Por si cabe alguna duda, insisto: no podemos apartar sólo un 2 y volver a tirar los siete dados restantes. O cogemos todos los doses, o cogemos los de otro valor. Tampoco podemos volver a tirar todos los dados. Tenemos que apartar algo cada vez.

Volver al índice

Análisis de una tirada de dados

A la vista de estas reglas, la tirada { 1, 2, 2, 2, 2, 2, 4, 5 } es francamente mala. Veamos las opciones una por una:

  • Apartar { 5 } y seguir con 7 dados. En principio parece la opción más atractiva: conseguimos 5 puntos y seguimos con muchos dados. Pero cuidado: ya no podremos usar ningún 5 en este turno, y eso limita los puntos que podemos obtener con los 7 dados restantes.
  • Apartar { 4 } y seguir con 7 dados. Conseguimos un punto menos. No podremos apartar más cuatros, pero sí cincos. Eso aumenta la media de puntos que podríamos obtener con esos siete dados.
  • Apartar { 2, 2, 2, 2, 2 } y seguir con 3 dados. ¡Conseguimos 10 puntos! Pero un momento… Necesitamos al menos 21 puntos y nos quedan sólo tres dados. Además aún tenemos que sacar algún gusano. En el mejor de los casos obtendríamos un total 25 puntos, que no es gran cosa, y lo más probable es que perdamos el turno.
  • Apartar { 1 } y seguir con 7 dados. Sólo conseguimos un punto, pero conservamos la posibilidad de coger los cuatros y los cincos que puedan salir con esos 7 dados.

Según mis cálculos la mejor opción es coger el 4. La probabilidad de fallo es inferior al 4%.

Le sigue la opción de coger el 5, con una probabilidad de fallo levemente inferior, pero con un beneficio medio también inferior.

La opción de coger los cinco doses es pésima porque conlleva una probabilidad de fallo de alrededor del 38%.

Curiosamente, la opción de coger el 1 sigue de cerca a las del 4 y el 5. La probabilidad de fallo cogiendo el 1 es levemente superior, pero sigue estando por debajo del 4%. El beneficio medio es sólo ligeramente inferior.

El algoritmo óptimo para ganar el juego no es nada sencillo. Concretamente, coger siempre los dados con valores más altos suele dar muy malos resultados. Este tipo de sutilezas fue lo que me atrajo en un primer momento.

Volver al índice

Inteligencia Artificial

Desde el principio pensé que sería interesante calcular las probabilidades y hacer un programa que pudiera jugar al Piko Piko. Siempre me ha parecido que programar la Inteligencia Artificial de un juego es incluso más interesante que jugar. De hecho, he dedicado bastantes horas a algún otro juego… hablaré de ello otro día.

El caso es que en aquel momento no tenía tiempo para embarcarme en algo así por placer. Pero unos cuantos años más tarde, en 2012, dejé mi trabajo en la universidad para irme a vivir al extranjero. Por al menos un año tendría tiempo de sobra para programar lo que me apeteciera. En 2013, en una de mis visitas a España encontré el juego en «Evolution Store», Calle Manuel Silvela, 8, 28010 Madrid, Tfno. 917582563. ¡Propaganda gratuita, oigan! Ojo, porque alguna vez he ido con la intención de comprarlo de nuevo para regalárselo a algún amigo y no tenían. Conviene llamar antes y asegurarse.

En fin, que me puse a programar y conseguí algo bastante decente. El programa inicial elegía qué dados apartar y si debía plantarse o no, pero no tenía en cuenta qué fichas estaban disponibles. Sólo jugaba buscando maximizar el número de puntos en un turno. Simulaba unos 50000 turnos por segundo en mi modesto notebook (Atom @ 1.6 GHz), fallando una cuarta parte de los turnos y consiguiendo una media de 26 puntos en las otras tres cuartas partes.

El programa final me gana casi siempre. Alguna vez le he ganado yo porque la suerte juega un papel decisivo en este juego, pero lo normal es que me gane con unos cuantos gusanos de ventaja. Pero ya me estoy adelantando… Pasó algún tiempo antes de que mi programa llegase a jugar tan bien una partida completa.

How about a nice game of Piko Piko?
How about a nice game of Piko Piko?

Investigué un poco en internet. Para empezar, el juego se llama «Piko Piko, el gusanito» en España, pero en otros países se llama «Pickomino», «Heckmeck am Bratwurmeck», «Regenwormen», «Kac-Kac Kukac», «Il verme è tratto», «Polowanie na Robale»…

Averigüé que el inventor del juego es Reiner Knizia. Encontré un vídeo en el que comentaba, en una conferencia de 2011, que iban a desarrollar una App del juego, pero parecía que aún no estaba publicada.

Le envié un email para ofrecerle mi colaboración y en enero de 2014 me puso en contacto con United Soft Media (USM), con quienes había llegado a un acuerdo para desarrollar la aplicación para móviles. ¡Genial!

Siguió una larga serie de correos hasta el verano de 2014. Desarrollé una versión del programa que pudiera jugar partidas completas, enfrentando jugadores con diferentes estrategias. Fui perfeccionando las estrategias para tener en cuenta el estado del juego: qué fichas están disponibles en el centro de la mesa, y cuáles se pueden robar, a qué contrincante conviene más robar…

Volver al índice

La App

Icono de Piko Piko
Icono de la App de Piko Piko

Finalmente, en Abril de 2015, tras una larga espera, la App salió a la venta en la tienda de Apple y ya puedo presumir ante mis amigos. Los dibujos siguen la línea del juego de mesa original, que me encanta, y la música y los efectos de sonido son muy divertidos. ¡Qué rabia que aún no hayan hecho una versión para Android! Tuve un iPhone hace tiempo, pero ahora soy el feliz usuario de un Samsung Galaxy. De momento tengo que conformarme con jugar cuando visito a mis padres y engancho el teléfono de mi madre.

Las tres revisiones de la App que se pueden ver a día de hoy en la App store coinciden en señalar que el juego es muy divertido. No obstante, una de ellas es muy negativa: el usuario se queja de que la aplicación se cuelga cada vez que selecciona «Lobby». Yo no recuerdo que se me haya colgado, pero la verdad es que nunca he conseguido jugar «online». No sé si esa parte de la aplicación no funciona o si simplemente no había nadie conectado cuando yo lo intenté. Quizá depende del país.

Otro usuario se queja de que rara vez consigue ganar y dice que los dados favorecen a la IA. Ahí sí que tengo algo que decir. La IA gana más a menudo porque juega muy bien. Desconozco los detalles de cómo se están generando los números aleatorios en la App, pero estoy totalmente convencido de que los dados no están trucados. ¡No es necesario!

De hecho, a mí me gustaría que la App incluyera un par de funcionalidades específicas:

  1. Permitir al usuario utilizar dados reales, tanto para sí mismo como para la IA. Ni siquiera hace falta programar un módulo de visión artificial (aunque sería chulísimo). Basta con una pantalla relativamente sencilla para que el usuario marque los resultados tras tirar los dados:
    Nueva pantalla para dados reales
    El «rarímetro» indicaría lo rara o probable que es la combinación de valores introducida. Por ejemplo, tirando dos dados hay 1 posibilidad entre 36 de sacar dos gusanos, pero hay 2 posibilidades entre 36 de sacar un gusano y un cinco si no nos importa el orden (gusano-cinco y cinco-gusano).
  2. Mostrar las intenciones del jugador que está tirando los dados. Por ejemplo, marcar iluminando u oscureciendo cada ficha en función de la esperanza que tiene de obtenerla, y rodear las tres mejor valoradas con halos amarillos de diferente intensidad.

Ambas funcionalidades serían opcionales. Naturalmente, su uso deshabilitaría el juego online y el registro de logros. La cuestión es: ¿sería divertido? ¡Yo creo que sí! No sólo para comprobar que la IA juega bien con dados reales, sino para aprender de ella y… ¡para hacerle alguna trampeja!

Volver al índice

Resumiendo

Piko Piko («Pickomino» en inglés) es un pequeño juego de mesa que me encanta. Es un regalo magnífico, sobre todo para familias con niños en edad de practicar las sumas.

Además tengo el orgullo de haber programado la Inteligencia Artificial de la App oficial, que podéis encontrar aquí.

Espero que os guste tanto como a mí.

Volver al índice

Mi [primer] libro

¡He escrito un libro!

Bueno, sí, soy un pesado… Lo escribí hace tiempo. Muchos familiares y amigos ya lo han leído e insisten en preguntarme para cuándo el segundo. (Gracias, yo también os quiero ;-)

Pero este blog es nuevo, así que ahí va:

Foto de mi libro Pulsos Humanos

Es una novela corta de ciencia ficción, o más bien un cuento largo. Podéis descargarlo en PDF (gratis) o encargar una copia impresa (pagando) en bubok.

Soy un simple aficionado y cometí algún error que intentaré evitar en el futuro. Concretamente, debo avisaros de que el rollo matemático del principio se puede saltar. No es todo así ;-)

Para terminar, enlazo aquí una perla de la memoria televisiva de España. ¡Qué momentazo!

¿Cordones? ¿Por qué ese título tan raro?

¿Sabes cómo te atas los cordones de los zapatos?

«¡Naturalmente! Lo hago todos los días» — pensarás.

No, no, no. Ya me imagino que sabes atarte los cordones. Lo que pregunto es si sabes cómo lo haces. ¿Sabrías describirlo paso a paso, con palabras o con dibujos? Eso ya es otra historia… No vale ensayar. No puedes ni mirar tus zapatos. ¿Cómo mueves cada dedo en cada momento?

Si sabes describir cómo te atas los cordones, probablemente es porque has tenido que enseñar a alguien cómo hacerlo.

Con la programación ocurre algo parecido. Tenemos que enseñarle al ordenador cómo hacer tareas que nosotros sabemos realizar. Pero tenemos que describirlas con todo detalle, en un lenguaje muy limitado. El ordenador no sobreentiende nada. A menudo nos encontramos reflexionando duramente para separar los pasos elementales de un proceso que nosotros realizamos de una forma automática, casi inconsciente.

Ahí reside una de las dificultades de la programación. La otra dificultad es que, siguiendo con la analogía, necesitaremos que el ordenador haga todos los nudos marineros conocidos… y alguno más.