CS 561, Session 7 1 Recall: breadth-first search, step by step.

Slides:



Advertisements
Apresentações semelhantes
Melhoramento de Imagens
Advertisements

Chapter Six Pipelining
ADT – Arvore Binária de Pesquisa
While While Condição // comandos End While. Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador)
Listas Encadeadas Circulares Listas Duplamente Encadeadas
Listas Encadeadas Circulares Listas Duplamente Encadeadas
A.4. Trabalhando com elementos de biblioteca STL – Standard Template Libraby Disponibiliza um conjunto de classes templates, provendo algoritmos eficientes.
Auditoria de Segurança da Informação
VIII Espectroscopia luz luz Método envolve: excitação detecção Fontes
Lista 3!!!.
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
PROGRESSÃO ARITMÉTICA P.A.
Modelo planetário: errado Elétrons são descritos por meio de funções de onda Mecânica Quântica : probabilidades.
Ondas distúrbio (de um meio) se propagam
PGF5001 – Mecânica Quântica 1 Prof. Emerson Passos.
SQL Procedural Junho/2006.
►► outras formas dessa equação:
VI: EQUILÍBRIO RADIATIVO
1 3.5: Equilíbrio Termodinâmico Equilíbrio Termodinâmico parâmetros termodinâmicos (P,T) constantes A existência de equilíbrio termodinâmico (ET) ou E.T.
1 3.5: Equilíbrio Termodinâmico 1 A existência de equilíbrio termodinâmico (ET) ou equilíbrio termodinâmico local (ETL) no interior estelar grandes simplificações:
ALGUNS CONCEITOS DE TERMODINÂMICA
Treinamento GP3 USP – GEFIM Abril de 2004 Alcides Pietro, PMP.
Prof. Dr. Helder Anibal Hermini
Reconstrução filogenética: Inferência Bayesiana
Criptografia Quântica : Um Estudo
Abertura: o pequeno traço vertical interrompendo uma das extremidades indica o limite da abertura abertura: indica o local onde deverá ser feita uma abertura.
Processamento de Imagens
Mais sobre classes Baseada no Livro: Deitel&Deitel - C++ How To program Cap. 7 Prentice Hall 1994 SCE 213 Programação Orientada a Objetos, ICMC - USP 2.
Técnicas de Processamento Imagens
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Fazendo Slides no Power Point
Técnicas de Amostragem
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
TA 733 A – Operações Unitárias II
TA 733 A – Operações Unitárias II
Probabilidade Modelo matemático para incerteza Desenvolvimento relativamente recente –Cardano (século XVI) –Pascal (século XVII) Peter Bernstein, Against.
Probabilidade Modelo matemático para incerteza Desenvolvimento relativamente recente –Cardano (século XVI) –Pascal (século XVII) Peter Bernstein, Against.
A Molécula isolada + excipientes B Molécula modificada a partir da molécula natural Como a molécula é isolada, apenas é patenteável na forma de uma composição.
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
ALOCAÇÃO DINÂMICA DE MEMÓRIA
TE 043 CIRCUITOS DE RÁDIO-FREQÜÊNCIA
Interpolação Introdução Conceito de Interpolação
Resolução de Sistemas Não-Lineares- Parte 1
Sistemas Lineares Parte 2
Resolução de Sistemas Lineares- Parte 1
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
7. INTEGRAÇÃO NUMÉRICA Parte 1
Recursividade Estrutura de Dados.
Introdução à Probabilidade
The Data Warehouse Toolkit
Frações Professor: Graciano Pianezzer Beletti.
Otimização Aplicada ao Dimensionamento e Operação de Reservatórios
LINGUAGENS DE PROGRAMAÇÃO
Visão Computacional Shape from Shading e Fotométrico Eséreo
CS 561, Lectures Estrutura de dados para árvore de busca Estrutura do tipo nó (node) { Estado (no espaço de estados ao qual o nó corresponde); Pai.
Últimas aulas Definição de IA? Teste de Turing? Agentes Inteligentes:
CS 561, Session 6 1 Last time: Problem-Solving Problem solving: Goal formulation Problem formulation (states, operators) Search for solution Problem formulation:
Prof. André Laurindo Maitelli DCA-UFRN
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
INPE / CAP-334 Celso L. Mendes Aula 4-D(1) Reestruturação de Programas em Sistemas Vetoriais (II) Tópicos: Suporte à Paralelização Vetorização.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Tópicos Especiais em Aprendizagem Reinaldo Bianchi Centro Universitário da FEI 2012.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 30 (1) Empacotamento de Dados em MPI Tópicos: Buffer de Mensagem Empacotamento/Desempacotamento.
Resolução de problemas por meio de busca
Salas de Matemática.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Rio Verde - Goiás - Brasil
Transcrição da apresentação:

CS 561, Session 7 1 Recall: breadth-first search, step by step

CS 561, Session 7 2 Implementation of search algorithms 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 Queuing-Fn(queue, elements) is a queuing function that inserts a set of elements into the queue and determines the order of node expansion. Varieties of the queuing function produce varieties of the search algorithm.

CS 561, Session 7 3 Recall: breath-first search, step by step

CS 561, Session 7 4 Breadth-first search Node queue:initialization #statedepthpath costparent # 1Arad00--

CS 561, Session 7 5 Breadth-first search Node queue:add successors to queue end; empty queue from top #statedepthpath costparent # 1Arad00-- 2Zerind111 3Sibiu111 4Timisoara111

CS 561, Session 7 6 Breadth-first search Node queue:add successors to queue end; empty queue from top #statedepthpath costparent # 1Arad00-- 2Zerind111 3Sibiu111 4Timisoara111 5Arad222 6Oradea222 (get smart: e.g., avoid repeated states like node #5)

CS 561, Session 7 7 Depth-first search

CS 561, Session 7 8 Depth-first search Node queue:initialization #statedepthpath costparent # 1Arad00--

CS 561, Session 7 9 Depth-first search Node queue:add successors to queue front; empty queue from top #statedepthpath costparent # 2Zerind111 3Sibiu111 4Timisoara111 1Arad00--

CS 561, Session 7 10 Depth-first search Node queue:add successors to queue front; empty queue from top #statedepthpath costparent # 5Arad222 6Oradea222 2Zerind111 3Sibiu111 4Timisoara111 1Arad00--

CS 561, Session 7 11 Last time: search strategies Uninformed: Use only information available in the problem formulation Breadth-first Uniform-cost Depth-first Depth-limited Iterative deepening Informed: Use heuristics to guide the search Best first: Greedy search A* search

CS 561, Session 7 12 Last time: search strategies Uninformed: Use only information available in the problem formulation Breadth-first Uniform-cost Depth-first Depth-limited Iterative deepening Informed: Use heuristics to guide the search Best first: Greedy search -- enfileira primeiro os nós que maximizam a desejabilidade heurística baseado no custo do nó corrente ao objetivo; A* search – enfileira primeiro os nós que maximizam a soma dos custos do caminho até o nó mais o custo estimado do nó corrente ao objetivo;

CS 561, Session 7 13 This time Iterative improvement Hill climbing Simulated annealing

CS 561, Session 7 14 Melhoria Iterativa Em muitos problemas de otimização, o caminho é irrelevante; o estado objetivo por si só é a solução. Então, o espaço de estados = espaço de configurações completo. Objetivo do algoritmo: - achar configuração ótima (ex: TSP), ou, - achar configuração que satisfaça restrições (ex: n-queens) Em tais casos, pode-se usar algoritmos de melhoria iterativa: manter um estado corrente único, e tentar melhorá-lo.

CS 561, Session 7 15 Exemplo de melhoria iterativa: ambiente do aspirador Ambiente simplificado: 2 localizações, cada uma pode ou não conter sujeira e pode ou não conter agente. Objetivo do agente: limpar a sujeira. Se o caminho não importa, não é necessário mante-lo (sabê-lo).

CS 561, Session 7 16 Exemplo de melhoria iterativa: n-queens objetivo: colocar n rainhas num tabuleiro nxn, sem que hajam duas rainhas na mesma linha, coluna ou diagonal. Aqui, o estado objetivo é desconhecido inicialmente, mas é especificado por restrições que ele deve satisfazer.

CS 561, Session 7 17 Hill climbing (ou descida/subida do gradiente) Maximiza valor do estado corrente iterativamente, atualizando-o pelo sucessor que possui o maior valor, na medida do possível.

CS 561, Session 7 18 Hill climbing Nota: minimizar uma função valorada v(n) é equivalente a maximizar –v(n), então ambas noções podem ser usadas intercambeadas. Noção de extremização: achar extremo (mínimo ou máximo) de uma função valorada.

CS 561, Session 7 19 Hill climbing Problema: dependendo do estado inicial, pode parar em extremo (mínimo ou máximo) local.

CS 561, Session 7 20 Minimizando energia Vamos mudar a formulação do problema um pouco, de maneira que se possa empregar um novo formalismo: - comparar o espaço de estados ao de um sistema físico sujeito a interações naturais, e - comparar a função valorada à energia potencial total (E) do sistema. Em toda atualização, temos E 0 Então, a dinâmica do sistema tende a mover E de encontro ao mínimo. Estes estados podem ser diferentes se forem mínimos locais. Minimi- zação global pode não ser garantida.

CS 561, Session 7 21 Máquinas de Boltzmann h A Máquina de Boltzmann de Hinton, Sejnowski, e Ackley (1984) usa Simulated Annealing para fugir de mínimos locais. Para motivar a solução, considere como alguém poderia fazer uma bola navegar ao longo de uma curva para provavelmente finalizar no local mais profundo. A idéia é chacoalhar a caixa próximo de h de modo que a bola pule, provavelmente, D para C, ou, dependendo da amplitude, de D para B. No final, em algum tempo a bola deverá terminar no vale C.

CS 561, Session 7 22 Idéia básica do Simulated annealing Do estado corrente tomar um estado sucessor de forma aleatórea; Se este estado possuir valor melhor que o do estado corrente, então aceite a transição, ou seja, faça do estado sucessor o corrente; Caso contrário, não desistir, aceite a transição com uma dada probabilidade (pequena na medida que o sucessor for ruim). Algumas vezes, a função valor é não-otimizada com probabilidade diferente de zero.

CS 561, Session 7 23 Analogia: Refrigerar lentamente um líquido Quanto menor a taxa de variação de T no início, mais gradualmente o líquido se tornará gelo; Se no início tiver mudanças bruscas em T, algumas regiões gelarão primeiro que outras

CS 561, Session 7 24 Teoria estatística dos gazes, de Boltzmann Na teoria estatística dos gases, o gás é descrito pela probabilidade de ele se encontar em estados diferentes e não por uma dinâmica determinística. No século 19, o físico Ludwig Boltzmann desenvolveu uma teoria que incluiu uma distribuição probabilística da temperatura, isto é, regiões do gás pequenas, vizinhas, possuem a mesma energia cinética. A idéia de Hinton, Sejnowski e Ackleys é que esta distribuição pode ser tb usada para descrever interações neurais, onde temperatura a baixar T é atualizada por um pequeno sinal de ruído: o análogo neural do movimento aleatório termal de moléculas. Os resultados se aplicam a otimização usando redes neurais, mas a idéia é mais geral.

CS 561, Session 7 25 Distribuição de Boltzmann Em equilíbrio térmico a uma temperatura T, a distribuição de Boltzmann produz a probabilidade relativa de que o sistema ocupará o estado A versus o estado B como: onde E(A) e E(B) são as energias associadas com os estados A e B.

CS 561, Session 7 26 Simulated annealing Kirkpatrick et al. 1983: Simulated annealing é um método geral para produzir um provável escape de mínimos locais permitindo saltos com energias mais altas. A analogia aqui é com o processo de recozimento usado por um artesão para forjar uma espada de uma liga. Aquece o metal, a seguir refrigera-o lentamente enquanto martela a lâmina para obter a forma desejada. Se refrigerar a lâmina muito rapidamente, o metal formará pedaços com composição diferente; Se o metal for refrigerado lentamente enquanto dando forma, os metais constituintes formarão uma liga uniforme.

CS 561, Session 7 27 Simulated annealing na prática -determina T inicial (temperatura) -otimiza para o dado T -abaixa T(see Geman & Geman, 1984) -repete

CS 561, Session 7 28 Simulated annealing na prática -determina T inicial (temperatura) -otimiza para o dado T -abaixa T(see Geman & Geman, 1984) -repete Geman & Geman (1984): se T é abaixado lentamente (com respeito ao número de iterações usadas para otimizar a uma dada temperatura T), garante-se que o simulated annealing acha o mínimo global. Caveat: este algoritmo pode não ter fim. O decrescimento em T (Geman & Geman) é da ordem de 1/log do número de iterações, então, T poderá nunca ser zero). Isto pode levar a um tempo infinito para atingir o mínimo global.

CS 561, Session 7 29 Algoritmo para o Simulated annealing Idéia: Escapar extremo local permitindo movimentos ruins, mas gradualmente decrementando o seu tamanho e freqüência. Nota: objetivo aqui é maximizar E. -

CS 561, Session 7 30 Algoritmo para o Simulated annealing Idéia: Escapar extremo local permitindo movimentos ruins, mas gradualmente decrementando o seu tamanho e freqüência. Algoritmo visando minimizar E. < - -

CS 561, Session 7 31 Simulated annealing: casos limites Distribuição de Boltzmann: aceita movimento ruim com E<0 (objetivo é maximizar E) com probabilidade P( E) = exp( E/T) P/ T grande : E < 0 E/T < 0 and very small exp( E/T) close to 1 accept bad move with high probability P/ T pequeno (0): E < 0 E/T < 0 and very large exp( E/T) close to 0 accept bad move with low probability

CS 561, Session 7 32 Simulated annealing: casos limites Distribuição de Boltzmann: aceita movimento ruim com E<0 (objetivo é maximizar E) com probabilidade P( E) = exp( E/T) If T is large: E < 0 E/T < 0 and very small exp( E/T) close to 1 accept bad move with high probability If T is near 0: E < 0 E/T < 0 and very large exp( E/T) close to 0 accept bad move with low probability Random walk Deterministic down-hill

CS 561, Session 7 33 Sumário Best-first search = general search, onde os nós de custo mínimo (de acôrdo com alguma medida) são expandidos primeiro. Greedy search = best-first com o custo estimado para alcançar o objetivo sendo uma medida heurística. - Geralmente mais rápido que uninformed search - não ótimo - não completo. A* search = best-first com medida = custo efetivo até o nó (desde origem) + custo estimado até o objetivo. - combina vantagens das estratégias uniform-cost e greedy - completo, ótimo e otimamente eficiente - complexidade de memória ainda exponencial

CS 561, Session 7 34 Sumário Complexidade de tempo dos algoritmos heurísticos dependem da qualidade da função heurística. Boas heurísticas podem algumas vezes serem construídas examinando-se a definição do problema ou generalizando de experiências com a classe de problemas. Algoritmos de melhoria iterativa mantém apenas um único estado em memória. Podem parar em extremos locais; simulated annealing provê uma maneira de escapar de extremos locais, e é completo e ótimo, se for aplicado um resfriamento suficientemente lento.