42
Soft Computing: Suporte a Decisão em Ambientes de Incerteza Prof. Morais Uma introdução à Lógica Fuzzy

Apostila de Inteligência Artificial - Parte 02 (Lógica Fuzzy)

Embed Size (px)

Citation preview

PPGCC- Parte 2

Soft Computing: Suporte a Decisão em Ambientes de Incerteza

Prof. Morais

Uma introdução à Lógica Fuzzy

Uma breve descrição de Sistemas Fuzzy

• Aristóteles, filósofo grego (384 –322 a . C.), foi o criador da ciência da lógica, e estabeleceu um conjunto de regras rígidas para que conclusões pudessem ser aceitas logicamente como válidas. O emprego da lógica de Aristóteles levava a uma linha de raciocínio lógico baseada em premissas e conclusões. Como por exemplo: se é observado que “todo ser vivo é mortal” (premissa 1), a seguir é constatado que “pássaro é um ser vivo” (premissa 2), logo, como conclusão temos que “pássaro é mortal”. Desde então, a lógica ocidental, assim chamada, tem sido binária, isto é, uma declaração é falsa ou verdadeira, não podendo ser ao mesmo tempo parcialmente verdadeira e parcialmente falsa. Esta suposição e a lei da não contradição, que coloca que U e não U cobrem todas as possibilidades, formam a base do pensamento lógico ocidental.

Uma breve descrição de Sistemas Fuzzy (cont.)

• Na verdade, entre a certeza de ser e a certeza de não ser, existem infinitos graus de incerteza. Esta imperfeição intrínseca à informação representada numa linguagem natural, tem sido abordada no passado com o uso da teoria das probabilidades.

Uma breve descrição de Sistemas Fuzzy (Cont)

• Em 1965 Lofti A. Zadeh da Universidade da Califórnia – Berkeley, observou que os recursos tecnológicos disponíveis eram incapazes de automatizar as atividades relacionadas a problemas de natureza industrial, biológica ou química, que compreendessem situações ambíguas, não passíveis de processamento através da lógica computacional fundamentada nos princípios da Lógica de Boole. Procurando solucionar esses problemas, Zadeh publicou em 1965, um artigo resumindo os conceitos dos conjuntos fuzzy, revolucionando o assunto com a criação dos Sistemas Fuzzy.

Uma breve descrição de Sistemas Fuzzy (Cont.)

• Podemos definir Lógica Fuzzy como sendo uma ferramenta capaz de capturar informações vagas, em geral descritas em linguagem natural e convertê-las para um formato numérico, de fácil manipulação pelos computadores contemporâneos. Ela possibilita capturar com clareza e concisão as diversas nuances das visões utilizadas pelo homem em seu raciocínio usual, sem a necessidade de enquadrá-lo obrigatoriamente em modelos às vezes incompatíveis com o grau de difusão apresentado pelo problema em questão.

Uma breve descrição de Sistemas Fuzzy (Cont.)

• O exemplo ilustra de forma simples este problema. Se solicitarmos uma classificação quanto ao preenchimento dos retângulos idênticos abaixo representados, utilizando apenas os predicados PINTADO e NÃO PINTADO, como podemos expressar a situação do retângulo central?

 

Não pintado 50% pintado pintado

O retângulo central está meio PINTADO ou meio NÃO PINTADO?

Uma breve descrição de Sistemas Fuzzy (Cont.)

Numa abordagem fuzzy, a resposta seria: • 1.  O retângulo da esquerdal está PINTADO com

grau de 0% e NÃO PINTADO com grau de 100%.

• 2.   O retângulo central está PINTADO com grau de 50% e NÃO PINTADO com grau de 50%.

• 3.    O retângulo da direita está PINTADO com grau de 100% e NÃO PINTADO com grau de 0%.

Raciocinando sob imprecisões

• Proposições como as relacionadas a seguir, tem sido a principal motivação, para a utilização de conjuntos fuzzy:

 ·         A temperatura está alta.·         Maria tem cerca de 30 anos.·         João é baixo.·         Mário está ligeiramente gordo.·         O carro estava em alta velocidade.

 

Conjuntos Fuzzy

• A idéia básica da teoria de conjuntos fuzzy é que um elemento pertence a um conjunto fuzzy com um certo grau de pertinência. Assim, uma proposição não é verdadeira ou falsa, mas pode ser parcialmente verdadeira ou parcialmente falsa em qualquer grau. Este grau é geralmente tomado no intervalo [0, 1].

        

