borrosa

Upload: jesus-contreras

Post on 09-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 borrosa

    1/11

    LGICA BORROSA

    Tamara Benito MatasUniversidad Carlos III

    NIA: [email protected]

    M Isabel Durn VicenteUniversidad Carlos III

    NIA: [email protected]

    RESUMENEn este documento intentaremos mostrar una idea general delmundo de la lgica borrosa (fuzzy logic), adentrndonos en unmundo de informacin imprecisa que se tratar como un conjuntodifuso. Estos sistemas pueden ser aplicados a similares problemasque las redes neuronales, resultando especialmente interesante

    para problemas no lineales o bien no definidos. De la mismamanera, los sistemas borrosos permiten modelar cualquier procesono lineal, y aprender de los datos haciendo uso de determinadosalgoritmos de aprendizaje. No obstante, a diferencia de las redesneuronales, los basados en lgica borrosa permiten utilizarfcilmente el conocimiento de los expertos en un tema, biendirectamente, bien como punto de partida para optimizacinautomtica, al formalizar el conocimiento a veces ambiguo de unexperto de forma realizable. Adems, gracias a la simplicidad delos clculos necesarios, normalmente pueden realizarse ensistemas baratos y rpidos.

    Trminos GeneralesLgica borrosa, lgica difusa, redes neuronales, entorno

    desarrollo MATLAB, robot PILAR

    Palabras ClaveLgica, borrosidad, tcnica, fuzzy, imprecisin, verdadero, falso,soft computing, hard computing, MATEMTICA, FIDE,

    1. INTRODUCCIN LGICA BORROSAEn este documento trataremos de explicar al lector una

    de las disciplinas matemticas con mayor nmero de seguidores,la lgica difusa o borrosa.

    Este tipo de lgica es la lgica que utiliza expresionesque no son totalmente ciertas ni totalmente falsas, es decir, es una

    lgica aplicada a conceptos que pueden tomar un valorindeterminado de veracidad dentro de un conjunto de valorescuyos extremos son la verdad absoluta o la falsedad absoluta. Poras decirlo es una lgica que expresa la falta de definicin delobjeto al que se aplica.

    Si queremos dar una definicin mucho ms especifica podemos definir a este tipo de lgica como una tcnica de lainteligencia computacional que ayuda o permite trabajar coninformacin que es imprecisa y no est bien definida. Pertenece ala lgica multivaluada pero la lgica borrosa se diferencia de staen que nos permite introducir valores intermedios entre laafirmacin completa o la negacin absoluta.

    Un ejemplo para que el lector entienda completamenteel concepto de lgica borrosa puede ser que una persona no essimplemente alta o baja, sino que depende de si est por encima o

    por debajo de ciertas alturas la graduaremos de una forma u otra.

    Una vez explicado este concepto, el lector puede darsecuenta de que la lgica borrosa est enraizada en la mayor parte

    de nuestros modos de pensar y de hablar, otra cosa es lavaloracin que cada persona haga a esa borrosidad existente.Aunque ya se ha podido entender el concepto, antes de suadmisin total debern estudiarse:

    Los antecedentes histricos del concepto.

    La posibilidad de construccin de un lenguaje formalinfinito valuado.

    Las consecuencias filosficas y prcticas

    2. HISTORIALa lgica difusa fue investigada por primera vez

    alrededor de mediados de los aos sesenta por el ingeniero Lotfy

    A. Zadeh en la Universidad de Berkeley (California). En un principio este ingeniero no denomin a esta lgica como lgica borrosa sino que la llam principio de incompatibilidad. Acontinuacin mostraremos como describi l este principio:Conforme la complejidad de un sistema aumenta, nuestracapacidad para ser precisos y construir instrucciones sobre sucomportamiento disminuye hasta el umbral ms all del cual, la

    precisin y el significado son caractersticas excluyentes.

    En este momento fue cuando introdujo el concepto deconjunto difuso (en ingls Fuzzy Set). Este nuevo concepto no esms que la idea de que los elementos sobre los que se basa el

    pensamiento humano no son nmeros sino etiquetas lingsticas.Esta idea es la que permite que se pueda representar elconocimiento, que es principalmente lingstico de tipo

    cualitativo y no tanto cuantitativo, en un lenguaje matemticomediante los conjuntos difusos y funciones caractersticasasociadas a ello. Esto no quiere decir que exclusivamente setrabaje con nmeros, este lenguaje nos permite trabajar con datosnumricos pero tambin con trminos lingsticos que aunque sonms imprecisos que los nmeros, muchas veces son ms fcilesde entender para el razonamiento humano.

    Aunque como ya hemos explicado, la lgica borrosa eshoy en da ms conocida gracias a Lotfy Zadeh, la idea que seesconde detrs de este trmino tiene sus orgenes hace unos 2500aos atrs puesto que los filsofos griegos ya trabajaban con laidea de que existan distintos grados de veracidad y de falsedad.

  • 8/7/2019 borrosa

    2/11

    Volviendo a la idea originada por Zadeh, aunque seconsidera que l fue quien primero habl de la lgica borrosa, sutesis se basa tambin en estudios y obras de otros pensadores deotras disciplinas que tenan una visin alejada de la lgicatradicional y muy similar a la de Zadeh. Entre las obras y personasque influyeron a Zadeh, podemos destacar: la paradoja delconjunto de Russell, el principio de incertidumbre de Heisenbergy a Jack Lukasiewicz creador de la lgica multivaluada.

    En un principio, la comunidad cientfica no vio con buenos ojos la lgica difusa, sin embargo algunos de estosinvestigadores que en un principio haban mostrado su resistenciaante este concepto, terminaron siendo seguidores de Zadeh eincluso mientras l segua asentando los conocimientos de lalgica borrosa, estos cientficos se dedicaron a explorar nuevasteoras referidas a este tipo de lgica. Entre estos nuevosseguidores de la lgica borrosa podemos destacar a Bellman,Lakoff, Goguen, Smith

    Otro paso importante para el desarrollo de la lgicadifusa fue que a principios de la dcada de los setenta se crearonvarios grupos de investigacin en diferentes universidades

    japonesas hicieron grandes contribuciones sobre las aplicacionesque poda tener este tipo de lgica. De esta forma se consiguicrear el primer controlador difuso para una mquina de vapor ocrear un controlador de inyeccin de qumica en depuradoras deagua.

    En dcadas posteriores esta teora cada vez fue teniendoms xito y se le iban encontrando nuevas aplicaciones. En ladcada de los ochenta, la investigacin se orient hacia las redesneuronales y su similitud con los sistemas fuzzy. Estos sistemasfuzzy lo que hacen es utilizar mtodos de aprendizaje basados enredes neuronales para identificar y optimizar sus parmetros. En

    cuanto a la dcada de los noventa, a parte de la investigacin delas redes neuronales y los sistemas fuzzy, surgen los algoritmosgenticos. Si combinamos estas tres tcnicas computaciones, se

    puede conseguir una herramienta de trabajo muy potente de lossistemas de control.

    Segn lo expuesto hasta ahora, se puede ver que lalgica borrosa ha provocado innumerables investigaciones yaplicaciones, la mayora orientadas a sistemas de control peroactualmente se est yendo ms all y se empieza a investigar enreas como el reconocimiento de patrones visuales o laidentificacin de segmentos de ADN. Por ltimo, mencionar quemuchos de los investigadores que actualmente investigan en lostemas de la lgica borrosa, comentan que el futuro de Internet (encuanto a controlar la red, gestionarla o recuperar informacin),est en aplicar las tecnologas borrosas en estas reas.

    3. CONJUNTOS DIFUSOSPara ilustrar el concepto de la lgica difusa y los conjuntosdifusos vamos a explicar el primer ejemplo que puso Zadeh. Paraello puso el ejemplo del conjunto de los hombres altos. Segnla teora de lgica clsica al conjunto de hombres altos solo

    pertenecen los que miden ms de una determinada altura y esaaltura lmite es 1.80 metros, as un hombre es considerado altocuando mide por ejemplo 1.81 metros y uno bajo cuando mide1.79 metros. Esto no parece una razn muy lgica para catalogar aun hombre de alto o bajo ya que por ejemplo en el caso expuestola altura de uno a otro solo se diferencia en 2 centmetros. Ah, en

    casos como este donde no es fcil catalogar algo, se introduce lalgica borrosa. Segn la lgica borrosa, el conjunto de hombresaltos es un conjunto que no tiene una frontera clara que indiqueque perteneces a ese grupo o no. El evaluar si un hombre es alto o

    bajo, se hace mediante una funcin que define la transicin entrealto a bajo y para ello asigna a las distintas alturas un valor entre 0y 1. Segn sea este valor se considera que se pertenece al conjuntoo no. Aplicando esto al caso anterior, un hombre que mida 1.79metros se puede decir que pertenece al conjunto de hombres altoscon un grado de 0.75 y el hombre que meda 1.81 metros

    pertenece al conjunto de hombres altos con un grado de 0.8. Sirepresentamos esto en una grfica se obtendr que la transicinentre alto o bajo con la lgica borrosa es una curva con cambiosno abruptos mientras que con la lgica clsica, el paso de alto a

    bajo o viceversa es brusco:

    En resumen, segn la lgica clsica un elemento pertenece o nopertenece al conjunto, sin embargo la lgica borrosa lo que hacees poner un grado de pertenencia al conjunto. Este grado de

    pertenencia se define mediante la funcin caracterstica asociadaal conjunto difuso: para cada valor que puede tomar la variable x,la funcin caracterstica A(x) proporciona el grado de

    pertenencia de ese valor x al conjunto difuso A.

    LGICA CLSICA

    1 Alto

    Bajo

    1.8 Altura (m)

    0

    LGICA BORROSA

    1 Alto

    Bajo

    1.8 Altura (m)

    0

  • 8/7/2019 borrosa

    3/11

    Una vez aclarados mnimamente estos conceptos, a continuacinexplicaremos las operaciones sobre conjuntos difusos y sus

    propiedades.

    3.1 OPERACIONES SOBRE CONJUNTOSDIFUSOSExisten seis tipos de operaciones:

    1- Inclusin o subconjunto:

    A es un subconjunto de B:

    2- Unin:

    La unin de los conjuntos difusos A y B es el conjunto difuso C yse escribe como C= A OR B; su funcin de pertenencia est dada

    por:

    3- Interseccin:

    La interseccin de los conjuntos difusos A y B es el conjuntodifuso C y se escribe como C= A AND B; su funcin de

    pertenencia est dada por:

    4- Negacin o complemento:

    El complemento del conjunto difuso A, denotado por A o NOT

    A, se define como:

    5- Producto cartesiano:

    Si A y B son conjuntos difusos en X e Y, el producto cartesianode los conjuntos A y B en el espacio X x Y tiene la funcin de

    pertenencia:

    6- Co-producto cartesiano:

    A + B en el espacio X x Y tiene la funcin de pertenencia:

    Cabe aadir que las operaciones de interseccin, unin ycomplemento cumplen al igual que en la teora clsica deconjuntos, las propiedades asociativa, conmutativa, distributiva ylas leyes de Morgan. Sin embargo, a diferencia de la teoraclsica, los conjuntos difusos no cumplen el principio decontradiccin ni el de exclusin.

    3.2 PROPIEDADES DE LOS CONJUNTOSDIFUSOSLas principales propiedades que cumplen los conjuntos difusos

    son:1- Soporte:

    Es el conjunto de elementos cuyo grado de pertenencia es distintode cero.

    2- Altura:

    Es el grado de pertenencia ms grande de los elementos delconjunto:

    3- NcleoEs el conjunto de elementos cuyo grado de pertenencia es igual a1:

    4- Conjunto difuso normal

    Es un conjunto difuso cuya altura es igual a 1:

    Altura(A)=1

    5- Conjunto difuso convexo

    Intuitivamente es un conjunto difuso creciente, decreciente o con

    forma de campana:

    4. SISTEMAS BASADO EN LGICABORROSAUn sistema basado en lgica borrosa siempre estar compuesto

    por los siguientes bloques:

    BLOQUE DIFUSOR: en este bloque a cada dato de entrada se leasigna un grado de pertenencia a cada uno de los conjuntosdifusos considerados mediante la funcin caracterstica yacomentada en apartados anteriores. Las entradas a este bloque son

    Entradade datos DIFUSOR

    MECANISMOINFERENCIA

    DESDIFUSORSalida

    de datos

  • 8/7/2019 borrosa

    4/11

    valores concretos de la variable a analizar y los datos de salidason los grados de pertenencia a los conjuntos estudiados.

    BLOQUE DE INFERENCIA: este bloque relaciona conjuntos

    difusos de entrada y de salida y representa a las reglas que definenel sistema.

    DESDIFUSOR: en este bloque a partir de los conjuntos difusos procedentes de la inferencia se obtiene un resultado concretomediante la aplicacin de mtodos matemticos de desdifusin.

    5. IMPLEMENTACIN DE SISTEMASBORROSOS

    En este apartado expondremos las diversas manerasdisponibles para realizar en la prctica un sistema basado enlgica borrosa. Como en el caso de redes neuronales, un sistema

    borroso podr implementarse como programa ejecutable por unmicroprocesador convencional (o microcontrolador), o podrrealizarse en hardware especfico. La gran diferencia con las redes

    neuronales es que un sistema borroso precisa en general derecursos de clculo relativamente reducidos, por lo que muchasveces podr implementarse como programa ejecutado en unsencillo microcontrolador de 8 bits.

    Comenzaremos por considerar entornos de desarrollo desistemas borrosos, mostrando el por qu son necesarios, as comoalgunos de los actualmente disponibles, que sern descritos concierto detenimiento. Despus el lector podr ver los distintosmtodos de realizacin hardware de sistemas borrosos, incluyendolos denominados aceleradores de procesamiento.

    5.1 INTRODUCCINEl diseo de un controlador basado en lgica borrosa

    supone establecer un compromiso entre diversos criterios de

    diseo: velocidad, precisin y flexibilidad, principalmente.

    Compromiso de diseo. Falta considerar otro fundamental,que supondremos implcito: el coste

    Para conseguir los resultados deseados debe plantearsela velocidad de respuesta del sistema de control, la cual vendrlimitada por otros factores, como el grado de precisin requeridoo la flexibilidad del diseo. As, si deseamos una alta precisin enel control necesitaremos una gran cantidad de conjuntos para cadavariable y un alto nmero de reglas, lo que exigir una elevadacantidad de clculos, causando un aumento del tiempo derespuesta.

    Si adems deseamos que el sistema de control tengaflexibilidad de adaptacin a los caminos del sistema y aprender delos errores cometidos, sern necesarios muchos ms clculosadicionales, que tambin aumentarn el tiempo de respuesta.

    Evidentemente, estas operaciones influyen en el coste del sistemafinal, y en muchos casos ser sta la mayor restriccin del diseo.

    Una vez decididas las prestaciones del diseo

    requeridas, se ha de utilizar una herramienta de desarrollo para eldiseo del sistema y seleccionar la plataforma de implementacinadecuada. Las herramientas de desarrollo suelen utilizar unlenguaje de descripcin para independizar el diseo de la

    plataforma, como puede observarse en el esquema del proceso dediseo de un FLC mostrado a continuacin.

    En este sentido, los sistemas de desarrollo disponiblescomercialmente ms utilizados son FuzzyTECH, MATLAB,TILShell y FIDE. De stas y de otras herramientas softwarehablaremos en los puntos siguientes, mientras que concluiremoscon las formas de realizar en hardware sistemas borrosos

    5.2 ENTORNOS DE DESARROLLOEl continuo aumento de la complejidad de los sistemas

    de desarrollo ha forzado a introducir el concepto de entorno dedesarrollo. Los sistemas iniciales de base puramente textual selimitaban a conjuntos de programas aislados que procesabanficheros, produciendo otros ficheros. Estos sistemas resultabanmuy complejos de manejar, y requeran de un largo periodo deaprendizaje y de alta especializacin. Todo ello limitaba la

    productividad de los equipos de desarrollo y, en ltimo trmino,la dimensin mxima de los sistemas que pueden realizarse auncoste razonable. Los primeros entornos de desarrollo seorientaban a entornos textuales, e incluan editores bsicos yayudas para la automatizacin de las tareas de depuracin.

    Paulatinamente se han ido mejorando tanto las herramientas deedicin, como las de depuracin, y se han desarrollado sistemasautomticos de optimizacin y depuracin tanto de los ficherosfuente como del cdigo final generado. Este continuo aumento delnmero de herramientas y utilidades implicadas en el desarrollode sistemas ha hecho cada vez ms necesario el uso de entornosque integren y facilite la tarea del programador individual, ascomo la integracin del trabajo de los equipos de desarrollo.

    Las nuevas tecnologas de desarrollo de aplicaciones sehan beneficiado de la experiencia de los sistemas clsicos y, pororientarse a aplicaciones complejas y requerir la integracin contcnicas clsicas, se han diseado mayoritariamente con el apoyode entornos de desarrollo ms o menos elaborados. Sin embargo,

    por ser tecnologas recientes y de origen diverso, apenas se

    PRECISIN FLEXIBILIDAD

    VELOCIDAD

    Entradas grficas

    variables

    conjuntos borrosos

    funciones de pertenencia

    Entradas textuales

    reglas borrosas

    editores de cdigo

    Anlisis yconversin

    Lenguajedescripcin

    Lenguajedescripcin

    Compiladorborroso

    Lenguaje final (C,ensamblador)

  • 8/7/2019 borrosa

    5/11

    dispone an de sistemas que faciliten la integracin en un mismosistema de las diversas metodologas de trabajo disponibles (redesneuronales, sistemas borrosos, algoritmos genticos, etc.) En estesentido, quizs sea MATLAB el entorno ms completoactualmente, pues permite el trabajo desde un mismo entorno contcnicas clsicas y novedosas (wavelets, redes neuronales, etc.).Su principal limitacin es el limitado soporte para el desarrollo desistemas en tiempo real.

    Para el campo de los sistemas basados en lgica borrosa, que en estos momentos nos ocupa, se han introducidodiversos sistemas de desarrollo de propsito especfico. Resultadifcil realizar una lista completa de todos los disponibles, puescontinuamente aparecen nuevos. En los puntos siguientes sedescribirn algunos de los ms difundidos, agrupndolos enaquellos que se apoyan en conocidos programas matemticos(MATLAB, Mathematica...), y los realizados expresamente paralgica borrosa.

    5.2.1 Entorno de tipo matemticoComo herramientas para la investigacin en eldesarrollo de sistemas de control y procesamiento de seal, se hanutilizado frecuentemente entornos de base matemtica quefacilitan la evaluacin de diversas tcnicas, sin obligarinicialmente al desarrollo de programas especficos, haciendo usode paquetes matemticos diversos incluidos en estos sistemasmatemticos de propsito general. As, dado un sistema dedesarrollo matemtico de propsito general, se suelen suministrar

    por separado paquetes o conjuntos de utilidades especficos paratratamiento de seal, control de sistemas, trabajo con redesneuronales, lgica borrosa, etc.

    La mayora de estos sistemas matemticos tienen suorigen en entornos textuales, aunque en sus versiones actuales se

    han adaptado a los entornos grficos disponibles hoy en da, tantoen su interaccin con el usuario, como en la presentacin de losresultados de las aplicaciones desarrolladas.

    5.2.1.1 MATLAB

    MATLAB es probablemente el entorno de desarrollomatemtico ms extendido para las aplicaciones de control y

    procesamiento de seal, especialmente en ambientes

    universitarios, donde se utiliza para la simulacin de control desistemas.

    Este entorno puede considerarse una especie de sistema

    interactivo cuyos elementos bsicos son matrices, y sudimensionamiento se realiza dinmicamente. La solucin de losproblemas se expresa en MATLAB con expresiones matemticassimilares a las habituales, de modo que en principio no requiere

    programacin.

    MATLAB se utiliza habitualmente en entornos deingeniera para analizar y desarrollar prototipos de algoritmos ocomputaciones numricas, utilizando una formulacin matricialque se adapta bien tanto a la teora de control automtico clsico.Como al procesamiento digital de seales.

    Se pueden definir nuevas funciones como secuencias decomandos ya definidos, almacenndolos en un fichero de tipo M-file. Existen amplias colecciones de estos M-files o toolboxes quehan sido escritas para aplicaciones especiales, y que se venden por

    separado. En los ltimos aos se han incorporado el Neural Networks Toolbox y el Fuzzy Logic Toolbox, que permiten eltrabajo con redes neuronales y lgica borrosa, respectivamente,con relativa sencillez y buenas salidas grficas.

    Como complemento a MATLAB se dispone deSIMULINK, un entorno grfico orientado a la simulacin desistemas dinmicos no lineales. Para el modelado de sistemasdispone diferentes bloques lineales y no lineales, tanto en elcampo continuo como en el discreto. Para el anlisis de sistemasse pueden utilizar diversos algoritmos de resolucin de ecuacionesdiferenciales.

    Este conjunto de herramientas resulta muy til para lassimulaciones requeridas en el proceso de diseo de un sistemacomplejo, pues permiten explorar con relativa sencillez distintassoluciones. Sin embargo, para aplicaciones en tiempo real eningeniera puede plantear problemas por la gran cargacomputacional requerida.

    Las herramientas de MATLAB fuzzy logic toolbooxpermiten disear sistemas basados en lgica borrosa con potentestcnicas de entrenamiento, as como su integracin en sistemas decontrol complejo simulables en SIMULINK.

  • 8/7/2019 borrosa

    6/11

    5.2.1.2 MATHEMATICA

    El entorno MATHEMTICA es probablemente uno delos paquetes de software de tipo matemtico ms extendido,siendo empleado por investigadores, ingenieros y estudiantes deescuelas de ingeniera y ciencias. Cubre no slo las reascientficas y matemticas, sino que tambin se emplea en reastecnolgicas y empresariales.

    El entorno de MATHEMTICA est dividido en dospartes: el kernel que realiza los clculos, y un panel frontal que seocupa de la interaccin con el usuario. El ncleo deMATHEMTICA es idntico en todas las computadoras en losque se ejecuta, en cambio el panel frontal est adaptado a lascaractersticas de cada mquina.

    Adems el dicho entorno puede ser usado para realizarclculos numricos y simblicos, visualizar funciones, modelar yanalizar datos, representar conocimientos, y generar documentosinteractivos, y a travs de MathLink puede interactuar con otros

    programas.

    La principal limitacin de MATHEMTICA viene desu potencia, pues requiere enormes recursos de mquina, tanto encapacidad de disco como en memoria. Por la generalidad de susalgoritmos, los programas escritos con MATHEMTICA resultanms lentos que los realizados con lenguajes de programacinconvencionales, aunque su desarrollo es ms rpido. Por estascircunstancias, no resulta un entorno adecuado para realizar

    control en lnea. La gran variedad de funciones disponibles hacetambin que el tiempo de aprendizaje de la herramienta sea largo.

    5.2.2 ENTORNO DE LGICA BORROSAAnteriormente se hace mencin a algunas herramientas

    de tipo matemtico, susceptibles de ser empleadas en el desarrollode sistemas borrosos y/o neuronales. A continuacin, sedescribirn algunos de los entornos ms difundidos orientadosespecficamente a lgica borrosa

    5.2.2.1 FUZZYTECH (INFORM GmbH)Este entorno es uno de los ms difundidos y completos

    para el desarrollo de sistemas basados en lgica borrosa. Elentorno de FuzzyTech fue desarrollado por la compaa INFORMSoftware GMBH, el cual surgi del trabajo de un grupo de

    investigadores dirigido por el profesor Hans Zimmermann, de laUniversidad de Aachen (Alemania). Zimmermann, uno de los

    pioneros de la lgica borrosa en Europa, es presidente y fundadorde laInternational Fuzzy Systems Association (IFSA), la principalorganizacin internacional para la investigacin y aplicacin delos sistemas basados en lgica borrosa.

    El entorno fuzzyTech est formado por un GUI comn basado en MS-Windows que permite la edicin grfica de lasvariables lingsticas para cada una de las variables del sistema,con una precisin seleccionable segn el tipo de implementacinfinal seleccionado (8 a 16 bits).

    FuzzyTech dispone de varios asistentes para facilitar lastareas ms frecuentes del diseo, como asistente para la estructura,

    para las variables y para las reglas. Incluye adems una ventana degestin del proyecto con estructura de rbol, un sistema

    personalizable de generacin automtica de documentacin del proyecto segn el estndar IEC1131-7, y un gestor de versiones

    integrado.El entorno admite la simulacin fuera de lnea y en

    tiempo real. Dentro del primer tipo, permite la depuracininteractiva con visualizacin de flujos de inferencia, yoptimizacin interactiva de los parmetros del sistema.

    Como cualidad importante de este entorno destacaremosque dispone de un gran nmero de versiones con una interfaz deusuario comn, adaptadas a un gran nmero de implementaciones.

    Adems, este entorno ha sido seleccionado por diversosfabricantes de sistemas industriales como herramienta para eldesarrollo de aplicaciones de control basadas en la lgica borrosasobre sus sistemas.

    5.2.2.2 FIDEEl entorno FIDE (Fuzzy Inference Development

    Enviroment) ha sido desarrollado por la compaa americanaAptronix, en colaboracin con Motorola. Este entorno se basa en

    un lenguaje de descripcin de controladores llamado FIL, que a suvez se compone de tres sublenguajes, para cada uno de los

    posibles en el entorno. El lenguaje FIU permite describir unidadesde inferencia borrosa formadas por conjuntos de reglas que seaplica sobre variables, para las que se puede definir diversosadjetivos.

    Las reglas en el lenguaje FIU se expresan en un estilosimilar al ingls natural. Tambin pueden introducirse utilizandoun interfaz de usuario de tipo hoja de clculo

  • 8/7/2019 borrosa

    7/11

    As, el entorno FIDE se estructura entorno a un editor

    de textos multiventana elemental, que incluye un compilador delenguaje FIL. Desde esta aplicacin MS-Windows es posible

    llamar a los cuatro bloques bsicos que componen el entorno:COMPILER, DEBUGGER, COMPOSER Y RTC. El bloqueCOMPILER compila los ficheros fuente del lenguaje FIL y generaun cdigo objeto para el resto de las aplicaciones. La aplicacinDEBUGGER posee tres herramientas: Tracer, Analyzer ySimulator. Tracer permite obtener el valor de las salidas paraunos valores concretos de las entradas, y seguir paso a paso el

    proceso de inferencia que produce los valores de salida.Analyzerrealiza el anlisis de la funcin de transferencia des sistema, ascomo la visualizacin de la funcin de salida desde diversas

    perspectivas. Es posible realizar una representacin tridimensionalde la superficie de salida como se ve en la figura 1, o bienvisualizaciones bidimensionales y topolgicas. Finalmente,Simulator simula el comportamiento dinmico de las unidades

    para unos datos de test (figura 2).

    FIGURA 1: Superficie de salida del controlador fuzzy

    FIGURA 2: Comportamiento dinmico del controlador fuzzy

    Por otra parte, la aplicacin COMPOSER permite alusuario crear sistemas complejos que combinan mdulos borrososcon otros no borrosos, utilizando el denominado FCL. Estaherramienta proporciona un editor grfico para el diseo de lossistemas de inferencia. A modo de ejemplo, en la figura 3puedeverse la descripcin mediante COMPOSER de un sistema deinferencia borrosa aplicado al control de un pndulo inverso.

    FIGURA 3: Presentacin de Composer, el editor grfico deFIDE

    Finalmente, la aplicacin RTC permite convertir ladescripcin del cdigo objeto creada por el compilador de fuenteen el cdigo mquina adecuado para diversos microcontroladoresde Motorola/Freescale. Tambin se puede generar cdigo paraMATLAB y ficheros fuente ANSI.

    5.3 REALIZACIN HARDWARE DESISTEMAS BORROSOS. ACELERADORES

    Hasta el momento hemos centrado toda la atencin enlas herramientas de desarrollo de sistemas borrosos, consistentesnormalmente en un paquete software integrado en el que seincluye un simulador, que permiten el diseo y experimentacincon sistemas borrosos desde un computador (a menudo un PC).

  • 8/7/2019 borrosa

    8/11

    En esta seccin mostraremos como se puede llevar a cabo laimplementacin final de un sistema de control basado en lgica

    borrosa, que se incorporar a un sistema real en funcionamiento.

    5.3.1 Implementacin de controladores borrosos yneuro-borrosos en circuitosEn el libro de Shenoi aparece el caso de un controlador

    borroso basado en un microprocesador estndar como el 8031,mientras que en el Sasaki puede verse un ejemplo de realizacinen un circuito integrado especfico. En la referencia Eichfeld se

    presenta un coprocesador borroso de 8 bits, que permite 256entradas, y 64 salidas y 16384 reglas, alcanzando la velocidad de

    pico de 1.9MFLIPS.

    Para la realizacin de controladores borrosos en uncircuito integrado se vienen utilizando tanto tcnicas digitalescomo analgicas. EL empleo de un enfoque u otro presentaventajas e inconvenientes, ampliamente comentados. Entre lasrealizaciones mediante tcnicas digitales, adems de los

    coprocesadores borrosos mostrados antes podemos encontrar unaarquitectura basada en la tcnica de modulacin de anchura de

    pulso, que reduce el rea de silicio necesaria en la implementacinmicroelectrnica.

    Dentro de las tcnicas analgicas una de las msempleadas es la basada en espejos de corriente. Se han propuestotambin tcnicas hbridas; as en el libro de Ruiz se propone unainterfaz digital para la definicin de funciones de inclusin

    programables, y un procesado interno basado en un diseo enmodo corriente.

    Existen tambin realizaciones que tratan de unir loscampos de redes neuronales y lgica borrosa. Por ejemplo, en ellibro de Song Han se muestra el empleo de la resistencia variable

    CMOS, para realizacin tanto de borrosificadores como desinapsis en redes neuronales, para construir sistemas hbridosneuro-borrosos. Dentro de los sistemas neuro-borrosos cabedestacar en el entorno Neufuz, de National Semiconductors,cuyo software de desarrollo hace uso de tcnicas neuronales parahacer aprendizaje a partir de patrones, que luego es plasmado enun sistema borroso convencional; el entorno de trabajo acabagenerando el equivalente del sistema borroso en cdigoensamblador para el microcontrolador de propsito general.

    A modo de resumen final se puede comentar que engran medida los sistemas borrosos se implementan como unsoftware que se ejecuta sobre un PC, como un cdigo que segraba en memoria ROM para ser ejecutado pormicrocontroladores estndar como los de Siemens,Freescale/Motorola... o casi estndar como el 68HC12, o biencomo cdigo para mdulos especiales de autmatas programablesconvencionales. Debido a los limitados recursos de clculo quelos sistemas borrosos requieren, solamente se es necesariohardware especfico en muchos casos concretos.

    6. APLICACIONES DE LOS SISTEMASBORROSOS

    En adelante se intentar mostrar algunas de lasaplicaciones de los sistemas borrosos, tanto acadmicas comoreales, relacionadas con procesamiento de datos y control. Como

    puede deducir el lector de los visto anteriormente sobre sistemasborrosos, el campo que claramente cuenta con mayor nmero de

    aplicaciones basadas en lgica borrosa es el control, existiendonumerosas aplicaciones en el funcionamiento de la industria.

    Por ltimo, expondremos el caso del desarrollo del

    robot autnomo controlado con reglas borrosas bautizado comoPILAR, diseado y realizado en la Universidad de Zaragoza.

    6.1 INTRODUCCINLos nuevos modelos de procesamiento y control: redes

    neuronales, lgica borrosa y algoritmos genticos, junto conalgunos otros de relativa novedad, se engloban dentro de ladenominada soft computing [Zadeh, Jang] o inteligenciacomputacional, que tienen en comn el constituir paradigmas de

    procesamiento muy diferentes a la convencional hardcomputing, basadas en computadores Von Neumann (serie) y laseparacin de hardware y software. Estas nuevas tcnicas seinspiran en las soluciones que la naturaleza ha encontrado durante

    millones de aos de evolucin a numerosos problemastecnolgicos que involucran el tratamiento de cantidades masivasde informacin, redundante, imprecisa y ruidosa, problemas a losque en la actualidad se enfrenta el ser humano (visin, habla,control en ambiente natural). No obstante, debe quedar claro queestas nuevas tcnicas no vienen a suplantar a las mstradicionales, sino ms bien a completarlas en aquellos problemasdonde menos eficacia proporcionan.

    Es fcil deducir que tanto las redes neuronalesartificiales como los sistemas borrosos, constituyen en laactualidad reas de investigacin y desarrollo (I+D) muy activas,no slo desde un punto de vista acadmico, sino comercial eindustrial. Recordemos que grandes compaas del sectorelectrnico e informtico, como Siemens, Motorola, SGS-Thomson, Toshiba, National Semiconductors, OMROM, etc.,trabajan en redes neuronales y sistemas borrosos.

    En la lnea anterior, cabe destacar el mundo empresarial japons en la aplicacin de lgica borrosa en la industria y enaparatos de consumo. Recordemos que en EEUU y Europasolamente se empez a dar importancia a la lgica borrosa cuandodesde Japn empez a llegar abundante informacin sobrenumerosas aplicaciones prcticas de esta tcnica, desarrolladas ycomercializadas por compaas japonesas.

    6.2 INTERS DEL EMPLEO DE LALGICA BORROSA

    Los sistemas basados en lgica borrosa pueden seraplicados prcticamente a los mismos problemas que las redes

    neuronales. De esta manera, resultarn especialmente interesantespara los problemas no lineales o no bien definidos.

    El otro gran denominador comn de ambas tcnicas essu orientacin hacia el tratamiento de tareas que involucran al

    procesamiento de cantidades masivas de informacin, de tiporedundante, imprecisa y con ruido, que aparecen en problemastecnolgicos cruciales a los que en la actualidad se enfrenta el serhumano.

    No obstante, frente a las caractersticas comunes citadas,existen tambin importantes diferencias. Por ejemplo, los sistemas

    basados en lgica borrosa permiten utilizar el conocimiento quelos expertos disponen sobre un tema. Por consiguiente, puede

  • 8/7/2019 borrosa

    9/11

    decirse que la lgica borrosa permite formalizar tanto elconocimiento ambiguo de un experto como el sentido comn.

    Una importante ventaja de los sistemas borrosos, es que

    gracias a la simplicidad de los clculos requeridos (sumas ycomparaciones fundamentalmente), normalmente puedenrealizarse en sistemas baratos y rpidos, con lo que puedenimplementarse en sistemas especficos (por ejemplo, para elcontrol inteligente de un horno microondas o de un sistema defrenado ABS). Este es uno de los motivos fundamentales delhecho constatado de la existencia en la actualidad de muchas msaplicaciones prcticas funcionando basadas en lgica borrosa queen redes neuronales.

    No obstante, las ventajas e inconvenientes que cadaenfoque puede presentar, el futuro apunta en la direccin decombinar distintas tcnicas para resolver problemas complejos.Los problemas tecnolgicos de mundo real resultan en general degran complejidad, por lo que para su resolucin conviene que

    sean divididos en partes ms simples, de manera que cada una pueda ser resuelta mediante la tcnica ms indicada, procedentedel campo de la estadstica, procesamiento de seal,reconocimiento de patrones, redes neuronales, sistemas borrosos,algoritmos genticos o cualquier otra.

    Debemos recordar en esta lnea de razonamiento que noexisten soluciones simples a problemas complicados. Estas nuevastcnicas emergentes aportan caractersticas sumamenteinteresantes, pero por si solas no resolvern todos nuestros

    problemas tecnolgicos, sino que contribuirn en determinadosaspectos, pero otros seguirn siendo mejor abordados mediantetcnicas tradicionales. En este sentido, no conviene forzar laaplicacin de cierta nueva tcnica a determinado problemasimplemente por su novedad, sino que ello debe realizarse

    solamente en aras de conseguir un mayor rendimiento o sencillezde implementacin.

    Este ltimo es otro de los aspectos destacables de lossistemas borrosos, su relativa sencillez de aplicacin. A vecesmediante un sistema borroso no se logra un rendimiento superior(ni inferior) con el que se alcanzara con un enfoque clsico, peroel tiempo de desarrollo es con frecuencia inferior, y el sistemafinal resultar ms barato.

    Para concluir, y retomando la lnea de la fusin detecnologas, merece a pena recordar el intenso trabajo que sedesarrolla en sistemas neuro-borrosos. Los sistemas borrosos

    pueden aprovechar la capacidad de aprendizaje de una redneuronal para optimizar su funcionamiento. Por otro lado, laequivalencia que se establece entre ciertos modelos neuronales y

    borrosos puede ser empleada para extraer las reglas que una redneuronal ha encontrado en el entrenamiento, eliminando uno delos grandes problemas clsicamente achacado a los sistemasneuronales artificiales, su operacin en forma de caja negra. Portodo ello, la combinacin de redes neuronales y sistemas borrososes un campo intenso de trabajo en la actualidad.

    6.3 ALGUNAS APLICACIONES DE LOSSISTEMAS BORROSOS

    En esta apartado se intentar hacer una enumeracin dealgunos ejemplos de aplicaciones prcticas de los sistemas

    borrosos. La relacin no pretende ser exhaustiva, sinosimplemente ilustrativa de los diferentes tipos de problemas queen la actualidad sed abordan mediante el uso de las tcnicas

    procedentes de la lgica borrosa. Remitiremos al lector interesadoen profundizar en este tema al libro de C. Von Altrock, en el quese exponen numerosas aplicaciones de muy diferentes campos,algunas de ellas ampliamente comentadas. Por otro lado, el librode R. Reyero y C.F. Nicols ilustra muy bien el tipo deaplicaciones de control industrial que actualmente se desarrollancon lgica borrosa. En los libros de Jang y Passsino se exponencon detalle ejemplos de resolucin de problemas con sistemas

    borrosos.

    Haciendo un poco de historia, la primera aplicacin prctica operativa de la lgica borrosa la desarroll E. Mandamien Europa, realizando el control borro de un sistema de vapor deuna planta industrial. Otras de las ms clsicas quizs sea la deSmith y otros, que en 1980 aplican tcnicas de lgica borrosa alcontrol de hornos rotativos en una cementera. El control en plantaindustrial sigue siendo hoy en da uno de los campos deaplicacin ms destacables.

    Los sistemas basados en lgica borrosa se vienenutilizando en aplicaciones de diversas ndoles. As, en el reamdica se emplea para diagnsticos, acupuntura, anlisis deritmos cardiacos, o de la arterioestenosis coronaria. Dentro delapoyo a la toma de decisiones, otras de las grandes reas deaplicacin de estos sistemas, se han utilizado, por ejemplo, en la

    bsqueda de caminos crticos en la ejecucin de proyectos, yasesoramiento a la inversin.

    Sin duda, el principal campo de aplicacin de la lgicaborrosa es el de control, a partir del empleo de las expresiones dela lgica borrosa para formular reglas orientadas al control desistemas. Dichos sistemas de control borroso pueden considerarseuna extensin de los sistemas expertos, pero superando los

    problemas que stos presentan para el razonamiento en tiempo

    real, ocasionados por la explosin exponencial de las necesidadesde clculo requerido para un anlisis lgico completo de lasamplias bases de reglas que stos manejan.

    En el campo de control de sistemas en tiempo realdestaca el control de un helicptero por rdenes pronunciadas deviva voz (Sugeno), y el control con derrapaje controlado de unmodelo de coche de carreteras de Altrok. Dentro del sector delautomvil existen gran nmero de patentes sobre sistemas defrenado y cambios de marcha automticos.

    El rea de los aparatos de consumo es otra de las masdestacables, hasta el punto de que no es raro encontrarse

    propaganda del tipo Incluye inteligencia artificial fuzzy, enescaparates o en catlogos (por ejemplo, en los de las cmaras devideo Hitachi). En el sector de los electrodomsticos se han

    diseado un buen nmero de aplicaciones neuro-borrosas comolavadoras (Matsushita, Hitachi, Siemens, AEG), tostadoras de

    pan, controles de calefaccin y aire acondicionado.

    Para el control de maquinaria destaca el ya clsicocontrol de frenado del metro de Sendai (Japn), realizado porHitachi, y que opera desde julio de 1987. Se han aplicadosistemas borrosos en el control de maquinaria de perforacin detneles y en el control de ascensores (Mitsubishi-Elec., Hitachi,Fuji Tech) y guas para contenedores. Se han aplicado tambin alprocesado de imgenes y reconocimiento de caracteres; porejemplo, se muestra un sistema que reconoce los nmeros de loscheques bancarios, para lo cual hace uso de un sensor de CCD

  • 8/7/2019 borrosa

    10/11

    64X1 pxeles, y un microcontrolador M68HC11, en el que elsistema borroso se materializa por programa.

    6.4 ROBOTS MVILES Y NAVEGACINAUTNOMA

    A continuacin expondremos las bases de la aplicacinde lgica borrosa a robots mviles y navegacin autnoma, ydescribiremos una aplicacin desarrollada en la Universidad deZaragoza.

    Los robots mviles pueden caracterizarse en trminosde su movilidad, autonoma, inteligencia y conocimiento previodel entorno. El sistema de navegacin del robot incluye tareas de

    planificacin de la misin, planificacin de la ruta, planificacinde la trayectoria, y las funciones especficas para evitar obstculosimprevistos, no considerados en las planificaciones anteriores.

    La percepcin se ocupa de tareas relacionadas con ladeteccin de obstculos, construccin de mapas, modelado del

    entorno y reconocimiento de objetos. Por ltimo, el control demovimientos convierte las rdenes de control en acciones,utilizando para ello la diferencia entre la posicin deseada y la

    posicin actual del robot (esta ltima, a menudo estimada). Seincluyen tambin tareas de monitorizacin de la ejecucin.

    Existen diversas posibilidades de aplicacin de tcnicasde control borroso. La mayora de los trabajos existentes parten dela identificacin del escenario, con extraccin de lascaractersticas del entorno y obtencin de valores de variables desituacin del robot (distancia a la pared, distancia a la entrada deestacionamiento, etc... Las reglas de control borroso relacionanvalores cualitativos de estas variables con las acciones de control,tpicamente, el ngulo de direccin del vehculo.

    En algunos casos, en vez de utilizarse la variable de

    control en los consecuentes de las reglas, se emplea unacombinacin lineal de los valores de las variables de la situacin,empleando unos coeficientes, que se calculan mediante laidentificacin de las actuaciones de un operador humanotrabajando en la simulacin. En este punto, conviene mencionar elinters de la aplicacin de tcnicas de aprendizaje. En cualquiercaso, una vez obtenidos los valores inferidos por cada regla, laaccin final de control resulta de una suma ponderadanormalizada de los resultados de cada regla.

    Por otra parte, cabe mencionar que el conjunto de reglas puede descomponerse en subconjuntos relativos a operacionesdiferentes (conducir hacia delante, girar a la izquierda eninterseccin...), o bien maniobras diferentes (aparcar en paralelo,aparcar en batera).

    Las aplicaciones mencionadas en los prrafos anteriorescabe considerarlas como de control de borroso directo. Otra

    posibilidad consiste en aplicar las tcnicas de razonamientoaproximado para seguir una trayectoria previamente definida. Porejemplo, considrese un sistema de navegacin que realizasucesivamente los siguientes pasos: planificacin de la ruta,generacin de un camino con buenas propiedades cinemticas y,finalmente, control de seguimiento de la trayectoria. Para esteltimo paso existen a su vez mtodos diferentes. En efecto, lageneracin del ngulo de direccin puede realizarse mediantemtodos geomtricos, o considerando tambin la dinmica.

    De acuerdo con el esquema del prrafo anterior, laaplicacin de mtodos de control borroso puede hacerse

    directamente (sustituyendo los mtodos geomtricos y dinmicos),o en combinacin con ellos. De esta forma, es posible compensarerrores de seguimiento mediante reglas que tienen comoantecedentes la desviacin del ngulo, y como consecuencia lamodificacin de la direccin para compensar el error.

    Asimismo, otra estrategia muy interesante consiste enseleccionar mediante tcnicas de razonamiento aproximado los

    parmetros de control, que tpicamente se eligen medianteconsideraciones heursticas. Por ejemplo, los mtodosgeomtricos o dinmicos de seguimiento de trayectorias tienencomo parmetro importante el nmero de puntos, o la distanciasobre el camino que pretende seguir (look ahead). Este parmetro

    puede elegirse mediante tcnicas de razonamiento aproximado,teniendo en cuenta las caractersticas del camino, la velocidad, yla posicin del vehculo con respecto al camino.

    Los comentarios anteriores se refierenfundamentalmente al control de la direccin. Existe tambin el

    problema del control de la velocidad del vehculo. Aunque hay unevidente acoplamiento cinemtico y dinmico con el anterior, seah demostrado que en diversas aplicaciones prcticas puedenrealizarse desacoplamientos. En cualquier caso, el problema de

    planificacin y control de velocidad es notablemente complejo, ysuele realizarse con criterios heursticos. Por consiguiente, laaplicacin de tcnicas de razonamiento aproximado resulta

    particularmente interesante.

    Si bien la mayor parte de los robots autnomos se basanen topologas clsicas, haciendo uso de ruedas, tambin se hanestudiado otras posibilidades. As, para el acceso a terrenosagrestes resulta de inters el uso de robots con patas. stos soncapaces de moverse tambin en entornos de oficinas e industrias,

    por ser capaces de subir y bajar escaleras. En los robots con patas

    se ha de prestar atencin al control del movimiento de las pataspara conseguir un desplazamiento uniforme. Estos estudios se hanbasado habitualmente en el movimiento de los animales.

    6.4.1 EL ROBOT AUTNOMO PILAREl control basado en la lgica borrosa de uno de estos

    robots autnomos puede verse en el libro de Sanz, y laimplementacin de un prototipo de robot de seis patas se exponecon un gran detalle en el mismo libro.

    El diseo del control de este robot autnomo se harealizado de manera totalmente jerrquica, haciendo uso delmodelo ARS. El control de mayor nivel, el de navegacin,implementa dos comportamientos diferentes posibles:

    a) Seguir un objeto y detenerse a una

    distancia predefinida.b) Movimiento libre en un entorno genrico,

    evitando as obstculos, y teniendo el realibre ms amplia.

    En el contexto de este control jerrquico, se proponeadems un mtodo para la eliminacin de bloqueos en el

    planeamiento de la trayectoria.

    El prototipo de robot autnomo de seis patas a sido bautizado como PILAR ( Programmable Intelligent Legged Autonomous Robot), estando ideado para que pueda moverse encualquier ambiente, terreno natural, volcanes, minas, plantasnucleares, fbricas, etc...

  • 8/7/2019 borrosa

    11/11