departamento de engenharia elétrica, pontifícia...
TRANSCRIPT
UM CONTROLADOR FUZZY-GENÉTICO BASEADO EM PROGRAMAÇÃO GENÉTICA
ADRIANO S. KOSHIYAMA, MARLEY M.B.R. VELLASCO, RICARDO TANSCHEIT
Departamento de Engenharia Elétrica, Pontifícia Universidade Católica do Rio de Janeiro
Rua Marquês de São Vicente, 225-Gávea, Rio de Janeiro, RJ - Cx. Postal: 38097
E-mails: [adriano,marley,ricardo]@ele.puc-rio.br
Abstract This work presents a Genetic Fuzzy Controller (GFC), called Genetic Programming Fuzzy Inference System for
Control tasks (GPFIS-Control). It is based on Multi-Gene Genetic Programming, a variant of canonical Genetic Programming. The main characteristics and concepts of this approach are described, as well as its distinctions from other GFCs. Two bench-
marks application of GPFIS-Control are considered: the Cart-Centering Problem and the Inverted Pendulum. In both cases results
demonstrate the superiority and potentialities of GPFIS-Control in relation to other GFCs found in the literature.
Keywords Fuzzy Logic Control, Genetic Fuzzy Controller, Multi-Gene Genetic Programming, Cart-Centering, Inverted Pen-
dulum.
Resumo Este trabalho apresenta um Controlador Fuzzy-Genético (CFG), denominado de Genetic Programming Fuzzy Infe-rence System (GPFIS-Control). Ele é baseado em Programação Genética Multigênica, uma variante da Programação Genética
canônica. São descritas as principais características e conceitos desta abordagem , assim como suas principais distinções de ou-
tros CFGs. São exploradas duas aplicações benchmark no âmbito do GPFIS-Control: o problema do Cart-Centering (problema da parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos os resultados demonstram a superioridade e
potencialidades do GPFIS-Control em relação a outros CFGs presentes na literatura.
Palavras-chave Controlador Fuzzy, Controlador Fuzzy-Genético, Programação Genética Multigênica, Cart-Centering, Pên-dulo Invertido.
1 Introdução
Controladores elaborados por Lógica Fuzzy
(CLFs) (Mendel, 1995) têm sido extensivamente
usados como uma alternativa para manipular e des-
crever sistemas complexos quando métodos tradicio-
nais não possibilitam soluções viáveis. Os CLFs têm
a capacidade de modelar sistemas usando regras
fuzzy do tipo “se-então”, normalmente elicitadas por
um especialista. Abordagens clássicas empregam
tanto Sistemas de Inferência Fuzzy (SIF) do tipo
Mamdani (Elmas et al., 2009; Córdon, 2011) como
do tipo Takagi-Sugeno-Kang (TSK) (Precup e Hel-
lendoorn, 2011). Nos CLFs os parâmetros (base de
regras, funções de pertinência, etc.) podem ser ajus-
tados por um especialista ou via um método de
aprendizado. Neste sentido, este trabalho considera
um Sistema Fuzzy-Genético (Córdon et al., 2004;
Córdon, 2011), ou mais especificamente, Controla-
dores Fuzzy-Genéticos (CFGs).
Em CFGs o aprendizado e ajuste automático dos
parâmetros do controlador são papéis desempenha-
dos pela Meta-Heurística Genética (MHG), isto é, as
meta-heurísticas baseadas nos conceitos de seleção
natural e recombinação genética. A maioria dos tra-
balhos neste sentido considera CLFs concebidos a
partir de Algoritmos Genéticos (AGs), tanto para o
ajuste fino das funções de pertinência (Karr, 1991;
Liu et al., 2001) quanto para buscar uma base de
regras fuzzy concisa (Herrera et al., 1998; Pal e Pal,
2003). Trabalhos mais recentes exploram o uso da
Programação Genética (PG) para exercer tarefas de
busca e otimização no âmbito dos CLFs (Tunstel e
Jamshidi, 1996; Tsakonas, 2013).
Em geral, é vantajoso o emprego da MHG uni-
camente como mecanismo de seleção de parâmetros
do CLF. Nesta perspectiva, a MHG é tida como uma
ferramenta para elaboração do CLF e não como me-
canismo que possa alterar sua estrutura básica ou
modo de inferência. Ainda, é possível que em arqui-
teturas com alto grau de hibridização o controlador
obtido possua melhor desempenho. Exemplos são os
modelos Neuro-Fuzzy (Kasabov e Song, 2002; Con-
treras et al., 2011), onde a Rede Neural possui um
papel relevante na arquitetura híbrida, gerando um
maior acurácia e qualidade de solução.
Este trabalho trata de um CFG denominado Ge-
netic Programming Fuzzy Inference System for Con-
trol tasks (GPFIS-Control), que usa a Programação
Genética Multigênica (Hinchiliffe et al., 1996) como
uma MHG para extração de conhecimento da planta.
A arquitetura resultante desta união tem por objetivo:
(1) ajuste automático dos parâmetros do CLF; (2)
possibilitar a planta atingir a referência o mais rapi-
damente possível; (3) proporcionar compreensão
linguística das atuações do controlador ao operador
da planta e (4) ser facilmente implementável.
Este artigo está organizado assim: a próxima se-
ção descreve alguns trabalhos relacionados na área
de CFGs e aplicações envolvendo PG. A seção 3
descreve os principais fundamentos da Programação
Genética Multigênica e do GPFIS-Control. Estudos
de casos são abordados na seção 4, enquanto que a
seção 5 exibe as considerações finais do trabalho.
2 Trabalhos Relacionados
Uma das primeiras elaborações de um Controla-
dor Fuzzy – tipicamente do tipo Mamdani – a partir
de uma MHG foi a apresentada por Karr (1991), que
utiliza um AG para ajustar funções de pertinência.
Após este passo inicial, diversos outros trabalhos
surgiram, na maioria baseados em AGs, para efetuar
um ajuste fino das funções de pertinência e busca de
uma base de regras fuzzy concisa para compor um
CLF (Herrera, 2008; Fazzolari et al., 2013).
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4218
Vários trabalhos envolvem o uso de CFGs: em
Herrera et al. (1998) é exibida uma seleção de base
de regras, a partir de uma inicialmente fornecida por
um especialista, para um SIF do tipo Mamdani usan-
do um AG. Em Juang et al. (2000) os parâmetros de
um Controlador Fuzzy (funções de pertinência, base
de regras e seleção do tipo de consequente – TSK ou
Mamdani) são sintonizados quase que totalmente por
um AG baseado em Evolução Simbiótica.
Em Liu et al. (2001) selecionam-se aplicações
de modificadores linguísticos, a partir de um AG,
com o intuito de ajustar as funções de pertinência do
controlador. Pal e Pal (2003) propõem um controla-
dor fuzzy hierárquico auto-organizável, elaborado
por um AG, para atingir dois objetivos sequencial-
mente: adquirir controlabilidade e reduzir a base de
regras.
Recentemente, diversos trabalhos que usam AG
para ajustar parâmetros de um Controlador Fuzzy
têm sido direcionados para aplicações reais, aprovei-
tando o conhecimento previamente estabelecido
(Fazzolari et al., 2013; Santis et al., 2013) e para
ajustar Controladores Fuzzy do tipo 2 (Castillo et al.,
2012). Ainda, há trabalhos que evoluem Controlado-
res Fuzzy, mas, ao invés de usarem AG, adotam
Enxame de Partículas (Prado et al., 2010) e outros
algoritmos bio-inspirados (Castillo et al., 2012).
São exíguos os trabalhos que usam PG para
construir Controladores Fuzzy, quando comparado
ao volume dos que usam AG, apesar da sua estrutura
dinâmica que beneficia a codificação de bases de
regras e demais parâmetros de um SIF (Córdon et al.,
2004). Os primeiros trabalhos neste sentido foram de
Alba et al. (1996) e Tunstel e Jamshidi (1996), que
usaram uma PG com gramática tipada para elaborar
uma base de regras para um Controlador Fuzzy. Em
Homaifar et al. (2000) é apresentado um controlador
fuzzy para trajetória de robôs móveis.
Recentemente, Tsakonas (2013) propõe o uso de
PG Memética para criar um controlador do tipo TSK.
Todas as abordagens citadas adaptam a estrutura da
PG para formular um Controlador Fuzzy de forma
similar a um procedimento de um AG. Poucas vanta-
gens são efetivamente exploradas da codificação, tais
como a possibilidade de combinar diferentes t-
normas, usar operadores de agregação, etc. durante o
processo de sintetização do controlador. Além disso,
os CFGs presentes na literatura focam bastante no
aprimoramento da parte “Genética” do CFG em
detrimento a avanços e aprimoramentos na parte
“Fuzzy”. O GPFIS-Control utiliza a parte Genética
(Programação Genética) somente para fornecer as
premissas das regras fuzzy e, a partir disso, utiliza
uma sequência de ferramentas para aprimorar essa
solução. Estas contribuições são apresentadas na
próxima seção e são passíveis de serem estendidas a
outros CFGs da literatura.
3 GPFIS-Control
3.1 Programação Genética Multigênica
Programação Genética (PG) (Koza, 1992;
Langdon e Poli, 2002) é um método pertencente à Computação Evolutiva, que sintetiza programas de computador para desenvolver alguma tarefa. Tipica-mente, a PG usa uma população de indivíduos, cada um deles denotado por uma estrutura em árvores onde é codificada uma equação matemática que descreve um vetor de saída Y a partir de um conjunto de J vari-áveis de entradas Xj (j=1,..., J). Com base nessa estru-tura realiza-se a PG tradicional. Já a Programação Genética Multigênica (PGMG) (Hinchiliffe et al., 1996; Searson et al., 2007) denota um indivíduo como um complexo de estruturas em árvores (equações), também chamados de genes, que da mesma forma recebem Xj, buscando predizer Y (Figura 1).
Figura 1. Exemplo típico de um indivíduo multigênico.
Cada uma das D equações (Gd, d=1, ...,D) é uma solução parcial para o problema, sendo que a saída final pode ser resultado de uma combinação linear dos Gd. A partir disto é possível avaliar a qualidade global do indivíduo. É fácil verificar que, quando D=1, a PGMG reduz-se à PG clássica. Em relação aos operadores genéticos, a operação de mutação na PGMG é similar à efetuada na PG clássica (Figura 2).
Figura 2. Exemplo de operação de cruzamento de baixo nível.
No caso da operação de cruzamento, é necessário
efetuar uma distinção no nível em que a operação é
realizada: é possível aplicar o cruzamento no baixo e
no alto nível. O baixo nível é o espaço onde é
possível manipular as estruturas (terminais e
funções) das equações presentes em um indivíduo.
No caso, tanto a mutação quanto o cruzamento de
baixo nível (Figura 3) na PGMG são semelhantes ao
que é efetuado na PG clássica.
Figura 3. Exemplo de operação de mutação.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4219
Um exemplo de cruzamento de alto nível para um indivíduo com cinco equações é apresentado na Figu-ra 4. O alto nível é o espaço em que se manipulam de forma macro as equações presentes no indivíduo. Logo, verifica-se que, a partir de dois pontos aleató-rios, são permutadas equações (no caso três) de um indivíduo para o outro. Este ponto de corte aleatório pode ser simétrico - quando troca-se o mesmo número de equações entre indivíduos – ou assimétrico – caso contrário. A saída resultante é mais afetada pelo cru-zamento de alto nível do que pela operação de cruza-mento de baixo nível e pela mutação.
Figura 4. Exemplo de operação de cruzamento de alto-nível.
3.2 GPFIS-Control
Considere-se yt o sinal de controle enviado à
planta no instante de tempo t (t=0,1, ..., T), proporci-
onando como resposta ztk , que é o conjunto de k
respostas, ou variáveis manipuladas, da planta. Seja
xtk = ztk – Refk o erro resultante da diferença entre ztk
e a k-ésima referência. Portanto, a partir de xtk é pos-
sível elaborar yt de forma a atingir parâmetros de
projeto definidos pelo operador da planta.
Em linhas gerais o modelo GPFIS-Control con-
siste em quatro etapas: fuzzificação, inferência, defu-
zzificação e avaliação. O procedimento de inferência
tem início na fuzzificação dos erros xtk e do sinal yt.
Em seguida, são sintetizadas as funções que ma-
peiam cada estado linguístico xtk a outro estado de yt,
efetuando-se após a defuzzificação por alguma heu-
rística. Esta solução é então avaliada e o processo
evolutivo é repetido o número de vezes que for ne-
cessário para que a solução atenda a critérios estabe-
lecidos pelo usuário. O diagrama em blocos da Figu-
ra 5 ilustra o modelo GPFIS-Control.
Figura 5. Diagrama do modelo GPFIS-Control.
3.2.1 Fuzzificação
Considera-se que tanto xtk quanto yt possam as-
sumir J diferentes estados linguísticos, manifestados
matematicamente por funções de pertinência. Quan-
do não se dispõe de um especialista, os conjuntos
fuzzy de xtk e de yt costumam ser dispostos de manei-
ra uniforme e normalizada no universo de discurso
de cada variável (Mendel, 1995). A Figura 6 apresen-
ta um perfil típico de disposição, em que os conjun-
tos são identificados pelos valores linguísticos nega-
tivo grande (NB), negativo médio (NM), negativo
pequeno (NS), próximo à zero (NZ), positivo peque-
no (PS), positivo médio (PM) e positivo grande (PB).
De forma genérica, seja Ajk o j-ésimo conjunto
fuzzy para o k-ésimo erro xtk. É possível definir Ajk =
{NBk, NMk, NSk, NZk, PSk, PMk, PBk}. Por exemplo,
A11 significa o conjunto fuzzy NB de Xt1, ou NB1.
Então, quando usados os rótulos linguísticos acima,
tem-se j=1,2,...,7. De forma similar, considere-se que
o conjunto fuzzy Bj está relacionado a yt. A partir da
fuzzificação das entradas inicia-se o processo de
inferência do GPFIS-Control.
Figura 6. Exemplo de funções de pertinência.
3.2.2 Inferência
O procedimento de inferência é desenvolvido em
três etapas: Formulação, Particionamento e Agrega-
ção. A fase de Formulação representa a definição dos
elementos constituintes do GPFIS-Control (t-norma,
t-conorma, modificadores linguísticos e operadores
de negação) usados para compor cada premissa de
uma regra fuzzy. A fase de Particionamento descreve
o mecanismo que une cada termo antecedente a a um
determinado consequente. Por fim, a etapa de Agre-
gação denota o conjunto de operadores possíveis para
combinar todas as regras relacionadas a um mesmo
consequente. A partir desta sequência de operações –
Formulação-Particionamento-Agregação – são obti-
dos os graus de pertinência a cada ação a ser condu-
zido pelo controlador GPFIS-Control. A Figura 7
apresenta o diagrama do processo.
Figura 7. Diagrama do procedimento de Inferência.
3.2.2.1 Formulação
De forma geral, a partir dos (grau de
pertinência de xtk a cada Ajk) o modelo GPFIS-
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4220
Control elabora um controlador que gera uma ação
com diferentes intensidades (B1 = Negativa Grande,
..., B7 = Positiva Grande, por exemplo), cujos graus
de pertinências são dados por:
[ (
)]
[ (
)]
...
[
(
)]
onde (
) é um conjunto
de funções tal que cada uma combina os a
partir do conjunto de operações definidas pelo usuá-
rio; é um conjunto de índices que descreve qual d-
ésima função de um indivíduo está relacionada ao j-
ésimo consequente ( ) – vide a seção Particio-
namento.
Para que as funções fd pertencentes ao possam
ter uma conotação de regra fuzzy, deve-se usar ope-
radores t-norma, t-conorma, negação e concentra-
ção/dilatação para representar os conectivos lógicos.
A função g é um operador de agregação, cujo papel é
unir os graus de ativação de cada regra pertencentes a
um mesmo termo consequente (representado por
) em um valor final.
Portanto, dada uma ativação nos termos antece-
dentes Ajk , o controlador GPFIS elabora uma função
que combina os graus de compatibilidade nos dife-
rentes estados ( ) e gera uma ação, com base
na intensidade do desvio em relação à referência.
A última questão é operacionalizar o processo de
Formulação na estrutura dos indivíduos da população
do modelo GPFIS. Por exemplo, a partir da base
fornecida pela PGMG, deve-se definir o conjunto de
Terminais (variáveis de entrada) e Operações Mate-
máticas (soma, subtração, etc.), conforme realizado
em qualquer rotina de técnicas que empregam PG.
No caso do modelo GPFIS, o conjunto de Terminais
é denominado Conjuntos Fuzzy e Operações Mate-
máticas torna-se Operadores Fuzzy (Tabela 1).
Tabela 1. Conjuntos e Operadores Fuzzy passíveis de uso no GPFIS-Control.
Conjuntos Fuzzy Operadores Fuzzy
t-normas, t-conormas, operadores de negação e modificadores
linguísticos
A partir dos Operadores Fuzzy, cada é
combinado de modo a aproximar ao máximo o com-
portamento do conjunto fuzzy de saída . É
possível incluir nos Conjuntos Fuzzy a negação de
cada , ao invés de usá-la como um elemen-
to dos Operadores Fuzzy. Isso implica em um maior
espaço de busca, mas que pode facilitar a interpreta-
ção do resultado final gerado.
3.2.2.2 Particionamento
Em linhas gerais, seja d={1,...,D} um conjunto de
índices das funções fd e S={s0,s1,s2,...,sJ} tal que cada
sj representa os índices d das fd destinadas ao j-ésimo
consequente Bj. Por fim, s0 é o conjunto das fd direci-
onadas para nenhum consequente. O método para
decidir quais índices d devem pertencer sj é denomi-
nado de Divisão Uniforme. Este método de particio-
namento utiliza uma heurística relativamente ingê-
nua. O algoritmo pode ser construído como:
1. Calcule:
(onde é a operação que
retorna o menor inteiro).
2. Particione: s1 = {1,...,U},
s2 = {U+1,...,2*U},...,
sJ = {U*(J-1)+1,...,U*J}.
Ilustrando, tem-se a Figura 8.
Figura 8. Método de Particionamento: Divisão Uniforme.
Então, as funções fd são divididas uniformemente
para cada sj e, desta forma, cada consequente tem ao
menos uma regra associada. Caso alguma fd não seja
remetida a nenhum consequente, ela é remetida a s0.
3.2.2.2 Agregação
Na literatura são relatados diversos operadores de
agregação (Yager et al., 2011). Alguns exemplos que
podem ser usados para compor a
[ (
)] do modelo
GPFIS-Control são apresentados a seguir:
(
) : o
operador de agregação máximo é um dos mais
empregados em Sistemas Fuzzy do tipo Mam-
dani.
∑ (
)
:
a operação de média aritmética visa a dar pesos
iguais a todas as regras que compõem o conse-
quente, não favorecendo a escolha da mais
compatível com o padrão apresentado (como é
o caso do operador máximo).
Através da definição, por parte do usuário, do ope-
rador de agregação, é possível calcular um grau de
ativação final para cada consequente.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4221
3.2.3 Defuzzificação
O procedimento de defuzzificação associa a um
conjunto fuzzy de saída um valor preciso, a partir de
alguma heurística decisória (média dos máximos,
centro de gravidade, etc.) (Klir e Yuan, 1995). No
caso do modelo GPFIS-Control a defuzzificação
pode ser realizada pelo método da altura:
∑
∑
em que ∑ são os parâmetros de centro de cada
função de pertinência triangular (vértice superior), e
∑
são as ativações resultantes do modelo
GPFIS-Control.
Pode, também, ser realizada pela altura média dos
máximos:
∑
∑
sendo uma função indicadora tal que = 1,
quando >
, para todo l=1,...,J, e l ≠ j,
e = 0, caso contrário.
3.2.4 Avaliação
Para o modelo GPFIS-Control, a definição da fun-
ção objetivo fica sujeita ao problema em questão. Em
rastreamento de trajetórias, uma possível função de
avaliação é dada por:
∑
onde EQM é o Erro Quadrático Médio.
Quando o controlador deve ser elaborado visando
a atingir a referência no menor tempo possível, a
função objetivo do modelo GPFIS-Control pode ser
dada pelo valor de t necessário para atingir EQM < ε,
onde ε é uma tolerância fixada pelo operador. Quanto
menor t, melhor o indivíduo na população do GPFIS-
Control.
Há também a preocupação com a redução da com-
plexidade da base de regras. Para tanto, é usado o
método de Pressão Lexicográfica Parcimoniosa
(Luke e Panait, 2002). Esta técnica é manifestada no
momento de ordenar os indivíduos para a seleção. A
ideia básica é: dado dois indivíduos com desempe-
nhos idênticos, o melhor entre eles é o que possui o
menor número de nós na árvore. Menor quantidade
de nós indica regras com menos antecedentes, com
menos operadores de concentração/dilatação e nega-
ção e indivíduos com menos fd e, portanto, com uma
base de regras fuzzy menor. Após o processo de
avaliação, aplicam-se operadores de seleção e re-
combinação para a geração de uma nova população.
Este procedimento é repetido um número de vezes
até que o critério de parada (número de gerações)
seja atingido.
4 Estudos de Casos
4.1 Descrição dos Experimentos
São considerados dois benchmarks para aplicação
do modelo GPFIS-Control: Cart-Centering (Alba et
al., 1996) e Pêndulo Invertido (Tsakonas, 2013).
O benchmark Cart-Centering consiste em um carro
com massa m, movendo-se sobre um trilho com atrito
desprezível. Em um determinado instante t, sua posi-
ção é xt (m), com velocidade vt (m/s). O carrinho
deve parar (vt = 0) na referência ref definida pelo
usuário. Uma tolerância ε é considerada de modo
que, se as condições |xt – ref| < ε e |vt – ref|< ε são
verificadas, diz-se que o carro está parado. A dinâ-
mica da planta é apresentada nas equações (7) e (8):
onde τ é período de amostragem e Ft é a força (N)
aplicada pelo controlador no carro. O objetivo do
controlador é levar o carro para a referência no me-
nor tempo possível. O desempenho do GPFIS-
Control foi comparado com os CFG apresentados em
Alba et al. (1996). Diversas configurações do GPFIS-
Control (t-normas, operadores de agregação. etc.)
também foram avaliadas. Para que estas comparações
sejam comensuráveis, as configurações usadas para
cada variável e parâmetros seguiram Alba et al.
(1996). Tabela 2 dispõe estes valores.
Tabela 2. Domínio e valor das variáveis e parâmetros para os testes realizados.
Variáveis Domínio
Ft [-2.5, 2.5] N
vt [-2.5, 2.5] m/s xt [-2.5, 2.5] m
Parâmetro Valor
τ 0.02s
ε 0.5 m 2.0 kg
ref. xt = vt = 0
Portanto, requer-se que o carro seja posicionado até
|xt – 0| < 0.5 e |vt – 0|< 0.5, dadas 16 condições inici-
ais uniformemente distribuídas no domínio de xt. A
função de avaliação é definida por:
∑
onde representa o tempo necessário para que a
condição de parada (|xt – 0| < 0.5 e |vt – 0|< 0.5) seja
atendida. Um indivíduo da população do GPFIS-
Control é considerado inviável se não conseguir
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4222
parar o carro em até 10 segundos (500 passos de
tempo). Dada a melhor solução, esta é aplicada em
1000 posições aleatórias iniciais, e o tempo máximo
entre as 1000 é retornado como resultado da execu-
ção.
Todo este procedimento é executado 10 vezes, e a
média dos resultados obtidos é reportada. Por fim,
para cada execução são efetuadas 25.000 avaliações
(tamanho da população = 50 e número de gerações =
500), de maneira a tornar factível a comparação com
Alba et al. (1996). A Tabela 3 exibe os demais parâ-
metros usados para o GPFIS-Control.
Tabela 3. Principais configurações usadas nos experimentos do modelo GPFIS-Control.
Parâmetros Valores
Tamanho do Torneio 5
Altura Máxima da Árvore 5 Taxa de Elitismo 1%
Máximo de Árvores (Regras) por
indivíduo 50
Taxa de cruzamento de baixo nível 75%
Taxa de cruzamento de alto nível 50%
Taxa de mutação 20% Taxa de reprodução direta 5%
Conjuntos Fuzzy Figura 6
Operadores Fuzzy t-norma: produto, outras (descritas durante cada
experimento)
Com base na melhor configuração do GPFIS-
Control obtida no benchmark Cart-Centering, o se-
gundo experimento efetua uma comparação com o
controle do Pêndulo Invertido (Tsakonas, 2013). Um
carro de massa M com um pêndulo de massa m e
altura l fixado em seu centro move-se sobre um tri-
lho, cujo atrito gerado é desprezível. O controlador
deve aplicar consecutivas Ft de modo a aumentar ou
reduzir vt e, consequentemente, alterar a velocidade
angular ωt e o ângulo do pêndulo θt. A dinâmica do
modelo pode ser encontrada em Koza (1992) ou em
Tsakonas (2013).
De forma a tornar a comparação com Tsakonas
(2013) factível, o domínio viável de cada variável foi
estabelecida como: ωt [-0.87, 0.87] rad/s, θt [-
0.34, 0.34] rad, Ft [-25, 25] N, enquanto que xt e vt
são irrestritos, M=1kg, m=0.1kg, l=0.5m,g=9.8m/s2 e
τ=0,01s. Duas condições iniciais são consideradas:
θ0 = {-0,18, 0,18}rad, com ω0 ={0,0}rad/s e a refe-
rência por ref=0 rad com ε=0.01. O tempo máximo
de simulação é de 1 segundo (100 passos de tempo),
sendo, portanto, necessário que o controlador atinja
|θt – 0|<0.01 neste intervalo.
Como em Tsakonas (2013), 105 avaliações (tama-
nho da população = 100 e número de avaliações =
1000) foram efetuadas. Todo este procedimento foi
executado 10 vezes. A Tabela 3 exibe os demais
parâmetros usados. A função de avaliação escolhida
é similar à usada em Tsakonas (2013):
∑
∑
Em ambos os experimentos, 7 conjuntos fuzzy são
associados a cada variável (Ft, xt, vt, ωt, θt ), conforme
exibido na Figura 6. Nos casos investigados, a nega-
ção foi usada como elemento dos Conjuntos Fuzzy,
ao invés de ser incluída nos Operadores Fuzzy (cf.
tópico Formulação, da seção GPFIS-Control). Todos
os experimentos foram realizados em MATLAB
R2010a.
4.2 Resultados e Discussões
4.2.1Cart-Centering
A Tabela 4 exibe os principais resultados, consi-
derando a raiz-quadrada como modificador linguísti-
co, o operador de negação clássica e os diferentes
operadores de agregação e defuzzificação. Observa-
se que, em praticamente todas as configurações, o
uso da média aritmética como elemento de agregação
possibilitou uma redução de 39% na média do tempo
tomado para atingir |xt – 0| < 0,5 e |vt – 0|< 0,5. Tam-
bém, é possível notar que o método de defuzzificação
da altura média dos máximos reduziu em 14% o
tempo para atender ao critério de parada. Contudo, o
uso do operador de negação não apresentou uma
melhora no desempenho, apesar de ter ocasionado a
redução no número de regras geradas.
Figura 9. Posições iniciais e finais do melhor indivíduo usando a
configuração Product+RQ+Altura Média dos Máximos.
A melhor configuração obtida foi: altura média
dos máximos como método de defuzzificação e mé-
dia aritmética como agregação. A Figura 9 apresenta
16 posições iniciais e finais, quando |xt – 0| < 0.5 e
|vt – 0|< 0.5. A Figura 10 exibe a superfície de res-
posta do GPFIS-Control para os métodos de defuzzi-
ficação (a): altura média dos máximos (b): altura.
Verifica-se que a superfície de (a) é mais suave do
que a de (b), devido ao maior volume de valores que
Ft pode assumir quando se opta pelo método da altu-
ra. A média de passos efetuadas pelo modelo GPFIS
(135,8 passos) é inferior ao de Alba et al. (1996)
(158 passos) e de Thrift (1991) (149 passos), este
último um CFG baseado em Algoritmos Genéticos.
A solução por Controle Ótimo é de 129 passos.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4223
4.2.1 Pêndulo Invertido
Baseada na melhor configuração obtida no
benchmark Cart-Centering, a Figura 11 apresenta o
comportamento do melhor indivíduo nas 100.000
avaliações. A média dos melhores indivíduos nas 10
execuções foi de 0,27 segundos para atingir
|θt – 0|<0,01 durante o período de 1 segundo, gerando
um total de 14 regras em média. Em Tsakonas (2013)
o SFG proposto tomou 0,61 segundos para satisfazer
os requerimentos, mesmo produzindo somente 7
regras.
Figura 11. Posições iniciais e finais do melhor indivíduo usando a
configuração Product+RQ+Altura Média dos Máximos.
5 Conclusões
Uma nova abordagem para solucionar proble-
mas de controle foi apresentada: o controlador Gene-
tic Programming Fuzzy Inference System for Control
tasks (GPFIS-Control). O seu desempenho foi avali-
ado a partir de dois benchmarks: Cart-Centering e
Pêndulo Invertido. Durante as investigações foi veri-
ficado que escolhas corretas do método de defuzzifi-
cação e do operador de agregação proporcionam
melhores resultados, enquanto que o uso da negação
induz à geração de menos regras. Quando comparado
a outros Controladores Fuzzy-Genéticos, o GPFIS-
Control obteve melhores resultados em média. Em
geral o custo computacional do modelo GPFIS-
Control é baixo, tendo em vista que a PGMG é so-
mente utilizada para fornecer as premissas de regras.
Em trabalhos futuros devem-se considerar ou-
tros tipos de benchmarks ou problemas reais, assim
como novos métodos de formulação, particionamen-
to e agregação. Os estudos neste sentido possibilita-
riam a geração de regras mais efetivas, tanto no sen-
tido da ligação entre as partes antecedentes e conse-
quentes, quanto no processo colaborativo destas na
fase de agregação e uso do controlador.
Figura 10. Superfície de resposta do melhor indivíduo durante as execuções do GPFIS-Control ao considerar diferentes métodos
de defuzzificação: (a) Altura (b) Altura Média dos Máximos.
Tabela 4. Resultados do modelo GPFIS-Control para o Cart-Centering.
Atributo
Operador de Agregação = Máximo
Produto+RQ+Altura Produto+RQ+Altura
Média dos Máximos Produto+RQ+Neg+Altura
Produto+RQ+ Neg+Altura
Média dos Máximos
Média de Passos (0.02s) 215,9 243,6 224,6 203,5
DP* de Passos (0,02s) 25,73 94,09 37,89 60,78
Média de Tempo (s) 4,318s 4,872 4,492 4,07
Média de Regras 21 24 14 15
Atributo
Operador de Agregação = Média Aritmética
Produto+RQ+Altura Produto+RQ+Altura
Média dos Máximos Produto+RQ+Neg+Altura
Produto+RQ+ Neg+Altura
Média dos Máximos
Média de Passos (0,02s) 160,2 135,8 205,5 144,9 DP* de Passos (0,02s) 18,92 18,94 38,99 11,43
Média de Tempo (s) 3,204 2,796 4.11 2.89
Média de Regras 27 28 26 24
*- DP: Desvio Padrão.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4224
Referências Bibliográficas
A. Homaifar, D. Battle, E. Tunstel, and G. Dozier,
Genetic Programming Design of Fuzzy Logic
Controllers for Mobile Robot Path Tracking. Int
Journal of Knowledge Based Intelligent Engi-
neering Systems, Vol.4, No.1, pp.33-52, 2000.
A. Tsakonas, Local and global optimization for Tak-
agi–Sugeno fuzzy system by memetic genetic
programming. Expert Systems with Applica-
tions, Vol.40, No.8, pp.3282-3298, 2013.
B. D. Liu, C. Y. Chen, and J. Y. Tsao, Design of
adaptive fuzzy logic controller based on linguis-
tic-hedge concepts and genetic algorithms. IEEE
Trans on SMC, Part B: Cybernetics, V..31, No.1,
pp.32-53, 2001.
C. Elmas, C., O. Deperlioglu, and H. H. Sayan,
Adaptive fuzzy logic controller for DC–DC con-
verters. Expert Systems with Applications,
Vol.36, No.2, pp.1540-1548, 2009.
C. F. Juang, J. Y. Lin, and C. T. Lin, Genetic rein-
forcement learning through symbiotic evolution
for fuzzy controller design. IEEE Transactions
on SMC, Part B, V. 30, No.2, pp.290-302, 2000.
C. Karr, Genetic algorithms for fuzzy controllers. AI
Expert, Vol.6, No. 2, pp.26-33, 1991.
D. P. Searson, M. J. Willis, and G.A. Montague, Co-
evolution of non-linear PLS model components.
Journal of Chems, Vol. 2, pp. 592-603, 2007.
E. Alba, C. Cotta, and J. M. Troya, Type-constrained
genetic programming for rule-base definition in
fuzzy logic controllers. in First Conference on
Genetic Programming, pp. 255-260, July 1996.
E. De Santis, A. Rizzi, A. Sadeghiany, and F. M. F.
Mascioli, Genetic optimization of a fuzzy con-
trol system for energy flow management in mi-
cro-grids. IFSA/NAFIPS Annual Meeting, pp.
418-423, 2013.
E. Tunstel, and M. Jamshidi, On genetic program-
ming of fuzzy rule-based systems for intelligent
control. Int. J. of Intelligent Automation and Soft
Computing, Vol.2, No.3, pp.271-284, 1996.
E. Tunstel, and M. Jamshidi, On genetic program-
ming of fuzzy rule-based systems for intelligent
control. Int Jour of Intelligent Automation and
Soft Computing, Vol.2, No.3, pp.271-284, 1996.
F. Herrera, Genetic fuzzy systems: taxonomy, current
research trends and prospects. Evolutionary In-
telligence, Vol.1, No.1, pp.27-46, 2008.
F. Herrera, M. Lozano, and J. L. Verdegay, A learn-
ing process for fuzzy control rules using genetic
algorithms. Fuzzy Sets and Systems, V. 100, No.
1, pp.143-158, 1998.
G. J. Klir, and B. Yuan, Fuzzy sets and fuzzy logic.
New Jersey: Prentice Hall, 1995.
J. M. Mendel, Fuzzy logic systems for engineering: a
tutorial. Proceedings of the IEEE, Vol.83, No.3,
p.345-377, 1995.
J. R. Koza, Genetic Programming: On the Program-
ming of Computers by Means of Natural Selec-
tion. Massachusetts: MIT Press, 1992.
M. Fazzolari, R. Alcalá, Y. Nojima, H. Ishibuchi,
and F. Herrera, A Review of the Application of
Multiobjective Evolutionary Fuzzy Systems:
Current Status and Further Directions. IEEE
Trans. Fuzzy Sets, V.21, No.1, pp.45-65, 2013.
M. P. Hinchliffe, M. J. Willis, H. Hiden, M.T. Tham,
B. McKay, and G.W. Barton, Modeling chemi-
cal process systems using a multi-gene genetic
programming algorithm. I Annual Conference
onGenetic Programming, Massachussets, pp. 56-
65, 1996.
N. Kasabov, and Q. Song, DENFIS: dynamic evolv-
ing neural-fuzzy inference system and its appli-
cation for time-series prediction. IEEE Trans on
Fuzzy Systems, Vol.10, N.2, pp.144-154, 2002.
O. Castillo, and P. Melin, A review on the design and
optimization of interval type-2 fuzzy controllers.
Applied Soft Computing, V.12, No.4, pp.1267-
1278, 2012.
O. Castillo, R. Martínez-Marroquín, P. Melin, F.
Valdez, and J. Soria, Comparative study of bio-
inspired algorithms applied to the optimization
of type-1 and type-2 fuzzy controllers for an au-
tonomous mobile robot. Information Sciences,
Vol.192, pp.19-38, 2012.
O. Cordón, A historical review of evolutionary learn-
ing methods for Mamdani-type fuzzy rule-based
systems. International Journal of Approximate
Reasoning, V..52, No.6, pp.894-913, 2011.
O. Cordon, F. Gomide, F. Herrera, F. Hoffmann, and
L. Magdalena, Ten years of genetic fuzzy sys-
tems: current framework and new trends. Fuzzy
Sets and Systems, V.141, No.1, pp. 5-31, 2004.
P. R. Thrift, Fuzzy Logic Synthesis with Genetic
Algorithms. In: Proc. International Conference
on Genetic Algorithms, pp. 509-513, July 1991.
R. J. Contreras, M.M.B.R. Vellasco, and R. Tan-
scheit, Hierarchical type-2 neuro-fuzzy BSP
model. Information Sciences, Vol.181, No.15,
pp.3210-3224, 2011.
R. P. Prado, S. García-Galán, J. Exposito, and A. J.
Yuste, Knowledge acquisition in fuzzy-rule-
based systems with particle-swarm optimization.
IEEE Trans. Fuzzy Systems, V.18, No.6,
pp.1083-1097, 2010.
R.E. Precup, and H. Hellendoorn, A survey on indus-
trial applications of fuzzy control. Computers in
Industry, Vol.62, No.3, pp.213-226, 2011.
S. Luke and L. Panait, Lexicographic parsimony
pressure. In: Proc. of the Genetic and Evolution-
ary Computation Conference. New York: Mor-
gan Kaufmann Publishers, 2002, pp. 829-836.
T. Pal, and N. R. Pal, SOGARG: A self-organized
genetic algorithm-based rule generation scheme
for fuzzy controllers. IEEE Trans on Evolution-
ary Computation, V.7, No.4, pp.397-415, 2003.
W. B. Langdon, and R. Poli, Foundations of Genetic
Programming. Heidelberg: Springer, 2002.
R. R. Yager, J. Kacprzyk, and G. Beliakov. Recent
developments in the ordered weighted averaging
operators: theory and practice. Springer, 2011.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
4225