miércoles, 22 de noviembre de 2006

Miranda!

Sé que seguramente a nadie le importa, pero hoy esto me hizo feliz: ¡Miranda! en Pandora en vivo! :-D

Bueno, de regreso a la investigación...

lunes, 20 de noviembre de 2006

The Universe as a Video Game

As a result from a couple of strange events, I've got an interest on being able to explain my own personal vision or understanding of the Universe. Trying to find a good analogy, and after considering nondeterministic finite state machines, I thought that a video game would be something much more common and easier to understand. :-P

Please note, this is only an analogy. It does not mean that I really believe that our Universe works exactly like a video game. But the analogy will be very useful to define several of the concepts which we will probably like to discuss about.

Good, let's start by imagining a game like World of Warcraft, where lots of people from different parts of the world (our world) can connect in order to play. Each person takes the form of a character inside the game and controls it (using a joystick, keyboard or whatever) in order to move it around while exploring the world (of Warcraft) inside the game.

The characters inside the game can, in some way or another, interact with their environment (pick up objects, hit enemies, etc.) but they do not have an absolute control over it. For example, most likely, it is not possible to walk ‘upwards’ over the sky where there is nothing, make objects appear out of the void, disintegrate all of your enemies just by thinking about it, or dramatically modify —suddenly and without any explanation— the map of the world.

Actually I do not know very well the details of the game, so an apology in advance if it turns out that some of this things are really possible in WoW. Anyway, I hope that the general idea is clear: the world is somehow controlled by a set of rules, and the characters in the game are free to do lots of things (go and rescue a princess, randomly run without any direction and jump from a precipice, gather a group of friends and start dancing), but always constrained by the rules of the world.

From this toy example we can already define some interesting concepts. For example, the Universe is the world created inside the game (with all its trees, mountains, and characters randomly running without direction; in something like StarCraft it might also include solar systems, other planets, etc.) and physics are the rules that govern the Universe (the code or program of the game).

The body of a living being is an object or entity inside the game that can be manipulated by an external player outside the game. The soul is precisely this player, which holds a controller on its hands and takes decisions over the actions that its body performs inside the game. This is how the living beings can interact with the Universe, but always limited by the laws of physics.

This also divides my model in two parts: the physical plane, namely the Universe where the bodies live, and the spiritual plane, whatever it is where the souls live. Finally God, the Creator, is whoever has written or developed the game. In our (toy) example, Blizzard is God.

Some people might not agree with my definitions (I've heard, for instance, some definitions of God quite different to mine) but, for practical purposes in the rest of this post, the important keywords (Universe, God, etc.) mean whatever I said that they mean (in other words, if you don't like my “labels”, change them for other words that bother you less and keep on reading).

We will now see what happens when we try to use this analogy in order to describe our own reality. We also have an Universe which seems to be constrained by some rules of physics. I also want to clarify that, in this case, by physics I mean whatever is effectively programmable and deterministic (i.e. always if this happens, then this other thing also happens).

The nondeterministic components of the system is what I call the spiritual plane. The actions of the souls are the ones which are not completely determined by the laws of physics (they might be limited or influenced by the laws of physics, but not determined by them). If it weren't by this spirutal plane —and the actions of the souls in it— the physical plane would be completely, totally and absolutely predictable.

I don't know if you have noticed but, until now, I haven't said much things. And I do not plan to say much more either. The only thing that I've been doing is to give several definitions that will be useful in order to make us questions so that, when we think or discuss about them, we are all more or less imagining the same thing.

A lot if interesting questions seem to be in the relation between the physical and the spiritual planes. Science (medicine for example) seems to indicate that a good deal of the processing that happens in our brain is happening within the physical plane. How much of our “will” is programmed within the physical world? Is there really a nondeterministic component (i.e. souls) or are we completely programmed to do what we do? What is the subconscious, and which role does it play within this model (is it a physical or a spiritual thing)?

Other questions, of course, are raised around the figure of God. The fundamental question, does God exist?, is reduced in this setting to ask: Did someone created the Universe? or did it just suddenly appeared, without the need of a Creator? or maybe it has existed forever, without never having a beginning?

And if we suppose that God does exist, then: Is God also a player? does he also has a controller and is playing among us in this Universe? Can God modify the rules of the game (the physics) while the game is running? Can God stop or restart the game? Has this actually happened?

Another of the questions, which I am particularly interested in, is: How much of the science of physics (i.e. our models that we have created trying to explain how the Universe works) is similar to the real physics (i.e. how things really work)?

And, of course, the most transcendental question that we all have asked to ourselves. When you die, does it really says “Game Over”?

El Universo como un Videojuego

Resultado de un par de extraños sucesos, me entró la curiosidad de poder explicar cual es mi visión o entendimiento del Universo. Tratando de buscar una buena analogía, y después de considerar a las máquinas de estado finito no deterministas, me pareció que un videojuego sería algo mucho más cotidiano y sencillo de entender. :-P

