SlideShare une entreprise Scribd logo
1  sur  48
SEMINÁRIO DE SISTEMAS BASEADOS
EM CONHECIMENTO
Alan Vidotti Prando
Eduardo Briguentti
Agent-Based Software Development
2004. Luck,M., Ashri, R., d'Inverno, M.
Artificial Intelligence: A Modern Approach
2010. Russel, S., Norvig, P.
Agent-Based Computing
• A computação mudou muito nos últimos 60 anos.
• Na década de 90 iniciou-se a utilização da INTERNET.
• O mundo em pouco mais de 10 anos se CONECTOU de
maneira assustadora.
• Escolas, casas. Cidades, estados. TUDO CONECTADO!
• Isso mudou a maneira de desenvolvermos e escrevermos
serviços e softwares.
• Gerou novos tipos de problemas e oportunidades.
• A necessidade deixou de ser de um sistema individual e
passou a ser de SISTEMAS DISTRIBUÍDOS E
DINÂMICOS.
• Ou seja, é necessário mais FLEXIBILIDADE.
Agent-Based Computing
• Para atender essa NOVA REALIDADE, é necessário
uma MELHORIA na maneira tradicional dos modelos e
paradigmas computacionais.
• Por esse ambiente ser mais flexível, é necessário um software
com GRAU DE AUTONOMIA elevado, com
componentes que RESPONDAM
DINAMICAMENTE as mudanças que constantemente
ocorrem afim de atingir os objetivos.
• Nesse novo contexto, a TECNOLOGIA DOS
AGENTES se tornou uma das mais valiosas armas para
solucionar esses problemas emergentes, e gerenciar essa
nova complexidade de maneira mais objetiva.
Agent-Based Computing
• AGENTES são ENTIDADES AUTONOMAS, capazes de
solucionar problemas em ambientes ABERTOS E
DINÂMICOS.
• Agentes podem INTERAGIR e COOPERAR com outros
agentes, mesmo possuindo objetivos diferentes.
• Devido a sua característica se encaixar no modelo de negócio atual,
SISTEMAS BASEADOS EM AGENTES estão sendo
bastante utilizados tanto academicamente quanto comercialmente. Já
existem exemplos reais de benefícios que esse tipo de abordagem traz
para a indústria como um todo.
• Para o real entendimento, é importante distinguir o paradigma de
programação ORIENTADO A OBJETOS de AGENT-
BASED.
Agent-Based Computing
Object Technologies
• Agentes e objetos encapsulam ESTADO e PROPRIEDADE.
• Agentes provem um nível de ABSTRAÇÃO ainda MAIOR.
• Objetos são PASSIVOS, e INVOCADOS quando necessário.
• Agentes podem DECIDIR por eles mesmos quando participar de um
atividade computacional ou quando realizar uma determinada operação.
Por isso eles são considerados AUTONOMOS .
• Em termos de modelagem, objetos são uma maneira de visualizar o
mundo. Na abordagem Agent-Based, essa representação do mundo real
passa ser muito mais NATURAL, em que indivíduos iteragem entre
sí de acordo com sua propria agenda e prioridade.
• Agentes NÃO PODEM SER INVOCADOS
DIRETAMENTE.
Agent-Based Computing
Basic Notions
• Agentes propõem uma ABORDAGEM ENCORPADA
de resolver problemas em AMBIENTES
COMPLEXOS.
• Agentes recebem entradas desses ambientes através de
SENSORES, e atua nesse ambiente de maneira objetiva,
com foco em solucionar o problema.
• Entretanto, apesar da aceitação geral sobre agente ser uma
ENTIDADE COMPUTACIONAL capaz de exibir
comportamento FLEXÍVEL em ambientes dinâmicos e
imprevisíveis, ainda existe um debate que busca uma
definição mais precisa sobre o comportamento dos agentes
dentro de contextos diferentes.
Agent-Based Computing
Basic Notions
• Existem duas visões sobre agentes: FRACA E FORTE.
• A FRACA prove quatro propriedades consideradas NECESSÁRIAS
e SUFICIENTES para o comportamento dos agentes:
(1) AUTONOMIA: agentes devem ser entidades independentes que
iniciam suas atividades sem intervenção direta.
(2) REATIVIDADE: agentes podem monitorar ambientes e
responder rapidamente e efetivamente para mudanças.
(3) PROATIVIDADE: agentes possuem objetivos abrangentes
que direcionam o seu comportamento durante um longo período de
tempo, conforme as tarefas são completadas.
(4) SOCIABILIDADE: agentes devem ter a habilidade de interagir
e se comunicar com outros agentes.
Agent-Based Computing
Basic Notions
• Desde a caracterização de agentes, originalmente publicada em 1994,
muitos autores adicionam características como: habilidade de aprender,
mobilidade, racionalidade, etc.
• A noção FORTE ou INTENCIONAL espera que agentes atuem como
ARQUITETURAS DE CONTROLE, compreendendo
componentes mentais como desejos, motivações e crenças.
• Um artigo chamado “Is it an Agent or Just a Program?” de Franklin e
Graesser distingue agentes de programas.
• “Agente Autônomo é um sistema que além de estar situado em um
ambiente, É UMA PARTE desse ambiente e age sobre ele
buscando o seu próprio objetivo”.
• O benefício dessa abordagem é que a RIQUEZA da metáfora do
agente é PRESERVADA ao longo do seu uso, enquanto as
distintas identidades das diferentes perspectivas são utilizadas para
dirigir DIFERENTES pesquisas e desenvolvimento.
Agent-Based Computing
Agent Properties
• Hoje há uma afinidade de diferentes tipos de agentes, variando dos mais
genéricos, como Autonomous Agents, Software Agents e
Intelligent Agents até os mais específicos como Virtual Agents,
Inoformation Agents e Mobile Agents.
• Esses agentes estão sendo aplicados em diversos sistemas como:
Processamento de Imagem de Satélite, Gerenciamento da
distribuição da eletricidade, Jogos, etc.
• A RIQUEZA da abordagem dos agentes que permite esse uso tão
DIVERSIFICADO, tanto em sua abordagem FRACA como FORTE.
• Entretanto, devido a diversidade, as características e propriedades dos
agentes possuem grande VARIAÇÃO para cada DOMÍNIO.
• Essa variação não impacta no agente como um todo.
Agent-Based Computing
History of Agents
• Computação Baseada em Agentes teve inicio na década de 70, nas áreas
de Inteligência Artificial Distribuída (DAI) e Tecnologias OO Distribuídas.
• Trabalhos na DAI ajudaram no desenvolvimento de MECANISMOS e
MÉTODOS que permitiam a iteração entre agentes.
• Avanços na área de Tecnologia OO distribuída proporcionou a
INFRAESTRUTURA necessária para os Sistemas Baseados em
Agentes funcionarem dentro das premissas atuais.
• Outras áreas contribuíram com o desenvolvimento da Computação
Baseada em Agentes.
• Como mencionado, a INTERNET talvez seja a maior mudança de
todas.
Agent-Based Computing
History of Agents
• No momento, a Computação Baseada em Agentes atingiu um relativo
sucesso, porém AINDA É CONSIDERADA UM CAMPO
EMERGENTE.
• O maior obstáculo é a MATURIDADE das METODOLOGIAS
de desenvolvimento de Sistemas Baseados em Agentes.
• Desenvolvedores de software necessitam de FERRAMENTAS e
processos para GUIAREM e AUXILIAREM no
desenvolvimento, testes, design, arquitetura, etc.
• Outro importante aspecto é assegurar que os agentes se
INTEGREM com as tecnologias envolvidas.
• Dessa maneira, será possível tirar vantagem de todas as oportunidades.
Agent-Based Computing
Opportunities
(1)AMBIENTES INTELIGENTES
• A MAIOR motivação e justificativa da Tecnologia de Agentes.
• TRÊS PILARES: Computação Ubíqua, Comunicação Ubíqua e
Interfaces inteligentes para Usuários.
• Ambientes com milhares de dispositivos móveis interagindo.
• Compartilha as mesmas características dos Agentes.
(1) GRID COMPUTING
(1)Uma Infraestrutura Computacional de Alta Performance para
PROCESSAR uma larga escala de esforços/processos científicos.
(2)Também utilizado para aplicações em geral processar uma grande
quantidade de DADOS e SERVIÇOS.
(3)É fortemente sugerido a utilização de Agentes, por envolver serviços
distribuídos interagindo que garantem uma infra robusta.
Agent-Based Computing
Opportunities
(3)MERCADO ELETRÔNICO
• Agentes já estão sendo utilizados em fases iniciais por e-commerce e
seguradoras.
• Agências de viagens e revendedoras são os domínios primários que
também devem utilizar a tecnologia no e-coomerce.
• Esse tipo de iniciativa deve expor o potencial dos agentes.
(3)SIMULAÇÃO
• Sistemas Multi-Agentes apresentam uma base natural para
treinamento de tomadores de decisões em domínios complexos.
• Por exemplo, simulação de defesa em jogos de guerra. Simuladores do
mercado para auxilio em decisões reais.
• No entretenimento, as cenas de batalha do filme Senhor dos anéis foi
desenvolvida utilizando a tecnologia de Agentes.
Intelligent Agents: Agents
and Environments
• Um agente tem a PERCEPÇÃO do ambiente através de
SENSORES e atua no ambiente através de ATUADORES.
• Olhos e ouvidos são a percepção, braços e pernas os atuadores.
• Em geral, a escolha de
um agente de agir
depende de uma
sequencia de fatos que
passaram por sua
percepção.
Intelligent Agents: Agents
and Environments
• Matematicamente falando, o comportamento do agente
pode ser expresso em uma FUNÇÃO AGENTE que
mapeia a sequencia de percepções em ações.
• A Função Agente é a abstração, e o PROGRAMA
AGENTE é a IMPLEMENTAÇÃO concreta, que roda
em algum sistema físico.
• Um aspirador de pó, por exemplo, é um agente que percebe
qual local esta sujo e realiza a limpeza. A questão é: Qual
seria a melhor maneira de realizar a limpeza? Em outras
palavras, o que faz um agente ser inteligente ou burro?
Intelligent Agents: Agents
and Environments
Good Behavior: The
Concept of Rationality
• Um AGENTE RACIONAL é aquele que FAZ A COISA
CERTA.
• Isso é determinado considerando as CONSEQUÊNCIAS do
comportamento dos agentes.
• Quando um agente é lançado em um ambiente, ele gera uma sequência
de AÇÕES de acordo com sua PERCEPÇÃO, que alteram o
ESTADO DO AMBIENTE. Se essa mudança era a
DESEJADA, o agente teve uma atuação POSITIVA. Isso é
denominado MEDIDA DO DESEMPENHO.
• Essa medida pode parecer uma tarefa fácil, mas não é. Cada agente
possui uma medida diferente, e a sua avaliação é complexa.
• O aspirador de pó poderia ser medido pelo montante de sujeira depois de
oito horas de trabalho. Mas qual é o conceito de limpo? Qual é o melhor
jeito de limpar? Rápido com pausas ou contínuo?
Good Behavior: The
Concept of Rationality
(1)RACIONALIDADE
• Depende de quatro fatores principais:
1. A medida de desempenho que define o critério de sucesso.
2. O conhecimento prioritário do agente sobre o ambiente.
3. As ações que o agente realiza.
4. A sequência de percepções que um agente recebe.
• ESSA É A DEFINIÇÃO DE UM AGENTE RACIONAL.
• Primeiro, nós precisamos dizer qual é a Medida da Desempenho, o que
eu sei sobre o ambiente e quais são os sensores de atuação dos
agentes. A partir dai, é decidido sobre quais circunstancias o agente é
racional.
Good Behavior: The
Concept of Rationality
(2)ONISCIÊNCIA, APRENDIZADO e AUTONOMIA
• Onisciência é impossível de atingir.
• Racionalidade não é o mesmo que perfeição. Racionalidade maximiza um
desempenho esperado, enquanto perfeição maximiza um desempenho
atual.
• Um AGENTE ONISCIENTE sabe o resultado atual de sua ação e
atua de acordo com o necessário.
• Se um agente não olha para os dois lados antes de atravessar a rua, ele
não vai perceber um caminhão vindo em alta velocidade.
• Além disso, um agente racional não só colhe informações como
APRENDE o maximo que puder com suas percepcões, e atua de
acordo com o necessário. Isso faz parte da sua AUTONOMIA.
A Natureza dos
Ambientes
Ambiente de tarefasAmbiente de tarefas são essencialmente os problemas parasão essencialmente os problemas para
os quais os agentes são as soluções.os quais os agentes são as soluções.
Ao modelar um agente, a primeira etapa sempre deve serAo modelar um agente, a primeira etapa sempre deve ser
especificar um ambiente de tarefa da forma mais completaespecificar um ambiente de tarefa da forma mais completa
possível.possível.
Quanto mais restrito o ambiente, o problema se torna maisQuanto mais restrito o ambiente, o problema se torna mais
fácil de projetar.fácil de projetar.
Especificando um
Ambiente de Tarefa
UM MOTORISTA DE TAXI AUTOMATIZADO
1)Especificar a medida de desempenho (o sucesso do agente)

