Está en la página 1de 21

FACULTAD DE INGENIERÍA

FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

NOMBRE DE LA ASIGNATURA: Inteligencia Artificial


NOMBRE DEL PROFESOR: Justino Ramirez Ortegon
NOMBRE DEL ALUMNO: Eduardo Daniel Uc Uicab
TEMA: Computación Evolutiva

RESUMEN:
La función de Rosenbrock, concebida por Howard H. Rosenbrock en 1960, representa un desafío
de optimización invaluable para evaluar y medir el desempeño de algoritmos de optimización.
Esta función, a menudo denominada "rosenbrock" o "rosenbrock's valley", ha ganado
reconocimiento por su complejidad y peculiaridades.
Su estructura no convexa introduce complicaciones, ya que no sigue la forma de un valle
uniforme. En cambio, posee una forma parabólica que crea un valle largo, estrecho y plano donde
yace el mínimo global. Descubrir este valle es relativamente sencillo, ya que se puede visualizar y
comprender intuitivamente. Sin embargo, el verdadero desafío radica en converger hacia ese
mínimo global, ya que la función presenta una extensa y plana "cola" que puede desorientar a
muchos algoritmos de optimización.
Este "valle de Rosenbrock" representa una estructura que parece un plátano, lo que ha llevado a
que la función también sea conocida como la "función del plátano". La analogía con un plátano
es útil para comprender su forma curvada y alargada, que introduce dificultades en la
convergencia hacia la solución óptima. La optimización en este contexto implica descender por el
valle, enfrentando la estrechez y planitud de este, para alcanzar el punto más bajo que
corresponde al mínimo global.
La función esfera ruidosa es una función matemática que incorpora elementos aleatorios o de
ruido en la función esfera estándar, la cual se utiliza con frecuencia en problemas de optimización.
Esta variante introduce una componente estocástica que agrega imprevisibilidad a la evaluación
de la función. En contraste, la función esfera ruidosa se define como la suma de los cuadrados de
las componentes del vector X junto con términos de ruido adicionales, que son valores aleatorios
extraídos, por ejemplo, de una distribución normal. El propósito fundamental de la función esfera
ruidosa es emular situaciones del mundo real en las que hay incertidumbre o variabilidad en los
cálculos. Al introducir este componente estocástico, se busca evaluar la capacidad de los
algoritmos de optimización para adaptarse y ofrecer soluciones robustas frente a perturbaciones
o fluctuaciones inesperadas en los datos o en el proceso de evaluación.

MARCO TEÓRICO:
Matlab:
MATLAB, cuya abreviatura proviene de la expresión "MATrix LABoratory" (laboratorio de
matrices), se configura como una herramienta informática fundamental para cálculos científicos
y técnicos. Este software ofrece un entorno de desarrollo integrado (IDE) junto a un lenguaje de
programación propio conocido como "lenguaje M". Una de las particularidades de MATLAB es su
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE


consideración de los datos generados como matrices o vectores, permitiendo aprovechar el
álgebra lineal y sus propiedades para agilizar los procesos de cálculo. Se encuentra disponible
para diversas plataformas como Unix, Windows, Mac OS X y GNU/Linux.
Las funciones esenciales que ofrece MATLAB incluyen la manipulación de matrices, la
representación gráfica de datos y funciones, la implementación de algoritmos, la creación de
interfaces de usuario (GUI) y la interacción con programas en otros lenguajes y dispositivos
hardware. Además de su funcionalidad principal, MATLAB se potencia con dos herramientas
adicionales: Simulink, una plataforma para simulaciones multidominio, y GUIDE, un editor de
interfaces de usuario GUI. Para ampliar aún más sus capacidades, se pueden integrar cajas de
herramientas (toolboxes). Asimismo, Simulink se enriquece con paquetes de bloques (blocksets),
aunque no los detallaremos en esta ocasión. Este software es altamente utilizado en entornos
académicos, universidades, centros de investigación y desarrollo.
Creado en 1984 por Cleve Moler, matemático y programador de computadoras, MATLAB surgió
con la intención de facilitar la enseñanza de álgebra lineal y análisis numérico, eliminando la
necesidad de programar en Fortran mediante la utilización de paquetes de subrutinas. El lenguaje
de programación M, por otro lado, fue concebido en 1970 para brindar un acceso más sencillo a
los paquetes de software LINPACK y EISPACK, evitando la obligación de utilizar Fortran. En 2004,
se estimaba que MATLAB era empleado por más de un millón de personas en ámbitos académicos
y empresariales.
Función Rosenbrock:
La función de Rosenbrock, también conocida como "rosenbrock" o "valle de rosenbrock", es una
función matemática ampliamente reconocida y utilizada en el ámbito de la optimización y el
análisis numérico. Es comúnmente empleada como un problema estándar para evaluar
algoritmos de optimización debido a sus características desafiantes y su estructura peculiar.
La fórmula que define la función de Rosenbrock en dos dimensiones es:

Donde a y b son parámetros que influyen en la forma de la función. Típicamente, a se establece


en 1 y b en 100, aunque estos valores pueden variar. La versión generalizada de esta función es
aplicable a espacios de más de dos dimensiones.
La topografía de la función de Rosenbrock se asemeja a un valle alargado y estrecho, con un único
punto mínimo global en f(1,1)=0, que representa la solución óptima. Sin embargo, esta función
plantea importantes desafíos para los algoritmos de optimización debido a su "cola" larga y plana,
que complica la convergencia hacia el mínimo global.
En un contexto práctico, la función de Rosenbrock es comúnmente utilizada para evaluar la
eficiencia y la capacidad de convergencia de algoritmos de optimización. En la optimización, el
objetivo es encontrar los valores de x e y que minimizan f(x,y), lo que implica descender hacia el
fondo del valle de Rosenbrock y alcanzar el mínimo global.
Función Esfera Ruidosa:
La función esfera ruidosa es un concepto utilizado en el ámbito de la optimización y el análisis
numérico. Es una variante de la función esfera, que es una función de optimización comúnmente
utilizada para evaluar algoritmos de optimización. La función esfera ruidosa agrega ruido
aleatorio a la función esfera básica, lo que introduce una componente estocástica y aleatoria.
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE


La función esfera básica (también conocida como función de esfera o función de esfera estándar)
en n-dimensiones se define como:
𝑛𝑛

𝑓𝑓(𝑥𝑥) = � 𝑥𝑥𝑖𝑖2
𝑖𝑖=1
Donde ruido i es un término aleatorio que generalmente se extrae de una distribución normal o
alguna otra distribución estocástica. La introducción de este término de ruido implica que la
función esfera ruidosa ahora tiene cierta variabilidad y no es completamente determinista.
El propósito de la función esfera ruidosa es introducir incertidumbre y variabilidad en la
evaluación de algoritmos de optimización. Este ruido simula condiciones del mundo real donde
los cálculos pueden estar sujetos a incertidumbre o fluctuaciones inesperadas. Por lo tanto, al
probar algoritmos de optimización con la función esfera ruidosa, se busca evaluar la robustez y
adaptabilidad de los algoritmos ante perturbaciones y ruido en los datos o en el proceso de
evaluación.

EQUIPO Y SOFTWARE UTILIZACO:


Computadora o Laptop

FUNCIONALIDAD DEL PROGRAMA:

El código define una función llamada FRosenbrock que calcula el valor de la función de
Rosenbrock para un punto dado X. La función de Rosenbrock es un conocido problema de
optimización y se utiliza para evaluar algoritmos de optimización. Su fórmula es:
𝑓𝑓(𝑋𝑋) = 100 ∗ (𝑋𝑋(2) − 𝑋𝑋(1)2 )2 +(1 − 𝑋𝑋(1))2
Donde X(1) y X(2) son las coordenadas en dos dimensiones. La función FRosenbrock toma un
vector X con dos elementos (representando las coordenadas en dos dimensiones) como
entrada y devuelve el valor de la función de Rosenbrock para esas coordenadas.
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