Ojo que ésta es sólo una analogía. No significa que yo realmente crea que nuestro Universo funcione exactamente como un videojuego. Pero la analogía será muy útil para definir varios de los conceptos con los que seguramente nos interesará discutir.

Bien, comencemos por imaginarnos un juego tipo World of Warcraft donde muchas personas desde todas partes del mundo (nuestro mundo) se pueden conectar para jugar. Cada persona toma la forma de un personaje dentro del juego y lo controla (con un joystick, un teclado o lo que sea) para moverlo de un lado a otro e ir explorando el mundo (de Warcraft) dentro del juego.

Los personajes dentro del juego pueden de alguna manera interactuar con su entorno (recoger objetos, golpear enemigos, etc.) pero no tienen control absoluto sobre él. Por ejemplo seguramente no pueden caminar hacia ‘arriba’ sobre el cielo donde no hay nada, hacer aparecer objetos de la nada, desintegrar a todos sus enemigos con solo pensarlo, o modificar drásticamente —de pronto y sin ninguna explicación— el mapa del mundo.

En realidad yo no conozco muy bien los detalles del juego, así que de antemano una disculpa si es que algunas de estas cosas resulta que son posibles en WoW. De cualquier modo espero que la idea general se entienda: el mundo está controlado de alguna manera por ciertas reglas, y los personajes dentro del juego son libres de hacer muchas cosas (ir a rescatar a una princesa, correr sin dirección y tirarse de un precipicio, juntar a varios amigos y ponerse a bailar), pero siempre están limitados por las reglas del mundo.

Y desde este contexto de juguete podemos comenzar a definir conceptos interesantes. Por ejemplo, el Universo es el mundo creado dentro del juego (con sus arboles, montañas, y personajes corriendo sin dirección; en algo como StarCraft puede incluir también sistemas solares, otros planetas, etc.) y la física son las reglas que gobiernan al Universo (el código o programa del juego).

El cuerpo de un ser vivo es un objeto o entidad dentro del juego que puede ser manipulado por un jugador externo al juego. El alma es precisamente ese jugador, que tiene el control en su mano y toma decisiones sobre las acciones que su cuerpo realiza dentro del juego. De esta manera los seres vivos pueden interactuar con el Universo, aunque siempre limitados por las leyes de la física.

Esto divide también a mi modelo en dos partes: el plano físico, es decir el Universo donde viven los cuerpos, y el plano espiritual, donde sea que vivan las almas. Finalmente Dios, el Creador, es quien haya escrito o desarrollado el juego. En nuestro caso (de juguete) Blizzard es Dios.

Quizá algunos no estén de acuerdo con mis definiciones (he escuchado por ejemplo definiciones de Dios diferentes a la mía), sin embargo para fines prácticos en lo que continua de este post las palabras clave (Universo, Dios, etc.) significan lo que yo dije que significan (es decir, si no te gustan mis “etiquetas”, cámbialas por otras palabras que te molesten menos y sigue leyendo).

Ahora veamos qué sucede cuando queremos utilizar esta analogía para describir nuestra propia realidad. Igual tenemos un Universo que parece estar regido por ciertas leyes de la física. Quiero aclarar que en nuestro caso por física me refiero a todo lo que efectivamente es programable y determinista (es decir: siempre que pasa esto, entonces pasa esto otro).

A las componentes no deterministas de nuestro sistema es a lo que yo le llamo el plano espiritual. Las acciones de las almas son las que no están completamente determinadas por las leyes de la física (pueden ser limitadas o influenciadas por la física, pero no están determinadas por ella). De no ser por este plano espiritual —y las acciones de las almas en él— el plano físico sería completa, total y absolutamente predecible.

No sé si lo han notado, pero hasta ahora no he dicho gran cosa, y tampoco pienso decir mucho más. Lo único que he estado haciendo es ir dando varias definiciones que serán útiles para poder hacernos preguntas y que, cuando pensemos o discutamos sobre ellas, todos nos estemos imaginando más o menos la misma cosa.

Un montón de preguntas interesantes parecen estar en la separación de los planos físico y espiritual. La ciencia (por ejemplo la medicina) parece indicar que una buena parte del procesamiento que ocurre en nuestro cerebro está ocurriendo dentro del plano físico. ¿Qué tanto de nuestra “voluntad” está programada dentro del mundo físico? ¿Existe en verdad una componente no determinista (es decir almas) o estamos completamente programados? ¿Qué es el subconsciente, y qué papel juega en este modelo (esta del lado físico o del espiritual)?

Otras preguntas, por supuesto, giran en torno a Dios. La pregunta fundamental, ¿Dios existe?, se reduce en este caso a preguntar: ¿Alguien creó al Universo? ¿O simplemente apareció de pronto, sin necesidad de un Creador? ¿O quizá ha existido siempre, y no tuvo nunca un inicio?

Y si suponemos que Dios existe, entonces: ¿Dios también juega, es decir igual tiene un control y juega junto con nosotros en este Universo? ¿Puede Dios modificar las reglas del juego (la física) mientras el juego está en proceso? ¿Puede Dios detener o reiniciar el juego? ¿Lo ha hecho?

Otra de las preguntas que a mi en particular me interesa mucho es: ¿Qué tanto de la ciencia de la física (es decir nuestros modelos que hemos creado para tratar de explicarnos cómo es que funciona el Universo) se asemejan a la verdadera física (es decir a cómo realmente funcionan las cosas)?

Y, por supuesto, la pregunta más trascendental que todos siempre nos hemos hecho. Cuando mueres, ¿realmente dice “Game Over”?

jueves, 16 de noviembre de 2006

Citas citables

Papa, don't preach, I'm in trouble deep. Papa, don't preach, 'cause I've made up my mind, I'm keeping my baby.
Madonna
— Diane, Sugar & Spice
They say that the quotes you like say something about you. I wonder what this says about me. :-S

Interesante coincidencia (casi)

Ayer platicando con Nestan, nueva compañera de oficina y estudiante también de mi asesor, me enteré que estuvimos apunto de conocernos hace 7 años. En 1999. En Rumania.

¿Cómo? Pues resulta que ella participó representando a Georgia en la olimpiada internacional de mate. Mientras que yo estuve apunto de. En 1998 participé en la olimpiada nacional en México donde nos seleccionaron a algo así como 20 estudiantes para seguirnos entrenando y seleccionar a los 6 que irían a Rumania en el '99. Pasé algunas etapas y eliminatorias más, pero al final ya no quedé en los 6 seleccionados.

Habría sido muy interesante que sí hubiera ido yo entonces a Rumania y que ahora, después de tanto tiempo, nos encontráramos casualmente de nuevo en Manchester. Pero no fui, así que en realidad no hubo ninguna coincidencia interesante. :-P

De cualquier manera si tenemos algunos conocidos en común: Cecilia, otra de las seleccionadas en México con quien también estuve entrenando casi por un año, y Malú, la delegada oficial del equipo mexicano en ese entonces. Nestan las conoció a ambas en Rumania.

Para quienes, como yo, apenas están hubicando a Georgia en el mapa, otro dato interesante del país es que tienen su propia lengua, Georgiano, que utiliza además su propio alfabeto.

martes, 7 de noviembre de 2006

Googleando y programando

El escenario: Más de alguna vez cuando estoy programando, necesito buscar la documentación de alguna función o librería y, quién lo pensaría de mi, suelo abrir un navegador para buscar en Google la información que necesito.

El problema: Seguro a muchos les ha pasado también que, en este contexto, la búsqueda de Google no es siempre muy efectiva. La red esta minada con sitios de poca calidad que suelen atraer visitantes diluyendo un poco de información “relevante” en medio de un mar de anuncios. Éste es por ejemplo el primer resultado hoy al buscar c++ vector, créanme que hay mejores referencias. Y seguro que tampoco les cuesta trabajo imaginar el tipo de cosas que puedes encontrar cuando, ingenuamente, tratas de buscar algo como LaTeX blog.

La solución: Google Co-op lanzó hace algunos días Custom Search Engine. La idea básicamente es crear buscadores para temas específicos sesgando los resultados mediante keywords y etiquetas. Para los interesados en inteligencia artificial y lógica denle también una checada a la teoría detrás del proyecto pues se acerca a la dichosa Semantic Web sólo que etiquetando al nivel de sitios (y no páginas individuales o el contenido de las mismas).

Yo comencé ya a crear un buscador orientado a lenguajes de programación en general y lo pueden probar aquí. Aunque no he podido dedicarle mucho tiempo para configurarlo (por lo pronto solo he agregado y etiquetado 8 sitios) ya se puede ver un adelanto interesante al buscar cosas como vector. Observa que además, gracias al etiquetado, puedes ahora refinar la búsqueda por lenguaje de programación.

La otra parte genial de este proyecto es que es cooperativo así que les pido de favor a todos programadores interesados que se encuentren con este post, que vayan a la página del buscador y que se apunten para contribuir agregando algunos otros sitios que conozcan con información relevante. ¡Creo que esto puede ser muy útil para todos!

Ah, por cierto, esta no es sólo una herramienta para los programadores. Todos pueden jugar y experimentar con el Google Custom Search y crear buscadores para cualquier tipo de temas como deportes, películas, ciencias, salud, entretenimiento, etc. En verdad cualquier tema que te interese.

Give it a try!