Inteligência Artificial Aula 03 – Espaço de Estados Grace Borges Atividade 1 – Aplicações IA Pesquise na internet ou em jornais e revistas especializadas um exemplo de aplicação de IA. Envie para: [email protected] Assunto/ Subject: Atividade 1 – Aplicações de IA Identifique-se: Nome: Fulano de Tal Matrícula: xxxxx-x 2 Inteligência Artificial É a área da Computação que estuda como simular comportamento ou pensamento inteligente usando métodos computacionais. É uma ampla área de pesquisa que subdivide-se em diversas sub-áreas e está associada a várias aplicações práticas: Resolução de problemas, tomada de decisões; Jogos; Demonstração de teoremas; Compreensão visual, linguagem natural; 3 Abordagens da Inteligência Artificial Abordagem centrada nos seres humanos Abordagem racionalista Deve ser uma ciência empírica, envolvendo hipóteses e confirmação experimental. Envolve uma combinação de matemática e engenharia. 4 (Russell e Norvig, 2003) Abordagens de IA Cada área da IA adota diferentes abordagens e trata diferentes problemas que, em geral, são de alta complexidade (para os quais ainda não temos soluções satisfatórias); Porém, é possível utilizarmos abordagens híbridas, ou seja, combinar ferramentas de diferentes abordagens para se obter uma solução para um determinado problema; 5 Agentes Racionais • Agente = Percepção + Ação Agente sensores Que ação tomar Ambiente Crença Condiçõesregras As verdades para esse agente Sua base de conhecimentos atuadores 6 O poder do conhecimento Como adquirir/ gerar conhecimento? Como armazenar? Especialistas Reconhecimento de Padrões Redes Neurais Seleção natural (algoritmos genéticos) Bases de conhecimento (diversas estruturas) Como usar/recuperar esses conhecimentos? Algoritmos de Busca Máquina de inferências 7 Em busca de soluções Um agente pode ter uma enorme quantidade de conhecimento armazenado; Assim como nós, ele precisa usar apenas parte de seu conhecimento para resolver um problema; Estratégia de busca serve para decidir que parte do conhecimento armazenado deve ser explorada em busca da solução; 8 Em busca de soluções Busca: técnica de procura de soluções para um determinado problema; Problema real problema de busca: Situação inicial (Estado inicial) Ações possíveis (Transições entre estados possíveis do problma) Estado meta (solução) Exemplo: uma caneta que funcione 9 Em busca de soluções Problema: tenho 4 canetas na minha escrivaninha e preciso de 1 que funcione Estado inicial: 4 canetas (não sei se funcionam) Ações: experimentar cada caneta, descarta se não funciona (se funcionar, atingiu a meta) Meta: achar 1 caneta que funcione Estratégia: busca exaustiva E se fossem 400 canetas? Espaço de busca muito grande Desperdício de esforço (processamento) 10 Busca exaustiva ou Força bruta Exige velocidade de processamento; Nem sempre alcança a solução em tempo aceitável; Muitos problemas podem levar a uma explosão combinatória: número de possibilidades não aumenta de maneira linear, mas numa taxa muito mais rápida. Ex.: Fábula do tabuleiro de xadrez e os grãos de trigo (4 séculos de produção de trigo) Pode ser usado após redução do espaço de busca (heurística); Utiliza suposições ou pistas para solução de um problema – elementos do mundo real para ajudar nas buscas. 11 Busca de soluções Qualquer tentativa de resolução de um problema pressupõe que existe uma solução; Não faz sentido desenvolver sistema inteligente para procurar infinitamente uma solução que não existe; Saber que a solução existe num dado espaço de busca pode ser útil para o projeto de planejamento e estratégia de busca. Quanto maior o espaço de busca, maior a probabilidade de conter a solução, porém, menor a probabilidade de encontrá-la. 12 Como definir o espaço de Busca? Existem vários algoritmos de busca que serão estudadas ao longo da disciplina; Porém, todos eles fazem suas buscas pela solução dentro de conjunto de possibilidades possíveis para o seu problema. A representação de: Todos os possíveis estados de um problema e As ações possíveis que levam um estado a outro é chamado de Espaço de Estados. 13 O que é espaço de estados? Como representar esses estados? Podemos usar 2 representações para nosso problema: Formalmente, podemos definir: Representação formal; Grafos; um conjunto S de estados e; um conjunto A de ações que mapeiam um estado em outro. Exemplo: Mundo do aspirador [Russel] 14 Mundo do aspirador Nesse mundo, o agente é um aspirador cuja função é limpar as salas de um edifício; Suponhamos que o mundo desse agente seja composto de apenas duas salas, cada uma delas podendo estar limpa ou suja; O aspirador é capaz de executar apenas três ações: entrarSala1 entrarSala2 aspirar 15 Representação dos estados Como representar este problema? Indicar se o aspirador está na sala 1 ou na sala 2 Se a sala 1 está limpa ou suja Se a sala 2 está limpa ou suja Podemos usar uma estrutura da forma [X, Y, Z]: X indica a posição do aspirador: {1,2} Y indica se a primeira sala está suja: {0, 1} Z indica se a segunda sala está suja: {0, 1} Ex.: Aspirador na sala 2 e apena a 1 está limpa = [2; 0; 1] Pergunta: Quantos estados tem este problema? 16 Representação das ações As ações podem ser representadas por operadores: oper(α; s; s’) β Onde α é uma ação que transforma o estado s em s’ dado que a condição β esteja satisfeita. Por exemplo, a ação aspirar pode ser representada pelos seguintes operadores: oper(aspirar; [1; Y; Z]; [1; 0; Z]) Y = 1 oper(aspirar; [2; Y; Z]; [2; Y; 0]) Z = 1 17 Representação das ações Outra forma: oper(aspirar; [1; 1; Z]; [1; 0; Z]) oper(aspirar; [2; Y; 1]; [2; Y; 0]) Conjunto de ações do aspirador A={ oper(entrarSala1; [2; Y;Z]; [1; Y;Z]), oper(entrarSala2; [1; Y;Z]; [2; Y;Z]), oper(aspirar; [1; 1;Z]; [1; 0;Z]), oper(aspirar; [2; Y; 1]; [2; Y; 0]) } 18 Estados sucessores Dado um estado s pertencente ao conjunto S, seus estados sucessores são todos aqueles que podem ser atingidos, a partir de s, pela aplicação de um dos operadores do domínio. Por exemplo, expandindo o estado [2; 0; 1], obtemos como estados sucessores [1; 0; 1] e [2; 0; 0]. [2;0;1] entrarSala1 [1;0;1] aspirar [2;0;0] 19 Estados sucessores Esses estados são gerados pela aplicação dos operadores entrarSala1 e aspirar, respectivamente. Note, por exemplo, que o operador entrarSala2 não pode ser usado na expansão do estado [2; 0; 1]; já que, nesse estado, a condição implícita do operador (i.e. Y = 1) não está satisfeita. [2;0;1] entrarSala1 [1;0;1] aspirar [2;0;0] 20 Atividade 2: Espaço de estados FATEC – ADS IA – Prof. Grace - 24/02/2012 Nome: Fulano de Tal – Matrícula: xxxxx-x Atividade 2 – Espaço de estados Desenhe um grafo representando o espaço de estados para o Mundo do Aspirador. Nesse grafo, cada nó será um estado do mundo e cada arco (rotulado com uma ação) será uma transição entre dois estados. Os arcos devem ser direcionados do estado para seu 21 estado sucessor. Grafo do Espaço de Estados [1;1;1] entrarSala2 entrarSala1 [2;1;1] aspirar aspirar [1;0;1] entrarSala2 [2;0;1] entrarSala1 [2;0;1] entrarSala2 entrarSala1 [1;1;0] aspirar aspirar [2;0;0] entrarSala1 entrarSala2 [1;0;0] 22 Atividade 3: Aspirador com 2 pisos Considere uma versão do Mundo do Aspirador onde há um prédio com dois pisos; Cada piso possui duas salas (1 e 2) e um saguão (0). Não há passagem direta de uma sala para outra, de modo que o aspirador tem que estar no saguão para entrar numa sala ou para mudar de piso. 23 Atividade 3: Aspirador com 2 pisos Para representar os estados nessa versão do problema, podemos usar uma estrutura da forma [Pos; Piso1; Piso2], onde: Pos = [Piso; Sala], podendo Piso assumir {1, 2} e Sala {0, 1, 2}: indica a posição corrente do aspirador. Piso1 = [X; Y ], podendo X e Y assumir {0, 1}: indica se as salas 1 e 2 do piso 1 estão limpas ou sujas. Piso2 = [X; Y ], podendo X e Y assumir {0, 1}: indica se as salas 1 e 2 do piso 2 estão limpas ou sujas. 24 Atividade 3: Aspirador com 2 pisos Exemplo: [[1; 0]; [0; 0][1; 0]]. Pos = [1; 0]: aspirador está no 1º piso, no saguão Piso1 = [0; 0]: salas 1 e 2 estão limpas no 1º piso Piso2 = [1; 0]: sala 1 suja e sala 2 limpa no 2º piso Com base nessa representação, codifique os operadores para as ações subir, descer, entrarSala1, entrarSala2, aspirar e sair. Obs.: Não precisa desenhar o grafo. Pergunta: Quantos estados este problema possui? 25 Atividade 4 - Missionários Três missionários e três canibais vão atravessar de uma margem para a outra de um rio, usando um barco onde só cabem duas pessoas de cada vez. O número de canibais não pode exceder o número de missionários em nenhuma das margens do rio. Encontre uma forma de levar todos para a outra margem do rio, utilizando este barco. Formule o problema (represente estados e ações). Enviar atividade para: [email protected] 26 Seminários e Grupos 1. Planejamento 2. Visão Computacional 3. Aprendizagem e Redes Neurais 4. Data mining e Sistemas de recomendação 5. Proc. Ling. Natural e Text Mining 6. Chatter Bot 7. Jogo 1 – Sudoku 8. Jogo 2 – Jogo da onça 9. Jogo 3 – Pet Squares 27 Calendário de aulas (previsão) 24/Fev – Espaço de Estados 02/Mar – Algoritmos de Busca 09/Mar – Algoritmos de Busca 16/Mar – Não haverá aula (evento externo) 23/Mar – Sem. 1 – Planejamento 30/Mar – Sem. 2 – Visão Computacional 06/Abr – Semana Santa 13/Abr – Não haverá aula (evento externo) 28 Calendário de aulas (previsão) 20/Abr – Sem. 3 – Aprendizagem e Redes Neurais 27/Abr – Sem. 4 - Data Mining e Sist. Recomendação 04/Mai - Sem. 5 – Proc. Ling. Natural e Text Mining 11/Mai – Sem. 6 – Chatter Bot 18/Mai – Não haverá aula (evento externo) 25/Mai – Sem. 7 – Sudoku 01/Jun – Sem. 8 e 9 – Jogo da Onça e Pet Squares 08/Jun – Corpus Christi 15/Jun – Não haverá aula (evento externo) 22/Jun - Entrega de Notas 29