Inteligência Artificial

Documentos relacionados
Inteligência Artificial: 3. Resolução de problemas por meio de busca. Capítulo 3 Russell e Norvig; Seções 3.1, 3.2 e 3.3

Inteligência Artificial 04. Busca Sem Informação (Cega) Capítulo 3 Russell & Norvig; Seções 3.4 e 3.5

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

MAC425/5739 Inteligência Artificial 3. Busca informada

Métodos de Busca. Inteligência Artificial. Busca Heurística. Busca Heurística. Prof. Ms. Luiz Alberto Contato:

Inteligência Artificial

Agentes que resolvem problemas através de busca Capítulo 3 Parte I

Agentes baseados em metas Capítulo 3 Parte I

Inteligência Artificial

Inteligência Artificial

Resolução de problemas por meio de busca. CAPÍTULO 3 - Russell

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

Resolução de problemas por meio de busca. Inteligência Artificial

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 02 Prof. Vitor Hugo Ferreira

Resolução de problemas por meio de busca. Inteligência Artificial. Busca. Exemplo: Romênia. Exemplo: Romênia 8/23/2010

Resolução de Problemas Com Procura

PCS Inteligência Artificial

meio de busca Seções 3.1, 3.2 e 3.3

REDES NEURAIS / INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 6

Métodos de Busca Informada (best first search) Capítulo 4 Parte I

Procura Informada. Capítulo 4

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial

Tópicos Especiais: Inteligência Artificial

INF 1771 Inteligência Artificial

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.4 e 3.5

lnteligência Artificial

BUSCA CEGA OU SEM INFORMAÇÃO (parte 2 Resolução de problemas por busca) *Capítulo 3 (Russel & Norvig)

INF 1771 Inteligência Artificial

Redes Neurais (Inteligência Artificial)

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR

3. Resolução de problemas por meio de busca

Agentes Simples Reflexos Agentes com Representação do Mundo Agentes Baseado em Objectivos Agentes Baseados em Utilidade

Os problemas de IA empregam heurísticas, basicamente, em duas situações:

Inteligência Artificial

Projeto e Análise de Algoritmos

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Busca em Espaço de Estados a

Estratégias de Procura Informadas

Procura Informada. Capítulo 4

Procura Informada. Capítulo 4

Estratégias informadas de Busca. March 3, 2016

Estratégias de Busca: Métodos Informados. March 9, 2015

INF 1771 Inteligência Artificial

3. Resolução de problemas por meio de busca

Inteligência Artificial Busca

Resolução de Problemas

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística)

Sistemas Inteligentes 2014/2

Inteligência Artificial

*Capítulo 3 (Russel & Norvig)

Prof. Dr. Jaime Simão Sichman Prof. Dra. Anna Helena Reali Costa

Busca com informação e exploração. Inteligência Artificial

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

Agentes que resolvem problemas. Resolução de Problemas. Objectivo. Objectivo

Inteligência Artificial - IA

Busca Heurísticas e Meta-Heurístca

Busca Cega (Exaustiva) e Heurística. Busca Aula 2

SISTEMAS INTELIGENTES 1 PROF. TACLA/UTFPR/CPGEI-PPGCA

Estratégias informadas de Busca. February 19, 2018

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km 9/13/2010

Resolução de Problemas de Busca

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Inteligência Artificial

3. Resolução de problemas por meio de busca

Inteligência Artificial

Cap. 4 Busca com Informações e Exploração. do livro de Russel e Norvig

Resolução de problemas por meio de busca. Prof. Pedro Luiz Santos Serra

Métodos de Busca. Estratégias de Busca Cega

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Inteligência Artificial

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Introdução. Inteligência Artificial. Problema de Busca. Problema de Busca. Prof. Ms. Luiz Alberto Contato:

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.1

Estratégias de Busca Cega

Inteligência Artificial

Estratégias de Busca Cega

Inteligência Artificial

Projeto e Análise de Algoritmos

Revisão sobre Busca 1

Buscas Não Informadas (Cegas) - Parte I

Busca Heurística - Informada

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

Busca em Espaço de Estados

Buscas Informadas ou Heurísticas - Parte II

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Busca heurística

Resolução de Problemas

Busca Heurística. Profa. Josiane M. P. Ferreira

Inteligência Artificial

Inteligência Artificial

