Академический Документы
Профессиональный Документы
Культура Документы
14.02.07
17:23
Page V
Sumrio
Int_00
14.02.07
VI
17:23
Page VI
Inteligncia Computacional
Int_00
14.02.07
17:23
Page VII
Sumrio
VII
Int_00
14.02.07
17:23
Page XI
Prefcio
Este livro tem por objetivo apresentar alguns aspectos fundamentais e aplicaes da Inteligncia Computacional, que compreende diversas reas do
conhecimento, em particular Lgica Fuzzy, Redes Neurais Artificiais e diversos sistemas hbridos.
Como quase toda concepo revolucionria, a Inteligncia Computacional
(em particular, a Lgica Fuzzy) enfrentou resistncias das mais variadas, principalmente das correntes mais conservadoras. Mas, apesar dessa cristalizao,
os nmeros da indstria mundial comprovam a eficcia e eficincia dos produtos inteligentes. As aplicaes so cada vez mais numerosas e incluem
sistemas de todos os portes. Sendo assim, importante publicar material
didtico que exponha com clareza e conciso o assunto, exemplificando de
modo simples e objetivo as tcnicas mais usadas. Com a finalidade de contribuir para a divulgao da Inteligncia Computacional entre os leitores de lngua portuguesa, surgiu a idia de construir um livro de carter predominantemente prtico, que expusesse tanto aspectos tericos essenciais como material indutor da experimentao individual, sugerindo ao leitor algumas idias
para reflexo.
Outra meta ilustrar o fato de que o uso da Inteligncia Computacional
no se restringe s chamadas Cincias Exatas. Seu alcance ultrapassa fronteiras e pode auxiliar na modelagem de questes encontradas nas mais
variadas reas do conhecimento. Para manter o texto acessvel a um nmero
maior de pessoas, os pr-requisitos para leitura desta obra so mnimos.
importante ressaltar o seguinte: o conjunto de tcnicas e modelos conhecido como Inteligncia Computacional no a soluo para todos os problemas, e no invalida nem antagoniza quaisquer reas consideradas j sedimentadas. Trata-se simplesmente de poderosa ferramenta que, aliada a resultados
de outras reas (como Pesquisa Operacional, por exemplo), obtm solues
viveis para problemas de difcil tratamento por tcnicas convencionais.
O livro expe conceitos de Lgica Fuzzy, Redes Neurais Artificiais,
Sistemas Neurofuzzy e Fuzzy Clustering, acompanhados de exposies mais
detalhadas de tpicos especficos. O material sempre orientado no sentido
Int_00
14.02.07
XII
17:23
Page XII
Inteligncia Computacional
de oferecer alguma utilidade ao leitor, para que este possa aplic-lo em problemas reais, obtendo resultados em prazos considerados satisfatrios.
Entre muitos outros tpicos, tratamos do problema de identificao sistemtica de modelos fuzzy, tendo em vista que, embora a abordagem fuzzy
seja extremamente simples e de fcil aplicao, em sistemas multivariveis
com alto grau de acoplamento torna-se invivel a obteno heurstica de
modelos eficazes. Sendo assim, necessrio que disponhamos de tcnicas
efetivas para gerao de parmetros com base em dados experimentais.
A principal motivao para o projeto heurstico decorre do fato de que
muitos processos industriais e organizacionais ainda so controlados de
modo manual ou semimanual (em que o ajuste de certos parmetros de controle feito manualmente, durante a operao da planta). Em ambos os
casos, basta traduzir as estratgias do operador e gerar bases de regras
semanticamente equivalentes para se obter sistemas de controle satisfatrios
e com a vantagem de apresentarem alto grau de automao.
O problema que essa abordagem pressupe a existncia de estratgias
bem-sucedidas no que tange ao desempenho final do sistema estudado.
Infelizmente, muitas vezes no temos qualquer nvel de informao a respeito de dada planta, a no ser dados numricos correspondentes a pares
(entrada, sada), obtidos pelos ensaios com a caixa preta. Alm disso, a anlise de vrias caractersticas vitais como estabilidade e desempenho se mostram extremamente difceis, exigindo exaustivas simulaes.
Para tais situaes, nada mais natural que a aplicao de mtodos que permitam (mediante a apresentao de pares <entrada, sada>) a obteno de
parmetros que definam o sistema correspondente caixa preta em estudo.
Existem atualmente vrios mtodos efetivos para atingir esse objetivo,
destacando-se aqueles que utilizam abordagens neurais, genticas, de
regresso no-linear e Simulated Annealing. Nosso objetivo expor de modo
inteligvel e pragmtico alguns algoritmos que materializam sua implementao. Outro ponto importante a construo de sistemas fuzzy adaptativos,
pois uma significativa parcela dos problemas prticos apresenta plantas com
parmetros e/ou estrutura variveis, o que demanda elevado grau de flexibilidade de controladores que se proponham a atingir alto nvel de automao.
Assim, no basta somente identificar um sistema de controle inicial,
sendo necessria sua adaptao dinmica s alteraes nos parmetros e/ou
estrutura da planta. Outro caso bastante comum envolve a ocorrncia de
perturbaes que, sendo tipicamente imprevisveis, podem exigir algum
Int_00
14.02.07
17:23
Page XIII
Lgica Fuzzy
XIII
nvel de intelignciado controlador para realizar contramedidas automticas a fim de neutralizar eventuais efeitos adversos.
Enfim, esperamos que o texto seja til e sirva como motivao para estudos mais detalhados do tema.
Vale lembrar o seguinte:
Sistemas no-lineares so, tipicamente, atpicos.
Lester Ingber
Quando a complexidade aumenta, as afirmaes precisas
perdem significado e as significativas perdem preciso.
Lotfi Zadeh
Fuzzy engineering is fuzzy function approximation.
Bart Kosko
Int_01
14.02.07
16:41
Page 1
1
Lgica Fuzzy
1.1 Introduo
Lgica a cincia que tem por objetivo o estudo das leis do raciocnio. A lgica fuzzy tem por finalidade o estudo dos princpios formais do raciocnio
aproximado. Este captulo introduz conceitos e propriedades de conjuntos
fuzzy e da lgica fuzzy.
Int_01
14.02.07
16:41
Page 2
Inteligncia Computacional
0 para x < 0
(x)
=
x/a para 0 x < a
A
1 para x a
No caso de o conjunto fuzzy A ser discreto, uma representao consiste na
unio (representada por +) de todos os elementos (discretos) do universo,
associados aos seus graus de pertinncia no conjunto:
A = {1/0 . 3 + 2/0 . 6 + 3/0 . 7 + 4/0 . 8 + 5/0};
Outros tipos de representao so:
A = {1/0 . 3, 2/0 . 6, 3/0 . 7, 4/0 . 8, 5/0} = {(1, 0.3), (2, 0.6), (3, 0.7), (4, 0.8), (5, 0)}
Exerccio 1
Seja o conjunto fuzzy discreto A = {(1, 0.3), (2, 0.4), (3, 0.7), (4, 0.8)}
Faa o grfico desse conjunto no ambiente Matlab, escrevendo um ttulo e o nome dos eixos.
Soluo:
% Seja o conjunto fuzzy discreto A = {(1,0.3),(2,0.4),(3,0.7),(4,0.8)}
% fazer o grfico de A escrevendo um ttulo e o nome dos eixos e denominar figura1
x=[1 2 3 4 ];
mi=[0.3 0.4 0.7 0.8];
figure(1)
plot(x,mi, 'b*')
14.02.07
16:41
Page 3
Lgica Fuzzy
Sada do programa:
Conjunto fuzzy discreto
0.8
0.75
0.7
0.65
0.6
Pertinncia
Int_01
0.55
0.5
0.45
0.4
0.35
0.3
1
1.5
2.5
Universo
3.5
Exerccio 2
Sejam os conjuntos fuzzy discretos
A = {(1, 0.3), (2, 0.4), (3, 0.7), (4, 0.8)}
B = {(1, 0.9), (2, 0.5), (3, 0.7), (4, 0.2)}
Faa o grfico de A e B no mesmo sistema de eixos, usando uma cor para
cada conjunto, escrevendo um ttulo e o nome dos eixos.
Soluo:
% Sejam os conjuntos fuzzy discretos A(x)={(1,0.3),(2,0.4),(3,0.7),(4,0.8)}
% e B={(1,0.9),(2,0.5),(3,0.7),(4,0.2)}
% fazer o grfico de A(x) e B(x) no mesmo sistema de eixos usando uma cor para cada conjunto
% fuzzy escrevendo um ttulo e o nome dos eixos e denominar figura 2
14.02.07
16:41
Page 4
Inteligncia Computacional
x=[1 2 3 4 ];
mi1=[0.3 0.4 0.7 0.8];
mi2=[0.9 0.5 0.7 0.2];
figure(2)
plot(x,mi1,'g*')
hold on
plot(x,mi2,'r*')
title('conjuntos fuzzy discretos')
xlabel('universo')
ylabel('pertinncia')
hold off
Sada do programa:
Conjuntos fuzzy discretos
1
0.9
0.8
0.7
Pertinncia
Int_01
0.6
0.5
0.4
0.3
0.2
1
1.5
2.5
Universo
3.5
Exerccio 3
Seja o conjunto fuzzy contnuo A = {0 < x <2; (x) = 1/(x +9)}.
Faa o grfico de A escrevendo um ttulo e o nome dos eixos.
14.02.07
16:41
Page 5
Lgica Fuzzy
Soluo:
% Seja o conjunto fuzzy contnuo A(x)={ 0<x<2 mi = 1/(x+9)}
% fazer o grfico de A(x) escrevendo um ttulo e o nome dos eixos e denominar figura 3
x = [0:0.1:2];
% size(x) (1 X 21)
% mi= zeros (1,21)
mi3=1./(x+9);
figure(3)
plot(x,mi3,'b')
title('conjunto fuzzy contnuo')
xlabel('universo')
ylabel('pertinncia')
Sada do programa:
Conjunto fuzzy contnuo
0.115
0.11
0.105
Pertinncia
Int_01
0.1
0.095
0.09
0
0.2
0.4
0.6
0.8
1.2
1.4
1.6
Universo
Exerccio 4
Sejam os conjuntos fuzzy contnuos
A = {0 < x < 3; (x) = 1/(x +9)}
B = {0 < x < 3; (x) = 1/(x -5)}
1.8
14.02.07
16:41
Page 6
Inteligncia Computacional
Sada do programa:
Conjuntos fuzzy contnuos
0.2
0.1
Pertinncia
Int_01
0.1
0.2
0.3
0.4
0.5
0.5
1.5
Universo
2.5
Int_01
14.02.07
16:41
Page 7
Lgica Fuzzy
Norma-T (T-norm)
Mnimo
Tmin (A, B) = min (A, B); ou seja, para cada elemento x do par ordenado,
o valor de ser a menor pertinncia entre A e B. Veja o exemplo:
Conjuntos discretos
A(X) = {(0, 0), (1, 0.5), (2, 0.3), (3, 0.5), (4, 0.8), (5, 0.6)}
B(X) = {(0, 0.5), (1, 0.3), (2, 0.3); (3, 0.2), (4, 0.7),(5, 0.3)}
Tmin (A,B) = {(0, 0), (1, 0.3), (2, 0.3), (3, 0.2), (4, 0.7), (5, 0.3)}
Conjuntos contnuos
A(x) = {= 0 se x 0; = 0.2 se 0 < x < 2; = 1 se x 2}
B(x) = {= 0 se x 0; = 0.6 se 0 < x < 6; = 1 se x 6}
Tmin (A,B) = {= 0 se x 0; = 0.2 se 0 < x < 2; = 0.6 se 2 x < 6
e = 1 se x 6}.
Produto algbrico
Tpa (A, B) = A B; ou seja, para cada elemento x do par ordenado, o valor
de ser a multiplicao entre as pertinncias de A e B.Veja o exemplo:
Conjuntos discretos
A(X) = {(0, 0), (1, 0.5), (2, 0.3), (3, 0.5), (4, 0.8), (5, 0.6)}
B(X) = {(0, 0.5), (1, 0.3), (2, 0.3), (3, 0.2), (4, 0.7), (5, 0.3)}
Tpa (A,B) = {(0, 0), (1, 0.15), (2, 0.09), (3, 0.1), (4, 0.56), (5, 0.18)}
Conjuntos contnuos
A(x) = {x/ A = 0 se x 0; A = 0.2 se 0 < x < 2; A = 1 se x 2}
B(x) = {x/ B = 0 se x 0; B = 0.6 se 0 < x < 6; B = 1 se x 6}
Tpa (A,B) = {= 0 se x 0; = 0.12 se 0 < x < 2; = 0.6 se 2 x < 6
e = 1 se x 6}.
Int_01
14.02.07
16:41
Page 8
Inteligncia Computacional
Produto limitado
a) Tpl (A,B) = 1 se A + B > 1
b) Tpl (A,B) = A + B; ou seja, para cada elemento x do par ordenado, o
valor de ser a soma entre as pertinncias de A e B. Veja o exemplo:
Conjuntos discretos
A(X) = {(0, 0), (1, 0.5), (2, 0.3), (3, 0.5), (4, 0.8), (5, 0.6)}
B(X) = {(0, 0.5), (1, 0.3), (2, 0.3), (3, 0.2), (4, 0.7), (5, 0.3)}
Tpl (A,B) = {(0, 0.5), (1, 0.8), (2, 0.6), (3, 0.7), (4, 1), (5, 0.9)}
Exerccio 5
Sejam os conjuntos fuzzy
A(X) = {(0, 0.2), (1, 0.5), (2, 0.7), (3, 0.3), (4, 0.9), (5, 0.8)
B(x) = {(0, 0.6), (1, 0.7), (2, 0.9), (3, 0.5), (4, 0.2), (5, 0.1)}.
Calcule a norma-t usando o mnimo, faa o grfico dos conjuntos A(x),
B(x) e do conjunto fuzzy resultante da norma-t no mesmo sistema de eixos
e denomine Figura 5; coloque ttulo e nome nos eixos em Matlab.
Soluo:
% sejam os conjuntos fuzzy A(X) = {(0,0.2);(1,0.5);(2,0.7);(3,0.3);(4,0.9);(5,0.8)
% B(x) = {(0,0.6);(1,0.7);(2,0.9);(3,0.5);(4,0.2);(5,0.1)}
% calcular a norma-t usando o mnimo, fazer o grfico dos conjuntos
A(x),B(x) e do conjunto fuzzy
resultante da norma-t no mesmo sistema de eixos e denominar figura 5
% colocar ttulo e nome nos eixos
x=[0:1:5];
mi1=[0.2 0.5 0.7 0.3 0.9 0.8];
mi2=[0.6 0.7 0.9 0.5 0.2 0.1];
mi3=min(mi1,mi2);
figure(5)
plot(x,mi1,'*b',x,mi2,'ob',x,mi3,'x')
axis([2 6 1 1])
title('norma-t usando min para conjuntos fuzzy discretos')
xlabel('universo')
ylabel('pertinncia')
14.02.07
16:41
Page 9
Lgica Fuzzy
Sada do programa:
Norma-t usando mnimo para conjuntos fuzzy contnuos
1
0.8
0.6
0.4
0.2
Pertinncia
Int_01
0
0.2
0.4
0.6
0.8
1
2
Universo
Exerccio 6
Sejam os conjuntos fuzzy
A = {(0, 0.2), (1, 0.5), (2, 0.7), (3, 0.3), (4, 0.9), (5, 0.8)
B = {(0, 0.6), (1, 0.7), (2, 0.9), (3, 0.5), (4, 0.2), (5, 0.1)}.
Calcule a norma-t usando o produto, faa o grfico dos conjuntos A, B e do
conjunto fuzzy resultante da norma-t no mesmo sistema de eixos e denomine Figura 6; coloque ttulo e nome nos eixos em Matlab.
Soluo:
% sejam os conjuntos fuzzy A = {(0,0.2),(1,0.5,(2,0.7),(3,0.3),(4,0.9),(5,0.8)
B = {(0,0.6),(1,0.7),(2,0.9),(3,0.5),(4,0.2),(5,0.1)}
% calcular a norma-t usando o produto, fazer o grfico dos conjuntos
% A, B e do conjunto fuzzy
% resultante da norma-t no mesmo sistema de eixos e chamar figura 6
% colocar ttulo e nome nos eixos
x=[0:1:5];
14.02.07
10
16:41
Page 10
Inteligncia Computacional
Sada do programa:
1
0.8
0.6
0.4
0.2
Pertinncia
Int_01
0
0.2
0.4
0.6
0.8
1
2
Universo
Conjuntos contnuos
A(x) = {= 0 se x 0; = 0.2 se 0 < x < 2; = 1 se x 2}
B(x) = {= 0 se x 0; = 0.6 se 0 < x < 6; = 1 se x 6}
Tpe (A,B) = {A,B = 0 se x 0 ; A,B = 0.8 se 0 < x < 2; A,B = 1.0
se 2 x < 6 e A,B = 1,0 se x 6}.