Lar Finanças Pessoais Algoritmos: Custos de computação e Heurísticas subseqüentes - manequins

Algoritmos: Custos de computação e Heurísticas subseqüentes - manequins

Índice:

Vídeo: Modelagem via Equação de Diferenças Lineares e Aplicações 2024

Vídeo: Modelagem via Equação de Diferenças Lineares e Aplicações 2024
Anonim

Muitas vezes, você acha que uma abordagem heurística, que depende na auto descoberta e produz resultados suficientemente úteis (não necessariamente otimizados, mas bons o suficiente) é o método que você realmente precisa para resolver um problema. Obter o algoritmo para executar alguns dos trabalhos necessários para você economiza tempo e esforço porque você pode criar algoritmos que vêem padrões melhor do que os humanos.

Conseqüentemente, a auto descoberta é o processo de permitir que o algoritmo mostre um caminho potencialmente útil para uma solução (mas você ainda deve contar com intuição e compreensão humana para saber se a solução é a certa). As seções a seguir descrevem técnicas que você pode usar para calcular o custo de um algoritmo usando heurísticas como um método para descobrir a utilidade real de qualquer solução dada.

Representando o problema como espaço

A espaço de problema é um ambiente no qual a busca de uma solução ocorre. Um conjunto de estados e os operadores usados ​​para alterar esses estados representam o espaço do problema. Por exemplo, considere um jogo de azulejo que tenha oito telhas em uma moldura 3-x-3. Cada telha mostra uma parte de uma imagem e as telhas começam em alguma ordem aleatória para que a imagem seja mexida. O objetivo é mover um azulejo de cada vez para colocar todos os azulejos na ordem certa e revelar a imagem.

A combinação do estado de início, das telhas randomizadas e do estado do objetivo - as telhas em uma ordem específica - é a instância do problema. Você poderia representar o quebra-cabeça graficamente usando um gráfico de espaço para problemas. Cada nó do gráfico do espaço do problema apresenta um estado (as oito telhas em uma posição específica). As bordas representam as operações, de modo a mover o número oito da telha. Quando você move a tela oito para cima, a imagem muda - ela se move para outro estado.

Ganhar o jogo, movendo-se do estado de início para o estado do objetivo, não é a única consideração. Para resolver o jogo de forma eficiente, você precisa executar a tarefa no menor número de movimentos possíveis, o que significa usar o menor número de operadores. O número mínimo de movimentos usados ​​para resolver o quebra-cabeça é a profundidade do problema.

Você deve considerar vários fatores ao representar um problema como um espaço. Por exemplo, você deve considerar o número máximo de nós que caberá na memória, o que representa a complexidade do espaço. Quando você não pode caber todos os nós na memória ao mesmo tempo, o computador deve armazenar alguns nós em outros locais, como o disco rígido, o que pode retardar consideravelmente o algoritmo.Para determinar se os nós se encaixam na memória, você deve considerar a complexidade do tempo,, que é o número máximo de nós criados para resolver o problema. Além disso, é importante considerar o fator de ramificação,, que é o número médio de nós criados no gráfico do espaço problemático para resolver um problema.

Ir aleatoriamente e ser abençoado pela sorte

Resolver um problema de busca usando técnicas de força bruta é possível. A vantagem desta abordagem é que você não precisa de nenhum conhecimento específico do domínio para usar um desses algoritmos. Um algoritmo de força bruta tende a usar a abordagem mais simples possível para resolver o problema. A desvantagem é que uma abordagem de força bruta funciona bem apenas para um pequeno número de nós. Aqui estão alguns dos algoritmos comuns de pesquisa de força bruta:

  • Pesquisa de primeira linha: Esta técnica começa no nó da raiz, explora primeiro cada um dos nós filho e, em seguida, move-se para o próximo nível. Ele progride nível por nível até encontrar uma solução. A desvantagem deste algoritmo é que ele deve armazenar cada nó na memória, o que significa que ele usa uma quantidade considerável de memória para um grande número de nós. Esta técnica pode verificar se há nós duplicados, o que economiza tempo e sempre vem com uma solução.
  • Pesquisa em profundidade: Esta técnica começa no nó raiz e explora um conjunto de nós filhos conectados até atingir um nó de folha. Ele progride ramo por ramo até encontrar uma solução. A desvantagem deste algoritmo é que ele não pode verificar se há nós duplicados, o que significa que ele pode percorrer os mesmos caminhos do nó mais de uma vez. Na verdade, esse algoritmo pode não encontrar uma solução, o que significa que você deve definir um ponto de corte para evitar que o algoritmo faça uma busca infinita. Uma vantagem desta abordagem é que é eficiente na memória.
  • Pesquisa bidirecional: Esta técnica procura simultaneamente do nó raiz e do nó de objetivo até os dois caminhos de pesquisa se encontrarem no meio. Uma vantagem desta abordagem é que é tempo eficiente porque encontra a solução mais rápida do que muitas outras soluções de força bruta. Além disso, ele usa memória de forma mais eficiente do que outras abordagens e sempre encontra uma solução. A principal desvantagem é a complexidade da implementação, traduzindo-se em um ciclo de desenvolvimento mais longo.

Usando uma função heurística e de custo

Para algumas pessoas, a palavra heurística simplesmente parece complicada. Seria tão fácil dizer que o algoritmo faz um palpite e depois tenta novamente quando ele falha. Ao contrário dos métodos de força bruta, os algoritmos heurísticos aprendem. Eles também usam funções de custo para fazer melhores escolhas. Conseqüentemente, os algoritmos heurísticos são mais complexos, mas eles têm uma vantagem distinta na resolução de problemas complexos. Tal como acontece com os algoritmos de força bruta, existem muitos algoritmos heurísticos e cada um vem com o seu próprio conjunto de vantagens, desvantagens e requisitos especiais. A lista a seguir descreve alguns dos algoritmos heurísticos mais comuns:

  • Pesquisa heurística pura: O algoritmo expande os nós em ordem do seu custo.Ele mantém duas listas. A lista fechada contém os nós que já explorou; A lista aberta contém os nós que ainda precisa explorar. Em cada iteração, o algoritmo expande o nó com o menor custo possível. Todos os seus nós secundários são colocados na lista fechada e os custos individuais do nó filho são calculados. O algoritmo envia os nós filhos com um baixo custo de volta à lista aberta e exclui os nós filhos com um alto custo. Conseqüentemente, o algoritmo executa uma busca inteligente e baseada em custos para a solução.
  • A * search: O algoritmo rastreia o custo dos nós enquanto os explora usando a equação: f (n) = g (n) + h (n), onde
    • n é o identificador do nó.
    • g (n) é o custo de alcançar o nó até agora.
    • h (n) é o custo estimado para alcançar o objetivo do nó.
    • f (n) é o custo estimado do caminho de n para o objetivo.

A idéia é buscar os caminhos mais promissores primeiro e evitar caminhos caros.

  • A melhor pesquisa gananciosa: O algoritmo sempre escolhe o caminho mais próximo do objetivo usando a equação: f (n) = h
Algoritmos: Custos de computação e Heurísticas subseqüentes - manequins

Escolha dos editores

Ficando pronto para fazer folha de pagamento com QuickBooks 2008 - dummies

Ficando pronto para fazer folha de pagamento com QuickBooks 2008 - dummies

Se você deseja usar uma folha de pagamento do QuickBooks opções de serviço porque você quer economizar dinheiro, não tem medo de uma pequena papelada, ou talvez você queira a flexibilidade extra que vem com você mesmo, você precisa se inscrever para o sabor adequado do serviço. Para configurar uma folha de pagamento ...

Como formatar fontes e números de relatórios no QuickBooks 2017 - dummies

Como formatar fontes e números de relatórios no QuickBooks 2017 - dummies