Best-first search. Pesquisa informada. Best-first search Pesquisa gananciosa (greedy) Best-first search

Resolução de Problemas

Transcrição:

Inteligência Artificial CTC15 Aula 2b CTC15 Aula 2b 1

Agentes que resolvem problemas Tipos de problemas Formulação de problemas Exemplos de problemas Algoritmos de busca básicos Sumário CTC15 Aula 2b 2

Um agente simples: Agentes que resolvem problemas function Simple-Problem-Solving-Agent( p) returns an action inputs: p, a percept static: s, an action sequence, initially empty state, some description of the current world state g, a goal, initially null problem, a problem formulation state Update-State(state, p) if s is empty then g Formulate-Goal(state) problem Formulate-Problem(state, g) s Search( problem) action Recommendation(s, state) s Remainder(s, state) return action Isto é solução offline. Solução online envolve decisões sem conhecimento completo do problema e solução. CTC15 Aula 2b 3

Exemplo: Férias na Romênia Em férias na Romênia; atualmente em. Vôo para Bucareste sai amanhã Formular objetivo: estar em Bucareste Formular problema: estados: várias cidades operadores: dirigir entre cidades Achar solução: sequência de cidades, e.g.,, Sibiu, Fagaras, Bucareste CTC15 Aula 2b 4

Exemplo: Romênia Oradea Neamt Zerind Iasi Sibiu Fagaras Vaslui Timisoara Rimnicu Vilcea Lugoj Pitesti Mehadia Urziceni Hirsova Dobreta Craiova Bucharest Giurgiu Eforie CTC15 Aula 2b 5

Tipos de problemas Determinístico, accessível = problema de estados simples Determinístico, inaccessível = problema de estados múltiplos Não-determinístico, inaccessível = problema de contingência (talvez) sensores devem ser usados durante execução solução é uma árvore ou política muitas vezes alterna entre busca e execução Espaço de estados desconhecido = problema de exploração online CTC15 Aula 2b 6

Exemplo: problema do aspirador Est. simples, início #5. Solução?? Est. múltiplos, início {1, 2, 3, 4, 5, 6, 7, 8} e.g., Direita para {2, 4, 6, 8}. Solução?? Contingência, início {1,3} Murphy: Aspirador pode sujar tapete limpo Sensor local: sujeira, localização. Solução?? 1 2 3 4 5 6 7 8 CTC15 Aula 2b 7

Formulação do problema de estados simples Um problema é definido por: estado inicial e.g., em teste de objetivo, que pode ser explícito, e.g., x = em Bucareste implícito, e.g., NoDirt(x) custo da trajetória (aditiva) e.g., soma das distâncias, número de operadores executados, etc. Uma solução é uma sequência de operadores que leva do estado inicial ao estado-objetivo CTC15 Aula 2b 8

Selecionando um espaço de estados O mundo real é extremamente complexo espaço de estados deve ser abstraído do processo de solução estado abstrato = conjunto de estados reais operador abstrato = combinação de ações reais e.g., Zerind representa um conjunto complexo de possíveis rotas, retornos, paradas para descanso, etc. Para realizabilidade garantida, qualquer estado real em deve levar a algum estado real em Zerind Solução (abstrata) = conjunto de trajetória reais que são soluções no mundo real Cada ação abstrata deve ser mais fácil do que no problema original! CTC15 Aula 2b 9

Exemplo: Um quebra-cabeças 7 2 4 51 2 3 5 6 4 5 6 8 3 1 7 8 Start State Goal State estados?? operadores?? teste do objetivo?? custo da trajetória?? CTC15 Aula 2b 10

Exemplo: Um quebra-cabeças 7 2 4 51 2 3 5 6 4 5 6 8 3 1 7 8 Start State Goal State estados??: localização dos blocos móveis operadores??: mover espaço pra esquerda,pra direita,pra cima, pra baixo teste do objetivo??: = atingir estado-objetivo (dado) custo da trajetória??: 1 por movimento [Obs: achar solução ótima para n casas é NP-completo] CTC15 Aula 2b 11

Exemplo: grafo do problema do aspirador L R L R S S L R R L R R L L S S S S L R L R S S estados?? operadores?? teste do objetivo?? custo da trajetória?? CTC15 Aula 2b 12

