Adaptiver GA-Zyklus, Pool-Groessen-Panel, Konfig direkt aus cfg-Dateien
Zyklus/Farm: - neuer adaptiver Modus: grosse Startpopulation, die je Generation schrumpft (Start/Schrumpfung/MinPopulation) und bei Konvergenz stoppt (Geduld Generationen ohne Verbesserung >= Schwelle, max MaxGenerationen) - Zyklus.laden erkennt adaptives Profil am Feld 'Start' (Modus adaptiv), sonst klassisch (Abfolge/Anzahl); Farm._LaufStatisch/_LaufAdaptiv - neue Trunkierungs-Selektion Farm.PopulationBegrenzen - [Adaptiv]-Profil in zyklus.cfg (dokumentiert) Entwicklungsgrafik: - zweites Panel unter dem Verlauf zeigt die Anzahl erzeugter Verteilungen im Pool je Schritt (gemeinsame Zeitachse) Konfiguration: - platz.cfg entfernt; zyklus.cfg/strafen.cfg werden direkt aus $PLATZ_CFG geladen - neuer Schalter --zyklus-art (Default Adaptiv) waehlt das GA-Profil - web/main.py analog: direktes Laden, Profil via PLATZ_ZYKLUSART Doku (README.md, CLAUDE.md) und Tests entsprechend aktualisiert; Beispiele mit dem Adaptiv-Default neu berechnet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
[Config]
|
||||
Zyklusdatei=$PLATZ_CFG/zyklus.cfg
|
||||
Zyklusart=Easy
|
||||
Strafendatei=$PLATZ_CFG/strafen.cfg
|
||||
|
||||
|
||||
@@ -20,3 +20,27 @@ Anzahl='10,'+'5,x,2,x,x,'*3+'1'
|
||||
Abfolge='e,s'
|
||||
Anzahl='20,1'
|
||||
|
||||
# Adaptives Profil: keine feste Aktionsliste, sondern eine Generationen-
|
||||
# schleife (siehe Farm._LaufAdaptiv in libs/ga.py). Erkannt wird es am Feld
|
||||
# 'Start'. Es wird nicht mit harten Zahlen je Aktion gearbeitet, sondern nur
|
||||
# mit einem Anfangswert und einem Abbruchkriterium:
|
||||
# Start = Groesse der Startpopulation (viele Verteilungen zu
|
||||
# Beginn; sie schrumpft dann von Generation zu Generation)
|
||||
# MutationProLoesung = wie oft jede Loesung je Generation mutiert wird
|
||||
# Schrumpfung = Faktor (<1), um den die behaltene Population je
|
||||
# Generation kleiner wird (0.85 = -15 %% pro Generation)
|
||||
# MinPopulation = untere Schranke, damit die Population nicht auf 1 faellt
|
||||
# MaxGenerationen = harte Obergrenze der Generationen
|
||||
# Geduld = nach so vielen Generationen ohne nennenswerte
|
||||
# Verbesserung wird abgebrochen (dein "nach 3 Zyklen")
|
||||
# Schwelle = um so viel muss sich der beste Wert mindestens
|
||||
# verbessern, damit es als Verbesserung zaehlt
|
||||
[Adaptiv]
|
||||
Start=40
|
||||
MutationProLoesung=2
|
||||
Schrumpfung=0.85
|
||||
MinPopulation=5
|
||||
MaxGenerationen=50
|
||||
Geduld=3
|
||||
Schwelle=1.0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user