AND SYNCHRONIZATION
3.3 INTERPROCESS SYNCHRONIZATION
3.3.5 Bakery’s Algorithm
En esta sección se identifica un sistema caótico que se denomina caos de Lorenz el cual es un modelo simplificado de la convección de las capas de la atmósfera, este modelo fue introducido en 1963 por el meteorólogo Edward Lorenz [Hilborn, 2000].
El caos de Lorenz es descrito por las siguientes ecuaciones [Lorenz, 1963]:
( )
( ( )
( ))
( )
( )
( )
( ) ( )
( )
( ) ( )
( )
σ
∂
=
−
∂
∂
=
−
−
∂
∂
=
−
∂
x t
y t
x t
t
y t
rx t
y t
x t z t
t
z t
x t y t
bz t
t
(6.3)
Donde
σ
, r y b son parámetros del sistema, en esta prueba toman los siguientes valores:σ
=10, r=28, b=8/3. Este sistema no tiene entrada u(t) por tanto sólo se evaluó la etapa de validación. El vector de estados es X(t)=[x(t), y(t), z(t)]T por tanto para identificar al sistema caótico se usaron tres sistemas difusos, los cuales son de cuatro dimensiones. Todos los sistemas difusos tienen los mismos antecedentes en el siguiente orden: x(t), y(t), z(t) y distinto consecuente. En el sistema difuso uno el consecuente es x(t+∆t), para el sistema difuso dos es y(t+∆t) y para el sistema difuso tres es z(t+∆t). El diagrama de simulación para evaluar la etapa de validación se muestra en la figura 6.30.Fig. 6.30. Diagrama para la validación del caos de Lorenz, las salidas que se desean aproximar corresponden a las variables de estado xr(t+∆t), yr(t+∆t) y zr(t+∆t), las cuales se comparan con la salida de
La etapa de adquisición se llevó a cabo durante 20 s con un tiempo de muestreo de 0.01 s por lo que se obtuvieron 2000 datos. Los tres sistemas difusos se entrenaron con los parámetros preestablecidos a 4000 épocas, para el sistema difuso uno se colocaron 2 conjuntos para el primer antecedentes, 2 para el segundo y 3 para el tercero. Los errores son los siguientes: EC=1.15441, error promedio=0.02073. Para visualizar la bondad de ajuste del sistema difuso uno respecto a los datos de entrenamiento se utilizó la serie de tiempo que se muestra en la figura 6.31, donde se observa que la línea de error es muy cercana a cero para todos los datos.
Fig. 6.31. Serie de tiempo correspondiente al sistema difuso uno que identifica la variable x(t+∆t) del caos de Lorenz, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules)
y la línea de error (línea verde).
Para terminar la etapa de validación en la figura 6.32 se muestra la comparación de la salida de la planta y del sistema difuso donde se observa que las salidas son similares sólo al principio de la simulación, en la figura 6.33 se observa que el error es alto en la mayor parte de la simulación.
Fig. 6.32. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida
sistema difuso uno (línea negra).
Fig. 6.33. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema
Para sintonizar el sistema difuso dos se usaron 2 conjuntos difusos en cada antecedente, los errores de interpolación son: EC=2.49796, error promedio=0.02389; la bondad de ajuste de la función interpoladora se muestra en las figuras 6.34 a 6.36 con proyecciones separadas del método de combinación de diagramas de dispersión en tres dimensiones, donde se observa que los datos de entrenamiento son muy cercanos a sus valores interpolados en todas las proyecciones.
Fig. 6.34. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema difuso dos para identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento
(cruces rojas) y los datos interpolados (círculos azules).
Fig. 6.35. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema difuso dos para identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento
Fig. 6.36. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente del sistema difuso dos para identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento
(cruces rojas) y los datos interpolados (círculos azules).
A pesar de que la bondad de ajuste de la función interpoladora es alta respecto a los datos de entrenamiento, en la figura 6.37 se observa que la salida de la planta y la del sistema difuso son distintas por lo que se refleja en un error alto que se muestra en la figura 6.38.
Fig. 6.37. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida
sistema difuso dos (línea negra).
Fig. 6.38. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema
difuso dos.
Para sintonizar el sistema difuso tres se usaron 2 conjuntos difusos en cada antecedente, los errores de interpolación son: EC=0.47454, error promedio=0.00864; la bondad de ajuste de la función interpoladora se muestra en la figura 6.39 mediante una serie de
tiempo en la que se nota que la bondad de ajuste de la función interpoladora respecto a los datos de entrenamiento es alta.
Fig. 6.39. Serie de tiempo correspondiente al sistema difuso tres que identifica la variable z(t+∆t) del caos de Lorenz, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules)
y la línea de error (línea verde).
Al igual que el sistema difuso uno y dos, en la figura 6.40 se observa que la salida del sistema difuso tres y la salida de la planta son distintas lo que provoca un error alto que se muestra en la figura 6.41.
Fig. 6.40. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida
sistema difuso tres (línea negra).
Fig. 6.41. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema
difuso tres.
Los errores en la etapa de simulación que presentaron los tres sistemas difusos se deben a la alta sensibilidad de los sistemas caóticos a las condiciones iniciales, ya que se nota que un pequeño error al principio conduce a un error muy grande en el transcurso de la simulación.
En el diagrama de simulación de la figura 6.29 la planta y los sistemas difusos no comparten variables debido a que no existe una entrada u(t) por lo que se cambió dicha estructura a la que se muestra en la figura 6.42 en donde la planta comparte la variable
xr(t+∆t) con los sistemas difusos dos y tres.
Fig. 6.42. Diagrama para la validación del caos de Lorenz, los sistemas difusos comparten las variable xr(t+∆t) por lo que se desea aproximar las variables yr(t+∆t) y zr(t+∆t), las cuales se comparan con la salida de cada
sistema difuso: y(t+∆t) y z(t+∆t) .
La comparación entre la salidas de la planta y del sistema difuso dos se muestra en la figura 6.43 en la que se nota que al compartir la variable xr(t+∆t) las salidas son muy
similares por consecuencia se tiene un error pequeño que se muestra en la figura 6.44.
Fig. 6.43. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra) al compartir la
variable xr(t+∆t).
Fig. 6.44. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema
difuso dos al compartir la variable xr(t+∆t). .
En la figura 6.45 se muestra la comparación de la salida de la planta y el sistema difuso tres donde se observa que las ambas señales son similares, en la figura 6.46 se observa que el error se reduce de forma significativa respecto a la prueba anterior, por lo que una aplicación práctica de cambiar la estructura de la simulación podría ser la detección de fallas.
Fig. 6.45. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra) al compartir la
variable xr(t+∆t).
Fig. 6.46. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema
difuso dos al compartir la variable xr(t+∆t).
.
6.1.2. Control
Como se explicó en el capítulo 3 en este trabajo se obtuvieron controladores mediante el modelo de planta inversa, los cuales determinan la entrada u(t) que haga transitar a la componente del estado siguiente xk(t+∆t) a partir del estado actual X(t).
Para obtener y evaluar funciones interpoladoras que controlen a un sistema dinámico el proceso es parecido al de identificación, con la diferencia de que la etapa de validación no se evalúa con una simulación debido a que en esta etapa se ingresa como entrada u(t) la señal con la que se obtuvieron los datos de entrenamiento, pero en el caso de control la entrada u(t) es la salida del controlador difuso, por lo que para evaluar esta etapa sólo se utilizan los métodos de visualización de alta dimensionalidad. El proceso completo se muestra en la figura 6.47.
Fig. 6.47. Etapas para obtener y evaluar una función interpoladora que controle a un sistema dinámico.
Adquisición Entrenamiento Validación Generalización
Visualización Simulación
En la etapa de adquisición se obtienen los datos de entrenamiento por medio de una simulación utilizando la estructura que se mostró en la figura 3.5, se continua con la etapa de entrenamiento en la que se obtiene mediante el SGD la función interpoladora que controla el sistema dinámico. En la etapa de validación se visualiza la bondad de ajuste de la función interpoladora mediante los métodos de visualización de alta dimensionalidad y en la etapa de generalización por medio de una simulación se comprueba si el controlador sigue de forma correcta distintas señales de referencia.
En la figura 6.48 se muestra el diagrama que se utiliza en la etapa de generalización para simular el control de un sistema de primer orden basado en la estructura de modelo inverso, en donde la identificación inversa (P-1), representa el bloque controlador, la
retroalimentación que se muestra permite al controlador conocer el valor de la salida, lo cual permite rechazar perturbaciones, ref es la señal de referencia que el controlador debe seguir.
Fig. 6.48. Controlador difuso CD basado en modelo inverso aplicado a una planta de primer orden en una configuración de lazo cerrado. Señal de referencia ref, señal de control u(t) y salida x(t). La línea punteada
representa el inverso de la planta P, el cual corresponde al control difuso.
En la siguientes subsecciones se describen pruebas en las que se obtienen funciones interpoladoras que controlen sistemas de primero y segundo orden no lineales.