miércoles, 5 de febrero de 2014

Comerciales viajeros y colinas peligrosas




El Sr. Lego no paraba de agitarse inquieto en su asiento, como esperando algo. Así llevaba ya un buen rato cuando me decidí a preguntarle si tenía algún problema o podía ayudarlo en alguna cosa.
Nada, nada -me respondío inquieto- cosas mías.
Con esas traté de meterme de nuevo en el código en el que estaba trabajando, pero los movimientos casi espasmódicos del Sr. Lego empezaban a ponerme nervioso. ¿Seguro que no le pasa nada Sr. Lego?
Al hacerle la pregunta volvió su cara y pude ver una mirada suplicante: Es que... esto no termina...
Me levanté y vi como estaba ejecutando un programa. Por lo menos llevaba una hora en ejecución.
Es que estoy tratando de resolver un problema para ganar un concurso que he encontrado en esta página.
El concurso consistía en encontrar la solución al conocido problema TSP (Traveling Salesman Problem). El problema consiste en una serie de ciudades que un viajante de comercio tiene que recorrer. El recurrido tiene que cumplir tres requisitos, que el número de kilómetros recorridos sea el mínimo posible, que el viajante no pase dos veces por la misma ciudad y que el viajante regrese a la ciudad de inicio.
¿Cómo está tratando de resolverlo Sr. Lego? -pregunté.
Estoy tratando de hacer una búsqueda en el espacio de estado del problema con las técnicas de búsqueda de las que hablamos hace algún tiempo.
Verá Sr. Lego, no creo que aquellas técnicas de búsqueda le sean muy útiles en este problema concreto, que pertenece a una clase de problemas que en Ciencias de la Computación se denomina "intratable", o más técnicamente, NP-Dificil.
NP-¿qué? -se extrañó el Sr. Lego.
Verá, hay problemas que son tan complejos que son computacionalmente irresolubles. Por mucho tiempo que dejara su ordenador funcionando jamás encontraría la respuesta, o en el mejor de los casos, tardaría miles o millones de años. Recuerde que ya lo comentamos el día que hablamos de la búsqueda en árboles.

viernes, 31 de enero de 2014

Las imágenes que vinieron del espacio



Siempre he sido un gran aficionado a la Astronomía, aunque tengo que reconocer que el Sr. Lego me gana la partida. No es casual que su fondo de escritorio sea una bellísima fotografía de la nebulosa de Orion, M42. De hecho, muchas mañanas el Sr. Lego me hace un pase fotográfico de las últimas fotografías enviadas por alguna sonda de la NASA. Aquella mañana le había tocado el turno a unas fotografías de la superficie de Marte enviadas por la sonda Rosetta, de la ESA.
Mientras mi compañero me describía con precisión milimétrica el contenido de cada diapositiva, yo andaba ya perdido en mis propios pensamientos. Se me hacía terrible pensar en cómo habían viajado esas imágenes digitales desde tan lejos y sin pérdida de información. A ver, si hay problemas con la WI-FI en cuanto te separas 20 metros del punto de acceso, ¿cómo es posible que estas fotos lleguen sin que se pierda o degrade la información desde tan lejos?
- Alberto, ¿me estás escuchando?
- Perdone Sr. Lego, es que andaba pensando en la pesadilla que debe ser para un ingeniero diseñar un sistema que permita transmitir datos a tanta distancia sin que se modifique un sólo pixel por el camino.

El Sr. Lego se quedo callado, como intentando comprender cual era el problema, mientras que Sofía, mi otra compañera soltaba una risita que no supe como interpretar.
- Seguro que tú lo sabes ¿no Sofía?
- Pues claro que sí. ¿Es que no aprendiste nada de Codificación en la facultad? Supongo, que estabas demasiado ocupado jugando al Mus en la cafetería.

Lo cierto es que la probabilidad de encontrarme en la cafetería de la facultad jugando al Mus durante mis años de universidad era muy alta, aun así, pensé que si quería que Sofía me explicara los entresijos del asunto, era mejor no contestar lo que estaba a punto de contestar.


martes, 8 de octubre de 2013

Neuronas y banqueros tacaños



Volver al trabajo después de todo un año es una tarea difícil. Tras un año sabático, en el que había estado tratando de encontrarme a mí mismo, regresaba al trabajo con exactamente las mismas dudas existenciales que cuando me marché, y lo que es peor, todo en la empresa seguía exactamente donde lo dejé un año antes. Sofía con sus cascos y sus pintas de hacker ochentera. Gaznápiro odiándome un poco más si cabía y el Sr. Lego, entrando como siempre en la oficina cabizbajo y mascullando. En fin, la vida seguía por el mismo lugar que la dejé.
Habían pasado ya tres días desde mi regreso y Gaznápiro ya me había asignado el mismo marrón del que hacía un año pensé que me había librado, así que aquella mañana no estaba yo de muy buen ánimo. Para mejorar la estampa, el Sr. Lego llegó mascullando como siempre, pero esta vez un poco más colorado y enfurecido que de costumbre.

