Please enable JavaScript.
Coggle requires JavaScript to display documents.
EC016 - Inteligência Artificial (IV - Algoritmos Genéticos (Passo a passo,…
EC016 - Inteligência Artificial
I - Introdução
Introdução à IA
Definições
Kurzweil
É a arte de criar máquinas que realizem atividades que requerem inteligência quando realizadas por pessoas
Schalkoff
É o campo de estudo que tenta explicar e simular o comportamento inteligente em termos de processos computacionais
Elaine Rich & Kevin Knight
IA é o estudo de como fazer os computadores realizarem coisas que, no momento, as pessoas fazem melhor
História
Matemática - 800
Surgiram ferramentas para manipular declarações
Certeza lógica
Incerteza
Probabilidade
Foi definida a base para a compreensão da computação e do raciocínio sobre algoritmos
Filosofia - 428AC
IA tornou-se concebível considerando as seguintes ideias sobre a mente
Em alguns aspectos é semelhante a uma máquina
Opera sobre o conhecimento codificado em alguma linguagem interna
O pensamento pode ser usado para escolher as ações que deverão ser executadas
Economia - 1776
Formalizaram o problema de tomar decisões que maximizam o resultado esperado para o tomador
Psicologia - 1861
Adotaram a ideia de que os seres vivos podem ser considerados máquinas de processamento de informações
Engenharia - 1940
Tornaram possíveis as aplicações de IA
Grandes avanços em velocidade e memória que a indústria de informática tem proporcionado
John McCarthy - 1956
Sugeriu o nome de IA para o campo de estudo apresentado no seminário de Dartmouth
"Será realizada uma tentativa para descobrir como fazer com que as máquinas usem a linguagem, a partir de abstrações e conceitos, resolvam os tipos de problemas hoje reservados aos humanos e se aperfeiçoem"
Etimologia
Um tipo de inteligência produzida pelo homem para dotar as máquinas de algum tipo de habilidade que simula a inteligência do homem
Teste de Turing
Um interrogador não consegue distinguir entre um computador e ser humano
O computador precisa ter as seguintes capacidades
Processamento de linguagem natural
Comunicar-se em um idioma natural
Representação de conhecimento
Armazenar o que sabe ou ouve
Raciocínio automatizado
Usar o conhecimento armazenado para chegar a novas conclusões
Aprendizado de máquina
Adaptar-se a novas situações e reconhecer padrões
Onde aplicar
Existem 3 tipos de problemas
Os que não têm solução
Os que têm solução algorítmica
Os outros
Aqueles cuja solução algorítmica têm altíssima complexidade
Aqueles que o ser humano é capaz de resolver
Aqueles que os seres vivos são capazes de resolver
Porque é possível?
Sensores mais baratos e melhor processamento de dados
Visão
Voz
Texto
Aumento no poder de computação
Processadores comuns
Processadores de propósito específico
Computação paralela, na nuvem/distribuída
Disponibilidade de quantidade enorme de informações
Grandes bases de dados online
Capacidade de processar informações não estruturadas
Porque é difícil?
Incerteza na informação que é detectada a partir do ambiente
A falta de teorias completas que explicam totalmente os fenômenos naturais
Complexidade dos problemas que faz com que seja impossível avaliar plenamente todas as opções
Áreas e paradigmas
Conexionista
Metáfora cerebral
Construir sistemas que modelam a inteligência humana através da simulação de partes do cérebro
Exemplo
Redes Neurais Artificiais
Evolucionista
Teoria da evolução natural
Baseada na teoria da evolução natural, no surgimento das espécies
Exemplos
Algoritmos genéticos
Simbólica
Raciocínio, lógica
Simular um especialista humano em assuntos específicos para o auxílio em tomada de decisões
Exemplo
Sistemas especialistas
Estatística /Probabilística
Conhecimento incerto
São modelos que representam um conhecimento, porém são baseados na incerteza
Exemplo
Lógica Fuzzy
Terminologia
Sistemas especialistas
Uma das primeiras áreas de pesquisa da área em IA, tenta simular um especialista humano
Machine Learning
Modelos matemáticos utilizados para treinar algoritmos e fazer com que as máquinas aprendam
Exemplos
Redes Neurais
Redes Neurais Profundas
Árvores de decisão
Visão computacional
Detecção de objetos
Reconhecimento facial
Robótica
Processamento de linguagem natural
Entendimento semântico de frases
Chatbots
Algoritmos genéticos
Otimização
Buscas
Mineração de dados
Extrair informações de grande quantidade de dados
Lógica fuzzy
Aplicações na indústria
Exemplos
Plataformas
Google Cloud Platform
Amazon Machine Learning
IBM Watson
Azure Machine Learning
Ferramentas e bibliotecas
TensorFlow
Caffe
Weka
Sci-kit Learn
Keras
Linguagens
Python
R
Java
Aplicações
Exemplos
Busca na web
Análise de redes sociais
Previsão
Processamento de imagens
Diagnósticos médicos
Jogos
Filtros de spam
Robótica
Processamento de linguagem natural
Assistentes virtuais
Jogos e simulação
Visão computacional
Reconhecimento visual
Conversação
Desafios e limitações
Máquinas substituindo humanos nas indústrias
Grandes empresas controlando seus dados
Como garantir o bom funcionamento?
Como certificar que serão seguros?
Peter Norvig
É importante que o aprendizado de máquina seja pesquisado abertamente e se espalhe por meio de publicações abertas e código aberto, para que possamos compartilhar as recompensas
II - Agentes e Problemas
Agentes inteligentes
Agente é qualquer entidade que
Percebe seu ambiente através de sensores
Câmeras
Microfone
Teclado
Mensagens
Age sobre ele através de atuadores
Vídeo
Autofalante
Impressora
Braços
Ftp
Mensagens
Exemplos
Agente humano
Sensores
Olhos
Ouvidos
Atuadores
Mãos
Pernas
Boca
Agente robótico
Sensores
Câmeras
Detectores
Atuadores
Motores
Luzes
Agente de software
Sensores
Teclas digitadas
Conteúdo de arquivos
Pacotes de redes
Atuadores
Exibição em tela
Gravação de arquivos
Envio de pacotes
A sequência de percepções do agente é a história completa de tudo o que ele já percebeu
Seu comportamento é descrito pela função do agente, que mapeia qualquer sequência de percepções específicas para uma ação
Natureza dos ambientes
Performance
Environment
Actuators
Sensors
Teoria de problemas
A IA se ocupa da resolução de problemas, sendo necessário conhecimento sobre o problema e sobre as técnicas para manipular este conhecimento e obter a solução
Resolver um problema é diferente de ter um método para resolvê-lo
Antes de buscar a solução, responder as perguntas
Quais são os dados?
Quais são as soluções possíveis?
O que caracteriza uma solução satisfatória?
Definição matemática
P = { D, R, q }
D - conjunto não vazio de dados
R - conjunto não vazio de possíveis resultados
q - condição que caracteriza uma solução satisfatória, associando cada elemento do conjunto de dados a elemento do conjunto de reusltados
Estratégias básicas
Pela definição do problema
O qual se apresenta como uma função, estes modos de raciocínio devem se adaptar ao modo que a função foi definida
Por enumeração exaustiva
O conhecimento necessário para resolver o problema está na enumeração
Declarativamente
Leva frequentemente a problemas de busca
Por exemplos
Se o problema foi definido por exemplos, deverá se usar um método para aproximar a função
Exemplos
Missionários e canibais
Torres de Hanói
Baldes de água
Jogo do oito
Reconhecimento de caracteres
Previsão
Resolução de problemas
Dedica-se ao estudo e elaboração de algoritmos capazes de resolver, por exemplo, problemas considerados intratáveis do ponto de vista da computação convencional
Formulação
Elementos
O teste de objetivo determina se um dado estado é um estado objetivo
A função de custo de caminho atribui um custo numérico a cada caminho
Uma descrição das ações possíveis que estão disponíveis para o agente
Formulação mais comum é o uso de uma função sucessor
Estado inicial e função sucessor definem o espaço de estados do problema
Caminho no espaço de estados é a sequência de estados conectados por uma sequência de ações
O estado inicial em que o agente começa
Espaço de estados
É a árvore de todos os estados que podemos produzir a partir do estado inicial
Exemplo
Quebra-cabeça de 8 peças
Estados
A posição de cada uma das oito peças e do espaço vazio em um dos nove quadrados
Estado inicial
Qualquer estado pode ser designado como estado inicial
Função sucessor
Gera os estados válidos que resultam da tentativa de executar as possíveis ações
Estado objetivo
Qualquer estado pode ser designado como estado final
III - Estratégias de busca
"Um agente com várias opções imediatas de valor desconhecido pode decidir o que fazer examinando, em primeiro lugar, diferentes possíveis sequencias de ações que levam a estados de valores conhecidos e, em seguida, escolher a melhor sequência de ações"
A busca simula ações no mundo com certo nível de abstração para entender como proceder ou resolver um problema
Abordagens básicas
Busca cega
Não tem informação sobre qual sucessor é mais promissor para atingir a meta
Tipos
Busca em largura
Consiste em construir uma árvore de estados a partir do estado inicial, aplicando a cada momento todas as regras possíveis aos estados de nível mais baixo, gerando todos os estados sucessores de cada um destes estados. Assim, cada nível da árvore é completamente construído antes de adicionar qualquer nó do próximo nível à árvore.
Ordem de expansão
Nó raiz
Todos os nós de profundidade 1
Todos os nós de profundidade 2, etc
Características
Se existe solução, esta será encontrada
A solução encontrada primeiro será a de menor profundidade
Vantagens
Completo
Ótimo, sob certas condições (se os operadores têm o mesmo custo)
Desvantagens
Requer muita memória e tempo (complexidade exponencial). Todos os caminhos selecionados possuem a mesma importância
Busca pelo custo uniforme
Busca em profundidade
Procurar explorar completamente cada ramo da árvore antes de tentar o ramo vizinho
O backtracking é utilizado quando nenhuma regra pode ser aplicada ou a árvore atinge uma profundidade muito grande sem que tenha encontrado uma solução
Características
Realizando uma busca em árvore onde um nó já visitado pode ser visitado novamente, poderia gerar um laço infinito
Se admitir estados repetidos ou um nível máximo de profundidade, pode nunca encontrar a solução
O algoritmo não encontra necessariamente a solução ótima, mas pode ser mais eficiente se o problema possui um grande número de soluções ou se a maioria dos caminhos pode levar a uma solução
Observações
Utiliza menos memória porque armazena apenas um único caminho do nó raiz até o nó folha
É geralmente mais rápida
Busca em profundidade limitada
Busca por aprofundamento iterativo
Busca bidirecional
Busca heurística
Possui informação (estimativa) de qual sucessor é mais promissor para atingir a meta
É uma busca cega com algum grau de orientação
Formulação
Função heurística - h(n)
Estima o custo do menor caminho do estado atual até o estado final mais próximo
É específica para cada problema
Exemplo
h1 = número de elementos em posições erradas
h2 = soma das distâncias de cada elemento à posição final
Contexto de uso
Um problema que pode não ter uma solução exata por causa das ambiguidades inerentes a sua formulação ou pela disponibilidade dos dados
Um problema pode ter uma solução exata, mas o custo computacional para encontrá-la pode ser proibitivo
Estratégias
Busca Gulosa
Escolhe sempre o próximo estado de melhor valor, sem considerar quais os próximos depois desse
Busca A*
Além do custo para ir do nó ao objetivo (h(n)), adiciona-se o custo g(n) que representa o custo para alcançar o nó
IV - Algoritmos Genéticos
O que são
Ramo dos algoritmos evolucionários
Técnica de busca baseada na metáfora do processo biológico de evolução natural
Podem ser consideradas técnicas heurísticas de otimização global
Se opõe a outros métodos que ficam facilmente retidos em mínimos locais
Populações de indivíduos são criadas e submetidas aos operadores genéticos
Seleção
Recombinação
Mutação
Principais características
Probabilística
mesmas configurações levam a diferentes soluções
Diminuição do espaço de busca
não avaliam todas as soluções possíveis
Codificação de parâmetros
generalização do algoritmo para vários problemas
Alteração apenas da função de avaliação
Economia de tempo e dinheiro
Por que
Paralela
Mantém uma população de soluções que são avaliadas simultâneamente
Global
Não usa apenas informação local (menor chance de ficar preso em mínimos locais)
Não totalmente aleatória
Possui componentes aleatórios mas os próximos passos são baseados em informações da população corrente
Não afetada por descontinuidades
Não utilizam informações de derivadas na sua evolução
Atua em funções discretas e continuas
Passo a passo
Inicialize a população de cromossomos
Avalie cada cromossomo na população
Selecione os pais para gerar novos cromossomos
Aplique os operadores de recombinação e mutação a estes pais de forma a gerar os indivíduos da nova geração
Apague os velhos membros da população
Avalie todos os novos cromossomos e insira-os na população
Se o tempo acabou, ou o melhor cromossomo satisfaz os requerimentos e desempenho, retorne-o, caso contrário volte ao passo 3
Componentes
Seleção
escolhe-se os indivíduos que participarão do processo de reprodução
Operadores genéticos
Aplica-se os operadores de recombinação e mutação aos indivíduos escolhidos para pais
Módulo de população
Define-se a nova população a partir da geração existente e dos filhos gerados
Critério de parada
Verifica-se se o critério de parada é satisfeito
Pode ser por número de gerações ou qualidade da solução
Avaliação
Aplica-se a função de avaliação a cada um dos indivíduos desta geração
Representação
Cromossomial
Cada pedaço indivisível da representação é chamado de gene
Soluções proibidas não devem possuir representação
Imposições devem estar implícitas dentro da representação
Deve ser a mais simples possível
Binária
Precisão de uma representação binária de uma variável Xi, que existe no intervalo [INFi, SUPi]
Precisão = (SUPi - INFi) / (2^k - 1)
Conversão do número binário dentro do cromossomo para um número real
real = INFi + (SUPi - INFi) * Ri / (2^k - 1)
Em ordem
Casos onde a ordem é importante para o problema
Normalmente todos os nós devem estar presentes em um cromossomo
Numérica
Evitar a representação binária
Cromossomos que representam diretamente os números reais
Algoritmo genético
Função objetivo
Grau de adaptação
Calculada pela função objetivo f(x)
É uma nota dada ao indivíduo na resolução do problema
Representa o quão bem a resposta representada pelo indivíduo soluciona o problema proposto
Grau de aptidão
Diz respeito ao nível de adaptação de um indivíduo em relação à população à qual ele pertence
Para uma população com n indivíduos
Fa(x) = Fo(x) / (En-i=1 * Fo(i))
Seleção
Função de avaliação
O processo de seleção começa pela função de avaliação
Determina a qualidade de um indivíduo/cromossomo
Deve embutir todo o conhecimento sobre o problema (restrições, qualidades, etc)
Devem refletir os objetivos a serem alcançados
Deve simular o mecanismo de seleção natural
Pais capazes geram mais filhos
Pais menos aptos também podem gerar descendentes (menor probabilidade), para evitar a convergência genética
Convergência genética
Se só os melhores estiverem presentes, somente eles irão se reproduzir
Desta forma a população ficará com indivíduos cada vez mais iguais, causando a falta de diversidade
Métodos
Roleta viciada
Cada cromossomo recebe sua chance de ser selecionado
Ranking
Os indivíduos da população são ordenados de acordo com seu valor de adequação e então sua probabilidade de escolha é atribuída conforme a posição que ocupam
Torneio
Grupos de soluções são escolhidos sucessivamente e as mais adaptadas dentro de cada um destes são selecionadas
Uniforme
Todos os indivíduos possuem a mesma chance de serem selecionados
Esta forma possui uma probabilidade muito remota de causar uma melhora da população
Operadores genéticos
Operador de crossover
Responsável por combinar características dos pais selecionados
Método de cruzamento de um ponto
Sorteia-se um ponto de corte
O primeiro filho será composto pela concatenação da parte esquerda ao ponto de corte do primeiro pai, e da parte direita ao ponto de corte do segundo pai
O segundo filho será composto pela concatenação da parte direita ao ponto de corte do primeiro pai, e da parte esquerda ao ponto de corte do segundo pai
Ponto de corte representa uma posição entre dois genes
Cromossomo com n genes possui n-1 pontos de corte
Outros métodos
Cruzamento multiponto
É uma generalização do operador de um ponto
Nele são sorteados um número fixo N de pontos de corte
Cruzamento segmentado
Funciona de maneira semelhante ao multi-ponto, com a exceção de que sorteia o número de pontos de corte toda vez que é executado
Cruzamento uniforme
Para cada gene a ser preenchido nos cromossomos filhos, o operador de cruzamento uniforme sorteia de qual dos pais este deve ser gerado
Operador de mutação
Responsável por alterar características dos indivíduos gerados durante o crossover
É necessário para introdução e manutenção da diversidade genética da população
Assegura que a probabilidade de se chegar a qualquer ponto do espaço de busca nunca será zero
Garante que diversas alternativas serão exploradas, mantendo assim um nível mínimo de abrangência na busca
Testa a probabilidade de mutação para todos os genes
Probabilidade de mutação
Se for muito alta, fará com que o algoritmo genético possua soluções que são determinadas de forma aleatória, ou seja, sem utilizar informações passadas
Tipos
Mutação flip
Cada gene a ser mutado recebe um valor sorteado do alfabeto válido
Mutação por troca
São sorteados N pares de genes, e os elementos do par trocam de valor entre si
Mutação creep
Um valor aleatório é somado ou subtraído do valor do gene
Módulo de população
Responsável por controlar a população de indivíduos
Controla o número de indivíduos, descartando os indivíduos da geração anterior
Evolução baseada na dinâmica populacional
Propaga as características desejáveis às gerações subsequentes (cruzamento)
Manipula a frequência com que determinadas sequências de genes aparecem nas populações
Características
Geração
Número de vezes que a população passou pelo processo de seleção, reprodução, mutação e atualização
Média de adaptação
Ma = (En-i=1 * Fo(i)) / n
Diversidade
Mede o grau de variação entre os genótipos presentes na população (fundamental para a amplitude da busca)
Grau de convergência
Mede a proximidade da média de adaptação da atual geração em relação às anteriores
Objetivo
População convergir em um valor ótimo de adaptação
Problema
Convergência prematura devida a baixa diversidade
Elite
Composta pelos indivíduos mais adaptados da população
Elitismo
Os m melhores indivíduos (normalmente m = 1) são mantidos a cada geração
V - Particle Swarm Optimization
Pertence ao paradigma Evolucionista
Se os pássaros competem por comida, por que eles indiretamente avisam aos outros quando a encontram?
Pois a convivência de individuos não egoístas em colônias traz, para cada um, mais vantagens do que desvantagens
Simulação do comportamento social
Simulações computacionais de movimento de bando de pássaros ou cardume de peixes
Otimização por enxame de partículas
Imita o balé executado por colônias de pássaros em vôo para resolver problemas computacionais
Resumo
Cada indivíduo copia a velocidade vetorial de seu vizinho mais próximo
Quando ele se afasta demasiadamente do objetivo ele muda seu rumo aleatoriamente
O que é?
Ramo dos algoritmos evolucionários que pode ser definido como uma técnica de busca baseada na metáfora do vôo dos pássaros
Podem ser consideradas técnicas heurísticas de otimização global que se compara aos Algoritmos Genéticos, porém não possui operadores como crossover e mutação
As posições de cada indivíduo da população são atualizadas de acordo com a melhor solução (fitness) encontrada até então entre todos os indivíduos
Por que?
Poucos parâmetros a serem ajustados
Uma única versão com pequenas variações apresenta bons resultados para uma variedade de aplicações
Não totalmente aleatória
Possui componentes aleatórios mas os próximos passos são baseados em informações da população corrente
Não afetada por descontinuidades
Não utilizam de informações de derivadas na sua atualização
Algoritmos
Nearest Neighbor Velocity Matching
Ajuste de velocidade
Ajusta-se a velocidade de cada partícula baseado na partícula mais próxima
Craziness
Seleciona algumas partículas de forma aleatória e altera suas respectivas velocidades também de forma aleatória
Atualização da posição
Atualiza-se a posição de cada partícula com base na nova velocidade obtida após a atualização das velocidades
Critério de parada
Verifica-se se o critério de parada é satisfeito
Pode ser por número de gerações ou qualidade da solução
Cornfield Vector
Avaliação da população
Módulo onde é avaliada cada partícula da população atualizando os valores pbest e gbest que representam a partícula mais próxima do objetivo
Potencialização
Atualiza-se a velocidade de cada partícula com base na partícula que retornou a melhor avaliação em relação ao objetivo
Atualização da posição
Atualiza-se a posição de cada partícula com base na nova velocidade obtida após a atualização das velocidades no componente de potencialização
Critério de parada
Verifica-se se o critério de parada é satisfeito
Pode ser por número de gerações ou qualidade da solução
Passo-a-passo
Inicialize a população de partículas
Avalie cada partícula da população atualizando os valores pbest e gbest a partir dos valores encontrados entre todos
Atualize os vetores de velocidade (aceleração) de todas as partículas com base nos valores de pbest e gbest. A aceleração é alterada com um peso aleatório
Avalie todas as partículas em suas novas posições
Se o tempo acabou, ou alguma partícula encontrou o valor e ou posição que satisfaz os requerimentos de desempenho, retorne-o, caso contrário, volte ao passo 2
VI - Lógica Fuzzy
Introdução
Os sistemas Fuzzy consistem de aproximar a decisão computacional da decisão humana
Isto é realizado de forma que a decisão de uma máquina não se resuma apenas a um "sim" ou "não", mas também tenha decisões "abstratas", do tipo "próximo de", "em torno de", "muito alto", etc.
Características
Expressam imprecisões/incertezas
Sistemas baseados em regras do tipo linguísticas
"Raciocínio" executado de forma aproximada
Conclusões obtidas de forma paralela
Aplicações
Classificação de padrões
Aproximação de funções
Controle
Previsão/estimação
Conjuntos Fuzzy
Características
Função de pertinência
μₐ(x): X -> [0, 1]; x E X
μₐ(x) retorna o grau de pertinência do elemento x, pertencente ao universo X, em relação ao conjunto Fuzzy A
Principais tipos
Funções triangulares
Funções Gaussianas
Funções Trapezoidais
Funções Sigmoidais
Define o grau de pertinência de um elemento em um conjunto Fuzzy, levando-se em conta seu universo de discurso
Conjunto Normalizado
Pelo menos um de seus elementos possui grau de pertinência igual a 1
Altura
corresponde ao maior grau de pertinência assumido dentre todos seus elementos
ALT(A) = MAX μₐ(x)
Suporte
É o conjunto de todos os elementos de A que possuem graus de pertinência maior que zero
SUPP(A) = { x E X | μₐ(x) > 0 }
Conjunto discreto
É aquele em que seus elementos podem ser representados por
A = μₐ(x1)/x1 + μₐ(x2)/x2 + ... + μₐ(xn)/xn
Cardinalidade
É a soma dos graus de pertinência de todos seus elementos
CARD(A)
Cortes
Um corte alpha em um conjunto A é especificado por um conjunto crisp, que contém todos os elementos de A que possuem grau de pertinência maior ou igual a alpha
Aalpha = { x E X | μₐ(x) >= alpha }
Operações
Para os sistemas que utilizam a lógica Fuzzy, o processamento das referidas informações é normalmente consistido de operações que são efetuadas sobre os seus conjuntos Fuzzy
As operações básicas de união, interseção e complemento são geralmente definidas em função de operadores MAX e MIN, os quais são análogos aos operadores produto e soma da álgebra elementar
Definições
Conjunto União
O conjunto união entre dois conjuntos Fuzzy A e B, pertencentes a um mesmo universo de discurso X, é formado por todos os valores máximos entre μₐ(x) e μ₆(x), para todo x E X
μₐ(x) U μ₆(x) = MAX(μₐ(x), μ₆(x))
Conjunto Interseção
Formado por todos os valores mínimos entre μₐ(x) e μ₆(x), para todo x E X
μₐ(x) ∩ μ₆(x) = MIN(μₐ(x), μ₆(x))
Conjunto Complemento
O complemento de um conjunto Fuzzy A, pertencente a um universo de discurso X, é formado pela subtração de μₐ(x) do valor unitário {1}
Terminologia
Variável linguística
Variável cujos valores são nomes de conjuntos Fuzzy
Nome da variável (x)
É o rótulo associado a uma variável em específico
Gorjeta, Velocidade, x = Temperatura
Conjunto de termos (Tx)
São os nomes associados aos valores linguísticos da respectiva variável linguística
Tx = {Baixa, Média, Alta}
Universo de Discurso (Ux)
É o domínio (espaço) em que cada variável linguística está definida
Ux E [0, 180]
Funções de pertinência (μx)
São os conjuntos Fuzzy que representam cada valor pertencente ao conjunto de termos da variável linguística
Dadas pelas funções específicas de cada termo
Lógica Clássica
Objetos pertencem ou não a uma determinada classe
Lógica Fuzzy
Objetos podem pertencer mais (ou menos) a uma determinada classe
Sistema Fuzzy
Variáveis representadas por funções de pertinência
É aquele em que as variáveis de entrada e saída são representadas por funções de pertinência através de variáveis linguísticas e relacionadas através de regras do tipo "Se > então"
Etapas
Fuzzificação
Tem por objetivo classificar o valor numérico de entrada de acordo com termos linguísticos relacionados aos conjuntos Fuzzy que definem a função de pertinência
Inferência
Tem por objetivo identificar quais regras foram ativadas e quais conjuntos Fuzzy de saída serão ativados e com qual intensidade
Defuzzificação
Produz uma saída numérica correspondente aos conjuntos de saída ativados