Antworten
Seite 2 von 51 ErsteErste 1 2 3 4 12 ... LetzteLetzte
Ergebnis 11 bis 20 von 502

Thema: [Simulator] SiedlerSim - Kampfsimulator für Siedler Online

  1. #11
    Neuankömmling Avatar von NudeRaider
    Registriert seit
    Jan 2011
    Ort
    Steppenwald
    Beiträge
    9
    Welt
    Steppenwald
    So, diesmal habe ich etwas mehr Zeit zum schreiben.
    Zuerst einmal ein großes Lob, der Simulator ist definitiv der Beste von allen Verfügbaren. Dicht gefolgt von Asipak's Webbasiertem der durch die Links zu Simulationen trumpfen kann. Bei Deinem gefällt mir sehr gut die Aufschlüsselung der Kampfergebnisse. Hier sieht man wirklich was passiert und wo man drehen muss um das Ergebnis zu verbessern. Weiter so!

    Zitat Zitat von PeterPollack Beitrag anzeigen
    Die neue Version enthält alle bis auf die letzte deiner Anregungen.
    Das sind gute Neuigkeiten.

    Zitat Zitat von PeterPollack Beitrag anzeigen
    Ob die dargestellten Ergebnisse beim Abbrechen sinnvoll sind, kann ich noch nicht garantieren.
    Das kann man auch nicht erwarten. Die Funktion is auch eher dazu gedacht, dass wenn man anhand der vorläufigen Ergebnisse neu optimieren (mit weniger Einheiten) oder manuelle Eingaben machen möchte.

    Zitat Zitat von PeterPollack Beitrag anzeigen
    Für die Waldraud findet der Simulator 100S+100LB oder 140M+60LB, also durchaus brauchbare Ergebnisse.
    Komisch, bei mir hat 200R ausgespuckt. Vllt hatte ich nicht die neueste Version? Oder ich hab mich bei der Eingabe vertan...
    Naja wenn er diese Ergebnisse liefert dann passts ja.

    EDIT:
    Nope, bei mir spuckt er auch mit der neuen Version wenn ich R, M, C, S, B, LB gegen 1 Waltraud optimieren lasse immer 200R aus nach der "1. Optimierungsrunde" wo er 200R mit 180R und jeweils 20 der anderen Einheiten vergleicht. Kosten sind immer 202 (wieso das eigentlich? Wenn ich LB oder S mit hinein mische müssten doch die Kosten gegenüber nur R steigen oder?) und daher stellt der Optimierer keine Verbesserung fest und gibt 200R als Optimum aus.

    Außerdem hat sich ein Fehler bei den Popups eingeschlichen. Der Erfahrungswert hat nun immer eine 0 in geschweiften Klammern vorneangestellt. Beispiel:

    Erfahrungspunkte: {0}3

    Ich benutze Windows 7 SP1, 64 Bit, mit .NET Framework 4.0 Client Profile und Athlon X2 CPU, falls das einen Unterschied macht.

    EDIT2: Ein Bild sagt mehr als 1000 Worte:
    Geändert von NudeRaider (07.03.11 um 12:32 Uhr)

  2. #12
    Architekt des Wuselimperiums Avatar von Asipak
    Registriert seit
    Nov 2010
    Beiträge
    958
    Welt
    Grünland
    Den Fehler kann ich bestätigen. Wenn ich außerdem eine Simulation zur Berechnung des optimalen Einheitenverhältnisses starte und die laufende Simulation stoppe, ist die Auswahlbox für die Anzahl der Durchläufe nicht mehr deaktiviert respektive ausgegraut. Stelle ich dann z.B. 1 ein und starte die Optimierung von vorne, gibt es eine Fehlermeldung.
    Value of ' ' is not valid for 'Value'. 'Value' should be between 'minimum' and 'maximum'. Parametername: Value
    Ansonsten ist das wirklich eine tolle Sache. An der Performanceschraube müsstest du allerdings noch etwas drehen.

  3. #13
    Neuankömmling Avatar von NudeRaider
    Registriert seit
    Jan 2011
    Ort
    Steppenwald
    Beiträge
    9
    Welt
    Steppenwald
    Zitat Zitat von Asipak Beitrag anzeigen
    Ansonsten ist das wirklich eine tolle Sache. An der Performanceschraube müsstest du allerdings noch etwas drehen.
    In 8 Sekunden 120 Simulationen find ich schon ganz ordentlich. Aber schneller ist natürlich immer besser.

  4. #14
    Architekt des Wuselimperiums Avatar von Asipak
    Registriert seit
    Nov 2010
    Beiträge
    958
    Welt
    Grünland
    In 8 Sekunden 120 Simulationen find ich schon ganz ordentlich.
    Naja, bei 20 Simulationen pro Konstellation kommt schon einiges zusammen. Und wenn demnächst noch Simulationen mit den neuen Einheiten und Türmen hinzukommen, kann man sich schon mal einen Tag allein für die Berechnung frei nehmen.

  5. #15
    Wuseler
    Registriert seit
    Jan 2011
    Beiträge
    172
    Welt
    Windfeuertal
    Die 2 kleineren Fehler sollten behoben sein. Die Waldraud allerdings hat mir jetzt 3h Kopfzerbrechen bereitet ohne Erfolg. Die Kosten von 202 ergeben sich aus 200 toten Rekruten + 1 totem General + 1 überlebenden Waldraud. Da alle angrenzenden Kombinationen den gleichen Wert haben, findet er keine Stelle an der er weiter optimieren kann. Es gibt eine Lösung. Allerdings ist sie mit R, M + LB schwer zu finden. Es gibt glaube ich nur 4 Kombinationen die kleiner 202 Kosten haben.

    Wie gesagt, bisher ist mir noch keine sinnvolle Verbesserung eingefallen. Ich denke aber weiter drüber nach. Allerdings muss ich zu meiner Verteidigung sagen, daß eine optimale Lösung nie Rekruten enthalten wird, wenn es auch Milizen gibt (Kostenberechnung wie im Simulator).

    PS:
    Die 120 Simulationen sind in unter 2 Sekunden durch.

  6. #16
    Neuankömmling Avatar von NudeRaider
    Registriert seit
    Jan 2011
    Ort
    Steppenwald
    Beiträge
    9
    Welt
    Steppenwald
    Mein Vorschlag war ja den angerichteten Schaden mit zu berücksichtigen wenn es "keine Lösung" gibt.
    Lässt sich das denn nicht irgendwie umsetzen?

  7. #17
    Architekt des Wuselimperiums Avatar von Asipak
    Registriert seit
    Nov 2010
    Beiträge
    958
    Welt
    Grünland
    daß eine optimale Lösung nie Rekruten enthalten wird, wenn es auch Milizen gibt
    Du könntest die Einheiten gewichten, z.B. Rekrut := 1 und Miliz := 2, sodass im Beispiel 2 tote Rekruten einer toten Miliz entsprechen. Die optimale Gewichtung müsste man dann vielleicht durch ausprobieren ermitteln.

  8. #18
    Wuseler
    Registriert seit
    Dec 2010
    Beiträge
    180
    Welt
    Windfeuertal
    @PeterPollack

    NudeRaider hat recht, wenn du den Schaden, den die Waltraud nimmt, berücksichtigst, dann hat ein Optimierer Chancen da voran zu kommen. Problem dabei ist aber, das der Kampf ja stochastisch ist, weshalb der Schaden mit schlechteren Armeen ja auch mal größer ausfallen könnte. Vielleicht setzte bei der Waltraud eine zusätzliche Optimierungsbedingung ein, welche nur greift, wenn die erste nichts bringt, und welche den Erwartungswert beim Schaden zugrunde legt. So nimmst du den Zufall raus.

    @Asipak

    Wenn du die Einheitentypen unterschiedlich gewichtest, egal wie, werden dann immer besser gewichtete Einheiten bevorzugt. Das hat aber den Nachteil, dass man vielleicht nicht die beste Variante findet. Schließlich fließt in die Gewichtung auch eine gewisse Erwartung/Erfahrung ein, die aber nicht richtig sein muss. Zumindest bei diesem Problem hilft dieser Ansatz nicht wirklich, denke ich zumindest...
    Geändert von soegal (08.03.11 um 10:34 Uhr)
    "Parmesan und Partisan, wo sind sie geblieben? Partisan und Parmesan, alles wird zerrieben..."
    - Matthias Beltz -

  9. #19
    Wuseler
    Registriert seit
    Dec 2010
    Beiträge
    180
    Welt
    Windfeuertal
    @PeterPollack

    So, nachdem ich mir das Programm jetzt mal getestet habe, jetzt noch ein paar Vorschläge.(Das oben waren nur allgemeine Überlegungen.)
    1. Da du nur die optimalen Einheiten für einen Angriff bestimmst, reicht es vollkommen aus nur den Erwartungswert zu nehmen und nicht die 20 Durchläufe zu rechnen. Erst bei mehreren Wellen wären auch die minimalen bzw. maximalen Werte an getöteten Gegnern interessant, da man ja mit denen die zweite Welle berechnen müsste.
    2. Vom Erwartungswert müsstest du allerdings etwas abziehen, um der Tatsache Rechnung zu tragen, dass überschüssiger Schaden nicht auf eine neue Einheit übertragen wird. (Also dass es "-20HP" Werte gibt.) Wie groß genau der Abschlag ist, müsste man mal ausknobeln, vielleicht komm ich nachher noch dazu...
    3. Deine Optimierung sucht ja den jeweiligen Nachbarn aus, der eine Verbesserung der Kostenfunktion einbringt. Dies ist zwar eine schön einfache Methode, ist aber nur geeignet um lokale Minima zu finden. Das siehst du ja schon bei der Waltraud, für den Optimierer sind die 200R ein lokales Optimum, da es ja keine Verbesserungen gibt. Um zumindest etwas besser Chancen auf ein globales Minimum zu haben, darfst du nicht nur von einer Startkonfiguration ausgehen. Du müsstest bei allen Einheiten mit 200 beginnen, das kann man ja nacheinander ablaufen lassen. Also erst mit 200R beginnen, dann mit 200M usw.. Das behebt dann auch das 200R Probelm bei der Waltraud.
    4. Die Geschwindigkeit ist wirklich ziemlich miserabel, sorry, dass ich das so sagen muss. Denn allein ein einzelner Durchlauf mit 400 Einheiten nimmt schon locker über eine Sekunde bei mir in Anspruch.(Ok, ich hab nicht mehr den schnellsten Rechner, aber das geht ja vielen so. Außerdem ist der Simulator vom Asipak deutlich schneller.) Wenn man dann die Optimierung mit 400 Einheiten startet, kann man mindestens mit einer halben Stund rechnen, ich denk da kann man noch was drehen. (Wenn du meinen ersten Punkt umsetzt, sollte sich die Optimierung erheblich beschleunigen...)

    Noch ein Beispiel wie ich dass mit dem Erwartungswert meine:

    200R gegen 200PL
    erwarteter Schaden(pro Einheit) 27 gegen 24
    1. Runde Schaden 5400 gegen 4800
    Überlebende 80R gegen 65PL
    2. Runde Schaden 2160 gegen 1560
    Überlebende 41R gegen 11PL
    3. Runde Schaden 1107 gegen 264
    Überlebende 34R gegen 0PL

    Die Simulation spuckt hier Min. 35R, Durchschnitt 30R und Max. 22R aus, deshalb auch der von mir vorgeschlagene Abschlag auf den erwarteten Schaden.

    EDIT: Okey, dass mit dem erwarteten Schaden funktioniert so nicht, ich überleg mr was anderes
    Geändert von soegal (08.03.11 um 12:59 Uhr)
    "Parmesan und Partisan, wo sind sie geblieben? Partisan und Parmesan, alles wird zerrieben..."
    - Matthias Beltz -

  10. #20
    Wuseler
    Registriert seit
    Dec 2010
    Beiträge
    180
    Welt
    Windfeuertal
    Hab mir das mit dem erwarteten Schaden leichter vorgestellt, als es im Endeffekt war. Glaube aber eine Lösung gefunden zu haben. Du müsstest mal jede Einheit gegen jede andere Einheit sampeln, um durchschnittliche Werte zu erhalten. (Kann man eventluell auch berechnen, aber Stochastik ist nicht meine Stärke.) Also ich stell mir das so vor:

    Du lässt 100R gegen 100PL eine Runde lang kämpfen, das am besten 100 mal. Daraus kannst du dann bestimmen, wieviele PL im Schnitt von den R getötet werden und umgekehrt. Das selbe machst du dann für 100R gegen 100SL usw.. Damit erhälst du dann eine Kreuztabelle, mit gegenseitigen Tötungsverhältnissen, die man ja beliebig skalieren kann.

    Beispiel(nur wahllose Zahlen): R tötet PL mit 0,6, PL tötet R mit 0,4

    200R gegen 200PL wäre dann
    1. Runde 200PL - 200R*0,6 = 80PL || 200R - 200PL*0,4 = 120R
    2. Runde 80PL - 120R*0,6 = 8PL || 120R - 80PL*0,4 = 88R
    usw...

    Wichtig ist, dass du nur mit einer Runde die Vergleichswerte ermittelst, denn in der zweiten Runde sind ja nicht mehr gleich viele R und PL vorhanden, wodurch sich das Verhältnis verschieben würde.

    Wenn du diese Kreuztabelle einmal erstellt hast, kannst du dann die 20 Durchläufe bei deiner Optimierung durch die Durchschnittswerte ersetzen, wodurch du erheblich schneller wirst.
    Geändert von soegal (08.03.11 um 14:13 Uhr)
    "Parmesan und Partisan, wo sind sie geblieben? Partisan und Parmesan, alles wird zerrieben..."
    - Matthias Beltz -

Antworten
Seite 2 von 51 ErsteErste 1 2 3 4 12 ... LetzteLetzte

Berechtigungen

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

Die von uns verwendeten Ubisoft-Cookies sollen sicherstellen, dass du unsere Websites optimal genießen kannst. Durch die Nutzung dieser Website erklärst du dich mit der Nutzung dieser Cookies einverstanden. Weitere Informationen zum Datenschutz.