I. Introdução a IA
Slides IA-1-introducao.pdf
II. Agentes Inteligentes
1. Definição: Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores.
2. Exemplos de Agentes • Agente humano
– Sensores: olhos, orelhas e outros órgãos
– Atuadores: mãos, pernas, boca e outras partes do corpo • Agente robótico
– Sensores: câmaras e detetores de infravermelhos – Atuadores: motores
3. Conceitos
• Percepção: conjunto de entradas perceptivas do agente em qualquer momento dado.
• Sequência de percepções: história de tudo o que o agente já percebeu. A escolha de uma ação pode depender da sequência de percepções observadas até o momento.
• Função agente: descreve o comportamento do agente. Mapeia a sequencia de percepções para ações. Essa função é uma descrição matemática abstrata.
• Programa de agente: implementa a função agente. É uma implementação concreta relacionada à arquitetura do agente.
Exemplo: O mundo do Aspirador
Percepções: Agente percebe:
• em que quadrado está, • se existe sujeira no quadrado.
Função do agente: Se o quadrado atual estiver sujo, então aspirar; caso contrário mover-se para o outro quadrado
Programa de agente:
função AgenteAspirador ([posição, estado]) devolve ação Se estado = Sujo então devolve Aspirar
Senão se posição = A então devolve Direita Senão se posição = B então devolve Esquerda
4. Medida de desempenho
Exemplo: medida de desempenho do agente aspirador pode ser a sujidade aspirada, tempo utilizado, eletricidade consumida, ruído gerado, etc.
5. Racionalidade
Um agente racional é aquele que faz tudo certo. A ação certa é aquela que fará o agente obter maior sucesso. Para isso precisaremos de algum método para medir o sucesso: Medida de
desempenho.
O que é racional em qualquer instante depende de 4 fatores: •Medida de desempenho,
•Conhecimento anterior
•Ações que o agente pode executar •Sequencia de percepções
Definição de Agente Racional
Para cada sequência de percepções possível, um agente racional deve selecionar uma ação que se espera venha a maximizar sua medida de desempenho, dada a informação disponibilizada pela sequência de percepções e eventualmente pelo conhecimento que o agente possui.
5.1. Onisciência:
É a capacidade de saber tudo infinitamente. Um agente onisciente sabe o resultado real de suas ações e pode agir de acordo com ele; porém, a onisciência é impossível na realidade pois não é possível saber todo a priori.
Exemplo:
Você esta caminhando na avenida paulista e de repente vê um velho amigo do outro lado da rua. Não existe nenhum tráfego perto e você não tem nenhum outro compromisso, sendo racional, você atravessa a rua. Enquanto isso, a 10 000 metros de altura a porta do compartimento de carga se solta de um avião e antes de chegar ao outro lado da rua, você é atingido.
Conclusão: não foi irracional atravessar a rua, mas é impossível a onisciência na vida real Logo:
Racionalidade ≠ omnisciência: Percepções nas quais se baseou um agente racional podem não disponibilizar conhecimento que é importante na realidade.
Racionalidade ≠ clarividência: Resultado de uma ação pode não estar de acordo com o esperado.
Logo, racionalidade ≠ sucesso. 5.2. Aprendizagem
Um agente racional deve aprender tanto quanto possível do que ele percebe. A configuração inicial do agente poderia refletir algum conhecimento anterior do ambiente mas, à medida que o agente ganha experiência, isso pode ser modificado e ampliado.
5.3. Autonomia
Um agente é autônomo se o seu conhecimento for determinado apenas pela sua experiência (com capacidade de aprender e adaptar-se). Agentes podem tomar ações para obter informações
úteis.
Um agente racional deve ser autônomo. Ele deve aprender o que puder para compensar um conhecimento prévio parcial ou incorreto.
6. Ambiente de Tarefas
Ambientes de tarefas são essencialmente os “problemas” para os quais os agentes racionais são as “soluções”.
6.1. Especificação do ambiente de tarefas
Para especificar um ambiente de tarefas, precisamos especificar 4 itens. Essa descrição dos 4 itens chama-se PEAS.
PEAS (Performance, Environment, Actuators, Sensors): desempenho, ambiente, atuadores, sensores.
A primeira tarefa quando se projeta um agente deve ser especificar o ambiente de tarefa de forma tão completa quanto possível.
Exemplo: PEAS: agente taxista Desempenho
– Segurança, destino, lucros, legalidade, conforto Ambiente
– Clientes, estradas, trânsito, transeuntes, tempo Atuadores
– Volante, acelerador, travão, buzina, pisca Sensores
– GPS, conta km, velocímetro, nível do depósito, temperatura do óleo Exemplo: PEAS: Agente sistema de diagnóstico médico
Medida de Desempenho
– Saúde do paciente, custos Ambiente
– Paciente, hospital, funcionários Atuadores
– Monitor: exibe diagnósticos, tratamentos Sensores
– Teclado: sintomas, respostas do paciente. 6.2. Tipos de ambientes de tarefa
• Completamente observável vs. Parcialmente observável • Determinístico vs. Estocástico
• Episódico vs. Sequencial • Estático vs. dinâmico • Discreto vs. contínuo
• Agente único vs. Multi-agente 7. Tipos de agentes
• Agentes reativos simples
É o tipo mais simples de agente. Selecionam ações com base na percepção atual, ignorando o restante do histórico de percepções.
Função AgenteReativoSimples (percepção) devolve ação Variaveis estáticas: regras (conjunto de regras condição-ação) estado ← InterpretarEntrada(percepção)
regra ← RegraCorrespondente(estado,regras) ação ← AcãoDaRegra[regra]
retornar ação
• Agentes reativos baseados em modelos
Mantêm um estado interno para aspectos que não pode ver agora. Este estado interno está baseado no histórico de percepções e permite refletir sobre aspectos atuais não conhecidos. Para atualizar essas informações internas precisa-se:
- como o mundo evolui independentemente do agente - como as ações do agente afetam o mundo
O agente baseado em modelo é aquele que usa esse modelo do mundo.
Assim a figura a seguir mostra como a percepção atual é combinada com o estado interno antigo para gerar a descrição atualizada do estado atual.
Função AgenteReflexosBaseadoEmModelos (percepção) devolve acção Variáveis estáticas: estado (descrição do estado do mundo)
regras (conjo de regras condição-acção) ação (a acção mais recente)
estado ← ActualizarEstado(estado,ação,percepção) regra ← RegraCorrespondente(estado,regras) acção ←AçãoDaRegra[regra]
devolve acção
• Agentes baseados em objetivos
Conhecer o estado atual do ambiente nem sempre é suficiente para decidir o que fazer. Assim como temos o estado do mundo atual, precisamos informação sobre objetivos para decidir situações que queremos alcançar (objetivos). Assim, um agente tem um (ou mais) objectivo(s) As vezes, uma única ação satisfaz um objetivo. Outras vezes, precisa-se considerar longas sequencias de ações até encontrar um meio de atingir o objetivo. Busca e planejamento são subcampos da IA dedicados a encontrar sequencias de ações que alcançam os objetivos do agente.
A tomada de decisões sobre que ações adotar é mais complexa pois envolve considerações a futuro.
Além de ter as mesmas caraterísticas de um agente reativo simples, incrementa considerações sobre o futuro, a fim de alcançar os objetivos.
Exemplo: O agente taxista tem como objectivo chegar a um destino. Chegando a um
• Agentes baseados em utilidade
Para ter um comportamento de alta qualidade, precisam-se mais que objetivos. Existem varias maneiras de chegar a um objetivo, mas a utilidade permite escolher aquela forma que dará maior utilidade ao agente (medindo o grau de felicidade).
A função de utilidade permite estabelecer preferências entre sequências de estados que permitem atingir os mesmos objetivos
Exemplo: Um agente taxista pretende chegar a um destino. A função de utilidade permite distinguir as diferentes formas de chegar ao destino, em função do tempo, da despesa, da segurança. Escolhe-se então aquela forma de chegar ao destino que incremente a utilidade. • Agentes com aprendizagem
Correspondem à ideia de máquina inteligente caracterizada por Turing (1950) O agente pode atuar num mundo inicialmente desconhecido.
• Elemento de aprendizagem: Torna o agente mais eficiente ao longo do tempo, – Usa feedback da crítica que avalia atuação do agente de acordo com o desempenho espectável • Elemento de desempenho: Responsável por selecionar as ações do agente
III. BUSCA em Espaço de Estados
1. Agentes de resolução de problemas
É um tipo de agente baseado em objetivos. Estes agentes decidem o que fazer encontrando sequências de ações que levam a estados desejáveis.
Os agentes inteligentes devem maximizar a sua medida de desempenho. Isso às vezes é simplificado se o agente pode adotar um objetivo e desejar satisfazê-lo.
Exemplo:
Temos um agente na cidade de Arad na Romênia de férias. Medida de desempenho:
• melhorar língua romena
• ver paisagens
• apreciar vida noturna
• melhorar bronzeado
• etc.
Este é um problema de decisão Complexo pois envolve muitos compromissos e a leitura cuidadosa de guias de viagem.
Agora suponha que o agente tem uma passagem não-reembolsável saindo de Bucareste(capital da Romênia) com destino Brasil para amanhã.
Objetivo: Chegar a Bucareste a tempo para o vôo.
As ações que impedem a chegada a tempo a Bucareste podem ser rejeitadas e o problema fica bastante simplificado quando estabelecemos o objetivo.
2. Conceitos
Formulação de objetivos
Os objetivos ajudam a organizar o comportamento do agente
A formulação de objetivos é o primeiro passo para a resolução de problemas e está baseada na situação atual e na medida de desempenho.
Objetivo: Conjunto de estados do mundo (estados em que o objetivo é satisfeito). Tarefa do agente: descobrir que sequência de ações o levará a um estado objetivo.
Formulação de problemas: processo de decidir que ações e estados devem ser considerados, dado um objetivo.
3. Busca
Um agente com várias opções imediatas de valor desconhecido pode decidir o que fazer examinando primeiro diferentes sequências de ações possíveis que levam a estados de valor conhecido, e depois escolhendo a melhor sequência. A procura dessa sequencia é uma BUSCA. Um algoritmo de busca:
• recebe um problema como entrada e
• retorna um solução sob a forma de uma sequencia de ações. 4. Fases para resolver um problema
• Formulação : processo de decidir que ações e estados devem ser considerados, dado um objetivo (o veremos mais a detalhe na seção a seguir).
• Busca : Podemos usar uma algoritmo de busca com as ações e estados definidos na formulação do problema e obteremos uma sequencia de ações recomendadas.
• Execução : Processo de fazer as ações devolvidas pelo algoritmo de busca. Estas fases são ilustradas na Figura a seguir.
5. Formulação de problemas
Um problema é definido por quatro itens descritos a seguir.
Os exemplos estão baseados no problema do agente da Romênia que quer ir a Bucareste. • Estado inicial . Estado em que o agente começa.
Ex: Em(Arad), pois o agente encontra-se inicialmente em Arad.
• Função sucessor : A função sucessor é a formulação mais comum para descrever as ações possíveis que estão disponíveis para o agente.
Dado um estado particular x, Sucessor(x) retorna um conjunto de pares ordenados
<ação,sucessor> em que cada ação é uma das ações válidas no estado x e cada sucessor é um
estado que pode ser alcançado a partir do estado x aplicando-se a ação. Exemplo: Sucessor(Arad)->{<Ir(Sibiu), Em(Sibiu)>,}
• Teste de objetivo : Determina se um dado estado é um estado objetivo Exemplo: {Em(Bucareste)}
• Custo de caminho ou Função de custo : Reflete medida de desempenho. Custo numérico de cada caminho. Ex: cumprimento do caminho em km.
6. Espaço de estados
Conjunto de todos os estados acessíveis a partir do estado inicial. Definido implicitamente pelo estado inicial e a função sucessor. Grafo (representação de estados)
O espaço de estados pode ser representado em forma de grafo onde: • Nós : estados
• Arcos : ações
Exemplo: O mapa da Romênia mostrado na Figura a seguir pode ser interpretado como um grafo do espaço de estados. Os estados (nós do grafo) representam o fato de estar em uma cidade e as ações (arcos) representam duas ações (cada arco é bidirecional) pois existe a possibilidade de dirigir para cada sentido.
Um caminho no espaço de estados é uma sequência de estados conectados por uma sequência de ações. Exemplo: Um caminho desde Neamt até Iasi tem uma sequencia de ações: Ir(Iasi), Ir(Vaslui).
7. Árvore de busca
Além de formular os problemas, precisamos resolve-los. Isso é feito por meio de uma busca em todo o espaço de estados.
Para isso podemos utilizar uma árvore de busca explícita, gerada pelo estado inicial e pela função sucessor que também servem para definir o espaço de estados (por isso também pode-se gerar a árvore de busca analisando o grafo do espaço de estados).
As 3 Figuras a seguir mostram algumas das expansões da árvore de busca para encontrar uma rota de Arad até Bucareste. A raiz da árvore de busca é um nó de busca correspondente ao estado inicial, Em(Arad). Depois após verificar queesse não é um estado objetivo, podemos
expandir o estado atual. Para realizar a expansão devemos aplicar a função sucessor ao estado atual, gerando assim um novo conjunto de estados. Neste caso, ao expandirmos Em (Arad), alcançamos um novo conjunto de estados: Em(Sibiu), Em(Timisoara), Em(Zerind). Após isso seguimos expandindo cada um dos novos estados alcançados seguindo uma opção e deixando as outras reservadas, no caso que a primeira escolha não leve a uma solução. A escolha de qual
estado expandir é determinada pela estratégia de busca.
(a) O estado inicial Arad
(b) Depois de expandir Arad
IV. Busca em Largura
1. Conceito
O nó raiz é expandido, em seguida todos os nós sucessores são expandidos, então todos próximos nós sucessores são expandidos, e assim em diante.
2. Algoritmo
3. Exemplo