Bueno, antes de seguir con los temas del d铆a, voy a hablar un poco de cual es el tema de mi tesis. El tema es la “Utilizaci贸n de estrategias de selecci贸n de poblaci贸n para el dise帽o de filtro anal贸gicos pasivos utilizando programaci贸n gen茅tica”, pero 驴qu茅 significa?
Bueno empecemos con la programaci贸n gen茅tica (mucha m谩s informaci贸n sobre el tema, como siempre, puede encontrarse en Wikipedia o en Google). La programaci贸n gen茅tica es una t茅cnica para resolver problemas de optimizaci贸n que se basa en realizar una “evoluci贸n artificial” de una poblaci贸n de programas, con el objeto de seleccionar al que d茅 la soluci贸n m谩s conveniente al problema planteado. Se diferencia de los algoritmos gen茅ticos en que el genoma no se interpreta en forma est谩tica, sino que se ejecuta con una m谩quina virtual (limitada, l贸gicamente, no es ni HotSpot ni CLR! 馃檪 Voy a hablar m谩s de este tema (uno de los m谩s importantes en un sistema de programaci贸n gen茅tica) posteriormente, cuando est茅 implementando la mencionada VM.
Los filtros anal贸gicos pasivos son circuitos electr贸nicos cuyo objetivo, tal cual lo indica el nombre, es “filtrar” una se帽al, eliminando ciertos componentes de la misma. Se denominan anal贸gicos porque operan con una representaci贸n continua de la se帽al; esto los diferencia de los filtros digitales que lo hacen con una representaci贸n en tiempo discreto. Finalmente son pasivos porque solo utilizan tres clases de componentes: resistores, capacitores e inductores, ninguno de los cuales “entrega energ铆a” a la se帽al (la definici贸n estricta de pasividad es algo compleja). A pesar de que no figura en el nombre, estos filtros son lineales, lo que implica que la respuesta a la suma de dos se帽ales es al suma de las respuestas que dar铆a a cada se帽al por separado.
El realizar todas esas generaciones de evoluci贸n con poblaciones que pueden llegar a tama帽os considerables es computacionalmente costoso. Si bien hoy d铆a es en general ventajoso intercambiar tiempo del programador por tiempo de m谩quina, como lo muestra la gran popularidad de lenguajes tales como Python, una tarea suficientemente compleja puede vencer incluso al crecimiento exponencial del poder de c谩lculo. Por ello es importante tener m茅todos relativamente sofisticados para elegir a los circuitos de la poblaci贸n con mejores perspectivas de acercarnos a la soluci贸n. M谩s adelante hablar茅 sobre al naturaleza de estas estrategias.
Bueno ahora a los links del d铆a:
Brian Beckman: The Physics in Games – Real-Time Simulation Explained
Photo Tourism: Exploring Photo Collections in 3D (funciona con Firefox)
En el pr贸ximo post: GLUT – arcaica o pr谩ctica 馃榾