Está en la página 1de 12

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERIAS FSICAS Y FORMALES



PROGRAMA PROFESIONAL DE INGENIERIA ELECTRNICA



CURSO: INTELIGENCIA ARTIFICIAL I

PRACTICA 10

Profesor: Ing. JUAN CARLOS COPA PINEDA


Autor: J ONATHAN ALLASI GONZALES



Junio, 2013

- AREQUIPA -



PRACTICA 10
LOGICA DIFUSA RAZONAMIENTOS
INTRODUCCION:
La importancia de la lgica difusa es aplicable en lo que es inteligencia artificial,
sistemas neuronales, es por ello que deberemos entender en principio la importancia y
su principal funcionamiento, es por ello que se desarrollara la base en la funciones en
que se realiza la lgica difusa, se ver las funciones triangulares, trapezoidales,
gausianas y de campana, para cada funcin tiene sus funciones especificas, que se
desarrollara mediante un programa para la visualizacin de las funciones.
MARCO TEORICO:
En la Inteligencia Artificial, la lgica difusa es utilizada para la resolucin de problemas,
ms que todo los que se relacionan con el control de procesos industriales complejos y
sistemas de decisin en general. Estn mayormente extendidos en la tecnologa
cotidiana, como lo sn: Cmaras digitales, sistemas de aire acondicionado, lavarropas,
etc.
Estos sistemas imitan la forma en que un humano toma decisiones, solo que con una
mayor rapidez. En la lgica difusa, se usan modelos matemticos para representa
nociones subjetivas, como caliente/ tibio/ frio. Tambin tiene un especial la " variable
del tiempo", ya que los sistemas de control pueden necesitar retroalimentarse en un
espacio concreto de tiempo.
La lgica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede
comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es
muy alto", "el ritmo del corazn est un poco acelerado", etc.
La clave de esta adaptacin al lenguaje, se basa en comprender los cuantificadores de
nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco").
En la teora de conjuntos difusos se definen tambin las operaciones de unin,
interseccin, diferencia, negacin o complemento, y otras operaciones sobre
conjuntos, en los que se basa esta lgica.
Para cada conjunto difuso, existe asociada una funcin de pertenencia para sus
elementos, que indican en qu medida el elemento forma parte de ese conjunto
difuso. Las formas de las funciones de pertenencia ms tpicas son trapezoidales,
lineales y curvas.
Se basa en reglas heursticas de la forma SI (antecedente) ENTONCES (consecuente),
donde el antecedente y el consecuente son tambin conjuntos difusos, ya sea puros o
resultado de operar con ellos. Sirvan como ejemplos de regla heurstica para esta
lgica (ntese la importancia de las palabras "muchsimo", "drsticamente", "un poco"
y "levemente" para la lgica difusa):
SI hace muchsimo fro ENTONCES aumento drsticamente la temperatura.
SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad.
Los mtodos de inferencia para esta base de reglas deben ser simples, veloces y
eficaces. Los resultados de dichos mtodos son un rea final, fruto de un conjunto de
reas solapadas entre s (cada rea es resultado de una regla de inferencia). Para
escoger una salida concreta a partir de tanta premisa difusa, el mtodo ms usado es
el del centroide, en el que la salida final ser el centro de gravedad del rea total
resultante.
Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser
formuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en
este caso de redes neuronales para fortalecer las futuras tomas de decisiones.
Los datos de entrada suelen ser recogidos por sensores, que miden las variables de
entrada de un sistema. El motor de inferencias se basa en chips difusos, que estn
aumentando exponencialmente su capacidad de procesamiento de reglas ao a ao.
Un esquema de funcionamiento tpico para un sistema difuso podra ser de la siguiente
manera:


Funcionamiento de un sistema de control difuso.
En la figura, el sistema de control hace los clculos con base en sus reglas heursticas,
comentadas anteriormente. La salida final actuara sobre el entorno fsico, y los valores
sobre el entorno fsico de las nuevas entradas (modificado por la salida del sistema de
control) seran tomados por sensores del sistema.
Por ejemplo, imaginando que nuestro sistema difuso fuese el climatizador de un coche
que se autorregula segn las necesidades: Los chips difusos del climatizador recogen
los datos de entrada, que en este caso bien podran ser la temperatura y humedad
simplemente. Estos datos se someten a las reglas del motor de inferencia (como se ha
comentado antes, de la forma SI... ENTONCES... ), resultando un rea de resultados. De
esa rea se escoger el centro de gravedad, proporcionndola como salida.
Dependiendo del resultado, el climatizador podra aumentar la temperatura o
disminuirla dependiendo del grado de la salida.
DESARROLLO:
1. EXPLICAR Y DESARROLLAR LOS PASOS DEL EJEMPLO DEL TEMA 1:
Problema de un paciente con fiebre.
Para ello se desarrolla una funcin que a partir de 37 grados comience a mostrar un
ascenso y cuando llega la temperatura a 38 grados se activa la funcin, por lo que
desarrollamos la siguiente programacin:
PROGRAMA:
function temp(x,a,b)
k=length(x);
y=zeros(1,k);
for j=1:k
if (x(j)<=a)
y(j)=0;
else if (x(j)>=a && x(j)<=b)
y(j)=(x(j)-a)/(b-a);
else if (b<=x(j))
y(j)=1
end
end
end
end

i=x(1):x(k);
plot(i,y)
axis([0 50 0 1.5])

MATLAB:
>> x=0:50;
>> temp(x,37,38)






RESULTADO:

2. GRAFICAR LA FUNCIN TRIANGULO:
F. M. TRIANGULAR:

PROGRAMA:
function triangulo(x,a,b,c)
k=length(x);
y=zeros(1,k);
for j=1:k
if (x(j)<=a)
y(j)=0;
else if (x(j)>=a && x(j)<=b)
y(j)=(x(j)-a)/(b-a);
else if (x(j)>=b && x(j)<=c)
y(j)=(c-x(j))/(c-b);
else if (x(j)>=c)
y(j)=0;
end
end
end
end
end
0 5 10 15 20 25 30 35 40 45 50
0
0.5
1
1.5
i=x(1):x(k);
plot(i,y)

MATLAB:

>> x=20:50;
>> triangulo(x,25,35,45)

RESULTADO:

EXPLICACION:
Teniendo especificadas las funciones tericamente se procede a realizar la
operacin en programa por lo que realizamos mediante un for y mediante las
condiciones de preguntas de if y else realizamos las sentencias de cada funcin
donde se almacenaran en la variable j que luego, para mostrar el resultado lo
mostramos por un plot, y como se puede observar que dependiendo de
nuestro rango de x y de los puntos de donde se desarrollara el triangulo que se
ingresan, se observa el triangulo perfectamente.



20 25 30 35 40 45 50
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
3. GRAFICAR LA FUNCIN TRAPEZOIDAL:
F. M. TRAPEZOIDAL:

PROGRAMA:
function trapecio(x,a,b,c,d)
k=length(x);
y=zeros(1,k);
for j=1:k
if (x(j)<=a)
y(j)=0;
else if (x(j)>=a && x(j)<=b)
y(j)=(x(j)-a)/(b-a);
else if (b<=x(j) && x(j)<=c)
y(j)=1
else if (x(j)>=c && x(j)<=d)
y(j)=(d-x(j))/(d-c);
else (x(j)>=d)
y(j)=0;
end
end
end
end
end

i=x(1):x(k);
plot(i,y)
axis([0 60 -1 1.5])

MATLAB:

>> x=0:60;
>> trapecio(x,15,30,40,55)









RESULTADO:


EXPLICACION
Para este caso ahora observa que se tiene que agregar una funcin mas donde
en un determinado rango la funcin tomara el valor de 1, cumple los mismos
principios de la funcin del F. M. triangular, para lo que en la funcin cuando es
ascendente y descendente. De igual manera para esta funcin se ingresa los
valores donde sern los puntos de comienzo del cambio de estado.
4. GRAFICAR LA FUNCIN GAUSIANA:
F. M. GAUSIANA:


PROGRAMA:
function gauss(x,c,o)
k=length(x);
y=zeros(1,k);
for j=1:k
y(j)=exp((-1/2)*(((x(j)-c)/o)^2))
end
i=x(1):x(k);
plot(i,y)
0 10 20 30 40 50 60
-1
-0.5
0
0.5
1
1.5
axis([10 80 0 1.5])

MATLAB:
>> x=0:80;
>> gauss(x,40,8)
RESULTADO:

EXPLICACION:
Para el desarrollo de la funcin gausiana se observa que cumple solo con una
funcin por lo que solo en el programa se declara la funcin, cuando
compilamos el programa definimos nuestra x y luego llamamos la funcin de
gauss y en esta parte ahora se define el centro de la funcin que para el
programa es la variable c y la otra variable me indica el ancho que va a tener la
funcin que para el programa es o, es as que se observa claramente la
funcin gaussiana respetando con la funcin asignada.





10 20 30 40 50 60 70 80
0
0.5
1
1.5
5. GRAFICAR LA FUNCIN TIPO CAMPANA:
F. M. CAMPANA:

PROGRAMA:
function campana(x,a,b,c)
k=length(x);
y=zeros(1,k);
for j=1:k
y(j)=1/(1+ abs((x(j)-c)/a)^(2*b))
end
i=x(1):x(k);
plot(i,y)
axis([0 80 0 1.5])

MATLAB:
>> x=0:80;
>> campana(x,12,6,40)
RESULTADO:

0 10 20 30 40 50 60 70 80
0
0.5
1
1.5
EXPLICACION:
Para esta funcin es parecida a la anterior funcin desarrollada, lo que ahora es
que es una funcin campana, donde la funcin requiere ms variables donde
para el programa la variable a es la que me indica el ancho de la campana, la
variable b me indica el valor de la pendiente respecto a los puntos de
interseccin que se obtiene con el ancho de la campana y por ltimo la variable
c me indica el centro de la campana.

6. GRAFICAR LAS SIGUIENTES FORMAS DE ONDA
Lo que realizamos para realizar esta parte de la prctica es llamar a cada una de las
funciones ya definidas anteriormente y en el momento del ploteo solo agregamos el
hold on, para as las graficas queden impresas en la grafica.
>> x=0:10;
>> trapecio(x,5,6,8,10)----- verde
>> triangulo(x,6,7,9)--------azul
>> gauss(x,3,0.78)-----------negro
>> campana(x,1.5,5,3)------rojo

RESULTADO:

0 1 2 3 4 5 6 7 8 9 10
0
0.5
1
1.5
CONCLUSIONES:
Se puede decir que la esencia de la representacin de la informacin en
sistemas difusos imita el mecanismo de Razonamiento Aproximado que realiza
la mente humana y es lo que debemos tener en claro para poder realizar la
practica.

La idea clsica de funcin caracterstica se suele asociar cada conjunto difuso A
con una funcin de pertenencia que enlaza o empareja los elementos de X con
elementos del intervalo [0,1].

Se observo en la prctica que se ha realizado los conceptos de la lgica difusa al
realizar los F. M. triangular, trapezoide, gauss y campana.

Todo esto se realiza con funciones ya definidas, lo que solo hay que realizar es
ingresar los valores de las variables que uno desea ver en el resultado de la
funcin establecida.

La lgica difusa es una metodologa que proporciona una manera simple y
elegante de obtener una conclusin a partir de informacin de entrada vaga,
ambigua, imprecisa, con ruido o incompleta, en general la lgica difusa imita
como una persona toma decisiones basada en informacin con las
caractersticas mencionadas.

Una de las ventajas de la lgica difusa es la posibilidad de implementar
sistemas basados en ella tanto en hardware como en software o en
combinacin de ambos.

También podría gustarte