2. O que é um Agente?
● “Qualquer coisa” que pode perceber seu ambiente
através de sensores e interagir com ele por meio
de atuadores.
– Exemplos
● O ser humano possui visão e audição como sensores e mão e
pernas como atuadores.
● Um robô possui câmeras e localizadores como sensores e
motores como atuadores.
● Um software possui arquivos de entrada, pacotes de rede, base
de dados como sensores e atua escrevendo arquivos, enviando
pacotes, exibindo dados em telas, ….
4. Agent Function
– O comportamento de um agente é descrito pelo
agent function que mapeia qualquer sequência de
percepção para uma ação;
– É uma descrição matemática abstrata;
– Pode ser descrito com uma tabela de percepções e ações;
Agent Program
– Internamente, o agent function para um agente inteligente é
implementado por um agent program;
– Materializa o comportamento do agente;
● Assim temos:
– Uma caracterização externa (abstração matemática - agent function);
– Uma caracterização interna (concretização do agente – agent program);
– Uma arquitetura de agente que é capaz de por em funcionamento o agente.
6. Um agente pode ser racional
● É um agente que faz a coisa certa;
– Para cada entrada na tabela do agent function é
preenchido corretamente uma saída (ação);
● Mas o que significa “fazer a coisa certa”?
– Podemos dizer que uma ação correta irá gerar
um resultado mais correto ainda;
– Mas, para tanto é preciso saber mensurar
esse sucesso (ou performance);
– Assim, essa mensuração contém os critérios de
sucesso para um bom comportamento de agente;
7. Um agente racional
●
Então a racionalidade de um agente
depende basicamente de quatro coisas:
– A mensuração que define os critérios de sucesso;
– O conhecimento prévio do ambiente;
– As ações que podem ser realizadas;
– As sequências de percepção de um período;
É o histórico de qualquer coisa que
o agente pôde perceber.
8. Um agente racional
● Definição:
“ Para cada sequência de percepções
possível, um agente racional deve selecionar
uma ação que é esperada para maximizar a
avaliação de performance, dada a evidência
fornecida pela sequência de percepções de
todo o conhecimento incorporado ao agente. ”
9. Onisciência
● Capacidade de saber de tudo infinitamente!!
– Deus do saber!
● Um agent omniscience sabe o atual resultado
das suas ações e pode agir adequadamente;
● Porém, na realidade a onisciência é impossível
para um agente.
– O exemplo de “um idiota morre atingido por um
conteiner ao atravessar a rua” mostra que a
racionalidade não é a mesma coisa que perfeição;
10. Information Gathering
(coleta de informações)
● Ações que devem ser realizadas de modo a
modificar percepções futuras;
– Exemplo:
● a travessia da rua olhando para ambos os lados;
● um agente aspirador de pó realizando uma exploração
de um ambiente inicialmente desconhecido;
● É uma importante parte da racionalidade;
11. Learning (aprendizagem)
● Um agente deve aprender o máximo possível
do que ele percebe;
● Uma configuração inicial poderia refletir algum
conhecimento anterior do ambiente, mas
como o agente ganha conhecimento então
isto pode ser modificado e aumentado;
12. Autonomy (autonomia)
● Um agente autônomo precisa basear-se em
suas próprias percepções ao invés do
conhecimento anterior do seu projetista;
● Um agente racional deve ser autônomo;
– Ele deve aprender tudo que puder para
compensar um conhecimento anterior parcial ou
incorreto;
14. Ambiente
● Basicamente um ambiente é o problema que o
agente deverá ser a solução;
● Um ambiente de tarefa é formado por PEAS
(Performance, Environment, Actuatos, Sensors);
● Deve ser especificado de forma mais completa
possível durante a concepção de um agente
(inclusive, retirando conflitos para as medidas de
desempenho);
18. Sobre a cobertura de observação
● Totalmente observável:
– Os sensores detectam todos os aspectos que são
relevantes para a escolha da ação;
– Os agente não precisa manter nenhum estado interno
para controlar o mundo;
● Parcialmente observável:
– Ou os sensores são imprecisos e possuem ruídos;
– Ou os estados estão ausentes nos dados dos sensores;
– Ex.: o motorista de táxi não pode saber o que os outros
motoristas estão pensando.
19. Sobre a mudança de estado
● Determinística:
– O próximo estado do ambiente é completamente determinado
pelo estado atual e pela ação executada;
● Estocástica:
– Quando a completa determinação do próximo estado não for
possível;
● Cuidados:
– Um ambiente parcialmente observável pode parecer estocástico.
– É frequentemente melhor considerar que um ambiente é
determinístico ou estocástico pelo ponto de vista do agente.
● Se um ambiente é determinístico exceto pelas ações de outros
agentes então ele é estratégico.
20. Sobre observações durante as
mudanças de estado
● Episódico:
– Nesse ambiente a experiência do agente é dividida em
episódios atômicos, onde cada episódio gera uma única ação;
– É importante que cada ação só dependa dela mesma e que
ela não interfira em ações futuras;
– Ex: localização de peças defeituosas em uma esteira rolante
de uma linha de montagem;
● Sequencial:
– A decisão (ação) atual afeta todas as futuras ações;
– São mais complexos, pois os agentes precisam “pensar à
frente”;
– Ex: jogar xadrez ou dirigir um táxi.
21. Sobre mudanças no próprio
ambiente
● Dinâmico:
– Quando um ambiente pode se alterar enquanto um agente estiver
deliberando então esse ambiente é dinâmico para esse agente;
– Ex: dirigir o táxi;
● Estático:
– O ambiente não muda durante as deliberações do agente.
– São mais simples;
– Ex.: jogo de palavras cruzadas;
● Semidinâmico:
– É quando o ambiente não muda com o tempo, mas o agente
sobre alterações no seu desempenho;
– Ex: jogo de xadrez com contagem de tempo.
22. Sobre o estado do ambiente
● Estão relacionados com o número de estados
possíveis, o modo como o tempo é tratado e ainda
as percepções e ações dos agentes;
● Discreto:
– Ex.: o ambiente do xadrez é discreto porque temos um
número finito de estados distintos;
● Contínuo:
– Ex: Dirigir um táxi é um problema de estado contínuo e
tempo contínuo. As ações também são contínuas.
23. Sobre a atuação do(s) agente(s) em
um ambiente
● Agente único:
– Ambiente povoado com um único agente capaz de
resolver o problema;
– Ex.: um agente que resolve o jogo das palavras cruzadas;
● Multiagentes:
– Ambiente povoado com dois ou mais agentes que se
comportam e possuem objetivos diferenciados;
– Esses comportamentos podem ser visando: competição,
cooperação, comunicação, etc.
– Ex: jogo de xadrez que dois agentes se enfrentam.
24. O ambiente mais hostil
● Parcialmente observável
● Estocástico
● Sequencial
● Dinâmico
● Contínuo
● Multiagente
“As situações reais são tão complexas que para
finalidades práticas devem ser tratadas como
estocásticas”.
26. Entendendo...
● O objetivo é projetar um programa de agente
para implementar uma função de agente de
forma a mapear as percepções em ações;
Esse programa precisar ser executado em
algum dispositivo de computação dotado de
sensores e atuadores.
Arquitetura
27. Então...
Agente = Arquitetura + Programa
● Obviamente o programa deve ser apropriado
para a arquitetura;
– Se o programa precisa “caminhar” então na
arquitetura deve existir o atuador “perna”.
28. Agentes reativos simples
● É o agente mais simples de todos!
● Ele seleciona ações com base na percepção
atual e ignora o histórico de percepções;
● Diagrama esquemático:
29. Agentes reativos simples
● Programa de agente genérico:
● Esses agentes podem recorrer a
aleatoriedade para escapar de laços infinitos
(ou fugir de falhas físicas).
30. Agente reativo simples:
nossos exemplos concretos
Agente irrigador de Agente designador de
cultura. tarefas e gerência em
uma equipe de projeto.
Percepção Ação Percepção Ação
Solo seco e temp. > 22 Irrigar 10' Nova tarefa Designar a tarefa para um
membro da equipe
Solo seco e temp. < 22 Irrigar 3' Novo projeto Designar gerente
Solo úmido e temp. > 22 Irrigar 5' Tarefa Designar ouros membros para
atrasada uma tarefa
Solo úmido e temp. < 22 Irrigar 1' Tarefa Remanejar membros para
adiantada outras tarefas
Solo enchar. e temp > 22 Irrigar 12' Projeto Designar outro gerente
problemático
Solo enchar. e temp < 22 Irrigar 4' ... ...
31. Agentes reativos baseados em
modelos
● Agente que pode controlar parte do mundo que ele
“não vê”;
– Ele deve manter um estado interno com histórico de
percepção de modo que seja possível usá-los em
alguns dos aspectos não observados do estado atual.
– Para isso ele deve implementar um “modelo de como o
mundo funciona”;
● É necessários saber:
– como o mundo evolui independentemente da atuação
agente;
– Informações sobre como as ações do agente afetam o
mundo.
34. Agentes reativos baseados em
modelos: nossos exemplos (1)
Agente irrigador de cultura.
O agente percebe informações do estado do solo e de temperatura ambiente e “pensa” quais
mudanças aconteceriam se ele aplicasse uma irrigação de X minutos. Ele deve buscar em seu
histórico de ações as últimas irrigações e “imaginar” o que acontece caso ele não tome
nenhuma ação.
Percepção Outras percepções (modelo) Regras p/ Ação
Solo e ●Últimas irrigações aplicadas (natural ou ●Complementar irrigação com (10 –
temperatura artificial) t)' se a última irrigação estiver
●Mudanças do estado do solo com uma “vencida”
irrigação complementar. ●Não aplicar nova irrigação caso
●Como o ambiente se comporta caso tenha ocorrido irrigação natural
não seja aplicado nenhuma irrigação ●...
(natural ou artificial)
●...
... ... ...
35. Agentes reativos baseados em
modelos: nossos exemplos (2)
Agente designador de tarefas e gerência em uma equipe de projeto.
O agente percebe informações sobre o estado atual de tarefas para um ambiente de projetos
e “pensa” quais mudanças aconteceriam se ele designasse uma determinada tarefa ou a
gerência de um projeto para um membro da equipe. Ele deve buscar em seu histórico de
ações as últimas designações, suas consequências e ainda “imaginar” o que acontece caso
ele não tome nenhuma ação.
Percepção Outras percepções (modelo) Regras p/ Ação
Ambiente de ●Últimas designações aplicadas (e suas ●Designar a tarefa tarefa para um
tarefas consequências) determinado membro se “for
●As mudanças do estado para uma cabível”
determinada designação de tarefa ●Não deixar de designar caso a
●O que acontece ao ambiente caso o tarefa não seja possível concluir a
agente não realize nenhuma tarefa. tarefa
Ambiente de ●Valores de desempenho dos últimos ●Designar um gerente “apropriado”
projeto projetos com seus gerentes para um novo projeto
●As mudanças de estado na gerência do ●Não permitir que um projeto fique
projeto sem gerente
●O que ocorre se nenhuma ação acontecer
36. Agentes baseados em objetivos
● O agente busca atingir objetivos que descrevam uma situação
desejável;
● Ele pode combinar:
– Uma descrição do estado atual;
– Situação desejável (objetivo);
– Informações sobre resultados de ações possíveis;
●
Assim, ele escolhe uma ação apropriada que atinja o
objetivo almejado.
● Pode ser:
– Direta (quando apenas uma ação atingir o objetivo);
– Complicada (considera-se longas sequências de ações para atingir o
objetivo);
Busca e Planejamento (subáreas da IA) são dedicados a
encontrar sequências de ações que alcancem objetivos do agente
38. Agentes reativos baseados em
objetivos: nossos exemplos (1)
Agente irrigador de cultura.
O agente objetiva manter o solo irrigado sem encharcá-lo. Para isso ele percebe o estado do
solo, dados de temperatura e umidade do ar. É importante conhecer possíveis evoluções
naturais do ambiente e quais consequências acontecerão diante de uma determinada ação do
agente.
Ações e estados Ações dos agentes e as suas possíveis
Percepção
possíveis consequências
Solo, ●Pode chover ●Se está chovendo então não Irrigar, pois certamente
temperatura ●Está chovendo isso vai encharcar o solo
ambiente e ●Não chove ●Se a temperatura está alta e não vai chover então
umidade do ●Não vai chover devo irrigar para manter o solo irrigado
ar ●Irrigar ●Se o solo tiver sido irrigado então não devo irrigar
●Não irrigar ●Se não chove, a temperatura é baixa e a umidade
também então é melhor não irrigar imediatamente
●...
... ... ...
39. Agentes reativos baseados em
objetivos: nossos exemplos (2)
Agente designador de tarefas e gerência em uma equipe de projeto.
O agente objetiva designar membros de um projeto para realizarem tarefas, sejam elas novas
ou problemáticas (remanejamento), assim também como para gerenciarem um projeto. Para
tanto ele percebe as mudanças dos estados das tarefas e dos projetos. É importante saber
como o ambiente natural de projeto evolui e quais consequências acontecerão diante de uma
determinada ação do agente.
Ações e estados Ações dos agentes e as suas possíveis
Percepção
possíveis consequências
Ambiente de ●Nova tarefa foi ●Se uma nova tarefa foi incluída então um membro que
tarefa incluída no projeto pode realizar melhor a tarefa deve ser designado para
●Uma tarefa está ela
atrasada ●Se uma tarefa está atrasada então devem ser
●Uma tarefa foi remanejados novos membros para ela
concluída ●Se não há novas tarefas e todas as atuais não estão
●Uma tarefa está sem sem problemas então não designe ninguém
problemas ●Se um tarefa foi concluída e outra está atrasada então
designe os membros eficazes para a tarefa
problemática.
... ... ...
40. Agentes baseados na utilidade
● Os objetivos sozinhos não garantem um comportamento de
alta qualidade, por isso:
– Um agente que usa uma função de utilidade para medir o seu grau
de eficiência ou “felicidade” (utilidade) é um agente baseado em
utilidade.
● É interessante para ser usando quando:
– Existem objetivos contraditórios (apenas alguns podem ser
atingidos)
– Existem vários que a serem alcançados e nenhum deles pode ser
atingido com certeza;
●
Em ambos a utilidade pode ponderar a importância
dos mesmos.
● Normalmente o agente irá buscar a maximização da
utilidade.
42. Agentes baseados na utilidade:
nossos exemplos (1)
Agente irrigador de cultura.
O agente deve usar como função de utilidade uma mensuração do seu grau de sucesso em
relação à irrigação. Para tanto, ele buscará minimizar o consumo de água sem afetar o
desenvolvimento da cultura irrigada.
Ações e
Ações dos agentes e as suas possíveis Função de
Percepção estados
consequências utilidade
possíveis
Solo, ●Pode chover ●Se está chovendo então não Irrigar, pois ●Para determinada
temperatur ●Está chovendo certamente isso vai encharcar o solo irrigação quanto
a ambiente ●Não chove ●Se a temperatura está alta e não vai economizei de
e umidade ●Não vai chover então devo irrigar para manter o água e qual a
do ar chover solo irrigado contribuição para
●Irrigar ●Se o solo tiver sido irrigado então não devo o desenvolvimento
●Não irrigar irrigar da planta?
●Se não chove, a temperatura é baixa e a ●Quando não
umidade também então é melhor não irrigar irrigar então a
imediatamente função é nula.
43. Agentes baseados na utilidade:
nossos exemplos (2)
Agente designador de tarefas e gerência em uma equipe de projeto.
O agente deve usar como função de utilidade uma mensuração do seu grau de sucesso em
relação às suas designações. Para tanto, ele poderá calcular a probabilidade de sucesso
para o estado proposto em curto e longo prazo e, assim, majorar medidas que indicam o
quando eficiente foi sua escolha.
Ações e
Ações dos agentes e as suas possíveis
Percepção estados Função de utilidade
consequências
possíveis
Ambiente ●Nova tarefa ●Se uma nova tarefa foi incluída então um ●Qual a probabilidade
de tarefa foi incluída membro que pode realizar melhor a tarefa de sucesso se um
no projeto deve ser designado para ela determinado membro
●Uma tarefa ●Se uma tarefa está atrasada então devem for designado para
está atrasada ser remanejados novos membros para ela uma determinada
●Uma tarefa ●Se não há novas tarefas e todas as atuais tarefa?
foi concluída não estão sem problemas então não ●Se não houver
●Uma tarefa designe ninguém designações então a
está sem ●Se um tarefa foi concluída e outra está função é nula.
problemas atrasada então designe os membros
eficazes para a tarefa problemática.
44. Agentes com aprendizagem
● Proposta de Turing: “é necessário construir máquinas com
aprendizagem e depois ensiná-las”;
– O agente opera em ambientes inicialmente desconhecidos e torna-
se mais competente do que o seu conhecimento inicial
sozinho poderia permitir.
● Um agente assim pode ter 4 componentes:
– Elemento de aprendizado (execução de aperfeiçoamentos)
– Elemento de desempenho (seleção de ações externas)
– Crítico (sobre o funcionamento do agente; determina como o
elemento de desempenho deve ser melhorado em relação a um
padrão fixo)
– Gerado de problemas (sugere ações que podem levar à novas
experiências e informações)
45. Agentes com aprendizagem
● Ao se projetar um agente deve-se perguntar:
– “Que tipo de elemento de desempenho meu
agente precisará ter para fazer isso depois de ter
aprendido como fazê-lo?”
– Ao invés de: “como farei com que ele aprenda
isso?”
● O padrão de desempenho externo pode ainda
distinguir parte da percepção de entrada como
um recompensa ou penalidade.
47. Agentes com aprendizagem:
nossos exemplos (1)
Agente irrigador de cultura.
Solo; Temperatura ambiente; Umidade do ar; Pode chover; Está chovendo;
Percepções:
Não chove; Não vai chover.
Estados: Irrigar; Não irrigar.
Pode fazer mudanças em qualquer um dos componentes abaixo. Ele que
Elemento de observa os resultados da ações e aprende. Por exemplo: se for aplicada uma
aprendizado: irrigação desnecessária ele logo aprenderá que naquela situação não se deve
irrigar.
Elemento de Coleções de conhecimentos e procedimentos que o agente tem para
desempenho: selecionar suas ações de irrigação.
Observa o mundo (chuva, sol, temperatura, umidade) e alimenta de
informações o elemento de aprendizado. Por exemplo a percepção “pode
Crítico: chover” ficará mais eficiente com as experiências e observações do crítico.
Ele irá a partir disso formular uma regra para saber se a experiência foi boa
ou ruim.
Identifica áreas comportamentais que necessitam de melhorias e propõe
Gerador de
experimentos ou testes, como por exemplo, experimentar uma irrigação curta
problemas:
com uma umidade do ar alta.
48. Agentes com aprendizagem:
nossos exemplos (2)
Agente designador de tarefas e gerência em uma equipe de projeto.
Ambiente de tarefa: Nova tarefa foi incluída no projeto; Uma tarefa
Percepções:
problemática; Uma tarefa foi concluída; Uma tarefa está sem problemas.
Estados: Designar um membro; Não designar um membro.
Pode fazer mudanças em qualquer um dos componentes abaixo. Ele que
Elemento de observa os resultados da ações e aprende. Por exemplo: se for feita uma
aprendizado: designação que gere insucesso de uma tarefa então ele irá aprender lições
sobre a ação realizada.
Elemento de Coleções de conhecimentos e procedimentos que o agente tem para
desempenho: selecionar suas ações para designar membros a tarefas.
Observa o mundo de tarefas e alimenta de informações o elemento de
aprendizado. Por exemplo a percepção “tarefa problemática” ficará mais
Crítico: eficiente com as experiências e observações do crítico. Ele irá partir disso e
formular uma regra para saber se a experiência foi boa ou ruim. Exemplo de
padrão fixo: a tarefa foi concluída com sucesso antes do prazo?
Identifica áreas comportamentais que necessitam de melhorias e propõe
Gerador de
experimentos ou testes, como por exemplo, experimentar uma designação de
problemas:
alto risco.
49. Referência
● Russell, S.; Norvig, P. Inteligência
Artificial: uma abordagem
moderna.2 ed. São Paulo: Prentice-
Hall (2004)