miércoles, agosto 08, 2012

Teseo y el Minotaruro Geeks

Estaba Teseo murmurando en el laberinto construido por Dédalo a la caza del Minotauro
- La próxima vez que vea a Ariadna, le diré que debería haberme dado un ovillo más largo. Llevo cinco encrucijadas y el ovillo se ha terminado.-
Enojado arroja el ovillo al suelo; luego se puso a debatir entre seguir adelante sin cuerda o regresar y enfrentar la burla del público que lo esperaban afuera. Pasado un tiempo de duda tomó valor, desenfundó su espada y avanzó con todos sus sentidos alertas a espera de enfrentar al terrible Minotauro.
Pasado un tiempo percibe un olor a excremento de vaca, avanzó cada vez más por el laberinto, lamentando - ¡Todos los túneles parecen iguales-
De repente escucha una voz que retumba en el túnel -¿Perdido?, -Si- le responde y al darse vuelta ve una sombra que no distingue bien que le contesta -Yo también estoy atrapado aquí desde hace siglos- Teseo le pregunta -¿Cazando también al Minotauro, no?- a que responde -Epa hombre, yo soy el Minotauro, aparta esa espada que si hubiera querido comerte ya lo habría hecho hace tiempo- De pronto una luz de fuente desconocida invade el laberinto y Teseo pudo ver a su compañero de infortunio, -¿Pero que te ha sucedido?, pregunta Teseo a lo que el Minotauro responde -Y mi madre Pasífae le gustaba la zoofilia y tuvo relaciones con el toro de Creta, de esa unión salí yo, por suerte cuando Dédalo construyó el laberinto me dejó una biblioteca mas completa que la de Alejandría; así que no soy ninguna bestia salvaje- y replicó -¿sos bueno resolviendo laberintos?-, -No soy bueno entrando en ellos- dijo Teseo, -Supongo que el truco es invertir el proceso, pero la inepta de tu hermana me dio un hilo demasiado corto y ahora no sé donde está la punta del ovillo-, -Si la verdad que ni para aperitivo sirven estas mujeres cretenses- replicó en Minotauro, a lo que acotó -He ensayado un montó de algoritmos pero al no tener un mapa del laberinto ninguno me sirvió, ¿Tienes un mapa supongo?- -Amigo Minotauro, si tuviera un mapa no hubiera necesitado un ovillo, ahora bien se podría usar el truco de pezuña a la izquierda- a lo que el Minotaturo refuta - Macho, ese truco funciona si lo utilizas desde la entrada al laberinto y que yo sepa tus dos manos siempre enfundaron la espada- A lo que luego de rascarse el cuerno con su pezuña izquierda reflexiona -Lo importante para resolver un laberinto es conocer sus encrucijadas y no la longitud de los túneles-; -Me temo que no estoy de acuerdo- dijo Teseo mientras se rascaba un callo. -Lo que quiero decir es que podemos representar los elementos topológicos escenciales mediante un grafo conexo; donde los vértices corresponden a las encrucijadas y las aristas a los túneles. Entonces el problema de resolver un laberinto se reduce a hallar un circuito de Ëuler- responde el Minotauro. -Creo que cualquiera sabe eso- dijo Teseo, -Sí, pero hay un teorema que dice cuando es posible- dijo el Minotauro a lo que Teseo responde -Adodoro los teoremas, Pitágoras me contó uno realmente sorprendente sobre hipopótamos cuadrados-, -No seas bruto Teseo, al que me refiero es un teorema sobre grafos, si un grafo conexo tiene más de dos vértices de grado impar no es posible hallar un circuito de Ëuler. Y el muy hijo de prostituta de Dédalo ya lo pensó para que no me escape y construyó varias encrucijadas con 5 túneles-. -La única pista que me dejó es un algoritmo dado en un lenguaje dado por un tal pitón, nunca imaginé que un ofidio fuera tan inteligente-. -Brillante- replicó Teseo, -muéstrame el algoritmo que te ha dejado, yo cuando vivía en Trecén era programador en lenguaje python!, gracias a eso me pude pagar el viaje a Creta-. Entonces el Minotaturo saca un papiro medio amarillento donde se puede leer:

import numpy as np
from numpy.random import random_integers as rnd
import matplotlib.pyplot as plt

