Você está na página 1de 17

UNIVERSIDADE FEDERAL DE GOIS UNIDADE DE CATALO DEPARTAMENTO DE CINCIA DA COMPUTAO

Inteligncia Artificial

CATALO - GOIS Agosto 2010

UNIVERSIDADE FEDERAL DE GOIS UNIDADE DE CATALO DEPARTAMENTO DE CINCIA DA COMPUTAO

Resumo Crtico Capitulo 2 e 3

Disciplina: Inteligncia Artificial Docente: Prof. Msc. Mrcio Souza Dias Graduanda: Lorena Teixeira de Carvalho Matricula: 080209

CATALO - GOIS Agosto 2010

Capitulo 2 Agentes Inteligentes


Agentes Inteligentes Agente tudo o que pode ser considerado capaz de perceber seu ambiente atravs de sensores agindo sobre o ambiente por meio de atuadores. Um agente robtico utiliza cmeras, detectores de infravermelho como sensores e, motores como atuadores. Um agente de software utiliza sequencia de teclas digitadas, contedo de arquivos e pacotes de rede como entradas sensoriais e como atuador exibe resultados na tela. Percepo est relacionada s entradas perceptivas do agente. A sequencia de percepo um histrico de tudo que o agente j percebeu. A escolha de ao de um agente pode depender da sequencia de percepo. Programa de agente a implementao concreta de uma funo do agente e, esta relacionada arquitetura do agente. A funo de agente uma descrio matemtica abstrata. A noo de um agente deve ser vista como uma ferramenta para analisar sistemas, no como uma caracterizao absoluta que divide o mundo em agentes e no-agentes. Bom comportamento: o conceito de racionalidade Um agente racional um agente que faz tudo certo, ou seja, aquele que realiza todas as aes programadas e possui um resultado correto. A ao certe aquela que leva o agente a obter o maior sucesso. Medida de desempenho est relacionada com o critrio para se medir o sucesso do comportamento do agente. No existe uma medida fixa apropriada para todos os agentes. melhor projetar medidas de desempenho de acordo com o resultado realmente desejado no ambiente, em vez de cria-las de acordo com o comportamento esperado do agente. A seleo de medida de desempenho nem sempre fcil. A estratgia preferida pode parecer um detalhe secundrio da cincia zeladora. Racionalidade depende da medida de desempenho que define o critrio de sucesso, o conhecimento anterior que o agente tem do ambiente, as aes que o agente pode executar e, a sequencia de percepes do agente at o momento. A racionalidade maximiza o desempenho esperado. Para cada sequencia de percepes possvel, um agente racional deve selecionar uma ao que se espera venha a maximiza sua medida de desempenho, dada a evidncia fornecida pela sequencia de percepes e por qualquer conhecimento interno do agente.

Oniscincia um agente onisciente sabe o resultado real de suas aes e pode agir de acordo com ele; porem a oniscincia impossvel na realidade. A perfeio maximiza o desempenho real. A coleta de informaes est relacionada com a realizao de aes com a finalidade de modificar percepes futuras. A explorao tem de ser empreendida por um agente em um ambiente inicialmente desconhecido. Aprendizagem a fase em que o agente busca conhecimento sobre o ambiente, os agentes bem sucedidos dividem a tarefa de calcular a funo do agente em trs perodos distintos: quando o agente est sendo projetado, uma parte do calculo feita por seus projetistas; quando est deliberando sobre sua prxima ao, o agente realiza mais clculos e, medida que aprende a partir da experincia, ele efetua ainda mais clculos para decidir como modificar seu comportamento. Autonomia quando um agente se baseia nas suas prprias percepes ao invs de buscar pelo conhecimento passado pelo seu projetista. Um agente racional deve ser autnomo, ele deve aprender o que puder para compensar um conhecimento prvio parcial ou incorreto. Ambientes de tarefa so essencialmente os problemas para os quais os agentes racionais so as solues. Especificando o ambiente de tarefa D-se com a descrio PEAS (desempenho, ambiente, atuadores, sensores). A primeira etapa deve-se sempre especificar qual a medida de desempenho gostaramos que o nosso agente tivesse, a segunda etapa esta relacionada com a escolha do ambiente de tarefa de forma to completa quanto possvel, a terceira etapa busca os atuadores disponveis e, por fim a descrio dos sensores necessrios. Agentes de software so agentes robs de software ou softbots. So agentes projetados para simular processos de agentes. Propriedades de ambientes de tarefas So de diversos tipos como: Completamente observvel versus parcialmente observvel Esttico versus dinmico Determinstico versus no determinstico (ou determinstico versus estocstico) Acessvel versus no acessvel (ou completamente observvel versus parcialmente observvel)

Episdico versus sequencial Discreto versus contnuo Simples agente versus multiagente Competitivo versus cooperativo O caso mais difcil parcialmente observvel, estocstico, sequencial, dinmico, contnuo e multiagente. Classes de ambientes so diversos ambientes agrupados em uma classe onde compartilham algo em comum. Gerador de ambientes gera um ambiente para cada classe de ambientes que seleciona ambientes especficos nos quais seria possvel executar o agente. Um agente racional para dada classe de ambientes maximiza seu desempenho mdio. A estrutura de agentes examina o funcionamento interno desses agentes. A arquitetura o conjunto em que o programa ser executado em algum tipo de dispositivo de computao com sensores e atuadores fsicos. O programa de agente implementa a funo de agente que mapeia percepes em aes. Agente = arquitetura + programa A arquitetura torna as percepes dos sensores disponveis para o programa, executa o programa e alimenta as opes de ao do programa de agentes. Programas de Agentes possuem uma estrutura bsica: eles recebem a percepo atual como entrada dos sensores e retornam uma ao para os atuadores. O agente dirigido por tabela implementa a funo do agente desejado. funo AGENTE-DIRIGIDO-POR-TABELA retorna uma ao variveis estticas: percepes, uma sequencia, inicialmente vazia tabela, uma tabela de aes, indexada por sequncias de percepes, de inicio completamente especificada anexar percepo ao fim de percepes aes = ACESSAR(percepes, tabela) retorna ao Quatro tipos bsicos de programas de agentes que incorporam os princpios subjacentes a quase todos os sistemas inteligentes:

Agentes reativos simples Agentes reativos baseado em modelo Agentes baseados em objetivos Agentes baseados na utilidade

Agentes reativos simples selecionam aes com base na percepo atual, ignorando o restante do histrico de percepo.

Um agente reativo simples age de acordo com uma regra cuja condio corresponde ao estado atual definido pela percepo. possvel escapar laos de repetio infinitos se o agente puder tornar suas aes aleatrias. Um agente reativo simples aleatrio poderia superar um agente reativo simples determinstico. Em ambientes de um nico agente, a aleatoriedade no racional, um artificio til que ajuda um agente reativo simples em algumas situaes. Agentes reativos baseados em modelos mantem um estado interno que depende do histrico de percepes e assim reflete pelo menos alguns dos aspectos no observados do estado atual. Um Agente reativo baseado em modelos controla o estado atual do mundo usando um modelo interno e escolhe uma ao da mesma maneira que o agente reativo simples. Ele se baseia em modelos j propostos para agir sobre o ambiente. Agentes baseados em objetivos so agentes que preciso de uma descrio do estado atual e, que tambm precisa de alguma espcie de informao sobre objetivos que descrevam situaes desejveis. O programa de agente pode combinar isso com informaes sobre os resultados de aes possveis, a fim de escolher aes que alcancem o objetivo. A seleo da ao baseada em objetivos direta, quando a satisfao do objetivo resulta de imediato de uma nica ao. Outras vezes ela ser mais complicada, quando o agente tiver de considerar longas sequencias de aes at encontrar um meio de atingir o

objetivo. Busca e planejamento so dedicados a encontrar sequencias de aes que alcanam os objetivos do agente. o agente mais flexvel, porque o conhecimento que apoia suas decises representado de maneira explicita e pode ser modificado. Agentes baseados na utilidade utiliza uma medida de desempenho mais geral onde possvel permitir uma comparao entre diferentes estados do mundo, de acordo com o grau exato de felicidade que proporcionariam ao agente alcanar seus objetivos. Se um estado do mundo for preferido em detrimento de outro, ele ter mais utilidade para o agente. A funo de utilidade mapeia um estado em um nmero real, que descreve o grau de felicidade associado. Uma especificao completa da funo de utilidades permite decises racionais em dois tipos de casos nos quais os objetivos so inadequados. Se existem objetivos contraditrios, dos quais apenas alguns podem ser atingidos, a funo de utilidade especifica o compromisso apropriado. Se existir vrios objetivos que o agente deseja alcanar e nenhum deles pode ser atingido com certeza, a utilidade fornece um meio pelo qual a probabilidade de sucesso pode ser ponderada em relao importncia dos objetivos. Agentes com aprendizagem podem ser divididos em quatro componentes conceituais: elemento de aprendizado elemento de desempenho elemento crtico gerador de problema.

O elemento de aprendizado responsvel pela execuo de aperfeioamento, e o elemento de desempenho, responsvel pela seleo de aes. O elemento de aprendizado utiliza realimentao do crtico sobre como o agente est funcionando e determina de que maneira o elemento de desempenho deve ser modificado para funcionar melhor no futuro. O gerador de problemas responsvel por sugerir aes que levaro a experincias novas e informativas. Ele pode identificar certas reas de comportamento que necessitam de melhorias e sugerir experimentos.

Os agentes tm, uma variedade de componentes e, esses componentes podem ser representados de muitas formas dentro do programa do agente. O aprendizado em agentes inteligentes pode ser resumido como um processo de modificao de cada componente do agente, a fim de levar os componentes a um acordo mais intimo com as informaes de realimentao disponveis, melhorando assim o desempenho global.

Capitulo 3 Resoluo de problemas por meio de busca


Agentes de resoluo de problemas decidem o que fazer encontrando sequencia de aes que levam a estados desejveis. Os agentes inteligentes devem maximizar sua medida de desempenho. A formulao de objetivos baseada na situao atual e na medida de desempenho do agente, sendo assim, o primeiro passo para a resoluo de problemas. A formulao de problemas o processo de decidir que aes e estados devem ser considerados, dado um objetivo. A tarefa do agente descobrir que sequncia de aes o levar a um estado objetivo. A formulao do processo o processo de decidir que que aes e estados devem ser considerados, dado um objetivo Um agente com vrias opes imediatas de valor desconhecido pode decidir o que fazer examinando primeiro diferentes sequncias de aes possveis que levam a estados de valor conhecido, e depois escolhendo a melhor sequncia. A busca o processo de procurar por tal sequncia. Um algoritmo de busca recebe um problema como entrada e retorna uma soluo sob a forma de uma sequencia de aes. Encontrando uma soluo (sequncia de aes), as aes que ela recomenda podem ser executadas o que chamamos de fase de execuo. Problemas e solues bem definidos Um problema pode ser definido formalmente por quatro componentes: O estado inicial em que o agente comea Uma descrio das aes possveis que esto disponveis para o agente onde se utiliza uma funo sucessor.

o Juntos definem implicitamente o espao de estados do problema o conjunto de todos os estados acessveis a partir do estado inicial. o Um caminho no espao de estados uma sequncia de aes. O teste do objetivo, que determina se um dado estado o estado objetivo. Uma funo de custo de caminho que atribui um custo numrico a cada caminho. Uma soluo para o problema um caminho desde o estado inicial at um estado objetivo. A qualidade da soluo medida pela funo de custo de caminho e, uma soluo tima tem o menor custo de caminho entre todas as solues. Formulao de problemas A abstrao trata-se do processo de remover detalhes de uma representao Alm de abstrair a descrio do estado, devemos abstrair as prprias aes. Esta ser vlida se pudermos expandir qualquer soluo abstrata em uma soluo no mundo mais detalhada. A abstrao til se a execuo de cada uma das aes na soluo mais fcil que o problema original. A escolha de uma boa abstrao envolve a remoo da maior quantidade possvel de detalhes, enquanto se preserva a validade e se assegura que as aes abstratas so fceis de executar. Se no fosse a habilidade de elaborar abstraes uteis, os agentes inteligentes seriam completamente sufocados pelo mundo real. Exemplos de problemas Um mini problema se destina a ilustrar ou executar diversos mtodos de resoluo de problemas. Ele pode ter uma descrio concisa e exata. Um problema do mundo real aquele cujas solues de fato preocupam as pessoas. Eles tendem a no apresentar uma nica descrio consensual. Apos formular o problema necessrio encontrar a sua soluo. A raiz da rvore de busca um n de busca correspondente ao estado inicial. Inicialmente necessrio testar se esse um estado objetivo. Se o estado no for o objetivo, precisa considerar alguns outros estados. Isso feito por expanso do estado atual.

Essa a essncia da busca seguir uma opo agora e deixar as outras reservadas para mais tarde, no caso de a primeira escolha no levar a uma soluo. A escolha de qual estado expandir determinada pela estratgia de busca. Os ns de busca so encontrados na raiz da arvore de busca. A escolha de qual estado expandir determinada pela estratgia de busca. Existem muitas maneiras de representar ns, mas partiremos do principio de que um n uma estrutura de dados com cinco componentes: ESTADO: O estado no espao de estados a que o n corresponde N-PAI: O n na rvore de busca que gerou esse n. AO: A ao que foi aplicada ao pai para gerar o n. CUSTO-DO-CAMINHO: O custo, tradicionalmente denotado por g(n), do caminho desde o estado inicial at o n, indicado pelos ponteiros do pai. PROFUNDIDADE: O nmero de passos ao longo do caminho, desde o estado inicial. Ns e estados so distintos. Um n uma estrutura de dados de anotao usada para representar a rvore de busca. Um estado corresponde a uma configurao do mundo. preciso representar a coleo de ns que foram gerados, mais ainda no expandidos essa coleo chamada de borda. Cada elemento da borda um n folha. A representao mais simples da borda seria um conjunto de ns. A estratgia de busca seria uma funo que selecionasse o prximo n a ser expandido desse conjunto supondo que a coleo de ns implementada como uma fila. As operaes sobre uma fila so: CRIA-FILA (elemento,...) cria uma fila com o(s) elemento(s) dado(s) VAZIA (fila) retorna verdadeiro somente se no existir mais nenhum elemento na fila. PRIMEIRO (fila) retorna o primeiro elemento da fila. REMOVER-PRIMEIRO (fila) retorna PRIMEIRO (fila) e o remove da fila INSERIR (elemento, fila) insere um elemento na fila e retorna a fila resultante INSERIR-TODOS (elemento, fila) insere um conjunto de elementos na fila e retorna a fila resultante.

Desta forma possvel escrever a verso mais formal do algoritmo geral de busca em rvore. Medio do desempenho de resoluo de problemas A sada de um algoritmo de resoluo de problemas consiste em folha ou em uma soluo. Desta forma feita uma avaliao do desempenho do algoritmo em quatro aspectos: Complexa: O algoritmo oferece a garantia de encontrar uma soluo quando ela existir? Otimizao: A estratgia encontra a soluo tima? Complexidade de tempo: Quanto tempo leva para encontrar uma soluo? Complexidade de espao: Quanta memria necessria para executar a busca?

A complexidade de tempo e a complexidade de espao so sempre consideradas em relao a alguma medida da dificuldade do problema. O grafo representado implicitamente pelo estado inicial e pela funo sucessor e com a frequncia infinita, a complexidade expressa em termos de trs quantidades: fator ramificao, a profundidade do n objetivo menos profundo e o comprimento mximo de qualquer caminho no espao de estados. Para avaliar a efetividade de um algoritmo de busca, podemos considerar apenas o custo de busca, que em geral depende da complexidade de tempo, mas tambm pode incluir um termo para uso da memria, ou usar o custo total, que combina o custo de busca e o custo de caminhos da soluo encontrada. Estratgias de busca sem informao Busca sem informao ou busca cega significa que elas no tm informao adicional sobre estados, alm daquelas fornecidas na definio do problema. Tudo o que elas podem fazer gerar sucessores e distinguir um estado objetivo de um estado no objetivo. As estratgias que sabem se um estado no objetivo mais promissor que outro so chamadas estratgias de busca com informaes ou busca heurstica. Todas as estratgias de busca se distinguem pela ordem em que os ns so expandidos. Busca em extenso

A busca em extenso uma estratgia simples em que o n raiz expandido primeiro, em seguida todos os sucessores do n raiz so expandidos, depois os sucessores desses ns e assim por diante. Todos os ns em uma dada profundidade na rvore de busca so expandidos, antes que todos os ns no nvel seguinte sejam expandidos. Todo n gerado e, deve permanecer na memria, porque faz parte da borda ou um ancestral de um n de borda. A complexidade de espao igual complexidade de tempo. Os requisitos de memria so um problema maior para a busca em extenso do que o tempo de execuo Os requisitos de tempo constitui um fator importante. Os problemas de busca de complexidade exponencial no podem ser resolvidos por mtodos sem informao, para qualquer instncia, exceto os menores. Busca de custo uniforme A busca em extenso tima quando os custos de todos os passos so iguais, porque sempre expande o n mais raso no expandido. Em vez de expandir o n mais raso, a busca de custo uniforme expande o n N com o caminho de custo mais baixo. A busca de custo uniforme no se importa com o nmero de passos que o caminho tem, mas apenas com o seu custo total. Essa busca orientada por custos de caminhos em vez de profundidade. Busca em profundidade A busca em profundidade sempre expande o n mais profundo na borda atual da rvore de busca. A busca prossegue imediatamente at o nvel mais profundo da rvore de busca, onde os ns no tm sucessores. medida que esses ns so expandidos, eles so retirados da borda, e ento a busca retorna ao n seguinte mais raso que ainda tem sucessores inexplorados. A busca em profundidade tem requisitos de memria muito modestos. Ela s precisa armazenar um nico caminho da raiz at um n de folha, juntamente com os ns irmoexpandidos restantes de cada n no caminho. Uma vez que o n expandido, ele pode

ser removido da memria, to logo todos os seus descendentes tenham sido completamente explorados. Uma variante de busca em profundidade chamada busca com retrocesso utiliza ainda menos memria. A desvantagem da busca em profundidade que ela pode fazer uma escolha errada e fica paralisada ao descer um caminho muito longo, quando uma opo diferente levaria a uma soluo prxima raiz da rvore de busca. Busca em profundidade limitada O problema de rvores ilimitadas pode ser atenuado pela busca em profundidade com um limite de profundidade predeterminadas L. Isto , ns na profundidade L so tratados como se no tivessem sucessores. Essa abordagem chamada busca em profundidade limitada. O limite de profundidade resolve o problema de caminhos finitos. A busca em profundidade limitada pode ser implementada como uma modificao simples do algoritmo geral de busca em rvore ou do algoritmo de busca recursiva em profundidade. Busca de aprofundamento iterativo em profundidade A busca por aprofundamento iterativo uma estratgia geral, usada com frequncia em combinao com a busca em profundidade, que encontra o melhor limite de profundidade. Ela faz isso aumentando gradualmente o limite. O aprofundamento iterativo combina os benefcios de busca em profundidade e da busca em extenso. Seus requisitos de memria so muito modestos. A busca por aprofundamento iterativo pode parecer um desperdcio, porque os estados so gerados vrias vezes. Na verdade, esse custo no muito alto porque, em uma rvore de busca com o mesmo fator de ramificao em cada nvel, a maior parte dos ns estar no nvel inferior, e assim no importa muito se os nveis superiores so gerados varias vezes.

Busca bidirecional A ideia que rege a busca bidirecional executar duas buscas simultneas uma direta a partir do estado inicial, e a outra inversa a parte do objetivo, parando quando as duas buscas se encontram em um ponto intermedirio. A busca bidirecional implementada fazendo-se uma ou ambas as buscas verificarem cada n antes de ele ser expandido, para ver se o n est na borda da outra rvore de busca; nesse caso encontrada a soluo. O caso mais difcil da busca bidimensional ocorre quando o teste de objetivo s fornece uma descrio implcita de algum conjunto possivelmente extenso de estados objetivos. Como evitar estados repetidos possvel desperdiar tempo expandindo estados que j foram encontrados e expandidos antes. Os estados repetidos podem fazer um problema solvel se tornar insolvel, se o algoritmo no o detectar. Em geral, a deteco significa comparar o n prestes a ser expandido aos ns que j foram expandidos; se for encontrada uma correspondncia, isso significa que o algoritmo descobriu dois caminhos para o mesmo estado e pode descartar um deles. Para a busca em profundidade, os nicos ns na memria so aqueles no caminho a partir da raiz at o n atual. A comparao desses ns ao n atual permite que o algoritmo detecte caminhos em ciclos que pode ser descartados de imediato. O carter timo da busca em grafos uma questo complicada. J foi dito que, quando um estado repetido detectado, isso significa que o algoritmo encontrou dois caminhos para o mesmo estado. O algoritmo BUSCA-EM-GRAFO sempre descarta o caminho recm-descoberto; bvio que, se o caminho recm-descoberto fosse mais curto que o caminho original, o algoritmo poderia perder uma soluo tima. Felizmente, podemos

mostrar que isso no pode acontecer quando se utiliza a busca de custo uniforme ou a busca em extenso com passos de custo constantes. Por outro lado, a busca por aprofundamento iterativo utiliza a expanso em profundidade e pode facilmente seguir um caminho no-timo apara um n antes de encontrar o caminho timo.

Esse algoritmo supe que o primeiro caminho ate um estado s o mais econmico. O algoritmo mantem cada n na memria, de forma que algumas buscas so inviveis, devido limitao de memria. Busca com informaes parciais. Possui trs tipos distintos de problemas: Problemas sem sensores (problemas de conformidade): Se o agente no tem nenhum sensor, ento, ele poderia estrar em um dentre vrios estados iniciais possveis, a cada ao poderia, portanto levar a um dentre vrios estados sucessores possveis. Problemas de contingncia: Se o ambiente for parcialmente observvel ou se as aes forem incertas, as percepes do agente fornecero novas informaes depois de cada ao. Cada percepo possvel define uma contingencia que deve ser planejada. Um problema chamado adverso se a incerteza causada pelas aes de outro agente. Problemas de explorao: Quando os estados e as aes do ambiente so desconhecidos, o agente deve atuar para descobri-los. Os problemas de explorao podem ser visualizados como um caso extremo de problema de contingncia.

Problemas sem sensores Quando o mundo no completamente observvel, o agente deve racionalizar sobre conjuntos de estados que poderia alcanar, em vez de estados isolados. Chamamos cada conjunto de estados de estados de crena, representando a crena atua do agente sobre os estados fsicos possveis em que ele poderia se encontrar. Para resolvermos problemas sem sensores, realizamos a busca no espao de estados de crena, e no nos estados fsico. O estado inicial da crena, e cada ao faz o mapeamento de um estado de crena para outro estado de crena. Uma ao aplicada a um estado de crena efetuando-se a unio dos resultados da aplicao da ao a cada estado fsico no estado de crena. Um caminho conecta diversos estados de crena e uma soluo um caminho que leva a um estado de crena, cujos membros so todos estados objetivos. As aes so determinsticas, mas a analise fica essencialmente inalterada se o ambiente for no determinstico. Problemas de contingncia Quando o ambiente tal que o agente pode obter novas informaes de seus sensores depois de agir, o agente enfrenta um problema de contingncia. A soluo para um problema de contingncia frequentemente toma a forma de uma rvore, onde cada ramo pode ser selecionado, dependendo das percepes recebidas at esse ponto da rvore. Muitos problemas do mundo fsico real so problemas contingenciais porque impossvel um prognostico exato. Por essa razo, muitas pessoas mantm os olhos abertos enquanto esto caminhando ou dirigindo. s vezes, os problemas de contingncia permitem solues puramente sequenciais. Os algoritmos para problemas de contingncias so mais complexo que os algoritmos vistos. Os problemas de contingncia tambm se prestam a um projeto de agente um pouco diferente, no qual o agente e pode atuar antes de encontrar um plano garantido. Quando o ambiente parcialmente observvel, o agente pode aplicar algoritmos de busca no espao de estados de crena ou conjuntos de estados possveis em que o agente poderia estar. A nica sequncia de soluo pode ser construda. O agente

precisa de um plano de contingncia para lidar com circunstancias desconhecidas que podem surgir. Os algoritmos para problemas de contingncia so mais complexos que os algoritmos de busca padro. Os problemas de contingncia tambm se prestam a um projeto de agente um pouco diferente, no qual o agente pode atuar antes de encontrar um plano garantido. Esse tipo de intercalao e execuo tambm til em problemas de explorao.