A guia Fontes e números permite você altera a fonte para peças selecionadas de informações do relatório do QuickBooks. Use a caixa de seleção Alterar fonte para selecionar o bit de informações de relatório que deseja alterar. Após essa seleção, clique no botão Alterar fonte para exibir uma caixa de diálogo. A caixa de diálogo Etiquetas de coluna aparece, ...

Relação de porcentagem de margem bruta e QuickBooks 2012 - manequins

Relação de porcentagem de margem bruta e QuickBooks 2012 - manequins

A relação de porcentagem de margem bruta é um dos vários índices de rentabilidade que você pode usar junto com o QuickBooks 2012 para analisar sua rentabilidade. Também conhecido como o índice de margem de lucro bruto, a porcentagem de margem bruta mostra o quanto uma empresa deixou de pagar depois de pagar o custo dos bens vendidos. A margem bruta é o que paga ...

Escolha dos editores

Manualmente Focagem de uma câmera Canon Rebel T3 Series em Live View - dummies

Manualmente Focagem de uma câmera Canon Rebel T3 Series em Live View - dummies

Foco manual é o mais fácil das opções de foco Live View em uma Canon EOS Rebel T3 ou T3i, e na maioria dos casos, é mais rápido também. Basta colocar o interruptor da lente na posição MF se estiver usando a lente do kit ou uma lente com características semelhantes. Em seguida, toque o anel de focagem da lente para ...

Bloqueando configurações de Autoexposição no Rebel T6i / 750D - dummies

Bloqueando configurações de Autoexposição no Rebel T6i / 750D - dummies

Para ajudar a garantir uma exposição adequada, sua A câmera Rebel T6i / 750D mede continuamente a luz até o momento em que pressiona o botão do obturador completamente para atirar na imagem. Nos modos de exposição automática - ou seja, qualquer modo, mas M - a câmera também mantém ajustando as configurações de exposição conforme necessário. Para a maioria das situações, esta abordagem funciona de forma ótima, resultando ...

Menu Funções em sua Canon EOS Rebel T3 / 1100D - manequins

Menu Funções em sua Canon EOS Rebel T3 / 1100D - manequins

Você acessa muitos da Canon As características da câmera EOS Rebel T3 / 1100D através de menus internos, que, de forma conveniente, aparecem no monitor quando você pressiona o botão Menu, localizado no topo do canto superior esquerdo da câmera. Os recursos são agrupados nos menus descritos na tabela abaixo. Algumas funções de menu e até mesmo menus inteiros aparecem ...

Escolha dos editores

Como atrair com a ferramenta Lasso magnético em Photoshop CS6

Como atrair com a ferramenta Lasso magnético em Photoshop CS6

A ferramenta Lasso mais complicada para usar no Photoshop CS6 é a ferramenta Lasso magnético. A ferramenta Lasso magnético funciona analisando as cores dos pixels entre os elementos em primeiro plano e os elementos em segundo plano. Então, ele encaixa na borda entre os elementos, como se a borda tivesse uma atração magnética ...

Como aplicar o filtro de desfocagem da lente no Photoshop CS6 - manequins

Como aplicar o filtro de desfocagem da lente no Photoshop CS6 - manequins

Se você usar um borrão de lente Filtro em um canal alfa no Photoshop CS6, o canal alfa atua como um mapa de profundidade, imitando a profundidade de campo criada pela abertura na câmera. A profundidade de campo se relaciona com o plano de foco ou como os elementos de primeiro plano focados são quando você os compara com ...

Como Auto-Blend Layers no Photoshop CS6 - dummies

Como Auto-Blend Layers no Photoshop CS6 - dummies

O comando Auto-Blend no Photoshop Creative A Suite 6 ajuda a suavizar as costuras reveladoras ou incoerências de cores estranhas que ocorrem ao combinar tiros com diferentes exposições ou configurações de contraste. Você também pode usar o comando File → Automate → Photomerge para combinar imagens. Crédito: © iStockphoto. com / Chrisp0 Imagem # 7310234 Você também pode usar este comando para misturar um ...