162
Introdução aos Sistemas Inteligentes DCA-FEEC-UNICAMP Prof. Ricardo Gudwin [email protected] http:// www.dca.fee.unicamp.br/ ~gudwin Telefone: (19) 3788-3819

Introdução aos Sistemas Inteligentes

Embed Size (px)

DESCRIPTION

Introdução aos Sistemas Inteligentes. DCA-FEEC-UNICAMP. Prof. Ricardo Gudwin [email protected] http://www.dca.fee.unicamp.br/~gudwin Telefone: (19) 3788-3819. Sistemas Inteligentes. Sistemas Inteligentes sistemas que exibem um comportamento considerado inteligente - PowerPoint PPT Presentation

Citation preview

Page 1: Introdução aos Sistemas Inteligentes

Introdução aos Sistemas Inteligentes

DCA-FEEC-UNICAMP

Prof. Ricardo [email protected]://www.dca.fee.unicamp.br/~gudwin Telefone: (19) 3788-3819

Page 2: Introdução aos Sistemas Inteligentes

Sistemas Inteligentes

Sistemas Inteligentes sistemas que exibem um comportamento considerado

inteligente Definições na Literatura

existem em profusão, desde as mais ingênuas, até as mais elaboradas e detalhadas

polêmicas incompletas

Palavra-Chave Inteligência O que é isso ?

Page 3: Introdução aos Sistemas Inteligentes

Inteligência

O que é inteligência ? Envolve

conhecimento raciocínio pensamento idéias

Capacidade de resolver problemas Capacidade de compreender uma situação Capacidade de planejar o futuro e realizar ações de

modo que os plano se concretizem Capacidade de aprender coisas novas Capacidade de atingir objetivos Capacidade de determinar objetivos

Page 4: Introdução aos Sistemas Inteligentes

Inteligência

Sabemos o que é inteligência ? Podemos avaliar se algum sistema em particular (natural

ou artificial) é ou não inteligente Podemos determinar diversos atributos para um sistema

que consideremos inteligente Não temos uma definição geral e completa para o que

seja inteligência Podemos dizer algumas coisas sobre a inteligência

existe em diferentes níveis (intensidades) atua sobre diferentes domínios (múltiplas inteligências) é uma propriedade composta e derivada em seres humanos, pode ser desenvolvida

Page 5: Introdução aos Sistemas Inteligentes

Inteligência

Quem se interessa por estudá-la ? Filósofos - para entendê-la Educadores - para desenvolvê-la em seres humanos Engenheiros - para criar sistemas que a possuam

Desde quando a estudam ? Desde os primeiros filósofos gregos

Áreas do conhecimento que lhe são afins Filosofia (do pensamento), Pedagogia (desenvolvimento da

inteligência), Biologia celular (comunicação celular), Medicina (sistemas imunológicos), Etologia (inteligência nos animais), Psicologia e Psiquiatria (distúrbios da inteligência), Engenharia dos Materiais (materiais inteligentes), Política (como negociar), Retórica (como convencer), Computação (sistemas inteligentes), etc ...

Page 6: Introdução aos Sistemas Inteligentes

Taxonomia das Inteligências

Inteligência Natural (Análise) Inteligência de compostos materiais Inteligência em compostos orgânicos Inteligência celular Inteligência em animais Inteligência no homem

desenvolvimento, terapêutica em distúrbios, modelagem, uso

Inteligência Artificial (Síntese) dispositivos mecânicos/materiais dispositivos eletrônicos (computadores) software

Page 7: Introdução aos Sistemas Inteligentes

Paradigmas e Inteligência

Dois hemisférios do cérebro humano especializados em diferentes formas de tratar problemas utilizando dois tipos distintos de paradigmas

Sequencial ou Lógico: baseado em uma abordagem de solução de problemas que considera somente uma pequena porção das informações disponíveis em um dado instante de tempo qualquer

Paralelo ou Gestalt: processa informação de forma global, ou “tudo de uma vez”. Percepção, por exemplo

Hemisfério esquerdo (paradigma sequencial) produção e compreensão de linguagem, raciocício lógico,

planejamento, tempo,… Hemisfério direito (paradigma paralelo)

comparação e identificação de imagens visuais, raciocínio por analogia, coordenação, sentido de corpo, ...

Page 8: Introdução aos Sistemas Inteligentes

Inteligência Artificial

Inteligência Artificial Termo cunhado em um workshop no Dartmouth College no

verão de 1956 por John MacCarthy para o estudo da inteligência Núcleo da Inteligência Artificial

tem suas raízes nas teorias funcionais/estruturais da inteligência

estruturas físicas e formais como uma base para o comportamento inteligente

Evolução Histórica ciclos de altos e baixos, principalmente devido a promessas não

cumpridas e expectativas exageradas em função dos primeiros resultados obtidos

fracassos levaram a uma visão mais realista e madura, permitindo um ressurgimento a partir da década de 80

Page 9: Introdução aos Sistemas Inteligentes

Inteligência Artificial e Sistemas Inteligentes

Problemas nos Métodos da Inteligência Artificial Frame Problem: impossibilidade de se manter um modelo

simbólico do mundo em ambientes complicados evoluindo em tempo real

Symbol-Grounding Problem: diz respeito ao vazio da representação simbólica em termos do que acontece realmente no ambiente, pois os símbolos somente apoiam-se uns nos outros

Frame-of-Reference Problem: diz respeito às diferenças entre os significados dos símbolos utilizados pelo sistema e pelos designers do sistema na elicitação do conhecimento

Situatedness: diz respeito ao mundo em constante mudança Limitações na Computação Simbólica

Problema Numérico-Simbólico

Page 10: Introdução aos Sistemas Inteligentes

Sistemas Inteligentes

Campo da ciência e engenharia de computação que procura estudar e reproduzir por meios computacionais sistemas com características normalmente atribuídas à inteligência humana, tais como: Soluções de Problemas Lógica Métodos de Raciocínio e Pensamento Representação e Processamento de Conhecimento Tomada de Decisões Aprendizagem Percepção e Visão Compreensão de Linguagem (e signos de um modo geral) Emoções e Julgamento de Valores

Page 11: Introdução aos Sistemas Inteligentes

O ABC da Inteligência

Inteligência

Artificial

Inteligência

Biológica

Inteligência

Computacional

Page 12: Introdução aos Sistemas Inteligentes

Inteligência Computacional

Lógica Fuzzy

Redes Neurais

Computação Evolutiva

Sistemas e Lógica Fuzzy

Redes Neurais

Inteligência Artificial

Computação Evolutiva e

ProbabilísticaSemiótica

Computacional

Sistemas Cognitivos

Inteligência Computacional Sistemas Inteligentes

Page 13: Introdução aos Sistemas Inteligentes

Evolução Histórica

Década de 40: Cibernética (Wiener) Década de 50: Estratégias de Busca e Outras

(Shannon, Turing) 1956: Dartmouth Summer Research Project on Artificial Intelligence

Década de 60: LISP, Robótica,Visão, Sistemas Especialistas, Evolução, Fuzzy

Década de 70: Representação do Conhecimento, Algoritmos Genéticos

Década de 80: Aprendizagem, Redes Neurais, Indústria da IA

Década de 90: Inteligência Computacional, Agentes, Semiótica, Vida Artificial, Swarm Intelligence

Page 14: Introdução aos Sistemas Inteligentes

Panorama dos Sistemas Inteligentes

Sistemas Inteligentes

Inteligência Artificial Clássica

Busca em Grafos

Lógica e Inferência

Sistemas Especialistas

LISP e Prolog

Inteligência Computacional

Lógica Fuzzy

Redes Neurais

Computação Evolutiva

Novos Paradigmas

Sistemas Multi-Agentes

Semiótica Computacional

Representação do Conhecimento

Computação comPalavras

Computação comEmoções

Page 15: Introdução aos Sistemas Inteligentes

Inteligência Artificial Clássica

Representação e Solução de ProblemasAlgoritmos de BuscaEstratégias de JogosLógica MatemáticaSistemas Especialistas (Sistemas Baseados em Conhecimento)Redes Bayesianas

Page 16: Introdução aos Sistemas Inteligentes

Representação de Conhecimento

Estratégias de Busca

Lógica

Computação Simbólica

Áreas Clássicas da Inteligência Artificial

SistemasEspecialistas

KBS

IA

Robótica/Sistemas de

SensoriamentoVisão/

Reconhecimentode Imagens

Apredizagem

Processamentode Linguagem

Natural Basede

Dados

ProgramaçãoAutomática

Soluçãode

Problemas