def maze(width=81, height=51, complexity=.75, density =.75):
    # Only odd shapes
    shape = ((height//2)*2+1, (width//2)*2+1)
    # Adjust complexity and density relative to maze size
    complexity = int(complexity*(5*(shape[0]+shape[1])))
    density    = int(density*(shape[0]//2*shape[1]//2))
    # Build actual maze
    Z = np.zeros(shape, dtype=bool)
    # Fill borders
    Z[0,:] = Z[-1,:] = 1
    Z[:,0] = Z[:,-1] = 1
    # Make isles
    for i in range(density):
        x, y = rnd(0,shape[1]//2)*2, rnd(0,shape[0]//2)*2
        Z[y,x] = 1
        for j in range(complexity):
            neighbours = []
            if x > 1:           neighbours.append( (y,x-2) )
            if x < shape[1]-2:  neighbours.append( (y,x+2) )
            if y > 1:           neighbours.append( (y-2,x) )
            if y < shape[0]-2:  neighbours.append( (y+2,x) )
            if len(neighbours):
                y_,x_ = neighbours[rnd(0,len(neighbours)-1)]
                if Z[y_,x_] == 0:
                    Z[y_,x_] = 1
                    Z[y_+(y-y_)//2, x_+(x-x_)//2] = 1
                    x, y = x_, y_
    return Z

plt.figure(figsize=(10,5))
plt.imshow(maze(80,40),cmap=plt.cm.binary,interpolation='nearest')
plt.xticks([]),plt.yticks([])
plt.show()
-Estamos salvados!!- respondió Teseo a lo que continuó -para resolver este laberinto debemos usar una búsqueda en profundidad!- Pero el Minotauro no estaba tan entusiasta y le replica -Todo muy lindo Teseo, pero para aplicar una búsqueda en profundidad es necesario marcar cada encrucijada para saber que estuviste ahí y no repetirla, ¿por casualidad mi hermana no te dio una tiza?-
Teseo luego de revisar su mochila se da cuenta que Ariadna le había sacado la tizza, y se empezó a dar cuenta que las intenciones de esta chica era que él nunca saliera del laberinto. Pero se dio cuenta que con la espada podía rayar cada encrucijada. Pero antes de emprender tamaña empresa para que ambos salieran del laberinto el Minotauro le cuestiona -No se como es la complejidad computaciónal de dicho algoritmo, por ahí podríamos pasar una eternidad tratando de salir del túnel- -Eso sería si fuera un problema NP-completo pero nadie lo pudo demostrar. Además como el laberinto tiene al menos una estrada que es la salida seguro que la vamos a encontrar-, dijo Teseo Trascurrido 15 días de intentos fallidos ambos, Teseo y el Minotaturo pudieron salir del laberinto. Como trascurrió tanto tiempo no había nadie esperando, pero a Teseo le aquejaba una duda -Hermano Minotauro, debo matarte sino mi reputación se irá a la zanja-, -Mira hermano Teseo, nadie sabe como soy en realidad, podemos matar a aquel toro, lo decapitamos nos hacemos un asadodito como despedida, y vos vas a Creta con la cabeza del toro le dices a los Cretences que es mi cabeza, yo me voy a pasar un tiempo a los burdeles que seguro debe andar mi madre por ahí. -Brillante- repondió Teseo, -Hagámoslo- dijo el Minotauro.
Así es que hoy nos llega la falsa historia que Teseo mató al Minotauro, cuando en realidad ambos cooperaron para salir del laberinto.

martes, agosto 07, 2012

Statistical complexity


La complejidad estadística formulada por LMC permite caracterizar las series temporales provenientes de sistemas dinámicos caóticos y diferenciarlos de los estocásticos.


viernes, agosto 03, 2012

Privacidad

- ¡Pizzería Google, buenas noches!
- ¿Pizzería qué?
- Pizzeria Google, señor. ¿Cuál es su pedido?
- Pero este ... ¿no era el teléfono de la Pizzeria Washington?
- Era, sí señor, pero Google compró la pizzería, y ahora el servicio es más completo.
- Bueno, ¿Puede tomar mi pedido, por favor?
- Cómo no señor Gómez. ¿desea lo de siempre?
- ¿Lo de siempre? ¿Usted me conoce, sabe mi nombre?
- Por el identificador de llamadas. De acuerdo con su número de teléfono, sabemos que las últimas 53 veces que llamó pidió pizza solicitó con gustos
cuatro quesos y calabresa.
- Vaya, no me había dado cuenta! Quiero eso mismo ...
- Señor, ¿puedo hacerle una sugerencia?
- Por supuesto. ¿Tiene una pizza nueva en el menú?
- No, señor. Nuestro menú es muy completo, pero me gustaría sugerirle la de ricotta y la de rúcula.
- ¿Ricotta? ¿Rúcula? ¡Noooooo! Odio estas cosas.
- Pero, señor, es bueno para su salud. Además, su colesterol no anda bien
...
- ¿Queeeeee?
- Tenemos información del laboratorio donde usted se hace sus exámenes. Cruzamos el número de teléfono con su nombre y vimos los resultados de sus
pruebas de colesterol.
- No quiero pizza de queso suave o ensalada. Para eso tomo mi medicamento para el colesterol y como lo que quiero ...
- Señor, lo siento, pero creo que usted no ha tomado su medicina últimamente.
- ¿Cómo lo sabe? ¿Usted me está mirando todo el tiempo?
- Tenemos una base de datos de las farmacias de la ciudad. La última vez que compró su medicamento para el colesterol fue hace 3 meses. Y la caja tiene
30 comprimidos.
- ¡La gran puta! Es cierto. ¿Cómo usted sabe esto?
- Por su tarjeta de crédito ..
- ¿Coooooomo ???
- Usted siempre compra sus medicamentos en la farmacia Sorrento, que le ofrece descuentos si paga con tarjeta de crédito del Banco BANK. Según
nuestra base de datos de sus gastos con la tarjeta, desde hace tres meses no ha comprado nada allí, pero sí la utiliza en otros comercios, lo cual nos
indica que no la ha extraviado.
- Ajá! Y no puede ser que haya pagado en efectivo en la farmacia? A ver qué me decís ...
- Usted le paga $ 900 semanales en efectivo a su empleada doméstica y el resto de sus gastos los   realiza con tarjeta de débito o de crédito.
- ¿Cómo sabés lo que gana mi empleada?
- Usted le paga la jubilación...
- ¡Andá a la mierda!
- Señor, lo siento, pero todo está en mi pantalla. Tengo el deber de ayudarlo. Creo que usted debe volver a reprogramar la consulta a la que faltó
con su médico y llevarle los resultados de los exámenes que se hizo el mes pasado para que le ajuste la medicación.
- Mirá flaco. estoy podrido de INTERNET, la COMPUTADORA, EL SIGLO XXI, LA FALTA DE PRIVACIDAD, LAS BASES DE DATOS, DE USTEDES y de este país ...
- Pero, señor ...
- ¡Callate! ME VOY A MUDAR BIEN LEJOS DE ACA. A las Islas Fidji o a alguna parte que no tenga Internet, computadoras, teléfono ni gente vigilándome
todo el tiempo ...
- Entiendo ...
- VOY A USAR MI TARJETA DE CRÉDITO POR ÚLTIMA VEZ para comprar un boleto de avión e irme bien lejos.
- Bueno señor Gómez...
- PUEDE CANCELAR MI PIZZA.
- Perfectamente. Se cancela. Una cosa más, señor ...
- ¿Y AHORA QUÉ?
- Su pasaporte está vencido!

jueves, julio 26, 2012

Una lección de derecho ejemplar

"Una mañana, cuando nuestro nuevo profesor de "Introducción al Derecho" entró en la clase, lo primero que hizo fue preguntarle el nombre a un alumno que estaba sentado en la primera fila:
- ¿Cómo te llamas?
- Me llamo Juan, señor.
- ¡Vete de mi clase y no quiero que vuelvas nunca más! - gritó el desagradable profesor.
Juan estaba desconcertado. Cuando reaccionó se levantó torpemente, recogió sus cosas y salió de la clase. Todos estábamos asustados e indignados pero nadie dijo nada...
- ¡Ahora sí!- y preguntó el profesor:
- ¿Para qué sirven las leyes?...
Seguíamos asustados pero poco a poco comenzamos a responder a su pregunta:
- "Para que haya un orden en nuestra sociedad"
- "¡No!".. contestaba el profesor
- "Para cumplirlas"... "¡No!"
- "Para que la gente mala pague por sus actos" ..... "¡¡No!!
- ¡¿Pero es que nadie sabrá responder esta pregunta?!"...
- "Para que haya justicia",... dijo tímidamente una chica....
- "¡Por fin!!!! ... Eso es !!!... para que haya justicia....
Y ahora: ¿para qué sirve la justicia?" ...
Todos empezábamos a estar molestos por esa actitud tan grosera... Sin embargo, seguíamos respondiendo: "Para salvaguardar los derechos humanos"...
"Bien,... ¿qué más?", decía el profesor... "Para discriminar lo que está bien de lo que está mal"...
Seguir... "Para premiar a quien hace el bien” ...
- Ok, no está mal pero... respondan a esta pregunta: ¿actué correctamente al expulsar de la clase a Juan?....
Todos nos quedamos callados, nadie respondía.
- Quiero una respuesta decidida y unánime.
- ¡¡No !! ... - dijimos todos a la vez.
- ¿Podría decirse que cometí una injusticia? ...
- ¡Sí !!!!
- ¿Por qué nadie hizo nada al respecto?...¿Para qué queremos leyes y reglas si no disponemos de la valentía para llevarlas a la práctica?...
- Cada uno de ustedes tiene la obligación de actuar cuando presencia una injusticia ....Todos... - ¡No vuelvan a quedarse callados nunca más !!!!
- Vete a buscar a Juan ...- dijo mirándome fijamente.

Aquel día recibí la lección más práctica de mi clase de Derecho.

jueves, julio 12, 2012

Biot method, an example of



En esta entrega posteo un ejemplo del método de Biot aplicado a la difusión del calor en una placa de ancho "l" pero de área infinita. La desventaja de este método es que el perfil de térmico debe ser propuesto a priori, cosa que no ocurre cuando se resuelve el problema de frontera libre.

miércoles, julio 11, 2012

Lagrangian method of Biot


En este post hago una introducción al método de Biot, un método que apela a conceptos Lagrangianos, pero es poco conocido en la literatura que trata la transmisión del calor y el problema de frontera libre.

lunes, julio 02, 2012

Presión Binaria


En este post, encaro el caso de la presión binaria de un gas de N bits, con r unos.