departamento de engenharia elétrica, pontifícia...

8
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

Upload: doandiep

Post on 17-Dec-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 2: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 3: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 4: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 5: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 6: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 7: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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

Page 8: Departamento de Engenharia Elétrica, Pontifícia ...swge.inf.br/CBA2014/anais/PDF/1569934367.pdf · parada mínima ou de centrar o carrinho) e o Pêndulo Invertido. Em ambos os casos

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