Buscar

Agentes Inteligentes

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Agentes
Um agente é qualquer coisa capaz de receber perceptos (conteúdos de uma percepção) do ambiente em que se encontra, a partir de sensores, e que atua sobre o ambiente por meio de efetuadores.
Ex: agente humano
 Sensores: olhos, ouvidos, etc
 Efetuadores: mãos, braços, lábios, pés, etc
Ex: agente de software
 Sensores: métodos de entrada (reads, gets, etc)
 Efetuadores: métodos de saída (prints, writes, etc)
 Perceptos e ações: sequências de bits
*
*
Como Agentes Devem Atuar
Agente racional:
É um agente que atua corretamente (“faz a coisa certa”).
É necessário medir o desempenho do agente (grau de sucesso).
A atuação de um agente racional depende de
Sequência de perceptos já recebidos (informação já recebida);
Conhecimento sobre o ambiente externo;
O conjunto de ações que ele pode executar;
A medida de desempenho. 
Conclusão:
Um agente racional deve executar ações que maximizem seu desempenho, com base na sequência de perceptos já recebidos e em seu próprio conhecimento embutido.
Obs:
Se um agente falhar por causa de algo que ele não pode perceber no ambiente, ele não pode ser culpado.
*
Agentes
Um agente faz um mapeamento:
	
			sequência de perceptos  ações
Logo, um agente pode ser descrito por uma tabela que informa qual ação ele executa para cada sequência de perceptos.
Ex: o mundo do agente aspirador de pó.
Perceptos: pares [quadrado, estado do quadrado]. Estado do quadrado: Limpo ou Sujo.
Ações: aspirar, mover para direita, mover para esquerda, nada.
*
*
... Agentes
Um sistema é autônomo se:
Seu comportamento é baseado em sua própria experiência.
Um agente autônomo tem conhecimento inicial embutido (built-in) durante a sua construção.
Ex: um agente que deve “ir”.
Um agente autônomo tem habilidade ou capacidade de aprender.
Se não fosse assim, ele seria menos flexível, pois suas ações seriam baseadas apenas no conhecimento built-in.
Autonomia envolve a capacidade de obter sucesso em ambientes diferentes dado que o agente tem tempo para adaptar-se.
*
*
Estrutura de Agentes Inteligentes
AGENTE = ARQUITETURA + PROGRAMA
Arquitetura é o hardware onde o programa agente será executado [mais algum software de mais baixo nível (ex: O sistema operacional)].
O papel da Inteligência Artificial é projetar e construir (e compreender) o programa agente.
Ao projetar-se um programa agente deve-se saber exatamente quais serão os perceptos, ações, o ambiente e a medida de desempenho.
Normalmente, a medida de desempenho está ligada às metas (objetivos).
*
*
Perceptos, Ações, Metas e Ambientes
*
*
…Perceptos, Ações, Metas e Ambientes
Preencha a linha acima para o seguinte agente:
O Cleverbot é um agente que deve interagir com pessoas e “conversar” com as mesmas sobre qualquer tipo de assunto via uma interface textual web, ou seja, ele recebe textos e responde com textos. 
*
*
Esqueleto de um Programa Agente
	Acao esqueleto(Percepto percepto) {
	 static Memoria memoria; // o que o agente sabe do mundo, 		 		 	 // exceto algum conhecimento built-in
	 atualizaMemoria(memoria, percepto);
	 acao = escolheMelhorAcao(memoria);
	 atualizaMemoria(memoria, acao); // 
	 return acao;
	}
Observe que
O agente recebe um percepto por vez. Sequências são guardadas na memória;
A medida de desempenho não é parte do agente; é externa;
A memória é uma estrutura de dados.
*
*
Um Agente Dirigido por Tabela
	Acao agenteDirigidoPorTabela(Percepto p) {
	 static Percepto[] perceptos, // sequência, inicialmente vazia
		 Tabela t, // look-up table, inicialmente especificada
 		 int ultimo = 0;
	 perceptos[ultimo++] = p;
	 return lookup(perceptos, t); // localiza e retorna a ação
	}
Problemas:
Tabela pode ser enorme (ou infinita!)  10150 para jogar xadrez
Tempo de construção também enorme
Sem autonomia  a tabela é built-in (embutida)
*
*
Tipos de Agentes / Exemplo
Quatro tipos de agentes “básicos”:
Agentes reativos (de reflexos) simples
Agentes que guardam (armazenam) conhecimento
Agentes baseados em objetivos (metas)
Agentes baseados em utilidade
Todos os quatro podem ser “transformados” ou “incrementados” para serem agentes de aprendizado.
Exemplo: projetar um agente que seja um motorista capaz de interagir com clientes e levá-los de um lugar a outro.
*
*
Agente Reativo (de Reflexo) Simples
Agente que estabelece uma ação a ser executada se uma condição é satisfeita, considerando apenas a percepção mais recente.
Regras condição-ação (ou produções):
		if (o-carro-da-frente-está-freando)
		 then comece-a-frear