El código define una función llamada FEsferaRuidosa que calcula el valor de una función
conocida como "esfera ruidosa" para un punto dado X. Esta variante de la función esfera
básica incorpora ruido aleatorio para simular una versión estocástica del problema de
optimización.
La función de la esfera básica en dos dimensiones se define como:

Y=((X(1)^2)*(1+rand()))+((X(2)^2)*(1+rand()));

donde rand() genera un número aleatorio entre 0 y 1, añadiendo variabilidad y aleatoriedad


a la función, lo que la convierte en una "esfera ruidosa". Este ruido simula incertidumbre o
fluctuaciones que pueden ocurrir en situaciones del mundo real.
Por lo tanto, la función FEsferaRuidosa toma un vector X con dos elementos (representando
las coordenadas en dos dimensiones) como entrada y devuelve el valor de la función de
esfera ruidosa para esas coordenadas.

INSTRUCCIONES DE USO:
Para esta práctica igual que la anterior no se necesito de un método, una aplicación u código, solo
de los que se han mostrado y explicado. Solo se colocan los parámetros necesarios para obtener
el resultado deseado. Para ello se necesitó la librería de la función “ga”, y la optimización de
“toolkit”. Por consiguiente, se harán y expondrán los ejemplos tanto de la función de Rosenbrock
como la de la Esfera Ruidosa.

• Ejemplo 1:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Para esta práctica podemos ver que las variables de las “X” llegan hasta 1 o máximo 2, a diferencia
de la anterior práctica de la función de Rastrigin que sus resultados llegaban lo más cerca de un
0 absoluto. Sin embargo, en la variables de las “Y” si llega lo más cercano a cero, por lo tanto en
este resultado podemos decir e es correcto.

• Ejemplo 2:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Este resultado arrojado es correcto ya que la variable “Y” se acerca lo más que puede a 0.

• Ejemplo 3:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

De igual manera este ejercicio es correcto.

Ejemplo 4:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Para este último también tenemos que es correcto

Ahora bien, para esta parte del proyecto se usará la optimización de toolkit, colocando los
parámetros correctos.

• Ejemplo 5:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Para este ejemplo vemos que hasta la iteración 200 pudo arrojar el resultado correcto, colocamos
los mismos parámetros para máximos y mínimos.

• Ejemplo 6:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

También observamos que es correcto.

• Ejemplo 7:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

• Ejemplo 8:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Para seguir con esta práctica continuaremos usando la función de Esfera Ruidosa, primer
mostrando los resultados que arroja el command window y luego el Toolkit.

Ejemplo 1:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

A diferencia de la anterior Función Rosenbrock, esta Función Esfera Ruidosa da unos resultados
casi igual al de la Función de Rastrigin, en este ejemplo vemos que es correcto.

• Ejemplo 2:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

De igual manera es correcto su resultado.

• Ejemplo 3:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Ejemplo 4:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Ahora proseguimos usando el toolkit de optimización, usando los mismos parámetros y llamando
a la función. Observemos que nos arroja…

• Ejemplo 5:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Aquí podemos ver que hasta la iteración 128 nos mostró una respuesta adecuada según el código.

• Ejemplo 6:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

• Ejemplo 7:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

• Ejemplo 8:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

En estos ejemplos nos mostraron que si se pudo llegar a 0, sin quedar atrapado en un mínimo
local.

CODIGO RELEVANTE:
Código de la Función de Rosenbrock
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE

UNIVERSIDAD AUTÓNOMA DE CAMPECHE

Código de la función de Esfera Ruidosa

BIBLIOGRAFÍA:
chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://cc.sisal.unam.mx/AlgebraLineal/Temas/
Tema1/Manuales/DefMatlab.pdf
https://es.wikipedia.org/wiki/Funci%C3%B3n_de_Rosenbrock

También podría gustarte