Dada las funciones F(x), G(x), H(x). Como se observa en la figura:
para que colaboren entre sí, se hacen las siguientes operaciones:
Y = Máximo(F(x), G(x), H(x))
Y = Mínimo(F(x), G(x), H(x))
Y = Alterna(F(x), G(x), H(x))
¿Qué significan?
En el caso de "Máximo", para un valor de "x" en particular, se evalúan las tres funciones, aquella que devuelva el mayor valor es la que dará ese valor a Y. Dando como resultado esta figura:
En el caso de "Mínimo", para un valor de "x" en particular, se evalúan las tres funciones, aquella que devuelva el menor valor es la que dará ese valor a Y. Dando como resultado esta figura:
En el caso de "Alterna", para el primer valor de "x" a evaluar, a Y se le da lo que genere F(x), el segundo valor de "x" a evaluar, entonces a Y se le da lo que genere G(x), el tercer valor de "x" a evaluar, entonces a Y se le da lo que genere H(x), el cuarto valor de "x" vuelve a ser Y lo que genere F(x) y así sucesivamente.
El caso de "Alterna" es el que da mayor variedad, porque si se cambia el orden así: Y = Alterna(G(x), F(x), H(x)), entonces se obtiene algo completamente distinto. Volviendo a Y = Alterna(F(x), G(x), H(x)) si se cambia la frecuencia de cambio, por ejemplo, los primeros cinco valores de x se evalúa F(x), los siguientes cinco se evalúa G(x), los siguientes cinco se evalúa H(x), y se repite de nuevo los siguientes cinco con F(x) y así sucesivamente se obtiene otro comportamiento. Ver figura:
A diferencia de los algoritmos genéticos o algoritmos evolutivos clásicos, en este caso NO se eliminan individuos, sino que todo el esfuerzo se dirige a que exista una determinada colaboración entre ellos. Luego lo que se evalúa es el resultado de la colaboración, y dado el caso se varía la colaboración para mejorar los resultados.
La evaluación de la colaboración sería similar a los algoritmos genéticos, pero antes de empezar un proceso como tal, hay que definir que funciones de colaboración van a haber, como serán sus parámetros, cómo pueden variar, etc.