150 180 cm 150 180 cm

1 1

Conj. Crisp (homem alto) Conj. Fuzzy(Homem alto)

Conjuntos Fuzzy

• Em teoria fuzzy, um conjunto fuzzy A do universo de discurso X é definido pela função μ(x), chamada função de pertinência do conjunto A.

• μA(x) : X [0, 1]

• onde 

        μA(x) = 1 se x está totalmente em A;

μA(x) = 0 se x não está em A;

0 < μA(x) < 1 se x está parcialmente em A.150 180 cm 150 180 cm

1

Conjuntos fuzzy

μ(x)

Fuzzificação Fuzzificação

Representação de um subconjunto Crisp e Fuzzy de X

1

X0

Conjuntos fuzzy

X

Subconjunto Crisp A

Subconjunto fuzzy A

Representação de um subconjunto Crisp e Fuzzy de X

Conjuntos fuzzy

Baixo Médio Alto

150 165 180 210 cm

Altura em cm

Pertinência

1.0

0.8

0.6

0.4

0.2

0.0

(μ)

Conjunto CRISP para altura humana

Conjuntos fuzzy

Baixo Médio Alto

150 160 170 180 1.90 210 cm

Altura em cm

Pertinência

1.0

0.8

0.6

0.4

0.2

0.0

(μ)

Conjuntos fuzzy para altura Baixa, Média e Alta

Conjuntos fuzzy

Baixo Médio Alto

150 160 170 180 1.90 210 cm

Altura em cm

Pertinência

1.0

0.8

0.6

0.4

0.2

0.0

(μ)

Conjuntos fuzzy para altura Baixa, Média, Alta, Muito baixa e Muito alta

Muito altoMuitobaixo

A Figura mostra os conjuntos fuzzy utilizados para a variável lingüística velocidade (x) e as funções de pertinência μ (x) .

μ

T

μ baixa média alta

1

0 40 80 120 vmax x Km/h

U X

Velocidade de um carro como uma variável lingüística que pode assumir os valores dos conjuntos fuzzy “baixa”,” média” e “alta”

Raciocinando sob imprecisões

Da Figura anterior, segundo Zadeh podemos definir: • · X é o nome da variável lingüística. No exemplo, a

velocidade do carro;

• · T é o conjunto de valores lingüísticos que x pode assumir. No exemplo, T ={baixa, média, alta};

• ·  U é o universo de discurso no qual a variável lingüística x toma seus valores quantitativos (crisp). No exemplo, U =

[ 0, Vmax ];

• ·   M é a regra semântica que relaciona o valor de cada variável lingüística em T com um conjunto fuzzy em U. No exemplo, M relaciona “baixa”,”média” e “alta” com

as funções de pertinência mostradas na Figura.

Um Sistema Fuzzy 

  

 

Base de Regras

Fuzzy (IF-THEN...)

Máquina deInferência

Fuzzy

FuzzificadorDefuzzificador

1 1

X em U Y em V

Entrada Saída

Conjuntos Conjuntos Fuzzy em U Fuzzy em V

Organização básica de um Sistema Fuzzy

Componentes de um Sistema Fuzzy

Componentes:• Fuzzificadores ( Gaussiano Triangular Trapezoidal, etc)

• Defuzzificadores (Centro Ponderado, Máximo Valor, Centro de Gravidade, etc.)

“O Centro Ponderado é o mais comumente utilizado em sistemas e controle fuzzy “

• Base de Regras FuzzyIF < proposição fuzzy > THEN < proposição fuzzy >

• Máquina de Inferência Fuzzy Método da implicação mínima de Mamdani, (T-Norma)

IF <FP1 > THEN <FP2>

Regra 1- IF serviço é POBRE ou comida é RUIM then gorjeta é BAIXA

Regra 2- IF serviço é BOM then gorjeta é MEDIA

Regra 3- IF serviço é EXC ou comida é DELICIOSA then gorjeta é GENEROSA

Entrada 1Serviço (0 -1)

Entrada 2Comida (0 -1)

  

SaídaGorjeta (0-25%)

Jantar para dois:                 

As Entradas são CRISP As Regras são avaliadas Os resultados das O resultado é um (não-Fuzzy) números em paralelo usando regras são combi- número crisp limitados para uma faixa raciocínio fuzzy nadas e destiladas (não fuzzy) específica (defuzzificada) 

 

Operadores da Lógica Fuzzy