- ¡Malditos bancos! Me voy a llevar la nómina y la hipoteca a otro lado... -gruñó el Sr. Lego.

- Hombre, buenos días. -dije- Veo que a usted tampoco le hace gracia que le roben.

El Sr. Lego me miró de soslayo y terminó diciendo: Quince años de cliente y ahora me deniegan un mísero préstamo de 6.000 euros. Y encima me vienen con la milonga de que es el ordenador el que me ha clasificado como cliente de riesgo y que no pueden hacer nada.

Vaya, otra víctima de una fría y malévola red neuronal. -dije tratando de quitar hierro al asunto.

- Pues no le veo la gracia. -protestó el Sr. Lego- Además, no sé como un ordenador, o una red neuronal de esas que usted dice, puede decidir si yo soy o no un cliente de riesgo.

Miré al Sr. Lego con una mezcla de lástima y desesperación por la promesa de una larga mañana de lamentos.

- Está bien Sr. Lego, si se tranquiliza y mejora su humor, prometo explicárselo.


viernes, 6 de julio de 2012

Secretos compartidos




No soy una persona que tenga mucho que esconder, pero hay cosas que más vale mantener en secreto. Por mi parte, lo típico: el pin del móvil y el de la tarjeta de crédito, las claves del banco, de las cuentas de correo, del ordenador, y poco más. Si alguien llegara a acceder a mi cuenta bancaria, dependiendo del día del mes, igual hasta le tocaba pagar, y en mi cuenta de correo tampoco hay ningún secreto de estado.
Sin embargo, hay secretos de los que dependen cosas mucho más importantes. A nadie se le escapa que la clave del correo de un presidente de gobierno o de un empresario importante es harina de otro costal. Con un poco de información privilegiada, ganar en la bolsa puede llegar a ser un juego de niños (está claro que no hay otra forma de acceder a esa información privilegiada que accediendo ilegalmente a sus correos, porque nadie duda de la integridad de los que manejan esa información ¿verdad?).
El caso es que aquella mañana de Lunes, durante el desayuno, alguien sacó el tema -creo que el sr. Lego- y, por supuesto, a pesar de mis intentos por desviar la conversación a ámbitos más mundanos, Sofía no podía resistir la tentación de enfrascarse en cualquier conversación que oliera a seguridad informática.
Ya, de perdidos al río -pensé- así que traté de volver a entrar en la conversación:
- ¿Os imagináis tener que mantener en secreto algo como los códigos de lanzamiento de unos misiles nucleares?
¡Vaya! Ya está Alberto con sus paranoias -pude leer en la expresión de el Sr. Lego.
Sofía, sin embargo, fue mucho más directa y menos sutil:
- ¡No digas tonterías! ¿tu te fiarías de alguien tanto como para darle las claves de lanzamiento de un misil nuclear? ¿Y si se vuelve loco y le da por desatar la tercera guerra mundial?
- Quizás se podría dividir la clave en varios fragmentos y repartirlos entre varias personas, así nadie sabe la clave completa y nadie puede lanzar los misiles por su cuenta -dije tratando de impresionar a Sofía.
- Entonces, si fuera un país enemigo sólo tendría que matar a uno de los que tienen la clave para evitar que pudiera lanzar los misiles... o bastaría esperar a que a alguno le de un infarto... ¡jaque mate!
- A ver -continuó el Sr. Lego- necesitamos una forma de repartir fragmentos de la clave entre varias personas de forma que ninguna conozca la clave completa, y además, queremos ser capaces de reconstruir la clave si falla una o más de una de las personas que tienen los fragmentos. Me parece que no es posible.
- Pues siento decir que te equivocas -sonrió Sofía.

miércoles, 4 de abril de 2012

Naturaleza matemática



He tenido que pasar por el aro soportar a mi jefe, que ganó su puesto en una tómbola (no quedaban perritos piloto). He tenido que aguantar compañeros obcecados en pensar que mientras más bajo cae el de la mesa de al lado, más altos están ellos (esto es una jungla chicos -suele decir Gaznápiro). He sufrido en silencio las... bueno, ya sabes... aunque sea metafóricamente en este caso. Y uno, que tiene la mala costumbre de comer a diario, no puede hacer más que soportar el sacrificio a cambio de algo de sustento. Pero hay cosas y cosas... Aquél Sábado, algún gerifante tuvo la fantástica idea de que debíamos renunciar a nuestro día de descanso para pasar un día de campo reunidos con -en palabras suyas- nuestra segunda familia. Para reforzar lazos, mejorar el trabajo en equipo y, bueno, todo eso que a los iluminados de RRHH les gusta decir (eso sí, que no se te ocurra ponerte malo y no justificarlo, que se te cae el pelo por mucha segunda familia que sean).
En fin, que allí estaba yo, tratando de evitar todos esos jueguecitos motivacionales, ocultándome tras una arboleda con la esperanza de que nadie me echara en falta... Pero claro, se ve que no era el único que trataba de zafarse, porque allí estaba Sofía, sentada contra un árbol mirando al cielo como esperando a que bajara un platillo volante a abducirla. En voz baja, en parte para que no nos escucharan, y en parte para no sobresaltarla al sacarla del trance, pregunté:
- ¿Va a llover? -dijé tratando de ser gracioso.
- ¿No es fantástico? Fíjate en como se distribuyen las ramificaciones de esos árboles ¿No te recuerda a una construcción fractal?
En ese momento casi me entraron ganas de volver con el grupo y ponerme a hacer carreras de sacos o lo que fuera que estaban haciendo, aunque lo pensé mejor y decidí sentarme en el árbol de al lado con la esperanza de que Sofía volviera a caer en el trance hipnótico del que la había sacado.
Pareciera que finalmente hubiera entrado en estado meditativo, sin embargo, se puso trascendente y continuó hablando.

martes, 28 de febrero de 2012

¿Cuántas palabras caben en una imagen?




Sofía no suele ser una persona muy expresiva, y difícilmente uno penetra su coraza para poder siquiera atisbar qué es lo que está pensando en cada momento. Ya sé que llegar al trabajo por la mañana temprano no infunde la mayor de las alegrías, pero Sofía parecía tener su propio rito de autoresignación consistente en sentarse tratando de no llamar demasiado la atención, colocarse sus cascos, abrir sus herramientas de trabajo que organizaba siempre de la misma manera en la pantalla de la derecha (era de las pocas programadoras que tenía dos monitores) y en la de la izquierda comenzaba a leer algún artículo o alguna web de noticias hasta que, cuando lo consideraba oportuno, volvía la cabeza al otro monitor y comenzaba a escribir código. El rito debe ser poderoso porque, probablemente es la programadora más brillante de la empresa.
El caso es que aquella precisa mañana, su rito cambió. En vez de colocarse los cascos y abrir una web, abrió un ejemplar del "Código de Da Vinci" de Dan Brown y se puso a leer. A mí, la verdad, es que ese libro no me entusiasmaba especialmente y puestos a elegir prefiero al Holmes de Conan Doyle o al Hércules Poirot de Agatha Christie. El caso es que no es el tipo de libro que esperaba ver leyendo a Sofía, así que me atreví a preguntar.

¿Qué tal el libro? ¿Te gusta? -pregunté.
No mucho, pero habla de criptografía y tenía curiosidad. Me ha llamado la atención la parte en la que el protagonista interpreta supuestos mensajes secretos de Da Vinci en su obra de La Última Cena. ¿No es curioso pensar que el pintor podría estar comunicándose con alguien que vive cientos de años después de su muerte?
Visto así sí que impresiona -dije- pero supongo que es lo que buscan todos los pintores al pintar un cuadro ¿no?
Si, pero imagina poder esconder información oculta en la obra y que pase desapercibida para el público general, pero no para el receptor del mensaje.
Pues sería muy interesante, pero sería más fácil enviarle una carta con algún código cifrado.
Si, pero si alguien la intercepta tiene ya una información valiosa: El emisor quiere enviar un mensaje secreto al receptor. Eso de por sí es ya una información útil para el enemigo. Se trata, pues, de enviar el mensaje sin levantar sospechas. Hoy en día lo tenemos bastante fácil con las imágenes digitales, ya no hay que pintar un cuadro. Hay una técnica detrás de este tipo de ocultación de la información llamada Esteganografía.

domingo, 22 de enero de 2012

De la cola del cine a la danza estelar


Llevabamos ya casi media hora en la cola y aquello parecía no avanzar, lo que para ser un jueves por la tarde era bastante poco corriente. Mi amigo Descollante y yo solemos ir al cine este día porque suele haber poca afluencia, sin embargo, hoy la cosa estaba imposible.

Para la próxima sacamos la entrada por Internet -dije- aunque haya que pagar algo más. No entiendo como puede haber tanta gente hoy y el Jueves pasado estuvimos solos.

Pues no hay ningún misterio -dijo Descollante sin ni siquiera volver su mirada- los grupos de personas se comportan como sistemas dinámicos. No hay más.

Como era habitual, Descollante, que no distingue una pregunta retórica de otra real, se disponía a buscarle una explicación racional a un hecho que nadie más que él se atrevería a analizar seriamente, así que tenía dos opciones: callarme y seguir disfrutando de la cola, o hacer como si me interesara su comentario y enfrentarme a una disertación que no estaba seguro de querer escuchar. Por desgracia mi maldita manía de empatizar hasta con las piedras me hizo pronunciar dos fatídicas palabras: ¿sistemas dinámicos?