2/25/2010

Los Cien Días del Plebeyo

0 comentarios
Una bella princesa estaba buscando consorte. Nobles y ricos pretendientes llegaban de todas partes con maravillosos regalos: joyas, tierras, ejércitos, tronos… Entre los candidatos se encontraba un joven plebeyo que no tenía más riqueza que el amor y la perseverancia.
Cuando le llegó el momento de hablar, dijo:
-Princesa, te he amado toda la vida. Como soy un hombre pobre y no tengo tesoros para darte, te ofrezco mi sacrificio como prueba de amor. Estaré cien días sentado bajo tu ventana, sin más alimentos que la lluvia y sin más ropas que las que llevo puestas. Esta será mi dote.
La princesa, conmovida por semejante gesto de amor, decidió aceptar:
-Tendrás tu oportunidad: si pasas esa prueba me desposarás.
Así pasaron las horas y los días. El pretendiente permaneció afuera del palacio, soportando el sol, los vientos, la nieve y las noches heladas. Sin pestañear, con la vista fija en el balcón de su amada,el valiente súbdito siguió firme en su empeño sin desfallecer un momento.
De vez en cuando la cortina de la ventana real dejaba traslucir la esbelta figura de la princesa, que con un noble gesto y una sonrisa aprobaba la faena. Todo iba a las mil maravillas, se hicieron apuestas y algunos optimistas comenzaron a planear los festejos.
Al llegar el día 99, los pobladores de la zona salieron a animar al próximo monarca. Todo era alegría y jolgorio, pero cuando faltaba una hora para cumplirse el plazo, ante la mirada atónita de los asistentes y la perplejidad de la princesa, el joven se levantó y, sin dar explicación alguna, se alejó lentamente del lugar dónde había permanecido cien días.
Unas semanas después, mientras deambulaba por un solitario camino, un niño de la comarca lo alcanzó y le preguntó a quemarropa: -¿Qué te ocurrió? Estabas a un paso de lograr la meta, ¿Por qué perdiste esa oportunidad? ¿Por qué te retiraste?
Con profunda consternación y lágrimas mal disimuladas. El plebeyo contestó en voz baja: -La princesa no me ahorró ni un día de sufrimiento, ni siquiera una hora. NO MERECÍA MI AMOR.

Reflexión: Cuando estamos dispuestos a dar lo mejor de nosotros mismos como prueba de afecto o lealtad, incluso a riesgo de perder nuestra dignidad, merecemos al menos una palabra de comprensión o estímulo. Las personas tienen que hacerse merecedoras del amor que se les ofrece.

2/18/2010

Carta de una Madre a su hijo Informático

0 comentarios
Navegando por la web me encontré esto, esta bueno, espero sea de su agrado.

Querido hijo: A la vista está que desde que comenzaste tus estudios de Informática, tu nivel de comunicabilidad con el resto de tu familia ha ido en receso, al igual que tu capacidad para mantener un mínimo orden en tu mesa de trabajo y resto de tu habitación. Es por ello que he decidido tomar cartas en el asunto y ponértelo de manifiesto en los mismos términos que empleas a diario para dirigirte a nosotros, tu familia:
Viendo que tu sistema operativo no te permite mantener optimizado tu entorno de trabajo ni tus unidades de almacenamiento, he creído conveniente desfragmentar el espacio libre y poner orden en tu sistema de archivos. Así pues, he liberado cantidad de espacio en tus unidades de alta capacidad (estanterías) y en las unidades extraíbles (cajones).
He habilitado, junto a tu acceso telefónico, un espacio reservado a tus documentos, en el cual se encuentra tu libreta de direcciones y tu portapapeles, y he dejado espacio suficiente para que tengas acceso directo a tus herramientas de escritura y dibujo. También he vaciado la papelera y restaurado la configuración visual de tus paredes, eliminando esos wallpapers tan pasados de moda.

Al escanear el resto del entorno, encontré algunas particiones ocultas, tales como el espacio entre el colchón y el somier. Te recomiendo que guardes el software de anatomía visual en carpetas poco accesibles a tus hermanos, que aún son menores de edad, si no quieres sufrir la censura de la B.S.A. o en su defecto, de tus padres.
La ropa sucia la he procesado con un programa largo y comprimido en tus unidades extraíbles. Te recomiendo que actualices más a menudo tu ropa interior, o de lo contrario habrá que pasarles periódicamente un Antivirus. Como sé que encontrarás cierta dificultad a la hora de adaptarte a este nuevo orden, he sobrescrito la tabla de contenidos de tus unidades para que te resulte más sencillo encontrar lo que busques. Claro que puedes encontrar algún bug; es la primera vez que hago de administradora de sistemas. Si detectas alguno, comunícamelo y desarrollaré un patch.
Por último, he minimizado el desorden general de tu armario, he maximizado tu área de estudio y he puesto en funcionamiento un bucle condicionado que limitará tus recursos en caso de que no mantengas optimizado tu entorno. Espero que todos estos cambios mejoren tu rendimiento y no sea preciso hacer overclocking en tus horas de estudio, ni limitarte el ancho de banda en tus comunicaciones.

Firmado: Tu madre
P.D.: Tu familia echa de menos una conversación normal



2/15/2010

Algoritmo Genético: Problema Agente Viajero (TSP)

4 comentarios
El problema del agente viajero, consiste en encontrar el orden en que un viajante de comercio debería visitar varias ciudades para que la distancia recorrida sea mínima. Se trata de un problema NP completo, en el que la única alternativa para su solución consiste en verificar todas las posibles opciones para encontrar cuál es la óptima, hay que tener en cuenta que si el número de ciudades es n, el número de posibles recorridos a ensayar resulta ser n!/2n.
Una de las soluciones para resolver este problema es usando algoritmo genéticos, puesto que una de sus aplicaciones es la resolución de problemas de optimización complejos, aquellos cuyo tiempo de ejecución mediante algoritmos convencionales crece exponencialmente o factorialmente con el aumento del tamaño del problema.
------------------------
El Informe Completo con la Base Teórica lo puedes descargar desde aquí
------------------------

Problema TSP usando Algoritmo Genético
Para resolver el problema TSP se codificó el cromosoma de la siguiente manera:
Representa el orden de las ciudades que debe seguir el agente para su recorrido. El tamaño de este arreglo es el número de ciudades del problema. No puede existir una ciudad que se repita en el recorrido.
La función de evaluación de cada cromosoma esta dado por la longitud del recorrido del mismo, es decir que longitud recorre el agente si sigue el orden de las ciudades que están en el cromosoma. El recorrido completo es de ir de la primera hasta la n-sima ciudad y regresar a la ciudad de partida.
El tipo de Cruzamiento que se uso fue “Cruzamiento de un punto”:
Después del cruzamiento, los hijos tienen un problema, existe una ciudad que se repite: la ciudad 4 en el hijo 1 y la ciudad 7 en hijo 2.
Para resolver este problema, se hizo lo siguiente: la ciudad que se repite en la parte heredada del padre 1, es reemplazada por alguna ciudad (no se encuentre en la parte de la ciudad a reemplazar) de la parte que no es heredada del padre 2.
Para la mutación, se escoge aleatoriamente de la población (después del cruce) tantos individuos como la probabilidad de mutación lo indique. Se uso el tipo de mutación “Order Chaining”, el cual consiste en seleccionar aleatoriamente dos números (ciudades) y cambiarlos. 

Resultados:
Problema 7 Ciudades:
 

Para cada Caso se realizo 20 pruebas:

2/14/2010

Amigos… quienes verdaderamente son amigos?

0 comentarios
Esta pregunta vino a mi cabeza, al escuchar a un conocido (o debo llamarlo amigo, al final de esto se trata este post de aclarar eso) y también al ponerme a recordar.
  • Amigo, es aquel que solo acude a un llamado cuando tiene tiempo? O aquel que sin importar lo que esté haciendo acude a tu llamado?
  • Amigo, es aquel que solo acude a ti cuando estás en problemas? O aquel que acude a ti también en los momentos que quieres festejar algo?  (Cabe aclarar que al referirme a festejar no necesariamente me refiero a embriagarse)
  • Amigo, debe conocer hasta los más pequeños detalles acerca de ti? O simplemente basta con que te escuche cuando tienes un problema?
  • Amigo, es aquel que debemos contarle lo que nos pasa? O aquel que simplemente conoce nuestro silencio?
  • Amigo, es aquel que te hace quedar mal, por darte una “lección”? O aquel que cuando estas solo te hace ver tu error?
  • Amigo, es aquel que se cree superior o inferior a ti? O aquel que se cree igual que tú?

Las preguntas son interminables, pero no quiero aburrirlos.
Muchos, así como yo, seguramente están pensando… verdaderamente tengo amigos? El tiempo lo dirá.
Y para terminar quiero citar dos frases:

  • El autentico amigo es el que lo sabe todo sobre ti y sigue siendo tu amigo.” Kurt D. Cobain
  • Recuerda es mucho mejor QUE TE NECESITEN PORQUE TE QUIEREN y no QUE TE QUIERAN PORQUE TE NECESITAN. Anónimo

Poda Alfa-Beta (Juego del acorralado)

0 comentarios
Implementación del Algoritmo Poda Alfa - Beta en el Juego del Acorralado


Resumen:
El presente trabajo tiene como propósito mostrar la Implementación de juegos, aplicados al campo de la Inteligencia Artificial mediante la implementación del algoritmo Poda Alfa -  Beta.
Para mostrar la aplicación de un juego entre dos adversarios hemos seleccionado el juego del acorralado, el cual para este caso trata de que tres perros acorralen a un conejo. En el presente paper se describirá las técnicas usadas para implementarlo.


1. Introducción:
La Inteligencia Artificial, es un campo que ha tomado gran interés en los últimos tiempos debido a su capacidad de poder resolver problemas imitando el razonamiento lógico de las personas y hasta el mecanismo de como ellas lo resuelven.
Un tema interesante a tratar a lo que concierne a la IA son los juegos. Así por ejemplo, el juego del acorralado es un juego de mesa entre dos adversarios y es un ejemplo claro de como podemos imitar mediante el uso de un computador el razonamiento humano.
Existen varias técnicas usadas para el desarrollo de este juego. Dentro de las técnicas que hemos estudiado, se considero utilizar la Poda Alfa - Beta, la cual es muy eficiente en la búsqueda de una solución en un 30% en comparación con la búsqueda MiniMax. Sin embargo la elección de una heurística apropiada es lo que define mejor la solución del juego.
-------------------------------
El paper completo lo pueden descargar desde aquí.
El código de la implementación puedes descargar desde aquí. (clave: jhire-velasquez.blogspot.com)
------------------------------




Capturas de pantalla del programa en ejecución:
Fig. 1: Se elije el nivel en el cual se desea jugar.
Fig. 2: Ultima jugada realizada en el nivel Night Mare.
Fig. 3: Perdida de la partida en nivel Night Mare.
Fig. 4: Victoria en el nivel I Can Win.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

2/13/2010

Inicio del Blog

1 comentarios
Siempre se suele decir que el primer post es como la primera hoja de un libro o el primer single de un álbum:
¡El más difícil de escribir!
En mi caso lo tengo resuelto, este primer post será una declaración de intenciones.

¿Cuál es el objetivo del blog?
- Simplemente contar las cosas que se me ocurran, sin ningún tipo de ataduras respecto a la frecuencia de actualización, temas a tratar, respuestas a los comentarios y calidad de los post. Los post son escritos “como son” y no otorgan ninguna garantía.

Ah, pero… ¿voy a admitir comentarios?
- Evidentemente sí, ya que este blog es un diario personal y lo mínimo que merecen las personas que lo lean es la posibilidad de opinar.
No olvides que ante todo soy una persona educada.

¿Entonces no voy a borrar nada?
- Yo no he dicho eso, revisa cuidadosamente la pregunta anterior…
Admitir comentarios no significa que los lectores puedan campar a sus anchas insultando o enviando spam a diestro y siniestro.
Eso sí, no pienso borrar las críticas que se realicen, si cumplen unas mínimas normas de educación.

Y de publicidad… ¿qué?
- Ya que soy un firme defensor de la libertad ajena, dejaré a los demás bloggers que hagan lo que quieran, pero inicialmente no voy a poner publicidad. Eso no significa que nunca lo vaya a hacer, pero sinceramente creo que ahora mismo no tiene sentido.

¿No pongo una foto mía?
No, mi ego ya está satisfecho habiéndole puesto como nombre a este blog mi propio apellido.
Pero Jakob Nielsen dice que eso es un grave error de usabilidad…
Bueno, pues aprovecho para decir que aún a riesgo de no convertirme en un gurú no voy a seguir sus consejos.

¿Estoy seguro de poder cumplir esta declaración de intenciones?
- No, no, no y mil veces NO.
La única constante es el cambio y uno es esclavo de sus palabras, así que voy a relativizar un poco todo esto - que al fin y al cabo es algo personal - y sinceramente digo que no estoy seguro de que estas reglas sean inamovibles, si algún día siento la necesidad de cambiarlas lo haré.
Eso sí, lo único que prometo firmemente es no mentir, ni en los post ni en los comentarios que tenga a bien responder, ya que sería un poco absurdo mentirse a sí mismo… ¿No crees?