Exemplo: grafo do problema do aspirador R L S S S S R L R L R L S S S S L L L L R R R R estados??: localização do aspirador e da sujeira (sujeira é variável binária) operadores??: Esquerda, Direita, Aspira teste do objetivo??: limpeza total custo da trajetória??: 1 por operador CTC15 Aula 2b 13

Exemplo: Linha de montagem automatizada P R R R R R estados??: coordenadas reais dos ângulos das juntas do robô partes do objeto por montar operadores??: movimentos contínuos das juntas do robô teste do objetivo??: montagem completa do objeto custo da trajetória??: tempo para execução CTC15 Aula 2b 14

Algorimos de busca Idéia: exploração simulada do espaço de estados via geração dos sucessores dos estados já explorados (estados expansores) function General-Search( problem, strategy) returns a solution, or failure initialize the search tree using the initial state of problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end CTC15 Aula 2b 15

Busca genérica: exemplo CTC15 Aula 2b 16

Busca genérica: exemplo Zerind Sibiu Timisoara CTC15 Aula 2b 17

Busca genérica: exemplo Zerind Sibiu Timisoara Oradea Fagaras Rimnicu Vilcea CTC15 Aula 2b 18

Busca genérica: exemplo Zerind Sibiu Timisoara Oradea Fagaras Rimnicu Vilcea Sibiu Bucharest CTC15 Aula 2b 19

Implementação de algoritmos de busca function General-Search( problem, Queuing-Fn) returns a solution, or failure nodes Make-Queue(Make-Node(Initial-State[problem])) loop do if nodes is empty then return failure node Remove-Front(nodes) if Goal-Test[problem] applied to State(node) succeeds then return node nodes Queuing-Fn(nodes, Expand(node, Operators[problem])) end CTC15 Aula 2b 20

Estados vs. nós Um estado é uma (representação de) uma configuração física Um nó é uma estrutura de dado constituinte de uma árvore de busca e inclui pai, filhos, profundidade, custo da trajetória g(x) Estados não têm pai, filhos, profundidade, ou custo da trajetória! parent, action State 5 6 4 1 8 Node depth = 6 g = 6 7 3 2 state A função Expand cria novos nós, preenchendo os respectivos campos e usando os Operadores (ou SuccessorFn) do problema para criar os estados correspondentes. CTC15 Aula 2b 21

Estratégias de busca Uma estratégia de busca é uma escolha da ordem de expansão dos nós Estratégias são avaliadas pelos seguintes parâmetros: completeza a solução (quando existe) é sempre encontrada? complexidade no tempo número de nós gerados/expandidos complexidade no espaço número máximo de nós na memória otimalidade a solução encontrada é de custo mínimo? Complexidades no tempo e espaço são medidas em termos de b fator de ramificação máximo da árvore de busca d profundidade da solução de custo mínimo m profundidade máxima do espaço de busca (pode ser ) CTC15 Aula 2b 22

Estratégias de busca desinformada Estratégias desinformadas usam apenas a informação disponibilizada pela definição do problema Busca em largura Busca de custo uniforme Busca em profundidade Busca em profundidade limitada Busca de aprofundamento iterativo CTC15 Aula 2b 23

Expande o nó menos profundo Busca em largura Implementação: QueueingFn = coloca sucessores no final da fila CTC15 Aula 2b 24

Busca em largura... Zerind Sibiu Timisoara CTC15 Aula 2b 25

Busca em largura... Zerind Sibiu Timisoara Oradea CTC15 Aula 2b 26

Busca em largura... Zerind Sibiu Timisoara Oradea Oradea Rimnicu Fagaras Vilcea Lugoj CTC15 Aula 2b 27

Propriedades da busca em largura Completa?? Sim (se b for finito) Tempo?? 1 + b + b 2 + b 3 +... + b d = O(b d ), i.e., exponencial em d Espaço?? O(b d ) (mantém todos os nós na memória) Ótima?? Sim (se custo por passo = 1); em geral não-ótima Espaço é o grande problema; pode facilmente gerar nós à razão de 1MB/seg (24hrs = 86GB!!!). CTC15 Aula 2b 28

Romênia com custos por passo em km Oradea 71 Neamt Zerind 75 151 140 118 Timisoara 111 Lugoj 70 Mehadia 75 120 Dobreta Sibiu 99 Fagaras 80 Rimnicu Vilcea 97 Pitesti 211 146 101 85 138 Bucharest 90 Craiova Giurgiu 87 Iasi 92 142 98 Urziceni Vaslui Hirsova 86 Eforie Straight line distance to Bucharest 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 CTC15 Aula 2b 29

Expandir nó de custo mínimo Busca de custo uniforme Implementação: QueueingFn = inserir em ordem de custo crescente CTC15 Aula 2b 30

Busca de custo uniforme... 75 140 118 Zerind Sibiu Timisoara CTC15 Aula 2b 31

Busca de custo uniforme... 75 140 118 Zerind Sibiu Timisoara 75 71 Oradea CTC15 Aula 2b 32

Busca de custo uniforme... 75 140 118 Zerind Sibiu Timisoara 75 71 118 111 Oradea Lugoj CTC15 Aula 2b 33

Propriedades da busca de custo uniforme Completa?? Sim Tempo?? # de nós com g custo da solução ótima Espaço?? # de nós com g custo da solução ótima Ótima?? Sim, se o custo por passo 0 CTC15 Aula 2b 34

Expandir o nó mais profundo Busca em profundidade Implementação: QueueingFn = insere sucessores na frente da fila CTC15 Aula 2b 35

Busca em profundidade... Zerind Sibiu Timisoara CTC15 Aula 2b 36

Busca em profundidade... Zerind Sibiu Timisoara Oradea CTC15 Aula 2b 37

Busca em profundidade... Zerind Sibiu Timisoara Oradea Zerind Sibiu Timisoara I.e., busca em profundidade pode executar ciclos infinitos O espaço de busca deve ser finito e acíclico (ou deve haver checagem de estados repetidos) CTC15 Aula 2b 38

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 39

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 40

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 41

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 42

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 43

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 44

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 45

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 46

BeP em uma árvore binária de profundidade 3 CTC15 Aula 2b 47

Propriedades da busca em profundidade Completa?? Não: deficiente em espaços de profundidade infinita ou cíclicos Modificado para evitar esrados repetidos na trajetória completo em espaços finitos Tempo?? O(b m ): péssimo se m for muito maior do que d mas se soluções são densas, pode ser muito mais rápido do que em largura Espaço?? O(bm), i.e., linear no espaço! Ótima?? Não CTC15 Aula 2b 48

Busca em profundidade limitada = busca em profundidade com limite de profundidade l Implementação: Nós à profundidade l não têm sucessores Problema: não sei a profundidade da solução! CTC15 Aula 2b 49

Busca de aprofundamento iterativo function Iterative-Deepening-Search( problem) returns a solution sequence inputs: problem, a problem for depth 0 to do result Depth-Limited-Search( problem, depth) if result cutoff then return result end CTC15 Aula 2b 50

Busca de aprofundamento iterativo l = 0 CTC15 Aula 2b 51

Busca de aprofundamento iterativo l = 1 CTC15 Aula 2b 52

Busca de aprofundamento iterativo l = 1 Zerind Sibiu Timisoara CTC15 Aula 2b 53

Busca de aprofundamento iterativo l = 2 CTC15 Aula 2b 54

Busca de aprofundamento iterativo l = 2 Zerind Sibiu Timisoara CTC15 Aula 2b 55

Busca de aprofundamento iterativo l = 2 Zerind Sibiu Timisoara Oradea CTC15 Aula 2b 56

Busca de aprofundamento iterativo l = 2 Zerind Sibiu Timisoara Oradea Oradea Fagaras Rimnicu Vilcea CTC15 Aula 2b 57

Busca de aprofundamento iterativo l = 2 Zerind Sibiu Timisoara Oradea Oradea Fagaras Rimnicu Vilcea Lugoj CTC15 Aula 2b 58

Propriedades da busca de aprofund. iterativo Completa?? Sim Tempo?? (d + 1)b 0 + db 1 + (d 1)b 2 +... + b d = O(b d ) Espaço?? O(bd) Ótima?? Sim, se custo por passo = 1 CTC15 Aula 2b 59

Resumo A formulação de um problema requer abstração para evitar detalhes irrelevantes do mundo real, de modo a se definir um espaço de estados que possa ser explorado. Existem várias estratégias de busca não-informada. Busca de aprofundamento iterativo é linear no espaço e não requer muito mais tempo do que os outros algoritmos. CTC15 Aula 2b 60