7 – Agentes Inteligentes
Inteligência Artificial
Prof. Laurence Rodrigues do
Amaral
Introdução
• Agentes Inteligentes são dispositivos
(hardware e software) com a capacidade
de perceber o seu ambiente por meio de
sensores e de agir sobre o ambiente
usando seus atuadores
• Exemplo mais comum
– Dispositivo robótico dotado de sensores
(imagem, sons, calor, posição, etc) que usa
seus braços e pernas mecânicos para realizar
tarefas como andar pelo ambiente e
Exemplo de
Agentes Inteligentes
• A aplicação mais conhecida é o aspirador
de pó, que tem sensores para identificar a
presença de sujeira nas proximidades
• Quando a sujeira é detectada, os
atuadores (sugador) entram em ação,
recolhendo-as.
• Enquanto não encontra sujeira, o
aspirador realiza um movimento, seguindo
adiante, ou virando à esquerda ou direita
Exemplo de
Agentes Inteligentes
•
Novibot - Samsung
Arquitetura dos Agentes
e o ambiente
• O modo de operação dos agentes e a
facilidade de implementação de suas
habilidades dependem da arquitetura
adotada na sua concepção, que também
está relacionada com o tipo de ambiente
em que ele atuará
Propriedades dos
Ambientes
• Acessível vs. Inacessível
• Estático vs. Dinâmico
• Determinístico vs. Aleatório
• Discreto vs. Contínuo
• Episódico vs. Não-episódico
• Monoagente vs. Multiagente
Acessível vs. Inacessível
• Está relacionado a capacidade que os
sensores do agente tem para perceber o
estado completo do ambiente
• Acessível
– Um agente sabe o
que existe em
locais ainda não
visitados
• Inacessível
– O agente saberá o
que existe no local
apenas quando
Estático vs. Dinâmico
• Esta relacionado a alterações no ambiente. Isto
é, sofre ou não sofre alterações enquanto o
agente está escolhendo a ação a realizar
• Estático
– Um agente
resolvendo um jogo
de palavras
cruzadas
• Dinâmico
– Um agente
motorista de táxi
Determinístico vs.
Aleatório
• Se deve ao fato do próximo estado do ambiente
ser ou não completamente determinado pelo
estado atual e pelas ações selecionadas pelo
agente
• Determinístico
– Um agente
montando um jogo
de blocos, sendo
todos eles
conhecidos
• Aleatório
– Um agente
dirigindo um
automóvel e
enfrentando
problemas de
trânsito
Discreto vs. Contínuo
• Quando existe um número distinto e claramente
definido de percepções e ações em cada turno
ou quando as percepções e ações mudam em
um espectro contínuo de valores
• Discreto
– Agente realizando
um movimento (um
de cada vez) em
um jogo de damas
• Contínuo
– Agente dirigindo um
automóvel deve
realizar tarefas
continuadamente no
volante, acelerador
e freios
Episódico vs.
Não-episódico
• Quando a experiência do agente é dividida em
etapas, que independem de etapas anteriores.
Assim, cada episódio o agente deve perceber e
então agir
• Episódico
– Um agente que realiza a venda de passagens
deve identificar as
poltronas disponíveis, realizar a venda, e
marcar a poltrona como ocupada
• Não-episódico
– Quando um agente
joga xadrez
Monoagente vs.
Multiagente
• Quando apenas um ou vários agentes atuam no
mesmo sistema. No caso de vários, eles podem
se comportar de modo cooperativo ou
competitivo
• Monoagente
– Um agente
resolvendo o jogo
dos 8
• Multiagente
– Vários agentes
controlando o
tráfego de uma
cidade, agindo
preferencialmente de
forma cooperativa
Estrutura dos Agentes
• Está relacionada com sua implementação
física
Estrutura – Agente Tabela
• Todas as percepções e ações possíveis
estão relacionadas em uma tabela
Estrutura –
Agente Reativo Simples
• Substitui a tabela de percepção-ação por
um conjunto de regras do tipo
condição-ação (SE-ENTÃO ou IF-THEN)
Estrutura – Agente Reativo com
Estado Interno ou Baseado em Modelos
• Inclui informação histórica do ambiente
• Isso permite ao agente entender como o
ambiente evolui, com ou sem a sua
participação
Estrutura –
Agente Cognitivo ou Baseado em Objetivos
• Inclui informações sobre os objetivos que
devem ser atingidos no ambiente
• Isso permite ao agente melhorar a sua
tomada de decisões, pois pode escolher
dentre as ações possíveis, aquela que o
leva mais rapidamente ao seu objetivo
Estrutura –
Estrutura –
Agente Otimizador ou Baseado na Utilidade
• Este agente considera não apenas a
informação que o conduz ao seu objetivo,
mas também a eficiência das ações
adotadas
• Para tanto, usa a função de utilidade, que
serve para avaliar um grau de satisfação a
cada possível ação
Estrutura –
Estrutura – Agente com Aprendizagem
• O elemento de aprendizado é responsável pelo
aperfeiçoamento do agente, determinando
modificações no elemento de desempenho, a
partir de informações enviadas pelo crítico
• O crítico avalia o desempenho do agente em
relação a um padrão conhecido e fixo
• O elemento de desempenho é o responsável
pela escolha das ações, que são direcionadas
pelas informações que recebe
Estrutura – Agente com Aprendizagem
• Por fim, o gerador de problemas deve indicar
novas ações a serem experimentadas, de modo
que possam ser descobertas maneiras mais
Classificação dos Agentes
• Os agentes inteligentes podem ser
classificados de diferentes maneiras e, o
mais comum, é classificá-la de acordo
com
– Nível de inteligência
– Tarefa que executam
– Mobilidade
Classificação – Nível de
Inteligência
• Nível Baixo
– Quando não apresentam a capacidade de aprendizado
• Nível Médio
– Quando conseguem manipular novas situações, porém, normalmente, não demonstram oportunismo
• Nível Alto
– Quando os agentes raciocinam sobre a base de
conhecimento, aprendem com o comportamento do usuário, podendo se adaptar às mudanças e
Classificação – Tarefas
• Gopher
– Executam as tarefas mais simples, baseado-se em suposições e regras pré-especificadas
• Prestadores de Serviço
– Executam tarefas de alto nível, bem definidas, quando requisitadas pelo usuário
• Pró-Ativo ou Preditivo
– Executam tarefas mais complexas e, quando julgam apropriado, pesquisam informações ou executam tarefas não requisitadas pelo usuário
Classificação – Tarefas
• Conselheiros
– Oferecem ajuda, por exemplo, indicando os
passos para se usar um determinado sistema
computacional
• Guia
– Ajudam na recuperação de grande
quantidades de informações, apresentando
somente os dados relevantes e importantes
aos usuários
Classificação – Tarefas
• Empregados
– Executam tarefas repetitivas
• Representantes
– Operam mesmo na ausência do usuário, como é o caso dos agentes que realizam cópias de segurança de arquivos (backups)
• Comunicadores
– Interagem com outros usuários e seus agentes, para executar as atividades das quais são incumbidos
Classificação – Mobilidade
• Estáticos
– Quando não conseguem mover-se para
outras máquinas
• Dinâmicos
– Quando conseguem deslocar-se para outras
máquinas ligadas em rede
Classificação – Ênfase
• Agentes colaborativos
• Agentes de aprendizado
• Agentes de interface
Propriedade dos Agentes
• Importantes propriedades idealizadas para
um agente
– Autonomia
• Capacidade de adotar ações direcionadas à
execução das tarefas a serem realizadas e dos objetivos a serem alcançados, sem a interferência do usuário final
– Aprendizagem
• Permite a alteração do seu comportamento baseado em experiências anteriores
Propriedade dos Agentes
• Importantes propriedades idealizadas para
um agente
– Comunicabilidade
• É a capacidade que os agentes possuem para acessar informações sobre o estado atual do ambiente
– Confiabilidade
• É a credibilidade que o agente apresenta na
realização de suas ações e a certeza de que não processará informações falsas
Propriedade dos Agentes
• Importantes propriedades idealizadas para
um agente
– Cooperatividade
• É a capacidade que o agente possui para
trabalhar junto com outros agentes, objetivando a realização de uma tarefa em comum
– Degradação
• É a capacidade que o agente possui para
completar a execução de uma tarefa, mesmo quando ocorre alguma anomalia no sistema
Propriedade dos Agentes
• Importantes propriedades idealizadas para
um agente
– Inteligência
• É a capacidade do agente negociar em situações novas e de incerteza
– Mobilidade
• É a capacidade de transportar-se de um local ou de uma máquina para outra
Propriedade dos Agentes
• Importantes propriedades idealizadas para
um agente
– Persistência
• Habilidade do agente manter-se preciso através do tempo
– Personalidade
• Capacidade que o agente possui de demonstrar opinião
Sistemas Multiagentes (SM)
• Tratar problemas complexos como um
aglomerado de problemas menores tem
sido uma estratégia bastante usada
• Sistemas multiagentes podem apresentar
maior rapidez na resolução dos problemas
por causa do paralelismo que pode ser
Sistemas Multiagentes (SM)
• Também se observa uma maior flexibilidade do
sistema, combinando-se de diversas maneiras,
as diferentes habilidades dos agentes para
resolver problemas
• Se percebe uma melhora na confiança dos
resultados, pois podem ser incluídos agentes
que são capazes de avaliar e corrigir os
Sistemas Multiagentes (SM)
• A modularidade obtida com os sistemas
multiagentes é uma outra característica
muito relevante
• Porque quando o sistema não consegue
resolver determinada tarefa, geralmente é
mais simples projetar e incluir um novo
agente ao sistema do que substituir o
sistema inteiro
SM – Troca de mensagens
• Quadro negro (indireta)
– Todas as comunicações são feitas por meio de uma estrutura de dados central que é compartilhada com todos os agentes, sendo esta estrutura responsável pelo controle de acesso
– Quando recebem a permissão do quadro, os agentes lêem as informações deixadas por outros agentes e, também escrevem informações no quadro
• Troca direta entre agentes
– Obriga os agentes a terem uma identificação precisa, como um nome único no sistema, e também, a
adoção de algum protocolo de comunicação entre eles
SM - Organização
• Hierárquica
– O controle e a tomada de decisão são concentrados em níveis, ou seja, a interação entre os agentes
ocorre através de uma comunicação vertical do agente superior para os agentes subordinados
• Comunidade de Especialistas
– A organização mantém todos no mesmo nível, porém cada agente tem uma especialidade em um certo
domínio. A interação entre os agentes ocorre de acordo com regras previamente estabelecidas
SM - Organização
• Comunidade Científica
– As soluções para os problemas são
localmente construídas e, em seguida,
testadas e refinadas, a partir de uma
comunicação com outros agentes
Aplicações dos Sistemas
Baseados em Agentes Inteligentes
• Os agentes inteligentes são aplicados na
resolução de problemas para os quais não se
conhece um algoritmo exato
• São exemplos:
– Aplicações na Web – Jogos – Simulação – Área médica – Área doméstica – Dentre outrosAplicações - Web
• Os agentes tem sido usados com diferentes finalidades, como no caso de sistemas de buscas, que organizam as páginas de maior interesse de acordo com as
solicitações dos usuários
• Sistemas que testam automaticamente os links das páginas e informam possíveis problemas aos usuários • Agentes que fazem cotações de preços em diversas
páginas de vendas
• Agentes que analisam o comportamento dos usuários, analisando as suas buscas em uma página de comércio eletrônico e, em seguida, oferecem produtos com o
maior potencial de serem comprados, objetivando aumentar as vendas
Aplicações - Jogos
• A área de desenvolvimento de jogos tem
incrementado bastante o uso da
tecnologia dos agentes, permitindo a
criação de jogos com um comportamento
menos óbvio
• Pois os agentes analisam o
comportamento dos jogadores nas
diversas situações e, em seguida,
modificam as estratégias usadas
Aplicações
• Simulação
– Diferenças de comportamento dos usuários do
simulador são percebidas pelos agentes, que então, apresentam reações diferenciadas
• Área Médica
– Os agentes são usados para ajudar no
monitoramento de pacientes e também no
desenvolvimento de sistemas tolerantes a falhas, através do uso de agentes que se responsabilizam por tarefas realizadas por outros agentes