Control

75
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENG. DE COMPUTAÇÃO E AUTOMAÇÃO CONTROLE INTELIGENTE Professor: Fábio Meneghetti Ugulino de Araújo Natal-RN, Novembro de 2004

description

A brief introduction about linear control systems

Transcript of Control

  • UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA

    DEPARTAMENTO DE ENG. DE COMPUTAO E AUTOMAO

    CONTROLE INTELIGENTE

    Professor: Fbio Meneghetti Ugulino de Arajo

    Natal-RN, Novembro de 2004

  • 2

    NDICE

    1 INTRODUO .................................................................................................................................. 4 1.1 CONCEITUAO DE INTELIGNCIA ARTIFICIAL............................................................................ 4 1.2 APRENDIZADO ............................................................................................................................. 5 1.3 FERRAMENTAS UTILIZADAS EM IA. ............................................................................................. 5

    1.3.1 Sistemas de Produo ....................................................................................................... 5 1.3.2 Lgica Nebulosa................................................................................................................ 6 1.3.3 Redes Neurais.................................................................................................................... 6

    1.4 ALGUMAS APLICAES TPICAS DE IA......................................................................................... 6 2 LGICA E DEDUO..................................................................................................................... 7

    2.1 CLCULO SENTENCIAL ................................................................................................................ 7 2.1.1 Deduo ............................................................................................................................ 8

    2.2 CLCULO DE PREDICADOS........................................................................................................... 9 2.2.1 Resoluo ........................................................................................................................ 10

    3 REPRESENTAO DE CONHECIMENTOS ............................................................................ 12 3.1 PRINCIPAIS FORMAS DE REPRESENTAO DO CONHECIMENTO EM IA....................................... 12

    3.1.1 Representao Utilizando Lgica Matemtica ............................................................... 12 3.1.2 Representao Utilizando Regras de Produo ............................................................. 12 3.1.3 Representao Utilizando Redes Semnticas.................................................................. 13 3.1.4 Representao Utilizando Frames e Scripts ................................................................... 13

    3.2 MTODOS DE BUSCA.................................................................................................................. 14 3.2.1 Algoritmo A* ................................................................................................................... 16

    4 CONTROLADORES BASEADOS EM CONHECIMENTOS.................................................... 17 4.1 EXEMPLO DE CONTROLADOR USANDO REGRAS DE PRODUO. ................................................ 18 4.2 EXEMPLO DE UM SUPERVISOR INTELIGENTE.............................................................................. 19 4.3 EXEMPLO DE UM ASSISTENTE INTELIGENTE .............................................................................. 20

    5 INTRODUO LGICA NEBULOSA .................................................................................... 22 5.1 CONJUNTOS NEBULOSOS ........................................................................................................... 22 5.2 LGICA NEBULOSA ................................................................................................................... 26

    6 CONTROLADORES EMPREGANDO LGICA NEBULOSA................................................. 28 6.1 ESTRUTURA DE CONTROLADORES EMPREGANDO LGICA NEBULOSA....................................... 29

    6.1.1 Conversor para Variveis Nebulosas (Nebulisador).................................................. 29 6.1.2 Mquina de Inferncia Nebulosa .................................................................................... 30 6.1.3 Conversor para Varivel Numrica (Desnebulizador)............................................... 32

    6.2 CONTROLADORES COM E(T) E U(T) QUANTIZADOS..................................................................... 32 6.3 ESTABILIDADE NO CONTROLE NEBULOSO EM MALHA FECHADA .............................................. 34 6.4 CARACTERSTICAS DE CONTROLADORES NEBULOSOS............................................................... 36

    7 MTODOS DE OTIMIZAO NUMRICA.............................................................................. 37 7.1 CONCEITUAO E UTILIDADE EM SISTEMAS INTELIGENTES ...................................................... 37 7.2 MTODOS DE OTIMIZAO UNIDIMENSIONAL........................................................................... 39

    7.2.1 Mtodo da Busca Uniforme ............................................................................................ 39 7.2.2 Mtodo da Seco urea ................................................................................................ 40

    7.3 MTODOS DE BUSCA EMPREGANDO GRADIENTE ....................................................................... 41 7.3.1 Mtodo da Mxima Declividade ..................................................................................... 42 7.3.2 Mtodo de Newton........................................................................................................... 43

    7.4 MTODOS DE BUSCA SEM EMPREGAR GRADIENTE..................................................................... 44 7.4.1 Mtodo da Busca Direta ................................................................................................. 44 7.4.2 Mtodo dos Poliedros Flexveis ...................................................................................... 45 7.4.3 Algoritmos Genticos ...................................................................................................... 47

    7.5 MTODOS ESTENDIDOS ............................................................................................................. 49 7.5.1 Zona Tabu ....................................................................................................................... 49 7.5.2 Recozimento Simulado .................................................................................................... 50

    7.6 SELEO DO MTODO DE OTIMIZAO..................................................................................... 51

  • 3

    8 REDES NEURAIS ARTIFICIAIS.................................................................................................. 52 8.1 MODELOS E ARQUITETURAS...................................................................................................... 52

    8.1.1 O neurnio biolgico (natural) ....................................................................................... 53 8.1.2 Definio de Rede Neural Artificial ................................................................................ 54 8.1.3 Uma Estrutura Geral para Modelos de Redes Neurais Artificiais ................................. 54 8.1.4 Topologia de Redes Neurais Artificiais........................................................................... 56 8.1.5 Aprendizado em Redes Neurais Artificiais...................................................................... 56 8.1.6 Capacidade de Aproximao Universal ......................................................................... 57

    8.2 APRENDIZADO COM SUPERVISO FORTE ................................................................................... 58 8.2.1 Programao Direta dos Pesos ...................................................................................... 58 8.2.2 Ajuste de Pesos Mediante Amostras de Pares Entrada-Sada ........................................ 63 8.2.3 O Algoritmo Back-Propagation ...................................................................................... 70

    8.3 APLICAES DE REDES NEURAIS ARTIFICIAIS EM CONTROLE ................................................... 73

  • 4

    1 INTRODUO

    A Inteligncia Artificial (IA) busca prover mquinas com a capacidade de realizar algumas atividades mentais do ser humano. Em geral so mquinas com algum recurso computacional, de variadas arquiteturas, que permitem a implementao de rotinas no necessariamente algortmicas. As atividades realizadas por estas mquinas podem envolver a senso-percepo (tato, audio e viso), as capacidades intelectuais (aprendizado de conceitos e de juzos, racioccio dedutivo e memria), a linguagem (verbais e grficas) e ateno (deciso no sentido de concentrar as atividades sobre um determinado estmulo).

    Em termos de tecnologia, IA permite que mquinas possam realizar tarefas complexas no lugar do operador humano, liberando-o de atividades enfadonhas, insalubres ou inseguras. Tambm pode aumentar a eficincia do humano na sua interao com equipamentos sofisticados. Permite, ainda, que conhecimentos possam ser compartilhados por muitas pessoas, sem que haja necessidade de consultas a especialistas.

    Esta apostila baseia-se na obra de Nascimento Jr. e Yoneyama (2002) e no substitui em nenhum sentido tal livro, visando to somente propiciar aos alunos um material de estudo resumido que apresente os principais conceitos explorados na supracitada obra.

    1.1 Conceituao de Inteligncia Artificial

    Em 1948, N. Wiener talhou o termo ciberntica, compreendendo uma cincia que abrangeria, entre outros temas, o estudo da inteligncia de mquinas. Em 1950, Alan Turing props um mtodo para determinar se uma mquina poderia apresentar inteligncia (Turing Test). O primeiro passo , portanto, tentar estabelecer o que deve ser entendido como Inteligncia Artificial. Contudo, conceituar Inteligncia Artificial (IA) uma tarefa difcil, seguem algumas das definies fornecidas por autores de renome na literatura especializada:

    a) IA o estudo das faculdades mentais atravs do uso de modelos computacionais

    (Charniak e McDermott, 1985); b) IA o estudo de como fazer os computadores realizarem tarefas que, no momento,

    so feitas melhor por pessoas (Rich, 1983); c) IA o estudo das idias que permitem habilitar os computadores a fazerem coisas

    que tornam as pessoas inteligentes (Winston, 1977); d) IA o campo de conhecimentos onde se estudam sistemas capazes de reproduzir

    algumas das atividades mentais humanas (Nilsson, 1986). Uma vez que as definies de IA envolvem termos como faculdades mentais, tarefas

    melhor feitas por pessoas, coisas que tornam as pessoas inteligentes e atividades mentais humanas, interessante que se considere, inicialmente, os aspectos psicolgicos da inteligncia humana, ainda que o objetivo final no seja reproduz-los.

    Segundo livros do campo da psicologia (Paim, 1986) e da psiquiatria (Ey, Bernard e Brisset, 1985), as atividades psquicas (do grego psykhe = alma) fundamentais so:

    Sensao; Percepo; Representao; Conceituao; Juzo; Raciocnio; Memria; Ateno; Conscincia;

    Orientao; Afetividade; Volio; e Linguagem.

    Um sistema empregando IA tenta imitar e integrar diversas atividades psquicas de forma simultnea. Por exemplo, um veculo auto-guiado pode estar dotado de sistemas de senso-percepo, mecanismo para representao do ambiente, bem como bancos de conhecimentos e de dados, de forma a realizar inferncias de forma autnoma e navegar de um ponto a outro, sem colidir com obstculos na sala.

  • 5

    1.2 Aprendizado

    Uma rea fundamental em IA o estudo do aprendizado. Para Kodratoff, 1986, aprendizado a aquisio de conceitos e de conhecimentos estruturados. Esta aquisio certamente envolve o juzo, o raciocnio e a memria. Na prtica, para que a aquisio de conhecimentos ocorra, h ainda a necessidade de sensao, percepo, representao, linguagem e, possvelmente, ateno. Portanto, aprendizado um processo complexo e integrado que envolve mltiplas funes psquicas no ser humano. Em consequncia, o estudo do aprendizado pela mquina no pode prescindir da conceituao adequada destas funes psquicas.

    O aprendizado pode ocorrer com ou sem a presena de um tutor (professor). Quando o tutor orienta a aquisio dos conceitos e de conhecimentos estruturados tem-se o aprendizado supervisionado. Quando o aprendizado ocorre em funo apenas dos estmulos primitivos tem-se o aprendizado no-supervisionado. Dependendo da intensidade de envolvimento do tutor, o aprendizado pode ser por descoberta, por exemplos ou por programao. Os mecanismos empregados no processo de aprendizado podem ser:

    a) Numrico ou conceptual: O aprendizado numrico aquele onde valores de certos

    parmetros so ajustados no processo de armazenamento das informaes. o caso de redes neurais, onde os valores dos ganhos das sinapses alteram o conhecimento representado pela rede. O aprendizado conceptual se as relaes entre as diversas entidades so apreendidos pelo sistema, usualmente na forma simblica.

    b) Punio e Recompensa: um mecanismo de aprendizado onde as tentativas e erros so disciplinadas por um supervisor que fornece ao aprendiz um sinal de realimentao na forma de punio ou recompensa para aes favorveis ou desfavorveis.

    c) Emprico ou Racional: O aprendizado emprico se ocorre com base em experimentao ou amostragem do mundo real. O aprendizado racional se direcionado por um mecanismo de inferncia solidamente fundamentado.

    d) Dedutivo/Indutivo/Inventivo: O aprendizado dedutivo se o objetivo pode ser alcanado a partir de mecanismos de inferncia sobre o conjunto de premissas fornecidas a priori. O aprendizado indutivo se h necessidade de generalizaes dos conceitos apreendidos a partir de exemplos e do conjunto de premissas fornecidas a priori, para se alcanar o objetivo. O aprendizado inventivo se h necessidade de aquisicionar novas premissas, no obtenveis atravs de generalizaes das j disponveis.

    1.3 Ferramentas utilizadas em IA.

    Dentre as muitas ferramentas de IA existentes hoje em dia, trs constituem objeto de estudo neste texto, so elas:

    1.3.1 Sistemas de Produo Os sistemas de produo so aqueles que utilizam conjuntos de regras, usualmente do

    tipo Se (condio) Ento (ao ou concluso), aliado a uma base de dados (de conhecimentos) e mecanismos de controle (que indicam a seqncia de regras a serem usadas conjuntamente com a base de dados e, na existncia de conflitos, providenciam a sua resoluo).

    Como exemplo, pode-se mencionar a expresso:

    Se {(temperatura > 300oC) e (presso > 2 atm)}; Ento {vlvula_1 = OFF}

    So intimamente ligados ao clculo de predicados, que por sua vez, uma sub-rea da Lgica Matemtica. A aplicao direta da lgica se manifesta nos sistemas especialistas, freqentemente baseados em regras de produo.

  • 6

    1.3.2 Lgica Nebulosa J na dcada de 30, J. Lukasiewicz havia formalizado um sistema lgico de 3 valores

    {0, 1/2, 1}, posteriormente estendido para os racionais e reais compreendidos entre 0 e 1. Tambm nesta poca, M. Black havia introduzido o termo vagueness para expressar incertezas no campo da mecnica quntica. Em 1965, L.A. Zadeh introduziu os conjuntos nebulosos, reativando o interesse em estruturas matemticas multivariadas. Em 1973, o prprio Zadeh propunha a lgica nebulosa como um novo enfoque para anlise de sistemas complexos e processos de deciso.

    Aplicaes especficas sobre o uso da lgica nebulosa em controle surgem em trabalhos de E.H. Mamdani, em 1974.

    A partir de meados dos anos 80, o emprego de controladores nebulosos adquiriu aceitao industrial, particularmente no Japo, com aplicaes abrangendo desde mquinas fotogrficas at processos industriais.

    Em 1986, M. Togai e W. Watanabe apresentavam um chip VLSI implementando uma mquina de inferncia nebulosa. Hoje em dia, a produo em massa deste tipo de chip tornou corriqueiro o uso de lgica nebulosa at em eletrodomsticos.

    1.3.3 Redes Neurais O conceito de neurnio, como constituinte estrutural primordial do crebro pode ser

    atribudo a S. Ramn y Cajl, 1911. Circuitos que buscavam simular neurnios biolgicos foram introduzidos por W.S. McCulloch e W. Pitts em 1943 e objetivavam realizar clculos lgicos. McCulloch era psiquiatra e neuroanatomista, enquanto Pitts era matemtico.

    O livro The Organization of Behavior de D.O. Hebb, surgiu em 1949, onde o aprendizado era caracterizado como modificao das sinapses. Em 1956 A.M. Uttley demonstrou que redes neuronais com sinapses modificveis poderiam classificar padres binrios. Em 1958, F. Rosenblatt introduziu o conceito de perceptron enquanto em 1960 B. Widrow e M.E. Hoff Jr. utilizaram o conceito de mnimos quadrados para formular o Adaline (Adaptive Linear Element) Em 1969, M. Minsky e S. Papert publicaram o seu livro sobre perceptrons em que se demonstravam as limitaes de perceptrons de uma camada. Este fato, aliado a dificuldades de implementao de hardware, levou muitos pesquisadores a diminurem as suas atividades neste campo.

    Em 1982, J.J. Hopfield utilizou a idia de funes energia e estabeleceu conexes com a fsica estatstica, levando s redes de Hopfield. Tambm nesta data, 1982, T. Kohonen publicou seus resultados sobre mapas auto-organizveis. Em 1983, A.R. Barto, R.S. Sutton e C.W. Anderson introduziram o conceito de Reinforcement Learning. Em 1986, o algoritmo de Back-Propagation foi desenvolvido por D.E. Rumelhart, G.E. Hinton e R.J. Williams. Em 1988, D.S. Broomhead e D. Lowe descreveram redes empregando funes de base radial (Radial Basis Functions).

    1.4 Algumas aplicaes tpicas de IA

    As ferramentas de IA tm se mostrado poderosas e teis em diversas reas do conhecimento humano, tais como:

    a) Jogos; b) Prova Automtica de Teoremas; c) Sistemas Especialistas; d) Compreenso de Linguagem Natural; e) Percepo; f) Robtica.

  • 7

    2 LGICA E DEDUO

    2.1 Clculo Sentencial

    O objetivo bsico do Clculo Sentencial a verificao da veracidade de sentenas a partir da veracidade ou falsidade dos tomos. As sentenas mais complexas so formadas a partir da combinao de sentenas mais simples atravs do uso de conectivos sentenciais. As sentenas elementares so chamados de tomos.

    No Clculo Sentencial, a veracidade que se deseja estabelecer quanto a legitimidade dos argumentos e no dos tomos em si.

    importante observar que o uso de smbolos iguais para objetos diferentes pode resultar em concluses surpreendentes. Assim, usando-se o smbolo guia para designar um s da aviao, como o famoso piloto de avies de caa, Manfred Von Richtoffen, ter se ia

    (guia ave) (Manfred_Von_Richtoffen guia) (Manfred_Von _Richtoffen ave) Os conectivos sentenciais usualmente empregados so , , , , correspondentes a "e",

    "ou", "implica", "equivale" e "no". Porm, pode-se demonstrar que todas as sentenas podem ser reescritas apenas com o uso de 2 conectivos: { , } ou { , } ou { , }.

    Um exemplo de sentena : "Se (a funo f(.) diferencivel) Ento (a funo f(.) ontnua)", ou simbolicamente, a b, onde a = (a funo f(.) diferencivel) e b = (a funo f(.) contnua).

    Em princpio, a veracidade ou no de uma sentena pode ser aferida com o uso de Tabelas Verdade, onde so apresentados os valores da expresso, na forma V = Verdade e F = Falso, para cada combinao de valores para os tomos. Para o caso dos conectivos principais:

    a b a b a b a b a b a V V V V V V F V F F V F F F

    F V F V V F V

    F F F F V V V

    Para a verificao da veracidade de a (b c) em funo de valores dos tomos a, b e c, pode-

    se construir a seguinte Tabela de Verdade:

    a b c b c a (b c) V V V V V V V F V V

    V F V V V

    V F F F F

    F V V V V

    F V F V V

    F F V V V

    F F F F V

    Neste exemplo, nota-se que a expresso a (b c) no assume o valor V para quaisquer

    valores de a, b, e c. Entretanto, existem expresses para o qual o valor sempre V, independente do valor de seus tomos. Tais expresses so denominados de tautologias. Algumas tautologias importantes esto listadas a seguir:

  • 8

    1. a a Identidade ( 2.1)2. a a Equivalncia ( 2.2)3. (a a) a Idempotncia ( 2.3)4. (a a) a Idempotncia ( 2.4)5. (a) a Dupla Negao ( 2.5)6. (a (a)) Terceiro Excludo ( 2.6)7. (a (a)) No Contradio ( 2.7)8. a (a b) Negao do Antecedente ( 2.8)9. (a b) (b a) Contraposio ( 2.9)10. (a b) ((a) (b)) De Morgan ( 2.10)11. (a b) ((a) (b)) De Morgan ( 2.11)12. (a b) ((a) (b)) ( 2.12)13. (a b) ((a) (b)) ( 2.13)14. (a b) (a (b)) ( 2.14)15. (a b) ((a) b) ( 2.15)2.1.1 Deduo

    Um tpico importante dentro do Clculo Sentencial o da Deduo. Deduo a obteno de uma concluso verdadeira, a partir de premissas consideradas

    verdadeiras e de axiomas vlidos. Em princpio pode tambm ser verificada atravs do uso de tabelas de verdade.

    Para denotar que Os axiomas a1 am permitem deduzir b, a partir das premissas p1 pn usada a grafia:

    p1,...,pn,a1,...,am b ( 2.16)

    Como exemplo, considere-se a verificao da legitimidade da deduo:

    a b, b a ( 2.17)

    a b b a b a V V F V F

    V F V F F

    F V F V V

    F F V V V

    Observa-se nesta tabela de verdade que, quando a b, b so, simultaneamente, V tem-se que

    o valor de a V. Uma forma de reduzir o emprego de tabelas de verdade de grandes dimenses utilizar algumas

    formas j conhecidas de deduo:

    1. a, a b b Modus Ponens ( 2.18)2. a b, b a Modus Tollens ( 2.19)3. a b, b c a c Silogismo Hipottico ( 2.20)4. a, a b b Silogismo Disjuntivo ( 2.21)5. a c, ( a b ) ( c d ) b d Dilema Construtivo ( 2.22)6. ((b) (d)), ( a b ) ( c d ) (a) (c) Dilema Dedutivo ( 2.23)7. a b a Simplificao ( 2.24)8. a, b a b Conjuno ( 2.25)9. a a b Adio ( 2.26)10. a, a b Deduo por Absurdo ( 2.27)

  • 9

    2.2 Clculo de Predicados

    O clculo de predicados tambm estuda a legitimidade ou no de sentenas, mas agora incluindo os efeitos dos quantificadores ( e ), bem como os predicados (verbos e objetos).

    Considere a seguinte deduo, com o quantificador universal : (TODAS as crianas estudam) (Alice uma criana) (Alice estuda)

    que pode ser representada simbolicamente por:

    {(x [Criana(x) Estuda(x)]) (Criana(Alice) = V)} Estuda (Alice) = V. ( 2.28)

    A importncia do quantificador pode ser facilmente ser percebida examinando-se a mesma estrutura anterior, com o quantificador existencial no lugar de :

    (EXISTEM crianas que estudam) (Alice uma criana) (Alice estuda)

    que pode ser representada simbolicamente por:

    {(x [Criana(x) Estuda(x)]) (Criana(Alice) = V)} Estuda (Alice) = V ( 2.29) Obviamente, esta segunda deduo incorreta. A importncia do predicado evidenciada pelo seguinte exemplo, onde Filho(x,z) significa que

    x e filho de z e Irmo(x,y) significa que x irmo de y: xy (z [Filho(x,z) Filho(y,z)] Irmo(x,y)) Filho(Charles, Elizabeth) = V Filho(Andrew, Elizabeth) = V A partir destas expresses devemos concluir que: Irmo(Andrew, Charles) = V. At agora foram utilizadas nas representaes as combinaes ( com ) e ( com ): x [Criana(x) Estuda(x)] e x [Criana(x) Estuda(x)] Ser avaliada, ento, a convenincia ou no das combinaes ( com ) e ( com ): x [Criana(x) Estuda(x)] e x [Criana(x) Estuda(x)]. Lembrando que (a b) ((a) b), o primeiro termo permite escrever x [Criana(x) Estuda(x)] x [(Criana(x)) Estuda(x)]

    ou seja, existe algum que no seja criana ou que estude. uma sentena de pouco interesse. Por outro lado, aplicando a propriedade que a b a, tem-se a partir do segundo termo que Criana(x) Estuda(x) Criana(x), de onde se conclui que:

    x Criana(x)

    que tambm de pouco interesse. Algumas expresses teis envolvendo quantizadores esto listadas a seguir:

  • 10

    1. x A(x) x A(x) ( 2.30)2. x A(x) (x (A(x))) ( 2.31)3. (x A(x)) x (A(x)) ( 2.32)4. x A(x) (x (A(x))) ( 2.33)5. (x A(x)) x (A(x)) ( 2.34)6. x (A(x) B(x)) (x A(x) x B(x)) ( 2.35)7. x (A(x) B(x)) (x A(x) x B(x)) ( 2.36)8. ((x A(x)) (x B(x))) x (A(x) B(x)) ( 2.37)9. ((x A(x)) (x B(x))) x (A(x) B(x)) ( 2.38)10. x (A(x) B(x)) (x A(x) x B(x)) ( 2.39)

    O processo de deduo, no clculo de predicados, similar ao clculo sentencial, exceto por passos adicionais para eliminao ou introduo de quantificadores.

    A eliminao de recebe o nome de IU (Instanciao Universal) e a introduo de de GE (Generalizao Existencial).

    A regra IU no apresenta dificuldades, uma vez que a validade de x (A(x) B(x)) permite efetuar uma substituio x' de x de modo que a instncia A(x') B(x') seja vlida.

    Tambm GE no apresenta dificuldades, pois se (A(x) B(x)) vlida para x genrico, ento x (A(x) B(x)).

    Por outro lado deve-se tomar cuidado com a introduo de que recebe o nome de GU (Generalizao Universal) e a eliminao de , ou IE (Instanciao Existencial).

    Para ilustrar o efeito de no se ter cautela em deduo, considere o contra exemplo, onde Filho(x,z) significa que x filho de z, ou alternativamente z me de x:

    i. x (z Filho(x,z)) ; premissa. ( 2.40)ii. z Filho(x',z) ; IU em i. ( 2.41)iii. Filho(x',z') ; IE em ii. ( 2.42)iv. x Filho(x,z') ; GU incorreto em iii, pois anteriormente, em iii, ligou-se a

    varivel z' a x', afirmando no caso, que x' filho de z'. ( 2.43)

    v. z (x Filho(x,z)) ; GE em iv. ( 2.44)

    Enquanto a interpretao de (i) "todos tem uma me", a de (v) "existe uma me de todos".

    2.2.1 Resoluo Uma forma de verificar a legitimidade ou no de uma sentena a utilizar o processo de

    resoluo. Para ilustrar o conceito fundamental envolvido na resoluo, sejam as premissas: (Musculoso(x)) Forte(x) Musculoso(Tyson)

    das quais pode-se concluir que Forte(Tyson), pois no admissvel ter Musculoso(Tyson) e Musculoso(Tyson). A resoluo envolve, portanto, a utilizao de premissas envolvendo conectivos e critrios do tipo A e A.

    As sentenas constitudas de disjunes so ditas estarem na forma de clusulas. As sentenas bem formadas podem sempre ser colocadas na forma de clusula (as sentenas malformadas usualmente no fazem sentido, como x[A(x) x]).

    O processo de reduo de uma sentena forma de clusula pode ser ilustrada com o exemplo:

    x[A(x) ((y A(y)) (y (B(x,y))))] ( 2.45)

    Passo 1: Eliminar usando (a b) ((a) b)

    x[A(x) ((y A(y)) (y (B(x,y))))] ( 2.46)

    Passo 2: Trazer junto aos tomos:

  • 11

    x[A(x) ((y A(y)) (y B(x,y)))] ( 2.47)

    Passo 3: Eliminar a repetio de smbolos iguais empregados para variveis no relacionadas:

    x[A(x) ((y A(y)) (z B(x,z)))] ( 2.48)

    Passo 4: Eliminar os quantificadores existenciais. Em uma expresso do tipo x[z B(x,z)], para cada x, existe um z, possivelmente dependente de x, que afirma B(x,z). Portanto, pode-se definir um mapa que associa a cada x, o seu z correspondente, h:x z, ou seja, z = h(x). Este tipo de mapa chamado de funo de Skolem. No presente caso,

    x[A(x) ((y A(y)) B(x,h(x)))] ( 2.49)

    Passo 5: Converter forma prenex. A forma prenex aquela em que os quantificadores esto no incio da expresso. J que cada quantificador universal possui a sua prpria dummy variable, no h possibilidade de embaralhamento das variveis ao se mover o smbolo para o incio da sentena. A expresso entre os colchetes, recebe o nome de matriz

    xy [A(x) (A(y) B(x,h(x)))] ( 2.50)

    Passo 6: Colocar a matriz na forma conjuntiva normal, ou seja,

    (( a11 a12 ... a1n ) ... ( am1 am2 ... amp )) ( 2.51)que, no caso em questo se reduz eliminao de parnteses:

    xy [A(x) A(y) B(x,h(x))] ( 2.52)

    Estando na forma conjuntiva normal, pode-se escrever, aps IU:

    1: a11 a12 ... a1n M ... m: am1 am2 ... amp

    ( 2.53)

    onde se aplica, facilmente, o processo de resoluo.

    Considere o seguinte exemplo de deduo, a ser avaliada quanto sua legitimidade:

    x[Musculoso(x) Forte(x)] x[Jquei(x) (Forte(x))] x[Jquei(x) Alto(x)] x[Alto(x) (Musculoso(x))] A avaliao da legitimidade pode ser feita por refutao, negando-se a tese e verificando que

    isso leva a contradio. Este mtodo (prova por absurdo) muito usado em cursos de matemtica.

    i. x[Musculoso(x) Forte(x)] ; premissa. ( 2.54)ii. y[Jquei(y) (Forte(y))] ; premissa. ( 2.55)iii. z[Jquei(z) Alto(z)] ; premissa. ( 2.56)iv. w[Alto(w) Musculoso(w)] ; premissa obtida por negao da tese. ( 2.57)v. (Musculoso(x)) Forte(x) ; clusula derivada de i . ( 2.58)vi. (Jquei(y)) (Forte(y)) ; clusula derivada de ii. ( 2.59)vii. Jquei(z) Alto(z) ; clusula derivada de iii. ( 2.60)viii. Jquei(z) ; simplificao de vii. ( 2.61)ix. Alto(z) ; simplificao de vii. ( 2.62)x. Alto(w) Musculoso(w) ; clusula derivada de iv. ( 2.63)xi. Musculoso(z) ; resoluo ix, x. ( 2.64)xii. Forte(z) ; resoluo v,xi. ( 2.65)xiii. Jquei(z') ; resoluo vi, xii. ( 2.66)xiv. x[Alto(x) (Musculoso(x))] ; por absurdo, viii, xiii ( 2.67)

  • 12

    3 REPRESENTAO DE CONHECIMENTOS

    Conhecimento pode ser definido como sendo um conjunto de informaes que permitem articular os conceitos, os juzos e o raciocnio, usualmente disponveis em um domnio particular de atuao. Empregando-se um sistema de smbolos, este conhecimento pode ser representado de modo a permitir atividades como inferncia ou memorizao.

    3.1 Principais Formas de Representao do Conhecimento em IA

    Representao por lgica matemtica; Representao por regras de produo; Representao por redes semnticas; Representao por quadros e roteiros (frames e scripts).

    3.1.1 Representao Utilizando Lgica Matemtica

    A lgica muito antiga, remontando ao tempo dos filsofos gregos. Este tipo de representao bastante formal apresentando grande dificuldade de legibilidade e expresso do conhecimento por parte dos leigos.

    3.1.2 Representao Utilizando Regras de Produo

    Uma forma muito comum de representar conhecimentos heursticos usar regras de produo, tipicamente na forma Se (condies) Ento (concluses). Embora regras de produo sejam apenas casos particulares de sentenas tratveis pela Lgica de Predicados, muitos sistemas prticos empregam esta estrutura de representao. Muitos sistemas especialistas utilizam regras de produo aliadas a uma mquina de inferncia para realizar a sua tarefa. Como exemplo de regras de produo considere a clssica representao de conhecimentos sobre alguns animais.

    i. Se (produz_leite tem_pelos) Ento (mamfero) ii. Se (mamfero come_carne) Ento (carnvoro) iii. Se (mamfero possui_presas possui_garras) Ento (carnvoro) iv. Se (mamfero possui_casco) Ento (ungulado) v. Se (carnvoro pardo pintado) Ento (ona) vi. Se (carnvoro pardo listrado) Ento (tigre) vii. Se (ungulado pardo pintado) Ento (girafa) viii. Se (ungulado branco listrado) Ento (zebra)

    onde, a regra Se (produz_leite tem_pelos) Ento (mamfero) pode ser entendida como uma instanciao de x [(produz_leite(x) tem_pelos(x)) mamfero(x)], como visto no captulo 2.

    A partir de fatos conhecidos sobre um dado animal A, do tipo {tem_pelos(A), produz_leite(A), come_carne(A), pardo(A), pintado(A)}, pode-se concluir que A uma (ona). Quando se busca, a partir dos dados, verificar qual a concluso a ser obtida, diz-se que o encadeamento progressivo (acompanha a direo apontada pela ).

    Uma outra forma de usar os conhecimentos na forma de regras de produo partir das concluses que podero ser provadas ou no. Conjecturando que A (girafa), verifica-se, a partir de vii, que se necessitam das condies {ungulado, pardo, pintado}. As condies {pardo, pintado} j esto fornecidas. Entretanto, h necessidade de verificar se a condio {ungulado} satisfeita. Para tal, deve-se examinar a regra iv que agora requer as condies {mamfero, possui_casco}. Como no h nenhuma regra que permita verificar se {possui_casco) verdadeira e como esse fato tambm no fornecido como dado, a tentativa de provar que A (girafa) resulta em falha. Por outro lado, o mesmo procedimento aplicado a (ona) fornece condies que podem ser deduzidas dos dados fornecidos. Quando se busca, a partir dos objetivos (goals), as condies necessrias para a sua deduo, at que se casem com os dados fornecidos, diz-se que o encadeamento retroativo (a busca ocorre no sentido oposto ao indicado pela ).

  • 13

    3.1.3 Representao Utilizando Redes Semnticas

    A rede semntica uma coleo de ns conectados por arcos. Os ns representam objetos, conceitos ou eventos e os arcos representam as relaes. Usualmente os ns e os arcos so etiquetados para indicar o que representam:

    ComputadorEquipamento_Eletrnico

    Rdio

    Micro

    Relgio Digital

    _um

    _um

    _um

    _um

    Horas

    CPU Memria

    Chips

    Cdigo_Binrio

    RAM

    PROM

    Antena

    Som

    usa

    usa

    usa usausa

    _uma

    _uma

    produz

    mostra

    Figura 3-1. Uma rede semntica representando conhecimentos sobre equipamentos eletrnicos.

    Uma forma de organizar redes semnticas simples utilizando triplas (atributo, objeto, valor):

    Atributo objeto valor Se Corrente cabo_29

  • 14

    3.2 Mtodos de busca.

    Muitos problemas de IA necessitam de mtodos de casamento (matching) e busca (search), durante o processo de soluo.

    Considere-se o problema de obter exatamente 1 litro de gua em uma das jarras, a partir de uma jarra com 5 litros de capacidade, inicialmente cheia, e uma de 2 litros, inicialmente vazia. Representando as duas jarras por um par ordenado (x,y), onde x o nmero de litros de gua na primeira jarra e y na segunda, os passos para a soluo do problema podem ser apresentados na seguinte forma grfica:

    (5,0)

    (0,0) (3,2)

    (0,2) (3,0)

    (0,0) (1,2) (0,0)

    (5,0)

    (2,0)OBJETIVO

    Figura 3-3. rvore correspondente ao problema de jarras dgua.

    O problema das jarras pode, ser resolvido mediante o uso de um algoritmo de busca em rvores. Aqui, a partir do n (5,0), feita uma busca que terminaria ao se encontrar o n objetivo (1,2).

    Como mencionado anteriormente, a busca pode ser realizada nos sentidos de encadeamento progressivo ou retroativo. A vantagem de um ou outro depende da particular estrutura de rvore a ser pesquisada. Em termos intuitivos, a verificao de se uma dada pessoa av de uma outra mais facilmente feita no sentido neto pais av do que no sentido av pais neto. Tal caracterstica se deve ao fato que cada um (neto) tem apenas 2 avs (materno e paterno), portanto, apenas 2 candidatos a serem pesquisados. Por outro lado, se um av gerou 5 filhos, e cada filho gerou 5 netos, tem-se que para verificar se uma dada pessoa neto deste av, h necessidade de pesquisa entre 25 candidatos.

    O desenrolar de jogos, como xadrez, damas, e jogo da velha, tambm pode ser caracterizado por rvores. Para que se possam selecionar as opes mais promissoras para o jogo, h necessidade de uma heurstica que permita fornecer, a cada jogada, um ndice que reflita a vantagem posicional alcanada pelo movimento escolhido. Uma heurstica possvel contar, em cada situao de jogo, a diferena entre o nmero de alinhamentos possveis para cada jogador. Para simplificar a explicao, considere-se uma notao anloga utilizada em teoria de matrizes, ou seja, a posio na i-sima linha e j-sima coluna denotada (i,j). Nestas condies, a situao ilustrada na Figura 3-4 possui um smbolo (O) na posio (1,2) e um smbolo () na posio (2,2). A partir desta situao, o jogador que utiliza o smbolo (O) pode obter 4 alinhamentos enquanto o que utiliza () consegue 6. Portanto, o jogador () atribui um valor +2 = +6 - 4 para esta situao.

    -4

    +6-4+6=+2

    Figura 3-4. A primeira linha apresenta os alinhamentos possveis (4) para o jogador (O) e a segunda os possveis (6) para o jogador (). A diferena -4+6=+2 o ndice para a configurao no canto

    superior esquerdo.

    A rvore mostrada na Figura 3-5 ilustra o mecanismo que o jogador () utiliza para posicionar a sua ficha. Caso o jogador () posicione a ficha na posio (1,1), o jogador (O) poder obter valor -1

  • 15

    atravs da ocupao de (2,2), que a situao mais favorvel para (O), dada a jogada do (). Se o jogador (O) ocupar a posio (2,1), por exemplo, obtm apenas valor +1, ou seja pior para (O). Note-se que o melhor caso para (O) ser tambm o pior caso para (). Assim, considerando-se as possibilidades para a primeira jogada de (), os valores associados so:

    () em (1,1) -> valor -1, () em (2,2) -> valor +1, () em (2,1) -> valor -2. Portanto, considerando o melhor dos piores casos, o jogador () deve optar por colocar a sua

    ficha em (2,2), que corresponde ao mximo entre -1, +1 e -2. Por outro lado, o valor -1 corresponde ao mnimo entre 1, 0, 1, 0 e -1 da sub-rvore esquerda da Figura 3-5. Analogamente, o valor -2 corresponde ao mnimo entre -1, -2, 0, 0, e -1, da sub-rvore direita da Figura 3-5. Esta estratgia de deciso chamada de max-min, ou seja, maximizar o ganho considerando os piores casos.

    1

    1

    10

    1

    1

    1 2

    2

    1

    20

    0

    1

    0

    Situao Inicial

    Figura 3-5. Construo da rvore correspondente ao jogo da velha, utilizando a heurstica de

    diferenas entre o nmero de alinhamentos possveis para cada jogador, a partir do tabuleiro vazio (situao inicial). Note que as alternativas simtricas no esto aqui ilustradas.

    De um modo geral, os processos de busca podem ser, conforme mencionado anteriormente, do tipo encadeamento progressivo (data driven) ou retroativo (goal driven). Ainda, dependendo de como se executa o controle sobre a busca, pode ser do tipo busca em profundidade ou busca em largura.

    Goals

    Premissas

    Incio

    Profundidade PrimeiroEncadeamento Retroativo

    Premissas

    Profundidade Primeiro

    Goals

    Incio

    Encadeamento Progressivo

    Figura 3-6. Ilustrao das formas de encadeamento retroativo e progressivo para o caso de busca em

    profundidade.

  • 16

    Goals

    Premissas

    Incio

    Encadeamento RetroativoLargura Primeiro

    Goals

    Premissas

    Incio

    Largura PrimeiroEncadeamento Progressivo

    Figura 3-7. Ilustrao das formas de encadeamento retroativo e progressivo / busca em largura.

    3.2.1 Algoritmo A*

    Um exemplo de mtodo de busca muito usado o algoritmo A*. Este algoritmo aplicvel quando se dispe de uma funo de avaliao heurstica do custo, denotada f(). Em muitas aplicaes, o custo incorrido ao percorrer, a partir de S, um certo caminho at o n N, pode ser calculado atravs de uma funo g(). Se for disponvel uma funo heurstica h() que permite estimar o custo para percorrer a rvore de N at o n objetivo G (goal), ento, f(N) = g(N) + h(N). No caso de navegao de um rob mvel, a distncia direta (sem considerar obstculos como morros e lagos) poderia ser considerada uma funo heurstica para avaliar a convenincia ou no de se tomar uma deciso sobre a direo a ser seguida.

    Passo 0. Criar um grafo de busca G, inicialmente contendo somente o n de partida S.

    Passo 1. Inicializar uma lista chamada OPEN com o n de partida S e uma lista chamada CLOSED com . (OPEN a lista dos ns ainda no selecionados para expanso, enquanto CLOSED a lista dos ns j expandidos)

    Passo 2. LOOP: Se OPEN = Ento FIM e reportar Falha.

    Passo 3. Tomar um n de OPEN com o menor f'. Chamar este n de N. Retir-lo de OPEN e coloc-lo em CLOSED.

    Passo 4. Se N o n buscado (goal) Ento FIM e fornecer a soluo percorrendo os ponteiros de N a S.

    Passo 5. Expandir N, gerando o conjunto de ns SUCESSORES e ento adicion-los no grafo.

    Passo 6. Para cada membro M de SUCESSORES: Se M {OPEN, CLOSED} Ento adicionar M em OPEN; Se M OPEN Ento chamar a cpia de M em OPEN de Mold; verificar se g(M) < g(Mold): em caso afirmativo, tem-se que melhor chegar a M atravs do caminho atual

    do que a indicada pelo ponteiro de Mold. Portanto, descarta-se Mold e faz-se o M apontar para N. em caso negativo, basta que se remova M. Se M CLOSED Ento chamar a cpia de M em CLOSED de Mold; de modo similar ao caso (M

    OPEN), verificar qual o melhor caminho para M e atualizar os valores de g e f.

    Passo 7. Reordenar OPEN com base no f.

    Passo 8. Return LOOP;

  • 17

    4 CONTROLADORES BASEADOS EM CONHECIMENTOS

    Regras de produo do tipo Se (condies) Ento (aes) podem ser utilizadas para incorporar mquina a experincia heurstica do operador humano. Entre as tarefas que podem ser realizadas por sistemas baseados em conhecimento esto: Interpretao de dados, predio, diagnose, sntese, planejamento, monitorao, correo de falhas, treinamento e controle ativo.

    A arquitetura mais simples de um sistema baseado em conhecimentos envolve um banco de conhecimentos, onde as regras esto armazenadas, um banco de dados, onde as informaes sobre as condies da planta a ser controlada e as medidas esto armazenadas e uma mquina de inferncia que dever deduzir as aes a serem tomadas, em funo das informaes dos bancos de dados e de conhecimentos.

    A mquina de inferncia executa, usualmente, os seguintes passos:

    Passo 1: Busca de regras no banco de conhecimentos que tenham as condies satisfeitas, em termos

    do contedo do banco de dados (casamento do antecedente).

    Passo 2: Se houver uma ou mais regras com as condies satisfeitas Ento selecionar uma (resoluo de conflito) Seno, retornar ao Passo 1.

    Passo 3: Executar a ao descrita na regra selecionada e retornar ao Passo 1. As regras de produo podem ser utilizadas em sistemas de controle em trs nveis hierrquicos:

    Controladorusando

    Regras de Produo

    Supervisor usando

    Regras de ProduoOperador

    Planta

    MVPVSP

    Registro de Dados

    Assistente usando

    Regras de ProduoConsultaoff-line

    Data Logging

    Monitorao

    Correo

    on-line

    DDC

    Alarmes

    off-line

    Figura 4-2. Esquema de um sistema de controle empregando representao de conhecimentos na forma de regras de produo. As siglas utilizadas so: SP = Set Point, PV = Process Variable,

    MV = Manipulated Variable e DDC = Direct Digital Control.

    O nvel hierrquico inferior corresponde ao Controle Direto Digital, empregando controladores

    baseados em conhecimentos, no caso, representados por regras de produo. O nvel hierrquico intermedirio compreende a utilizao de bases de conhecimentos para

    supervisionar a operao geral da planta controlada, em tempo real, aquisicionando sinais de alarmes e

    Figura 4-1. Arquitetura tpica de um sistema baseado em conhecimentos.

  • 18

    de controle, podendo interagir com o operador humano em termos de correo e monitorao do sistema. O supervisor pode ter funes de deciso como reconfigurao de controladores aps testes de desempenho do sistema, partida e desligamento inteligentes, deteco e acomodao de falhas, entre outras.

    O nvel hierrquico superior corresponde a operao off-line para dar assistncia ao operador, quer na forma de consulta sobre procedimentos operacionais de rotina, quer no treinamento de novos recursos humanos. Pode, por exemplo, auxiliar equipes de manuteno, em funo de diagnsticos aprofundados a partir dos dados armazenados durante a operao da planta.

    4.1 Exemplo de Controlador usando Regras de Produo.

    Como exemplo de um controlador usando regras de produo, ser apresentada uma verso desenvolvida no trabalho de Cardozo e Yoneyama, 1987 e Yoneyama, 1988, onde se considera uma planta no linear descrita por uma equao diferencial ordinria no linear e invariante no tempo:

    )()]([)(

    )()(

    32

    2

    21

    tutxdt

    tdx

    txdt

    tdx

    +=

    =

    ( 4.1)

    onde, = 1 uma constante e, no instante inicial t=0, o sistema est em repouso (x1(t) = 0 e x2(t) = 0). Um controlador que pode ser utilizado para esta planta da forma:

    )]()((,[)( tytyKsatktu r= ( 4.2)onde a funo sat[.,.] dada por:

    >=

    MzzMsignMzz

    zMsat se ),( se ,

    ],[ ( 4.3)

    De modo heurstico, foram propostas as seguintes regras para ajuste on-line de k e K, admitindo

    que o nvel de saturao do controle K = 5.0 e velocidades adequadas esto na faixa de V = 0.18: REGRA 1: Se (x2(t) V) (|y(t) - yr (t)| < 0.2) (x1(t) < 1.0) Ento (k -50.0) REGRA 2: Se (x2(t) > V) (|y(t) - yr (t)| < 0.2) (x1(t) > 1.0) Ento (k 50.0) REGRA 3: Se (x2(t) -V) (|y(t) - yr (t)| < 0.2) (x1(t) > 1.0) Ento (k -50.0) REGRA 4: Se (|x2(t)| -V) (|y(t) - yr (t)| < 0.2) Ento (k 1.0) REGRA 5: Se (|x2(t)| -V) (x1(t) < 1.0) Ento (k 1.0) Uma vez que as regras 1 a 5 promovem um controle com sada levemente oscilatria, foi

    introduzida uma regra adicional: REGRA 6: Se (t > 2.0) Ento (tc tc + 0.05) (V V/tc)

  • 19

    4.2 Exemplo de um Supervisor Inteligente

    Como exemplos de supervisores inteligentes podem ser citados os sistemas desenvolvidos em Pereira, Yoneyama e Cardozo, 1990, Pereira, Cardozo e Yoneyama, 1991 e Fujito e Yoneyama, 1992. A grande virtude de se utilizar supervisores inteligentes a possibilidade de realizar processamentos simblico e numrico de forma simultnea, valendo-se das vantagens de ambos.

    Um destes exemplos consiste de um supervisor inteligente para sintonizao fina automtica de controladores PID.

    Figura 4-3. Sintonizao fina automtica de Controladores PID usando base de conhecimentos.

    Considera-se aqui que o controlador j foi sintonizado inicialmente utilizando mtodos como os de Ziegler-Nichols. Nestas condies, pretende-se, obter uma sintonizao fina atravs do emprego de regras heursticas:

    i) Aplica-se um sinal v(t) = degrau e a partir de e(t), calcula-se y(t)

    0 5 10 15 20 25 300

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    Tempo (s)

    Resposta de Segundo Grau

    Sobrepasso: pico1

    Subpasso: pico2

    tpico1 tpico2

    pico3

    Figura 4-4. Parmetros para o refinamento da heurstica na sintonizao de controladores PID.

    ii) Detectam-se os trs primeiros picos na sada y(t) e calculam-se os parmetros:

    Sobrepasso Mximo da Varivel de Sada; Subpasso Mximo da Varivel de Sada; Perodo de Oscilao Amortecida: )(2 120 picopico ttT = ; Razo entre os dois primeiros picos:

    12

    12 picopico

    r = ;

  • 20

    ndice de Convergncia: 2132

    picopicopicopico

    cnv ++= ;

    iii) Verifica-se a adequao da atual resposta do sistema. Em caso afirmativo, o supervisor entra em modo de espera. Seno, calcula-se a contribuio de fase, na frequncia 2/T0

    =

    I

    I

    P

    DPID K

    KTKTK

    22

    tan 00

    1 ( 4.4)

    e reajustam-se KD e KI de modo que PID seja minimizado. iv) KP multiplicado pela razo entre o sobrepasso desejado e o sobrepasso medido. v) Recalcula-se KI e KD e retorna-se ao passo i. Aplicando-se estas regras ao sistema:

    3)5.0exp(10)( +

    =s

    ssG ( 4.5)

    onde se especificou sobrepasso mximo de 15% e subpasso mximo de 7.5%, resultou

    Iterao KP KI KD Sobrepasso Subpasso 1o 0.268 0.417 0.051 23.5% 17.6% 2o 0.268 0.625 0.052 55.3 30.7 3o 0.147 0.342 0.029 6.25 0.84

    Uma dificuldade com este tipo de enfoque a necessidade de regras heursticas de qualidade

    para que a planta seja operada com segurana, o que no sempre disponvel. Ainda, importante observar que regras podem ser omissas na ocorrncia de imprevistos ou pode at mesmo existir regras conflitantes, uma vez que a base de dados pode, eventualmente crescer de forma significativa.

    4.3 Exemplo de um Assistente Inteligente

    Como exemplo de um assistente inteligente apresentado o TOAST, que possui capacidades para simulao de eventos e diagnsticos de falhas em sistemas eltricos de potncia (Assistentes poderiam, tambm, serem operados em tempo real, caso em que so chamados de Fase 2. Os Assistentes de Fase 1 so aqueles operando off-line e utilizados para pesquisa, treinamento e demonstrao de conceitos, podendo evoluir, mais tarde, para Fase 2). O TOAST um assistente de Fase 1, desenvolvido em 1985 na Universidade de Carnegie-Mellon.

    D i a g n o s t i c a d o r

    B a n c o d e D a d o s s o b r e a P l a n t a

    S i m u l a d o r d e E v e n t o s

    I n t e r f a c e p a r a o U s u r i o

    Q u a d r o N e g r o

    Figura 4-5. Arquitetura de um assistente inteligente. O Diagnosticador um SE que permite identificar a falha que ocasionou a alterao acidental na

    configurao da rede de distribuio de energia eltrica. Ele escrito em OPS 5, com cerca de 150 regras. O Simulador de Eventos utilizado para fornecer a assinatura de eventos que seriam

  • 21

    decorrentes de uma dada falha tomada como hiptese diagnstica. escrito em OPS 5 e LISP, com cerca de 150 regras e 25 funes LISP. A Interface com o usurio, tambm inteligente, proporciona ao usurio ou trainee, facilidades de interao com a mquina. Escrito em OPS 5, possui aproximadamente 175 regras.

  • 22

    5 INTRODUO LGICA NEBULOSA

    A lgica nebulosa (fuzzy logic) permite o tratamento de expresses que envolvem grandezas descritas de forma no exata e que envolvam variveis lingsticas. A lgica nebulosa baseia-se no conceito de conjuntos nebulosos.

    5.1 Conjuntos Nebulosos

    Um conjunto uma coleo de objetos. Na teoria clssica, um objeto possui apenas duas possibilidades quanto sua relao com um conjunto, ou seja, um dado objeto ou no um elemento do conjunto. Na teoria de conjuntos nebulosos, um objeto possui variados graus de pertinncia. Pode-se ilustrar a utilidade de tal tipo de teoria examinando exemplos do dia a dia. Na teoria clssica, um paciente dito estar com febre se a sua temperatura axilar ultrapassa 37.8o C. Assim, algum que tenha 37.7o no pertence ao conjunto de pacientes febris. Tambm, homens com alturas entre 1.65 e 1.75m so considerados de estatura mediana e, acima de 1.75m, estatura alta. Nestas condies, 1.76m a estatura de homem alto, mas 1.74 a de um homem mediano:

    Figura 5-1. Representao de condies (afebril/febril, baixo/mediano/alto) por faixas precisamente definidas.

    Por outro lado, usando o conceito de conjuntos nebulosos, as incertezas quanto ao que seria estado febril (ou ao que seria alto) ficariam representados por um grau de pertinncia:

    Figura 5-2. Representao de condies afebril e estatura alta utilizando graus de pertinncia.

    A formalizao do conceito de conjuntos nebulosos pode ser obtida estendendo-se a teoria clssica de conjuntos. Assim, na teoria clssica, um conjunto pode ser caracterizado pela sua funo indicadora, ou seja, dado um conjunto A no universo X, define-se IA(x): X [0,1] por:

    georgeRealce

    georgeRealce

    georgeRealce

  • 23

    =

    AxseAxse

    xI A 0 1

    )( ( 5.1)

    Se X for o conjunto R+ e A um intervalo fechado,

    Figura 5-3. Funo indicadora do conjunto A.

    Portanto, um conjunto clssico pode ser representado por A = { xX | IA(x) = 1 }, ou abreviadamente, A {x, IA}. De forma anloga, os conjuntos nebulosos so definidos por A = { xX | A(x) = 1 }, onde A(x): X [0,1] a funo de pertinncia que expressa o quanto um dado elemento x pertence a A.

    1

    (x)A

    X

    A

    Baixo grau de pertinncia

    Alto grau de pertinn c i a

    Figura 5-4. Funo de pertinncia para um conjunto nebuloso A.

    A teoria de conjuntos nebulosos busca, portanto, traduzir em termos formais a informao imprecisa que ocorre de maneira espontnea na representao dos fenmenos da natureza, como descrito por humanos utilizando uma linguagem corriqueira.

    Na teoria clssica, quando um elemento x pertence a um conjunto A ou a um conjunto B, diz-se que x A B. Quando um elemento x pertence simultaneamente aos conjuntos A e B, diz-se que x A B. Tambm no caso de conjuntos nebulosos deseja-se fazer associaes semnticas anlogas e que resultariam em interpretaes teis para expresses do tipo ( ), ( ), (). Portanto, necessrio que sejam definidas, para conjuntos nebulosos, as operaes com conjuntos: A B, A B e Ac.

    Dados conjuntos nebulosos A e B sobre um universo X e caracterizados pelas funes de pertinncia A e B , podem ser definidas as seguintes operaes:

    a) Unio: o conjunto nebuloso C = A B caracterizado pela funo de pertinncia:

    x X, C (x) = max{ A(x), B(x) } ( 5.2)

    A expresso ( 5.2) representa apenas uma forma particular de definir C, com C = A B, a

    partir de A e B, como ser detalhado mais adiante.

  • 24

    Figura 5-5. Unio de conjuntos nebulosos C = A B.

    b) Interseco: o conjunto D = A B caracterizado pela funo de pertinncia:

    x X, D (x) = min { A(x), B(x) } ( 5.3)

    Figura 5-6. Interseco de conjuntos nebulosos D = A B.

    c) Complementao: o conjunto E = Ac caracterizado pela funo de pertinncia:

    x X, E (x) = 1 - A(x) ( 5.4)

    Figura 5-7. Complementao de um conjunto nebuloso E = Ac.

  • 25

    d) Produto: o conjunto F = A B caracterizado pela funo de pertinncia:

    x X, F (x) =A(x) . B(x) ( 5.5)

    Figura 5-8. Produto de dois conjuntos nebulosos F = A B.

    No caso particular de A(x) e B(x) serem idnticos a IA (x) e IB(x), respectivamente, as operaes com conjuntos nebulosos reproduzem as operaes clssicas com conjuntos.

    Pode-se verificar que as operaes com conjuntos nebulosos satisfazem as seguintes propriedades:

    a) (Ac)c = A ; Involuo ( 5.6)b) (A B)c = Ac Bc ; De Morgan ( 5.7)c) (A B)c = Ac Bc ; De Morgan ( 5.8)d) A (B C) = (A B) (A C) ; Distributividade da ( 5.9)e) A (B C) = (A B) (A C) ; Distributividade da ( 5.10)f) (A B) A = A ; Absoro ( 5.11)g) (A B) A = A ; Absoro ( 5.12)h) A A = A ; Idempotncia ( 5.13)i) A A = A ; Idempotncia ( 5.14)

    Definindo-se X(x) = 1 para x X e (x) = 0 para x X, tem-se ainda as propriedades:

    j) A = ( 5.15)k) A X = A ( 5.16)l) A = A ( 5.17)m) A X = X ( 5.18)

    Atentar, porm, que para conjuntos nebulosos algumas operaes legtimas com conjuntos

    clssicos no so necessariamente vlidas:

    n) A Ac X ( 5.19)o) A Ac ; No vale o princpio da excluso ( 5.20)

    Os conceitos de Unio, Interseco e Complementao associados a ( 5.2), ( 5.3) e ( 5.4)

    podem ser tratados de forma mais geral atravs do emprego de operaes conhecidas como normas e conormas triangulares.

    Uma operao t:[0,1][0,1] [0,1] dita ser uma t-norma se:

  • 26

    a) t(0,0) = 0 ( 5.21)b) t(a,b) = t(b,a) ; comutatividade ( 5.22)c) t(a,t(b,c)) = t(t(a,b),c) ; associatividade ( 5.23)d) (a c) (b d) t(a,b) t(c,d) ; monotonicidade ( 5.24)e) t(a,1) = a ( 5.25)

    Se uma operao s possui as propriedades {a,b,c,e} e ainda satisfaz

    a) s(1,1) = 1 ( 5.26)b) s(b,0) = b ( 5.27)ento chamada de t-conorma.

    Pode-se verificar que min(a,b) uma t-norma e max(a,b) uma t-conorma, de forma tal que a interseco e a unio expressas em ( 5.3) e ( 5.2) so instncias particulares de uma famlia de operaes. Algumas das outras operaes que satisfazem as propriedades de t-norma e t-conorma esto apresentas na Tabela 5-1.

    Tabela 5-1

    Nome t-norma t-conorma Zadeh min(a,b) max(a,b)

    Probabilstico a.b a+b-ab Lukasiewicz max(a+b-1,0) min(a+b,1)

    Yager 1-min(1,(1,((1-a)w + (1-b)w)1/w) min(1,(aw + bw)1/w

    Dubois e Prade ),,max( baab

    ),1,1max()1,,min(

    babaabba

    +

    Um operador n:[0,1] [0,1] dito ser de negao se

    a) n(0) = 1 ( 5.28)b) n(1) = 0 ( 5.29)c) a > b n(a) n(b) ( 5.30)d) n(n(a)) = a, a [0,1] ( 5.31)

    So exemplos de negaes:

    a) n(a) = 1 - a ( 5.32)

    b) n a aa

    ( ) , ( , )= + 1

    11 ; negao de Sugeno ( 5.33)

    c) n a a ww w( ) ( ) , ( , )= 1 01

    ; negao de Yager ( 5.34) Assim, na equao ( 5.4), tem-se um caso particular de complementao, caracterizada por:

    A A Ac

    x n x x( ) ( ( )) ( )= = 1 ( 5.35)

    5.2 Lgica Nebulosa

    Conceitos nebulosos expressos em universos distintos podem apresentar relaes entre si. Eventualmente podem estar envolvidos mais de dois universos.

    Sejam X1, X2, ... , Xn universos de discurso. Uma relao nebulosa R em X1X2...Xn definida pelo mapeamento:

    R: X1X2...Xn [0,1] ( 5.36)

  • 27

    Quando se tem duas relaes que devem ser encadeadas, por exemplo A B e B C, seria

    interessante que fosse disponvel um mecanismo de composio. Suponha que X, Y e Z so trs universos de discurso distintos, R1 uma relao sobre X Y e R2 uma outra relao sobre Y Z. Para se obter a composio R1 R2 que relaciona X e Z, estende-se, inicialmente, R1 e R2 para X Y Z. Agora, uma vez que R1 e R2 passaram a ter o mesmo domnio, a relao entre X e Z obtida mediante restrio,

    { }[ ] z)y,(x,z),y,(x, minsup)z(x, extRextRYy

    RR 2121 =o ( 5.37)

    onde

    Xxz)(y,z)y,(x,

    Zzy)(x,z)y,(x,

    22

    11

    RextR

    RextR

    ==

    ( 5.38)

    Esta operao conhecida como extenso cilndrica e a composio expressa em (7.36)

    denominada de sup-min. Uma relao muito importante a expressa por Se A Ento B. Por exemplo, se A W

    temperatura_baixa e B Y tenso_grande, onde W poderia ser um conjunto de temperaturas medidas por um termistor, enquanto Y poderia ser um conjunto de tenses a serem aplicadas na resistncia de aquecimento de uma estufa. Assim, uma forma de expressar a relao R: A B seria:

    R = Ac B ; R(w,y) = max{ 1 - A(w) , B(y) } ( 5.39)em vista de A B ser equivalente a B (A) que associado a Ac B.

    Existem, entretanto, outras associaes teis. Para se utilizar conjuntos nebulosos em deduo, conveniente que se disponha de uma forma de realizar modus ponens em verso nebulosa. Originalmente, modus ponens consiste em obter B a partir de A (A B). Como se sabe que A (A B) (A B), e por sua vez faz-se a associao (A B) com A B, uma verso nebulosa interessante para R seria:

    R(w,y) = min{ A(w) , B(y) } ( 5.40)que conhecido como a regra de Mamdani.

    Uma vez que a relao R: A B esteja caracterizada, a inferncia nebulosa (ou modus ponens generalizado):

    Se (a A) Ento (b B) Tem-se A

    Portanto, B

    pode ser obtida fazendo-se a composio de R com A, usando, por exemplo, sup-min. Quando se dispe de vrias regras envolvendo a mesma varivel, por exemplo denotada a,

    necessita-se de uma forma de amalgamar as concluses implicadas por cada regra: R1: Se (a A1) Ento (b B1) . . . R2: Se (a Am) Ento (b Bm) Uma heurstica para combinar as regras seria tomar como concluso B = B1 ... Bm.

  • 28

    6 CONTROLADORES EMPREGANDO LGICA NEBULOSA

    A lgica nebulosa, na forma como utilizada aqui, uma extenso do conceito de sistemas de produo, no sentido de incluir imprecises na descrio dos processos controlados. Portanto, regras nebulosas podem ser empregadas para controle direto, superviso ou assistncia ao operador. Aqui, ser dedicado maior ateno ao controle direto, uma vez que a modalidade que apresenta maiores diferenas em relao a sistemas tratados anteriormente.

    O problema tpico de controle direto consiste em obter, a partir do modelo da planta, uma lei de controle que atenda as especificaes fornecidas a priori:

    Figura 6-1. Esquema clssico onde o controlador calcula o valor da varivel manipulada (MV) a partir do sinal de erro e = SP - PV, onde SP o set-point e PV o process variable.

    Para efeito de comparao, sejam trs tipos possveis de controladores que poderiam ser empregados como ilustrado na figura 8.1:

    a) Controlador baseado em equao:

    u(t) = e(t)3 ( 6.1)

    Figura 6-2. Caracterstica entrada-sada de um controlador no-linear contnuo e sem dinmica.

    b) Controlador baseado em regras de produo no nebulosas:

    Se ( |e(t)| < k1 ) Ento ( u(t) = 0 )

    Se ( |e(t)| [k1 , k2] ) Ento (u(t) = k13 ) Se ( |e(t)| [k2 , k3] ) Ento (u(t) = k23 ) Se ( |e(t)| > k3 ) Ento (u(t) = k33 )

    Figura 6-3. Caracterstica I/O de um controlador baseado em regras de produo e sem incertezas.

  • 29

    c) Controlador baseado em regra de produo nebulosa:

    Se (e(t) ~ EQZ) Ento (u(t) ~ UQZ) Se (e(t) ~ EMP) Ento (u(t) ~ UMP) Se (e(t) ~ EMN) Ento (u(t) ~ UMN) Se (e(t) ~ EGP) Ento (u(t) ~ UGP) Se (e(t) ~ EGN) Ento (u(t) ~ UGN)

    onde QZ significa Quase_Zero, MP=Mdio_Positivo, MN=Mdio_Negativo, GP=Grande_Positivo e BN=Grande_Negativo.

    Figura 6-4. Tentativa de ilustrar a caracterstica entrada-sada de um controlador nebuloso.

    6.1 Estrutura de Controladores empregando Lgica Nebulosa

    Os controladores empregando lgica nebulosa possuem, de modo geral, trs blocos:

    Figura 6-5. Estrutura tpica de um controlador nebuloso.

    6.1.1 Conversor para Variveis Nebulosas (Nebulisador) O sinal e(t) , usualmente, do tipo numrico. Por outro lado, as regras so expressas em termos

    da pertinncia ou no destas grandezas a conjuntos nebulosos. Assim, h a necessidade de se converter e(t) para uma entidade apropriada para inferncia nebulosa. Tipicamente, so calculados os valores das funes de pertinncia Ai (e(t)) para cada um dos Ai associado grandeza e(t).

    Considere-se que os conjuntos associados a e(t) so A1 = EP (erro pequeno), A2 = EM (erro moderado) e A3 = EG (erro grande). Da figura 8.6, para os instantes t1, t2 e t3 tem-se:

  • 30

    Figura 6-6. Valores da funo de pertinncia parao sinal de erro em diferentes instantes de tempo.

    Para e(t1), tem-se, no caso, a partir da Figura 6-6:

    e tEP com

    EM comEP

    EM( )

    ..1

    0 240 72

    ==

    ( 6.2)

    6.1.2 Mquina de Inferncia Nebulosa A mquina de inferncia deve receber as informaes sobre e(t), j convertidas em termos

    associados a variveis lingusticas, especificamente graus de pertinncia a conjuntos nebulosos e gerar, a partir de uma base de regras fornecidas pelo usurio, uma sada tambm do tipo lingustico, na forma de funes de pertinncia (U(.)) que deve ser, posteriormente, convertido para uma varivel numrica u(t).

    Ressalte-se que no h restries quanto a e(t) ser do tipo vetorial e nem em se realizar operaes auxiliares. Um exemplo de operao auxiliar o clculo de e(t) = e(t) - e(t - t), o que permitiria regras do tipo:

    Se {(e(t) ~ EP) (e(t) ~ DEPG))} Ento (u(t) ~UNG)

    onde DEPG poderia significar e positivo grande e UNG, u negativo grande.

    As regras podem envolver operaes intricadas como:

    Se { e t k t kTk

    p( ) exp( )

    =

    0~ SG } Ento (u(t) ~DUN)

    significando que se a soma dos mdulos do erro, com esquecimento exponencial, numa janela de comprimento p+1, for grande (SG = Somatria Grande), ento o controle deve ser diminudo (Delta u Negativo).

    Uma forma de se representar o conjunto de regras envolvendo apenas uma varivel, por exemplo o erro e(t), atravs de tabela do tipo:

  • 31

    Tabela 6-1. Apresentao compacta, 5 regras, onde NG = Negativo-Grande, NM = Negativo-Mediano, Z = Quase Zero, PM = Positivo-Moderado e PG = Positivo-Grande

    e(t)

    NG NM Z PM PG

    u(t) PG PM Z NM NG

    No caso de se ter 2 variveis, por exemplo e(t) e e(t), pode-se expressar as regras na forma da tabela:

    Tabela 6-2. Apresentao da base de regras para 2 entradas (e, e) e uma sada (u).

    e

    NG NM Z PM PG

    N PG PM Z NM NG

    Z PM PM Z NM NM e

    P Z Z Z NM NG

    Para ilustrar um mecanismo de inferncia, considere-se um caso em que h apenas 2 regras: Regra 1: Se (e ~ EP) Ento (u ~ UP) Regra 2: Se (e ~EG) Ento (u ~UG)

    onde as funes de pertinncia EP(.), UP(.), EG(.), UG(.) associados a Erro-Pequeno, U-Pequeno, Erro-Grande e U-Grande esto ilustrados na Figura 6-7. Para a relao Se (.) Ento (.) utilizada a regra min de Mamdani e para a relao (Regra 1) ou (Regra 2) utilizada a forma max.

    Figura 6-7. Mecanismo de inferncia utilizando o esquema proposto por Mamdani.

  • 32

    6.1.3 Conversor para Varivel Numrica (Desnebulizador) As regras nebulosas produzem como sada conjuntos nebulosos. Como, na prtica, necessita-se

    de um valor bem definido para u(t), defini-se o processo de desnebulizao (s vezes tambm referido como defuzzificao) . Esse processo consiste em obter um valor para u(t) a partir de U(u).

    Os processos mais conhecidos de converso para variveis numricas so: a) Centro de rea (COA): como imaginar a rea sob a curva U(u) como uma placa e

    determinar a coordenada u do seu centro de massa:

    Figura 6-8. Converso para varivel numrica empregandocentro de massa.

    b) Mdia dos Mximos (MOM): valorizar os picos de U(u), sendo que no caso de ser nico, o valor defuzificado a prpria abscissa deste pico:

    Figura 6-9. Converso para varivel numrica empregando mdia dos mximos.

    6.2 Controladores com e(t) e u(t) quantizados

    Considerando-se que, muitas vezes, o universo de discurso X discreto, ou seja, assumindo e { 1, 2, 3, ... , ne } e u { 1, 2, 3, ... , nu }, aps escalonamento conveniente, ter-se-ia X = { 1, 2, 3, ... , ne } { 1, 2, 3, ... , nu }. Observa-se, ento, que uma forma conveniente de representar R(e,u) como uma matriz [R] onde o elemento rij = R(i,j). Neste caso, E(e) seria representado por uma matriz linha [E] com elemento ei = E(i), permitindo a obteno rpida de U(u) usando regra de multiplicao de matrizes, com o produto substitudo pela operao min e a soma pela max: [U] = [E] [R].

    Como exemplo, considere as regras: R1: Se (e ~ EP) Ento (u ~ UG) R2: Se (e ~ EG) Ento (u ~ UP)

  • 33

    onde: EP significa Erro_Pequeno, caracterizado pela matriz [EP] = [ 0.5 1 1 0 0 ] EG Erro_Grande, [EG] = [ 0 0 0.5 1 0.5 ] UG Controle_Grande, [UG] = [ 0 0 0.5 1 1 ] UP Controle_Pequeno, [UP] = [ 1 1 1 0.5 0 ] A regra R1, usando min de Mamdani, dada por

    R1 u1 u2 u3 u4 u5 e1 0 0 0.5 0.5 0.5 e2 0 0 0.5 1 1 e3 0 0 0.5 1 1 e4 0 0 0 0 0 e5 0 0 0 0 0

    A regra R2, de forma anloga, dada por

    R2 u1 u2 u3 u4 u5 e1 0 0 0 0 0 e2 0 0 0 0 0 e3 0.5 0.5 0.5 0.5 0 e4 1 1 1 0.5 0 e5 0.5 0.5 0.5 0.5 0

    Tomando-se a regra R = R1 R2, o conjunto nebuloso correspondente, tambm denotado R,

    com R(e,u) obtido usando max, fica representado pela matriz R:

    R u1 u2 u3 u4 u5 e1 0 0 0.5 0.5 0.5 e2 0 0 0.5 1 1 e3 0.5 0.5 0.5 1 1 e4 1 1 1 0.5 0 e5 0.5 0.5 0.5 0.5 0

    Supondo que, em um dado instante obteve-se a informao de que o sinal de erro descrito por: [E] = [ 0.2 0.7 0.2 0.1 0 ] Neste caso, as regras indicam que deve ser gerado um sinal de controle dado por: [U] = [ 0.2 0.7 0.2 0.1 0 ] [R] = [ 0.2 0.2 0.7 0.7 0.7 ]

    ou seja, o sinal de controle a ser aplicado deve ser algo grande. Na prtica, o valor do sinal de rro calculado a partir de sadas de sensores, assumindo a forma [E] = [ 0 0 0 1 0 ]

    que do tipo no nebuloso, no sentido que e(t) = 4 (valor normalizado). Neste caso, a operao [U] = [E] [R] resulta, simplesmente, na 4a linha de [R].

  • 34

    6.3 Estabilidade no Controle Nebuloso em Malha Fechada

    A relao entrada-sada de um controlador nebuloso , de modo geral, no-linear. Assim, a anlise de estabilidade de sistemas em malha fechada empregando controladores nebulosos requer o uso de mtodos sofisticados, como o de Lyapunov.

    Como ilustrao, considere o caso de um controlador nebuloso de uma entrada e uma sada:

    Tabela 6-3. Regras utilizadas no exemplo de estudo de estabilidade.

    e(t)

    NG NM Z PM PG

    u(t) NG NM Z PM PG As funes de pertinncia empregadas nas regras apresentadas na Tabela 6-3 esto ilustradas na

    Figura 6-10:

    Figura 6-10. Funes de pertinncia do exemplo de estudo de estailidade, onde N significa negativo, P positivo, M moderado, G grande e Z quase zero.

    A partir das regras apresentadas na Tabela 6-3 possvel calcular a sada u a partir de uma dada entrada e. O grfico da relao u=(e) apresentado na Figura 6-11.

    -2 -1 0 1 2-1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    e

    u

    Ganho do Controlador Nebuloso

    Figura 6-11. Relao entrada-sada (u=(e)) para o exemplo de anlise de estabilidade.

  • 35

    Uma vez que a caracterstica entrada-sada do controlador nebuloso conhecida, pode-se buscar

    uma metodologia de anlise de estabilidade de sistemas no-lineares que seja aplicvel para o caso em questo.

    Para o exemplo considerado, aplicvel a teoria de estabilidade absoluta de Lure. Considerando r(.) 0, o diagrama de blocos da Figura 6-1 assume a forma ilustrada na Figura

    6-12. Caso o grfico de (.) esteja contido em um setor limitado por retas de inclinaes a e b,

    conforme ilustrado na Figura 6-13, existem condies que garantem a estabilidade de sistemas como o da Figura 6-12. Um setor limitado por retas de inclinaes a e b denotado setor(a,b).

    Figura 6-12. Diagrama de blocos de um sistema para o qual podem ser estabelecidas condies de estabilidade.

    Figura 6-13. No linearidade do tipo setor, onde o grfico de (.) est contido na regio limitada por retas de inclinaes a e b.

    Teorema 6.1: Se G(s) estvel (ou seja, no possui plos no semi-plano direito), G(s)

    estritamente prprio (ou seja, o grau do denominador estritamente maior que o do numerador), (.) est contido no setor (0,k) com k > 0, ento o sistema em malha fechada (Figura 6-12) estvel se

    Re[1 + kG(j)] > 0, R. ( 6.3)

    No caso particular do exemplo, se o controlador nebuloso caracterizado pelas regras da Tabela

    6-3 for utilizado com uma planta G(s) estvel e estritamente prpria, basta que

    Re[1 + G(j)] > 0, R. ( 6.4)

  • 36

    6.4 Caractersticas de Controladores Nebulosos

    a) Aspectos Favorveis:

    No necessidade de modelamento do sistema a ser controlado; Possibilidade de incorporar conhecimentos heursticos do operador humano; Aplicabilidade a sistemas de dinmica complicada, incluindo no linearidades; Possibilidade de explorar a no-linearidade dos controladores para obter maior desempenho; Disponibilidade de componentes dedicados. b) Aspectos Desfavorveis:

    Ausncia de diretrizes precisas para o projeto do controlador, resultando em enfoque artesanal e pouco sistematizado.

    Impossibilidade de demonstrao, nos casos gerais, de propriedades como a estabilidade, no se podendo garantir, por exemplo, ausncia de ciclos limite.

    Preciso de regulagem eventualmente insuficiente Consistncia das regras no garantidas a priori. c) Capacidade de Aproximao Universal

    Um controlador nebuloso pode assumir a forma de um sistema aditivo nebuloso como ilustrado na figura 8.14:

    Se (x1 A11)...(xn A1n) Ento B1

    Se (x1 Am1)...(xn Amn) Ento Bm

    Desnebulizao Se (x1 A21)...(xn A2n) Ento B2

    B1

    Bm

    x y=F(x) B2

    Figura 6-14. Sistema aditivo nebuloso

    O vetor de entradas x, em funo do grau de pertinncia do componente xj ao conjunto Aij produz sadas Bi que, combinadas, resultam no conjunto B. Aplicando-se a desnebulizao sobre este conjunto obtm-se um valor numrico y. Assim, a sada y uma funo de x, ou seja y = F(x), sendo que as caractersticas de F(.) podem ser modificadas atravs da alterao das funes de pertinncia dos conjuntos Aij e Bi nas regras Se (x1 Ai1)...(xn Ain) Ento Bi.

    No caso de um controlador lgico nebuloso do tipo Mamdani, o mapa y = F(x) da forma:

    { }{ }F(x

    x a c

    x a

    ji

    m

    A j i i

    ji

    m

    A j i

    ij

    ij

    )min ( )

    min ( )= =

    =

    1

    1

    onde ai a rea de Bi e ci a abcissa do centro de massa de Bi. Portanto, uma vez que os conjuntos Aij e Bi so conhecidos, a sada y pode ser calculada para cada x atravs de y = F(x).

    Uma questo interessante sobre a existncia de soluo para o problema inverso: Dada uma funo F(.), seria possvel construir um controlador lgico nebuloso, de modo que y = F(x)?.

    Em vista dos resultados de Wang e Mendel (1992), possvel construir um controlador lgico nebulosos tal que y = Fa(x), de modo que Fa(.) aproxima F(.) em termos de norma . , no espao de funes contnuas, desde que o universo de discurso X seja compacto.

    Portanto, controladores lgicos nebulosos so aproximadores universais para uma certa classe de funes, mas persiste a dificuldade em se caracterizar os conjuntos Aij e Bi, bem como o nmero de regras necessrias. Uma forma de tentar determinar estas caractersticas de forma numrica atravs do emprego de mtodos de otimizao como o de Poliedros Flexveis e Algoritmos Genticos.

  • 37

    7 MTODOS DE OTIMIZAO NUMRICA

    So vrias as aplicaes dos mtodos de otimizao numrica na implementao de sistemas incorporando tcnicas de inteligncia artificial. Podem ser mencionados o treinamento de redes neurais artificiais, o ajuste adaptativo de controladores nebulosos, a utilizao de otimizao da produo em sistemas supervisionados por estaes inteligentes e outras.

    Em vista de existirem diversos textos especializados em otimizao, no se pretende aqui aprofundar demasiadamente no tema e o objetivo deste captulo apenas oferecer algumas noes sobre as principais tcnicas disponveis.

    7.1 Conceituao e Utilidade em Sistemas Inteligentes

    Otimizao , no presente contexto, a determinao de uma ao que proporciona um mximo de benefcio, medido por um critrio de desempenho pr-estabelecido. Muitas vezes a ao a seleo de um vetor de parmetros w = (w1, w2, ... , wn) Rn, onde n um nmero natural fixo, e o critrio de desempenho uma funo J: Rn R que deve ser minimizada caso represente um custo ou, ento, ser maximizada caso esteja associada a retorno.

    Uma ampla classe de problemas de otimizao pode ser expressa na forma:

    h

    g

    n1,2,...,=j 0)(n1,2,...,=i 0)(

    a sujeito

    )(min

    =

    whwg

    wJ

    j

    i

    Rw n

    ( 7.1)

    onde gi:Rn R so chamadas de restries (ou vnculos) de desigualdade e hj: Rn R so chamados de restries (ou vnculos) de igualdade. O problema expresso formalmente em ( 7.1) determinar um ponto w Rn tal que resulte em um mnimo valor de J(.), enquanto as desigualdades gi(w) 0, i=1,2,...,ng e as igualdades hj(w) = 0, j=1,2,...,nh so satisfeitas.

    Exemplo: Para n = 1, ng = 1, nh = 1, w = (w1,w2) R2 e

    1)(4)(

    23)(

    1

    22

    21

    21

    =+=

    +=

    wwhwwwg

    wwwJ ( 7.2)

    O problema pode ser escrito, assumindo como objetivo a minimizao de J(.), como sendo:

    0104

    ..

    }23{min

    1

    22

    21

    212

    =++

    +

    www

    as

    wwRw

    ( 7.3)

    cuja soluo pode ser obtida grfica ou analiticamente, fornecendo o ponto de timo w* = (1, - 3 ).

    Quando as funes J(.), g(.) e h(.) so no lineares e n um nmero grande, pode ser

    impraticvel a obteno de solues por mtodos grficos ou analticos. Nesses casos, interessante que se disponha de mtodos numricos que possam ser codificados para utilizao em computador digital.

  • 38

    De fato, mtodos numricos de otimizao podem ser empregados no treinamento de redes neurais, no ajuste de funes de pertinncia de sistemas difusos, no ajuste sistematizado de parmetros de controladores ou na construo de leis sub-timas de controle.

    O problema de otimizao pode apresentar diversas dificuldades, como ilustrado a seguir: a) Caso clssico irrestrito (sem dificuldades maiores): O ponto de mnimo, neste caso,

    corresponde a w* tal que dJ(w* )/dw = 0.

    0

    22)(

    *

    2

    =+=

    =wwdwdJ

    wwwJ

    b) Caso clssico restrito: Um problema de minimizao com restries, onde dJ(w)/dw 0 no

    ponto w*.

    0

    )(5.0)(

    22)(

    *

    2

    1

    2

    =

    =+=

    =wwdwdJ

    wwgwwg

    wwwJ

    c) Caso no diferencivel: Um caso de minimizao onde existe o ponto de mnimo, mas este

    no caracterizado por dJ(w)/dw = 0.

    1|1|)( += wwJ

  • 39

    7.2 Mtodos de Otimizao Unidimensional

    Considera-se aqui a otimizao (minimizao ou maximizao) de funcionais J: R R, ou seja, aquele em que w um nmero real. Variantes como o caso onde w restrito a ser um nmero inteiro fogem do escopo do presente texto.

    7.2.1 Mtodo da Busca Uniforme Uma forma de se resolver numericamente um problema de minimizao unidimensional gerar

    uma sequncia w0, w1, ... , wn de modo que J(wn) J(w*) medida que n . Para tal, pode-se prover um mecanismo para obteno de um novo ponto wk+1 a partir de um ponto wk arbitrrio, de modo que J(wk+1) J(wk), de preferncia com a desigualdade no sentido estrito.

    Passo 0: Arbitrar w0 e h0 R. Arbitrar um nmero pequeno tol. Fazer k=0. Passo 1: Calcular wk+1 = wk + hk Passo 2: Calcular delta = J(wk) - J(wk+1) Passo 3: Critrio de Parada: Se (ABS(delta) < tol) Ento ( aproxw = wk+1 e fim). Passo 4: Critrio para Reduo do Passo e Mudana de Sentido: Se (delta < 0) Ento (hk+1 = -hk/2) Passo 5: Retorna para nova iterao: Fazer wk+1 = wk e k = k+1 Retornar ao Passo 1.

    Figura 7-1. Busca Uniforme

  • 40

    7.2.2 Mtodo da Seco urea

    Este mtodo consiste em estimar, a cada passo k, um intervalo ],[ maxmin kk ww onde estaria localizado w* e seccion-lo, usando a razo urea. Se o comprimento do intervalo inicial L, a seco urea produz dois intervalos de comprimentos m = (3- 5 )L/2 e M = ( 5 -1)L/2 de modo que M est para L assim como m est para M. Obtm-se dois intervalos I1 = [ Mww kk +minmin , ] e I2 = [ maxmin , kk wmw + ]. A partir de um critrio de menores valores de J(.) nos extremos seleciona-se I1 ou I2 que ser o prximo intervalo [ max1

    min1 , ++ kk ww ], at que o critrio de parada seja ativado.

    Passo 0: Arbitrar max0

    min0 wew .

    Escolher um nmero real tol. Fazer k=0

    Passo 1: Calcular: L = minmax kk ww

    Passo 2 Critrio de Parada:

    Se (L < tol) Ento (2

    min* Lww kaprox += e fim)

    Passo 3 Calcular:

    LM

    Lm

    215

    253

    =

    = ( 7.4)

    Passo 4 Seleo do Prximo Intervalo

    Se (Jm JM) Ento ( Mwweww kkkk +== ++ minmax1minmin1 ) Se (Jm > JM) Ento ( maxmax1

    minmin1 kkkk wwemww =+= ++ )

    ; onde:)(

    )(min

    min

    MwJJmwJJ

    kM

    km

    +=+=

    Passo 5 Fazer k = k + 1 e retornar ao Passo 1.

    Figura 7-2. Otimizao unidimensional empregando Seco urea

  • 41

    7.3 Mtodos de Busca empregando Gradiente

    Em muitos problemas de otimizao possvel a determinao do gradiente de J no ponto w, denotado por J(w), w Rn e definido por:

    T

    n

    wwJw

    wJwJ

    = )()()(

    1

    L ( 7.5)

    De fato, utilizando-se a frmula para expanso em srie de Taylor, verifica-se que quando se

    realiza um deslocamento de h a partir de um certo ponto w, a funo J(.) varia segundo a expresso:

    )()()()( 2hohwJwJhwJ T ++=+ ( 7.6) ou seja, J(w+h) - J(w) hwJ )( ( 7.7)

    onde .. denota produto escalar.

    Lembrando que o produto escalar calculado atravs de

    )cos(. yxyx = ( 7.8)

    onde o ngulo entre x e y, da:

    J(w+h) - J(w) = 0 se h )(wJ ( 7.9)

    J(w+h) - J(w) mx se h // )(wJ ( 7.10) De onde conclui-se, que J(w)=J(w+h)-J(w) mximo quando o deslocamento h est na direo

    de )(wJ . Ou seja, )(wJ aponta na direo de mximo crescimento de J(.) a partir do ponto w. Por outro lado, J(w) nulo se h perpendicular a )(wJ . Ou seja, a funo J(.) no varia

    medida que caminhamos (infinitesimalmente) na direo h a partir de w. Como o lugar geomtrico = {wRn J(w) = constante} uma curva de nvel, verifica-se que )(wJ perpendicular s curvas de nvel de J(.).

    Figura 7-3. Curvas de Nvel e Gradientes de uma funo J:R2 R.

  • 42

    7.3.1 Mtodo da Mxima Declividade Uma vez que o gradiente )(wJ aponta na direo de mximo crescimento de J(.), uma idia

    realizar buscas do ponto de mnimo atravs de deslocamento em sentidos negativos na direo de )(wJ . Passo 0: Arbitrar w0 e tol. Fazer k=0. Passo 1: Calcular hk = )( kwJ Passo 2: Critrio de Parada: Se ( tolhk ) Ento ( kaprox ww =* e fim) Passo 3: Obter *k , a soluo do problema auxiliar de otimizao unidimensional na varivel )(min kkR hwJ + Passo 4: Fazer wk+1 = wk + *k hk , k=k + 1 e retornar ao Passo 1.

    Figura 7-4. Algumas iteraes do mtodo da mxima declividade.

    O mtodo de mxima declividade costuma apresenta uma boa estabilidade, pois sempre avana

    em direo a pontos com menor valor da funo. Sua convergncia considerada lenta, principalmente nas regies mais prximas da soluo,

    onde pode apresentar um movimento em forma de zig-zag em torno da soluo.

  • 43

    7.3.2 Mtodo de Newton

    de se esperar que um algoritmo de otimizao que empregue aproximao quadrtica tenda a possuir uma velocidade de convergncia maior que um utilizando aproximao linear. De fato, para funes quadrticas o ponto estacionrio pode ser calculado resolvendo-se a equao que se obtm igualando a sua derivada a zero. Se a matriz H for positivo definida, o ponto estacionrio ser um ponto de mnimo.

    Seja uma funo quadrtica

    Q(h) = chbHhh TT ++21

    ( 7.11)

    Assumindo que H seja positivo definida, o ponto de mnimo de Q(.) dado pela soluo de

    Hh + b = 0 h = -H-1b ( 7.12)

    No caso de uma funo no necessariamente quadrtica, pode-se utilizar novamente a expanso em srie de Taylor:

    )()(21)()()( 3hohwHhhwJwJhwJ TT +++=+ ( 7.13)

    onde a matriz H(w) a Hessiana calculada no ponto w:

    =)()(

    )()(

    )(2

    1

    2

    1

    2

    11

    2

    wwwJw

    wwJ

    wwwJw

    wwJ

    wH

    nnn

    n

    LMOM

    L ( 7.14)

    O valor de h que minimiza Q(h):= J(w+h) , portanto

    h = -H-1(w) )(wJ ( 7.15)

    Utilizando-se estes conceitos, pode-se descrever o mtodo de Newton. A idia , em torno de cada ponto wk, utilizar uma aproximao quadrtica para calcular hk,

    empregando expresses do tipo ( 7.15): Passo 0: Arbitrar w0 e tol. Fazer k=0.

    Passo 1: Calcular hk = )( kwJ e )(1 kk wHH =

    Passo 2: Critrio de Parada:

    Se ( tolhk ) Ento ( kaprox ww =* e fim)

    Passo 3: Obter *k , a soluo do problema auxiliar de otimizao unidimensional na varivel

    )(min kkkR hHwJ +

    Passo 4: Fazer wk+1 = wk + *k hk , k=k + 1 e retornar ao Passo 1. A dificuldade em se utilizar o mtodo de Newton est na necessidade de derivadas segundas

    para caracterizar a Hessiana H(.) e de inverso de matrizes para o clculo de H-1(.).

  • 44

    7.4 Mtodos de Busca sem empregar Gradiente

    7.4.1 Mtodo da Busca Direta Uma verso de busca direta a realizao de exploraes, a partir de um dado ponto wk, em

    direes paralelas aos eixos de coordenadas. Aps a realizao de exploraes em todas as coordenadas gerada uma direo hk para busca unidimensional do passo *k , permitindo a atualizao wk+1 = wk + *k hk.

    Passo 0. Arbitrar w0 e x0. Escolher um nmero positivo tol. Fazer k=0. Passo 1. Iniciar explorao na direo da coordenada i: Fazer i=1

    Passo 2: Verificar se o sentido indicado por ikx adequada:

    Se

    +

    nk

    ik

    k

    nk

    ik

    ik

    k

    w

    w

    w

    J

    w

    xw

    w

    JM

    M

    M

    M11

    Ento ( ikik xh = )

    Seno ( ikik xx = ).

    Passo 3: Caso tenha sido mudado o sinal de ikx , verificar se o seu valor adequado:

    Se

    +

    nk

    ik

    k

    nk

    ik

    ik

    k

    w

    w

    w

    J

    w

    xw

    w

    JM

    M

    M

    M11

    Ento ( ikik xh = )

    Seno

    =

    2

    iki

    kx

    x .

    Passo 4: Se ( )tolxik

    Ento ( 0=ikh , i = i + 1 e retornar ao Passo 2 se i n). Passo 5: Critrio de Parada:

    Se ( )tolhk Ento ( kaprox ww =* e fim)

    Passo 6: Obter *k , a soluo do problema auxiliar de otimizao unidimensional na varivel

    )(min kkR hwJ +

    Passo 7: Fazer wk+1 = wk + *k hk , k=k + 1 e retornar ao Passo 2.

  • 45

    7.4.2 Mtodo dos Poliedros Flexveis A idia bsica no mtodo dos poliedros flexveis deformar, a cada iterao, um poliedro, de

    modo que este caminhe em uma direo decendente. Passo 0: Escolher n+1 pontos 10

    10 ,...,

    +nww . Fazer k=0. Escolher nmeros reais positivos tol, , , e .

    Passo 1: Determinar os vrtices com pior ( Hkw ) e melhor (Lkw ) custo associado J(.):

    )}({max)(1,...,1

    ikni

    Hk

    Hk wJwJquetalw +==

    )}({min)(1,...,1

    ikni

    Lk

    Lk wJwJquetalw +==

    Passo 3: Critrio de Parada:

    Calcular P = +=

    1

    1

    n

    i

    Lk

    ik ww .

    Se ( P < tol ) Ento

    +=

    +

    =fimew

    nw

    n

    i

    ikaprox

    1

    1

    *

    11

    Passo 4: Determinar o centride da face oposta ao vrtice wH:

    = +=

    1

    1

    1 n

    i

    Hk

    ik wwn

    c ( 7.16)

    Passo 5. Reflexo:

    )( HkRk wccw +=

    Passo 6: Expanso, se for o caso:

    Se ( )()( LkRk wJwJ < ) Ento ( ))( cwcw RkEk +=

    e

    Fazer =+ vertices demais os para

    a ecorrespond se 1 i

    k

    Hk

    Eki

    k wwiw

    w

    Passo 7: Reduo, se for o caso:

    Se ( )()( HkRk wJwJ )

    Ento

    ==+=

    +

    +Lk

    ik

    ik

    ik

    Lk

    ik

    Lk

    ik

    Lk

    ik

    wwparawwwwwwww

    1

    1 )(

    Passo 8: Contrao, se for o caso:

    Se ( Hkik

    ik

    Rk wwwJwJ > )()( ) Ento ( ))( cwcw HkCk +=

    e

    Fazer =+ verticesdemais os para

    a ecorrespond se 1 i

    k

    Hk

    Cki

    k wwiw

    w

    Passo 9: Fazer k = k+1 e Retornar ao Passo 1

  • 46

    Figura 7-5. Poliedro Flexvel.

    Figura 7-6. Mtodo dos Poliedros Flexveis.

    Figura 7-7. Exemplo de Aplicao do Mtodo dos Poliedros Flexveis.

  • 47

    7.4.3 Algoritmos Genticos Os algoritmos genticos utilizam um conceito anlogo ao de seleo natural da teoria da

    evoluo de Darwin. A idia bsica, no caso da minimizao de funcionais de custo J(w) em relao a w, codificar o valor de w em uma cadeia de dados que recebe o nome de cromossomo. Em uma dada populao de cromossomos existem aqueles, associados a w, que resultam em valores baixos de J(w). Estes cromossomos so considerados mais aptos para reproduo. A reproduo consiste em selecionar pares de cromossomos que sofrem os efeitos de crossover e mutao. O crossover consiste em trocar segmento da cadeia de dados de um cromossomo com o seu par, eventualmente originando cadeias de dados novas que ainda no existia na populao. A mutao a alterao aleatria de algum dado codificado no cromossomo.

    Figura 7-8. Mecanismo de crossover nos algoritmos genticos.

    Figura 7-9. Mecanismo de mutao nos algoritmos genticos.

    Figura 7-10. Exemplo de Roleta para Seleo.

  • 48

    Passo 0: Selecionar os tamanhos da populao inicial N e populao mxima M. Fazer k = N. Escolher um nmero real positivo tol e um nmero inteiro 0 < t < N para teste de

    convergncia. Passo 1: Gerao da populao inicial P = { (cromo1, J(w1)),...,(cromoN, J(wN))} onde cromoi = niii www :::

    21 L Passo 2: Ordenar a lista P de modo que J(wi-1) J(wi) Passo 3: Seleo do par de cromossomos para reproduo Gerar dois nmeros aleatrios r1 e r2 distribudos sobre o intervalo (0,1), com elevada

    densidade prximo a 0 e baixa prximo a 1. Calcular os ndices dos cromossomos sorteados m = IFIX(r1 * N) + 1 f = IFIX(r2 * N) + 1 Passo 4: Mutao: Alterar, aleatoriamente, 1 bit de cromom e 1 bit de cromof Passo 5 Crossover: Quebrar cromom em dois fragmentos 21 mm fragefrag de comprimento aleatrio. Quebrar cromof em dois fragmentos 21 ff fragefrag de comprimentos idnticos aos

    21mm fragefrag .

    Montar cromod1 = 21 mf fragefrag e cromod2 =

    21fm fragefrag

    Passo 6: Fazer k = k + 2 e inserir cromod1 e cromod2 na lista P, na posio correta da ordenao. Passo 7: