SlideShare a Scribd company logo
1 of 49
Notas sobre
Agentes Inteligentes




  Nécio de Lima Veras
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, ….
Em imagem...
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.
Comportamentos
     de

Agentes
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;
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.
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. ”
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;
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;
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;
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;
A natureza do ambiente
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);
Ambiente: um exemplo PEAS para
      um motorista de táxi
Ambiente: outros exemplos
Propriedades dos
Ambientes de Tarefas
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.
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.
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.
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.
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.
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.
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”.
A estrutura dos Agentes
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
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”.
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:
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).
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'    ...           ...
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.
Agentes reativos baseados em
   modelos (em imagem)
Agentes reativos baseados em
 modelos (em pseudocódigo)
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)
              ●...




...           ...                                     ...
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
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
Agentes baseados em objetivos
        (em imagem)
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
                                       ●...




...            ...                     ...
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.
...           ...                     ...
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.
Agentes baseados na utilidade
        (em imagem)
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.
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.
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)
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.
Agentes com aprendizagem
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.
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.
Referência
 ●   Russell, S.; Norvig, P. Inteligência
     Artificial: uma abordagem
     moderna.2 ed. São Paulo: Prentice-
     Hall (2004)

More Related Content

Similar to Agentes Inteligentes: Notas sobre agentes reativos simples

IA - Aula 03 - Agentes parte 1
IA - Aula 03 - Agentes parte 1IA - Aula 03 - Agentes parte 1
IA - Aula 03 - Agentes parte 1Andrei Formiga
 
Aula4AgentesIntelig.ppt
Aula4AgentesIntelig.pptAula4AgentesIntelig.ppt
Aula4AgentesIntelig.pptIsaac Medeiros
 
IA - Aula 04 - Agentes parte 2
IA - Aula 04 - Agentes parte 2IA - Aula 04 - Agentes parte 2
IA - Aula 04 - Agentes parte 2Andrei Formiga
 
Agent based software development
Agent based software developmentAgent based software development
Agent based software developmentAlan Prando
 
Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6
Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6
Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6douglas
 
Seminario sma,abms e netlogo
Seminario   sma,abms e netlogoSeminario   sma,abms e netlogo
Seminario sma,abms e netlogoDiogo Winck
 

Similar to Agentes Inteligentes: Notas sobre agentes reativos simples (8)

Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
IA - Aula 03 - Agentes parte 1
IA - Aula 03 - Agentes parte 1IA - Aula 03 - Agentes parte 1
IA - Aula 03 - Agentes parte 1
 
Aula4AgentesIntelig.ppt
Aula4AgentesIntelig.pptAula4AgentesIntelig.ppt
Aula4AgentesIntelig.ppt
 
IA - Aula 04 - Agentes parte 2
IA - Aula 04 - Agentes parte 2IA - Aula 04 - Agentes parte 2
IA - Aula 04 - Agentes parte 2
 
Agent based software development
Agent based software developmentAgent based software development
Agent based software development
 
Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6
Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6
Curso de Cronoanálise - Tempos e Movimentos - Parte 6 de 6
 
Aula02
Aula02Aula02
Aula02
 
Seminario sma,abms e netlogo
Seminario   sma,abms e netlogoSeminario   sma,abms e netlogo
Seminario sma,abms e netlogo
 

More from Nécio de Lima Veras

Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Nécio de Lima Veras
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados Nécio de Lima Veras
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento ORNécio de Lima Veras
 
Introdução aos Sistemas operacionais
Introdução aos Sistemas operacionaisIntrodução aos Sistemas operacionais
Introdução aos Sistemas operacionaisNécio de Lima Veras
 
Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...
Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...
Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...Nécio de Lima Veras
 
Conceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidadeConceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidadeNécio de Lima Veras
 

More from Nécio de Lima Veras (20)

Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Versionamento com git
Versionamento com gitVersionamento com git
Versionamento com git
 
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados
 
Revisão de matemática
Revisão de matemáticaRevisão de matemática
Revisão de matemática
 
Anotações do mapeamento OR
Anotações do mapeamento ORAnotações do mapeamento OR
Anotações do mapeamento OR
 
Hibernate-consultas
Hibernate-consultasHibernate-consultas
Hibernate-consultas
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
Relacionamentos do mapeamento OR
Relacionamentos do mapeamento ORRelacionamentos do mapeamento OR
Relacionamentos do mapeamento OR
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Java swing
Java swingJava swing
Java swing
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Introdução aos Sistemas operacionais
Introdução aos Sistemas operacionaisIntrodução aos Sistemas operacionais
Introdução aos Sistemas operacionais
 
Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...
Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...
Organizando um Repositório de Objetos de Aprendizagem para dispositivos móvei...
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
 
Internet: conceitos e segurança
Internet: conceitos e segurançaInternet: conceitos e segurança
Internet: conceitos e segurança
 
Conceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidadeConceitos básicos de usabilidade e acessibilidade
Conceitos básicos de usabilidade e acessibilidade
 

Agentes Inteligentes: Notas sobre agentes reativos simples

  • 1. Notas sobre Agentes Inteligentes Nécio de Lima Veras
  • 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.
  • 5. Comportamentos de Agentes
  • 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;
  • 13. A natureza do ambiente
  • 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);
  • 15. Ambiente: um exemplo PEAS para um motorista de táxi
  • 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”.
  • 25. A estrutura dos Agentes
  • 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.
  • 32. Agentes reativos baseados em modelos (em imagem)
  • 33. Agentes reativos baseados em modelos (em pseudocódigo)
  • 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
  • 37. Agentes baseados em objetivos (em imagem)
  • 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.
  • 41. Agentes baseados na utilidade (em imagem)
  • 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)