Operadores da Lógica Fuzzy:  Observemos primeiro os operadores lógicos Booleanos (Aristotélicos) através das suas respectivas tabelas verdade:   AND min (A,B) OR max (A,B) NOT (1 - A)

0 0 0 0 0 0 0 10 1 0 0 1 1 1 01 0 0 1 0 11 1 1 1 1 1

A B A B A

 

Consideremos agora a Lógica Multivalorada representada por conjuntos fuzzy  

μ

A B

    

 

 

Consideremos agora a Lógica Multivalorada representada por conjuntos fuzzy  

    

 

 

ANOT

A

Complemento

μ

1

μ

1

A UNIÃO dos conjuntos resulta em:  

μ

A U B max(A,B) OR = max   A OR B  

 

 

1

A INTERSEÇÃO dos conjuntos resulta em:  

μ

A ∩ B min (A,B) AND = min   A AND B  

 

 

1

EXCELENTE DELICIOSA GENEROSA

GENEROSA

Exemplo- Seja a REGRA:  Se serviço é EXCELENTE ou comida é DELICIOSA então gorjeta é GENEROSA

  

 

Serviço Comida Gorjeta

μ(serviço = EXC ) = 0.0 μ(comida = DELICIOSA) = 0.7

IF ( 0.0 OR 0.7 ) THEN gorjeta GENEROSA

Usando o operador max para os valores CRISP teremos:

max ( 0.0 , 0.7 ) = 0.7

 

0.7

0.0 0 1 0 1 0 25%

0.3 0.8 

O Defuzzificador Centro Ponderado

w1 y1 w1 + y2 w2

y* = w2 w1 + w2

y1 y* y2 V

Uma representação gráfica do defuzzificador Centro Ponderado

Média ponderada dos centros (altura dos conjuntos Fuzzy resultanres) / soma dos pesos

Um exemplo:

Sistema que atribua o valor da gorjeta adequada para um serviço de restaurante, considerando:

1. Se o SERVIÇO ou a comida forem ruins, a gorjeta é BAIXA;

2. Se o SERVIÇO for BOM a gorjeta é MÉDIA;3. Se o SERVIÇO é excelente ou a comida é deliciosa, a

gorjeta é GENEROSA;

“Usar como máquina de INFERÊNCIA, o método da implicação mínima de Mamdani (T-Norma)”

RUIM RUIM GENEROSA

BAIXA

 

0 1 0 1 0 25%

0.3 0.8 0.7Serviço Comida Gorjeta

μ(serviço = RUIM ) = 0.4 μ(comida = RUIM) = 0.0

IF ( 0.4 OR 0.0 ) THEN gorjeta BAIXA

Usando o operador max para os valores CRISP teremos:max ( 0.4 , 0.0 ) = 0.4

 

REGRA 1:1. Se o serviço ou comida RUIM então gorjeta BAIXA;

( Operação fuzzy nas entradas( OR = max.) )

Implicação de cada regra( Método da implicação de Mamdani )

0.4

1

BOM

GENEROSA

MEDIA

 

0 1 0 1 0 25%

0.3 0 0.5

Serviço Comida Gorjeta

μ(serviço = BOM ) = 0.5

IF ( 0.5) THEN gorjeta MEDIA

Usando o operador max para os valores CRISP teremos:max ( 0.5 ) = 0.5

 

REGRA 2:2. Se serviço BOM gorjeta MEDIA;

Implicação de cada Regra ( Implicação mínima de Mandami )

0.5

1

EXCELENTE DELICIOSA GENEROSA

GENEROSA

REGRA 3: Se serviço EXCELENTE ou comida DELICIOSA então gorjeta GENEROSA

(Operação fuzzy nas entradas (OR = max.) )

  

 

Serviço Comida Gorjeta

μ(serviço = EXC ) = 0.0 μ(comida = DELICIOSA) = 0.7

IF ( 0.0 OR 0.7 ) THEN gorjeta GENEROSA

Usando o operador max para os valores CRISP teremos:

max ( 0.0 , 0.7 ) = 0.7

 

0,0 0 1 0 1 0 25%

0.3 0.8 

Implicação de cada Regra (Implicação mínima de Mandami )

0.71

Defuzzificador Centro de Gravidade

• Resultado após a agregação dos consequentes das regras

0% 25% Gorjeta = 16.7%

Baixa Média Generosa

Máquina de inferência de Sugeno

• Porque Máquina de inferência de Sugeno?

A máquina de inferência de Mamdani em função do processo de defuzzificação em geral não é computacionalmente eficiente.Um processo de cálculo envolvendo figuras geométricas é necessário para encontrar um valor crisp para uma variável de saída num sistema fuzzy.

Máquina de inferência de Sugeno

• Podemos diminuir o tempo de inferência fuzzy?Podemos usar um singleton como função de pertinência no conseqüente da regra. Este método foi proposto por Michio Sugeno, o Zadeh do Japão, em 1985.

Um singleton ou mais precisamente um singleton fuzzy, é um conjunto fuzzy com uma função de pertinência que é unitária num simples ponto particular no universo de discurso e zero nas demais partes.

Máquina de inferência de Sugeno

• Qual a novidade introduzida?A máquina de inferência de Sugeno

é similar à de Mamdani. Sugeno mudou apenas o conseqüente (ação) da regra. Ao invés de um conjunto fuzzy, ele usou uma função matemática da variável de entrada. μ

1

xki

Máquina de inferência de Sugeno

• Regras fuzzy estilo-Sugeno

IF x is A

AND y is B

THEN z is f(x,y)

Onde x, y e z são variáveis lingüísticas; A e B são conjuntos fuzzy nos universos de discursos respectivos de X e Y; e f(x,y) uma função matemática.

Máquina de inferência de Sugeno

• O modelo fuzzy de ordem-zero de Sugeno é o mais comumentemente utilizado. Ele aplica as regras fuzzy da seguinte forma:

IF x is AAND y is BTHEN z is k

onde k é uma constante.

Neste caso, a saída de cada regra fuzzy é constante. Em outras palavras, todas as funções de pertinência conseqüentes são representadas por singletons.

RUIM RUIM BAIXA MEDIA GENEROSA

 

0 1 0 1 0 5 12.5 20 25%

0.3 0.8 0.7Serviço Comida Gorjeta

μ(serviço = RUIM ) = 0.4 μ(comida = RUIM) = 0.0

IF ( 0.4 OR 0.0 ) THEN gorjeta BAIXA

Usando o operador max para os valores CRISP teremos:max ( 0.4 , 0.0 ) = 0.4

 

REGRA 1:1. Se o serviço ou comida RUIM então gorjeta BAIXA;

( Operação fuzzy nas entradas( OR = max.) )

Implicação de cada regra (Inferência fuzzy estilo Sugeno )

0.4

1

BOM

BAIXA MEDIA GENEROSA

 

0 1 0 1 0 5 12.5 20 25% 0.3 0 Serviço Comida Gorjeta

μ(serviço = BOM ) = 0.5

IF ( 0.5) THEN gorjeta MEDIA

Usando o operador max para os valores CRISP teremos:max ( 0.5 ) = 0.5

 

REGRA 2:2. Se serviço BOM gorjeta MEDIA;

Implicação de cada Regra (Inferência fuzzy estilo Sugeno )

0.5

1

EXCELENTE DELICIOSA BAIXA MEDIA GENEROSA

REGRA 3: Se serviço EXCELENTE ou comida DELICIOSA então gorjeta GENEROSA

(Operação fuzzy nas entradas (OR = max.) )

  

 

Serviço Comida Gorjeta

μ(serviço = EXC ) = 0.0 μ(comida = DELICIOSA) = 0.7

IF ( 0.0 OR 0.7 ) THEN gorjeta GENEROSA

Usando o operador max para os valores CRISP teremos:

max ( 0.0 , 0.7 ) = 0.7

 

0,0 0 1 0 1 0 5 12.5 20 25%

0.3 0.8 

Implicação de cada Regra (Inferência fuzzy estilo Sugeno )

1 0.7

Defuzzificação (Média Ponderada dos singletons)

• Resultado após a aplicação dos consequentes das regras

0% 5% 12.5% 20% 25%

Gorjeta = (0.4х5 +0.5х12.5 +0.7х20)/(0.4 + 0.5 + 0.7)

≈ 14%

Baixa Média Generosa0.7

0.5

0.4

1

0 *

Mamdani x Sugeno. Qual utilizar?

A máquina de inferência de Mamdani é amplamente aceita por captar o conhecimento do expert. Ela nos permite descrever a expertise de modo mais intuitivo, semelhante ao modo humano. Entretanto, a inferência fuzzy tipo Mamdani envolve uma substancial sobrecarga de custo computacional.

A máquina de inferência de Sugeno é computacionalmente efetiva e trabalha bem com otimização e técnicas adaptativas o que a torna bastante atrativa em problemas de controle, particularmente em sistemas dinâmicos não lineares.