Ein Freund von mir hat mir tatsächlich eine sehr interessante Frage zum Thema Informatik gestellt, und ich habe lange daran festgehalten.
Das Problem ist: Sie müssen reisen km. Die einzige Tankstelle befindet sich am Startpunkt. Ihre maximale Kraftstofftankkapazität reicht gerade aus Wenn Sie km unterwegs sind, dürfen Sie Kraftstoffe mitten auf der Reise "begraben" und für später aufbewahren.
Zum Beispiel können Sie reisen km zuerst und begraben Dort Kraftstoff im Wert von km und dann wieder tanken, damit Sie das nächste Mal den Kraftstoff abrufen können km treibt dich an und erreicht damit weiter.
Sie müssen den effizientesten Weg finden, um das Ziel zu erreichen.
Was ich mir vorgestellt habe, ist die dynamische Programmierung. Sie müssen jedoch davon ausgehen, dass die zurückgelegte Strecke vor jedem Auftanken eine Ganzzahl in Kilometern ist. Andernfalls ist es schwierig, dies mit DP zu tun. Ich habe noch keine lineare Programmierung versucht , aber ich denke es ist möglich.
Hast du eine Idee, wie es geht? Oder irgendwelche Hinweise?
Am wichtigsten ist, um welche Art von CS-Problem handelt es sich? ist es NP schwer? Ist es maschinell lösbar oder eher ein mathematisches Problem?
Noch ein paar Gedanken:
- Da es sich um einen kontinuierlichen Weg handelt, ist die Frage, ob es sich um NP handelt, vielleicht etwas albern, aber ich bin immer noch sehr neugierig.
- und könnte absichtlich ausgewählt werden, um komplexe Berechnungen zu vermeiden.
- Gibt es eine gierige Lösung? Ich kann mir noch keine vorstellen.
- Ich denke jetzt, dass es eher ein mathematisches Musterfindungsproblem ist, obwohl mein Freund behauptet, es sei ein cs-Problem, also entscheide ich mich, diesen Beitrag beizubehalten.
Und wenn Sie wissenschaftliche Artikel oder Lehrbücher dazu haben, sagen Sie mir bitte, ich weiß gar nicht, wo ich anfangen soll.