Agentes Inteligentes
O que é um agente?
Um agente é algo que percebe seu ambiente
através de sensores e atua no ambiente através de atuadores
(effectors).
-
Agente Humano:
-
Sensores: Olhos, ouvidos, nariz, tacto, paladar.
-
Atuadores: Pernas, braços, mãos.
-
Agente Robótico: câmeras, sonares, sensores
de infra-vermelhos, motores, rodas, etc.
-
Agente em Software: possui strings de bits codificadas
como percepção e ação.
Figura -1:Agentes interagem com
o ambiente através de sensores e atuadores
Ação de um agente
Environment e;
RuleSet r;
while (true) {
state = senseEnvironment(e);
a = chooseAction(state, r);
e.applyAction(a);
}
O que é um Agente Racional?
-
O objetivo da IA, segundo Russel & Norvig
é projetar agentes que façam um bom trabalho agindo no seu
ambiente. O princípio básico da utilização
de agentes é que eles devem "saber das coisas" (know things).
-
Um Agente Racional Ideal é aquele que
para cada possível seqüência de percepção,
realiza uma ação que maximiza seu desempenho (mapeamento
ideal), tendo como base as evidências fornecidas pela seqüência
de percepção e pelos conhecimentos previamente existentes
no agente.
-
Especificar que ações um agente deve tomar
em resposta a qualquer seqüência de percepções,
leva ao projeto de um agente ideal.
-
Mapeamento entre percepções e ações.
-
Exemplo: agente aspirador.
Mapeamento ideal: da seqüência
de percepção até a ação
-
O comportamento de um agente depende de sua seqüência
de percepção a sua conclusão (ação);
-
Pode-se descrever qualquer agente através de
uma "tabela" de respostas (ações) perante as suas percepções;
-
Esta tabela representa o mapeamento entre a seqüência
de percepção à ação.
-
Exemplo: a função raiz quadrada de uma
calculadora;
function SQRT(x)
z ¬ 1.0
repeat until |z2 – x| < 10-15
z ¬ z-(z2-x)/(2z)
end
return z
|
#include
#include
#include
float rq(float x) {
float z=1;
do {
z = z-((pow(z,2)-x)/(2*z));
} while (pow(z,2) < 10e-15);
return(z);
}
void main (void) {
clrscr();
float _x;
for (_x = 1; _x < 2; _x=_x+0.1)
printf("%1.15f - %1.15f\n",
_x,rq(_x));
float n=10e-15;
printf("\n%1.15f",n);
getch();
} |
Percept x
|
Action z
|
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
|
1.000000000000000
1.049999952316284
1.100000023841858
1.150000095367432
1.200000047683716
1.250000000000000
1.300000071525574
1.350000143051147
1.400000095367432
1.450000047683716
|
Tabela -1: Parte de um mapeamento
ideal da raiz quadrada, e seu correspondente programa em C.
|
O que é um Agente Autônomo?
-
Agentes Autônomos são sistemas computacionais
que operam em ambientes dinâmicos e imprevisíveis.
-
Eles interpretam dados obtidos pelos sensores que refletem
eventos ocorridos no ambiente e executam comandos em "motores" que produzem
efeitos no ambiente.
-
O grau de "autonomia" de um agente está relacionado
à capacidade de decidir por si só como relacionar os dados
dos sensores com os comandos aos motores em seus esforços para atingir
seus objetivos satisfazer motivações, etc.
Construção de agentes
-
Estruturas de dados internas são atualizadas
via percepções e usadas para tomar a decisão das ações
a executar (melhor ação).
Figura -1: Estrutura de um agente
Tipos de Agentes
-
Software Agents (softbots)
-
Agentes são considerados entidades computacionais baseados na
idéias de que os usuários necessitam apenas especificar um
objetivo em alto nível, ao invés de utilizar instruções
explícitas, deixando as questões de como e quando agir a
cargo do agente.
-
Aplicações: interfaces amigáveis, cartografia,
auxílio ao ensino, auxílio ao diagnóstico médico.
-
Hardware Agents (robôs, embedded systems)
-
Agentes que operam em ambientes físicos (apesar de que muitas
vezes estes ambientes são simulados).
-
Terceira geração de robôs, capazes de detectar mudanças
ambientais e, através da reavaliação de seus objetivos,
encontrar uma nova seqüência de ações capazes
de persegui-los, sem que esta seqüência tivesse sido prevista.
Tipo de Agente
|
Percepção
|
Ação
|
Objetivos
|
Ambiente
|
Sistema
de Diagnóstico Médico |
Sintomas,
exames, respostas do paciente. |
Perguntas,
testes, tratamentos. |
Curar
o paciente, reduzir custos. |
Paciente
hospital |
Sistema
de Análise de Imagens de Satélite |
Pixels
de intensidade variada e cores |
Fornecer
uma classificação para a imagem |
Classificar
corretamente |
Imagens
de Satélites Orbitais |
Robô
manipulador |
Pixels
de intensidade variada |
Pegar
diferentes tipos de peças e colocá-las em containers. |
Colocar
as peças nos containers corretos |
Linha
de montagem com peças |
Controlador
de Refinaria |
Leituras
de Temperatura e Pressão |
Abrir
e fechar válvulas, controlar a temperatura. |
Maximizar
a pureza, custos, segurança. |
Refinaria |
Tutor
Interativo de uma língua |
Palavras
digitadas |
Propor
exercícios, sugestões, correções. |
Maximizar
o resultado do aluno |
Conjunto
de Estudantes |
Tabela -1:Exemplos de tipos de agentes
e suas descrições PAGE
Complexidade dos Agentes
-
Não tem memória.
-
Quando cessa a percepção, cessa a ação.
-
Baseados em tabelas de regras condição-ação
(regras if-then)
-
If car in front is braking (brake-light on), then initiate breaking.
Figura -1:Diagrama esquemático
de um agente reflexivo simples
Figura -2: Estrutura do agente reflexivo,
o qual trabalha em busca de uma regra que combine com a situação
corrente e então efetua a ação correspondente a aquela
regra.
-
Agentes com Estados Internos
-
Mantêm um estado interno (representação do mundo)
-
Guarda informações que não são percebidas
no momento
-
Como o mundo evolui
-
O que as ações provocam no mundo
Figura -1: Agente reflexivo com
estado interno
Figura -2: Estrutura do agente com
estados internos, o qual trabalha em busca de uma regra que combine com
a situação corrente (definida pela percepção
e o estado interno armazenado) e então efetua a ação
correspondente a aquela regra.
-
Descrição do estado do mundo e do objetivo a atingir
-
Exemplo: Chegar a Florianópolis
-
Resolução de problemas por Pesquisa, Planejamento.
-
Busca e Planejamento são subcampos da IA cujo objetivo é
achar seqüências de ações que conduzam ao objetivo
do agente.
Figura -1: Agente com metas
-
Agentes Baseados em Utilidade
-
Utilidade é uma função que mapeia um estado em
um número real que descreve o grau de "felicidade" associado ao
estado.
-
Permite decisões racionais em casos em que o objetivo tem algum
"problema";
-
Quando existem objetivos conflitantes, tal como velocidade e segurança;
-
Quando existem vários objetivos, a utilidade "diz" qual tentar
alcançar primeiro.
Figura -1: Agentes Baseados em Utilidade
Ambientes
[Voltar]
|