Um amigo meu realmente me fez uma pergunta muito interessante relacionada à ciência da computação, e eu fico presa a ela há muito tempo.
O problema é: você tem que viajar km. O único posto de gasolina está no ponto de partida. Sua capacidade máxima do tanque de combustível é suficiente para km de viagem, você pode "enterrar" combustíveis no meio da viagem e guardá-lo para mais tarde.
Por exemplo, você pode percorrer km primeiro e enterrar km de combustível lá, e depois voltar a abastecer, para a próxima vez que puder recuperar os km de combustível que você deixou e chegar mais longe com ele.
Você precisa encontrar a maneira mais eficiente de chegar ao destino.
O que pensei em usar programação dinâmica, no entanto, você deve assumir que a distância percorrida antes de cada reabastecimento é um número inteiro em quilômetros, caso contrário, é difícil fazê-lo com DP, ainda não tentei programação linear , mas acho que é possível.
Você tem alguma idéia de como fazer isso? Ou alguma dica?
Mais importante ainda, que tipo de problema de cs é esse? é NP difícil? É solucionável por máquina ou é mais um problema matemático?
Mais alguns pensamentos:
- Como é um caminho contínuo, perguntando se é NP pode ser um pouco tolo, mas ainda estou muito curioso.
- e podem ser escolhidos deliberadamente para evitar cálculos complexos.
- Existe uma solução gananciosa? Ainda não consigo pensar em nada.
- Agora acho que é mais um problema de localização de padrões matemáticos, embora meu amigo afirme que é um problema de cs, por isso, decido manter este post.
E se você tiver artigos científicos ou livros didáticos relacionados a isso, diga-me, não sei por onde começar.