Algoritmo para problema de “Casamiento Estable”

Aunque el problema es conocido como “casamiento estable” (y se soluciona pensando en esta idea), su utilidad es muy amplia y se puede aplicar a una basta gama de problemas actuales. Este problema fue estudiado por primera vez hace ya unos 50 años por Gale y Shapley, con el fin de seleccionar de la manera más óptima y justa a candidatos que postulan a las diferentes universidades. Parece bastante simple la idea, pero veamos un ejemplo que más o menos ilustra las complicaciones del problema: Supongamos que existen n empresas y n candidatos para trabajar (si, nadie quedará sin empleo esta vez), cada empresa necesita tan sólo 1 empleado y vamos a suponer que todos los candidatos postulan a todas las empresas. Seguir leyendo…

Referencias cruzadas en LaTeX: Opciones avanzadas

Dentro de \LaTeX existen comandos bien conocidos para referenciar teoremas, ecuaciones, cuadros, figuras, elementos flotantes, secciones, etc.. lo que no es tan conocido es cómo modificar estos comandos, opciones de hipervínculos dentro del documento, cambiar el color de las referencias, como hacer que las etiquetas sean visibles dentro del documento PDF para facilitarnos el trabajo… hablaremos de estos problemas en este post.
Seguir leyendo…

¿Cómo trabaja un Algoritmo Genético Simple?

Para hacer una verdadera introducción a los “algoritmos genéticos” probablemente necesitaríamos escribir un libro y no un artículo como este. Intentaremos explicar de dónde viene el nombre algoritmo genético, qué es lo que son, qué +tipos de problemas resuelven, cómo trabajan, qué ventajas y qué desventajas tienen.. Concluiremos con un ejemplo simple de un algoritmo genético (en pseudolenguaje) explicado con lujo de detalles.

¿Por qué Algoritmo Genético?

Un algoritmo genético es básicamente una técnica de búsqueda basada en la teoría de evolución de Darwin. Esta técnica intenta imitar los mecanismos de selección natural, de acuerdo a los cuáles los individuos más aptos de una población son los que sobreviven, pues son capaces de adaptarse más fácilmente a los cambios que se producen en su entorno. En la actualidad se sabe que éstos cambios se efectúan a nivel genético (por esto es el nombre que se le da al algoritmo) y que los atributos más deseables (los que permiten una mejor adaptación en el entorno) son los que se transmiten a los descendientes cuando un individuo se reproduce sexualmente.


Seguir leyendo…

Construyendo Obras de Arte Fractal

¿Qué es un fractal?, ¿cómo se clasifican según sus propiedades?, ¿cómo se construye un fractal?, ¿existe sólo una forma de hacerlo?…. No conozco ningún científico que no se maraville con los fractales, aquellas obras de arte cuya forma y colorido dependen de un patrón dado por una función matemática. El primer concepto de fractal fue propuesto por el matemático Benoît Mandelbrot (1924-2010) en su libro “¿Cuánto mide la costa de Gran Bretaña?” publicado en 1967.

Arte-Fractal Maldenbrot


Seguir leyendo…

Personalizando la Fuente de Entrada del Teclado

Introducción

Probablemente, si sueles escribir simultáneamente en 2 idiomas cuyos abecedarios o acentuaciones sean diferentes, me vas a entender. Cualquiera podría decir que basta con cambiar la configuración del teclado en algún acceso rápido (de latinoamericano a portugués y de portugués a latinoamericano, por ejemplo.. en este caso la “c cedilla” ç o el “acento nasal” ~ tienen fácil ubicación en el teclado configurado en portugués), sin embargo, cada configuración diferente tiene símbolos comunes distribuídos de diferente manera, por lo que habría que aprenderse una segunda configuración (diferente a la del teclado que usas) prácticamente de memoria o cambiar la configuración decenas de veces en un escrito híbrido de ambos idiomas… eso no es práctico.


Seguir leyendo…