Funktion minimieren -- Monte Carlo



  • Hallo,

    ich habe zwei dynamische Systeme mit moderat vielen (~10) Parametern und ich möchte eines davon vom Verhalten her an das andere angleichen. Dafür habe ich ein Testprotokoll, dessen Ergebnisse ich für die Qualität Q der Übereinstimmung benutze. Nun möchte ich die Q bezüglich der Parameter von System 1 minimieren. Das Protokoll braucht vielleicht pro Durchlauf ein paar Sekunden und es gibt sicher viele lokale Minima die ich umgehen müsste. Was gibt es da für Verfahren? Monte-Carlo-Minimierung?



  • Du suchst nach dem Heiligen Gral!
    Die vielen lokalen Minima sorgen dafür, daß auch ein kluger Mensch mit viel Zeit im Prinzip dauernd verkackt. Er stützt sich dann auf "Intuition" und macht gewöhnlich den Rechner doch noch platt (wenn er Genug Zeit zum angucken hat).
    Ich würde alle Messungen aufnehmen und verschiedene Verfahren implementieren, die man typischerweise nimmt, wenn das Problem das Verständnis übersteigt. Genetische Algorithmen, neuronale Netze, fuzzy control, natürlich auch bloßes Würfeln, es als Spiel auffassen und alle üblichen Lernstrategien nehmen...
    Wenn Du Glück hast, hast Du ein Problem, das zufällig gegen eine der Methoden total schwach ist und Du knackst es damit.



  • volkard schrieb:

    Du suchst nach dem Heiligen Gral!

    Ich weiß!

    Genetische Algorithmen, neuronale Netze, fuzzy control, natürlich auch bloßes Würfeln, es als Spiel auffassen und alle üblichen Lernstrategien nehmen...

    Sind Genetische Algorithmen wirklich so gut im vergleich mit einfacheren MC-Strategien?
    Außerdem wollte ich noch nach einer guten Bibliothek fragen die ein paar davon implementiert. Ich setze nämlich auf Arbeitsteilung: Ich definiere eine gute Metrik und jemand anderes schreibt den Algo. 😉



  • Foo Bar Baz schrieb:

    Sind Genetische Algorithmen wirklich so gut im vergleich mit einfacheren MC-Strategien?

    Nein. Fast immer fallen sie zurück aufs Niveau einfacherer MC-Strategien http://www.acooke.org/malbolge.html . Mit genau den selben Vor- und Nachteilen und ein wenig mehr Rechenzeit. Aber dagegen hat uns der Himmel ja den I7 geschenkt.
    Aber manchmal hat man damit Glück und dann geht die Post ab.
    Ich habe zu 95% Pech, naja, vielleicht auch, weil ich bei mit unzugänglichen Problemen immer mal probehalber mit der genetischen Keule draufhaue. Es könnte ja sein, daß dabei die Schale geknackt wird. Deine Beschreibung fühlt sich für mich erstmal nach einem klassischen Pechfall an.


  • Mod

    Also prinzipiell kann MC auch trotz vieler lokaler Minima das globale Minimum finden. Aber das ist dann natürlich nicht mehr ganz trivial (aber auch nicht übermäßig schwer):

    Allereinfachste Gegenmaßnahme: Die "Temperatur" erhöhen. Das hilft dir gegen viele kleine lokale Minima.

    Schwierigere Gegenmaßnahmen: Darüber zerbrechen sich Computerphysiker seit Jahrzehnten die Köpfe. Um dir mal zwei Begriffe zur Recherche zu geben: Umbrealla sampling und Parallel tempering.



  • volkard schrieb:

    Foo Bar Baz schrieb:

    Sind Genetische Algorithmen wirklich so gut im vergleich mit einfacheren MC-Strategien?

    Nein. Fast immer fallen sie zurück aufs Niveau einfacherer MC-Strategien http://www.acooke.org/malbolge.html . Mit genau den selben Vor- und Nachteilen und ein wenig mehr Rechenzeit. Aber dagegen hat uns der Himmel ja den I7 geschenkt.
    Aber manchmal hat man damit Glück und dann geht die Post ab.
    Ich habe zu 95% Pech, naja, vielleicht auch, weil ich bei mit unzugänglichen Problemen immer mal probehalber mit der genetischen Keule draufhaue. Es könnte ja sein, daß dabei die Schale geknackt wird. Deine Beschreibung fühlt sich für mich erstmal nach einem klassischen Pechfall an.

    Jetzt muss ich nochmal nachhaken: Benutzt du was selbstgestricktes für die genetischen Algorithmen oder eine öffentlich verfügbare Bibliothek?



  • Foo Bar Baz schrieb:

    Jetzt muss ich nochmal nachhaken: Benutzt du was selbstgestricktes für die genetischen Algorithmen oder eine öffentlich verfügbare Bibliothek?

    Selbstgestrickt und jedesmal anders.


Anmelden zum Antworten