Ergebnis 1 bis 3 von 3

Thema: Suche: Heuristik um den nächsten Rohstoff zu finden

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Im Prinzip kannst du das direkt in deinem A* einbauen. Du musst lediglich den approx_value anders berechnen.
    Code:
    approx_distance = (1.0/0.0) # = infinity
    for rohstoffquelle in rohstoffquellen
      distance = luftlinie(current_node, rohstoffquelle)
      approx_distance = distance if approx_distance > distance
    end
    approx_value = approx_distance * MINIMALE_WEGKOSTEN
    Und die Abbruchsbedingung prüft jetzt nicht mehr, ob du auf dem Zielfeld angekommen bist, sondern ob du auf irgendeiner Rohstoffquelle angekommen bist.

    Ansonsten ist das zu 100% derselbe Algorithmus wie dein Pathfinding.

    Ob eine zusätzliche Heuristik notwendig ist, hängt wohl von der Anzahl der Rohstoffquellen ab.

  2. #2
    Es funktioniert einwandtfrei derzeit. Vielen Dank.

    Allerdings dachte ich mir, dass es vielleicht dennoch sinnvoll wäre einige Knoten kategorisch auszuschließen. Vielleicht könnte ich die Anzahl der zu überprüfenden Knoten halbieren? Also, dass nur die erste Hälfte aller Rohstoffquellen via Pathfinding betrachtet wird?
    Denn die gesamte Liste ist bereits nach ihrem Abstand (Luftlinie) zum Abgabepunkt sortiert.
    Ich bin ein wenig traumatisiert was die Performance angeht denke ich, ich versuche wirklich das Maximum herauszukitzeln, da ich noch einiges vorhabe in das Projekt einzubauen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •