• No results found

Practice 2: Aligning Mental Models

2.4 Results: Digital Innovation Practices and Artifacts

2.4.2 Practice 2: Aligning Mental Models

Las t ´ecnicas o m ´etodos de b ´usqueda se refieren a un conjunto de estrategias o t ´ecnicas que tienen como objetivo optimizar la soluci ´on de un problema, i.e. encontrar la mejor soluci ´on de entre un conjunto de soluciones factibles. La mejor soluci ´on es aquella que minimiza el costo o maximiza la eficiencia del sistema, e.g. minimizaci ´on de costo computacional, menor tiempo de procesamiento, etc.

Las t ´ecnicas de b ´usqueda son empleadas en diferentes disciplinas, tanto en el ´ambito cient´ıfico, como en el sector industrial y de desarrollo tecnol ´ogico. En espec´ıfico, destacan las disciplinas de manufactura, aeroespacial, econom´ıa, biolog´ıa y telecomunicaciones, s ´olo por citar algunas. Un espacio de b ´usqueda se refiere a las soluciones potenciales del problema.

Las t ´ecnicas de b ´usqueda se encuentran divididas en tres grandes grupos: basadas en c ´alculos o num ´ericas, aleatorias y enumerativas. Las t ´ecnicas o m ´etodos num ´ericos encuentran soluciones aproximadas a las ´optimas de manera num ´erica, el problema ra- dica en que muchos de estos m ´etodos no se ajustan a problemas de la vida real, o re- quieren complejos modelos matem ´aticos, que al tener espacios de b ´usqueda peque ˜nos resultan costeables, no siendo as´ı cuando son amplios (Bhattacharyya y Maulik, 2013; Bandyopadhyay y Pal, 2007).

Las t ´ecnicas enumerativas exploran todas y cada una de las soluciones posibles, lo que resulta en una t ´ecnica de b ´usqueda que garantiza encontrar el ´optimo global a un alto

costo computacional y en tiempo. Finalmente, las t ´ecnicas de b ´usqueda aleatorias, que consisten en m ´etodos de b ´usqueda que exploran aleatoriamente el espacio de b ´usqueda en lugar de todas y cada una de las posibles soluciones.

En el grupo de las t ´ecnicas de b ´usqueda aleatorias se encuentran las t ´ecnicas guia- das, en las cuales a su vez se encuentra un grupo de m ´etodos conocidos como algoritmos o c ´omputo evolutivo. Estos m ´etodos no exploran un solo punto del espacio de b ´usqueda, sino que exploran una poblaci ´on de puntos, lo que aumenta las posibilidades de encontrar el ´optimo global (Arora, 2015).

3.2.1. C ´omputo evolutivo

El c ´omputo evolutivo es un t ´ermino acu ˜nado en 1991 (Baeck et al., 2000); en refe- rencia al esfuerzo cient´ıfico de simular diferentes aspectos de la evoluci ´on natural. Se le conoce como una t ´ecnica de “Soft-Computing”, puesto que son t ´ecnicas tolerantes a incertidumbre e imprecisiones, no son exhaustivas, y gracias a la tolerancia a lo mencio- nado anteriormente permiten conformar sistemas robustos a bajo costo computacional.

Las t ´ecnicas que se clasifican dentro del c ´omputo evolutivo tienen en com ´un la incor- poraci ´on de aspectos de la reproducci ´on biol ´ogica de los seres vivos, i.e. competencia y selecci ´on de individuos, reproducci ´on y variaciones aleatorias; mismas que conducen inevitablemente a la evoluci ´on, como resultado de la reproducci ´on de los individuos m ´as competitivos, los cuales en la mayor´ıa de los casos son los mejor adaptados.

Las t ´ecnicas del c ´omputo evolutivo se basan en la teor´ıa de la evoluci ´on de Darwin; esta teor´ıa es en esencia un proceso de perfeccionamiento y adaptaci ´on de los seres vivos, lo que puede ser traducido a t ´ecnicas de b ´usqueda, como el perfeccionamiento de las soluciones, i.e., optimizaci ´on. El c ´omputo evolutivo es entonces una t ´ecnica para solucionar problemas que se encuentra inspirada en la naturaleza, concretamente en los mecanismos de la evoluci ´on natural. Se rige principalmente bajo los siguientes principios:

1. Supervivencia del m ´as apto. 2. Selecci ´on natural y adaptaci ´on.

64

3. Evoluci ´on a lo largo del tiempo.

La computaci ´on evolutiva tiene cuatro paradigmas: estrategias evolutivas, progra- maci ´on evolutiva, algoritmos gen ´eticos y programaci ´on gen ´etica; siendo los algoritmos gen ´eticos la t ´ecnica m ´as popular.

3.2.2. Algoritmos gen ´eticos

Los algoritmos gen ´eticos fueron desarrollados por Holland en 1975. En su libro “Adap- tation in natural and artificial systems”, describi ´o c ´omo aplicar los fundamentos de la evo- luci ´on natural para optimizar problemas (Sivanandam y Deepa, 2008). Hoy en d´ıa, los algoritmos gen ´eticos se han convertido en una herramienta poderosa frente a los pro- blemas de optimizaci ´on. Los algoritmos gen ´eticos tienen su base en la gen ´etica y la biolog´ıa, a continuaci ´on se describe los fundamentos biol ´ogicos de ´estos seg ´un Sivanan- dam y Deepa (2008).

1. C ´elula: unidad anat ´omica fundamental de los seres vivos, contiene la informaci ´on gen ´etica.

2. Cromosoma: conjunto de genes que se encargan de almacenar la informaci ´on gen ´etica y de codificar las propiedades de las especies. Las posibles propieda- des que puede codificar un gen se conocen como alelos, i.e., posibles valores que un gen puede tomar.

3. Gen ´etica: se refiere al conjunto de genes, que componen a un individuo. Se le conoce como genotipo. Por otro lado, se encuentra el fenotipo, lo que se refiere al aspecto que tiene el ser vivo al decodificarse el genotipo.

4. Reproducci ´on: se refiere al proceso en el que un individuo engendra y da vida a un nuevo individuo, proceso mediante el cual se copia informaci ´on gen ´etica del padre al hijo.

5. Selecci ´on natural: se refiere a la preservaci ´on de los seres vivos con caracter´ısticas favorables que los hacen m ´as aptos para sobrevivir, continuando as´ı con la preser- vaci ´on de las caracter´ısticas favorables y la p ´erdida de las no favorables.

Los algoritmos gen ´eticos son entonces un m ´etodo heur´ıstico basado en la supervi- vencia de las soluciones que mejor resuelven el problema, explorando la aptitud8 de un conjunto de soluciones (poblaci ´on de individuos) paralelamente. En la tabla 5 se mues- tra una comparaci ´on entre la terminolog´ıa para referirse a las representaciones de los individuos en la rama de la biolog´ıa y de la computaci ´on.

Tabla 5: Comparaci ´on entre conceptos de evoluci ´on natural y la terminolog´ıa de los algoritmos gen ´eticos.

Evoluci ´on natural Algoritmos gen ´eticos

Cromosoma Cadena

Gen Caracter´ıstica o par ´ametro Alelo Valor del par ´ametro

Locus Posici ´on de la cadena

Genotipo Representaci ´on codificada de los par ´ametros Fenotipo Estructura decodificada, valores de los par ´ametros

El esquema general de un algoritmo gen ´etico (ver Figura 29) se basa en una poblaci ´on de soluciones, ´estas se deben de representar como un cromosoma, t´ıpicamente un cro- mosoma binario. Se genera una poblaci ´on de cromosomas aleatorios, se decodifican y se eval ´ua qu ´e tan bien o mal cada individuo (resultado de decodificar cada cromosoma) soluciona el problema. En base a la aptitud de cada individuo, se procede a simular la reproducci ´on de los seres vivos utilizando un conjunto de operadores gen ´eticos con el ob- jetivo de crear una nueva poblaci ´on de individuos. Se reemplaza la vieja poblaci ´on por la actual, y se sigue el mismo procedimiento hasta cumplir con las condiciones establecidas para la finalizaci ´on del algoritmo gen ´etico.

3.3. Definiciones y operadores gen ´eticos