INTRODUCCIÓN
Los primeros estudios que se realizaron tienen su consecuencia por los años 60´s, el ingeniero Lotfy A. Zadeh en el año 1965 fue quien hizo estos estudios con el principio de incompatibilidad: “Conforme la complejidad de un sistema aumenta, nuestra capacidad para ser precisos y construir instrucciones sobre un comportamiento disminuye hasta el umbral más allá del cual, la precisión y el significado son características excluyentes” [1].
La aplicación del nuevo principio ha dado lugar a un abundante material teórico denominado “Matemática Difusa”; y a toda una tecnología de aplicación en las más diversas ramas [2].
“Los conjuntos difusos y la lógica difusa, que son el fundamento de los sistemas difusos, han sido desarrollados buscando modelar la forma como el cerebro manipula información inexacta e imprecisa” [3].
La gran oportunidad surgida con el auge de Lógica Difusa, es “la formalización del pensamiento lógico dialéctico, la aplicación de las matemáticas para lograrlo; uniendo la tradición clásica aristotélica, continuada y transformada en el seno de la comunidad matemática, con la Lógica Dialéctica” [3].
Esta oportunidad se potencia con el auge del paradigma de la Teoría de la Complejidad, que privilegia la no linealidad, la irreversibilidad y el no determinismo, en esferas que recorren todo el universo científico [2].
Los Sistemas Expertos son pioneros en la idea de obtener modelos partiendo de expresiones verbales, de manera que los decisores humanos pueden aplicar su experiencia esencial en problemas concretos. La representación del conocimiento sobre la base de la Lógica es aquí protagónica. En los últimos tiempos se ha desarrollado una disciplina matemático-informática llamada Soft-Computing o Inteligencia Computacional, [3]. Entre los fundamentos de esta disciplina está la Lógica Difusa [4 - 6].
Para entender las razones de utilizar la lógica difusa como método rector [7]; para evaluar la sostenibilidad de un auto en cuanto a su velocidad es necesario estudiar este tipo de lógica.
La lógica difusa [8][9], se desarrolla a partir del concepto de conjunto difuso [4][10]. Dado que un conjunto difuso es aquel que no presenta fronteras claramente definidas y puede contener elementos con un grado parcial de pertenencia [11], a diferencia de los conjuntos clásicos los cuales incluyen completamente o excluyen completamente un elemento determinado, por ejemplo, X debe estar en el conjunto A o en su complemento, el conjunto NOT-A, es decir o en uno o en otro.
Algunas de sus características generales son:
Es conceptualmente fácil de entender.
Es flexible.
Tolera datos imprecisos.
Puede modelar funciones no lineales de cualquier complejidad.
Utiliza al máximo la experiencia de los expertos.
Puede combinarse con las técnicas convencionales de control.
Está basada en el lenguaje natural.
En este artículo se ha revisado una de las técnicas de inteligencia artificial que es la lógica difusa, los sistemas difusos, la importancia en el desarrollo de sistemas automáticos en el complejo mundo del automovilismo, se describe cuáles son los dispositivos más comunes, así como los que aumentan los costos a la reparación y que consumen mucho tiempo en términos de desarrollo de este tipo de aplicaciones, así como también las medidas de éxito que se pueden adoptar.
MATERIALES Y MÉTODOS
En esta investigación se desarrolló un análisis de dispositivos que se van usar para la captura de los datos, para la automatización en sí, los cuales pueden resultar complejos, principalmente si el entorno de trabajo es desconocido para el equipo de investigadores, y depende mucho de las personas que participen en el mismo. Por la complejidad que todo esto puede implicar, la lógica difusa ha trabajado desde hace años en desarrollar algoritmos que permitan hacer este proceso de una forma más eficiente y precisa. [5]
En muchos sentidos, y retornando a la línea de la fusión de tecnologías, merece la pena recordar el inmenso trabajo que se desarrolla en sistemas neuro - borrosos, los cuáles pueden aprovechar la capacidad de aprendizaje que deberían tener sistemas de este tipo. Por otro lado, la equivalencia que se establece en ciertos modelos neuronales y borrosos [6] puede ser empleada para extraer las reglas que una red neuronal ha encontrado el entrenamiento eliminando uno de los grandes problemas que tienen este tipo de técnica de Inteligencia Artificial que es operación en forma de caja negra. Por todo ello la combinación de redes neuronales y sistemas borrosos es un campo de intenso trabajo en la actualidad [7-9] del que ambas técnicas se benefician.
En el campo de automatización con sistemas de tiempo real destaca el control de un helicóptero por órdenes pronunciadas de viva voz [10], y el control con derrapaje controlado de un modelo de coche de carreras de [11]. Dentro del sector de automóvil existen grandes números de patentes sobre sistemas de frenado, y cambios de marcha automáticos.
Lógica Difusa
El concepto de Lógica difusa fue concebido por Lofti A. Zaded [8], profesor de la Universidad de California en Berkeley, quien inconforme con los conjuntos clásicos (crisp sets) que sólo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto, la presentó como una forma de procesar información permitiendo pertenencias parciales a unos conjuntos, que en contraposición a los clásicos los denominó conjunto difuso (fuzzy sets). Este concepto fue expuesto por Zadeh en un artículo del año 1965, hoy clásico en laliteratura de la lógica difusa denominado “Fuzzy Sets” y que fue publicado en la revista Information and Control. El mismo Zadeh publica en 1971 el artículo, “Quantitative Fuzzy Semantics”, en donde introduce los elementos formales que acabarían componiendo el cuerpo de la doctrina de la lógica difusa y sus aplicaciones tal como se conoce en la actualidad.
“La lógica difusa trata de copiar la forma en que los humanos toman decisiones. Aunque se baraja información imprecisa, esta lógica es en cierto modo muy precisa: se puede aparcar un coche en muy poco espacio sin darle sin darle al de atrás. Suena a paradoja, pero es así.”
Sistemas Difusos
Un sistema basado en reglas difusas (SBRD) está formado por:
Base de conocimiento: Consiste de 2 componentes: Base de datos: Contienen la definición lingüística de las variables tanto de entrada como de salida. Define la semántica de cada variable lingüística.
Base de reglas: Combinan uno o más conjuntos difusos de entrada, llamados antecedentes o predicados, y se les asocia un conjunto difuso de salida llamado consecuente. Ejemplo: if predicado (antecedente) then conclusión (consecuente). Los predicados se pueden asociar mediante conectores lógicos AND, OR o NOT, esto permite relaciones entre antecedentes y consecuentes.
Motor de inferencia: Tambien llamado máquina de inferencia, permite calcular las variables de salida a partir de las variables de entrada difusa.
Además, se debe tener entradas y salidas de acuerdo a los hechos o predicados y reglas de inferencia usados, incluye una interfaz de fuzzificación y una interfaz de defuzzificación.
Método de Mamdani
En un sistema difuso tipo Mamdani se distinguenlas siguientes partes:
Fuzzificador
La entrada de un sistema de lógica difusa tipo Mamdani normalmente es un valor numérico proveniente, de un sensor; para que este valor pueda ser procesado por el sistema difuso se necesita convertirlo a un "lenguaje" que el mecanismo de inferencia pueda procesar. Esta es la función del fuzzificador, que toma los valores numéricos provenientes del exterior y los convierte en valores "difusos" que pueden ser procesados por el mecanismo de inferencia. Estos valores difusos son los niveles de pertenencia de los valores de entrada a los diferentes conjuntos difusos en los cuales se ha dividido el universo de las diferentes variables de entrada al sistema. [8]
Por ejemplo, en la figura 1, los valores difusos de la variable lingüística o variable difusa “Movimiento” podría ser BAJO, MEDIO y ALTO; estos argumentos se conocen como valores difusos, cada uno de ellos está modelado por su propia función de pertenencia en la figura 2.
Mecanismo de inferencia difusa
Teniendo los diferentes niveles de pertenencia arrojados por el fuzzificador, los mismos deben ser procesados para generar una salida difusa. La tarea del sistema de inferencia es tomar los niveles de pertenencia y apoyado en la base de reglas generar la salida del sistema difuso. [10]
Base de Reglas Difusas
La base de reglas es la manera que tiene el sistema difuso de guardar el conocimiento lingüístico [11] que le permite resolver el problema para el cual ha sido diseñado. Estas reglas son del tipo IF-THEN. Una regla de la base de reglas o base de conocimiento tiene dos partes, el antecedente y el consecuente como se observa en el siguiente ejemplo:
Si el volante no tiene ningún movimiento
entonces activar la señal de parada o parqueo.
IF volante = sin movimiento Then activar parqueo
Modelo Estándar de automatización con lógica difusa
El modelo a usar será el que proporciona el sistema de reglas difusas para poder emprender con el proyecto.
Algoritmo Propuesto
Para este algoritmo utilizaremos la figura 4 en la cual se muestra como estará los dispositivos conectados entre sí.
La idea principal de este algoritmo es dar solución cuando una persona que está en el volante de un auto pueda salvarse y salvar a su familia o a los pasajeros con los cuáles viaja.
El proceso de la toma de decisiones por parte del sistema difuso depende de los sensores y especialmente de la máquina de inferencia que toma sus decisiones basadas en la base de conocimiento donde se encuentran los predicados y las reglas de inferencia.
Los sistemas difusos necesitan ordenar su estructura lógica en el núcleo de inferencia difusa. Aquí encontramos el Fuzzyficador, mecanismo de inferencia que evalúa las reglas y el defuzzificador como indica la figura 4.
Las variables que ingresan son valores no difusos, siendo estas señales eléctricas provenientes de los sensores. Las entradas ingresan al bloque Fuzzyficador, en él se encuentran todos los distintos conjuntos difusos que se encargan en transformar los valores no difusos en difusos. Luego ingresan al mecanismo de inferencia donde evaluará las relaciones conjunto difuso entrada con sus correspondientes salidas mediante sentencias if then. Finalmente, ingresa al defuzzificador el cual se encarga de transformar el valor difuso en un no difuso, utilizándose una función de membresía para tal fin. En la base de conocimiento están las funciones de pertenencia (usa fuzzificador), listado de reglas mecanismo de inferencia) y funciones de membresía (usa defuzzificador).
Ahora, pues bien, para poder encadenar las reglas de inferencia se necesita de los operadores lógicos los cuales se utilizan de la siguiente manera:
C(x) = Min[A(x), B(x)] siendo la coma (,) un AND
C(x) = Max[A(x); B(x)] siendo el punto y coma (;) un OR
Siendo A(x) y B(x) conjuntos de entrada difusos.
Estas son las operaciones que podemos realizar con los predicados uniéndoles en diferentes reglas y con su correspondiente forma de encadenamiento hacia adelante.
Algoritmo del Mamdani FLC (Fuzzy Logic Controller):
Usar el valor del predicado (antecedente - if) de cada una de las reglas.
Determinar la coclusión (consecuente - then) de cada una de las reglas.
Agregar todos los outputs de las reglas para obtener el output de todo el sistema (funciones de pertenencia difusa), también se llama determinar el grado de disparo de todas las reglas (degree of firing).
Defuzificar la salida para obtener un valor no difuso, se puede usar varios métodos como el COA (Centroid of Area) o el MOM (Mean of Max).
En forma discreta:
Ejemplo de defuzificacion usando el centroide:
En forma discreta con 10 muestras:
RESULTADOS Y DISCUSIÓN
Para comprobar el correcto funcionamiento del controlador difuso diseñado y programado en el PLC, todo esto se realizó en MATLAB utilizando la herramienta Fuzzy Logic Toolbox. Esta herramienta permite elegir el método de inferencia, el método de defuzificación, define los conjuntos de entrada y salida e incorporar las reglas que definen el comportamiento del control como se muestra en la figura 5.
En la figura 5. Se observa las tres variables de entrada que permiten realizar las reglas de inferencia entre los hechos que ocurren en el mundo real de un automóvil y la salida, la cual se obtiene un caso al momento de inferir las reglas que cada una tiene. Los resultados se dan por movimiento de la cabeza que realice el chofer del auto, en la Tabla 1 se muestra estos resultados:
De acuerdo con la tabla 1 y 2 se pueden realizar las siguientes reglas:
R1: Si el chofer=bajo y movimiento del volante = bajo entonces frenado = medio - alto y acelerador = medio
R2: Si el chofer = medio y movimiento del volante = bajo entonces frenado = bajo - medio y acelerador = bajo
R3: Si el chofer = alto y movimiento del volante = bajo entonces frenado = alto y acelerador = bajo.
Lo que nos indica que debemos insertar más predicados o hechos para los cuales tengamos una cantidad de reglas que infieran la totalidad de lo que ocurre en el mundo exterior, por supuesto los dispositivos usados también se deben cambiar como sensores o una red de sensores.
Discusión
La toma de decisiones la debe generar el sistema difuso planteado para presencia o ausencia de una señal en el motor de inferencia, en el caso planteado que es la de una persona que puede sufrir cualquier tipo de alteraciones en el momento que está conduciendo, resulta muy beneficioso utilizar esto.
La dimensión del tiempo en cuanto a respuesta del sistema esta medido en segundos. El sistema difuso aplicado mejora en gran medida y da una ayuda a la sociedad con la aplicación del sistema de inferencia, especialmente cuando tenemos mayor cantidad de sensores, dado que amerita mayor cantidad de reglas de inferencia y mayor capacidad de adaptación de la máquina de inferencia difusa. Los sistemas difusos están dando resultado en la prevención de la seguridad de un auto cuando tienen este tipo de problemas, con la altísima responsabilidad de verificar también si la señal que llega y la que sale del sistema es la correcta.
Hay que prever que los automóviles tienen una dimensión, las camionetas, las busetas, los buses, camiones y tráileres tienen otras; por eso se tomó la situación sólo para automóviles.
Sin embargo, en el desarrollo de automatizaciones tradicionales, los profesionales y expertos en procesos consideran a la ingeniería de requisitos como una fase de relevancia crucial en el proceso de desarrollo. Es bien sabido que los errores más comunes y que consumen mucho tiempo, así como los más caros a la reparación, son los errores que surgen de la ingeniería inadecuada de requisitos. Por lo tanto, aunque la relevancia de Ingeniería de Requisitos es bien conocida, estas técnicas deben ser estudiadas más ampliamente en la comunidad de Ingeniería Electrónica y además de software. [7]
En este sentido muy profundo del desarrollo de la automatización en sentido industrial los nuevos modelos de procesamiento y control vistos, junto con otros de relativa novedad, se engloban en la denominada Soft Computing.
CONCLUSIONES
Los sistemas difusos son un enfoque de ingeniería, automática y controles relativamente nuevos con algunas expectativas y desafíos que se abordarán en los próximos años dentro de la inteligencia artificial para salvar vidas humanas y en general de seres vivos.
Como se ha comentado en este documento, hay algunas propuestas concretas y muchos dispositivos hacer usados y plataformas que, de alguna manera lograrían esa visión general y relevancia para implementar este algoritmo.
El algoritmo propuesto sobre Sistemas Difusos es el resultado de nuestra experiencia sobre investigación en el área a lo largo de esta última década, que hemos diseñado y desarrollado varios dispositivos electrónicos, herramientas y aplicaciones del mundo real siguiendo un estándar. Además, el mismo podría ayudar a otros a tener una visión y una mejor comprensión de lo que son sistemas difusos y sus conceptos claves y terminología.
Se ha dado una breve introducción a la lógica difusa partiendo de la lógica binaria, sistema difuso, reglas de inferencia difusa y terminando con los dispositivos electrónicos básicos a utilizar.
Sin dejar de lado las reglas de inferencia, motor de inferencia y base de conocimiento realizado para este prototipo, basado en 1(5 voltios) positivo y -1(0 voltios) negativo.
El uso de los sensores y del Arduino es de gran ayuda para este tipo de proyectos, pero hay que saber escogerlos, al momento de realizarlo en la realidad.
En un próximo trabajo se estará mostrando las simulaciones realizadas con ejemplos prácticos y los tiempos que se demoran cada uno de los autos en pasar de un estado activo a uno inactivo. Así como también estaremos presentando el algoritmo usado en este proyecto.