jueves, 7 de mayo de 2015

Mi camino hacia el aprendizaje de Algoritmos Genéticos

Hace tres días tenía una ligera idea de lo que eran los algoritmos genéticos. Me sonaba remotamente de oídas. Hoy he hecho mi primer programa aplicando dicho algoritmo.



Durante estos días, y en el momento en que me decidí a hacer un programa sobre ello, he ido anotando a modo de experimento, mi recorrido hacia llegar a ese tanto por ciento de aprendizaje que me ha dado la capacidad de elaborar una aplicación informática sobre ello. 

Día 1
  • Todo surgió de un comentario sobre el tema de una persona a la que denominaré experto. Me contó algunas nociones básicas muy por encima. Sembró la semilla de la curiosidad en mi e hizo que recordara lo poco que sabía sobre el tema.
Día 2
  • Parece que el tema estuvo en proceso de incubación en mi cabeza. Se me ocurrió una aplicación de ese algoritmo para tratar un problema de optimización que teníamos entre manos en ese momento en el trabajo.
  • Para ello necesitaría aprender más sobre el tema. No bastaba con los comentarios introductorios que me había dado el experto el día anterior.
  • Lo primero era buscar documentación sobre el tema. Busqué en Scribd documentos gratuitos de más de 100 páginas. Suelen ser libros. Encontré cosas pero era demasiada información, demasiado denso.
  • Opté por el camino opuesto. Documentos gratuitos de menos hasta 3 páginas. Supuse que vendrían resúmenes muy breves con lo esencial.
  • Todo lo encontrado lo volqué en mi tablet y aproveché el trayecto de vuelta a casa para estudiarlo. El tiempo de que dura ese trayecto siempre lo intento aprovechar, es un "rincón del tiempo" que no hay que dejar escapar.
  • Logré entender el funcionamiento básico, aunque vi que había más variantes sobretodo en una de las partes del algoritmo, el de recombinación.
  • Busqué otros tipos de contenido que me pudieran ayudar. No hay que limitarse al texto. En Youtube existen un sin fin de explicaciones muy buenas sobre pizarra de cualquier tema. También recurrí  a podcast. Ivoox es una gran fuente de conocimiento del que puedes beber casi en cualquier momento (mientras haces deporte, mientras viajas en el autobus, mientras conduces, etc...)
Día 3
  • Plantee el problema sobre el papel, mediante el uso de esquemas y gráficos. Si se puede dibujar se entiende todo mucho mejor.
  • Empecé a codificar el programa en Python (un lenguaje tremendamente sencillo y potente del que ya os hablaré en otra entrada)
  • Me surgieron algunas dudas sobre una de las partes, el de la creación de la nueva generación.
  • Fui de "caza" por internet buscando información sobre esa duda en concreto. Busqué ejemplos concretos.
  • Pregunté al experto. Con su respuesta y lo encontrado reordené mis ideas y continué avanzando en el desarrollo.
  • Finalicé el desarrollo.  

Este ha sido mi camino hasta llegar a implementar mi primera aplicación basada en este tipo de algoritmos. Esta claro que no ha hecho que me convierta en un experto en el tema, pero si he adquirido un buen porcentaje de conocimientos que hacen que me defendienda bien.


Posted on jueves, mayo 07, 2015 | Categories:

martes, 5 de mayo de 2015

Engaña a tu cerebro y dibuja mejor

Casi todo el mundo suele decir que no sabe dibujar. Quizá es porque no lo han intentado, porque lo ven como una actividad un tanto infantil, o porque su hemisferio izquierdo del cerebro les tiene sometidos.

Como todos sabemos el cerebro se divide en dos hemisferios, el lado izquierdo y el lado derecho. Están unidos por el llamado cuerpo calloso, encargado de hacer que ambos hemisferios trabajen conjuntamente. Ambos hemisferios son imprescindibles para entender el mundo, se necesitan el uno del otro, aunque el hemisferio izquierdo suele ser el dominante.

Se ha descubierto que el lado izquierdo del cerebro es el analítico. Es el encargado del habla, la lógica, las matemáticas, etc... Por contra, el derecho podemos decir que es el creativo, encargado de funciones como los sentimientos, sensaciones, habilidades espaciales, artísticas, etc...

La mayoría de nosotros, por defecto, dibujamos usando símbolos. Por ejemplo, si vamos a dibujar un árbol lo vemos como un "palo" (el tronco) y una "nube", las hojas y ramas. Es debido a que está actuando el lado izquierdo del cerebro. Para solucionar el problema, el lado izquierdo busca en su base de datos de símbolos el adecuado a lo que trata de dibujar y en lugar de fijarse en como es realmente el objeto, lo sustituye por el símbolo. Lo simplifica todo, no se complica, usa la ley del mínimo esfuerzo. 

Dibujo simbólico de un árbol

El truco para dibujar las cosas como realmente son, o aproximarse más es hacer que tome las riendas el lado derecho del cerebro, que es el especialista en este tipo de cosas. Pero para ello debe conseguir que le deje el lado izquierdo. 

El truco es confundir al lado izquierdo, hacer que no encuentre en su base de datos el símbolo adecuado y que ceda las riendas al lado derecho. Para ello, y ahora viene el truco... dale vuelta a lo que estés dibujando y dibújalo así. El lado izquierdo no sabrá analizarlo, se dará por vencido y entrará el especialista, el lado derecho. Este se fijará en cosas que el lado izquierdo pasaría por alto y el dibujo saldrá mucho más fiel a la realidad. 

Con el tiempo, mediante esta práctica deliberada, aprenderás a desactivar automáticamente el lado izquierdo y no será necesario darle la vuelta a aquello que estés dibujando (ni ponerte boca abajo si estás dibujando un paisaje)

Os invito a que dibujéis la siguiente foto que os muestro. Cuando terminéis, dadle la vuelta a vuestro dibujo. Os sorprenderéis del resultado. 


Liando al lado izquierdo del cerebro


Fuente: "Apender a dibujar con el lado derecho del cerebro" - Betty Edwards

Posted on martes, mayo 05, 2015 | Categories: