# Abfolge: Kommagetrennte Liste von Aktionsbuchstaben, die den Ablauf # eines GA-Zyklus definieren. Jede Aktion greift auf den # aktuellen Loesungspool zu (siehe Farm in libs/ga.py): # e = erzeugen (neue zufaellige Loesungen erzeugen) # s = selektieren (die besten Loesungen auswaehlen) # S = zufaellig auswaehlen (zufaellige Loesungen auswaehlen) # m = mutieren (bestehende Loesungen mutieren) # j = behalten (alten Loesungspool als Eltern behalten) # z = neue Generation (Pool durch die neu erzeugten Loesungen ersetzen) # # Anzahl: Kommagetrennte Liste von Zahlen, die zu jeder Aktion in der # Abfolge gehoert und angibt, wie viele Loesungen davon # betroffen sind ('x' = Aktion braucht keine Anzahl, z.B. j/z). # [Easy] Abfolge='e,'+'s,z,m,j,z,'*3+'s' Anzahl='10,'+'5,x,2,x,x,'*3+'1' [Simple] 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