Características:
Implementação eficiente
Leque pequeno de aplicações
 Acao agenteReflexoSimples(Percepto p) {
 static Regras[] regras;
 estado = interpretaEntrada(p);
 regra = encontraRegra(estado, regras);
 
 return aplicaRegra(regra);
}
*
*
Agentes de reflexo simples só funcionam se a decisão pode ser feita apenas com base no percepto corrente.
Agentes que guardam conhecimento mantêm um estado interno (que reflete o ambiente) utilizado para determinar qual ação será executada.
Para atualizar o estado interno dois tipos de conhecimento são necessários:
Como o mundo evolui (independentemente do agente);
Informações sobre como as ações do agente afetam o ambiente.
É necessário representar conhecimento!
Agentes que Guardam Conhecimento
(Agentes Reativos Baseados em Modelos)
*
*
 Acao agenteReflexoComEstado(Percepto p) {
 static Estado estado;
	 Regras[] regras;
	 acao; 		// ação mais recente
 atualizaEstado(estado, p, acao);
 regra = encontraRegra(estado, regras);
 acao = encontraAcao(regra);
 atualizaEstado(estado, acao);
 
 return acao;
}
… Agentes que Guardam Conhecimento
AGENTE
Como o mundo se parece agora
Qual ação eu devo executar
Regras condição-ação
efetuadores
sensores
A M B I E N T E
AGENTE
Estado
Como o mundo evolui
O que minhas ações
fazem
*
*
Agentes Baseados em Objetivos
Nem sempre o conhecimento do estado corrente do ambiente é suficiente para decidir-se qual ação tomar.
Pesquisa (busca) e planejamento são utilizados para encontrar as ações que alcancem os objetivos.
Características:
Implementação menos eficiente;
Maior flexibilidade.
O agente busca combinar informação sobre o objetivo a ser alcançado com informações sobre os possíveis resultados de suas ações a fim de escolher ações que alcancem o objetivo!
Isso pode ser simples ou não!!  depende do número de ações
Um agente reflexivo freia porque o carro da frente freou.
Um agente goal-based (baseado em objetivo) freia porque, se o carro da frente freou irá mais devagar e a única maneira de alcançar o objetivo “não bater no carro da frente”, dado o modo como o mundo evolui, é frear.
*
*
… Agentes Baseados em Objetivos
*
*
Agentes Baseados em Utilidade
Apenas as metas (objetivos) não são suficientes para gerar um comportamento de alto nível…
Por exemplo:
Muitas sequências de ações levarão o carro ao seu destino. Tais sequências podem ser mais rápidas, mais seguras, mais confiáveis, etc.
Os objetivos dão, apenas, uma medida grosseira dos estados satisfatórios ou não que o agente pode alcançar.
A utilidade é uma medida de desempenho que permite a comparação entre diferentes estados do mundo (ambiente) com base no quanto esses estados fazem o agente “satisfeito”.
A utilidade é uma função que mapeia um estado em um número real que representa o grau de satisfação do agente.
*
*
… Agentes Baseados em Utilidade
A especificação completa de uma função de utilidade permite decisões racionais em dois tipos de casos onde as metas têm problemas:
Objetivos conflitantes  utilidade fornece um compromisso.
Por exemplo: alcançar velocidade e (segurança e conforto)
Várias possíveis metas mas nenhuma pode ser alcançada com certeza.  utilidade provê um meio no qual a probabilidade de sucesso pode ser comparada ou combinada à importância das metas.
AGENTE
Como o mundo se parece agora
Qual ação eu devo executar agora
Utilidade
efetuadores
sensores
A M B I E N T E
AGENTE
Estado
Como o mundo evolui
O que minhas ações
provocam
Como o mundo se parecerá se eu executar a ação A
Quão feliz serei neste novo estado
*
*
Comparando os Quatro Tipos de Agentes
*
*
O Quinto Agente: Aprendiz
Em que estado um agente é criado?
Turing propôs programar um agente à mão, inicialmente.
Em seguida, ele propôs que um agente deveria ser capaz de aprender. Assim, o agente seria criado e ensinado.
A capacidade de aprender permite ao agente operar em ambientes inicialmente desconhecidos e melhorar seu desempenho à medida que interage no ambiente.  DIFÍCIL!
Um agente de aprendizagem possui quatro componentes conceituais:
Elemento de aprendizado
Elemento de desempenho
Gerador de problemas
Crítico 
*
*
... O Quinto Agente: Aprendiz
Elemento de aprendizado: executa aperfeiçoamentos (mudanças) que são passados ao elemento de desempenho para que este funcione melhor. 
Elemento de desempenho: responsável pela seleção da ação e alimentação do elemento de aprendizado com conhecimento. Pode ser um dos quatro agentes anteriores. 
*
*
... O Quinto Agente: Aprendiz
Crítico: informa ao elemento de aprendizado como o agente está funcionando em relação a um padrão de desempenho esperado e fixo. O agente não deve modificá-lo para o ajustar ao seu próprio comportamento!
Gerador de problemas: sugere ações que levarão a novas e informativas experiências, que podem não ser boas a curto prazo, mas que poderão levar o agente a funcionar melhor no futuro. 
*
*
O Agente de Aprendizagem: Exemplo do Motorista Automatizado
Elemento de desempenho
É composto por uma coleção qualquer de conhecimento e procedimentos que possibilitam o ato de dirigir, ou seja, a seleção de ações a serem executadas: girar o volante, frear, acelerar, “olhar” nos retrovisores, saber que ao girar o volante o carro muda de direção, saber que ao frear, o carro diminui a velocidade, etc
Crítico
O crítico observa o ambiente e repassa informações ao elemento de aprendizado. Por exemplo: frear bruscamente assusta os passageiros.
Gerador de problemas
Pode sugerir experimentos do tipo: frear em superfícies diferentes “para ver o que acontece”.
Elemento de aprendizado
Recebe retorno do crítico e informações do elemento de desempenho e cria novas regras e envia mudanças a ele. Por exemplo, a partir da informação de que freadas bruscas não são boas ações, uma nova regra pode ser gerada e inserida no elemento de desempenho.
*
O livro-texto usa sequência de percepções e não sequência de perceptos. Ou seja, não diferencia “percepção” do “conteúdo de uma percepção” que é um percepto, no original em Inglês. Percepção tem um significado mais amplo. Um percepto é a informação que os sensores captam do ambiente externo. Já uma percepção é ‘o ato de apreender algo”. Então é todo um processo que envolve desde os sensores e passa pelo processamento que resultará em um percepto.
O livro utiliza atuador em vez de efetuador. 
Atuador é “o que move o efetuador”. P. ex, no ser humano a mão é um efetuador e os músculos são os atuadores.
*
PAG 37, último parágrafo: “um velho amigo do ouTro lado da rua.”
*
MODIF
*
Se um agente nao tem capacidade de aprender, ele seria inflexível: se as suposições feitas na sua construção e incorporadas nele (built-in knowledge) não são válidas em um dado momento, ele não seria bem sucedido.
Exemplo do dung beetle.
*
Em vez de “programa agente” o livro utiliza “programa de agente”.
*
Informações básicas necessárias ao projeto de um agente “completo” qualquer…
*
Informações básicas necessárias ao projeto de um agente “completo” qualquer…
*
*
O desafio fundamental da IA é descobrir como escrever programas que, na medida do possível, produzam um comportamento racional a partir de uma “pequena” quantidade de código e não de um grande número de entradas de tabelas.
*
GPS = Global Positioning System 
*
O agente encontra uma regra a ser aplicada em uma dada situacao
“uma dada situacao” é estabelecida pela interpretacao da entrada, ou seja, a partir do percepto ou estímulo recebido.
A função aplicaRegra(regra) executa a ação correspondente à regra passada como parâmetro.
*
O agente “conhece” o estado do ambiente… Guarda informações que lhe permitem saber como o mundo funciona, ou seja, permitem que ele construa um modelo do mundo. Observe que é um “modelo do mundo”, logo, o modelo pode não capturar todos os detalhes do ambiente (em geral, não captura mesmo).
O livro o chama de “agente reativo baseado em modelo”.
*
ERRO: A figura 2.11 (página 49) deveria ser como esta da transparência!
*
Agente busca considerar o futuro: “o que acontecerá se eu faço isso ou aquilo?” “Isso me fará feliz?”
Se as condicoes do ambiente mudam ou o objetivo muda, um agente reflexivo deve ter suas regras condicao-acao reescritas, mas um agente goal-based, nao.
*
*
Cap. 6  agentes que jogam devem ter fc de utilidade.
Cap. 17  agentes que tomam decisões devem deteminar a utilidade de cada uma de suas ações.
*
Qualquer agente pode ser descrito como tendo uma funcao de utilidade (capítulo 16).
Agentes que possuem uma funcao de utilidade explícita podem tomar decisoes racionais MAS podem ter que comparar as utilidades alcançadas pelos diferentes cursos de ação.
Metas, ainda que “cruas”, habilitam o agente a executar uma acao direta, se ele satisfaz a meta!
Em alguns casos, entretanto, a fc de utilidade pode ser traduzida em um conjunto de objetivos de modo que as decisoes tomadas por um agente baseado naquelas metas e um agente baseado em utilidade serao idênticas.
Utility-based agents: caps. 5 e 17
*
Os balões destacados (em dourado ou bege) indicam as diferenças entre agentes.
*
*
ERRO: A figura 2.15 deveria ser como esta da transparência. As setas “mudanças” e “conhecimento” estão invertidas!
*
O crítico é necessário porque as percepções apenas não fornecem informação suficiente para que o agente saiba se obteve sucesso ou não em suas ações. P. ex; o agente motorista deve frear quando o carro da frente frear, mas ele precisa saber que isso é uma coisa “boa”. Da mesma forma, um agente jogador de futebol pode dar um passe que deixa seu companheiro em condições de marcar um gol, mas ele deve saber que isso é bom. Um outro exemplo é o de um jogador de xadrez que aplica um xeque-mate. Ele recebe um percepto indicando que ele aplicou o xeque-mate, mas alguém deve informá-lo de que isso é bom. O crítico faz isso.
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais