Control Borroso
-
Upload
esteban-mejia -
Category
Documents
-
view
597 -
download
5
Transcript of Control Borroso
1
Introducción a la Lógica Borrosa
Introducción a la LógicaBorrosa;
Universidad de Verano de Teruel
Alfredo Sanz MolinaCPS Universidad de Zaragoza
Maria de luna 3
50015 Zaragoza
Introducción a la Lógica Borrosa
Visión general
n Origen y evoluciónn Conjuntos borrosos y Lógica borrosan Bases del Control con lógica borrosan Control avanzado con lógica borrosan Herramientas de desarrollon Aplicacionesn Realización hardware
2
Introducción a la Lógica Borrosa
Origen y evolución
n Problema básico:• Las cosas no son o blancas o negras• Pocos problemas están bien definidos• Las cosas cambian con el tiempo
n 1965 Zadeh; Conjuntos Borrososn 1973 Zadeh; Controladores Borrososn 1974 Mamdani; Control de Cementerasn 1987 Hitachi; Frenado Metro Sendayn 1989 Creación de LIFE
Introducción a la Lógica Borrosa
Situación Academica actual
n Boom de la Lógica Borrosa• Gran número de publicaciones especializadas
è Fuzzy Set and Systems
è IEEE Transactions on Fuzzy Logic
è Libros
• Articulos y Numeros especiales en revistasè Byte, EDN, Computer Design, IEEE Micro
• Congresos Internacionalesè Lizuka,Orlando, San francisco, Aachen
• Asociaciones internacionalesè en España; Asociación Española de Lógica Borrosa
3
Introducción a la Lógica Borrosa
Situación Industrial actual
n Amplia utilizaciónè NASA: Control de posición del Transbordador Espacial
è Ford: Aparcamiento automático de camiones
è Hitachi: Control de acondicionador de aire
è Siemmes: frenos ABS, lavadoras, controladores de temperatura
è Onrom; autómatas programables
n Aumento del número de patentesè Cambio de marcha automático
è Control de frenado ABS
è Autoenfoque en cámaras fotográficas
n Productos comercialesè Controladores industriales Siemmens, Onrom
è Acondicionadores de aire “NeuroFuzzy”
Introducción a la Lógica Borrosa
Conjuntos borrosos
Bajo Medio
Alto
X
X
µA x( )
4
Introducción a la Lógica Borrosa
Borrosidad y Probabilidad
n Borrosidad• Indica el grado de
pertenencia• Lo fija el observador• Está medio llena o medio
vacía
n Probabilidad• Indica la frecuencia con
que ocurre• Se mide o se supone• Puede estar medio llena
o medio vacía
Introducción a la Lógica Borrosa
Funciones de inclusión
n Define el grado de pertenencia de u a Fn Puede ser
• conjunto discreto de puntos si U discreta• función continua si U continua
n Tipos más frecuentes• S
• π• T
5
Introducción a la Lógica Borrosa
Términos habituales
0
1
0.5
25 45 600
Conjunto soportado F
Conjunto F
Puntos de cruce de F
Introducción a la Lógica Borrosa
Tipo S
n Definida por:• función cuadrática
• función exponencial
0.5
1.0
0
a b c
µ
u
S u k cexp k u b
( ; , )( ( ))
=+ − −
1
1
S u a b c
u au a
c aa u b
u ac a
b u c
u c
( ; , , ) =
<−−
≤ ≤
− −−
≤ ≤
>
0
2
1 2
1
2
2
6
Introducción a la Lógica Borrosa
Tipo π
n Definida por:
0.5
1.0
0c
µ
u
b
c-b c-b/2 c+b/2 c+b
π ( ; , )( ; , / , )
( ; , / , )u b c
S u c b c b c u c
S u c b c b c u c=
− − ≤− − − ≥
2
1 2
Introducción a la Lógica Borrosa
Tipo T
n Definida por:
0.5
1.0
0
µ
u
a cb
T u a b c
u au a
b aa u b
c a
c bb u c
u c
( ; , , ) =
<−−
≤ ≤
−−
≤ ≤
>
0
0
7
Introducción a la Lógica Borrosa
Conjuntos borrosos
n Conjuntos Clásicos• Nombre del conjunto
è Adulto
• Función de pertenenciaè Incluido o no incluido
n Conjuntos Borrosos• Nombre del conjunto
è Adulto
• Función de pertenenciaè µAdulto(x) ∈ [0, 1]
0
1
0 20 40 60
0
1
0 20 40 60
Introducción a la Lógica Borrosa
Particiones Borrosas
n Propiedades• Solapamiento (20-50%)• Completitud (100%)• Complejidad• 3 a 7 conjuntos• Interesa número impar 3, 5, 7• Puntos singulares
8
Introducción a la Lógica Borrosa
Medidas Borrosas
n Borrosidad• Distancia de A al conjunto discreto C
è Hamming f(A) = Σ |µA(x)- µC(x) |
è Euclidea f(A) = (Σ(µA(x)- µC(x) ) 2)1/2
è Minkowski f(A) = (Σ(µA(x)- µC(x) ) w)1/w w ∈ [1, ∞ ]
n Entropia Borrosa• f(A) = -Σ {µA(x)log µA(x) +[1- µA(x)]log [1- µA(x)]}
n Similaridadn Agrupamiento Borroso
Introducción a la Lógica Borrosa
Operadores borrosos
Igualdad µA(x)= µB(x) x ∈ U
Unión µA∪B(x)= max[µB(x) ,µB(x)] Para todos los x ∈ U
Intersección µA ∩B(x)= min[µB(x) ,µB(x)] Para todos los x ∈ U
Complemento µA(x)= 1−µB(x) x ∈ U
Norma µNORM(A)(x)= µA(x)/max[µA(x)] x ∈ U
Concentración µCONA)(x)= (µA(x))2 x ∈ U
Dilatación µCONA)(x)= (µA(x))0.5 x ∈ U
9
Introducción a la Lógica Borrosa
Inferencia en Lógica Borrosa
n El conocimiento se expresa por reglasn Reglas IF-THEN (relaciones Borrosas)n Base de reglas es un conjunto de reglasn Dos tipos de métodos de inferencia
• Modus Ponens Generalizado• Modus Tollens Generalizado
Introducción a la Lógica Borrosa
Modus Ponens Generalizado
n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): x es A’(Conclusión): y es B’B’= A’ o R
n Si A’= A y B’= B equivalente ModusPonens
n Utilizado en control borroso
10
Introducción a la Lógica Borrosa
Criterios para GMP
n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): x es A’(Conclusión): y es B’B’= A’ o R x es A' y es B'
Criterio 1 x es A y es BCriterio 2-1 x es muy A y es muy BCriterio 2-2 x es muy A y es BCriterio 3-1 x es más o menos A y es más o menos BCriterio 3-2 x es más o menos A y es B
Criterio 4-1 x no es A y es desconocido BCriterio 4-2 x no es A y no es B
Introducción a la Lógica Borrosa
Modus Tollen Generalizado
n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): y es B’(Conclusión): x es A’A’= R o B’
n Si A’= no A y B’= no B equivalenteModus Tollens
n Utilizado en sistemas expertos ydiagnostico médico
11
Introducción a la Lógica Borrosa
Criterios para GMT
n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): y es B’(Conclusión): x es A’A’= R o B’ y es B' x es A'
Criterio 5 y no es B x no es ACriterio 6 y no es muy B x no es muy A
Criterio 7 y no es más o menos B x no es más o menos ACriterio 8-1 y es B x es desconocidoCriterio 8-2 y es B x es A
Introducción a la Lógica Borrosa
Base de datos Borrosa
n Es un conjunto de reglasn El formato más usado es
• IF x is A THEN y is B (MISO)• IF x is A THEN y1 is B1 ALSO y2 is B2 (MIMO)
n Razones para usarlas• Permite expresar el conocimiento de los expertos• Fácil de diseñar y programar• Reduce el coste de diseño• Métodos de inferencia eficientes
12
Introducción a la Lógica Borrosa
Controladores Borrosos
fuzzyficationinterface
defuzzyficationinterfacerule base
decision-making unit
X Y
Introducción a la Lógica Borrosa
Ejemplo Control Directo
n Predictor Bursatil• Entradas
è Interés; Tipos de interés (Interbancario 3 meses)
è Inflación; Tasa Inflación (Tasa Interanual)è Paro; Tasa de paro (EPA)
• Salidasè Bolsa; Indices bursátiles (IBEX35)
n Reglas• Mandani
if θ is A1 and ω is A2 then V is B
n DesborrosificaciónCentro masas con funciones singleton
Predictor Bursatilcon
Lógica Borrosa
Interés
Inflación
Paro
Bolsa
13
Introducción a la Lógica Borrosa
Particiones de entrada y salida
n Interés, Inflación, Paroè MA; Muy Alto
è A; Alto
è M; Medio
è B; Bajoè MB; Muy Bajo
n Bolsa (IBEX35)è MA; Muy Alto =2000
è A; Alto =1000
è B; Bajo =800
è MB; Muy Bajo =600
MB A MAMB
3 4 5 6 7MB A MAMB
1 3 5 7 9
B A MAMB
600 800 1000 2000
MB A MAMB
6 10 14 18 22
Interés
Inflación
ParoIBEX35
Introducción a la Lógica Borrosa
Reglas del predictor
n Reglas de tipo Mandani• R1; IF (Interés es A) THEN Bolsa es B• R2; IF (Interés es MA) THEN Bolsa es MB• R3; IF (Inflación es MA) THEN Bolsa es B• R4; IF (Inflación es MB) THEN Bolsa es A• R5; IF (Paro es MA) THEN Bolsa es B• R6; IF (Paro es MA y Inflación es MB) THEN Bolsa es MA• R7; IF (Paro es M y Interés es MB) THEN Bolsa es B
14
Introducción a la Lógica Borrosa
Ejemplo de calculo
n Valores de las entradas• Interés; 4.51%• Inflación; 1.9%• Paro; 19,6%
n Técnicas de razonamiento• MAX-MIN
n Desborrosificación• Centro de masas COA W
M
A
i iin
i iin
= =
=
∑∑
α
α1
1
Introducción a la Lógica Borrosa
Controladores Borrosos
n Técnicas de razonamiento• MAX-MIN• MAXDOT
n Desborrosificación• Media de máximos MOM
• Centro de masas COA
WH W
H
i i iin
i iin= =
=
∑∑
α
α1
1
WM
A
i iin
i iin= =
=
∑∑
α
α1
1
15
Introducción a la Lógica Borrosa
MAX-MIN
n La función de salida es� µC(w) = (α1∩ µC1(w)) ∪ (α2∩ µC2(w))
µ
u
A1
A2
X0 Y0
µ
u
B1B1µ
v
B2B1µ
v
C1µ
w
C2C2µ
w
min
Cµ
w
C1
A2
A1
Introducción a la Lógica Borrosa
MAX-DOT
n La función de salida es� µC(w) = (α1∗ µC1(w)) ∪ (α2∗ µC2(w))
µ
u
A1
A2
X0 Y0
µ
u
B1B1µ
v
B2B1µ
v
C1µ
w
C2C2µ
w
min
Cµ
w
C1
A2
A1
16
Introducción a la Lógica Borrosa
Ejemplo Pendulo inverso
n Pendulo Inverso• Entradas
è Angulo θ=10è Velocidad ω=−5
• Salidasè Fuerza F
n Reglas• Mandani
è R1: if θ is Z and ω is Z then F is Z
è R2: if θ is PP and ω is NP then F is PP
100-100
ZNP PP PGNG
FLCdx/dt
θω
F
Introducción a la Lógica Borrosa
Ejemplo: Cálculo de premisa
ZNP PP PGNG
ZNP PP PGNG
ZNP PP PGNG
ZNP PP PGNG
ω=−5θ=10
0.8
0.6
0.6
0.2
α1=0.6
α2=0.2
R1: if θ is Z and ω is Z then V is Z
R2: if θ is PP and ω is NP then V is PP
R1
R2
17
Introducción a la Lógica Borrosa
Ejemplo: Cálculo de la salida
� µC(w) = (α1∗ µC1(w)) ∪ (α2∗ µC2(w))
ZNP PP PGNG
ZNP PP PGNG
α1=0.6
α2=0.2
ZNP PP PGNG
µC1
µC2
µC
WH W
H
i i iin
i iin= =
=
∑∑
α
α1
1
w1 w2
Introducción a la Lógica Borrosa
Controladores Borrosos
n Tipos:• Directos• Auto-organizados• Con auto-aprendizaje• Basados en modelos Borrosos (Control predictivo)• Híbridos
18
Introducción a la Lógica Borrosa
Controladores Directos
n Tipos• Controlador proporcional: u = f(e)• Controlador integral: u = f(s)• Proporcional-derivativo: u = f(e,∆e)• Proporcional-integral: u = f(e,s)• Realimentación no-lineal: u = f(x)
Mecanismode inferencia
Borrosifi-cación PROCESO
Protocolo
r
u xReduccióna escalar
Introducción a la Lógica Borrosa
Controladores Auto-organizados
n Estructura
Evaluador decaracterísticas
ControladorBorroso PROCESO
Protocolo
r
u x
Protocolo
Mecanismode inferencia
19
Introducción a la Lógica Borrosa
Controladores Auto-aprendizaje
n Reglas• Regla i: Si x1 es A1 y ...xn entonces y es wi.• Ai triangular, definido por centro, ci, y su ancho, ai.• Consecuentes, wi, son escalares.• Aprendizaje por propagación hacia atrás.
n EstructuraRegla 1
Regla 2
Regla 3
Regla n
Actuación 2
Actuación m
Actuación 1x1
x2
x3
xn
Introducción a la Lógica Borrosa
Basados en modelos borrosos
n Se elabora un modelo borroso delsistema a controlar
n Se realiza el control predictivo pordinámica inversa
n Aplicaciones:• Control de elevadores• Predicción de demanda eléctrica
20
Introducción a la Lógica Borrosa
Controladores Híbridos
n Formados por dos controladores• Un control tradicional PID• Un controlador Borroso
n El control Borroso• Ajusta los parámetros del PID• Actúa en paralelo
n objetivo mejora de• Sobreoscilaciones• Tiempo de establecimiento
Introducción a la Lógica Borrosa
Técnicas de Aprendizaje
n Back-propagationn Genétic Algorithmn Ortogonal Least Squaresn Table-Lookup Schemen Nearest Neighborhood Clustering
21
Introducción a la Lógica Borrosa
Algoritmos Genéticos
Inicialización
Operadores Geneticos
Crossover Mutaciones
Ajuste y evaluación
Evaluador decaracterísticas
ControladorBorroso PROCESO
Protocolo
r
u x
Protocolo
Mecanismode inferencia
Selección
Introducción a la Lógica Borrosa
Opciones de optimización
n Optimización de coeficientes• Partición de las variables de salida• Partición de las variables de entrada• Ganancias de entrada y salida
n Optimización de reglasn Estructura de las reglasn Optimización completa
• Codificación de Messy
22
Introducción a la Lógica Borrosa
Codificación de coeficientes
n Que se codifica• Posición de los centros• anchura• tipo de función de inclusión• ganacias
n Como• Binaria de 8 o 16 bits• Proporcional a los 1’s
n En qué orden• Variable o fijo
-10
ZNP PP PGNG
-5 0 6 10
1110110
X1 X2
Codificación binaria 8 bits de anchura fija
-10 -5 0 6 10
0000110
Introducción a la Lógica Borrosa
n Clausula=(variable,término)n Ejemplo
• X1=(negativo, zero, positivo) X1= zero
• X2=(pequeño, medio, grande) X2= grande
• Y=(izquierda, centro, derecha) Y= izquierda
Codificaión Messy de clausulas
1 1 2 3
2 1 2 3
2 1 2 3
( 1 , 2 )
( 2 , 3 )
( 3 , 1 )
23
Introducción a la Lógica Borrosa
Codificaión Messy de reglas
n reglai={clausulax1, clausulax2, clausulay}
n Base de reglas={regla1, regla2,... reglan}
1 2 2 1 3 3 if x1=zero and x2=pequeño then y=derecha
2 1 3 3 1 2 if x1=zero and x2=pequeño then y=derecha
1 2 3 3 if x1=zero then y=derecha
Introducción a la Lógica Borrosa
Operadores Genéticos
n Cruzamiento (Crossover)• Punto de cruzamiento aleatorio con Probabilidad
no uniforme• Varios cruzamineto en cada generación
n Cortar y empalmar (Cut and splice)• Permite la generalización de las reglas
n Mutaciones• Coeficiente herístico o con otro GA
24
Introducción a la Lógica Borrosa
Cruzamiento
n Utilidad• Permite intercambiar genes entre los padres
n Método• se selecciona un punto de cruce• intercambio cruzado
Padre1 Padre2
Hijo1 Hijo2
Punto de cruze
Introducción a la Lógica Borrosa
Cortar y empalmar
n Utilidad• Permite realizar generalizaciones
n Método• se selecciona dos puntos de mutación• se eliminan los genes entre estos puntos
Punto de mutación
gen
gen nuevo
6
0000110
7
0000111
25
Introducción a la Lógica Borrosa
Mutaciones
n Utilidad• Permite buscar nuevas soluciones
n Método• se selecciona un punto de mutación• se cambia el valor de la cadena de genes
1 2 2 1 3 3 2 1 3 3 1 2 1 2 3 3
1 2 2 1 3 3 2 1 3 3 1 2 3 3
Puntos de cruze
Base de reglas
Base de reglas nueva
Introducción a la Lógica Borrosa
Proceso de diseño
n Entradas gráficas• variables• conjuntos borrosos• funciones de pertenencia
n Entradas textuales• reglas borrosas• editores de código
Análisis yconversión
Lenguajedescripción
compilador
borroso
Lenguaje final
(C, ensamblador)
Lenguajedescripción
26
Introducción a la Lógica Borrosa
Entornos de desarrollo
n Academicos• Diversos Libros• IDEA
n Comerciales• FuzzyTHEC• FIDE• TILSehll
Introducción a la Lógica Borrosa
fuzzyTECH
27
Introducción a la Lógica Borrosa
fuzzyTECH:Variables
Introducción a la Lógica Borrosa
fuzzyTECH:Proyecto
28
Introducción a la Lógica Borrosa
fuzzyTECH:Reglas
Introducción a la Lógica Borrosa
fuzzyTECH:Simulación
29
Introducción a la Lógica Borrosa
FIDE
n Origén• Aptornix y Motorola• Soprota los micros:
è MC6805 y MC68HC05
è MC68HC11
• diversos lenguajes de descripción FIL, FCL
n Bloquesè COMPILER
è DEBUGER
è COMPOSER
è RTC
Introducción a la Lógica Borrosa
FIDE
n Entradasinvar pend_angle " " : -127 ( 1 ) 127 [$ pend_angle is an input variable N_Large (@-127, 1, @-112, 1, @-64, 0), N_Medium (@-112, 0, @-64, 1, @-16, 0), N_Small (@-64, 0, @-16, 1, @16, 0), Zero "pend_zr", P_Small (@-16, 0, @16, 1, @64, 0), P_Medium (@16, 0, @64, 1, @112, 0), P_Large (@64, 0, @112, 1, @127, 1) ]; $ end of labels
n Reglasif pend_angle is N_Large and pend_velocity is N_Large then force is N_Large;
if pend_angle is N_Large and pend_velocity is N_Medium then force is N_Large;
if pend_angle is N_Large and pend_velocity is N_Small then force is N_Large;
30
Introducción a la Lógica Borrosa
FIDE
n Superficie de control
Introducción a la Lógica Borrosa
FIDE
n Comportamiento dinámico
31
Introducción a la Lógica Borrosa
FIDE
n Editor gráfico de Composer
Introducción a la Lógica Borrosa
Entorno de Togai InfraLogic
n Interface de usuario en MSWindows• TILSell Entorno Fuzzy• TILGen Modelado• TILChart Análisis
n Basado en lenguaje FPL• Independiente del soporte físico• Salidas para
è C ANSI para PC
è Microporcesadores 8051 68HC11
è Aceleradores Fuzzy FC110
32
Introducción a la Lógica Borrosa
Aplicaciones de TogaiInfraLogic
EspecifAnálisis
SistemaReglasTILGen TILSell
Fuzzy C
entorno
Usuario
fichero FPL
MicroFPL
entorno
FC110
entorno
FCA
entornoTILChart
PC Micro FC110 ASIC
SistemaBasado
en
SistemaBasado
en
SistemaBasado
en
SistemaBasado
en
Introducción a la Lógica Borrosa
Interpretador de FPL
FuenteAnalizador
LéxicoParser
Base de datos
de Objetos
Generador
de Código
Ensamblador
de H8
Gestor
de errores
33
Introducción a la Lógica Borrosa
Aplicaciones
n Medicina• acupultura• análisis cardíaco y de arterioesclerosis coronaria
n Control en triempo real• Sistemas ABS• Conducción con derrapaje• Dirección de helicoptero
Introducción a la Lógica Borrosa
Controlador Borroso
Reconocimiento de voz
Control de helicoptero
34
Introducción a la Lógica Borrosa
Conducción con derrapaje
Introducción a la Lógica Borrosa
Compromisos deimplementación
Velocidad
Precisión Flexibilidad
35
Introducción a la Lógica Borrosa
Rangos de complejidad
10 100 1000
10
100
1k
10k
100k
1M
Control de motores
Control de procesosRobotica
electrod.
imagen
Simulación
Número de reglas
MFLIPSCoprocesadores
Introducción a la Lógica Borrosa
Realización Hardware
n Según el tiempo se respuestan Implementación en mircoprocesadores
• Programado en C o en ensamblador• Dedicación completa o compartida• Conexión con entornos de desarrollo• 68HC11, 68HC16, 80C51, TMS300
n Tarjetas aceleradorasn Coprocesadores especificos
36
Introducción a la Lógica Borrosa
Codificación en C
n Elementos a definir• Estructura de las funciones de inclusión• Cálculo de la veracidad de la regla• Cálculo del valor final de la salida
Introducción a la Lógica Borrosa
funciones de inclusión
n Estructura en Ctypedef struct {
char szName[20];
NUMERO x1,x2,x3,x4;
} adjetivo;
n Representación
adjetivo of vinculo <> {x1, x2,x3,x4}
0
0.5
1
X1 X2 X3 X4
37
Introducción a la Lógica Borrosa
Entorno IDEA
Introducción a la Lógica Borrosa
Modelo MVC
ControlLayer
(Notifier)
ViewLayer
(IdeaView)
ApplicationLayer
(model)
Notifier
View Message
Model Access andUpdate MessageMessages
Protocols
38
Introducción a la Lógica Borrosa
Codificación en C++
n Clases del modelo ARSVObject
ÄAdjetivoÄANSú ÄANNú ÄCompú ú ÄARSú ÄFENú ÄWorldÄVContainerú ÄVObjArrayú ú ÄArrayú ú ÄCircuitoú ú ÄTrainingSetú ú ÄVinculo
Introducción a la Lógica Borrosa
Ejemplo fuente EDA
n Diagrama de bloques/* Externs Vinculos */float Dist45Righ ={0,255};float DisCentre ={0,255};float Dist45Left ={0,255};float AngInt1 ={0,255};...float Inc6 ={0,255};/* Decision */fen Decision (Dist45Righ, DisCentre, Dist45Left >>Speed, Direction){/* Definition of adjetivos */Little of Dist45Righ < {10,50};Medium of Dist45Righ <> {10,50,50,100};Large of Dist45Righ > {50,255};..../* Definition of rules */ if (Dist45Righ = Little and DisCentre = Little and Dist45Left = Little) then { Speed =Negative; Direction =Righ; }; ...};/* world */world Control (Ang1, ... Ang6, Inc1, ... Inc6 >> Dir1, Dir2, Dir3, AngInt1, ...AngInt6, IncInt1, ... IncInt6){};/* Robot */ars Robot (Dist45Righ, DisCentre, Dist45Left, AngInt1, ... AngInt6, IncInt1,... IncInt6 >> Ang1, ... Ang6, Inc1, ... Inc6) {/* Interns Vinculos */float Speed ={-1,1};float Direction ={-1,1};/* Connections of ANS */Decision(Dist45Righ, DisCentre, Dist45Left >> Speed, Direction);Coordination(AngInt1, ... AngInt6, IncInt1, ... IncInt6 >> Ang1, ... Ang6,Inc1, ... Inc6);};
Control
Ang[1:6]
Inc[1:6]
AngInt[1:6]
IncInt[1:6]
Dist1
Dist3
Dist2
P5 P3 P1
P6 P4 P2
comp Coordinationfen Decision
Direction
Speed
Dist45Righ
DistCentre
Dist45lLeft
AngInt[1:6]
IncInt[1:6]
ars Robot
39
Introducción a la Lógica Borrosa
Calculo de veracidad de la regla
for (nRul=0;nRul<pAnsFu->nNumRul;nRul++) {
pAnsFu->fVerac[nRul]=1;
for (nImp=0;nImp<pAnsFu->nNumImp;nImp++) {
if (pAnsFu->bPremis[nRul][nImp]>=0) {
pAnsFu->fVerac[nRul]=
min(pAnsFu->fVerac[nRul],
is(pAnsFu->pVincImp[nImp].Val,
&pAnsFu->pAdjImp[pAnsFu->bPremis[nRul][nImp]]));
};
};
Introducción a la Lógica Borrosa
Calculo de la salida• Numerador
for (nOut=0;nOut<pAnsFu->nNumOut;nOut++)
if (pAnsFu->bConsec[nRul][nOut]>=0)
{
/* Acumulo la veracidad de cada regla para cada salida */
ffVeracTotal[nOut]+=pAnsFu->fVerac[nRul];
pAnsFu->pVincOut[nOut].Val+=
(pAnsFu->fVerac[nRul]) *
(pAnsFu->pAdjOut[(pAnsFu->bConsec[nRul][nOut])].x2);
};
• Denominadorfor (nOut=0;nOut<pAnsFu->nNumOut;nOut++)
if (ffVeracTotal[nOut]!=0)
{
pAnsFu->pVincOut[nOut].Val/=ffVeracTotal[nOut];
}
}
40
Introducción a la Lógica Borrosa
Aceleradores de procesamiento
n Tarjetas aceleradoras• DASH!860 de Myrian Solutions• LFZY1, MFZY1, para PC y Multivus II (T/FC150)
n Microprocesadores especificos• NLX230 de Neuralogix• SAE 81C99 de Siemens• MSM91U112 de OKI• T/FC150 de Tohsiba• FC110 de Togai
Introducción a la Lógica Borrosa
DASH!860 de Myrian Solutions
n Hardware• Basado en el el i860 CPU 64bits RISC a 40Mhz• 4KB cache de codigo 8KB de datos• 40MIPS 80MFLOP• Conexión a bus AT
n Software• Soporta C, C++, Fortan y Pascal
41
Introducción a la Lógica Borrosa
SAE 81C99 de Siemens
n Características• 78µs con 8 inp, 1 out, 256 reglas• 7.9MLIPS• Conexión a microprocesador• 64 bases de reglas de 256 reglas• Reglas con 256 entradas y 64 salidas• Funciones de inclusión arbitrarias• desborrosificación con CM• 8 bits resolución
Introducción a la Lógica Borrosa
SAE 81C99 de Siemens
n EsquemaControl
Desborrosificador
Inferencia
Unidad de operaciones borrosa de 60 Bits Interface con microprocesador
Generador de reloj
Borrosificador
Base de conociminetos
42
Introducción a la Lógica Borrosa
NLX230 de NeuraLogix
n Características• 30MLIPS• Conexión a microprocesador• Reglas con 16 entradas y 1 salida• 16 entradas y 8 salidas• Funciones de inclusión arbitrarias
Introducción a la Lógica Borrosa
NLX230 de NeuraLogix
n Esquema
INPUTx8
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
FuzzifierFuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
Fuzzifier
OUPUTx8
Rule Memory
Interfacing
Timing
43
Introducción a la Lógica Borrosa
T/FC150 de Toshiba
n Características• 4.4MFLIPS• Conexión a microprocesador• 8 entradas y 1 salida• 14 tipos de funciones de inclusión• Calculo con Min-Max• Desborrosificación CM• 8 bits resolución en funciones de inclusión• 10 bits resolución en entradas y salidas
Introducción a la Lógica Borrosa
FC110 de Togai
n Características• 0.2MLIPS• Conexión a microprocesador• Instrucciones propias• 128Kbytes de base de reglas• 800 reglas con 256 argumentos• Reglas con número de entradas y salidas
arbitrarias• Funciones de inclusión arbitrarias• 8 bits resolución en entradas y salidas
44
Introducción a la Lógica Borrosa
Otros métodos
n ASIC digitales• bajo precio y altas prestaciones
n Circuitos digitales basados en FPGA• adecuados para prototipos
n ASIC analógicos• Máxima velocidad de proceso• Area y coste reducido
n Circuitos analógicos discretos• veloces para aplicaciones simples
Introducción a la Lógica Borrosa
Técnicas utilizadas
n Modulación de anchura de pulson Diseños basados en modo corriente
• Espejos de corriente para el borrosificador• Multiplicación analógica con CMOS
n Uso de tecnología bipolar• Amplificadores complementarios saturados
45
Introducción a la Lógica Borrosa
Bibliografía
n Industrial Applications of fuzzy control• M.Sugeno. Edit:Nort-Holland
n Fuzzy models for pattern recognition• J.C. Bezdek & S.K. Pal. Edit:IEEE PRESS
n Computational inteligence imitating life• J. M. Zurada, R.J. Marks II, C.J. Robinson. Edit:IEEE PRESS
n Using Fuzzy Logic• Jun Yan, Michael Ryan, James Power. Edit:PRENTICE HALL
n Adaptative Fuzzy Systems and Control• Li-Xin Wang.Edit: PRENTICE HALL