Eu tenho um problema em relação à seguinte situação.
Eu tenho duas matrizes de números como este:
index/pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Array 1(i): 1 2 3 4 7 5 4 3 7 6 5 1 2 3 4 2
Array 2(j): 4 4 8 10 10 7 7 10 10 11 7 4 7 7 4
Agora, suponha que a segunda matriz seja muito difícil de calcular, mas notei que se eu adicionar
A [i] + A [i + 1]
na matriz 1, recebo o número muito próximo do número A [j] na matriz 2.
Minha solução é uma heurística ou aproximação?
Se eu tivesse um motivo para acreditar que nunca ultrapassarei o valor de A [j] por + -x com esse algoritmo e possa provar isso, minha solução seria uma heurística ou aproximação?
Existe alguma literatura que lida com questões heurísticas versus de aproximação para problemas da classe P, em que a solução pode ser alcançada em tempo polinomial, mas a entrada é grande demais para que um algoritmo de tempo poli seja prático.
obrigado
fonte
Respostas:
Uma heurística é essencialmente um palpite, ou seja, o caso que você descreve ("notei que está próximo", você não tem uma prova disso) é uma heurística. Como está resolvendo o problema do vendedor ambulante , iniciando em um vértice aleatório e indo para o mais próximo ainda não visitado cada etapa. É uma ideia plausível , que não deve dar uma solução muito ruim. Nesse caso, pode ser demonstrado que nem sempre é uma boa solução.
Geralmente, um algoritmo de aproximação fornece uma solução aproximada, com algum tipo de garantia de desempenho (ou seja, resolve TSP, e o custo total nunca é reduzido em mais de um fator de 2; ou melhor ainda, resolve TSP e, dependendo de <alguns parâmetros que podem ser variados> a solução nunca é pior do que a ideal em mais de um fator , em que depende de <parâmetros>).1+ϵ ϵ
fonte
Você pode ver esta resposta muito interessante sobre heurística na Wikipedia:
"uma heurística é uma técnica projetada para resolver um problema mais rapidamente quando os métodos clássicos são muito lentos. O objetivo de uma heurística é produzir com rapidez suficiente uma solução que seja boa o suficiente para resolver o problema em questão".
A heurística pode derivar da teoria ou da experiência experimental, mas os algoritmos de aproximação têm base sólida na teoria (solução comprovável).
fonte
Quanto à sua última pergunta, não existe uma teoria separada para algoritmos de aproximação para problemas solucionáveis em tempo polinomial. De fato, pode ser que . Alguns exemplos de algoritmos de aproximação para problemas em incluem algoritmos para álgebra linear numérica e geometria computacional. Veja a pergunta Algoritmos de aproximação para problemas em P para obter mais.P=NP P
fonte