Chegar ao destino correto

Minimizar o consumo de combustível e desgaste.

Minimizar o custo da viagem etc
1)Definir o ambiente (dificuldades existentes)

Tipos de estrada varia?

A estrada contém tráfego?

O taxi irá interagir com passageiros?
Especificando um
Ambiente de Tarefa
3) Definir os atuadores e sensores

Atuadores
Acelerador
Direção e frenagem
Formas para se comunicar com outros veiculos (buzina)

Sensores
Cameras
Velocimetro
Periféricos de entrada
Sonar / infravermelho (para calcular distância e detecteção
de barreiras)
Outros exemplos
Tipo de
Agente
Medida de
desempenho
Ambiente Atuadores Sensores
Sistema de
diagnóstico
médico
Paciente
saudável,
minimizar
custo,
processos
judiciais
Paciente,
hospital,
equipe
Exibir
perguntas,
testes,
diagnósticos,
tratamento,
indicações
Entrada pelo
teclado para
sintomas,
descobertas,
respostas do
paciente
Robô de
seleção de
peças
Percentagem
de peças em
bandejas
corretas
Correia
transportador
a com peças;
bandejas
Braço e mão
articulados
Câmera,
sensores
angulares
articulados
Propriedades de
Ambientes de Tarefas
A categorização dos ambientes de tarefas em grupos
ajudam na escolha do design e na aplicabilidade das
técnicas de implementação de agentes.
Tipos de Ambientes de
Tarefas
Completamente observável x parcialmente observávelCompletamente observável x parcialmente observável
Deterministico x Estocástico x incertoDeterministico x Estocástico x incerto
Episódico x SeqüencialEpisódico x Seqüencial
Estático x DinâmicoEstático x Dinâmico
Discreto x ContínuoDiscreto x Contínuo
CompletamenteCompletamente
Observável xObservável x
Parcialmente ObservávelParcialmente Observável
• O ambiente éO ambiente é completamente observávelcompletamente observável se os sensores dose os sensores do
agente detectam todos os aspectos que são relevantes para a escolhaagente detectam todos os aspectos que são relevantes para a escolha
da ação.da ação.
• Um ambiente éUm ambiente é parcialmente observávelparcialmente observável devido ao ruído e adevido ao ruído e a
sensores imprecisos.sensores imprecisos.
• Ex.: Aspirador de pó com apenas um sensor de sujeira local não podeEx.: Aspirador de pó com apenas um sensor de sujeira local não pode
saber se há sujeiras em outros quadrados.saber se há sujeiras em outros quadrados.
Deterministico xDeterministico x
Estocástico x IncertoEstocástico x Incerto
• Se o próximo estado do ambiente é completamenteSe o próximo estado do ambiente é completamente
determinado pelo estado atual e pela ação executadadeterminado pelo estado atual e pela ação executada
pelo agente, dizemos que o ambiente épelo agente, dizemos que o ambiente é
deterministicodeterministico.(ex.: Jogo de xadrez).(ex.: Jogo de xadrez)
• Caso contrário ele éCaso contrário ele é estocásticoestocástico. (ex.: motorista de. (ex.: motorista de
táxi)táxi)
• IncertoIncerto: Não é totalmente observável e nem: Não é totalmente observável e nem
determinístico.determinístico.
Episódico x SeqüencialEpisódico x Seqüencial
• No ambiente episódico a experiência do agente é divididoNo ambiente episódico a experiência do agente é dividido
emem episódios atômicosepisódios atômicos. Cada episódio consiste em o. Cada episódio consiste em o
agente perceber e então agir. Cada episódio não dependeagente perceber e então agir. Cada episódio não depende
das ações que ocorreram em episódios anteriores. (Ex.:das ações que ocorreram em episódios anteriores. (Ex.:
Robô em uma linha de montagem de peças)Robô em uma linha de montagem de peças)
• Caso contrário ele éCaso contrário ele é seqüencialseqüencial (Ex.: Jogo de xadrez)(Ex.: Jogo de xadrez)
Estático x DinâmicoEstático x Dinâmico
• EstáticoEstático – o ambiente não muda enquanto o agente– o ambiente não muda enquanto o agente
escolhe a ação a realizar. (ex.: jogo de xadrez semescolhe a ação a realizar. (ex.: jogo de xadrez sem
relógio)relógio)
• Semi-estáticoSemi-estático - Se o ambiente não muda enquanto- Se o ambiente não muda enquanto
o agente faz a ação, mas a pontuação do agenteo agente faz a ação, mas a pontuação do agente
muda.(ex.: jogo de xadrez com relógio)muda.(ex.: jogo de xadrez com relógio)
• DinâmicoDinâmico – quando o ambiente muda enquanto o– quando o ambiente muda enquanto o
agente escolhe a ação a realizar. (ex.: Motorista deagente escolhe a ação a realizar. (ex.: Motorista de
táxi)táxi)
Discreto x ContínuoDiscreto x Contínuo
• DiscretoDiscreto - quando existe um o número limitado de- quando existe um o número limitado de
ações e percepções distintas claramente definidas.ações e percepções distintas claramente definidas.
(ex.: jogo de xadrez)(ex.: jogo de xadrez)
• ContínuoContínuo – percepção e ações mudam– percepção e ações mudam
constantemente (ex.: motorista de táxi)constantemente (ex.: motorista de táxi)
Conhecido xConhecido x
DesconhecidoDesconhecido
• Não se refere ao ambiente em si, mas ao estado de conhecimento doNão se refere ao ambiente em si, mas ao estado de conhecimento do
agente sobre as “leis da física” do ambiente.agente sobre as “leis da física” do ambiente.
• Há uma diferença entre ambientes conhecidos e desconhecidos paraHá uma diferença entre ambientes conhecidos e desconhecidos para
os observáveis e parcialmente observáveis. É possível um ambienteos observáveis e parcialmente observáveis. É possível um ambiente
conhecido ser parcialmente observável, como é o caso do jogoconhecido ser parcialmente observável, como é o caso do jogo
paciência, no qual é sabido as regras, porém eu ainda não posso verpaciência, no qual é sabido as regras, porém eu ainda não posso ver
as cartas até que sejam viradas..as cartas até que sejam viradas..
• Um exemplo de um ambiente desconhecido e totalmente observável éUm exemplo de um ambiente desconhecido e totalmente observável é
um jogo de videogame novo, no qual a tela mostra todo o estado doum jogo de videogame novo, no qual a tela mostra todo o estado do
jogo, porém o jogador ainda não sabe o que os botões fazem até testá-jogo, porém o jogador ainda não sabe o que os botões fazem até testá-
los.los.
O Motorista de TaxiO Motorista de Taxi
O motorista de taxi seria:O motorista de taxi seria:
•Parcialmente observável, multi-agente,Parcialmente observável, multi-agente,
estocastico, sequencial, dinâmico, continuo, e naestocastico, sequencial, dinâmico, continuo, e na
maioria dos casos conhecido, pois o motoristamaioria dos casos conhecido, pois o motorista
conhece geográficamente o local.conhece geográficamente o local.
Estrutura de Agentes
• Agente - programa + arquitetura
• Programa - uma função que implementa o
mapeamentos das percepções (entradas) para as
ações (saída).
• Arquitetura - suporte para execução do programa
(dispositivo com sensores)
Programa
• Recebe todas as percepções como entrada através
dos sensores e retorna uma ação a ser executada
através dos atuadores.
• Para a construção de um agente racional dessa
forma, é necessário construir uma tabela com uma
entrada para toda sequencia de entradas.
• Para o caso do motorista de táxi seria impossível
criar tal tabela.
Desafio
• O grande DESAFIO DE IA é produzir comportamento racional de
um programa pequeno, ao invés de uma vasta tabela.
• Exemplo:
1.Tabelas de raízes quadradas utilizadas por engenheiros
2.Substituídas por um programa de 5 linhas que corresponde ao
método de Newton
• Fazer o que o método de Newton fez pelas raízes
quadradas.
Agente Reativo Simples
Selecionam as ações com base somente na percepção atual.
Função AGENTE-ASPIRADOR-REATIVO ([posição, estado])
retorna uma ação
se estado = sujo
então retorna aspirar
senão se posição = A
então retorna direita
senão se posição = B
então retorna esquerda
• Se está sujo não precisamos verificar outras condições.
• O mesmo Pode acontecer em ambientes mais complexos como
o do taxi. (Veículo da frente freia)
• Reflexo no ser-humano.
LIMITADO → Só será acionado se o ambiente for completamente
observável
Agentes Reativos
Baseados em Modelos
• Lidar com possibilidade de observação parcial
• O agente deve manter um estado interno que dependa do
histórico de percepções e reflita os aspectos não observados
no estado atual
• Conhecimentos necessários para atualizar o estado interno:
• Como o ambiente evoluí independente do agente
• Como as ações do agente afeta o mundo
• É NECESSÁRIO UM MODELO DO MUNDO
Fonte: http://www.din.uem.br/~jmpinhei/SI/07%20Agentes.pdf
Agentes Reativos
Baseados em Modelos
Limitações
• Conhecer os estados do ambiente não é
suficiente para tomar uma boa decisão
• No caso do taxi ao chegar em um cruzamento
com 3 diferentes caminhos, a escolha não pode
ser feito reativamente ou baseada no modelo. A
decisão dependende onde o motorista quer
chegar.
Agentes Baseados em
Objetivos
• O agente recebe alguma informação sobre seu objetivo.
• O agente pode escolher ações que alcancem o objetivo de 2
formas:
• Direta: O resultado de uma única ação atinge o objetivo.
• Complexa: Sequência de ações para atingir o objetivo.
(Algoritmos de busca e planejamento)
• Agentes reativos: frear o carro quando o carro da frente frear
• Agente base em objetivo: carro da frente freia → carro da
frente diminui velociada → objetivo: não atingir outros carros →
ação: frear
Agente Baseado em
Utilidade
• Objetivos apenas não dão alta qualidade para a
maioria dos ambientes
• Se um estado é mais desejável que o outro então
terá mais utilidade para o agente.
• Ideal para quando existem objetivos comflitantes,
por exemplo, escolha entre velocidade pela
segurança.
Agente com
aprendizagem
• Turing propõe contruir máquinas com
aprendizagem para depois ensiná-las
• A aprendizagem permite ao agente atuar
em ambientes totalmente desconhecidos e
se tornar mais competente do que seu
conhecimento inicial permite.
Componentes de um
agente com
aprendizagem
• Elemento de aprendizagem
Determina de que maneira o elemento de desempenho deve ser
modificado para ser melhor no futuro.
• Crítico
Informa ao elemento de aprendizado como o agente está se
comportando em relação ao desempenho
É um elemento necessário pois as percepções não oferecem esse
tipo de informação
Componentes de um
agente com
aprendizagem
• Elementos de desempenho
Seleciona as ações externas
Recebe percepções e decide sobre ações
• Gerador de problemas
Sugere ações que levarão a experiências novas e
informativas.
Agente com
aprendizagem
No caso do taxista:
• Elemento de desempenho: Conhecimento e procedimentos
para dirigir
• Crítico: Observa o mundo e repassa para o elemento de
aprendizagem a reação dos outros motoristas a uma ação do
agente
• Elemento de aprendizagem: É capaz de formular uma regra
afirmando que a ação foi boa ou ruim. Modifica o elemento de
desempenho pela instalação da nova regra
• Gerador de problemas: Identifica áreas que precisam ser
melhoradas. Sugere experimentos, por exemplo, testar os freios
em diferentes superfícies
Como os Componentes
dos Agentes Funcionam
Podemos criar representações baseadas em medidas de quantas
“estruturas internas” o modelo tem, do menor para o maior:
• Modelos Atômicos: Não tem estrutura interna. Todo trabalho é
executado a partir de uma representação atômica.
Exemplo: a tarefa de viajar de uma cidade a outra no país. Pode
ser representada por “2 caixas pretas” que representam a cidade,
sem levar em consideração o trajeto necessário para se chegar
nelas.
Como os Componentes
dos Agentes Funcionam
• Modelos de fabrica: Tem uma estrutura interna e varia de
acordo com o problema. Normalmente há variaveis, atributos e
metricas de performance. Com esse modelo é possível
representar incertezas.
• Modelos estruturados: Tem uma estrutura interna mais
complexa na qual é possível não só representar variaveis e
valores. Através de modelos estruturados é possível representar
como os diversos objetos no mundo ser relacionam aumentando
a expressividade da representação.
Dúvidas &
Considerações

Contenu connexe

Similaire à Agent based software development

Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesNécio de Lima Veras
 
Seminario sma,abms e netlogo
Seminario   sma,abms e netlogoSeminario   sma,abms e netlogo
Seminario sma,abms e netlogoDiogo Winck
 
Navegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes DinâmicosNavegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes DinâmicosLCoN Mackenzie
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e ProjetoSergio Silva
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência ArtificialLincolm Aguiar
 
Técnicas para avaliação de usabilidade
Técnicas para avaliação de usabilidadeTécnicas para avaliação de usabilidade
Técnicas para avaliação de usabilidadeRobson Santos
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
Interação Humano-Computador - História, Conceitos e Heurísticas de Nielsen
Interação Humano-Computador - História, Conceitos e Heurísticas de NielsenInteração Humano-Computador - História, Conceitos e Heurísticas de Nielsen
Interação Humano-Computador - História, Conceitos e Heurísticas de NielsenRos Galabo, PhD
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientadarobinhoct
 
Palestra - Princípios de Usabilidade
Palestra - Princípios de UsabilidadePalestra - Princípios de Usabilidade
Palestra - Princípios de UsabilidadeOtávio Souza
 

Similaire à Agent based software development (20)

Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentes
 
Seminario sma,abms e netlogo
Seminario   sma,abms e netlogoSeminario   sma,abms e netlogo
Seminario sma,abms e netlogo
 
Navegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes DinâmicosNavegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes Dinâmicos
 
Regras de Design
Regras de DesignRegras de Design
Regras de Design
 
Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
TEES - Apresentacao Final
TEES - Apresentacao FinalTEES - Apresentacao Final
TEES - Apresentacao Final
 
MaDKit
MaDKitMaDKit
MaDKit
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Trabalho individual
Trabalho individualTrabalho individual
Trabalho individual
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 
Aula 1 analise e projeto
Aula 1   analise e projetoAula 1   analise e projeto
Aula 1 analise e projeto
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
 
Técnicas para avaliação de usabilidade
Técnicas para avaliação de usabilidadeTécnicas para avaliação de usabilidade
Técnicas para avaliação de usabilidade
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Usabilidade1
Usabilidade1Usabilidade1
Usabilidade1
 
Aula 01.ppt
Aula 01.pptAula 01.ppt
Aula 01.ppt
 
Interação Humano-Computador - História, Conceitos e Heurísticas de Nielsen
Interação Humano-Computador - História, Conceitos e Heurísticas de NielsenInteração Humano-Computador - História, Conceitos e Heurísticas de Nielsen
Interação Humano-Computador - História, Conceitos e Heurísticas de Nielsen
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
 
Palestra - Princípios de Usabilidade
Palestra - Princípios de UsabilidadePalestra - Princípios de Usabilidade
Palestra - Princípios de Usabilidade
 

Agent based software development

  • 1. SEMINÁRIO DE SISTEMAS BASEADOS EM CONHECIMENTO Alan Vidotti Prando Eduardo Briguentti Agent-Based Software Development 2004. Luck,M., Ashri, R., d'Inverno, M. Artificial Intelligence: A Modern Approach 2010. Russel, S., Norvig, P.
  • 2. Agent-Based Computing • A computação mudou muito nos últimos 60 anos. • Na década de 90 iniciou-se a utilização da INTERNET. • O mundo em pouco mais de 10 anos se CONECTOU de maneira assustadora. • Escolas, casas. Cidades, estados. TUDO CONECTADO! • Isso mudou a maneira de desenvolvermos e escrevermos serviços e softwares. • Gerou novos tipos de problemas e oportunidades. • A necessidade deixou de ser de um sistema individual e passou a ser de SISTEMAS DISTRIBUÍDOS E DINÂMICOS. • Ou seja, é necessário mais FLEXIBILIDADE.
  • 3. Agent-Based Computing • Para atender essa NOVA REALIDADE, é necessário uma MELHORIA na maneira tradicional dos modelos e paradigmas computacionais. • Por esse ambiente ser mais flexível, é necessário um software com GRAU DE AUTONOMIA elevado, com componentes que RESPONDAM DINAMICAMENTE as mudanças que constantemente ocorrem afim de atingir os objetivos. • Nesse novo contexto, a TECNOLOGIA DOS AGENTES se tornou uma das mais valiosas armas para solucionar esses problemas emergentes, e gerenciar essa nova complexidade de maneira mais objetiva.
  • 4. Agent-Based Computing • AGENTES são ENTIDADES AUTONOMAS, capazes de solucionar problemas em ambientes ABERTOS E DINÂMICOS. • Agentes podem INTERAGIR e COOPERAR com outros agentes, mesmo possuindo objetivos diferentes. • Devido a sua característica se encaixar no modelo de negócio atual, SISTEMAS BASEADOS EM AGENTES estão sendo bastante utilizados tanto academicamente quanto comercialmente. Já existem exemplos reais de benefícios que esse tipo de abordagem traz para a indústria como um todo. • Para o real entendimento, é importante distinguir o paradigma de programação ORIENTADO A OBJETOS de AGENT- BASED.
  • 5. Agent-Based Computing Object Technologies • Agentes e objetos encapsulam ESTADO e PROPRIEDADE. • Agentes provem um nível de ABSTRAÇÃO ainda MAIOR. • Objetos são PASSIVOS, e INVOCADOS quando necessário. • Agentes podem DECIDIR por eles mesmos quando participar de um atividade computacional ou quando realizar uma determinada operação. Por isso eles são considerados AUTONOMOS . • Em termos de modelagem, objetos são uma maneira de visualizar o mundo. Na abordagem Agent-Based, essa representação do mundo real passa ser muito mais NATURAL, em que indivíduos iteragem entre sí de acordo com sua propria agenda e prioridade. • Agentes NÃO PODEM SER INVOCADOS DIRETAMENTE.
  • 6. Agent-Based Computing Basic Notions • Agentes propõem uma ABORDAGEM ENCORPADA de resolver problemas em AMBIENTES COMPLEXOS. • Agentes recebem entradas desses ambientes através de SENSORES, e atua nesse ambiente de maneira objetiva, com foco em solucionar o problema. • Entretanto, apesar da aceitação geral sobre agente ser uma ENTIDADE COMPUTACIONAL capaz de exibir comportamento FLEXÍVEL em ambientes dinâmicos e imprevisíveis, ainda existe um debate que busca uma definição mais precisa sobre o comportamento dos agentes dentro de contextos diferentes.
  • 7. Agent-Based Computing Basic Notions • Existem duas visões sobre agentes: FRACA E FORTE. • A FRACA prove quatro propriedades consideradas NECESSÁRIAS e SUFICIENTES para o comportamento dos agentes: (1) AUTONOMIA: agentes devem ser entidades independentes que iniciam suas atividades sem intervenção direta. (2) REATIVIDADE: agentes podem monitorar ambientes e responder rapidamente e efetivamente para mudanças. (3) PROATIVIDADE: agentes possuem objetivos abrangentes que direcionam o seu comportamento durante um longo período de tempo, conforme as tarefas são completadas. (4) SOCIABILIDADE: agentes devem ter a habilidade de interagir e se comunicar com outros agentes.
  • 8. Agent-Based Computing Basic Notions • Desde a caracterização de agentes, originalmente publicada em 1994, muitos autores adicionam características como: habilidade de aprender, mobilidade, racionalidade, etc. • A noção FORTE ou INTENCIONAL espera que agentes atuem como ARQUITETURAS DE CONTROLE, compreendendo componentes mentais como desejos, motivações e crenças. • Um artigo chamado “Is it an Agent or Just a Program?” de Franklin e Graesser distingue agentes de programas. • “Agente Autônomo é um sistema que além de estar situado em um ambiente, É UMA PARTE desse ambiente e age sobre ele buscando o seu próprio objetivo”. • O benefício dessa abordagem é que a RIQUEZA da metáfora do agente é PRESERVADA ao longo do seu uso, enquanto as distintas identidades das diferentes perspectivas são utilizadas para dirigir DIFERENTES pesquisas e desenvolvimento.
  • 9. Agent-Based Computing Agent Properties • Hoje há uma afinidade de diferentes tipos de agentes, variando dos mais genéricos, como Autonomous Agents, Software Agents e Intelligent Agents até os mais específicos como Virtual Agents, Inoformation Agents e Mobile Agents. • Esses agentes estão sendo aplicados em diversos sistemas como: Processamento de Imagem de Satélite, Gerenciamento da distribuição da eletricidade, Jogos, etc. • A RIQUEZA da abordagem dos agentes que permite esse uso tão DIVERSIFICADO, tanto em sua abordagem FRACA como FORTE. • Entretanto, devido a diversidade, as características e propriedades dos agentes possuem grande VARIAÇÃO para cada DOMÍNIO. • Essa variação não impacta no agente como um todo.
  • 10. Agent-Based Computing History of Agents • Computação Baseada em Agentes teve inicio na década de 70, nas áreas de Inteligência Artificial Distribuída (DAI) e Tecnologias OO Distribuídas. • Trabalhos na DAI ajudaram no desenvolvimento de MECANISMOS e MÉTODOS que permitiam a iteração entre agentes. • Avanços na área de Tecnologia OO distribuída proporcionou a INFRAESTRUTURA necessária para os Sistemas Baseados em Agentes funcionarem dentro das premissas atuais. • Outras áreas contribuíram com o desenvolvimento da Computação Baseada em Agentes. • Como mencionado, a INTERNET talvez seja a maior mudança de todas.
  • 11. Agent-Based Computing History of Agents • No momento, a Computação Baseada em Agentes atingiu um relativo sucesso, porém AINDA É CONSIDERADA UM CAMPO EMERGENTE. • O maior obstáculo é a MATURIDADE das METODOLOGIAS de desenvolvimento de Sistemas Baseados em Agentes. • Desenvolvedores de software necessitam de FERRAMENTAS e processos para GUIAREM e AUXILIAREM no desenvolvimento, testes, design, arquitetura, etc. • Outro importante aspecto é assegurar que os agentes se INTEGREM com as tecnologias envolvidas. • Dessa maneira, será possível tirar vantagem de todas as oportunidades.
  • 12. Agent-Based Computing Opportunities (1)AMBIENTES INTELIGENTES • A MAIOR motivação e justificativa da Tecnologia de Agentes. • TRÊS PILARES: Computação Ubíqua, Comunicação Ubíqua e Interfaces inteligentes para Usuários. • Ambientes com milhares de dispositivos móveis interagindo. • Compartilha as mesmas características dos Agentes. (1) GRID COMPUTING (1)Uma Infraestrutura Computacional de Alta Performance para PROCESSAR uma larga escala de esforços/processos científicos. (2)Também utilizado para aplicações em geral processar uma grande quantidade de DADOS e SERVIÇOS. (3)É fortemente sugerido a utilização de Agentes, por envolver serviços distribuídos interagindo que garantem uma infra robusta.
  • 13. Agent-Based Computing Opportunities (3)MERCADO ELETRÔNICO • Agentes já estão sendo utilizados em fases iniciais por e-commerce e seguradoras. • Agências de viagens e revendedoras são os domínios primários que também devem utilizar a tecnologia no e-coomerce. • Esse tipo de iniciativa deve expor o potencial dos agentes. (3)SIMULAÇÃO • Sistemas Multi-Agentes apresentam uma base natural para treinamento de tomadores de decisões em domínios complexos. • Por exemplo, simulação de defesa em jogos de guerra. Simuladores do mercado para auxilio em decisões reais. • No entretenimento, as cenas de batalha do filme Senhor dos anéis foi desenvolvida utilizando a tecnologia de Agentes.
  • 14. Intelligent Agents: Agents and Environments • Um agente tem a PERCEPÇÃO do ambiente através de SENSORES e atua no ambiente através de ATUADORES. • Olhos e ouvidos são a percepção, braços e pernas os atuadores. • Em geral, a escolha de um agente de agir depende de uma sequencia de fatos que passaram por sua percepção.
  • 15. Intelligent Agents: Agents and Environments • Matematicamente falando, o comportamento do agente pode ser expresso em uma FUNÇÃO AGENTE que mapeia a sequencia de percepções em ações. • A Função Agente é a abstração, e o PROGRAMA AGENTE é a IMPLEMENTAÇÃO concreta, que roda em algum sistema físico. • Um aspirador de pó, por exemplo, é um agente que percebe qual local esta sujo e realiza a limpeza. A questão é: Qual seria a melhor maneira de realizar a limpeza? Em outras palavras, o que faz um agente ser inteligente ou burro?
  • 17. Good Behavior: The Concept of Rationality • Um AGENTE RACIONAL é aquele que FAZ A COISA CERTA. • Isso é determinado considerando as CONSEQUÊNCIAS do comportamento dos agentes. • Quando um agente é lançado em um ambiente, ele gera uma sequência de AÇÕES de acordo com sua PERCEPÇÃO, que alteram o ESTADO DO AMBIENTE. Se essa mudança era a DESEJADA, o agente teve uma atuação POSITIVA. Isso é denominado MEDIDA DO DESEMPENHO. • Essa medida pode parecer uma tarefa fácil, mas não é. Cada agente possui uma medida diferente, e a sua avaliação é complexa. • O aspirador de pó poderia ser medido pelo montante de sujeira depois de oito horas de trabalho. Mas qual é o conceito de limpo? Qual é o melhor jeito de limpar? Rápido com pausas ou contínuo?
  • 18. Good Behavior: The Concept of Rationality (1)RACIONALIDADE • Depende de quatro fatores principais: 1. A medida de desempenho que define o critério de sucesso. 2. O conhecimento prioritário do agente sobre o ambiente. 3. As ações que o agente realiza. 4. A sequência de percepções que um agente recebe. • ESSA É A DEFINIÇÃO DE UM AGENTE RACIONAL. • Primeiro, nós precisamos dizer qual é a Medida da Desempenho, o que eu sei sobre o ambiente e quais são os sensores de atuação dos agentes. A partir dai, é decidido sobre quais circunstancias o agente é racional.
  • 19. Good Behavior: The Concept of Rationality (2)ONISCIÊNCIA, APRENDIZADO e AUTONOMIA • Onisciência é impossível de atingir. • Racionalidade não é o mesmo que perfeição. Racionalidade maximiza um desempenho esperado, enquanto perfeição maximiza um desempenho atual. • Um AGENTE ONISCIENTE sabe o resultado atual de sua ação e atua de acordo com o necessário. • Se um agente não olha para os dois lados antes de atravessar a rua, ele não vai perceber um caminhão vindo em alta velocidade. • Além disso, um agente racional não só colhe informações como APRENDE o maximo que puder com suas percepcões, e atua de acordo com o necessário. Isso faz parte da sua AUTONOMIA.
  • 20. A Natureza dos Ambientes Ambiente de tarefasAmbiente de tarefas são essencialmente os problemas parasão essencialmente os problemas para os quais os agentes são as soluções.os quais os agentes são as soluções. Ao modelar um agente, a primeira etapa sempre deve serAo modelar um agente, a primeira etapa sempre deve ser especificar um ambiente de tarefa da forma mais completaespecificar um ambiente de tarefa da forma mais completa possível.possível. Quanto mais restrito o ambiente, o problema se torna maisQuanto mais restrito o ambiente, o problema se torna mais fácil de projetar.fácil de projetar.
  • 21. Especificando um Ambiente de Tarefa UM MOTORISTA DE TAXI AUTOMATIZADO 1)Especificar a medida de desempenho (o sucesso do agente)  Chegar ao destino correto  Minimizar o consumo de combustível e desgaste.  Minimizar o custo da viagem etc 1)Definir o ambiente (dificuldades existentes)  Tipos de estrada varia?  A estrada contém tráfego?  O taxi irá interagir com passageiros?
  • 22. Especificando um Ambiente de Tarefa 3) Definir os atuadores e sensores  Atuadores Acelerador Direção e frenagem Formas para se comunicar com outros veiculos (buzina)  Sensores Cameras Velocimetro Periféricos de entrada Sonar / infravermelho (para calcular distância e detecteção de barreiras)
  • 23. Outros exemplos Tipo de Agente Medida de desempenho Ambiente Atuadores Sensores Sistema de diagnóstico médico Paciente saudável, minimizar custo, processos judiciais Paciente, hospital, equipe Exibir perguntas, testes, diagnósticos, tratamento, indicações Entrada pelo teclado para sintomas, descobertas, respostas do paciente Robô de seleção de peças Percentagem de peças em bandejas corretas Correia transportador a com peças; bandejas Braço e mão articulados Câmera, sensores angulares articulados
  • 24. Propriedades de Ambientes de Tarefas A categorização dos ambientes de tarefas em grupos ajudam na escolha do design e na aplicabilidade das técnicas de implementação de agentes.
  • 25. Tipos de Ambientes de Tarefas Completamente observável x parcialmente observávelCompletamente observável x parcialmente observável Deterministico x Estocástico x incertoDeterministico x Estocástico x incerto Episódico x SeqüencialEpisódico x Seqüencial Estático x DinâmicoEstático x Dinâmico Discreto x ContínuoDiscreto x Contínuo
  • 26. CompletamenteCompletamente Observável xObservável x Parcialmente ObservávelParcialmente Observável • O ambiente éO ambiente é completamente observávelcompletamente observável se os sensores dose os sensores do agente detectam todos os aspectos que são relevantes para a escolhaagente detectam todos os aspectos que são relevantes para a escolha da ação.da ação. • Um ambiente éUm ambiente é parcialmente observávelparcialmente observável devido ao ruído e adevido ao ruído e a sensores imprecisos.sensores imprecisos. • Ex.: Aspirador de pó com apenas um sensor de sujeira local não podeEx.: Aspirador de pó com apenas um sensor de sujeira local não pode saber se há sujeiras em outros quadrados.saber se há sujeiras em outros quadrados.
  • 27. Deterministico xDeterministico x Estocástico x IncertoEstocástico x Incerto • Se o próximo estado do ambiente é completamenteSe o próximo estado do ambiente é completamente determinado pelo estado atual e pela ação executadadeterminado pelo estado atual e pela ação executada pelo agente, dizemos que o ambiente épelo agente, dizemos que o ambiente é deterministicodeterministico.(ex.: Jogo de xadrez).(ex.: Jogo de xadrez) • Caso contrário ele éCaso contrário ele é estocásticoestocástico. (ex.: motorista de. (ex.: motorista de táxi)táxi) • IncertoIncerto: Não é totalmente observável e nem: Não é totalmente observável e nem determinístico.determinístico.
  • 28. Episódico x SeqüencialEpisódico x Seqüencial • No ambiente episódico a experiência do agente é divididoNo ambiente episódico a experiência do agente é dividido emem episódios atômicosepisódios atômicos. Cada episódio consiste em o. Cada episódio consiste em o agente perceber e então agir. Cada episódio não dependeagente perceber e então agir. Cada episódio não depende das ações que ocorreram em episódios anteriores. (Ex.:das ações que ocorreram em episódios anteriores. (Ex.: Robô em uma linha de montagem de peças)Robô em uma linha de montagem de peças) • Caso contrário ele éCaso contrário ele é seqüencialseqüencial (Ex.: Jogo de xadrez)(Ex.: Jogo de xadrez)
  • 29. Estático x DinâmicoEstático x Dinâmico • EstáticoEstático – o ambiente não muda enquanto o agente– o ambiente não muda enquanto o agente escolhe a ação a realizar. (ex.: jogo de xadrez semescolhe a ação a realizar. (ex.: jogo de xadrez sem relógio)relógio) • Semi-estáticoSemi-estático - Se o ambiente não muda enquanto- Se o ambiente não muda enquanto o agente faz a ação, mas a pontuação do agenteo agente faz a ação, mas a pontuação do agente muda.(ex.: jogo de xadrez com relógio)muda.(ex.: jogo de xadrez com relógio) • DinâmicoDinâmico – quando o ambiente muda enquanto o– quando o ambiente muda enquanto o agente escolhe a ação a realizar. (ex.: Motorista deagente escolhe a ação a realizar. (ex.: Motorista de táxi)táxi)
  • 30. Discreto x ContínuoDiscreto x Contínuo • DiscretoDiscreto - quando existe um o número limitado de- quando existe um o número limitado de ações e percepções distintas claramente definidas.ações e percepções distintas claramente definidas. (ex.: jogo de xadrez)(ex.: jogo de xadrez) • ContínuoContínuo – percepção e ações mudam– percepção e ações mudam constantemente (ex.: motorista de táxi)constantemente (ex.: motorista de táxi)
  • 31. Conhecido xConhecido x DesconhecidoDesconhecido • Não se refere ao ambiente em si, mas ao estado de conhecimento doNão se refere ao ambiente em si, mas ao estado de conhecimento do agente sobre as “leis da física” do ambiente.agente sobre as “leis da física” do ambiente. • Há uma diferença entre ambientes conhecidos e desconhecidos paraHá uma diferença entre ambientes conhecidos e desconhecidos para os observáveis e parcialmente observáveis. É possível um ambienteos observáveis e parcialmente observáveis. É possível um ambiente conhecido ser parcialmente observável, como é o caso do jogoconhecido ser parcialmente observável, como é o caso do jogo paciência, no qual é sabido as regras, porém eu ainda não posso verpaciência, no qual é sabido as regras, porém eu ainda não posso ver as cartas até que sejam viradas..as cartas até que sejam viradas.. • Um exemplo de um ambiente desconhecido e totalmente observável éUm exemplo de um ambiente desconhecido e totalmente observável é um jogo de videogame novo, no qual a tela mostra todo o estado doum jogo de videogame novo, no qual a tela mostra todo o estado do jogo, porém o jogador ainda não sabe o que os botões fazem até testá-jogo, porém o jogador ainda não sabe o que os botões fazem até testá- los.los.
  • 32. O Motorista de TaxiO Motorista de Taxi O motorista de taxi seria:O motorista de taxi seria: •Parcialmente observável, multi-agente,Parcialmente observável, multi-agente, estocastico, sequencial, dinâmico, continuo, e naestocastico, sequencial, dinâmico, continuo, e na maioria dos casos conhecido, pois o motoristamaioria dos casos conhecido, pois o motorista conhece geográficamente o local.conhece geográficamente o local.
  • 33. Estrutura de Agentes • Agente - programa + arquitetura • Programa - uma função que implementa o mapeamentos das percepções (entradas) para as ações (saída). • Arquitetura - suporte para execução do programa (dispositivo com sensores)
  • 34. Programa • Recebe todas as percepções como entrada através dos sensores e retorna uma ação a ser executada através dos atuadores. • Para a construção de um agente racional dessa forma, é necessário construir uma tabela com uma entrada para toda sequencia de entradas. • Para o caso do motorista de táxi seria impossível criar tal tabela.
  • 35. Desafio • O grande DESAFIO DE IA é produzir comportamento racional de um programa pequeno, ao invés de uma vasta tabela. • Exemplo: 1.Tabelas de raízes quadradas utilizadas por engenheiros 2.Substituídas por um programa de 5 linhas que corresponde ao método de Newton • Fazer o que o método de Newton fez pelas raízes quadradas.
  • 36. Agente Reativo Simples Selecionam as ações com base somente na percepção atual. Função AGENTE-ASPIRADOR-REATIVO ([posição, estado]) retorna uma ação se estado = sujo então retorna aspirar senão se posição = A então retorna direita senão se posição = B então retorna esquerda • Se está sujo não precisamos verificar outras condições. • O mesmo Pode acontecer em ambientes mais complexos como o do taxi. (Veículo da frente freia) • Reflexo no ser-humano. LIMITADO → Só será acionado se o ambiente for completamente observável
  • 37. Agentes Reativos Baseados em Modelos • Lidar com possibilidade de observação parcial • O agente deve manter um estado interno que dependa do histórico de percepções e reflita os aspectos não observados no estado atual • Conhecimentos necessários para atualizar o estado interno: • Como o ambiente evoluí independente do agente • Como as ações do agente afeta o mundo • É NECESSÁRIO UM MODELO DO MUNDO
  • 39. Limitações • Conhecer os estados do ambiente não é suficiente para tomar uma boa decisão • No caso do taxi ao chegar em um cruzamento com 3 diferentes caminhos, a escolha não pode ser feito reativamente ou baseada no modelo. A decisão dependende onde o motorista quer chegar.
  • 40. Agentes Baseados em Objetivos • O agente recebe alguma informação sobre seu objetivo. • O agente pode escolher ações que alcancem o objetivo de 2 formas: • Direta: O resultado de uma única ação atinge o objetivo. • Complexa: Sequência de ações para atingir o objetivo. (Algoritmos de busca e planejamento) • Agentes reativos: frear o carro quando o carro da frente frear • Agente base em objetivo: carro da frente freia → carro da frente diminui velociada → objetivo: não atingir outros carros → ação: frear
  • 41. Agente Baseado em Utilidade • Objetivos apenas não dão alta qualidade para a maioria dos ambientes • Se um estado é mais desejável que o outro então terá mais utilidade para o agente. • Ideal para quando existem objetivos comflitantes, por exemplo, escolha entre velocidade pela segurança.
  • 42. Agente com aprendizagem • Turing propõe contruir máquinas com aprendizagem para depois ensiná-las • A aprendizagem permite ao agente atuar em ambientes totalmente desconhecidos e se tornar mais competente do que seu conhecimento inicial permite.
  • 43. Componentes de um agente com aprendizagem • Elemento de aprendizagem Determina de que maneira o elemento de desempenho deve ser modificado para ser melhor no futuro. • Crítico Informa ao elemento de aprendizado como o agente está se comportando em relação ao desempenho É um elemento necessário pois as percepções não oferecem esse tipo de informação
  • 44. Componentes de um agente com aprendizagem • Elementos de desempenho Seleciona as ações externas Recebe percepções e decide sobre ações • Gerador de problemas Sugere ações que levarão a experiências novas e informativas.
  • 45. Agente com aprendizagem No caso do taxista: • Elemento de desempenho: Conhecimento e procedimentos para dirigir • Crítico: Observa o mundo e repassa para o elemento de aprendizagem a reação dos outros motoristas a uma ação do agente • Elemento de aprendizagem: É capaz de formular uma regra afirmando que a ação foi boa ou ruim. Modifica o elemento de desempenho pela instalação da nova regra • Gerador de problemas: Identifica áreas que precisam ser melhoradas. Sugere experimentos, por exemplo, testar os freios em diferentes superfícies
  • 46. Como os Componentes dos Agentes Funcionam Podemos criar representações baseadas em medidas de quantas “estruturas internas” o modelo tem, do menor para o maior: • Modelos Atômicos: Não tem estrutura interna. Todo trabalho é executado a partir de uma representação atômica. Exemplo: a tarefa de viajar de uma cidade a outra no país. Pode ser representada por “2 caixas pretas” que representam a cidade, sem levar em consideração o trajeto necessário para se chegar nelas.
  • 47. Como os Componentes dos Agentes Funcionam • Modelos de fabrica: Tem uma estrutura interna e varia de acordo com o problema. Normalmente há variaveis, atributos e metricas de performance. Com esse modelo é possível representar incertezas. • Modelos estruturados: Tem uma estrutura interna mais complexa na qual é possível não só representar variaveis e valores. Através de modelos estruturados é possível representar como os diversos objetos no mundo ser relacionam aumentando a expressividade da representação.