Minimax-Algorithmus über alle Kanten möglich? - Kanten darstellen

  • Themenstarter Themenstarter Xyz1
  • Beginndatum Beginndatum

Ist's möglich?

  • Das stelle ich mir ganz und gar unmöglich vor

    Stimmen: 0 0,0%
  • Ja, und zwar...

    Stimmen: 0 0,0%
  • Ich enthalte mich

    Stimmen: 2 100,0%

  • Anzahl der Umfrageteilnehmer
    2
X

Xyz1

Gast
Guten Morgen, ich frage ja nicht viel, aber jetzt habe ich doch eine Frage.
Ist Minimax möglich, in dem man alle Kanten durchläuft? Und wie stellt man die einzelnen Schritte des Algorithmuses dar?
Ich gebe mal folgende Methode:
Java:
    int minValue(Edge edge) {
        int v = +88;
        if (edge.n2.v != -1) {
            v = edge.n2.v;
            edge.addV(v);
            return v;
        }
        edge.addV(v);
        for (Edge e : graph.get(edge.n2.toString())) {
            int mv = maxValue(e);
            if (mv < v) {
                v = mv;
            }
        }
        edge.addV(v);
        return v;
    }

maxValue() sieht genau so aus. edge stellt eine Kante zwischen n1 und n2 dar.
Was muss in der Methode addV() von Edge stehen, um die einzelnen Schritte zu veranschaulichen? Alpha-Beta-Pruning sei hier auch mal in den Raum geworfen.
Einen tollen Tag 😀 DW
 
Also es funktioniert mittlerweile, indem ich die Kanten beschrifte - und an drei Stellen edge.addAbv(a, b, v); aufrufe,
aber keine Ahnung, warum.

minValue() versucht, den kleinsten Wert zu kriegen,
maxValue() versucht, den größten Wert zu kriegen,
alles andere verstehe ich nicht. Jemand eine Erklärung?

Ich meine, so kompliziert ist es nicht, damit konnte ja auch locker der Weltmeister in Go bezwungen werden, aber ich muss es ja auch verstehen.
 

Zurück
Oben