Raciocínio Prático Luiz A M Palazzo Abril de 2010 Agentes Inteligentes Sensores Atuadores Raciocínio Prático • É o raciocínio orientado à ação (o processo de descobrir o que fazer) em contraponto ao raciocínio teórico, que é orientado às crenças do agente. • O raciocínio prático humano consiste em duas atividades: • Deliberação: decidir onde se quer chegar, e • Raciocínio Meios-Fim: decidir como chegar lá • O resultado da deliberação é a intenção • A intenção é muito mais forte do que meros desejos Planejamento • Agentes Planejadores • Planejamento é essencialmente programação automática • Raciocínio Meios-Fim: Dar ao agente: • Representação da meta/intenção a atingir, • Representação das ações que podem ser executadas, • Representação do ambiente... • ... e receber um plano para atingir a meta Exemplo: Mundo dos Blocos • Contém (a) um braço robô, (b) três blocos A, B e C e (c) um topo de mesa • Ontologia on(x,y), ontable(x), clear(x), holding(x) • Ex: clear(A). on(A,B). ontable(B). ontable(C). • Emprega-se a Hipótese do Mundo Fechado. • Um objetivo é representado por um conjunto de fórmulas: ontable(A) ^ ontable(B) ^ ontable(C) • As ações são representadas como no sistema STRIPS. • Cada ação possui: (a) um nome, (b) uma pré-condição, (c) uma del-list e (d) uma add-list. Cada um destes elementos pode possuir variáveis. Exemplo: stack(x,y) • A ação stack(x,y) pode ser assim definida: • • • • Nome: Pré: Del: Add: stack(x,y) clear(y) ^ holding(x) clear(y) ^ holding(x) armempty ^ on(x,y) • Exemplos: definir unstack(x,y), pickup(x), putdown(x) Loop de Controle do Agente • O que é um plano? Uma seqüência de ações com variáveis sendo substituídas por constantes. • Agent Control Loop 1. while true 2. 3. 4. 5. 6. 7. end while observe the world; update internal world model; deliberate about what intention to achieve next; use means-ends reasoning to get a plan for the intention; execute the plan Deliberação • Como um agente delibera? • Começa por tentar entender que opções tem disponíveis • Escolhe entre elas e se compromete com uma delas • As opções escolhidas são então intenções • A função de deliberação pode ser decomposta em dois componentes funcionais: • Geração de opções • Filtragem Raciocínio Meios - Fim • Simulação (1) A (8) B (5) C (3) 8 Estado Inicial Passo 1 Passo 2 Passo 3 Passo 4 Passo 5 Passo 6 Passo 7 A (8) B (5) 4 4 C (3) Estado Objetivo Conferindo... • Teseu e o Minotauro: • http://www.logicmazes.com/theseus.html • Vários Desafios • http://www.logicmazes.com As Torres de Hanói ESTADO INICIAL ESTADO OBJETIVO ? Clique aqui para jogar: http://www.mazeworks.com/hanoi/ Busca em Espaços de Estados Estado Inicial Solução Estado Final A solução é um caminho no ESPAÇO DE ESTADOS Espaço de Estados Estratégias de Busca • Tentativa e Erro • Hill Climbing • Análise Meios-Fins Tentativa e Erro Pode ser organizada: pesquisa em amplitude, ou em profundidade. Chega ao objetivo após um grande número de passos aleatórios Muitos movimentos são desperdiçados Mas pode ser a saída quando não se tem outra alternativa Hill Climbing Estado Inicial 4 3 2 4 3 3 2 2 1 1 Estado Objetivo A cada estado possível um valor é atribuído. Aqui quanto mais baixo melhor. A cada passo um novo estado é escolhido com um valor melhor. Pode “empacar”. (Onde?) Nesse caso usar T&E; Hill Climbing • Dependendo do estado inicial o trajeto pode ficar empacado em um máximo local Análise Meios-Fim • Não há planejamento envolvido nas estratégias “Tentativa e Erro” e “Hill Climbing” • A Análise Meios-Fim distingue entre planejar um movimento e executar um movimento • Foi proposta como parte do General Problem Solver (GPS) por Newell e Simon em 1972. Análise Meios-Fim A busca é guiada pela detecção das diferenças entre o estado corrente e o estado objetivo. 1) Comparar o estado corrente com o estado objetivo e identificar as diferenças. 2) Selecionar um operador para reduzir a diferença. 3) Se o operador pode ser aplicado, fazer isto; 4) Se não, estabelecer um novo sub-objetivo, de atingir um estado no qual o operador possa ser aplicado. 5) A análise meios-fim é então recursivamente aplicada a este novo sub-objetivo. 6) Voltar a 1 Um Exemplo Simples • • • • • Pintar sua casa Aplicar pintura Precisa de tinta e pincel Ir até a ferragem Achar as chaves do carro … A Pilha de Objetivos • • • • Pintar a casa Aplicar a pintura Precisa de tinta e pincel Vai até a ferragem (Objetivo 1) (Sub-objetivo 2) (Sub-objetivo 3) (Sub-objetivo 4) • • • • Chega na ferragem Adquire tinta e pincel Aplica a pintura Pinta a casa (Sub-objetivo 4) (Sub-objetivo 3) (Sub-objetivo 2) (Objetivo 1) Funcionamento da Pilha de Objetivos Push Goal 1 on Stack G1 Push Goal 2 on Stack Push Goal 3 on Stack G2 G1 G3 G2 G1 Push Goal 4 on Stack G4 G3 G2 G1 Solved Goal 4: Pop-off Stack G3 G2 G1 Sistemas de Produções Um conjunto de regras de produção (regras se-então) SE você tem um pincel de rolo, E você tem tinta E você tem uma superfície pronta para ser pintada E a superfície é grande E o seu objetivo é pintar a superfície ENTÃO use o rolo embebido em tinta para pintar a superfície E espere que a superfície resulte pintada. Aplicando Sistemas de Produções 1) As condições das regras são comparadas com o conteúdo correntemente ativo na memória de trabalho. 2) Se mais do que uma regra pode ser aplicada, aplicar procedimentos de solução de conflito. 3) A regra selecionada é disparada. 4) Retorna a 1 (O Modelo ACT de Anderson: “a cognição humana baseia-se em sistemas de produções”).