Page 17: Introdução aos Sistemas Inteligentes

Representação e Solução de Problemas

Problema abstraído na forma de:

conjunto de estados ações possíveis: transições entre estados

grafo Sistema Resolvedor de Problemas

sistema decide sequências de ações que levarão do estado atual ao estado desejado

Meta definição das condições que gerarão à satisfação do problema

Formulação do Problema escolha dos estados e ações a serem considerados define o grau de detalhamento na abordagem do problema

Page 18: Introdução aos Sistemas Inteligentes

Representação e Solução de Problemas

Solução sequência de ações que levarão à satisfação do problema encontrada por meio de um mecanismo de busca uma vez encontrada, leva o sistema à fase de execução um problema pode ter mais de uma solução

Algoritmo de Busca algoritmo que, a partir do estado inicial, percorre os nós do

grafo que representa o problema, buscando por um caminho ou nó que represente a solução do problema

Questões Busca é a melhor maneira de resolver o problema ? Quais algoritmos de busca resolvem o problema ? Qual algoritmo é o mais eficiente para um dado problema ?

Page 19: Introdução aos Sistemas Inteligentes

Algoritmos de Busca

Algoritmos Básicos de Busca não informados (busca cega)

depth-first, breadth-first, non-deterministic informados

hill-climbing, beam search, best-first

Outros Algoritmos de Busca otimização

branch and bound, programação dinâmica, simulated-annealing heurísticos

A, A* e variações

Aplicações KBS, sequenciamento de produção, planejamento

estratégico, logística, etc…

Page 20: Introdução aos Sistemas Inteligentes

Árvores de Busca: Nomenclatura

Raiz

Folha

Meta

Caminho completo - solução

Caminho parcial

Folha

Pai

Filho Filhoancestral

descendente

Arco

Fator de ramificação: bProfundidade: dTotal caminhos: bd

Page 21: Introdução aos Sistemas Inteligentes

Grafo e Árvore de Busca

A

S

DE

B

C

F

G3

4

5

4

5

4

42

3

S

F B F C E A CD

G C G F

G

EC B B

B A E

E

D

A D

Representa ocaminhoS-D-A-B-E-F-G

Representa ocaminhoS-D

G

F

Page 22: Introdução aos Sistemas Inteligentes

Busca em Profundidade(Depth-first Search)

A

S

DE

B

C

F

G3

4

5

4

5

4

42

3

S

F B F C E A C GD

G C G F

G

EC B B F

B A E

E

D

A D

Page 23: Introdução aos Sistemas Inteligentes

Busca em Amplitude(Breadth-first Search)

A

S

DE

B

C

F

G3

4

5

4

5

4

42

3

S

F B F C E A C GD

G C G F

G

EC B B F

B A E

E

D

A D

Page 24: Introdução aos Sistemas Inteligentes

Busca Não-Determinística

A

S

DE

B

C

F

G3

4

5

4

5

4

42

3

S

F B F C E A C GD

G C G F

G

EC B B F

B A E

E

D

A D

Page 25: Introdução aos Sistemas Inteligentes

Buscas do Tipo Best-first

Busca A* Função de avaliação f(n) = g(n) + h(n)

g(n) - custo atual do caminho (cost-uniform search) h(n) - função heurística (greedy search)

comprovadamente completa e ótima dada uma única restrição sobre h(n) - heurística admissível

Heurística Admissível função h nunca deve superestimar o custo de se chegar à meta

Busca IDA* (Iterative Deepening A*) semelhante ao ID search, mas ao invés de utilizar um limite de

profundidade, utiliza um limite para a função f cada iteração expande somente os nós dentro de um contorno

para o valor corrente de f, aumentando gradativamente esse contorno

Page 26: Introdução aos Sistemas Inteligentes

Exemplo de Busca SMA*

A

B

C D

E F

G

H I

J K

10 8

8 16

88

1010

1010

0+12=12

10+5=158+5=13

24+0=24

24+5=2924+0=2430+0=3030+5=35

20+5=25

20+0=20

16+2=18

1 2

5 6

A 12A 12

A 15(15)

B 15

A 15

B

15

G

24

G 24()

I24

3

7

A 13

A15(24)

B

15

G

13

B

C

15

25

4

8

A 13(15)

A20(24)

G

13H

18

B

D20

20()

Page 27: Introdução aos Sistemas Inteligentes

Jogos e Problemas de Busca

Presença do Oponente introduz incerteza estado é alterado não somente em função das decisões

tomadas - problema da contingência Complexidade da Árvore de Busca

número de estados a serem testados é muito maior normalmente não há tempo suficiente para calcular

todas as possíveis consequências de um movimento Questões

Como encontrar o suposto melhor movimento ? Como agir quando o tempo de decisão é limitado ? Como agir quando o jogo inclui algum tipo de

não-determinismo ?

Page 28: Introdução aos Sistemas Inteligentes

Estratégia Minimax

Max e Min dois jogadores

Problema de Busca estado inicial, conjunto de operadores, teste de

terminação, estados terminais e função de utilidade Estratégia

conjunto de movimentos que levem a um nó terminal, independentemente das jogadas adversárias

inclui o movimento correto de Max para qualquer possível movimento de Min

Estratégia Minimax tenta maximizar a função de utilidade considerando que o

oponente fará de tudo para minimizá-la a seu turno

Page 29: Introdução aos Sistemas Inteligentes

Estratégia Minimax

Algoritmo Gere toda a árvore do jogo, até os nós terminais Aplique a função de utilidade para cada nó terminal

para calcular seu valor Use a utilidade dos nós terminais para calcular a

utilidade dos nós um nível acima na árvore de busca caso o nível de cima seja jogada de Min escolha a mínima

utilidade caso o nível de cima seja jogada de Max escolha a máxima

utilidade Continue até que a raiz da árvore seja atingida Escolha sempre a jogada que trará uma maior utilidade

Page 30: Introdução aos Sistemas Inteligentes

Variações da Estratégia Minimax

Estratégia Minimax infactível, em seu formato original busca até os nós terminais é impossível em casos práticos

Possível Variação utilizar uma função de avaliação ao invés de uma função de

utilidade teste terminal pode ser substituído por um teste de término

antecipado de busca, com profundidade arbitrária Consequência

decisões imperfeitas factibilidade de implementação

Dificuldades encontrar uma função de avaliação adequada

Page 31: Introdução aos Sistemas Inteligentes

Alfa-Beta Pruning(Poda Alfa-Beta)

Criação de Toda a Árvore de Busca desnecessária e consumidora de recursos

Poda corte de parte da árvore de busca, evitando sua criação

Estratégia Minimax busca em profundidade

Alfa valor da melhor escolha em um ponto do programa para

uma decisão de Max Beta

valor da melhor escolha (menor valor) em um ponto de programa para uma decisão de Min

Page 32: Introdução aos Sistemas Inteligentes

Alfa-Beta Pruning(Poda Alfa-Beta)

Busca Alfa-Beta atualiza continuamente os valores de alfa e beta, podando

uma sub-árvore quando se sabe que esta será pior do que os valores correntes de alfa e beta

Efetividade do Método depende da ordem em que os nós sucessores são avaliados melhora significativamente a estratégia minimax e suas

variações reduz a complexidade de O(bd) para O(bd/2) no melhor caso

Variações do Método podem levar a complexidade para O((b/log b)d) em média

Em alguns casos podem fazer a diferença entre um novato e um especialista

Page 33: Introdução aos Sistemas Inteligentes

Jogos com Inserção de Acaso

Alguns Jogos incluem o elemento aleatório (cartas, dados, etc … ) exemplo: gamão

Variação da Estratégia incluir nós aleatórios em adição aos nós Max e Min

Ao invés de um valor Minimax valor esperado - usa a média dos possíveis resultados

Dois valores esperados Expectmin - jogada aleatória depois de Min Expectmax - jogada aleatória depois de Max

Poda Alfa-Beta pode ser utilizada também

Page 34: Introdução aos Sistemas Inteligentes

Estado da Arte em Jogos

Melhoria do Hardware não dos algoritmos computadores específicos para o jogo de xadrez

Deep Thought - profundidade de 10 a 11 movimentos Deep Blue - profundidade de 14 movimentos Outros jogos

Damas, Othello, Gamão, Go De maneira geral

cálculo da decisão ótima em jogos é ainda intratável maioria dos algoritmos utiliza heurísticas e aproximações

Alternativas ao Minimax/Alfa-beta Meta-reasoning e Planning

Page 35: Introdução aos Sistemas Inteligentes

Lógica Matemática, Representação, Inferência

Lógica linguagem formal pelo meio da qual podemos expressar

conhecimentos mecanismos de raciocínio nesta linguagem

meios de processar o conhecimento expresso

Agentes que Raciocinam Logicamente Criam representações do mundo Usam um procedimento de inferência para obter novas

representações sobre o mundo Utilizam estas novas representações para deduzir o que fazer

Inferência Mecanismo por meio do qual novos conhecimentos são

gerados

Page 36: Introdução aos Sistemas Inteligentes

Lógicas

Lógica Proposicional (Cálculo Proposicional) simbolos representam proposições conectivos Booleanos (e, ou , negação, implicação,

equivalência) Lógica de Primeira Ordem (Cálculo de Predicados)

objetos e predicados quantificadores

Lógica Temporal mundo ordenado por um conjunto de pontos ou intervalos

(tempo) - verdades estão associadas a esses pontos Lógica Fuzzy

valor-verdade pode conter valores intermediários entre 0 e 1 baseada na teoria dos conjuntos fuzzy

Page 37: Introdução aos Sistemas Inteligentes

Caracterização de uma Lógica

Premissa Ontológica diz respeito ao tipo de fenômeno do mundo que pode

modelar o que existe no mundo

Premissa Epistemológico diz respeito aos possíveis estados de conhecimento que

um agente pode ter utilizando vários tipos de lógica o que um agente pode dizer sobre o que existe no

mundoLinguagem Premissa Ontológica Premissa Epistemológica

Lógica Proposicional Fatos Verdadeiro, falso ou incertoLógica de Primeira Ordem Fatos, objetos e relações Verdadeiro, falso ou incerto

Lógica Temporal Fatos, objetos, relações etempos

Verdadeiro, falso ou incerto

Teoria Probabilística Fatos Grau de crença entre 0 e 1Lógica Fuzzy Grau de verdade Grau de crença entre 0 e 1

Page 38: Introdução aos Sistemas Inteligentes

Caracterização de uma Lógica

Definição de uma Lógica Sintaxe, Semântica e Regras de Inferência

Sintaxe define sentenças bem formadas dentro de uma lógica normalmente definida na forma de uma gramática

Semântica define o mapeamento das premissas ontológicas nas

premissas epistemológicas normalmente definida na forma de uma tabela-verdade, ou na

forma de uma expressão analítica derivada desta Regras de Inferência

operadores que definem como podemos gerar novas sentenças a partir de sentenças bem formadas em uma lógica

Page 39: Introdução aos Sistemas Inteligentes

Semântica Supondo que:

O é o conjunto das sentenças bem formadas E é o conjunto de estados lógicos que podem ser

associados a uma sentença bem formada = {verdadeiro, falso} (ou {true, false})

função de interpretação fi : O E tabela-verdade

Lógica Proposicional

P Q P P Q P Q PQ

False False True False False True

False True True False True True

True False False False True False

True True False True True True

Page 40: Introdução aos Sistemas Inteligentes

Regras de Inferência

Modus Ponens:

And-Elimination:

And-Introduction:

Or-Introduction:

Double-Negation Elimination:

Resolution:

,

i

n

...21

nn

...

21

,...,2

,1

ni

...21

,

Page 41: Introdução aos Sistemas Inteligentes

Lógica de 1ª Ordem

Lógica Proposicional fatos ou proposições: entidades atômicas e diferenciadas impossível generalizar conhecimentos envolvendo

proposições semelhantes Resultado

número muito alto de fatos e regras sendo processados inviável uso prático mesmo em problemas simples

Lógica de 1a ordem permite uma descrição ontológica mais rica mundo consiste de objetos, isto é, coisas com identidades

individuais objetos podem ter propriedades podem existir relações e funções entre os objetos

Page 42: Introdução aos Sistemas Inteligentes

Lógica de 1ª Ordem

Sintaxe para uma Lógica de 1a ordem Sentença Sentença_Atômica

| Sentença Conectivo Sentença | Quantificador Variável …. Sentença | Sentença | (Sentença)

SentençaAtômica Predicado (Termo,…) | Termo = Termo Termo Função(Termo, ...) | Constante | Variável

Conectivo | | | Quantificador | Constante A | B | X1 | FHC Variável x | y | a | ……. Predicado Antes _De | Cor | …. Função Mãe | f | g |

Page 43: Introdução aos Sistemas Inteligentes

Lógicas de Ordem Superior

Lógica de Primeira Ordem permite o uso de quantificadores para objetos mas não para

predicados, relações ou funções entre objetos Lógicas de Ordem Superior

permitiriam o uso de quantificadores também para predicados, relações e funções entre objetos

x,y (x = y) (p p(x) p(y)) possuem maior poder expressivo do que a lógica de 1a

ordem dificuldades em encontrar mecanismos de raciocínio para

lógicas de ordem superior sabe-se que problema geral de resolução de lógicas de

ordem superior é indecidível lógicas de ordem superior normalmente não são utilizadas

Page 44: Introdução aos Sistemas Inteligentes

Sistemas Especialistas

Base de Conhecimento conjunto de representações sobre o mundo (KB)

cada elemento do conjunto é uma sentença sentença: expressão de uma linguagem de representação

de conhecimento background knowledge (conhecimento inicial)

Mecanismos para Inserção de conhecimentos na base de conhecimentos Consulta aos conhecimentos na base de conhecimentos

Mecanismo de Inferência permite, a partir de uma consulta, derivar

conhecimentos que estão armazenados na base de conhecimentos de maneira implícita

Page 45: Introdução aos Sistemas Inteligentes

Engenharia do Conhecimento

Aplicação

EspecialistaAplicação

ConhecimentoAplicação

Engenheiro doConhecimento

Base deConhecimento

Page 46: Introdução aos Sistemas Inteligentes

Construindo Bases de Conhecimento

Engenharia do Conhecimento processo de construção de bases de conhecimento

Engenheiro do Conhecimento investiga algum domínio do conhecimento em particular determina quais conceitos são importantes cria uma representação formal para os objetos e

relacionamentos nesse domínio normalmente não é um especialista no domínio em questão,

mas se serve de uma interação com esses especialistas para construir a base de conhecimento

Lógica de 1a ordem ferramenta para a representação do conhecimento e raciocínio não oferece nenhum conselho sobre quais fatos devem ser

expresso nem o vocabulário a ser utilizado

Page 47: Introdução aos Sistemas Inteligentes

Construindo Bases de Conhecimento

Aquisição do Conhecimento metodologia para a elicitação do conhecimento necessário

para representar um domínio normalmente obtém-se o conhecimento por meio de

entrevistas com especialistas do domínio criação de cenários e estudos de casos

Engenharia de Ontologias metodologia para a escolha da terminologia e representação

de conhecimentos gerais sobre algum domínio em particular, em uma linguagem formal

Engenharia do Conhecimento semelhante, sob certos aspectos, à fase de análise da

engenharia de software, quando se tenta levantar a organização de processos do mundo real e criar uma descrição destes

Page 48: Introdução aos Sistemas Inteligentes

Mecanismo de Inferência:Encadeamento Direto

procedure FORWARD_CHAIN(KB, p) if there is a sentence in KB that is a renaming of p then return Add p to KB for each (p1 … pn q) in KB such that for some i, UNIFY(pi, p) =

succeeds do FIND_AND_INFER(KB, [p1, ….,pi-1, pi+1, …., pn], q, )

end

procedure FIND_AND_INFER(KB, premises, conclusion, ) if premises = [ ] then FORWARD_CHAIN(KB, SUBST(, conclusion) else for each p’ in KB such that UNIFY(p’, SUBST(, FIRST(premises))) = 2

doFIND_AND_INFER(KB, REST(premises), conclusion, COMPOSE(, 2))

end

Page 49: Introdução aos Sistemas Inteligentes

Mecanismo de Inferência:Encadeamento Reverso

function BACK_CHAIN(KB, q) returns a set of substitutionsBACK_CHAIN_LIST(KB,[q],{})

function BACK_CHAIN_LIST(KB,qlist,) returns a set of substitutions inputs: KB, a knowledge base; qlist, a list of conjuncts forming a query ( already

applied); , the current substitution local variables: answers, a set of substitutions, initially empty if qlist is empty then return {} q FIRST(qlist) for each qi’ in KB such that i UNIFY(q, qi’) succeeds do

Add COMPOSE(, i) to answers end for each (p1 … pn qi’) in KB such that i UNIFY (q, qi’) succeeds do

answers BACK_CHAIN_LIST(KB,SUBST(i,[p1 … pn ],COMPOSE(, i)) answers

end return the union of BACK_CHAIN_LIST(KB,REST(qlist), ) for each answers

Page 50: Introdução aos Sistemas Inteligentes

Redes Bayesianas

Valor-Verdade de Proposições Pode ser substituído pela idéia de Crença

Relações entre Crenças Inferência Probabilística (Indutiva)

Relações de Dependências entre Crenças Podem ser representadas em um grafo Propagação probabilística de Crenças segue a regra de

Bayes

BA S

P(A/B) = P(B/A)P(A)

P(B)

P(A/B,E) = P(B/A,E)P(A/E)

P(B/E)

Page 51: Introdução aos Sistemas Inteligentes

Redes Bayesianas

Rede Bayesiana grafo orientado, no qual todas as variáveis são associadas

a distribuições de probabilidade discretas representam distribuições de probabilidade em problemas

de tomada de decisão com grande número de variáveis Duas maneiras básicas de construir uma rede

Bayesiana obter a estrutura da rede e os valores de probabilidade de

um especialista; esta estratégia de aplicação é comum em Inteligência

Artificial, visando substituir os Sistemas Especialistas. análise estatística de dados experimentais e do uso de

técnicas de estimação para gerar valores de probabilidade

Page 52: Introdução aos Sistemas Inteligentes

Redes Bayesianas

Page 53: Introdução aos Sistemas Inteligentes

Tipos de Inferência em Redes Bayesianas

Causal (da causa para o efeito) P(JohnCalls/Roubo) = 0,86

Diagnóstico (do efeito para a causa) P(Roubo/JohnCalls) = 0,016

Roubo Alarme JohnCalls

Evidência Query

JohnCalls Alarme Roubo

Evidência Query

Page 54: Introdução aos Sistemas Inteligentes

Tipos de Inferência em Redes Bayesianas

Intercausal (entre causas com um efeito comum) P(Roubo/Alarme) = 0,376 P(Roubo/Alarme Terremoto) = 0,373

Mista (combinando duas ou mais das de cima) P(Alarme/JohnCalls Terremoto) = 0,03 Este é um uso simultâneo de inferência causal e

diagnóstico.

Roubo Alarme Terremoto

Query EvidênciaEvidência

JohnCalls Alarme Terremoto

Evidência EvidênciaQuery

Page 55: Introdução aos Sistemas Inteligentes

Redes Bayesianas

Interessantes do ponto de vista computacional algoritmos de tomada de decisão podem ser

implementados de forma eficiente neste modelo. cada nó de uma rede Bayesiana é associado a uma

variável Reprodução do raciocínio humano indutivo Eficiência no cálculo de probabilidades

Aplicações Típicas Auxílio à tomada de decisão Análise de Risco Análise de Cenários Estatísticos Aplicações em Finanças, Detecção de Falhas,

Diagnóstico Médico Data Mining

Page 56: Introdução aos Sistemas Inteligentes

Inteligência Computacional

Sistemas e Lógica FuzzyRedes NeuraisComputação Evolutiva

Page 57: Introdução aos Sistemas Inteligentes

Sistemas e Lógica Fuzzy

Constatação Básica O ser humano é capaz de realizar tomadas de decisão

utilizando-se de termos vagos, tais como: Preço é ALTO Custo é BAIXO Risco é MÉDIO

Pergunta Básica Como isso é possível ?

Teoria dos Conjuntos Fuzzy Nebulosos ? Difusos ? Borrosos ?

Sistemas Fuzzy Lógica Fuzzy

Page 58: Introdução aos Sistemas Inteligentes

Conjuntos

Ax AyDicotomia

A = { xR 2 x 5 } Universo X = Números Reais

A = { 1, 2, 4, 7, 8 } Universo X = {1,2,3,4,5,6,7,8,9}

Universo x

x

A

y

Conjunto

Page 59: Introdução aos Sistemas Inteligentes

Função de Pertinência

A: X {0, 1}

A xif 0

A x if 1 A(x)

1 2 3 4 5 6 7 8 9 X

A(x)

1

A = { 1, 2, 4, 7, 8 }

2 5 R

A(x)

1

A = { xR 2 x 5 }

Page 60: Introdução aos Sistemas Inteligentes

Problema da Dicotomia

Uma semente não constitui uma pilha, nem duas ou três … por outro lado, todos concordaremos que 100 milhões de sementes constituem uma pilha. Qual será então o limite apropriado ? Podemos dizer que 325.647 sementes não constituem uma pilha, mas 325.648 sementes o fazem ?

Borel, 1950

Page 61: Introdução aos Sistemas Inteligentes

Temperatura “Confortável”

temp temp

temp

Por volta de 20 C

20 C20 C

20 C

Page 62: Introdução aos Sistemas Inteligentes

Conjunto Fuzzy

Conjunto Fuzzy

Universo x

x

A

yz

A: X [0, 1]

Page 63: Introdução aos Sistemas Inteligentes

Função de Pertinência

Conjunto FuzzyFunção de Pertinência

A: X [0, 1]

X

A(x)

1

Page 64: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - União

União C = A B A, B e C em X

C(x) = max {A(x), B(x)}, xX

s : [0,1] [0,1] [0,1]

C(x) = A(x) s B(x) xX

2 5 X

A(x)

1

4 7

A B

C = A B

X

A(x)

1

A B

C = A B

Page 65: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - União

s-normas s : [0,1] [0,1] [0,1]

Comutatividade x s y = y s x

Associatividade x s (y s z) = (x s y) s z

Monotonicidade If x y and w z then x s w y s z

Condições de Contorno 1 s x = 1, 0 s x = x

Page 66: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - União

Exemplos

União x y = max (y, x)

Soma Probabilística x y = x + y - xy� Soma Limitada x y = min (1, x + y)

Soma Drástica

otherwise 1

0 xify

0 y ifx

y x

Page 67: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - Interseção

X

A(x)

1A B

C = A B

2 5 R

A(x)

1

4 7

C = A B

A B

Interseção C = A B A, B e C em X

C(x) = max {A(x), B(x)}, xX

t : [0,1] [0,1] [0,1]

C(x) = A(x) t B(x) xX

Page 68: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - Interseção

t-normas t : [0,1] [0,1] [0,1]

Comutatividade x t y = y t x

Associatividade x t (y t z) = (x t y) t z

Monotonicidade If x y and w z then x t w y t z

Condições de Contorno 1 t x = x, 0 t x = 0

Page 69: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - Interseção

Exemplos

Interseção x y = min (y, x)

Produto Algébrico x y = xy

Produto Limitado x y = min (1, x + y)

Produto Drástico

otherwise 0

1 xify

1 y ifx

y x

Page 70: Introdução aos Sistemas Inteligentes

Operações sobre Conjuntos Fuzzy - Complemento

Complemento A e em X

(x) = 1 - A(x), xX

C : [0,1] [0,1]

(x) = C (A(x)) xX

A

A

A

A

X

1A

C(1) = 0 and C(0) =1 Condições de ContornoC(x) C(y) if x y, x, y [0,1] MonotonicidadeC(C(x)) = x, x [0,1] Involução

Page 71: Introdução aos Sistemas Inteligentes

Variáveis Linguísticas

Velocidade Variável Linguística

Baixa Média Alta

Conjunto de TermosTermos Linguísticos

X

1

Baixa AltaMédia

Regra Semântica

UniversoVariável Base x

(X, T(X), X, G,M)

Page 72: Introdução aos Sistemas Inteligentes

Granulação da Informação

X

1

X

1

GranulaçãoLarga

(Partição)

GranulaçãoFina

(Partição)

Page 73: Introdução aos Sistemas Inteligentes

Representação do Conhecimento

•Unidade Básica de Informação é uma proposição do tipo:

O ( atributo ) de ( objeto ) é ( valor )

• Examplo: A temperatura do forno é alta

temperatura (forno) é alta

• Forma Geral (canônica) p: X é A

Page 74: Introdução aos Sistemas Inteligentes

Exemplo: O Clima está Ameno

Quente

Ameno

Frio

QuenteAmenoFrio

C

1

Fuzzy

QuenteAmenoFrio

C

1

Crisp

Page 75: Introdução aos Sistemas Inteligentes

Inferência Fuzzy

Distância entrecarros, X (m)

VelocidadeY, km/h

Inferência Fuzzy (Decisão)

Z Redução de Velocidade (Força nos Freios)

X

Y

Distância

Velocidade

Page 76: Introdução aos Sistemas Inteligentes

Regras Fuzzy

Regra 1 Se a Distância entre dois carros é Pequena e a Velocidade do carro é AltaEntão Freie Forte

Regra 2 Se a Distância entre dois carros é Moderadamente Alta e a Velocidade do carro é AltaEntão Freie Moderadamente Forte

(assumindo-se que o carro da frente se move em velocidade constante

Page 77: Introdução aos Sistemas Inteligentes

Funções de Pertinência

L: LightM: Moderately HardH: Hard

L M H

0 100Freio

%

Z L M H

0 80Velocidade

km/h

Z: ZeroL: LowM: Moderately HighH: High

Z S M L

0 50Distância

km

Z: ZeroS: ShortM: Moderately LongL: Long

Page 78: Introdução aos Sistemas Inteligentes

Inferência Fuzzy

S

0 50 km

H

0 80 km/h

H

0 100 %

M

0 50 km

H

0 80 km/h

M

0 100 %

Freio%

Freie mais forte que moderadamente forte

0 100

M H

Page 79: Introdução aos Sistemas Inteligentes

Controle Fuzzy

e

deu

Base de Regras

Encoder Decoder

Base de Regras

Inferência

NB NB NB NB NB NM NS ZONM NB NB NB NM NS ZO PSNS NB NB NM NS ZO PS PMZO NB NM NS ZO PS PM PBPS NM NS ZO PS PM PB PBPM NS ZO PS PM PB PB PBPB ZO PS PM PB PB PB PB

NM PBNB NS ZO PS PMDEE

Page 80: Introdução aos Sistemas Inteligentes

Lógica Fuzzy

Valores Fuzzy Podem ser atribuídos ao valor-verdade de uma

proposição Lógica Fuzzy

Valor verdade

1certoincerto indeciso

Page 81: Introdução aos Sistemas Inteligentes

Redes Neurais

Histórico e Relevância Córtex Humano

100 bilhões de neurônios ( 1011 ) Cada neurônio com 1.000 dendritos Logo: 100.000 bilhões ( 1014 ) de sinapses Sinapse: opera a 100 Hz Velocidade operação: 10.000 bilhões ( 1016 ) con/seg

Aplicações

Page 82: Introdução aos Sistemas Inteligentes

Neurônio Biológico e Artificial

Dendritos

Sinapses

Axônio

w1

wi

wn

x1

xi

xn

y

n1i ii )xw(y f

pesos Função de ativação

Page 83: Introdução aos Sistemas Inteligentes

Redes Neurais

xr

xi

xn

xj

yk

Page 84: Introdução aos Sistemas Inteligentes

Processamento Convencional

Objeto

SensorPré-processamento

Análisee

Modelagem Dados

Projeto Algoritmoe

Implementação

Page 85: Introdução aos Sistemas Inteligentes

Processamento Neural

Objeto

SensorPré-processamento

Bug

Aprendizagem

Rede Neural

Page 86: Introdução aos Sistemas Inteligentes

Modelos de Redes Neurais Artificiais

Redes Neurais

Feedforward Feedback

SinglelayerNetworks

MultilayerNetworks

Radial BasisNetworks

CompetitiveNetworks

KohonenSOM

HopfieldNetworks

ARTModels

Page 87: Introdução aos Sistemas Inteligentes

Classificação de Padrões

Classificador de

Padrões

Normal

Anormal

Page 88: Introdução aos Sistemas Inteligentes

Agrupamento de Dados - Aproximação Funcional

Clustering Aproximação

y

x

f

f*

Page 89: Introdução aos Sistemas Inteligentes

Previsão de Séries Temporais - Otimização

y

t

?

t1 t2 t3 tk tk+1

A

B

C

D

E

Previsão Otimização

Page 90: Introdução aos Sistemas Inteligentes

Memória Associativa

MemóriaEndereçada

pelo Conteúdo

Page 91: Introdução aos Sistemas Inteligentes

Controle de Processos

Processo

Controlador

Saída

Entrada

Perturbações

Page 92: Introdução aos Sistemas Inteligentes

Aprendizagem Supervisionada de um Neurônio

w1

w2

tempo

1.0

-1.0

0x1

tempo

1.0

-1.0

0x2

Correção

do

Erro

tempo

1.0

-1.0

0

tempo

1.0

-1.0

0

H L C C

y

y

Ligada

Desligada

21 xx Desliga 0.5xx

Liga 0.5xx

21

21

“Professor”

Page 93: Introdução aos Sistemas Inteligentes

Aprendizagem Competitiva

x1

xi

xn

yj

wij

jj 0

j j )wx(w iji

ij

Page 94: Introdução aos Sistemas Inteligentes

Aprendizagem Hebbiana

x1

x2

wo

w

jiijij yy(k)ww

wij

yjyi

i

jx1

x2

Page 95: Introdução aos Sistemas Inteligentes

Rede Perceptron Multicamadas

w(1)qi w(2)

ij w(L)jk y(L)

k

Camadade

Entrada

CamadasIntermediárias

Camadade

Saída

1ijij

i

1i

1jij

'j

Lj

uj

Lj

'Lj

yw

w)h(f

]yd)[h(f

lll

llll

Retro-Propagaçãodo Erro

(Backpropagation)

}P,....,1u),d,x{( uu

xu du

Page 96: Introdução aos Sistemas Inteligentes

Rede de Kohonen

contrário caso )k(w

N(k) j)(i, se (k)],w-(k)[x(k)(k)w1)(kw

ij

ijijij

SOM - Self Organizing Maps

x1

x2

xn

(i,j)

Page 97: Introdução aos Sistemas Inteligentes

Computação Evolutiva

Computação Evolutiva Ferramenta adaptativa para a solução de problemas Modelo computacional de processos evolutivos naturais Elemento gerador de criatividade

ferramenta de design artístico ou de engenharia

Objetivos criação, na forma de programas computacionais, de novas

formas de organização (designs) sistemas inteligentes (inteligência artificial) formas de vida (vida artificial)

Habilidades Envolvidas auto-replicação, aprendizado, adaptação, controle do meio,

representação e processamento de informação altamente eficientes

Page 98: Introdução aos Sistemas Inteligentes

Evolução

Evolução método de busca (em paralelo) de soluções dentre um

número muito grande de candidatos, sujeitos a condições de adaptação variáveis

Regras Básicas as espécies evoluem aleatoriamente (via operadores de

mutação, recombinação e outros), estando sujeitas à seleção natural sob recursos limitados.

os indivíduos mais adaptados sobrevivem e se reproduzem, propagando seu material genético às próximas gerações

indivíduos menos dotados perecem e não participam das próximas gerações

Page 99: Introdução aos Sistemas Inteligentes

Evolução

Bases Biológicas Genética e Hereditariedade Teoria da Evolução e Seleção Natural (Darwin)

Terminologia Biológica cromossomo genes recombinação (crossover) mutação genótipo fenótipo

Page 100: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Características Principais GA's trabalham com a codificação de um conjunto de

parâmetros, e não com os próprios parâmetros GA's fazem busca sobre uma população de pontos e

não sobre um único ponto GA's utilizam funções de custo (funções objetivo), e

não derivadas ou outro tipo de conhecimento auxiliar GA's utilizam regras de transição probabilística, e

não regras determinísticas Algoritmo Genético Clássico

Codificação binária, Reprodução e Seleção Natural via algoritmo Roulette Wheel, Crossover Simples, Mutação

Page 101: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Roullete Wheel Probabilidade de seleção de um cromossomo é

diretamente proporcional a seu valor da função de fitness.

Exemplo

N Cromossomo Fitness Graus1 0001100101010 6.0 1802 0101001010101 3.0 903 1011110100101 1.5 454 1010010101001 1.5 45

0

1

0.25

0.75

0.5

1

2

3

4

Page 102: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

POPULAÇÃO INICIAL

011001010100001 110011010010010010100100100100101000101001001010010100101001001001000101000101101010101001001010010111010101011111010101001010100010100

001010010111010110011010010010 010100100100100011001010100001 010010100101001 001001000101000 011001010100001 001010010111010 101011111010101001010100010100

00101 0010111010 11001 1010010010 0101001001 00100 0110010101 00001 010 010100101001 001 001000101000 01100101 0100001 00101001 0111010 10 1011111010101 00 1010100010100

00101 1010010010 11001 0010111010 0101001001 00001 0110010101 00100 010 001000101000 001 010100101001 01100101 0111010 00101001 0100001 10 1010100010100 00 1011111010101

001011010010010 110010010111010 010100100100001 011001010100100 010001000101000 001010100101001 011001010111010 001010010100001 101010100010100 001011111010101

001011010010010 110000010111010 010100100100001 011001010101100 010001000101000 001010100101001 011001010111010 001110010100001 101010100010100 001011111010001

PRÓXIMA GERAÇÃO

Seleção de pares via Roulette Wheel

Crossover

Mutação

Determinação dos pontos de

Crossover

Page 103: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Problemas com o algoritmo clássico Permite a perda de indivíduo ótimo Posição do gene influi na probabilidade de realizar crossover Dificuldades quando os parâmetros são números reais

Algumas estratégias de solução Codificação em strings de números reais Crossover Uniforme Mecanismos alternativos de seleção

Algoritmo Genético Modificado Geração de Sub-populações por meio de operações sobre

membros da população inicial e das próprias sub-populações Reprodução e re-classificação da população intermediária Seleção para nova geração

Page 104: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

POPULAÇÃO INICIAL

SUB-POPULAÇÕES

SE

LE

ÇÃ

O

PRÓXIMA GERAÇÃO

POPULAÇÃO INTERMEDIÁRIA

MELHOR INDIVÍDUO

OP

ER

ÕE

S

RE

PR

OD

ÃO

Page 105: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Exemplos de Operações Crossover Simples entre indivíduos aleatórios (Roulette Wheel) Crossover Simples entre indivíduo aleatório (Roulette Wheel) e

melhor indivíduo Crossover Uniforme entre indivíduos aleatórios (Roulette

Wheel) Crossover Uniforme entre indivíduo aleatório (Roulette Wheel)

e melhor indivíduo Mutação de Indivíduos Aleatórios (Roulette Wheel) da

População Inicial e/ou Sub-populações Mutação aleatória Mutação indutiva (somente p/ codificação real)

Mutação do Melhor indivíduo Mutação aleatória Mutação indutiva (somente p/ codificação real)

Page 106: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Exemplo de Mecanismos de Seleção Seleção Elitista – são selecionados os N melhores

indivíduos da população intermediária Seleção Aleatória – são selecionados aleatoriamente N

indivíduos da população intermediária Salvacionista – seleciona-se o melhor indivíduo e os outros

aleatoriamente Não-salvacionista – seleciona aleatoriamente todos os

indivíduos Distribuição uniforme – todos têm a mesma chance Distribuição proporcional

roulette wheel por fitness roulette wheel por fitness com sigma scaling seleção de Boltzmann seleção por rank

Page 107: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Outros Mecanismos de Seleção Seleção por diversidade – são selecionados os

indivíduos mais diversos na população intermediária, a partir do melhor indivíduo

Seleção bi-classista – são selecionados o P% melhores indivíduos e os (100-P)% piores indivíduos

Seleção por Torneio – dois indivíduos são escolhidos aleatoriamente. Um número aleatório r entre 0 e 1 é gerado. Se r < k (parâmetro) o melhor dos indivíduos é escolhido. Senão o outro é escolhido.

Seleção Steady-State – a população original é mantida, com a excessão de alguns poucos indivíduos menos adaptados.

Page 108: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Codificação Determinação da estrutura dos cromossomos

como um cromossomo representa uma (ou parte da) solução do problema

Determinação da função de avaliação Etapa crítica no desenvolvimento de soluções de

problemas utilizando GA’s Características

Codificação deve ser simples e representar a solução do problema como um todo

Modificação de cromossomos por crossover/mutação deve gerar novos indivíduos válidos

Page 109: Introdução aos Sistemas Inteligentes

Algoritmos Genéticos

Problemas a serem evitados Codificações em que novos cromossomos gerados por

crossover/mutação possam ser inválidos Codificações em que a medida da função de avaliação

seja dificultada Abordagens

Abordagem Michigan – a população como um todo é a solução para o problema

Abordagem Pittsburgh – cada elemento da população corresponde a uma solução do problema

Variações GA’s com população variável mGA's - Messy Genetic Algorithms

Page 110: Introdução aos Sistemas Inteligentes

Sistemas Classificadores (Classifier Systems)

Sistemas Classificadores Sistemas baseados em regras, trabalhando massivamente em

paralelo e com passagem de mensagens, capazes de aprender utilizando as técnicas de credit assignment (algoritmo Bucket Brigade) e rule discovery (algoritmo genético).

Operam em ambientes com as seguintes características: Eventos novos e sucessivos, acompanhados de largas doses de

ruído e dados irrelevantes Necessidade de agir de maneira contínua e em tempo real Metas implícitas ou inexatas Recompensas esparsas, obtidas depois de ações longas

Criados p/ absorver novas informações continuamente, Avaliando conjuntos de hipóteses competindo entre si, sem

prejudicar as capacidades já adquiridas.

Page 111: Introdução aos Sistemas Inteligentes

Sistemas Classificadores

Entrada do Ambiente

Saída para o Ambiente

Discovery Genetic Algrorithm

Credit Assignment Bucket Brigade

Performance System

Page 112: Introdução aos Sistemas Inteligentes

Sistemas Classificadores

Interface de Entrada

Lista de Mensagens

Lista Classificadores

Interface de Saída

AMBIENTE

Page 113: Introdução aos Sistemas Inteligentes

Programação Genética

O que define a programação genética? é uma tentativa de tratar uma das questões centrais em

ciência da computação: "Como os computadores podem aprender a resolver problemas

sem serem explicitamente programados para tal? Ou seja, como os computadores podem fazer o que deve ser

feito sem serem orientados exatamente para fazerem isto?"

A maior barreira para se atingir este objetivo está na característica determinística da grande maioria dos

ramos de pesquisa em inteligência artificial propriedades principais que um programa deve apresentar para

ser um candidato à solução de problemas de interesse prático são: correção, consistência, motivação lógica, precisão, ordenação, parcimônia, definibilidade

a programação genética, entretanto, inverte esta lógica

Page 114: Introdução aos Sistemas Inteligentes

Programação Genética

Programação genética evolução de programas de computador usando analogias

com mecanismos utilizados pela evolução biológica natural.

Aspecto Distintivo embora demande aperfeiçoamentos, muitos problemas

práticos já têm sido resolvidos com programação genética Programa Computacional

seqüência de aplicações de funções a argumentos paradigma funcional

Implementação de Programação Genética imediata, quando associada a linguagens de programação

funcionais, e.g. LISP

Page 115: Introdução aos Sistemas Inteligentes

Programação Genética

Programas codificados por meio de:

listas, filas, árvores e grafos cromossomos “não lineares” operações sobre estruturas

*

1 2

3 4

10

IF

>

TIME

+

+

B

C

A

Y

Z

X

+

Z C

YX

+

BA

Page 116: Introdução aos Sistemas Inteligentes

Algoritmos Meméticos

Algoritmos Genéticos Podem encontrar boas soluções no âmbito global, mas

têm dificuldades em realizar uma otimização local Algoritmos Meméticos

Algoritmos genéticos modificados, que além dos processos de crossover e mutação, promovem uma busca local em cada indivíduo, após a aplicação dos operadores padrão

Podem ser bastante efetivos em problemas de otimização mais complexos

Page 117: Introdução aos Sistemas Inteligentes

Novas Tendências em Sistemas Inteligentes

Agentes e Sistemas Multi-AgentesVida ArtificialAutômatos CelularesInteligência Coletiva (Swarm Intelligence)Colônias de InsetosEngenharia ImunológicaSistemas EndócrinosSemiótica ComputacionalCognição Artificial

Page 118: Introdução aos Sistemas Inteligentes

Agentes Inteligentes

Agentes Inteligentes entidades de hardware ou de software que nos auxiliam a

resolver problemas, atuando de forma autônoma em ambientes complexos

Aplicações gerenciamento de tráfego e serviços de transporte; controle de redes de comunicação e de computadores; controle de sistemas de potência; gerenciamento de transações em bancos, comércio; monitoração, supervisão e controle de processos

industriais e sistemas de manufatura; atendimento e serviços médicos, etc...

Page 119: Introdução aos Sistemas Inteligentes

Definição e Características

Agente qualquer entidade que perceba um ambiente através de

sensores, execute tarefas de processamento de informações e de conhecimento e atue sobre o ambiente através de atuadores (Russell & Norvig 1995).

Ambiente

Percepção

Atuação

Sensores

Atuadores

Agente

Page 120: Introdução aos Sistemas Inteligentes

Características Desejáveis

Direcionabilidade capaz de receber diretrizes de usuários e outros

agentes Autonomia

comportamento determinado pela própia experiência Persistência

capaz de operar por longos períodos sem atenção Confiabilidade

desempenho de acordo com expectativas Antecipação

antecipar necessidades, resultados, informações, aprendizagem

Page 121: Introdução aos Sistemas Inteligentes

Características Desejáveis

Pró-atividade (Iniciativa) capaz de iniciar atividades e comportamentos buscando

a solução de problemas por conta própria Cooperação

entre sistemas e outros agentes; resolução de conflitos; capacidade de negociação, etc.

Flexibilidade estruturas heterogêneas de agentes e fontes de

informação Adaptação

capacidade de modificar seus objetivos, adotar novas prioridades, desenvolver novas tarefas, aprendizagem

Page 122: Introdução aos Sistemas Inteligentes

Estruturas de Agentes

Centralizadas Agentes Mecânicos Agentes Reativos

Agentes Reflexivos Agentes Dinâmicos Agentes Orientados

por Metas Agentes Orientados

por Utilidade Agentes Emocionais

Agentes Comunicativos Agentes Semióticos

Distribuídas Agentes Uniformes Agentes Especializados

Agentes Interface Agentes Tarefa Agentes Informação

Agentes Especializáveis

Sistemas Multi-Agentes podem atuar como

agentes em um nível hierárquico superior

Page 123: Introdução aos Sistemas Inteligentes

Sistemas Multiagentes e Sociedades de Agentes

Coleção de agentes x Sociedade de Agentes interação entre agentes

Protocolos de comunicação mecanismo para trocar e entender mensagens

Protocolos de interação mecanismo para negociar e cooperar

Características de ambientes multiagentes Infraestrutura especificando protocolos de comunicação

e interação Tipicamente aberto, sem elemento central Agentes autônomos, distribuídos, competitivos (self-

interested) ou cooperativos

Page 124: Introdução aos Sistemas Inteligentes

Coordenação de Sistemas Multi-Agentes

Coordenação

Cooperação Competição

Planejamento Negociação

Centralizado Distribuído

sem antagonismo com antagonismo

Page 125: Introdução aos Sistemas Inteligentes

Vida Artificial

Definição Genérica método de geração, a partir de componentes interativos,

simples e "microscópicos", de comportamentos em nível "macroscópico" que podem ser interpretados como análogos a processos de vida

Abordagem Reducionista e Sintética explicação de comportamentos de alto nível recorrendo a

causas de baixo nível construção de sistemas mais complexos a partir de

elementos mais simples, possivelmente interdependentes Reducionismo

entendimento de um sistema em estudo em termos das propriedades de suas partes e suas interações

Page 126: Introdução aos Sistemas Inteligentes

Vida Artificial

Vida Natural não existe uma definição universalmente reconhecida

de vida consenso de que a vida é um conjunto de atributos tais

como: auto-organização, adaptação, emergência, autonomia,

desenvolvimento, crescimento, reprodução, evolução, adaptação e metabolismo

presença de alguns destes atributos (não todos) já é tido como suficiente para se implementar processos de vida.

alguns cientistas acreditam que o conceito de vida pode variar de espécie para espécie, não aceitando, portanto, uma definição única e fechada.

Page 127: Introdução aos Sistemas Inteligentes

Vida Artificial

Pioneiros da vida artificial 1950 (von Neumann): autômatos celulares; estudo dos

fenômenos de auto-organização e reprodução. 1952 (Turing): publicação de um trabalho sobre morfogenia

(desenvolvimento de formas biológicas). Os resultados deste trabalho continuam sendo explorados até hoje.

Após os primeiros desenvolvimentos parcialmente "esquecidos” foco de atenção : inteligência artificial falta da capacidade computacional necessária para simular

os fenômenos de vida artificial. No início dos anos 80

Artificial Life - termo cunhado em 1987 por Christopher Langton

Page 128: Introdução aos Sistemas Inteligentes

Autômatos Celulares

Célula

Estado depende dosestados das célulasvizinhas

Page 129: Introdução aos Sistemas Inteligentes

Inteligência Coletiva(Swarm Intelligence)

Swarm Intelligence: “Qualquer tentativa de se desenvolver algoritmos ou dispositivos distribuídos de resolução de problemas inspirados no comportamento coletivo de colônias de insetos sociais ou outras sociedades animais” [Bonabeau, Dorigo, and Theraulaz, 1999]

Colônias de Insetos Sociais Podem desenvolver

sistemas complexos inteligentes flexíveis e confiáveis A partir de elementos

Estereotipados, não-inteligentes e simples Cada indivíduo de uma sociedade

Segue regras simples, com comunicação local (trilhas de odores, sons, toques), de baixa demanda computacional

Estrutura Global do Sistema Emerge a partir dos comportamentos individuais

Page 130: Introdução aos Sistemas Inteligentes

Swarm Intelligence

Page 131: Introdução aos Sistemas Inteligentes

Swarm Intelligence

Page 132: Introdução aos Sistemas Inteligentes

Colônias de Insetos

Colônias de Insetos Sociais (Formigas, Cupins, Abelhas, Vespas, etc.) Comportamentos complexos Flexíveis e robustos Capacidade da colônia transcende a do inseto

individualmente Comportamento do Inseto depende do de outros iguais a

ele Como esse comportamento inteligente de grupo surge ?

Auto-organização Interações Locais

Inseto a inseto Inseto com o ambiente

Especialização Na morfologia do inseto (soldados, rainhas, trabalhadoras, etc.) No comportamento do inseto (insetos iguais, mas com tarefas

distintas – podem mudar de tarefa dependendo-se do contexto Por idade (mais velhos são mais agressivos)

Page 133: Introdução aos Sistemas Inteligentes

Colônias de Insetos

Alguns resultados práticos Algoritmos de Otimização por Colônias de Formigas

Extremamente bem-sucedidos na otimização de uma grande variedade de problemas combinatoriais de otimização de grande dificuldade

Algumas das melhores soluções para alguns problemas conhecidos

Controle de Sistemas de Telecomunicações Baseados em Formigas

Soluções extremamente flexíveis Melhor solução para alguns problemas

Page 134: Introdução aos Sistemas Inteligentes

Simulação de Colônia de Formigas

Page 135: Introdução aos Sistemas Inteligentes

Robótica baseada em Swarms

Múltiplos Robôs Vantagens

significativas em relação a robôs individuais

Sensoreamento e ação em múltiplos lugares

Reconfiguração dependente da tarefa

Divisão de trabalho eficiente

Robustez devido à redundância

Auto-organização e emergência de comportamento

Page 136: Introdução aos Sistemas Inteligentes

Engenharia Imunológica

Engenharia Imunológica Engenharia + Imunologia

Motivação A cooperação e competição entre muitos indivíduos

(agentes) simples resulta em sistemas complexos. Aplicação do conceito de “swarm-intelligence”

aproveitando-se de conceitos da imunologia Exemplos

linfócitos (sistema imunológico), etc.

Page 137: Introdução aos Sistemas Inteligentes

Engenharia Imunológica

Engenharia convencional especificação detalhada do comportamento preciso de

cada componente do sistema (procedimentos passo-a-passo).

Engenharia imunológica especificação geral, ou aproximada, de alguns aspectos

do comportamento global do sistema, como uma medida de desempenho ou função de adaptabilidade (afinidade)

extração de informações contidas no próprio problema para obtenção de soluções dedicadas

Aplicações potenciais da engenharia imunológica: reconhecimento de padrões, otimização, aproximação de

funções, controle, etc.

Page 138: Introdução aos Sistemas Inteligentes

Seleção Clonal

Page 139: Introdução aos Sistemas Inteligentes

Seleção Clonal x Algoritmo Genético

Page 140: Introdução aos Sistemas Inteligentes

Seleção Clonal x Algoritmo Genético

Page 141: Introdução aos Sistemas Inteligentes

Teoria da Rede Imunológica

Rede de moléculas e células que se reconhecem (possuem atividade) mesmo na ausência de estímulos externos

Abordagem sistêmica que fornece uma medida mais precisa de comportamentos emergentes como aprendizagem e memória, tolerância ao próprio, dimensão e diversidade populacional

p1

i1

p2

i2

p3

i3

Ag(epítopo)

Dinâmica do sistema imunológico

Estímulo externo

Imageminterna

Conjunto anti-idiotípico

Reconhecimento

Page 142: Introdução aos Sistemas Inteligentes

Sistemas de Partículas e Fractais

Objetivo Representar a complexidade dos objetos do mundo real,

principalmente em aplicações de computação gráfica e realidade virtual

Simulação e Visualização de Dados Complexos Aplicações

Utilizado para modelagem e rendering : fogo, água, explosões, fumaça, terrenos, explosões, nuvens, grama, ...

Estão intimamente ligados com animação Movimentos de cobras e vermes

A sua utilização em um ambiente virtual contribui para que esses fenômenos (e outros) possam ser visualizados com maior realismo.

Aplicação em sistemas inteligentes: Vida Artificial

Page 143: Introdução aos Sistemas Inteligentes

Sistemas de Partículas

Um sistema de partículas é definido por: Uma coleção de partículas que se desenvolvem ao longo do

tempo. Possuem vida própria Podem: gerar novas partículas, ganhar novos atributos,

morrer, se mover. Partículas individuais:

Movem-se no espaço 3D Trocam seus atributos

Parâmetros que podem ser utilizados: Posição inicial Velocidade e direção inicial Tamanho inicial Cor inicial Transparência inicial Forma e tempo de vida Utilização dos parâmetros ao longo do tempo.

Page 144: Introdução aos Sistemas Inteligentes

Geometria Fractal

Fractal (Benoit Mandelbrot) Modelagem de elementos com

características irregulares Caracterícticas:

Porções menores representam exatamente porções maiores

Exemplo: Fractal representado por uma figura

geométrica inicial (segmento de reta) E uma regra de subdivisão (divide em 4

partes com inclinação em duas delas)

Page 145: Introdução aos Sistemas Inteligentes

Sistemas Endócrinos

Glândulas Endócrinas Liberam hormônios que regulam parâmetros

importantes do corpo humano Tensão muscular, diminuição das pupilas, controle de

temperatura Emoções

Homeostase Complexo Sistema de Controle

Mesmos hormônios são utilizados simultaneamente para diversas finalidades

Função de Auto-preservação Aplicações múltiplas

Page 146: Introdução aos Sistemas Inteligentes

Sistemas EndócrinosProjeto WAMOEBA-2

Sistema Endócrino Artificial Utilizado para o controle

de diversos parâmetros de controle em robôs

Projeto WAMOEBA-2 Função de Homeostase

Page 147: Introdução aos Sistemas Inteligentes

Sistemas Endócrinos Projeto WAMOEBA 2

Page 148: Introdução aos Sistemas Inteligentes

Semiótica Computacional

O que tem a haver Inteligência com Semiótica ? Semiótica é o estudo dos processos de significação

como signos são criados como signos são usados como signos “significam”

uma das vertentes mais recentes no estudo dos sistemas inteligentes, identifica a capacidade de processar signos como a fonte da inteligência, em todas as classes de sistemas

Ou seja, um sistema é inteligente porque processa signos sua inteligência dependerá da quantidade e dos tipos de

signos que está apto a processar estudar semiótica é a chave para o entendimento dos

sistemas inteligentes, e a criação de sistemas que sejam mais inteligentes

Page 149: Introdução aos Sistemas Inteligentes

Semiótica Computacional

Modelos de Signos

Significante

Significado

Plano de Expressão

Plano de Conteúdo

Signo (Representação)

Objeto (Referente)

Interpretante (Efeito do Signo)

Modelo Diádico (Estruturalismo) Modelo Triádico (Peirceano)

Page 150: Introdução aos Sistemas Inteligentes

Pospelov e o Controle Situacional Semiótico

conceito

nome imagem

objeto

ação

MUNDO MENTAL

MUNDO REAL

Page 151: Introdução aos Sistemas Inteligentes

Pendergraft e os Autognomes

Módulos Auto-Organizáveis Operando sobre conhecimentos

Monádico, diádico e triádico Múltiplos níveis Hierárquicos

Enclaves Abdução

Geração de Conhecimento Dedução

Extração de Conhecimento Indução

Teste de Conhecimento

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

T

D

M

Pragmático

Conceitual

Perceptivo

Lógico

Ético

Estético

Page 152: Introdução aos Sistemas Inteligentes

Estrutura de um Enclave

INDUÇÃO DEDUÇÃO

ABDUÇÃO

CONHECIMENTO

Desempenho

REALIDADE

Situação Externa

Correções

Situação Interna Investigação

Ações Resultados

Atos Potenciais

Page 153: Introdução aos Sistemas Inteligentes

Semiótica ComputacionalOutras Abordagens

Semiose Multiresolucional Albus & Meystel

Semiótica Organizacional Stamper e Liu

Sistemas de Processamento Cognitivo Semiótico Rieger

Agentes Semióticos Rocha & Joslyn

Sistemas Intelectuais Perlovsky

Abordagem Ecológica Semiótica Prueitt

Page 154: Introdução aos Sistemas Inteligentes

Abordagem Semiônica

Intérprete(Agente Semiônico)

Signo(Signlet)

Interpretante(Signlet)

Objeto

R1

(e.g. simbólica)R2

(e.g. icônica)

Page 155: Introdução aos Sistemas Inteligentes

Abordagem SemiônicaSNToolkit

Page 156: Introdução aos Sistemas Inteligentes

Semiótica Computacional:Aplicações

Modelagem Organizacional Modelagem e simulação de empresas Reengenharia Virtual

Modelagem de Sistemas Flexíveis de Manufatura Plantas industriais com necessidades de reconfiguração

dinâmica Modelagem de Sistemas Híbridos de Inteligência

Computacional Sistemas Fuzzy, Redes Neurais, Computação Evolutiva

Modelagem de Sistemas de Controle de Robôs Autônomos Mentes artificiais

Page 157: Introdução aos Sistemas Inteligentes

Cognição Artificial

Estudo dos Processos Cognitivos Ciência Cognitiva Simulação Computacional de Processos Cognitivos

SOAR ACT-R

Conceito de Mente em Filosofia Inteligência, Criatividade, Memória, Atenção,

Aprendizagem, Consciência Auto-organização, emergência, complexidade

Mentes Artificiais Modelos Computacionais de Mentes

Daniel Dennet – Tipos de Mentes Sistemas de Controle de Agentes Inteligentes

Robótica Evolutiva

Page 158: Introdução aos Sistemas Inteligentes

Cognição Artificial

Evolução da Linguagem Abordagens Computacionais

Resolvendo o Symbol Grounding Problem Paul Vogt, Ron Sun, Angelo Cangelosi, Luc Steels

Consciência em Agentes de Software Stan Franklin Ricardo Manzotti Benny Shanon

Edital do DARPA BAA02-21 Tecnologias de Processamento Cognitivo de

Informações

Page 159: Introdução aos Sistemas Inteligentes

CONCLUSÃO

Page 160: Introdução aos Sistemas Inteligentes

Objetivo Principal do Estudo dos Sistemas Inteligentes

Obter soluções eficientes para classes de problemas que não são passíveis de serem resolvidos por métodos computacionais convencionais Problemas para os quais não existem soluções

algorítmicas, sendo necessário pesquisar (buscar) a solução.

Problemas que não podem ser modelados matematicamente por métodos clássicos porque envolvem considerações difíceis de serem tratadas, e.g., conhecimento prático e intuitivo, incerteza, etc.

Problemas cujo domínio de aplicação encontra-se em constante mudança, ou é originalmente desconhecido, demandando algum tipo de aprendizagem pelo sistema.

Compreensão de linguagem, interpretação de imagens, de dados, robótica autônoma, etc.

Page 161: Introdução aos Sistemas Inteligentes

Aplicações Práticas

Diagnóstico de Falhas Detecção de Anormalidades Apoio Operacional Configuração e

Reconfiguração Análise de Processos Planejamento e

Programação de Produção Sequenciamento e

Sincronização de Produção Movimentação de Materiais

e Controle de Estoques

Controle de Qualidade Controle de Processos e

Automação da Manufatura

Planejamento de Processos de Fabricação

Simulação de Sistemas Modelagem Qualitativa

de Sistemas e Processos Sistemas de Suporte à

Tomada de Decisão Logística

Page 162: Introdução aos Sistemas Inteligentes

Referências Bibliográficas Mais Importantes

Artificial Intelligence: A Modern Approach S. Russel & P. Norvig, Prentice Hall, 1995

Introduction to Fuzzy Sets: Analysis and Design W. Pedrycz & F. Gomide, MIT Press, 1998

Neural Networks: A Comprehensive Foundation S. Haykin, Prentice Hall, 1994

Evolutionary Computation 1: Basic Algorithms and Operators T. Bäck, D.B. Fogel & Z. Michalewicz (eds.) Inst. of Physics Publishing,

2000 Evolutionary Computation 2: Advanced Algorithms and

Operators T. Bäck, D.B. Fogel & Z. Michalewicz (eds.) Inst. of Physics Publishing,

2000 Multiagent Systems -A Modern Approach to Distributed

Artificial Intelligence, G. Weiss (Ed.), MIT Press, Cambridge, USA, 1999.