diff --git a/CLAUDE.md b/CLAUDE.md index d5bc31a..151fe2e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,18 +70,27 @@ the same layout: - Output (written back into the same `--indir` directory): `TischePersonen.txt` (table → seated people) and `PersonenTische.csv` (person → table, sorted). -`cfg/platz.cfg` (still located via `$PLATZ_CFG`, independent of `--indir`) only selects the -GA cycle/penalty config: -- `cfg/zyklus.cfg` — defines the GA run schedule ("Zyklus"): a sequence of actions - (`e`=erzeugen/create, `s`=selektieren/select-best, `S`=random-select, `m`=mutieren/mutate, - `j`=behalten/keep parents, `z`=neue Generation/advance generation) each with a count. +The GA cycle and penalty scheme are read directly from `$PLATZ_CFG/zyklus.cfg` and +`$PLATZ_CFG/strafen.cfg` (independent of `--indir`). There is no `platz.cfg` indirection any +more — it was removed; `zyklus.cfg`/`strafen.cfg` are loaded straight from `$PLATZ_CFG`, and +the GA profile is chosen by the `--zyklus-art ` switch (default `Adaptiv`). + +- `cfg/zyklus.cfg` — defines the GA profiles. Two flavours: **static** profiles (`Easy`, + `Simple`) give an explicit sequence of actions (`e`=erzeugen/create, `s`=selektieren/ + select-best, `S`=random-select, `m`=mutieren/mutate, `j`=behalten/keep parents, `z`=neue + Generation/advance generation) each with a count (`Abfolge`/`Anzahl`). The **adaptive** + profile (`Adaptiv`, the default) is recognised by a `Start` field and has no fixed action + list: `Zyklus.Modus` becomes `'adaptiv'` and `Farm._LaufAdaptiv()` runs a generation loop + with a shrinking population (`Start`, `Schrumpfung`, `MinPopulation`) and a convergence + stop (`Geduld` generations without an improvement of at least `Schwelle`, capped by + `MaxGenerationen`). Static profiles run via `Farm._LaufStatisch()`. - `cfg/strafen.cfg` — the penalty ("Strafpunkte") table: cost of splitting a group across - tables (by group size and number of splits), cost of a lone person, and per-table - under-utilization penalties. + tables (by group size and number of splits), cost of a lone person, per-table + under-utilization penalties, and (optional `[Abstand]` section) a penalty for the spatial + distance between split-off parts of a group. `tische.ini`/`bestellung.json`/`TischePersonen.txt`/`PersonenTische.csv` are fixed filenames -resolved as `os.path.join(indir, ...)` in `platz.py` — they are no longer configured in -`platz.cfg`. +resolved as `os.path.join(indir, ...)` in `platz.py`. Pass `--tosvg` to additionally write `/Sitzplatzverteilung.svg` via `Sitzplatzverteilung.alsSVG()` (see below). @@ -139,11 +148,12 @@ Domain-agnostic and reusable in principle: `XMLConfig` did not; `CSVConfig` (the web CSV adapter) returns the same 5-tuple. ### Data flow through `platz.py` (`__main__`) -1. Parse `--indir` (required) from the command line via `optparse`. -2. Read `platz.cfg` to locate `zyklus.cfg`/`strafen.cfg` (env-var expansion via - `os.path.expandvars`). -3. Load `Zyklus` (GA schedule), `Strafliste` (penalties), `Tische` (table layout, from - `/tische.ini`). + +1. Parse `--indir` (required) and `--zyklus-art` (default `Adaptiv`) from the command line + via `optparse`. +2. Resolve `zyklus.cfg`/`strafen.cfg` directly as `os.path.join($PLATZ_CFG, ...)`. +3. Load `Zyklus` (GA profile named by `--zyklus-art`), `Strafliste` (penalties), `Tische` + (table layout, from `/tische.ini`). 4. Load `/bestellung.json` via `JSONConfig` → people, groups, VIP group, VIP seat map, group names. 5. Build a `Farm(Zyklus, Sitzplatzverteilung, Tische=..., Gruppen=..., Strafen=..., diff --git a/README.md b/README.md index 260fb30..6f1384a 100644 --- a/README.md +++ b/README.md @@ -98,18 +98,23 @@ receiving the output files for one run — e.g. `work/test1/` or `work/test2/`: To run against a different dataset, create a new folder with a `tische.ini` and `bestellung.json` following the same layout and pass it via `--indir`. -`cfg/platz.cfg` still selects the GA cycle/penalty config (independent of `--indir`): +The GA cycle and penalty scheme are read directly from `$PLATZ_CFG/zyklus.cfg` and +`$PLATZ_CFG/strafen.cfg` (independent of `--indir`); there is no longer a `platz.cfg` +indirection. The GA profile is selected with the `--zyklus-art ` switch (default: +`Adaptiv`). -```ini -[Config] -Zyklusdatei=$PLATZ_CFG/zyklus.cfg -Zyklusart=Easy -Strafendatei=$PLATZ_CFG/strafen.cfg -``` +`cfg/zyklus.cfg` defines the GA profiles. Two styles exist: -`cfg/zyklus.cfg` defines the GA run schedule ("Zyklus") as an `Abfolge` (sequence of -actions) and matching `Anzahl` (counts): `e` create, `s` select best, `S` select randomly, -`m` mutate, `j` keep parents, `z` advance generation. +- **static** profiles (`Easy`, `Simple`) give an explicit `Abfolge` (sequence of actions) + and matching `Anzahl` (counts): `e` create, `s` select best, `S` select randomly, `m` + mutate, `j` keep parents, `z` advance generation. +- the **adaptive** profile (`Adaptiv`, the default) has no fixed action list. It is + recognised by a `Start` field and runs a generation loop: a large starting population + that shrinks each generation (`Schrumpfung`, down to `MinPopulation`) and stops once the + best score fails to improve by at least `Schwelle` for `Geduld` generations (or after + `MaxGenerationen`). + +Select a different profile per run, e.g. `bin/platz.bat --indir work/test2 --zyklus-art Easy`. `cfg/strafen.cfg` defines the penalty scheme: cost of splitting a group across tables (by group size and number of splits), cost of a person sitting alone or without a group-mate at diff --git a/cfg/platz.cfg b/cfg/platz.cfg deleted file mode 100644 index 9bf04b3..0000000 --- a/cfg/platz.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[Config] -Zyklusdatei=$PLATZ_CFG/zyklus.cfg -Zyklusart=Easy -Strafendatei=$PLATZ_CFG/strafen.cfg - - diff --git a/cfg/zyklus.cfg b/cfg/zyklus.cfg index d220e14..2e3fc2a 100644 --- a/cfg/zyklus.cfg +++ b/cfg/zyklus.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 + diff --git a/doc/images/sechs_tische_kreis_dreiergruppen.svg b/doc/images/sechs_tische_kreis_dreiergruppen.svg index 2bd505b..9dea043 100644 --- a/doc/images/sechs_tische_kreis_dreiergruppen.svg +++ b/doc/images/sechs_tische_kreis_dreiergruppen.svg @@ -3,8 +3,8 @@ - - + + @@ -21,8 +21,8 @@ 0 - - + + 0 diff --git a/doc/images/test_entwicklung.svg b/doc/images/test_entwicklung.svg index aa085f8..861ca69 100644 --- a/doc/images/test_entwicklung.svg +++ b/doc/images/test_entwicklung.svg @@ -1,33 +1,43 @@ - + Entwicklung der Loesungsfindung - - - --200 - --168 - --136 - --104 - --72 + + + +-200 + +-168 + +-136 + +-104 + +-72 -40 -Wertigkeit (hoeher = besser) -Zyklus-Aktion (Zeit) -e -s -m - - - +Wertigkeit (hoeher = besser) + + + beste Loesung Durchschnitt schlechteste Loesung +Anzahl erzeugter Verteilungen im Pool + + + +0 + +1 + +3 + +e +s +m +Zyklus-Aktion (Zeit) diff --git a/libs/ga.py b/libs/ga.py index 85a00e7..db209b5 100755 --- a/libs/ga.py +++ b/libs/ga.py @@ -74,13 +74,30 @@ class Zyklus: wann sollen Objekte generiert, gekreuzt, mutiert und selektiert werden wieviele sind davon jeweils betroffen """ + # adaptive Vorgaben, falls das Profil kein eigenes Feld setzt + AdaptivDefaults = { + 'Start': 40, # Groesse der Startpopulation (Anfangswert) + 'MutationProLoesung': 2,# wie oft jede Loesung je Generation mutiert wird + 'Schrumpfung': 0.85, # Faktor, um den die Population je Generation faellt + 'MinPopulation': 5, # untere Schranke der Population + 'MaxGenerationen': 50, # harte Obergrenze der Generationen + 'Geduld': 3, # Generationen ohne Verbesserung bis zum Abbruch + 'Schwelle': 1.0 } # als Verbesserung zaehlende Mindestdifferenz + def __init__(self, Name='default', Abfolge='e,m,s', Anzahl='10,10,10'): self.Name = Name self.Abfolge = Abfolge.split(',') self.Anzahl = Anzahl.split(',') + # 'statisch' = klassische Abfolge/Anzahl abspielen; + # 'adaptiv' = Generationen-Schleife mit Abbruch bei Konvergenz. + self.Modus = 'statisch' + self.Adaptiv = {} def __repr__(self): + if self.Modus == 'adaptiv': + return( "Zyklus: %s (adaptiv)\n" + " Parameter: %s\n" % ( self.Name, self.Adaptiv ) ) return( "Zyklus: %s\n" " Zyklusabfolge: %s\n" " Anzahl : %s\n" @@ -89,15 +106,26 @@ class Zyklus: self.Anzahl ) ) def laden(self, FileName, ZyklusName): config = configparser.ConfigParser() - ZyklusPath= os.path.split( FileName ) - ZyklusPath= os.path.join( FileName ) + ZyklusPath= os.path.split( FileName ) + ZyklusPath= os.path.join( FileName ) config.read( ZyklusPath ) self.Name = ZyklusName + # Adaptives Profil, sobald ein 'Start'-Feld vorhanden ist. Dann wird + # die Aktionsabfolge nicht aus der Config gelesen, sondern von der + # Farm generationenweise erzeugt (mit Abbruch bei Konvergenz). + if config.has_option( ZyklusName, 'Start' ): + self.Modus = 'adaptiv' + self.Adaptiv = dict(self.AdaptivDefaults) + for Feld in self.AdaptivDefaults: + if config.has_option( ZyklusName, Feld ): + self.Adaptiv[Feld] = ast.literal_eval( + config.get( ZyklusName, Feld ) ) + return + self.Modus = 'statisch' Abfolge = _StringAusdruck( config.get( ZyklusName, 'Abfolge' )) Anzahl = _StringAusdruck( config.get( ZyklusName, 'Anzahl' )) self.Abfolge = Abfolge.split(',') self.Anzahl = Anzahl.split(',') - pass class Entwicklung: """Beobachtungsobjekt: zeichnet den Verlauf der Loesungsfindung auf. @@ -138,8 +166,14 @@ class Entwicklung: best, schnitt, schlecht, n)) return r - def alsSVG(self, OutputSVG, Breite=900, Hoehe=500, Rand=60): - """zeichnet den aufgezeichneten Verlauf als SVG-Liniendiagramm""" + def alsSVG(self, OutputSVG, Breite=900, Hoehe=650, Rand=60, PoolHoehe=150): + """zeichnet den aufgezeichneten Verlauf als SVG-Liniendiagramm + + Oberes Panel: Wertigkeit (beste/durchschnittliche/schlechteste + Loesung) ueber die Zyklus-Aktionen. Unteres Panel (PoolHoehe hoch): + Anzahl der erzeugten Verteilungen im Pool je Schritt, auf derselben + Zeitachse. Beide Panels teilen sich die X-Achse. + """ if not self.Punkte: raise ValueError("keine Messpunkte aufgezeichnet") @@ -150,9 +184,20 @@ class Entwicklung: if WMax == WMin: WMax = WMin + 1 # flache Linie nicht auf den Rand kleben + # Pool-Groessen (N je Messpunkt, Index 5) + NMax = max( p[5] for p in self.Punkte ) + if NMax == 0: + NMax = 1 + N = len(self.Punkte) PlotBreite = Breite - 2 * Rand - PlotHoehe = Hoehe - 2 * Rand + # Oberes Panel (Wertigkeit) reicht von Rand bis kurz vor das + # untere Panel; dazwischen ein kleiner Zwischenraum (Luecke). + Luecke = 50 + OberUnten = Hoehe - Rand - PoolHoehe - Luecke # Unterkante oberes Panel + OberHoehe = OberUnten - Rand + UnterOben = OberUnten + Luecke # Oberkante unteres Panel + UnterUnten = Hoehe - Rand # Unterkante unteres Panel def X(i): if N == 1: @@ -161,7 +206,11 @@ class Entwicklung: def Y(wert): # hoher (besserer) Wert oben, niedriger unten - return Rand + PlotHoehe * (WMax - wert) / (WMax - WMin) + return Rand + OberHoehe * (WMax - wert) / (WMax - WMin) + + def YPool(n): + # 0 an der Unterkante des unteren Panels, NMax an der Oberkante + return UnterUnten - (UnterUnten - UnterOben) * n / NMax def Polyline(Index, Farbe, Beschriftung): punkte = ' '.join( '%.1f,%.1f' % (X(i), Y(p[Index])) @@ -181,14 +230,15 @@ class Entwicklung: 'fill="#333">Entwicklung der Loesungsfindung\n' % (Breite // 2) ) + # --- Oberes Panel: Wertigkeit --- # Achsen Teile.append( - '\n' % (Rand, Rand, Rand, Hoehe - Rand) ) + '\n' % (Rand, Rand, Rand, OberUnten) ) Teile.append( - '\n' - % (Rand, Hoehe - Rand, Breite - Rand, Hoehe - Rand) ) + % (Rand, OberUnten, Breite - Rand, OberUnten) ) # Y-Gitter + Beschriftung (5 Linien) for k in range(6): @@ -201,22 +251,10 @@ class Entwicklung: '%.0f\n' % (Rand - 8, y + 4, wert) ) Teile.append( - 'Wertigkeit ' - '(hoeher = besser)\n' % (Hoehe // 2, Hoehe // 2) ) - Teile.append( - 'Zyklus-Aktion (Zeit)\n' - % (Breite // 2, Hoehe - 18) ) - - # X-Beschriftung: Aktionsbuchstaben (bei wenigen Punkten alle, - # sonst ausgeduennt, damit die Achse lesbar bleibt) - Schritt = max(1, N // 30) - for i, p in enumerate(self.Punkte): - if i % Schritt == 0 or i == N - 1: - Teile.append( - '%s\n' % (X(i), Hoehe - Rand + 16, p[1]) ) + 'Wertigkeit ' + '(hoeher = besser)\n' + % ((Rand + OberUnten) / 2, (Rand + OberUnten) / 2) ) # die drei Kurven Kurven = [ @@ -238,6 +276,49 @@ class Entwicklung: '%s\n' % (LegX + 30, y + 4, besch) ) + # --- Unteres Panel: Anzahl erzeugter Verteilungen (Pool-Groesse) --- + Teile.append( + 'Anzahl erzeugter Verteilungen im Pool\n' + % (Breite // 2, UnterOben - 12) ) + # Achsen + Teile.append( + '\n' % (Rand, UnterOben, Rand, UnterUnten) ) + Teile.append( + '\n' + % (Rand, UnterUnten, Breite - Rand, UnterUnten) ) + # Y-Gitter + Beschriftung (0, Mitte, Max) + for n in (0, NMax // 2, NMax): + y = YPool(n) + Teile.append( + '\n' % (Rand, y, Breite - Rand, y) ) + Teile.append( + '%d\n' % (Rand - 8, y + 4, n) ) + # Poolgroessen-Kurve + punkte = ' '.join( '%.1f,%.1f' % (X(i), YPool(p[5])) + for i, p in enumerate(self.Punkte) ) + Teile.append( + '\n' % punkte ) + + # X-Beschriftung: Aktionsbuchstaben unter dem unteren Panel (bei + # wenigen Punkten alle, sonst ausgeduennt, damit die Achse lesbar + # bleibt) + Schritt = max(1, N // 30) + for i, p in enumerate(self.Punkte): + if i % Schritt == 0 or i == N - 1: + Teile.append( + '%s\n' % (X(i), UnterUnten + 16, p[1]) ) + Teile.append( + 'Zyklus-Aktion (Zeit)\n' + % (Breite // 2, Hoehe - 12) ) + Teile.append( '\n' ) fout = open( OutputSVG, 'w' ) @@ -261,9 +342,22 @@ class Farm: self.Zyklus = Zyklus self.Klasse = Klasse self.Entwicklung = Entwicklung() - for Aktion, Zahl in zip(Zyklus.Abfolge,Zyklus.Anzahl): - #print 'Aktion:',Aktion - #print 'Zahl:',Zahl + if getattr(Zyklus, 'Modus', 'statisch') == 'adaptiv': + self._LaufAdaptiv(Klasse, *Arguments, **keywords) + else: + self._LaufStatisch(Klasse, *Arguments, **keywords) + + def _Aufzeichnen(self, Aktion): + """nach einer Aktion den aktuellen Pool-Zustand fuer die + Entwicklungsgrafik erfassen. Der beobachtete Pool ist der, in dem + gerade die Loesungen liegen: PoolNeu, sobald dort etwas gesammelt + wurde, sonst Pool.""" + self.Entwicklung.erfassen( + Aktion, self.PoolNeu if self.PoolNeu else self.Pool ) + + def _LaufStatisch(self, Klasse, *Arguments, **keywords): + """klassischer Ablauf: die Abfolge/Anzahl aus zyklus.cfg abspielen.""" + for Aktion, Zahl in zip(self.Zyklus.Abfolge, self.Zyklus.Anzahl): self.Position = self.Position + 1 if Aktion == 'e': self.LoesungenErzeugen(int(Zahl), Klasse, *Arguments, **keywords) @@ -279,11 +373,54 @@ class Farm: self.NeueGeneration() else: pass - # nach jeder Aktion den aktuellen Pool-Zustand aufzeichnen. - # Der beobachtete Pool ist der, in dem gerade die Loesungen - # liegen: PoolNeu, sobald dort etwas gesammelt wurde, sonst Pool. - self.Entwicklung.erfassen( - Aktion, self.PoolNeu if self.PoolNeu else self.Pool ) + self._Aufzeichnen(Aktion) + + def _LaufAdaptiv(self, Klasse, *Arguments, **keywords): + """adaptiver Ablauf: viele Startloesungen, dann Generationen mit + schrumpfender Population; Abbruch, sobald sich die beste Bewertung + ueber 'Geduld' Generationen um weniger als 'Schwelle' verbessert.""" + P = self.Zyklus.Adaptiv + Population = max( int(P['Start']), int(P['MinPopulation']) ) + + # Startpopulation erzeugen (der 'maximale Anfangswert') + self.LoesungenErzeugen(Population, Klasse, *Arguments, **keywords) + self._Aufzeichnen('e') + + BesterWert = max(self.Pool).value + OhneVerbesserung = 0 + for Gen in range(int(P['MaxGenerationen'])): + self.Position = self.Position + 1 + + # Mutationskinder erzeugen (in PoolNeu) und die Eltern (Pool) + # dazunehmen, so dass PoolNeu Eltern + Kinder als Kandidaten haelt. + self.LoesungenMutieren( int(P['MutationProLoesung']) ) + self._Aufzeichnen('m') + self.LoesungenBehalten() # PoolNeu += Pool + self.NeueGeneration() # Pool = PoolNeu (Kandidaten), PoolNeu leer + self._Aufzeichnen('j') + + # Population fuer die naechste Generation schrumpfen (nie unter + # MinPopulation) und den Kandidatenpool auf die besten K trunkieren. + Population = max( int(P['MinPopulation']), + int(Population * float(P['Schrumpfung'])) ) + self.PopulationBegrenzen( Population ) + self._Aufzeichnen('s') + + # Konvergenz pruefen + AktuellBest = max(self.Pool).value + if AktuellBest - BesterWert >= float(P['Schwelle']): + OhneVerbesserung = 0 + else: + OhneVerbesserung = OhneVerbesserung + 1 + if AktuellBest > BesterWert: + BesterWert = AktuellBest + print("+ Generation %d: bester Wert %.1f, Population %d, " + "ohne Verbesserung %d" % (Gen + 1, AktuellBest, len(self.Pool), + OhneVerbesserung)) + if OhneVerbesserung >= int(P['Geduld']): + print("+ Abbruch: %d Generationen ohne nennenswerte " + "Verbesserung" % OhneVerbesserung) + break def LoesungenErzeugen(self, N, Klasse, *Arguments, **keywords): """ Erzeuge Loesungen""" for i in range(N): @@ -324,6 +461,15 @@ class Farm: self.PoolNeu.append(L) self.Pool.remove(L) #print(self) + def PopulationBegrenzen(self, K): + """Trunkierungs-Selektion: behalte im Pool nur die K besten + Loesungen und verwirf den Rest. Anders als LoesungenAuswaehlen + (das additiv nach PoolNeu verschiebt) veraendert dies den Pool an + Ort und Stelle - fuer die adaptive Generationenschleife, damit die + Population wirklich schrumpft.""" + K = max( 0, min( K, len(self.Pool) ) ) + self.Pool = sorted( self.Pool, reverse=True )[:K] + print("+ Population auf %d beste begrenzt" % K) def LoesungenZufaelligAuswaehlen(self, N): """Selektiere zufaellig Loesungen""" print("+ zufaellig auswaehlen -"+ repr(N) + "-") diff --git a/libs/platz.py b/libs/platz.py index 7425a2b..0b3a29b 100755 --- a/libs/platz.py +++ b/libs/platz.py @@ -11,7 +11,6 @@ __license__ = "Python" from ga import * from Strukturdaten import * -import configparser import optparse @@ -42,6 +41,9 @@ if __name__ == '__main__': help="zusaetzlich eine Entwicklung.svg im --indir Verzeichnis " "erzeugen: Verlauf der Loesungsfindung (Zeitachse nach rechts, " "beste/durchschnittliche/schlechteste Wertigkeit auf der Y-Achse)" ) + parser.add_option( "--zyklus-art", dest="zyklusart", default="Adaptiv", + help="Name des GA-Profils in zyklus.cfg (Vorgabe: Adaptiv). " + "Weitere mitgelieferte Profile: Easy, Simple" ) (options, args) = parser.parse_args() if options.indir is None: @@ -50,18 +52,16 @@ if __name__ == '__main__': if not os.path.isdir( InDir ): parser.error( "--indir '%s' ist kein Verzeichnis" % InDir ) - # lade Vorgaben fuer Optimierungszyklus und - config = configparser.ConfigParser() - ConfigPath= os.path.join( os.getenv('PLATZ_CFG'), 'platz.cfg') - config.read( os.path.expandvars( ConfigPath )) - - Zyklusconfig = os.path.normpath( config.get( 'Config', 'Zyklusdatei' )) - Zyklusconfig = os.path.expandvars( Zyklusconfig ) - Zyklusart = config.get( 'Config', 'Zyklusart' ) - - Strafenconfig = os.path.normpath(config.get( 'Config', 'Strafendatei' )) - Strafenconfig = os.path.expandvars( Strafenconfig ) - ## print Strafenconfig + # zyklus.cfg (GA-Profile) und strafen.cfg (Strafpunkte) direkt aus dem + # per $PLATZ_CFG bestimmten cfg-Verzeichnis laden. Das GA-Profil waehlt + # der Schalter --zyklus-art (Vorgabe: Adaptiv). + CfgDir = os.getenv('PLATZ_CFG') + if not CfgDir: + parser.error( "Umgebungsvariable PLATZ_CFG ist nicht gesetzt " + "(bin/setenv aufrufen)" ) + Zyklusconfig = os.path.join( CfgDir, 'zyklus.cfg' ) + Zyklusart = options.zyklusart + Strafenconfig = os.path.join( CfgDir, 'strafen.cfg' ) # lade Eingabedateien Tischconfig = os.path.join( InDir, 'tische.ini' ) diff --git a/tests/test_sitzplatzverteilung.py b/tests/test_sitzplatzverteilung.py index 31392f3..a2df259 100644 --- a/tests/test_sitzplatzverteilung.py +++ b/tests/test_sitzplatzverteilung.py @@ -19,7 +19,7 @@ import unittest sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'libs')) from Strukturdaten import Gruppe, Gruppen, JSONConfig, Person, Sitzplatzverteilung, Strafliste, Tisch, Tische -from ga import Entwicklung, _StringAusdruck +from ga import Entwicklung, Farm, Zyklus, _StringAusdruck IMAGES_DIR = os.path.join(os.path.dirname(__file__), '..', 'doc', 'images') @@ -267,12 +267,65 @@ class TestEntwicklung(unittest.TestCase): with open(Pfad) as f: svg = f.read() self.assertIn( ' Abbruch nach 'Geduld').""" + def __init__(self, *a, **k): + self.value = -100 + def mutieren(self): + return self + def __eq__(self, other): + return self.value == other.value + def __lt__(self, other): + return self.value < other.value + + def _zyklus(self, **params): + Z = Zyklus() + Z.Modus = 'adaptiv' + Z.Adaptiv = dict(Zyklus.AdaptivDefaults) + Z.Adaptiv.update(params) + return Z + + def test_population_schrumpft_und_bricht_bei_konvergenz_ab(self): + Z = self._zyklus( Start=40, Schrumpfung=0.85, MinPopulation=5, + MaxGenerationen=50, Geduld=3, Schwelle=1.0 ) + F = Farm( Z, self._L ) + + # Pool-Groessen je 's'-Aufzeichnung (Ende jeder Generation) + pop_pro_gen = [ p[5] for p in F.Entwicklung.Punkte if p[1] == 's' ] + # monoton fallend (Population schrumpft) ... + self.assertTrue( all( a >= b for a, b in zip(pop_pro_gen, pop_pro_gen[1:]) ), + "Population muss von Generation zu Generation schrumpfen: %s" + % pop_pro_gen ) + self.assertLess( pop_pro_gen[-1], pop_pro_gen[0] ) + # ... und da nichts besser wird, nach Geduld(=3) Generationen Abbruch, + # also klar vor MaxGenerationen(=50). + self.assertLessEqual( len(pop_pro_gen), 4 ) + + def test_population_faellt_nicht_unter_min(self): + Z = self._zyklus( Start=8, Schrumpfung=0.5, MinPopulation=5, + MaxGenerationen=10, Geduld=99, Schwelle=1.0 ) + F = Farm( Z, self._L ) + pop_pro_gen = [ p[5] for p in F.Entwicklung.Punkte if p[1] == 's' ] + self.assertTrue( all( n >= 5 for n in pop_pro_gen ), + "MinPopulation=5 darf nicht unterschritten werden: %s" + % pop_pro_gen ) + + if __name__ == '__main__': unittest.main() diff --git a/web/main.py b/web/main.py index d05dbdd..8aa410f 100644 --- a/web/main.py +++ b/web/main.py @@ -51,21 +51,13 @@ app = FastAPI( version='0.1.0' ) # ---------------------------------------------------------------- GA-Konfig -# Zyklus und Strafliste einmal beim Start laden (wie in libs/platz.py) -import configparser -_PlatzCfg = configparser.ConfigParser() -_PlatzCfg.read( os.path.join( CFGDIR, 'platz.cfg' ) ) -ZYKLUSDATEI = os.path.expandvars( os.path.normpath( - _PlatzCfg.get( 'Config', 'Zyklusdatei', - fallback=os.path.join( CFGDIR, 'zyklus.cfg' ) ) ) ) -ZYKLUSART = _PlatzCfg.get( 'Config', 'Zyklusart', fallback='Easy' ) -STRAFENDATEI = os.path.expandvars( os.path.normpath( - _PlatzCfg.get( 'Config', 'Strafendatei', - fallback=os.path.join( CFGDIR, 'strafen.cfg' ) ) ) ) -if not os.path.isfile( ZYKLUSDATEI ): - ZYKLUSDATEI = os.path.join( CFGDIR, 'zyklus.cfg' ) -if not os.path.isfile( STRAFENDATEI ): - STRAFENDATEI = os.path.join( CFGDIR, 'strafen.cfg' ) +# Zyklus und Strafliste einmal beim Start laden (wie in libs/platz.py): +# zyklus.cfg und strafen.cfg direkt aus dem cfg-Verzeichnis (PLATZ_CFG bzw. +# Projekt-cfg). GA-Profil per Umgebungsvariable PLATZ_ZYKLUSART (Vorgabe: +# Adaptiv). +ZYKLUSDATEI = os.path.join( CFGDIR, 'zyklus.cfg' ) +STRAFENDATEI = os.path.join( CFGDIR, 'strafen.cfg' ) +ZYKLUSART = os.environ.get( 'PLATZ_ZYKLUSART', 'Adaptiv' ) GAZyklus = Zyklus() GAZyklus.laden( ZYKLUSDATEI, ZYKLUSART ) diff --git a/work/hochzeit/Entwicklung.svg b/work/hochzeit/Entwicklung.svg index be72bc4..58b772e 100644 --- a/work/hochzeit/Entwicklung.svg +++ b/work/hochzeit/Entwicklung.svg @@ -1,47 +1,53 @@ - + Entwicklung der Loesungsfindung - - - --85 - --77 - --68 - --60 - --51 + + + +-177 + +-152 + +-127 + +-101 + +-76 --43 -Wertigkeit (hoeher = besser) -Zyklus-Aktion (Zeit) -e -s -z -m -j -z -s -z -m -j -z -s -z -m -j -z -s - - - +-51 +Wertigkeit (hoeher = besser) + + + beste Loesung Durchschnitt schlechteste Loesung +Anzahl erzeugter Verteilungen im Pool + + + +0 + +60 + +120 + +e +m +j +s +m +j +s +m +j +s +m +j +s +Zyklus-Aktion (Zeit) diff --git a/work/hochzeit/PersonenTische.csv b/work/hochzeit/PersonenTische.csv index 2bb1451..20c577e 100644 --- a/work/hochzeit/PersonenTische.csv +++ b/work/hochzeit/PersonenTische.csv @@ -1,120 +1,120 @@ -Aksoy, Rainer, = Hof 1, Tisch 1, Nummer 7 -Aksoy, Renate, = Hof 1, Tisch 1, Nummer 2 -Aydin, Horst, = Hof 1, Tisch 2, Nummer 8 -Aydin, Ursula, = Hof 1, Tisch 2, Nummer 5 -Barth, Hannelore, = Hof 1, Tisch 9, Nummer 8 -Berger, Sergej, = Hof 1, Tisch 4, Nummer 6 -Brandt, Andreas, = Hof 1, Tisch 15, Nummer 5 -Brandt, Anja, = Hof 1, Tisch 14, Nummer 2 +Aksoy, Rainer, = Hof 1, Tisch 15, Nummer 6 +Aksoy, Renate, = Hof 1, Tisch 15, Nummer 4 +Aydin, Horst, = Hof 1, Tisch 13, Nummer 7 +Aydin, Ursula, = Hof 1, Tisch 13, Nummer 4 +Barth, Hannelore, = Hof 1, Tisch 10, Nummer 8 +Berger, Sergej, = Hof 1, Tisch 3, Nummer 4 +Brandt, Andreas, = Hof 1, Tisch 2, Nummer 6 +Brandt, Anja, = Hof 1, Tisch 6, Nummer 4 Brandt, Anton, = Hof 1, Tisch 16, Nummer 14 -Brandt, Ben, = Hof 1, Tisch 17, Nummer 7 -Brandt, Daniel, = Hof 1, Tisch 11, Nummer 5 -Brandt, Felix, = Hof 1, Tisch 16, Nummer 2 -Brandt, Frieda, = Hof 1, Tisch 16, Nummer 11 -Brandt, Greta, = Hof 1, Tisch 16, Nummer 10 +Brandt, Ben, = Hof 1, Tisch 17, Nummer 5 +Brandt, Daniel, = Hof 1, Tisch 1, Nummer 7 +Brandt, Felix, = Hof 1, Tisch 16, Nummer 4 +Brandt, Frieda, = Hof 1, Tisch 16, Nummer 8 +Brandt, Greta, = Hof 1, Tisch 16, Nummer 6 Brandt, Helga, = Hof 1, Tisch 1, Nummer 5 -Brandt, Julia, = Hof 1, Tisch 1, Nummer 6 -Brandt, Kathrin, = Hof 1, Tisch 11, Nummer 4 -Brandt, Lena, = Hof 1, Tisch 15, Nummer 2 -Brandt, Milan, = Hof 1, Tisch 14, Nummer 4 -Brandt, Paul, = Hof 1, Tisch 17, Nummer 6 -Brandt, Sofia, = Hof 1, Tisch 14, Nummer 6 -Brandt, Theo, = Hof 1, Tisch 15, Nummer 7 +Brandt, Julia, = Hof 1, Tisch 1, Nummer 4 +Brandt, Kathrin, = Hof 1, Tisch 1, Nummer 6 +Brandt, Lena, = Hof 1, Tisch 2, Nummer 4 +Brandt, Milan, = Hof 1, Tisch 6, Nummer 3 +Brandt, Paul, = Hof 1, Tisch 17, Nummer 3 +Brandt, Sofia, = Hof 1, Tisch 6, Nummer 2 +Brandt, Theo, = Hof 1, Tisch 2, Nummer 7 Brandt, Werner, = Hof 1, Tisch 1, Nummer 8 -Busch, Stefanie, = Hof 1, Tisch 8, Nummer 7 -Demir, Elif, = Hof 1, Tisch 10, Nummer 5 -Demir, Hannelore, = Hof 1, Tisch 13, Nummer 9 -Demir, Ingrid, = Hof 1, Tisch 13, Nummer 6 -Demir, Monika, = Hof 1, Tisch 13, Nummer 3 -Dietrich, Jennifer, = Hof 1, Tisch 13, Nummer 8 -Dietrich, Nicole, = Hof 1, Tisch 12, Nummer 5 -Erdem, Erika, = Hof 1, Tisch 14, Nummer 5 -Erdem, Gerhard, = Hof 1, Tisch 9, Nummer 2 -Erdem, Rainer, = Hof 1, Tisch 9, Nummer 5 -Esposito, Christian, = Hof 1, Tisch 12, Nummer 7 -Esposito, Gisela, = Hof 1, Tisch 9, Nummer 3 -Esposito, Julia, = Hof 1, Tisch 8, Nummer 6 -Fischer, Heinz, = Hof 1, Tisch 15, Nummer 4 -Fischer, Helga, = Hof 1, Tisch 15, Nummer 3 -Fischer, Nicole, = Hof 1, Tisch 12, Nummer 8 -Fischer, Sven, = Hof 1, Tisch 10, Nummer 7 -Frank, Erika, = Hof 1, Tisch 9, Nummer 6 -Frank, Nadine, = Hof 1, Tisch 11, Nummer 9 -Frank, Timo, = Hof 1, Tisch 10, Nummer 4 -Frank, Tobias, = Hof 1, Tisch 1, Nummer 4 -Franke, Brigitte, = Hof 1, Tisch 9, Nummer 7 -Hansen, Olga, = Hof 1, Tisch 11, Nummer 3 -Hansen, Wolfgang, = Hof 1, Tisch 9, Nummer 9 -Hoffmann, Lena, = Hof 1, Tisch 12, Nummer 6 -Horn, Daniel, = Hof 1, Tisch 11, Nummer 6 -Horn, Svenja, = Hof 1, Tisch 13, Nummer 4 -Klein, Stefan, = Hof 1, Tisch 10, Nummer 8 -Koch, Andreas, = Hof 1, Tisch 4, Nummer 4 -Koch, Giovanna, = Hof 1, Tisch 8, Nummer 4 -Kovac, Giovanna, = Hof 1, Tisch 4, Nummer 9 -Kraus, Dennis, = Hof 1, Tisch 12, Nummer 4 -Kraus, Matteo, = Hof 1, Tisch 16, Nummer 6 -Kraus, Melanie, = Hof 1, Tisch 12, Nummer 2 -Kuhn, Leni, = Hof 1, Tisch 16, Nummer 9 -Kuhn, Sarah, = Hof 1, Tisch 2, Nummer 9 -Kuhn, Stefan, = Hof 1, Tisch 13, Nummer 5 -Kuhn, Timo, = Hof 1, Tisch 2, Nummer 3 -Lange, Milan, = Hof 1, Tisch 11, Nummer 2 -Meyer, Anton, = Hof 1, Tisch 17, Nummer 5 -Meyer, Christian, = Hof 1, Tisch 13, Nummer 7 -Meyer, Ida, = Hof 1, Tisch 17, Nummer 3 -Meyer, Marco, = Hof 1, Tisch 15, Nummer 8 -Meyer, Mila, = Hof 1, Tisch 16, Nummer 3 -Meyer, Sandra, = Hof 1, Tisch 15, Nummer 6 -Meyer, Wolfgang, = Hof 1, Tisch 9, Nummer 4 +Busch, Stefanie, = Hof 1, Tisch 3, Nummer 2 +Demir, Elif, = Hof 1, Tisch 9, Nummer 6 +Demir, Hannelore, = Hof 1, Tisch 14, Nummer 9 +Demir, Ingrid, = Hof 1, Tisch 14, Nummer 7 +Demir, Monika, = Hof 1, Tisch 14, Nummer 4 +Dietrich, Jennifer, = Hof 1, Tisch 14, Nummer 8 +Dietrich, Nicole, = Hof 1, Tisch 13, Nummer 5 +Erdem, Erika, = Hof 1, Tisch 15, Nummer 7 +Erdem, Gerhard, = Hof 1, Tisch 10, Nummer 7 +Erdem, Rainer, = Hof 1, Tisch 10, Nummer 6 +Esposito, Christian, = Hof 1, Tisch 13, Nummer 2 +Esposito, Gisela, = Hof 1, Tisch 10, Nummer 4 +Esposito, Julia, = Hof 1, Tisch 8, Nummer 3 +Fischer, Heinz, = Hof 1, Tisch 15, Nummer 2 +Fischer, Helga, = Hof 1, Tisch 15, Nummer 9 +Fischer, Nicole, = Hof 1, Tisch 13, Nummer 9 +Fischer, Sven, = Hof 1, Tisch 9, Nummer 3 +Frank, Erika, = Hof 1, Tisch 10, Nummer 5 +Frank, Nadine, = Hof 1, Tisch 12, Nummer 4 +Frank, Timo, = Hof 1, Tisch 9, Nummer 8 +Frank, Tobias, = Hof 1, Tisch 1, Nummer 10 +Franke, Brigitte, = Hof 1, Tisch 10, Nummer 2 +Hansen, Olga, = Hof 1, Tisch 12, Nummer 2 +Hansen, Wolfgang, = Hof 1, Tisch 10, Nummer 3 +Hoffmann, Lena, = Hof 1, Tisch 13, Nummer 6 +Horn, Daniel, = Hof 1, Tisch 12, Nummer 7 +Horn, Svenja, = Hof 1, Tisch 14, Nummer 5 +Klein, Stefan, = Hof 1, Tisch 9, Nummer 5 +Koch, Andreas, = Hof 1, Tisch 3, Nummer 5 +Koch, Giovanna, = Hof 1, Tisch 3, Nummer 7 +Kovac, Giovanna, = Hof 1, Tisch 8, Nummer 4 +Kraus, Dennis, = Hof 1, Tisch 1, Nummer 3 +Kraus, Matteo, = Hof 1, Tisch 16, Nummer 13 +Kraus, Melanie, = Hof 1, Tisch 1, Nummer 9 +Kuhn, Leni, = Hof 1, Tisch 16, Nummer 7 +Kuhn, Sarah, = Hof 1, Tisch 11, Nummer 2 +Kuhn, Stefan, = Hof 1, Tisch 14, Nummer 3 +Kuhn, Timo, = Hof 1, Tisch 11, Nummer 7 +Lange, Milan, = Hof 1, Tisch 12, Nummer 9 +Meyer, Anton, = Hof 1, Tisch 17, Nummer 6 +Meyer, Christian, = Hof 1, Tisch 14, Nummer 6 +Meyer, Ida, = Hof 1, Tisch 17, Nummer 7 +Meyer, Marco, = Hof 1, Tisch 11, Nummer 3 +Meyer, Mila, = Hof 1, Tisch 16, Nummer 5 +Meyer, Sandra, = Hof 1, Tisch 11, Nummer 4 +Meyer, Wolfgang, = Hof 1, Tisch 10, Nummer 9 Musikverein, Gast, = Hof 1, Tisch 4, Nummer 2 Musikverein, Gast, = Hof 1, Tisch 4, Nummer 3 +Musikverein, Gast, = Hof 1, Tisch 4, Nummer 4 Musikverein, Gast, = Hof 1, Tisch 4, Nummer 5 +Musikverein, Gast, = Hof 1, Tisch 4, Nummer 6 Musikverein, Gast, = Hof 1, Tisch 4, Nummer 7 Musikverein, Gast, = Hof 1, Tisch 4, Nummer 8 +Musikverein, Gast, = Hof 1, Tisch 4, Nummer 9 Musikverein, Gast, = Hof 1, Tisch 5, Nummer 2 -Musikverein, Gast, = Hof 1, Tisch 5, Nummer 3 -Musikverein, Gast, = Hof 1, Tisch 5, Nummer 4 Musikverein, Gast, = Hof 1, Tisch 5, Nummer 5 Musikverein, Gast, = Hof 1, Tisch 5, Nummer 6 Musikverein, Gast, = Hof 1, Tisch 5, Nummer 7 Musikverein, Gast, = Hof 1, Tisch 5, Nummer 8 -Musikverein, Gast, = Hof 1, Tisch 5, Nummer 9 -Peters, Melanie, = Hof 1, Tisch 8, Nummer 9 -Peters, Yusuf, = Hof 1, Tisch 8, Nummer 8 -Polat, Matthias, = Hof 1, Tisch 12, Nummer 3 -Roth, Stefanie, = Hof 1, Tisch 13, Nummer 2 -Schmidt, Dennis, = Hof 1, Tisch 8, Nummer 5 -Schmitt, Markus, = Hof 1, Tisch 11, Nummer 7 -Schwarz, Elias, = Hof 1, Tisch 16, Nummer 8 -Schwarz, Guenter, = Hof 1, Tisch 1, Nummer 13 -Schwarz, Liam, = Hof 1, Tisch 16, Nummer 5 -Schwarz, Sarah, = Hof 1, Tisch 2, Nummer 2 -Schwarz, Yusuf, = Hof 1, Tisch 2, Nummer 4 -Simon, Jennifer, = Hof 1, Tisch 10, Nummer 9 -Simon, Patrick, = Hof 1, Tisch 8, Nummer 3 -Simon, Stefanie, = Hof 1, Tisch 10, Nummer 3 -Sommer, Daniel, = Hof 1, Tisch 1, Nummer 10 -Sommer, Dennis, = Hof 1, Tisch 14, Nummer 9 -Sommer, Dennis, = Hof 1, Tisch 3, Nummer 2 -Sommer, Dieter, = Hof 1, Tisch 1, Nummer 3 -Sommer, Emil, = Hof 1, Tisch 16, Nummer 13 -Sommer, Ida, = Hof 1, Tisch 16, Nummer 7 -Sommer, Jennifer, = Hof 1, Tisch 3, Nummer 3 -Sommer, Lina, = Hof 1, Tisch 14, Nummer 7 -Sommer, Max, = Hof 1, Tisch 16, Nummer 12 -Sommer, Nicole, = Hof 1, Tisch 14, Nummer 3 -Sommer, Renate, = Hof 1, Tisch 1, Nummer 12 -Sommer, Theo, = Hof 1, Tisch 16, Nummer 4 -Stein, Andreas, = Hof 1, Tisch 10, Nummer 2 -Stein, Werner, = Hof 1, Tisch 1, Nummer 9 -Tran, Heinz, = Hof 1, Tisch 14, Nummer 8 +Peters, Melanie, = Hof 1, Tisch 5, Nummer 3 +Peters, Yusuf, = Hof 1, Tisch 5, Nummer 4 +Polat, Matthias, = Hof 1, Tisch 13, Nummer 3 +Roth, Stefanie, = Hof 1, Tisch 14, Nummer 2 +Schmidt, Dennis, = Hof 1, Tisch 3, Nummer 6 +Schmitt, Markus, = Hof 1, Tisch 12, Nummer 8 +Schwarz, Elias, = Hof 1, Tisch 16, Nummer 3 +Schwarz, Guenter, = Hof 1, Tisch 15, Nummer 8 +Schwarz, Liam, = Hof 1, Tisch 16, Nummer 9 +Schwarz, Sarah, = Hof 1, Tisch 12, Nummer 6 +Schwarz, Yusuf, = Hof 1, Tisch 12, Nummer 3 +Simon, Jennifer, = Hof 1, Tisch 9, Nummer 7 +Simon, Patrick, = Hof 1, Tisch 8, Nummer 2 +Simon, Stefanie, = Hof 1, Tisch 9, Nummer 2 +Sommer, Daniel, = Hof 1, Tisch 1, Nummer 12 +Sommer, Dennis, = Hof 1, Tisch 11, Nummer 6 +Sommer, Dennis, = Hof 1, Tisch 2, Nummer 2 +Sommer, Dieter, = Hof 1, Tisch 1, Nummer 2 +Sommer, Emil, = Hof 1, Tisch 16, Nummer 12 +Sommer, Ida, = Hof 1, Tisch 16, Nummer 10 +Sommer, Jennifer, = Hof 1, Tisch 11, Nummer 5 +Sommer, Lina, = Hof 1, Tisch 2, Nummer 3 +Sommer, Max, = Hof 1, Tisch 16, Nummer 2 +Sommer, Nicole, = Hof 1, Tisch 2, Nummer 5 +Sommer, Renate, = Hof 1, Tisch 1, Nummer 13 +Sommer, Theo, = Hof 1, Tisch 16, Nummer 11 +Stein, Andreas, = Hof 1, Tisch 9, Nummer 9 +Stein, Werner, = Hof 1, Tisch 15, Nummer 3 +Tran, Heinz, = Hof 1, Tisch 15, Nummer 5 Vogel, Anton, = Hof 1, Tisch 17, Nummer 2 Vogel, Max, = Hof 1, Tisch 17, Nummer 4 -Vogel, Sandra, = Hof 1, Tisch 2, Nummer 6 -Vogel, Svenja, = Hof 1, Tisch 8, Nummer 2 -Vogel, Yusuf, = Hof 1, Tisch 2, Nummer 7 -Wagner, Daniel, = Hof 1, Tisch 10, Nummer 6 -Wagner, Timo, = Hof 1, Tisch 12, Nummer 9 +Vogel, Sandra, = Hof 1, Tisch 11, Nummer 9 +Vogel, Svenja, = Hof 1, Tisch 3, Nummer 3 +Vogel, Yusuf, = Hof 1, Tisch 11, Nummer 8 +Wagner, Daniel, = Hof 1, Tisch 9, Nummer 4 +Wagner, Timo, = Hof 1, Tisch 13, Nummer 8 Winkler, Sarah, = Hof 1, Tisch 1, Nummer 11 -Yilmaz, Olga, = Hof 1, Tisch 11, Nummer 8 +Yilmaz, Olga, = Hof 1, Tisch 12, Nummer 5 diff --git a/work/hochzeit/Sitzplatzverteilung.svg b/work/hochzeit/Sitzplatzverteilung.svg index 2e0a5a2..e1c7dad 100644 --- a/work/hochzeit/Sitzplatzverteilung.svg +++ b/work/hochzeit/Sitzplatzverteilung.svg @@ -1,17 +1,39 @@ - - - - -6 + + 7 + + + + + +6 + + + + + +8 + + + + + + + + +2 - - + + + + + + 3 @@ -23,139 +45,117 @@ 17 - - - - - - - - - -15 - - - - - - - - - - -2 - - - - - - - - - - -4 - - - - - - - - + + + + + + + 5 - - - - - - - - - - -8 + + + + + + + + + + +4 - - - - - - - - + + + + + + + + 9 - - - - - - - - + + + + + + + + 10 - - - - - - - - + + + + + + + + 11 - - - - - - - - + + + + + + + + 12 - - - - - - - - + + + + + + + + 13 - - - - - - - - + + + + + + + + 14 + + + + + + + + + + +15 - - + + - + - + - + 1 diff --git a/work/hochzeit/TischePersonen.txt b/work/hochzeit/TischePersonen.txt index e611a43..dd13115 100644 --- a/work/hochzeit/TischePersonen.txt +++ b/work/hochzeit/TischePersonen.txt @@ -1,154 +1,154 @@ [1] - Renate Aksoy = Hof 1, Tisch 1, Nummer 1 - Dieter Sommer = Hof 1, Tisch 1, Nummer 2 - Tobias Frank = Hof 1, Tisch 1, Nummer 3 + Dieter Sommer = Hof 1, Tisch 1, Nummer 1 + Dennis Kraus = Hof 1, Tisch 1, Nummer 2 + Julia Brandt = Hof 1, Tisch 1, Nummer 3 Helga Brandt = Hof 1, Tisch 1, Nummer 4 - Julia Brandt = Hof 1, Tisch 1, Nummer 5 - Rainer Aksoy = Hof 1, Tisch 1, Nummer 6 + Kathrin Brandt = Hof 1, Tisch 1, Nummer 5 + Daniel Brandt = Hof 1, Tisch 1, Nummer 6 Werner Brandt = Hof 1, Tisch 1, Nummer 7 - Werner Stein = Hof 1, Tisch 1, Nummer 8 - Daniel Sommer = Hof 1, Tisch 1, Nummer 9 + Melanie Kraus = Hof 1, Tisch 1, Nummer 8 + Tobias Frank = Hof 1, Tisch 1, Nummer 9 Sarah Winkler = Hof 1, Tisch 1, Nummer 10 - Renate Sommer = Hof 1, Tisch 1, Nummer 11 - Guenter Schwarz = Hof 1, Tisch 1, Nummer 12 + Daniel Sommer = Hof 1, Tisch 1, Nummer 11 + Renate Sommer = Hof 1, Tisch 1, Nummer 12 [2] - Sarah Schwarz = Hof 1, Tisch 2, Nummer 1 - Timo Kuhn = Hof 1, Tisch 2, Nummer 2 - Yusuf Schwarz = Hof 1, Tisch 2, Nummer 3 - Ursula Aydin = Hof 1, Tisch 2, Nummer 4 - Sandra Vogel = Hof 1, Tisch 2, Nummer 5 - Yusuf Vogel = Hof 1, Tisch 2, Nummer 6 - Horst Aydin = Hof 1, Tisch 2, Nummer 7 - Sarah Kuhn = Hof 1, Tisch 2, Nummer 8 + Dennis Sommer = Hof 1, Tisch 2, Nummer 1 + Lina Sommer = Hof 1, Tisch 2, Nummer 2 + Lena Brandt = Hof 1, Tisch 2, Nummer 3 + Nicole Sommer = Hof 1, Tisch 2, Nummer 4 + Andreas Brandt = Hof 1, Tisch 2, Nummer 5 + Theo Brandt = Hof 1, Tisch 2, Nummer 6 [3] - Dennis Sommer = Hof 1, Tisch 3, Nummer 1 - Jennifer Sommer = Hof 1, Tisch 3, Nummer 2 + Stefanie Busch = Hof 1, Tisch 3, Nummer 1 + Svenja Vogel = Hof 1, Tisch 3, Nummer 2 + Sergej Berger = Hof 1, Tisch 3, Nummer 3 + Andreas Koch = Hof 1, Tisch 3, Nummer 4 + Dennis Schmidt = Hof 1, Tisch 3, Nummer 5 + Giovanna Koch = Hof 1, Tisch 3, Nummer 6 [4] Gast Musikverein = Hof 1, Tisch 4, Nummer 1 Gast Musikverein = Hof 1, Tisch 4, Nummer 2 - Andreas Koch = Hof 1, Tisch 4, Nummer 3 + Gast Musikverein = Hof 1, Tisch 4, Nummer 3 Gast Musikverein = Hof 1, Tisch 4, Nummer 4 - Sergej Berger = Hof 1, Tisch 4, Nummer 5 + Gast Musikverein = Hof 1, Tisch 4, Nummer 5 Gast Musikverein = Hof 1, Tisch 4, Nummer 6 Gast Musikverein = Hof 1, Tisch 4, Nummer 7 - Giovanna Kovac = Hof 1, Tisch 4, Nummer 8 + Gast Musikverein = Hof 1, Tisch 4, Nummer 8 [5] Gast Musikverein = Hof 1, Tisch 5, Nummer 1 - Gast Musikverein = Hof 1, Tisch 5, Nummer 2 - Gast Musikverein = Hof 1, Tisch 5, Nummer 3 + Melanie Peters = Hof 1, Tisch 5, Nummer 2 + Yusuf Peters = Hof 1, Tisch 5, Nummer 3 Gast Musikverein = Hof 1, Tisch 5, Nummer 4 Gast Musikverein = Hof 1, Tisch 5, Nummer 5 Gast Musikverein = Hof 1, Tisch 5, Nummer 6 Gast Musikverein = Hof 1, Tisch 5, Nummer 7 - Gast Musikverein = Hof 1, Tisch 5, Nummer 8 [6] + Sofia Brandt = Hof 1, Tisch 6, Nummer 1 + Milan Brandt = Hof 1, Tisch 6, Nummer 2 + Anja Brandt = Hof 1, Tisch 6, Nummer 3 [7] [8] - Svenja Vogel = Hof 1, Tisch 8, Nummer 1 - Patrick Simon = Hof 1, Tisch 8, Nummer 2 - Giovanna Koch = Hof 1, Tisch 8, Nummer 3 - Dennis Schmidt = Hof 1, Tisch 8, Nummer 4 - Julia Esposito = Hof 1, Tisch 8, Nummer 5 - Stefanie Busch = Hof 1, Tisch 8, Nummer 6 - Yusuf Peters = Hof 1, Tisch 8, Nummer 7 - Melanie Peters = Hof 1, Tisch 8, Nummer 8 + Patrick Simon = Hof 1, Tisch 8, Nummer 1 + Julia Esposito = Hof 1, Tisch 8, Nummer 2 + Giovanna Kovac = Hof 1, Tisch 8, Nummer 3 [9] - Gerhard Erdem = Hof 1, Tisch 9, Nummer 1 - Gisela Esposito = Hof 1, Tisch 9, Nummer 2 - Wolfgang Meyer = Hof 1, Tisch 9, Nummer 3 - Rainer Erdem = Hof 1, Tisch 9, Nummer 4 - Erika Frank = Hof 1, Tisch 9, Nummer 5 - Brigitte Franke = Hof 1, Tisch 9, Nummer 6 - Hannelore Barth = Hof 1, Tisch 9, Nummer 7 - Wolfgang Hansen = Hof 1, Tisch 9, Nummer 8 + Stefanie Simon = Hof 1, Tisch 9, Nummer 1 + Sven Fischer = Hof 1, Tisch 9, Nummer 2 + Daniel Wagner = Hof 1, Tisch 9, Nummer 3 + Stefan Klein = Hof 1, Tisch 9, Nummer 4 + Elif Demir = Hof 1, Tisch 9, Nummer 5 + Jennifer Simon = Hof 1, Tisch 9, Nummer 6 + Timo Frank = Hof 1, Tisch 9, Nummer 7 + Andreas Stein = Hof 1, Tisch 9, Nummer 8 [10] - Andreas Stein = Hof 1, Tisch 10, Nummer 1 - Stefanie Simon = Hof 1, Tisch 10, Nummer 2 - Timo Frank = Hof 1, Tisch 10, Nummer 3 - Elif Demir = Hof 1, Tisch 10, Nummer 4 - Daniel Wagner = Hof 1, Tisch 10, Nummer 5 - Sven Fischer = Hof 1, Tisch 10, Nummer 6 - Stefan Klein = Hof 1, Tisch 10, Nummer 7 - Jennifer Simon = Hof 1, Tisch 10, Nummer 8 + Brigitte Franke = Hof 1, Tisch 10, Nummer 1 + Wolfgang Hansen = Hof 1, Tisch 10, Nummer 2 + Gisela Esposito = Hof 1, Tisch 10, Nummer 3 + Erika Frank = Hof 1, Tisch 10, Nummer 4 + Rainer Erdem = Hof 1, Tisch 10, Nummer 5 + Gerhard Erdem = Hof 1, Tisch 10, Nummer 6 + Hannelore Barth = Hof 1, Tisch 10, Nummer 7 + Wolfgang Meyer = Hof 1, Tisch 10, Nummer 8 [11] - Milan Lange = Hof 1, Tisch 11, Nummer 1 - Olga Hansen = Hof 1, Tisch 11, Nummer 2 - Kathrin Brandt = Hof 1, Tisch 11, Nummer 3 - Daniel Brandt = Hof 1, Tisch 11, Nummer 4 - Daniel Horn = Hof 1, Tisch 11, Nummer 5 - Markus Schmitt = Hof 1, Tisch 11, Nummer 6 - Olga Yilmaz = Hof 1, Tisch 11, Nummer 7 - Nadine Frank = Hof 1, Tisch 11, Nummer 8 + Sarah Kuhn = Hof 1, Tisch 11, Nummer 1 + Marco Meyer = Hof 1, Tisch 11, Nummer 2 + Sandra Meyer = Hof 1, Tisch 11, Nummer 3 + Jennifer Sommer = Hof 1, Tisch 11, Nummer 4 + Dennis Sommer = Hof 1, Tisch 11, Nummer 5 + Timo Kuhn = Hof 1, Tisch 11, Nummer 6 + Yusuf Vogel = Hof 1, Tisch 11, Nummer 7 + Sandra Vogel = Hof 1, Tisch 11, Nummer 8 [12] - Melanie Kraus = Hof 1, Tisch 12, Nummer 1 - Matthias Polat = Hof 1, Tisch 12, Nummer 2 - Dennis Kraus = Hof 1, Tisch 12, Nummer 3 - Nicole Dietrich = Hof 1, Tisch 12, Nummer 4 - Lena Hoffmann = Hof 1, Tisch 12, Nummer 5 - Christian Esposito = Hof 1, Tisch 12, Nummer 6 - Nicole Fischer = Hof 1, Tisch 12, Nummer 7 - Timo Wagner = Hof 1, Tisch 12, Nummer 8 + Olga Hansen = Hof 1, Tisch 12, Nummer 1 + Yusuf Schwarz = Hof 1, Tisch 12, Nummer 2 + Nadine Frank = Hof 1, Tisch 12, Nummer 3 + Olga Yilmaz = Hof 1, Tisch 12, Nummer 4 + Sarah Schwarz = Hof 1, Tisch 12, Nummer 5 + Daniel Horn = Hof 1, Tisch 12, Nummer 6 + Markus Schmitt = Hof 1, Tisch 12, Nummer 7 + Milan Lange = Hof 1, Tisch 12, Nummer 8 [13] - Stefanie Roth = Hof 1, Tisch 13, Nummer 1 - Monika Demir = Hof 1, Tisch 13, Nummer 2 - Svenja Horn = Hof 1, Tisch 13, Nummer 3 - Stefan Kuhn = Hof 1, Tisch 13, Nummer 4 - Ingrid Demir = Hof 1, Tisch 13, Nummer 5 - Christian Meyer = Hof 1, Tisch 13, Nummer 6 - Jennifer Dietrich = Hof 1, Tisch 13, Nummer 7 - Hannelore Demir = Hof 1, Tisch 13, Nummer 8 + Christian Esposito = Hof 1, Tisch 13, Nummer 1 + Matthias Polat = Hof 1, Tisch 13, Nummer 2 + Ursula Aydin = Hof 1, Tisch 13, Nummer 3 + Nicole Dietrich = Hof 1, Tisch 13, Nummer 4 + Lena Hoffmann = Hof 1, Tisch 13, Nummer 5 + Horst Aydin = Hof 1, Tisch 13, Nummer 6 + Timo Wagner = Hof 1, Tisch 13, Nummer 7 + Nicole Fischer = Hof 1, Tisch 13, Nummer 8 [14] - Anja Brandt = Hof 1, Tisch 14, Nummer 1 - Nicole Sommer = Hof 1, Tisch 14, Nummer 2 - Milan Brandt = Hof 1, Tisch 14, Nummer 3 - Erika Erdem = Hof 1, Tisch 14, Nummer 4 - Sofia Brandt = Hof 1, Tisch 14, Nummer 5 - Lina Sommer = Hof 1, Tisch 14, Nummer 6 - Heinz Tran = Hof 1, Tisch 14, Nummer 7 - Dennis Sommer = Hof 1, Tisch 14, Nummer 8 + Stefanie Roth = Hof 1, Tisch 14, Nummer 1 + Stefan Kuhn = Hof 1, Tisch 14, Nummer 2 + Monika Demir = Hof 1, Tisch 14, Nummer 3 + Svenja Horn = Hof 1, Tisch 14, Nummer 4 + Christian Meyer = Hof 1, Tisch 14, Nummer 5 + Ingrid Demir = Hof 1, Tisch 14, Nummer 6 + Jennifer Dietrich = Hof 1, Tisch 14, Nummer 7 + Hannelore Demir = Hof 1, Tisch 14, Nummer 8 [15] - Lena Brandt = Hof 1, Tisch 15, Nummer 1 - Helga Fischer = Hof 1, Tisch 15, Nummer 2 - Heinz Fischer = Hof 1, Tisch 15, Nummer 3 - Andreas Brandt = Hof 1, Tisch 15, Nummer 4 - Sandra Meyer = Hof 1, Tisch 15, Nummer 5 - Theo Brandt = Hof 1, Tisch 15, Nummer 6 - Marco Meyer = Hof 1, Tisch 15, Nummer 7 + Heinz Fischer = Hof 1, Tisch 15, Nummer 1 + Werner Stein = Hof 1, Tisch 15, Nummer 2 + Renate Aksoy = Hof 1, Tisch 15, Nummer 3 + Heinz Tran = Hof 1, Tisch 15, Nummer 4 + Rainer Aksoy = Hof 1, Tisch 15, Nummer 5 + Erika Erdem = Hof 1, Tisch 15, Nummer 6 + Guenter Schwarz = Hof 1, Tisch 15, Nummer 7 + Helga Fischer = Hof 1, Tisch 15, Nummer 8 [16] - Felix Brandt = Hof 1, Tisch 16, Nummer 1 - Mila Meyer = Hof 1, Tisch 16, Nummer 2 - Theo Sommer = Hof 1, Tisch 16, Nummer 3 - Liam Schwarz = Hof 1, Tisch 16, Nummer 4 - Matteo Kraus = Hof 1, Tisch 16, Nummer 5 - Ida Sommer = Hof 1, Tisch 16, Nummer 6 - Elias Schwarz = Hof 1, Tisch 16, Nummer 7 - Leni Kuhn = Hof 1, Tisch 16, Nummer 8 - Greta Brandt = Hof 1, Tisch 16, Nummer 9 - Frieda Brandt = Hof 1, Tisch 16, Nummer 10 - Max Sommer = Hof 1, Tisch 16, Nummer 11 - Emil Sommer = Hof 1, Tisch 16, Nummer 12 + Max Sommer = Hof 1, Tisch 16, Nummer 1 + Elias Schwarz = Hof 1, Tisch 16, Nummer 2 + Felix Brandt = Hof 1, Tisch 16, Nummer 3 + Mila Meyer = Hof 1, Tisch 16, Nummer 4 + Greta Brandt = Hof 1, Tisch 16, Nummer 5 + Leni Kuhn = Hof 1, Tisch 16, Nummer 6 + Frieda Brandt = Hof 1, Tisch 16, Nummer 7 + Liam Schwarz = Hof 1, Tisch 16, Nummer 8 + Ida Sommer = Hof 1, Tisch 16, Nummer 9 + Theo Sommer = Hof 1, Tisch 16, Nummer 10 + Emil Sommer = Hof 1, Tisch 16, Nummer 11 + Matteo Kraus = Hof 1, Tisch 16, Nummer 12 Anton Brandt = Hof 1, Tisch 16, Nummer 13 [17] Anton Vogel = Hof 1, Tisch 17, Nummer 1 - Ida Meyer = Hof 1, Tisch 17, Nummer 2 + Paul Brandt = Hof 1, Tisch 17, Nummer 2 Max Vogel = Hof 1, Tisch 17, Nummer 3 - Anton Meyer = Hof 1, Tisch 17, Nummer 4 - Paul Brandt = Hof 1, Tisch 17, Nummer 5 - Ben Brandt = Hof 1, Tisch 17, Nummer 6 + Ben Brandt = Hof 1, Tisch 17, Nummer 4 + Anton Meyer = Hof 1, Tisch 17, Nummer 5 + Ida Meyer = Hof 1, Tisch 17, Nummer 6 diff --git a/work/innenhoefe/Entwicklung.svg b/work/innenhoefe/Entwicklung.svg index 198d7d1..9855eb7 100644 --- a/work/innenhoefe/Entwicklung.svg +++ b/work/innenhoefe/Entwicklung.svg @@ -1,47 +1,56 @@ - + Entwicklung der Loesungsfindung - - - --744 - --647 - --550 - --454 - --357 + + + +-821 + +-715 + +-609 + +-503 + +-398 --260 -Wertigkeit (hoeher = besser) -Zyklus-Aktion (Zeit) -e -s -z -m -j -z -s -z -m -j -z -s -z -m -j -z -s - - - +-292 +Wertigkeit (hoeher = besser) + + + beste Loesung Durchschnitt schlechteste Loesung +Anzahl erzeugter Verteilungen im Pool + + + +0 + +60 + +120 + +e +m +j +s +m +j +s +m +j +s +m +j +s +m +j +s +Zyklus-Aktion (Zeit) diff --git a/work/innenhoefe/PersonenTische.csv b/work/innenhoefe/PersonenTische.csv index 9188d08..a63876a 100644 --- a/work/innenhoefe/PersonenTische.csv +++ b/work/innenhoefe/PersonenTische.csv @@ -1,300 +1,300 @@ -Aksoy, Luca, = Hof 1, Tisch 35, Nummer 3 -Aksoy, Marie, = Hof 1, Tisch 35, Nummer 4 -Aksoy, Marija, = Hof 2, Tisch 70, Nummer 5 -Aksoy, Michael, Dr. = Hof 2, Tisch 49, Nummer 2 -Aksoy, Nadine, = Hof 1, Tisch 36, Nummer 3 -Aksoy, Nicole, = Hof 2, Tisch 62, Nummer 5 -Aksoy, Sergej, = Hof 1, Tisch 36, Nummer 2 -Aksoy, Sofia, = Hof 1, Tisch 35, Nummer 2 -Aksoy, Thomas, = Hof 1, Tisch 36, Nummer 4 -Albrecht, Andreas, = Hof 1, Tisch 12, Nummer 5 -Albrecht, Emre, Prof. Dr. = Hof 1, Tisch 2, Nummer 4 -Albrecht, Sarah, = Hof 1, Tisch 12, Nummer 2 -Albrecht, Yusuf, Prof. Dr. = Hof 1, Tisch 20, Nummer 4 -Arnold, Christian, = Hof 2, Tisch 50, Nummer 3 -Arnold, Jennifer, = Hof 2, Tisch 50, Nummer 4 -Arnold, Jennifer, Dr. = Hof 1, Tisch 13, Nummer 4 -Arnold, Leni, = Hof 2, Tisch 51, Nummer 2 -Arnold, Mila, = Hof 2, Tisch 50, Nummer 2 -Arnold, Nadine, = Hof 2, Tisch 71, Nummer 3 -Arnold, Patrick, = Hof 2, Tisch 51, Nummer 3 -Barth, Lina, = Hof 2, Tisch 67, Nummer 5 -Barth, Markus, = Hof 1, Tisch 44, Nummer 3 -Barth, Nadine, = Hof 2, Tisch 67, Nummer 3 -Barth, Patrick, = Hof 2, Tisch 67, Nummer 2 -Barth, Timo, = Hof 2, Tisch 67, Nummer 4 -Bauer, Dragana, = Hof 2, Tisch 57, Nummer 5 -Bauer, Yusuf, = Hof 1, Tisch 4, Nummer 3 -Becker, Jan, = Hof 1, Tisch 42, Nummer 2 -Becker, Marija, = Hof 1, Tisch 32, Nummer 2 -Becker, Nicole, = Hof 1, Tisch 42, Nummer 4 -Becker, Sandra, = Hof 1, Tisch 42, Nummer 3 -Berger, Andreas, = Hof 1, Tisch 33, Nummer 5 -Berger, Anton, = Hof 1, Tisch 25, Nummer 4 -Berger, Jennifer, = Hof 1, Tisch 33, Nummer 4 -Berger, Layla, = Hof 1, Tisch 25, Nummer 3 -Berger, Nadine, Dr. = Hof 2, Tisch 60, Nummer 4 -Berger, Stefan, = Hof 1, Tisch 25, Nummer 5 -Berger, Svenja, = Hof 1, Tisch 25, Nummer 2 -Bianchi, Jan, Dr. = Hof 1, Tisch 3, Nummer 3 -Bianchi, Mia, = Hof 1, Tisch 31, Nummer 4 -Bianchi, Sandra, = Hof 1, Tisch 31, Nummer 3 -Bianchi, Thomas, = Hof 1, Tisch 2, Nummer 3 -Bianchi, Thomas, = Hof 1, Tisch 31, Nummer 2 -Braun, Christian, = Hof 2, Tisch 48, Nummer 3 -Braun, Dragana, = Hof 2, Tisch 47, Nummer 5 -Braun, Jan, = Hof 2, Tisch 48, Nummer 4 -Braun, Julia, = Hof 2, Tisch 47, Nummer 2 -Braun, Milan, = Hof 2, Tisch 48, Nummer 2 -Braun, Nadine, = Hof 2, Tisch 48, Nummer 5 -Busch, Emre, = Hof 2, Tisch 56, Nummer 5 -Busch, Marie, = Hof 2, Tisch 56, Nummer 2 -Busch, Michael, = Hof 2, Tisch 56, Nummer 3 -Busch, Olga, = Hof 2, Tisch 56, Nummer 4 -Busch, Patrick, = Hof 2, Tisch 49, Nummer 4 -Celik, Elif, = Hof 1, Tisch 33, Nummer 3 -Celik, Patrick, = Hof 1, Tisch 33, Nummer 2 -Dallmann, Charlotte, = Hof 1, Tisch 7, Nummer 5 -Dallmann, Heinrich, = Hof 1, Tisch 7, Nummer 2 +Aksoy, Luca, = Hof 1, Tisch 30, Nummer 2 +Aksoy, Marie, = Hof 1, Tisch 30, Nummer 4 +Aksoy, Marija, = Hof 2, Tisch 53, Nummer 2 +Aksoy, Michael, Dr. = Hof 2, Tisch 55, Nummer 2 +Aksoy, Nadine, = Hof 1, Tisch 21, Nummer 3 +Aksoy, Nicole, = Hof 1, Tisch 31, Nummer 5 +Aksoy, Sergej, = Hof 1, Tisch 21, Nummer 2 +Aksoy, Sofia, = Hof 1, Tisch 30, Nummer 3 +Aksoy, Thomas, = Hof 1, Tisch 21, Nummer 4 +Albrecht, Andreas, = Hof 1, Tisch 8, Nummer 2 +Albrecht, Emre, Prof. Dr. = Hof 1, Tisch 37, Nummer 4 +Albrecht, Sarah, = Hof 1, Tisch 8, Nummer 4 +Albrecht, Yusuf, Prof. Dr. = Hof 1, Tisch 15, Nummer 5 +Arnold, Christian, = Hof 2, Tisch 69, Nummer 3 +Arnold, Jennifer, = Hof 2, Tisch 70, Nummer 2 +Arnold, Jennifer, Dr. = Hof 1, Tisch 28, Nummer 4 +Arnold, Leni, = Hof 2, Tisch 70, Nummer 3 +Arnold, Mila, = Hof 2, Tisch 69, Nummer 4 +Arnold, Nadine, = Hof 2, Tisch 52, Nummer 3 +Arnold, Patrick, = Hof 2, Tisch 69, Nummer 2 +Barth, Lina, = Hof 1, Tisch 16, Nummer 3 +Barth, Markus, = Hof 2, Tisch 49, Nummer 3 +Barth, Nadine, = Hof 1, Tisch 16, Nummer 4 +Barth, Patrick, = Hof 1, Tisch 16, Nummer 2 +Barth, Timo, = Hof 1, Tisch 16, Nummer 5 +Bauer, Dragana, = Hof 1, Tisch 42, Nummer 4 +Bauer, Yusuf, = Hof 1, Tisch 2, Nummer 3 +Becker, Jan, = Hof 2, Tisch 46, Nummer 2 +Becker, Marija, = Hof 1, Tisch 43, Nummer 2 +Becker, Nicole, = Hof 2, Tisch 46, Nummer 3 +Becker, Sandra, = Hof 2, Tisch 46, Nummer 4 +Berger, Andreas, = Hof 1, Tisch 20, Nummer 3 +Berger, Anton, = Hof 1, Tisch 29, Nummer 3 +Berger, Jennifer, = Hof 1, Tisch 20, Nummer 5 +Berger, Layla, = Hof 1, Tisch 29, Nummer 2 +Berger, Nadine, Dr. = Hof 2, Tisch 62, Nummer 2 +Berger, Stefan, = Hof 1, Tisch 20, Nummer 4 +Berger, Svenja, = Hof 1, Tisch 20, Nummer 2 +Bianchi, Jan, Dr. = Hof 1, Tisch 2, Nummer 2 +Bianchi, Mia, = Hof 1, Tisch 38, Nummer 3 +Bianchi, Sandra, = Hof 1, Tisch 38, Nummer 4 +Bianchi, Thomas, = Hof 1, Tisch 37, Nummer 2 +Bianchi, Thomas, = Hof 1, Tisch 38, Nummer 2 +Braun, Christian, = Hof 1, Tisch 3, Nummer 3 +Braun, Dragana, = Hof 1, Tisch 11, Nummer 3 +Braun, Jan, = Hof 1, Tisch 11, Nummer 5 +Braun, Julia, = Hof 1, Tisch 11, Nummer 4 +Braun, Milan, = Hof 1, Tisch 11, Nummer 2 +Braun, Nadine, = Hof 1, Tisch 3, Nummer 2 +Busch, Emre, = Hof 1, Tisch 39, Nummer 4 +Busch, Marie, = Hof 1, Tisch 39, Nummer 3 +Busch, Michael, = Hof 1, Tisch 39, Nummer 2 +Busch, Olga, = Hof 1, Tisch 39, Nummer 5 +Busch, Patrick, = Hof 2, Tisch 55, Nummer 5 +Celik, Elif, = Hof 1, Tisch 19, Nummer 4 +Celik, Patrick, = Hof 1, Tisch 19, Nummer 3 +Dallmann, Charlotte, = Hof 1, Tisch 7, Nummer 2 +Dallmann, Heinrich, = Hof 1, Tisch 7, Nummer 5 Dallmann, Margarete, = Hof 1, Tisch 7, Nummer 3 Dallmann, Maximilian, = Hof 1, Tisch 7, Nummer 4 Demir, Sandra, Dr. = Hof 1, Tisch 29, Nummer 4 -Dietrich, Dragana, Prof. Dr. = Hof 2, Tisch 59, Nummer 2 -Dietrich, Jennifer, = Hof 2, Tisch 64, Nummer 3 -Dietrich, Marco, = Hof 2, Tisch 64, Nummer 4 -Dietrich, Sofia, = Hof 2, Tisch 64, Nummer 2 -Engel, Anja, = Hof 1, Tisch 22, Nummer 2 -Engel, Anton, = Hof 1, Tisch 22, Nummer 4 -Engel, Julia, = Hof 1, Tisch 13, Nummer 2 -Engel, Nicole, = Hof 1, Tisch 22, Nummer 3 -Engel, Yusuf, = Hof 1, Tisch 13, Nummer 3 -Esposito, Jan, Dr. = Hof 1, Tisch 16, Nummer 2 -Esposito, Yusuf, Prof. Dr. = Hof 1, Tisch 32, Nummer 4 -Frank, Dennis, = Hof 1, Tisch 8, Nummer 2 -Frank, Finn, = Hof 1, Tisch 19, Nummer 3 -Frank, Lena, = Hof 1, Tisch 19, Nummer 2 -Frank, Marie, = Hof 1, Tisch 19, Nummer 4 -Frank, Nadine, = Hof 1, Tisch 8, Nummer 3 -Franke, Amira, = Hof 2, Tisch 85, Nummer 5 -Franke, Julia, = Hof 2, Tisch 84, Nummer 3 -Franke, Marco, = Hof 2, Tisch 84, Nummer 4 -Franke, Michael, = Hof 2, Tisch 85, Nummer 4 -Franke, Olga, = Hof 2, Tisch 84, Nummer 2 -Freifrau von Waldeck, Antonia, = Hof 1, Tisch 6, Nummer 4 -Freiherr von Waldeck, Konstantin, Dr. = Hof 1, Tisch 6, Nummer 5 -Grothe, Alexander, Dr. h.c. = Hof 1, Tisch 5, Nummer 3 -Grothe, Beate, = Hof 1, Tisch 5, Nummer 5 -Haas, Jennifer, Dr. = Hof 1, Tisch 37, Nummer 2 -Haas, Patrick, = Hof 2, Tisch 57, Nummer 2 -Hansen, Giovanna, = Hof 1, Tisch 9, Nummer 4 -Hansen, Markus, = Hof 1, Tisch 9, Nummer 2 -Hansen, Nicole, Dr. = Hof 2, Tisch 57, Nummer 3 -Hansen, Olga, = Hof 1, Tisch 9, Nummer 3 -Hansen, Thomas, = Hof 1, Tisch 16, Nummer 5 -Hartmann, Deniz, = Hof 1, Tisch 8, Nummer 5 -Hartmann, Marija, = Hof 1, Tisch 18, Nummer 3 -Hartmann, Nadine, = Hof 1, Tisch 8, Nummer 4 -Hartmann, Olga, = Hof 1, Tisch 18, Nummer 4 -Hartmann, Thomas, = Hof 1, Tisch 18, Nummer 2 -Hoffmann, Emre, = Hof 2, Tisch 59, Nummer 4 -Hoffmann, Patrick, Prof. Dr. = Hof 2, Tisch 71, Nummer 5 -Hoffmann, Thomas, Dr. = Hof 1, Tisch 45, Nummer 5 -Horn, Kathrin, = Hof 2, Tisch 83, Nummer 4 -Horn, Layla, = Hof 2, Tisch 83, Nummer 2 -Horn, Leon, = Hof 2, Tisch 83, Nummer 3 -Horn, Michael, = Hof 2, Tisch 83, Nummer 5 -Kaya, Christina, = Hof 1, Tisch 40, Nummer 2 -Kaya, Luca, = Hof 1, Tisch 40, Nummer 3 -Kaya, Nicole, = Hof 1, Tisch 40, Nummer 4 -Kaya, Patrick, Dr. = Hof 1, Tisch 4, Nummer 5 +Dietrich, Dragana, Prof. Dr. = Hof 2, Tisch 56, Nummer 4 +Dietrich, Jennifer, = Hof 2, Tisch 63, Nummer 3 +Dietrich, Marco, = Hof 2, Tisch 63, Nummer 2 +Dietrich, Sofia, = Hof 2, Tisch 63, Nummer 4 +Engel, Anja, = Hof 1, Tisch 27, Nummer 2 +Engel, Anton, = Hof 1, Tisch 28, Nummer 3 +Engel, Julia, = Hof 1, Tisch 27, Nummer 4 +Engel, Nicole, = Hof 1, Tisch 28, Nummer 5 +Engel, Yusuf, = Hof 1, Tisch 27, Nummer 3 +Esposito, Jan, Dr. = Hof 1, Tisch 10, Nummer 4 +Esposito, Yusuf, Prof. Dr. = Hof 1, Tisch 43, Nummer 3 +Frank, Dennis, = Hof 1, Tisch 12, Nummer 2 +Frank, Finn, = Hof 1, Tisch 22, Nummer 2 +Frank, Lena, = Hof 1, Tisch 22, Nummer 3 +Frank, Marie, = Hof 1, Tisch 22, Nummer 4 +Frank, Nadine, = Hof 1, Tisch 12, Nummer 3 +Franke, Amira, = Hof 2, Tisch 57, Nummer 3 +Franke, Julia, = Hof 2, Tisch 57, Nummer 2 +Franke, Marco, = Hof 2, Tisch 67, Nummer 3 +Franke, Michael, = Hof 2, Tisch 57, Nummer 4 +Franke, Olga, = Hof 2, Tisch 67, Nummer 5 +Freifrau von Waldeck, Antonia, = Hof 1, Tisch 6, Nummer 3 +Freiherr von Waldeck, Konstantin, Dr. = Hof 1, Tisch 6, Nummer 2 +Grothe, Alexander, Dr. h.c. = Hof 1, Tisch 5, Nummer 5 +Grothe, Beate, = Hof 1, Tisch 5, Nummer 2 +Haas, Jennifer, Dr. = Hof 2, Tisch 49, Nummer 2 +Haas, Patrick, = Hof 1, Tisch 42, Nummer 5 +Hansen, Giovanna, = Hof 1, Tisch 14, Nummer 2 +Hansen, Markus, = Hof 1, Tisch 14, Nummer 4 +Hansen, Nicole, Dr. = Hof 1, Tisch 41, Nummer 2 +Hansen, Olga, = Hof 1, Tisch 14, Nummer 3 +Hansen, Thomas, = Hof 1, Tisch 10, Nummer 3 +Hartmann, Deniz, = Hof 1, Tisch 13, Nummer 2 +Hartmann, Marija, = Hof 1, Tisch 12, Nummer 4 +Hartmann, Nadine, = Hof 1, Tisch 13, Nummer 4 +Hartmann, Olga, = Hof 1, Tisch 13, Nummer 3 +Hartmann, Thomas, = Hof 1, Tisch 12, Nummer 5 +Hoffmann, Emre, = Hof 2, Tisch 56, Nummer 5 +Hoffmann, Patrick, Prof. Dr. = Hof 2, Tisch 52, Nummer 4 +Hoffmann, Thomas, Dr. = Hof 1, Tisch 17, Nummer 5 +Horn, Kathrin, = Hof 2, Tisch 82, Nummer 3 +Horn, Layla, = Hof 2, Tisch 82, Nummer 4 +Horn, Leon, = Hof 2, Tisch 82, Nummer 2 +Horn, Michael, = Hof 2, Tisch 82, Nummer 5 +Kaya, Christina, = Hof 1, Tisch 44, Nummer 2 +Kaya, Luca, = Hof 1, Tisch 44, Nummer 3 +Kaya, Nicole, = Hof 1, Tisch 44, Nummer 4 +Kaya, Patrick, Dr. = Hof 1, Tisch 1, Nummer 4 Kaya, Timo, Prof. Dr. = Hof 1, Tisch 29, Nummer 5 -Kessler, Ferdinand, Dr. = Hof 1, Tisch 5, Nummer 2 +Kessler, Ferdinand, Dr. = Hof 1, Tisch 5, Nummer 3 Kessler, Viktoria, = Hof 1, Tisch 5, Nummer 4 -Klein, Emre, = Hof 1, Tisch 4, Nummer 4 -Klein, Lina, = Hof 2, Tisch 52, Nummer 3 -Klein, Markus, = Hof 2, Tisch 62, Nummer 2 -Klein, Milan, = Hof 2, Tisch 52, Nummer 2 -Klein, Olga, Dr. = Hof 1, Tisch 13, Nummer 5 -Klein, Stefanie, = Hof 2, Tisch 52, Nummer 4 -Koch, Emil, = Hof 2, Tisch 58, Nummer 3 -Koch, Jan, = Hof 2, Tisch 59, Nummer 5 -Koch, Kathrin, Dr. = Hof 2, Tisch 68, Nummer 2 -Koch, Marie, = Hof 2, Tisch 58, Nummer 4 -Koch, Michael, = Hof 2, Tisch 59, Nummer 3 -Koch, Olga, = Hof 2, Tisch 58, Nummer 2 -Koch, Sarah, = Hof 2, Tisch 58, Nummer 5 -Kovac, Anja, = Hof 1, Tisch 26, Nummer 4 -Kovac, Henry, = Hof 1, Tisch 26, Nummer 3 -Kovac, Lena, = Hof 1, Tisch 34, Nummer 2 -Kovac, Luca, = Hof 2, Tisch 72, Nummer 3 -Kovac, Marco, = Hof 1, Tisch 34, Nummer 3 -Kovac, Marija, = Hof 1, Tisch 34, Nummer 4 -Kovac, Matthias, = Hof 1, Tisch 32, Nummer 3 -Kovac, Tobias, = Hof 1, Tisch 26, Nummer 2 -Kraus, Markus, = Hof 1, Tisch 10, Nummer 3 -Kraus, Patrick, Dr. = Hof 2, Tisch 69, Nummer 4 -Krause, Andreas, = Hof 2, Tisch 88, Nummer 2 -Krause, Arda, = Hof 2, Tisch 88, Nummer 4 -Krause, Christina, Dr. = Hof 1, Tisch 3, Nummer 4 -Krause, Daniel, = Hof 2, Tisch 62, Nummer 4 -Krause, Dragana, Dr. = Hof 2, Tisch 72, Nummer 4 -Krause, Emma, = Hof 2, Tisch 88, Nummer 3 -Krause, Julia, = Hof 2, Tisch 88, Nummer 5 -Krause, Matthias, = Hof 2, Tisch 78, Nummer 4 -Krause, Thomas, = Hof 2, Tisch 47, Nummer 4 -Kuhn, Julia, Dr. = Hof 2, Tisch 68, Nummer 4 -Lange, Dragana, = Hof 2, Tisch 73, Nummer 3 -Lange, Jan, = Hof 2, Tisch 81, Nummer 3 -Lange, Michael, = Hof 2, Tisch 73, Nummer 2 -Lange, Sergej, = Hof 2, Tisch 49, Nummer 3 -Lange, Sofia, = Hof 2, Tisch 81, Nummer 4 -Lange, Svenja, = Hof 2, Tisch 81, Nummer 2 -Lehmann, Giovanna, = Hof 1, Tisch 21, Nummer 2 -Lehmann, Layla, = Hof 1, Tisch 20, Nummer 2 -Lehmann, Markus, = Hof 1, Tisch 21, Nummer 4 -Lehmann, Milan, = Hof 1, Tisch 20, Nummer 3 -Lehmann, Nicole, = Hof 1, Tisch 21, Nummer 3 -Lehmann, Patrick, = Hof 2, Tisch 60, Nummer 2 -Lehmann, Thomas, = Hof 1, Tisch 21, Nummer 5 -Ludwig, Aylin, Dr. = Hof 2, Tisch 69, Nummer 2 -Ludwig, Elias, = Hof 2, Tisch 46, Nummer 2 -Ludwig, Elif, = Hof 2, Tisch 46, Nummer 4 -Ludwig, Emre, = Hof 2, Tisch 46, Nummer 3 -Ludwig, Emre, Prof. Dr. = Hof 2, Tisch 62, Nummer 3 -Ludwig, Giovanna, = Hof 2, Tisch 46, Nummer 5 -Maier, Arda, = Hof 2, Tisch 61, Nummer 4 -Maier, Christian, = Hof 2, Tisch 61, Nummer 2 -Maier, Olga, = Hof 2, Tisch 61, Nummer 3 -Maier, Sarah, = Hof 2, Tisch 61, Nummer 5 -Neumann, Jennifer, = Hof 1, Tisch 14, Nummer 5 -Neumann, Lina, = Hof 1, Tisch 14, Nummer 3 -Neumann, Matteo, = Hof 1, Tisch 14, Nummer 4 -Neumann, Thomas, = Hof 1, Tisch 14, Nummer 2 -Nguyen, Anja, = Hof 1, Tisch 43, Nummer 3 -Nguyen, Daniel, = Hof 1, Tisch 43, Nummer 4 -Nguyen, Julia, = Hof 1, Tisch 16, Nummer 3 -Nguyen, Sofia, = Hof 1, Tisch 43, Nummer 2 -Nowak, Aylin, = Hof 1, Tisch 27, Nummer 2 -Nowak, Felix, = Hof 1, Tisch 28, Nummer 3 -Nowak, Kathrin, = Hof 1, Tisch 28, Nummer 4 -Nowak, Lina, = Hof 1, Tisch 27, Nummer 5 -Nowak, Markus, = Hof 1, Tisch 28, Nummer 2 -Nowak, Noah, = Hof 1, Tisch 28, Nummer 5 -Ott, Daniel, = Hof 1, Tisch 38, Nummer 4 -Ott, Hannah, = Hof 1, Tisch 30, Nummer 2 -Ott, Luca, = Hof 2, Tisch 72, Nummer 2 -Ott, Matthias, = Hof 1, Tisch 38, Nummer 2 -Ott, Melanie, = Hof 1, Tisch 30, Nummer 5 -Ott, Olga, = Hof 1, Tisch 38, Nummer 3 -Ott, Sergej, Prof. Dr. = Hof 2, Tisch 47, Nummer 3 -Ott, Yusuf, Prof. Dr. = Hof 2, Tisch 60, Nummer 3 -Peters, Christian, = Hof 1, Tisch 11, Nummer 4 -Peters, Nicole, = Hof 2, Tisch 57, Nummer 4 -Petrov, Giovanna, = Hof 1, Tisch 10, Nummer 2 -Petrov, Kathrin, = Hof 1, Tisch 30, Nummer 3 -Petrov, Kathrin, Prof. Dr. = Hof 1, Tisch 11, Nummer 2 -Petrov, Matthias, = Hof 1, Tisch 44, Nummer 2 -Petrov, Milan, = Hof 1, Tisch 30, Nummer 4 -Petrov, Sergej, = Hof 2, Tisch 70, Nummer 3 -Pohl, Dragana, = Hof 2, Tisch 74, Nummer 2 -Pohl, Emre, = Hof 2, Tisch 74, Nummer 3 -Pohl, Mia, = Hof 2, Tisch 74, Nummer 4 -Pohl, Theo, = Hof 2, Tisch 74, Nummer 5 -Polat, Kathrin, = Hof 2, Tisch 70, Nummer 4 -Polat, Katrin, = Hof 2, Tisch 85, Nummer 2 -Polat, Marija, = Hof 2, Tisch 71, Nummer 2 -Polat, Markus, = Hof 2, Tisch 85, Nummer 3 -Polat, Sarah, = Hof 2, Tisch 79, Nummer 3 -Polat, Stefan, = Hof 2, Tisch 79, Nummer 4 -Polat, Stefanie, = Hof 2, Tisch 79, Nummer 2 -Popescu, Matthias, = Hof 1, Tisch 12, Nummer 3 -Richter, Anja, = Hof 1, Tisch 23, Nummer 5 -Richter, Anja, Prof. Dr. = Hof 2, Tisch 54, Nummer 4 -Richter, Anton, = Hof 1, Tisch 23, Nummer 4 -Richter, Greta, = Hof 1, Tisch 23, Nummer 3 -Richter, Julia, Prof. Dr. = Hof 1, Tisch 37, Nummer 3 -Richter, Marco, = Hof 2, Tisch 71, Nummer 4 +Klein, Emre, = Hof 1, Tisch 1, Nummer 3 +Klein, Lina, = Hof 2, Tisch 51, Nummer 3 +Klein, Markus, = Hof 1, Tisch 31, Nummer 4 +Klein, Milan, = Hof 2, Tisch 51, Nummer 2 +Klein, Olga, Dr. = Hof 1, Tisch 28, Nummer 2 +Klein, Stefanie, = Hof 2, Tisch 51, Nummer 4 +Koch, Emil, = Hof 1, Tisch 41, Nummer 4 +Koch, Jan, = Hof 1, Tisch 40, Nummer 5 +Koch, Kathrin, Dr. = Hof 2, Tisch 80, Nummer 4 +Koch, Marie, = Hof 1, Tisch 41, Nummer 5 +Koch, Michael, = Hof 1, Tisch 40, Nummer 3 +Koch, Olga, = Hof 1, Tisch 40, Nummer 4 +Koch, Sarah, = Hof 1, Tisch 40, Nummer 2 +Kovac, Anja, = Hof 1, Tisch 32, Nummer 4 +Kovac, Henry, = Hof 1, Tisch 24, Nummer 3 +Kovac, Lena, = Hof 1, Tisch 24, Nummer 2 +Kovac, Luca, = Hof 2, Tisch 67, Nummer 4 +Kovac, Marco, = Hof 1, Tisch 32, Nummer 2 +Kovac, Marija, = Hof 1, Tisch 32, Nummer 3 +Kovac, Matthias, = Hof 1, Tisch 43, Nummer 4 +Kovac, Tobias, = Hof 1, Tisch 24, Nummer 4 +Kraus, Markus, = Hof 1, Tisch 34, Nummer 2 +Kraus, Patrick, Dr. = Hof 2, Tisch 66, Nummer 3 +Krause, Andreas, = Hof 2, Tisch 75, Nummer 4 +Krause, Arda, = Hof 2, Tisch 75, Nummer 5 +Krause, Christina, Dr. = Hof 1, Tisch 2, Nummer 4 +Krause, Daniel, = Hof 1, Tisch 31, Nummer 2 +Krause, Dragana, Dr. = Hof 2, Tisch 68, Nummer 3 +Krause, Emma, = Hof 2, Tisch 75, Nummer 3 +Krause, Julia, = Hof 2, Tisch 75, Nummer 2 +Krause, Matthias, = Hof 2, Tisch 66, Nummer 2 +Krause, Thomas, = Hof 1, Tisch 42, Nummer 2 +Kuhn, Julia, Dr. = Hof 2, Tisch 80, Nummer 3 +Lange, Dragana, = Hof 1, Tisch 8, Nummer 3 +Lange, Jan, = Hof 1, Tisch 36, Nummer 3 +Lange, Michael, = Hof 1, Tisch 36, Nummer 2 +Lange, Sergej, = Hof 2, Tisch 55, Nummer 3 +Lange, Sofia, = Hof 1, Tisch 36, Nummer 4 +Lange, Svenja, = Hof 1, Tisch 8, Nummer 5 +Lehmann, Giovanna, = Hof 1, Tisch 18, Nummer 4 +Lehmann, Layla, = Hof 1, Tisch 18, Nummer 5 +Lehmann, Markus, = Hof 1, Tisch 18, Nummer 2 +Lehmann, Milan, = Hof 1, Tisch 18, Nummer 3 +Lehmann, Nicole, = Hof 1, Tisch 19, Nummer 5 +Lehmann, Patrick, = Hof 2, Tisch 62, Nummer 4 +Lehmann, Thomas, = Hof 1, Tisch 19, Nummer 2 +Ludwig, Aylin, Dr. = Hof 2, Tisch 66, Nummer 5 +Ludwig, Elias, = Hof 2, Tisch 76, Nummer 3 +Ludwig, Elif, = Hof 2, Tisch 76, Nummer 2 +Ludwig, Emre, = Hof 2, Tisch 76, Nummer 4 +Ludwig, Emre, Prof. Dr. = Hof 1, Tisch 31, Nummer 3 +Ludwig, Giovanna, = Hof 2, Tisch 76, Nummer 5 +Maier, Arda, = Hof 2, Tisch 78, Nummer 4 +Maier, Christian, = Hof 2, Tisch 78, Nummer 5 +Maier, Olga, = Hof 2, Tisch 78, Nummer 2 +Maier, Sarah, = Hof 2, Tisch 78, Nummer 3 +Neumann, Jennifer, = Hof 2, Tisch 86, Nummer 5 +Neumann, Lina, = Hof 2, Tisch 86, Nummer 4 +Neumann, Matteo, = Hof 2, Tisch 86, Nummer 3 +Neumann, Thomas, = Hof 2, Tisch 86, Nummer 2 +Nguyen, Anja, = Hof 2, Tisch 47, Nummer 4 +Nguyen, Daniel, = Hof 2, Tisch 47, Nummer 2 +Nguyen, Julia, = Hof 1, Tisch 9, Nummer 5 +Nguyen, Sofia, = Hof 2, Tisch 47, Nummer 3 +Nowak, Aylin, = Hof 1, Tisch 33, Nummer 5 +Nowak, Felix, = Hof 1, Tisch 34, Nummer 4 +Nowak, Kathrin, = Hof 1, Tisch 33, Nummer 4 +Nowak, Lina, = Hof 1, Tisch 33, Nummer 3 +Nowak, Markus, = Hof 1, Tisch 34, Nummer 3 +Nowak, Noah, = Hof 1, Tisch 33, Nummer 2 +Ott, Daniel, = Hof 2, Tisch 74, Nummer 3 +Ott, Hannah, = Hof 2, Tisch 73, Nummer 2 +Ott, Luca, = Hof 2, Tisch 68, Nummer 4 +Ott, Matthias, = Hof 2, Tisch 73, Nummer 4 +Ott, Melanie, = Hof 2, Tisch 73, Nummer 3 +Ott, Olga, = Hof 2, Tisch 74, Nummer 4 +Ott, Sergej, Prof. Dr. = Hof 1, Tisch 42, Nummer 3 +Ott, Yusuf, Prof. Dr. = Hof 2, Tisch 62, Nummer 3 +Peters, Christian, = Hof 1, Tisch 26, Nummer 3 +Peters, Nicole, = Hof 1, Tisch 41, Nummer 3 +Petrov, Giovanna, = Hof 1, Tisch 34, Nummer 5 +Petrov, Kathrin, = Hof 1, Tisch 25, Nummer 3 +Petrov, Kathrin, Prof. Dr. = Hof 1, Tisch 3, Nummer 5 +Petrov, Matthias, = Hof 2, Tisch 50, Nummer 3 +Petrov, Milan, = Hof 1, Tisch 25, Nummer 4 +Petrov, Sergej, = Hof 2, Tisch 53, Nummer 4 +Pohl, Dragana, = Hof 2, Tisch 85, Nummer 3 +Pohl, Emre, = Hof 2, Tisch 85, Nummer 5 +Pohl, Mia, = Hof 2, Tisch 85, Nummer 2 +Pohl, Theo, = Hof 2, Tisch 85, Nummer 4 +Polat, Kathrin, = Hof 2, Tisch 53, Nummer 3 +Polat, Katrin, = Hof 2, Tisch 83, Nummer 4 +Polat, Marija, = Hof 2, Tisch 52, Nummer 2 +Polat, Markus, = Hof 2, Tisch 83, Nummer 2 +Polat, Sarah, = Hof 2, Tisch 74, Nummer 5 +Polat, Stefan, = Hof 2, Tisch 74, Nummer 2 +Polat, Stefanie, = Hof 2, Tisch 83, Nummer 3 +Popescu, Matthias, = Hof 1, Tisch 15, Nummer 4 +Richter, Anja, = Hof 1, Tisch 23, Nummer 4 +Richter, Anja, Prof. Dr. = Hof 2, Tisch 61, Nummer 4 +Richter, Anton, = Hof 1, Tisch 23, Nummer 3 +Richter, Greta, = Hof 1, Tisch 23, Nummer 5 +Richter, Julia, Prof. Dr. = Hof 2, Tisch 50, Nummer 4 +Richter, Marco, = Hof 2, Tisch 52, Nummer 5 Richter, Matthias, = Hof 1, Tisch 23, Nummer 2 -Richter, Stefan, = Hof 1, Tisch 1, Nummer 2 -Rossi, Emilia, = Hof 2, Tisch 87, Nummer 3 -Rossi, Luca, = Hof 2, Tisch 87, Nummer 2 -Rossi, Melanie, = Hof 2, Tisch 87, Nummer 4 -Roth, Christian, = Hof 2, Tisch 53, Nummer 2 -Roth, Julia, Prof. Dr. = Hof 1, Tisch 17, Nummer 3 -Roth, Olga, = Hof 1, Tisch 2, Nummer 2 -Roth, Sarah, = Hof 2, Tisch 53, Nummer 4 -Roth, Sofia, = Hof 2, Tisch 53, Nummer 3 -Sahin, Kathrin, = Hof 2, Tisch 55, Nummer 4 -Sahin, Markus, = Hof 2, Tisch 55, Nummer 3 -Sahin, Nicole, = Hof 2, Tisch 55, Nummer 2 -Sahin, Patrick, = Hof 2, Tisch 55, Nummer 5 -Sahin, Thomas, = Hof 2, Tisch 54, Nummer 3 -Schmidt, Giovanna, = Hof 1, Tisch 41, Nummer 3 -Schmidt, Marie, = Hof 1, Tisch 41, Nummer 2 -Schmidt, Matthias, = Hof 1, Tisch 41, Nummer 4 -Schmidt, Nicole, = Hof 1, Tisch 16, Nummer 4 -Schmitt, Dennis, Prof. Dr. = Hof 1, Tisch 1, Nummer 3 -Schmitt, Markus, = Hof 1, Tisch 11, Nummer 5 -Schmitt, Markus, = Hof 2, Tisch 86, Nummer 3 -Schmitt, Sarah, = Hof 2, Tisch 86, Nummer 4 -Schmitt, Sofia, = Hof 2, Tisch 86, Nummer 2 -Schmitt, Stefan, Prof. Dr. = Hof 2, Tisch 77, Nummer 2 -Schwarz, Giovanna, = Hof 2, Tisch 78, Nummer 2 -Seidel, Anja, Dr. = Hof 1, Tisch 45, Nummer 3 -Seidel, Markus, Dr. = Hof 1, Tisch 11, Nummer 3 -Seidel, Yusuf, Prof. Dr. = Hof 1, Tisch 4, Nummer 2 -Seifert, Elif, = Hof 2, Tisch 80, Nummer 4 -Seifert, Leni, = Hof 1, Tisch 27, Nummer 3 -Seifert, Marco, Prof. Dr. = Hof 2, Tisch 69, Nummer 3 -Seifert, Nicole, = Hof 1, Tisch 27, Nummer 4 -Seifert, Stefanie, Dr. = Hof 1, Tisch 17, Nummer 2 -Seifert, Timo, = Hof 2, Tisch 80, Nummer 2 -Seifert, Yusuf, = Hof 2, Tisch 80, Nummer 3 -Simon, Andreas, = Hof 2, Tisch 63, Nummer 2 -Simon, Emma, = Hof 2, Tisch 63, Nummer 5 -Simon, Lena, = Hof 2, Tisch 63, Nummer 3 -Simon, Markus, = Hof 2, Tisch 63, Nummer 4 -Simon, Svenja, = Hof 1, Tisch 20, Nummer 5 -Stein, Ben, = Hof 2, Tisch 75, Nummer 3 -Stein, Emilia, = Hof 2, Tisch 75, Nummer 2 -Stein, Giovanna, = Hof 2, Tisch 75, Nummer 4 -Stein, Markus, Prof. Dr. = Hof 1, Tisch 12, Nummer 4 -Stein, Nadine, Dr. = Hof 1, Tisch 10, Nummer 4 -Stein, Thomas, = Hof 2, Tisch 75, Nummer 5 -Steinbach, Elisabeth, = Hof 1, Tisch 6, Nummer 3 -Steinbach, Georg, = Hof 1, Tisch 6, Nummer 2 -Thiel, Christina, = Hof 2, Tisch 65, Nummer 4 -Thiel, Jan, Dr. = Hof 2, Tisch 54, Nummer 2 -Thiel, Julia, = Hof 2, Tisch 65, Nummer 2 -Thiel, Yusuf, = Hof 2, Tisch 65, Nummer 3 -Tran, Marija, = Hof 2, Tisch 68, Nummer 3 -Tran, Olga, = Hof 1, Tisch 45, Nummer 2 -Tran, Thomas, Prof. Dr. = Hof 2, Tisch 70, Nummer 2 -Wagner, Henry, = Hof 2, Tisch 82, Nummer 5 -Wagner, Marco, = Hof 2, Tisch 82, Nummer 3 -Wagner, Nicole, = Hof 2, Tisch 82, Nummer 2 -Wagner, Sarah, = Hof 2, Tisch 82, Nummer 4 -Weber, Andreas, = Hof 1, Tisch 37, Nummer 4 -Weber, Julia, = Hof 1, Tisch 10, Nummer 5 -Weber, Katrin, = Hof 2, Tisch 77, Nummer 4 -Weber, Yusuf, = Hof 2, Tisch 78, Nummer 3 -Werner, Andreas, = Hof 2, Tisch 66, Nummer 2 -Werner, Dennis, Prof. Dr. = Hof 1, Tisch 45, Nummer 4 -Werner, Katrin, = Hof 2, Tisch 49, Nummer 5 -Werner, Luca, = Hof 2, Tisch 77, Nummer 3 -Werner, Marco, = Hof 2, Tisch 66, Nummer 4 -Werner, Nadine, = Hof 2, Tisch 66, Nummer 3 -Werner, Sandra, = Hof 2, Tisch 66, Nummer 5 -Winkler, Lena, = Hof 1, Tisch 29, Nummer 2 -Winkler, Marco, = Hof 1, Tisch 3, Nummer 2 -Winkler, Patrick, = Hof 1, Tisch 29, Nummer 3 -Winkler, Thomas, = Hof 1, Tisch 17, Nummer 4 -Wolf, Ben, = Hof 2, Tisch 76, Nummer 3 -Wolf, Emma, = Hof 2, Tisch 76, Nummer 2 -Wolf, Julia, = Hof 2, Tisch 76, Nummer 4 -Wolf, Thomas, = Hof 2, Tisch 76, Nummer 5 -Zimmermann, Jan, = Hof 1, Tisch 15, Nummer 5 -Zimmermann, Markus, = Hof 1, Tisch 15, Nummer 3 -Zimmermann, Mia, = Hof 1, Tisch 15, Nummer 2 -Zimmermann, Patrick, = Hof 1, Tisch 1, Nummer 4 -Zimmermann, Svenja, = Hof 1, Tisch 15, Nummer 4 +Richter, Stefan, = Hof 2, Tisch 67, Nummer 2 +Rossi, Emilia, = Hof 2, Tisch 84, Nummer 4 +Rossi, Luca, = Hof 2, Tisch 84, Nummer 3 +Rossi, Melanie, = Hof 2, Tisch 84, Nummer 2 +Roth, Christian, = Hof 2, Tisch 60, Nummer 4 +Roth, Julia, Prof. Dr. = Hof 1, Tisch 9, Nummer 3 +Roth, Olga, = Hof 1, Tisch 37, Nummer 3 +Roth, Sarah, = Hof 2, Tisch 60, Nummer 2 +Roth, Sofia, = Hof 2, Tisch 60, Nummer 3 +Sahin, Kathrin, = Hof 2, Tisch 77, Nummer 4 +Sahin, Markus, = Hof 2, Tisch 77, Nummer 5 +Sahin, Nicole, = Hof 2, Tisch 77, Nummer 3 +Sahin, Patrick, = Hof 2, Tisch 77, Nummer 2 +Sahin, Thomas, = Hof 2, Tisch 61, Nummer 2 +Schmidt, Giovanna, = Hof 1, Tisch 45, Nummer 2 +Schmidt, Marie, = Hof 1, Tisch 45, Nummer 3 +Schmidt, Matthias, = Hof 1, Tisch 45, Nummer 4 +Schmidt, Nicole, = Hof 1, Tisch 10, Nummer 2 +Schmitt, Dennis, Prof. Dr. = Hof 2, Tisch 68, Nummer 2 +Schmitt, Markus, = Hof 1, Tisch 26, Nummer 4 +Schmitt, Markus, = Hof 2, Tisch 79, Nummer 3 +Schmitt, Sarah, = Hof 2, Tisch 79, Nummer 4 +Schmitt, Sofia, = Hof 2, Tisch 79, Nummer 2 +Schmitt, Stefan, Prof. Dr. = Hof 2, Tisch 72, Nummer 2 +Schwarz, Giovanna, = Hof 2, Tisch 56, Nummer 3 +Seidel, Anja, Dr. = Hof 1, Tisch 17, Nummer 2 +Seidel, Markus, Dr. = Hof 1, Tisch 3, Nummer 4 +Seidel, Yusuf, Prof. Dr. = Hof 1, Tisch 1, Nummer 5 +Seifert, Elif, = Hof 2, Tisch 48, Nummer 4 +Seifert, Leni, = Hof 2, Tisch 48, Nummer 2 +Seifert, Marco, Prof. Dr. = Hof 2, Tisch 66, Nummer 4 +Seifert, Nicole, = Hof 2, Tisch 49, Nummer 5 +Seifert, Stefanie, Dr. = Hof 1, Tisch 9, Nummer 2 +Seifert, Timo, = Hof 2, Tisch 48, Nummer 3 +Seifert, Yusuf, = Hof 2, Tisch 49, Nummer 4 +Simon, Andreas, = Hof 2, Tisch 81, Nummer 2 +Simon, Emma, = Hof 2, Tisch 81, Nummer 4 +Simon, Lena, = Hof 2, Tisch 81, Nummer 5 +Simon, Markus, = Hof 2, Tisch 81, Nummer 3 +Simon, Svenja, = Hof 1, Tisch 15, Nummer 2 +Stein, Ben, = Hof 2, Tisch 87, Nummer 2 +Stein, Emilia, = Hof 2, Tisch 87, Nummer 3 +Stein, Giovanna, = Hof 2, Tisch 87, Nummer 4 +Stein, Markus, Prof. Dr. = Hof 1, Tisch 15, Nummer 3 +Stein, Nadine, Dr. = Hof 1, Tisch 26, Nummer 2 +Stein, Thomas, = Hof 2, Tisch 87, Nummer 5 +Steinbach, Elisabeth, = Hof 1, Tisch 6, Nummer 4 +Steinbach, Georg, = Hof 1, Tisch 6, Nummer 5 +Thiel, Christina, = Hof 2, Tisch 64, Nummer 4 +Thiel, Jan, Dr. = Hof 2, Tisch 61, Nummer 3 +Thiel, Julia, = Hof 2, Tisch 64, Nummer 2 +Thiel, Yusuf, = Hof 2, Tisch 64, Nummer 3 +Tran, Marija, = Hof 2, Tisch 80, Nummer 2 +Tran, Olga, = Hof 1, Tisch 17, Nummer 3 +Tran, Thomas, Prof. Dr. = Hof 2, Tisch 53, Nummer 5 +Wagner, Henry, = Hof 2, Tisch 59, Nummer 2 +Wagner, Marco, = Hof 2, Tisch 59, Nummer 3 +Wagner, Nicole, = Hof 2, Tisch 59, Nummer 4 +Wagner, Sarah, = Hof 2, Tisch 59, Nummer 5 +Weber, Andreas, = Hof 2, Tisch 50, Nummer 2 +Weber, Julia, = Hof 1, Tisch 1, Nummer 2 +Weber, Katrin, = Hof 2, Tisch 72, Nummer 4 +Weber, Yusuf, = Hof 2, Tisch 56, Nummer 2 +Werner, Andreas, = Hof 1, Tisch 35, Nummer 5 +Werner, Dennis, Prof. Dr. = Hof 1, Tisch 17, Nummer 4 +Werner, Katrin, = Hof 2, Tisch 55, Nummer 4 +Werner, Luca, = Hof 2, Tisch 72, Nummer 3 +Werner, Marco, = Hof 1, Tisch 35, Nummer 4 +Werner, Nadine, = Hof 1, Tisch 35, Nummer 3 +Werner, Sandra, = Hof 1, Tisch 35, Nummer 2 +Winkler, Lena, = Hof 1, Tisch 25, Nummer 5 +Winkler, Marco, = Hof 1, Tisch 2, Nummer 5 +Winkler, Patrick, = Hof 1, Tisch 25, Nummer 2 +Winkler, Thomas, = Hof 1, Tisch 9, Nummer 4 +Wolf, Ben, = Hof 2, Tisch 88, Nummer 3 +Wolf, Emma, = Hof 2, Tisch 88, Nummer 2 +Wolf, Julia, = Hof 2, Tisch 88, Nummer 5 +Wolf, Thomas, = Hof 2, Tisch 88, Nummer 4 +Zimmermann, Jan, = Hof 2, Tisch 71, Nummer 3 +Zimmermann, Markus, = Hof 2, Tisch 71, Nummer 5 +Zimmermann, Mia, = Hof 2, Tisch 71, Nummer 4 +Zimmermann, Patrick, = Hof 2, Tisch 68, Nummer 5 +Zimmermann, Svenja, = Hof 2, Tisch 71, Nummer 2 diff --git a/work/innenhoefe/Sitzplatzverteilung.svg b/work/innenhoefe/Sitzplatzverteilung.svg index cec03cd..3fc47a9 100644 --- a/work/innenhoefe/Sitzplatzverteilung.svg +++ b/work/innenhoefe/Sitzplatzverteilung.svg @@ -1,245 +1,229 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -24 - - -39 - - - - -44 - - - - -51 - - - - -73 - - - - - -1 - - - - - -2 - - - - - -3 - - - - - -9 - - - - - -17 - - - - - -18 - - - - - -19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + + +54 + + +58 + + +65 + + + + +70 + + + + + +10 + + + + + +13 + + + + + +14 + + + + + +21 - - - + + + 22 + + + + + +24 - - - + + + 26 - - - - - -31 + + + + + +27 + + + + + +30 - - - + + + 32 - - - - - -34 - - - - - -35 - - - + + + 36 - - - + + + 37 - - - + + + 38 - - - - - -40 - - - - - -41 - - - - - -42 - - - + + + 43 + + + + + +44 + + + + + +45 + + + + + +46 + + + + + +47 + + + + + +48 - - - + + + 50 - - - - - -52 - - - - - -53 - - - - - -54 + + + + + +51 + + + + + +57 - - - + + + 60 + + + + + +61 + + + + + +62 + + + + + +63 - - - + + + 64 - - - - - -65 - - - - - -68 - - - + + + 69 - - - + + + 72 - - - - - -77 - - - - - -78 + + + + + +73 @@ -247,42 +231,44 @@ 79 - - - + + + 80 - - - - - -81 + + + + + +83 84 - - - - - -86 - - - - - -87 - - - - - - -4 + + + + + + +1 + + + + + + +2 + + + + + + +3 @@ -305,19 +291,19 @@ 7 - + - - + + 8 - - - - - - -10 + + + + + + +9 @@ -327,30 +313,16 @@ 11 - - - + + + 12 - - - - - - -13 - - - - - - -14 - - - - + + + + 15 @@ -360,230 +332,258 @@ 16 + + + + + + +17 + + + + + + +18 + + + + + + +19 - - - - + + + + 20 - - - - - - -21 - - - - + + + + 23 - - - - + + + + 25 - - - - - - -27 - - - - + + + + 28 - - + + 29 - - - - - - -30 + + + + + + +31 - - + + 33 - - - - - - -45 - - - - - - -46 - - - - - - -47 - - - - - - -48 + + + + + + +34 + + + + + + +35 + + + + + + +39 + + + + + + +40 + + + + + + +41 + + + + + + +42 - - - - + + + + 49 + + + + + + +52 + + + + + + +53 - - - - + + + + 55 - - + + 56 - - - - - - -57 - - - - - - -58 - - - - + + + + 59 - - - - - - -61 - - - - - - -62 - - - - - - -63 - - - - + + + + 66 - - - - + + + + 67 - - - - - - -70 + + + + + + +68 - - - - + + + + 71 - - - - + + + + 74 - - - - + + + + 75 - - - - + + + + 76 + + + + + + +77 + + + + + + +78 + + + + + + +81 - - - - + + + + 82 - - - - - - -83 - - - - + + + + 85 + + + + + + +86 + + + + + + +87 diff --git a/work/innenhoefe/TischePersonen.txt b/work/innenhoefe/TischePersonen.txt index 5e3fb01..dfed024 100644 --- a/work/innenhoefe/TischePersonen.txt +++ b/work/innenhoefe/TischePersonen.txt @@ -1,476 +1,476 @@ [1] - Stefan Richter = Hof 1, Tisch 1, Nummer 1 -Prof. Dr. Dennis Schmitt = Hof 1, Tisch 1, Nummer 2 - Patrick Zimmermann = Hof 1, Tisch 1, Nummer 3 + Julia Weber = Hof 1, Tisch 1, Nummer 1 + Emre Klein = Hof 1, Tisch 1, Nummer 2 +Dr. Patrick Kaya = Hof 1, Tisch 1, Nummer 3 +Prof. Dr. Yusuf Seidel = Hof 1, Tisch 1, Nummer 4 [2] - Olga Roth = Hof 1, Tisch 2, Nummer 1 - Thomas Bianchi = Hof 1, Tisch 2, Nummer 2 -Prof. Dr. Emre Albrecht = Hof 1, Tisch 2, Nummer 3 +Dr. Jan Bianchi = Hof 1, Tisch 2, Nummer 1 + Yusuf Bauer = Hof 1, Tisch 2, Nummer 2 +Dr. Christina Krause = Hof 1, Tisch 2, Nummer 3 + Marco Winkler = Hof 1, Tisch 2, Nummer 4 [3] - Marco Winkler = Hof 1, Tisch 3, Nummer 1 -Dr. Jan Bianchi = Hof 1, Tisch 3, Nummer 2 -Dr. Christina Krause = Hof 1, Tisch 3, Nummer 3 + Nadine Braun = Hof 1, Tisch 3, Nummer 1 + Christian Braun = Hof 1, Tisch 3, Nummer 2 +Dr. Markus Seidel = Hof 1, Tisch 3, Nummer 3 +Prof. Dr. Kathrin Petrov = Hof 1, Tisch 3, Nummer 4 [4] -Prof. Dr. Yusuf Seidel = Hof 1, Tisch 4, Nummer 1 - Yusuf Bauer = Hof 1, Tisch 4, Nummer 2 - Emre Klein = Hof 1, Tisch 4, Nummer 3 -Dr. Patrick Kaya = Hof 1, Tisch 4, Nummer 4 [5] -Dr. Ferdinand Kessler = Hof 1, Tisch 5, Nummer 1 -Dr. h.c. Alexander Grothe = Hof 1, Tisch 5, Nummer 2 + Beate Grothe = Hof 1, Tisch 5, Nummer 1 +Dr. Ferdinand Kessler = Hof 1, Tisch 5, Nummer 2 Viktoria Kessler = Hof 1, Tisch 5, Nummer 3 - Beate Grothe = Hof 1, Tisch 5, Nummer 4 +Dr. h.c. Alexander Grothe = Hof 1, Tisch 5, Nummer 4 [6] - Georg Steinbach = Hof 1, Tisch 6, Nummer 1 - Elisabeth Steinbach = Hof 1, Tisch 6, Nummer 2 - Antonia Freifrau von Waldeck = Hof 1, Tisch 6, Nummer 3 -Dr. Konstantin Freiherr von Waldeck = Hof 1, Tisch 6, Nummer 4 +Dr. Konstantin Freiherr von Waldeck = Hof 1, Tisch 6, Nummer 1 + Antonia Freifrau von Waldeck = Hof 1, Tisch 6, Nummer 2 + Elisabeth Steinbach = Hof 1, Tisch 6, Nummer 3 + Georg Steinbach = Hof 1, Tisch 6, Nummer 4 [7] - Heinrich Dallmann = Hof 1, Tisch 7, Nummer 1 + Charlotte Dallmann = Hof 1, Tisch 7, Nummer 1 Margarete Dallmann = Hof 1, Tisch 7, Nummer 2 Maximilian Dallmann = Hof 1, Tisch 7, Nummer 3 - Charlotte Dallmann = Hof 1, Tisch 7, Nummer 4 + Heinrich Dallmann = Hof 1, Tisch 7, Nummer 4 [8] - Dennis Frank = Hof 1, Tisch 8, Nummer 1 - Nadine Frank = Hof 1, Tisch 8, Nummer 2 - Nadine Hartmann = Hof 1, Tisch 8, Nummer 3 - Deniz Hartmann = Hof 1, Tisch 8, Nummer 4 + Andreas Albrecht = Hof 1, Tisch 8, Nummer 1 + Dragana Lange = Hof 1, Tisch 8, Nummer 2 + Sarah Albrecht = Hof 1, Tisch 8, Nummer 3 + Svenja Lange = Hof 1, Tisch 8, Nummer 4 [9] - Markus Hansen = Hof 1, Tisch 9, Nummer 1 - Olga Hansen = Hof 1, Tisch 9, Nummer 2 - Giovanna Hansen = Hof 1, Tisch 9, Nummer 3 +Dr. Stefanie Seifert = Hof 1, Tisch 9, Nummer 1 +Prof. Dr. Julia Roth = Hof 1, Tisch 9, Nummer 2 + Thomas Winkler = Hof 1, Tisch 9, Nummer 3 + Julia Nguyen = Hof 1, Tisch 9, Nummer 4 [10] - Giovanna Petrov = Hof 1, Tisch 10, Nummer 1 - Markus Kraus = Hof 1, Tisch 10, Nummer 2 -Dr. Nadine Stein = Hof 1, Tisch 10, Nummer 3 - Julia Weber = Hof 1, Tisch 10, Nummer 4 + Nicole Schmidt = Hof 1, Tisch 10, Nummer 1 + Thomas Hansen = Hof 1, Tisch 10, Nummer 2 +Dr. Jan Esposito = Hof 1, Tisch 10, Nummer 3 [11] -Prof. Dr. Kathrin Petrov = Hof 1, Tisch 11, Nummer 1 -Dr. Markus Seidel = Hof 1, Tisch 11, Nummer 2 - Christian Peters = Hof 1, Tisch 11, Nummer 3 - Markus Schmitt = Hof 1, Tisch 11, Nummer 4 + Milan Braun = Hof 1, Tisch 11, Nummer 1 + Dragana Braun = Hof 1, Tisch 11, Nummer 2 + Julia Braun = Hof 1, Tisch 11, Nummer 3 + Jan Braun = Hof 1, Tisch 11, Nummer 4 [12] - Sarah Albrecht = Hof 1, Tisch 12, Nummer 1 - Matthias Popescu = Hof 1, Tisch 12, Nummer 2 -Prof. Dr. Markus Stein = Hof 1, Tisch 12, Nummer 3 - Andreas Albrecht = Hof 1, Tisch 12, Nummer 4 + Dennis Frank = Hof 1, Tisch 12, Nummer 1 + Nadine Frank = Hof 1, Tisch 12, Nummer 2 + Marija Hartmann = Hof 1, Tisch 12, Nummer 3 + Thomas Hartmann = Hof 1, Tisch 12, Nummer 4 [13] - Julia Engel = Hof 1, Tisch 13, Nummer 1 - Yusuf Engel = Hof 1, Tisch 13, Nummer 2 -Dr. Jennifer Arnold = Hof 1, Tisch 13, Nummer 3 -Dr. Olga Klein = Hof 1, Tisch 13, Nummer 4 + Deniz Hartmann = Hof 1, Tisch 13, Nummer 1 + Olga Hartmann = Hof 1, Tisch 13, Nummer 2 + Nadine Hartmann = Hof 1, Tisch 13, Nummer 3 [14] - Thomas Neumann = Hof 1, Tisch 14, Nummer 1 - Lina Neumann = Hof 1, Tisch 14, Nummer 2 - Matteo Neumann = Hof 1, Tisch 14, Nummer 3 - Jennifer Neumann = Hof 1, Tisch 14, Nummer 4 + Giovanna Hansen = Hof 1, Tisch 14, Nummer 1 + Olga Hansen = Hof 1, Tisch 14, Nummer 2 + Markus Hansen = Hof 1, Tisch 14, Nummer 3 [15] - Mia Zimmermann = Hof 1, Tisch 15, Nummer 1 - Markus Zimmermann = Hof 1, Tisch 15, Nummer 2 - Svenja Zimmermann = Hof 1, Tisch 15, Nummer 3 - Jan Zimmermann = Hof 1, Tisch 15, Nummer 4 + Svenja Simon = Hof 1, Tisch 15, Nummer 1 +Prof. Dr. Markus Stein = Hof 1, Tisch 15, Nummer 2 + Matthias Popescu = Hof 1, Tisch 15, Nummer 3 +Prof. Dr. Yusuf Albrecht = Hof 1, Tisch 15, Nummer 4 [16] -Dr. Jan Esposito = Hof 1, Tisch 16, Nummer 1 - Julia Nguyen = Hof 1, Tisch 16, Nummer 2 - Nicole Schmidt = Hof 1, Tisch 16, Nummer 3 - Thomas Hansen = Hof 1, Tisch 16, Nummer 4 + Patrick Barth = Hof 1, Tisch 16, Nummer 1 + Lina Barth = Hof 1, Tisch 16, Nummer 2 + Nadine Barth = Hof 1, Tisch 16, Nummer 3 + Timo Barth = Hof 1, Tisch 16, Nummer 4 [17] -Dr. Stefanie Seifert = Hof 1, Tisch 17, Nummer 1 -Prof. Dr. Julia Roth = Hof 1, Tisch 17, Nummer 2 - Thomas Winkler = Hof 1, Tisch 17, Nummer 3 +Dr. Anja Seidel = Hof 1, Tisch 17, Nummer 1 + Olga Tran = Hof 1, Tisch 17, Nummer 2 +Prof. Dr. Dennis Werner = Hof 1, Tisch 17, Nummer 3 +Dr. Thomas Hoffmann = Hof 1, Tisch 17, Nummer 4 [18] - Thomas Hartmann = Hof 1, Tisch 18, Nummer 1 - Marija Hartmann = Hof 1, Tisch 18, Nummer 2 - Olga Hartmann = Hof 1, Tisch 18, Nummer 3 + Markus Lehmann = Hof 1, Tisch 18, Nummer 1 + Milan Lehmann = Hof 1, Tisch 18, Nummer 2 + Giovanna Lehmann = Hof 1, Tisch 18, Nummer 3 + Layla Lehmann = Hof 1, Tisch 18, Nummer 4 [19] - Lena Frank = Hof 1, Tisch 19, Nummer 1 - Finn Frank = Hof 1, Tisch 19, Nummer 2 - Marie Frank = Hof 1, Tisch 19, Nummer 3 + Thomas Lehmann = Hof 1, Tisch 19, Nummer 1 + Patrick Celik = Hof 1, Tisch 19, Nummer 2 + Elif Celik = Hof 1, Tisch 19, Nummer 3 + Nicole Lehmann = Hof 1, Tisch 19, Nummer 4 [20] - Layla Lehmann = Hof 1, Tisch 20, Nummer 1 - Milan Lehmann = Hof 1, Tisch 20, Nummer 2 -Prof. Dr. Yusuf Albrecht = Hof 1, Tisch 20, Nummer 3 - Svenja Simon = Hof 1, Tisch 20, Nummer 4 + Svenja Berger = Hof 1, Tisch 20, Nummer 1 + Andreas Berger = Hof 1, Tisch 20, Nummer 2 + Stefan Berger = Hof 1, Tisch 20, Nummer 3 + Jennifer Berger = Hof 1, Tisch 20, Nummer 4 [21] - Giovanna Lehmann = Hof 1, Tisch 21, Nummer 1 - Nicole Lehmann = Hof 1, Tisch 21, Nummer 2 - Markus Lehmann = Hof 1, Tisch 21, Nummer 3 - Thomas Lehmann = Hof 1, Tisch 21, Nummer 4 + Sergej Aksoy = Hof 1, Tisch 21, Nummer 1 + Nadine Aksoy = Hof 1, Tisch 21, Nummer 2 + Thomas Aksoy = Hof 1, Tisch 21, Nummer 3 [22] - Anja Engel = Hof 1, Tisch 22, Nummer 1 - Nicole Engel = Hof 1, Tisch 22, Nummer 2 - Anton Engel = Hof 1, Tisch 22, Nummer 3 + Finn Frank = Hof 1, Tisch 22, Nummer 1 + Lena Frank = Hof 1, Tisch 22, Nummer 2 + Marie Frank = Hof 1, Tisch 22, Nummer 3 [23] Matthias Richter = Hof 1, Tisch 23, Nummer 1 - Greta Richter = Hof 1, Tisch 23, Nummer 2 - Anton Richter = Hof 1, Tisch 23, Nummer 3 - Anja Richter = Hof 1, Tisch 23, Nummer 4 + Anton Richter = Hof 1, Tisch 23, Nummer 2 + Anja Richter = Hof 1, Tisch 23, Nummer 3 + Greta Richter = Hof 1, Tisch 23, Nummer 4 [24] + Lena Kovac = Hof 1, Tisch 24, Nummer 1 + Henry Kovac = Hof 1, Tisch 24, Nummer 2 + Tobias Kovac = Hof 1, Tisch 24, Nummer 3 [25] - Svenja Berger = Hof 1, Tisch 25, Nummer 1 - Layla Berger = Hof 1, Tisch 25, Nummer 2 - Anton Berger = Hof 1, Tisch 25, Nummer 3 - Stefan Berger = Hof 1, Tisch 25, Nummer 4 + Patrick Winkler = Hof 1, Tisch 25, Nummer 1 + Kathrin Petrov = Hof 1, Tisch 25, Nummer 2 + Milan Petrov = Hof 1, Tisch 25, Nummer 3 + Lena Winkler = Hof 1, Tisch 25, Nummer 4 [26] - Tobias Kovac = Hof 1, Tisch 26, Nummer 1 - Henry Kovac = Hof 1, Tisch 26, Nummer 2 - Anja Kovac = Hof 1, Tisch 26, Nummer 3 +Dr. Nadine Stein = Hof 1, Tisch 26, Nummer 1 + Christian Peters = Hof 1, Tisch 26, Nummer 2 + Markus Schmitt = Hof 1, Tisch 26, Nummer 3 [27] - Aylin Nowak = Hof 1, Tisch 27, Nummer 1 - Leni Seifert = Hof 1, Tisch 27, Nummer 2 - Nicole Seifert = Hof 1, Tisch 27, Nummer 3 - Lina Nowak = Hof 1, Tisch 27, Nummer 4 + Anja Engel = Hof 1, Tisch 27, Nummer 1 + Yusuf Engel = Hof 1, Tisch 27, Nummer 2 + Julia Engel = Hof 1, Tisch 27, Nummer 3 [28] - Markus Nowak = Hof 1, Tisch 28, Nummer 1 - Felix Nowak = Hof 1, Tisch 28, Nummer 2 - Kathrin Nowak = Hof 1, Tisch 28, Nummer 3 - Noah Nowak = Hof 1, Tisch 28, Nummer 4 +Dr. Olga Klein = Hof 1, Tisch 28, Nummer 1 + Anton Engel = Hof 1, Tisch 28, Nummer 2 +Dr. Jennifer Arnold = Hof 1, Tisch 28, Nummer 3 + Nicole Engel = Hof 1, Tisch 28, Nummer 4 [29] - Lena Winkler = Hof 1, Tisch 29, Nummer 1 - Patrick Winkler = Hof 1, Tisch 29, Nummer 2 + Layla Berger = Hof 1, Tisch 29, Nummer 1 + Anton Berger = Hof 1, Tisch 29, Nummer 2 Dr. Sandra Demir = Hof 1, Tisch 29, Nummer 3 Prof. Dr. Timo Kaya = Hof 1, Tisch 29, Nummer 4 [30] - Hannah Ott = Hof 1, Tisch 30, Nummer 1 - Kathrin Petrov = Hof 1, Tisch 30, Nummer 2 - Milan Petrov = Hof 1, Tisch 30, Nummer 3 - Melanie Ott = Hof 1, Tisch 30, Nummer 4 + Luca Aksoy = Hof 1, Tisch 30, Nummer 1 + Sofia Aksoy = Hof 1, Tisch 30, Nummer 2 + Marie Aksoy = Hof 1, Tisch 30, Nummer 3 [31] - Thomas Bianchi = Hof 1, Tisch 31, Nummer 1 - Sandra Bianchi = Hof 1, Tisch 31, Nummer 2 - Mia Bianchi = Hof 1, Tisch 31, Nummer 3 + Daniel Krause = Hof 1, Tisch 31, Nummer 1 +Prof. Dr. Emre Ludwig = Hof 1, Tisch 31, Nummer 2 + Markus Klein = Hof 1, Tisch 31, Nummer 3 + Nicole Aksoy = Hof 1, Tisch 31, Nummer 4 [32] - Marija Becker = Hof 1, Tisch 32, Nummer 1 - Matthias Kovac = Hof 1, Tisch 32, Nummer 2 -Prof. Dr. Yusuf Esposito = Hof 1, Tisch 32, Nummer 3 + Marco Kovac = Hof 1, Tisch 32, Nummer 1 + Marija Kovac = Hof 1, Tisch 32, Nummer 2 + Anja Kovac = Hof 1, Tisch 32, Nummer 3 [33] - Patrick Celik = Hof 1, Tisch 33, Nummer 1 - Elif Celik = Hof 1, Tisch 33, Nummer 2 - Jennifer Berger = Hof 1, Tisch 33, Nummer 3 - Andreas Berger = Hof 1, Tisch 33, Nummer 4 + Noah Nowak = Hof 1, Tisch 33, Nummer 1 + Lina Nowak = Hof 1, Tisch 33, Nummer 2 + Kathrin Nowak = Hof 1, Tisch 33, Nummer 3 + Aylin Nowak = Hof 1, Tisch 33, Nummer 4 [34] - Lena Kovac = Hof 1, Tisch 34, Nummer 1 - Marco Kovac = Hof 1, Tisch 34, Nummer 2 - Marija Kovac = Hof 1, Tisch 34, Nummer 3 + Markus Kraus = Hof 1, Tisch 34, Nummer 1 + Markus Nowak = Hof 1, Tisch 34, Nummer 2 + Felix Nowak = Hof 1, Tisch 34, Nummer 3 + Giovanna Petrov = Hof 1, Tisch 34, Nummer 4 [35] - Sofia Aksoy = Hof 1, Tisch 35, Nummer 1 - Luca Aksoy = Hof 1, Tisch 35, Nummer 2 - Marie Aksoy = Hof 1, Tisch 35, Nummer 3 + Sandra Werner = Hof 1, Tisch 35, Nummer 1 + Nadine Werner = Hof 1, Tisch 35, Nummer 2 + Marco Werner = Hof 1, Tisch 35, Nummer 3 + Andreas Werner = Hof 1, Tisch 35, Nummer 4 [36] - Sergej Aksoy = Hof 1, Tisch 36, Nummer 1 - Nadine Aksoy = Hof 1, Tisch 36, Nummer 2 - Thomas Aksoy = Hof 1, Tisch 36, Nummer 3 + Michael Lange = Hof 1, Tisch 36, Nummer 1 + Jan Lange = Hof 1, Tisch 36, Nummer 2 + Sofia Lange = Hof 1, Tisch 36, Nummer 3 [37] -Dr. Jennifer Haas = Hof 1, Tisch 37, Nummer 1 -Prof. Dr. Julia Richter = Hof 1, Tisch 37, Nummer 2 - Andreas Weber = Hof 1, Tisch 37, Nummer 3 + Thomas Bianchi = Hof 1, Tisch 37, Nummer 1 + Olga Roth = Hof 1, Tisch 37, Nummer 2 +Prof. Dr. Emre Albrecht = Hof 1, Tisch 37, Nummer 3 [38] - Matthias Ott = Hof 1, Tisch 38, Nummer 1 - Olga Ott = Hof 1, Tisch 38, Nummer 2 - Daniel Ott = Hof 1, Tisch 38, Nummer 3 + Thomas Bianchi = Hof 1, Tisch 38, Nummer 1 + Mia Bianchi = Hof 1, Tisch 38, Nummer 2 + Sandra Bianchi = Hof 1, Tisch 38, Nummer 3 [39] + Michael Busch = Hof 1, Tisch 39, Nummer 1 + Marie Busch = Hof 1, Tisch 39, Nummer 2 + Emre Busch = Hof 1, Tisch 39, Nummer 3 + Olga Busch = Hof 1, Tisch 39, Nummer 4 [40] - Christina Kaya = Hof 1, Tisch 40, Nummer 1 - Luca Kaya = Hof 1, Tisch 40, Nummer 2 - Nicole Kaya = Hof 1, Tisch 40, Nummer 3 + Sarah Koch = Hof 1, Tisch 40, Nummer 1 + Michael Koch = Hof 1, Tisch 40, Nummer 2 + Olga Koch = Hof 1, Tisch 40, Nummer 3 + Jan Koch = Hof 1, Tisch 40, Nummer 4 [41] - Marie Schmidt = Hof 1, Tisch 41, Nummer 1 - Giovanna Schmidt = Hof 1, Tisch 41, Nummer 2 - Matthias Schmidt = Hof 1, Tisch 41, Nummer 3 +Dr. Nicole Hansen = Hof 1, Tisch 41, Nummer 1 + Nicole Peters = Hof 1, Tisch 41, Nummer 2 + Emil Koch = Hof 1, Tisch 41, Nummer 3 + Marie Koch = Hof 1, Tisch 41, Nummer 4 [42] - Jan Becker = Hof 1, Tisch 42, Nummer 1 - Sandra Becker = Hof 1, Tisch 42, Nummer 2 - Nicole Becker = Hof 1, Tisch 42, Nummer 3 + Thomas Krause = Hof 1, Tisch 42, Nummer 1 +Prof. Dr. Sergej Ott = Hof 1, Tisch 42, Nummer 2 + Dragana Bauer = Hof 1, Tisch 42, Nummer 3 + Patrick Haas = Hof 1, Tisch 42, Nummer 4 [43] - Sofia Nguyen = Hof 1, Tisch 43, Nummer 1 - Anja Nguyen = Hof 1, Tisch 43, Nummer 2 - Daniel Nguyen = Hof 1, Tisch 43, Nummer 3 + Marija Becker = Hof 1, Tisch 43, Nummer 1 +Prof. Dr. Yusuf Esposito = Hof 1, Tisch 43, Nummer 2 + Matthias Kovac = Hof 1, Tisch 43, Nummer 3 [44] - Matthias Petrov = Hof 1, Tisch 44, Nummer 1 - Markus Barth = Hof 1, Tisch 44, Nummer 2 + Christina Kaya = Hof 1, Tisch 44, Nummer 1 + Luca Kaya = Hof 1, Tisch 44, Nummer 2 + Nicole Kaya = Hof 1, Tisch 44, Nummer 3 [45] - Olga Tran = Hof 1, Tisch 45, Nummer 1 -Dr. Anja Seidel = Hof 1, Tisch 45, Nummer 2 -Prof. Dr. Dennis Werner = Hof 1, Tisch 45, Nummer 3 -Dr. Thomas Hoffmann = Hof 1, Tisch 45, Nummer 4 + Giovanna Schmidt = Hof 1, Tisch 45, Nummer 1 + Marie Schmidt = Hof 1, Tisch 45, Nummer 2 + Matthias Schmidt = Hof 1, Tisch 45, Nummer 3 [46] - Elias Ludwig = Hof 2, Tisch 46, Nummer 1 - Emre Ludwig = Hof 2, Tisch 46, Nummer 2 - Elif Ludwig = Hof 2, Tisch 46, Nummer 3 - Giovanna Ludwig = Hof 2, Tisch 46, Nummer 4 + Jan Becker = Hof 2, Tisch 46, Nummer 1 + Nicole Becker = Hof 2, Tisch 46, Nummer 2 + Sandra Becker = Hof 2, Tisch 46, Nummer 3 [47] - Julia Braun = Hof 2, Tisch 47, Nummer 1 -Prof. Dr. Sergej Ott = Hof 2, Tisch 47, Nummer 2 - Thomas Krause = Hof 2, Tisch 47, Nummer 3 - Dragana Braun = Hof 2, Tisch 47, Nummer 4 + Daniel Nguyen = Hof 2, Tisch 47, Nummer 1 + Sofia Nguyen = Hof 2, Tisch 47, Nummer 2 + Anja Nguyen = Hof 2, Tisch 47, Nummer 3 [48] - Milan Braun = Hof 2, Tisch 48, Nummer 1 - Christian Braun = Hof 2, Tisch 48, Nummer 2 - Jan Braun = Hof 2, Tisch 48, Nummer 3 - Nadine Braun = Hof 2, Tisch 48, Nummer 4 + Leni Seifert = Hof 2, Tisch 48, Nummer 1 + Timo Seifert = Hof 2, Tisch 48, Nummer 2 + Elif Seifert = Hof 2, Tisch 48, Nummer 3 [49] -Dr. Michael Aksoy = Hof 2, Tisch 49, Nummer 1 - Sergej Lange = Hof 2, Tisch 49, Nummer 2 - Patrick Busch = Hof 2, Tisch 49, Nummer 3 - Katrin Werner = Hof 2, Tisch 49, Nummer 4 +Dr. Jennifer Haas = Hof 2, Tisch 49, Nummer 1 + Markus Barth = Hof 2, Tisch 49, Nummer 2 + Yusuf Seifert = Hof 2, Tisch 49, Nummer 3 + Nicole Seifert = Hof 2, Tisch 49, Nummer 4 [50] - Mila Arnold = Hof 2, Tisch 50, Nummer 1 - Christian Arnold = Hof 2, Tisch 50, Nummer 2 - Jennifer Arnold = Hof 2, Tisch 50, Nummer 3 + Andreas Weber = Hof 2, Tisch 50, Nummer 1 + Matthias Petrov = Hof 2, Tisch 50, Nummer 2 +Prof. Dr. Julia Richter = Hof 2, Tisch 50, Nummer 3 [51] - Leni Arnold = Hof 2, Tisch 51, Nummer 1 - Patrick Arnold = Hof 2, Tisch 51, Nummer 2 + Milan Klein = Hof 2, Tisch 51, Nummer 1 + Lina Klein = Hof 2, Tisch 51, Nummer 2 + Stefanie Klein = Hof 2, Tisch 51, Nummer 3 [52] - Milan Klein = Hof 2, Tisch 52, Nummer 1 - Lina Klein = Hof 2, Tisch 52, Nummer 2 - Stefanie Klein = Hof 2, Tisch 52, Nummer 3 + Marija Polat = Hof 2, Tisch 52, Nummer 1 + Nadine Arnold = Hof 2, Tisch 52, Nummer 2 +Prof. Dr. Patrick Hoffmann = Hof 2, Tisch 52, Nummer 3 + Marco Richter = Hof 2, Tisch 52, Nummer 4 [53] - Christian Roth = Hof 2, Tisch 53, Nummer 1 - Sofia Roth = Hof 2, Tisch 53, Nummer 2 - Sarah Roth = Hof 2, Tisch 53, Nummer 3 + Marija Aksoy = Hof 2, Tisch 53, Nummer 1 + Kathrin Polat = Hof 2, Tisch 53, Nummer 2 + Sergej Petrov = Hof 2, Tisch 53, Nummer 3 +Prof. Dr. Thomas Tran = Hof 2, Tisch 53, Nummer 4 [54] -Dr. Jan Thiel = Hof 2, Tisch 54, Nummer 1 - Thomas Sahin = Hof 2, Tisch 54, Nummer 2 -Prof. Dr. Anja Richter = Hof 2, Tisch 54, Nummer 3 [55] - Nicole Sahin = Hof 2, Tisch 55, Nummer 1 - Markus Sahin = Hof 2, Tisch 55, Nummer 2 - Kathrin Sahin = Hof 2, Tisch 55, Nummer 3 - Patrick Sahin = Hof 2, Tisch 55, Nummer 4 +Dr. Michael Aksoy = Hof 2, Tisch 55, Nummer 1 + Sergej Lange = Hof 2, Tisch 55, Nummer 2 + Katrin Werner = Hof 2, Tisch 55, Nummer 3 + Patrick Busch = Hof 2, Tisch 55, Nummer 4 [56] - Marie Busch = Hof 2, Tisch 56, Nummer 1 - Michael Busch = Hof 2, Tisch 56, Nummer 2 - Olga Busch = Hof 2, Tisch 56, Nummer 3 - Emre Busch = Hof 2, Tisch 56, Nummer 4 + Yusuf Weber = Hof 2, Tisch 56, Nummer 1 + Giovanna Schwarz = Hof 2, Tisch 56, Nummer 2 +Prof. Dr. Dragana Dietrich = Hof 2, Tisch 56, Nummer 3 + Emre Hoffmann = Hof 2, Tisch 56, Nummer 4 [57] - Patrick Haas = Hof 2, Tisch 57, Nummer 1 -Dr. Nicole Hansen = Hof 2, Tisch 57, Nummer 2 - Nicole Peters = Hof 2, Tisch 57, Nummer 3 - Dragana Bauer = Hof 2, Tisch 57, Nummer 4 + Julia Franke = Hof 2, Tisch 57, Nummer 1 + Amira Franke = Hof 2, Tisch 57, Nummer 2 + Michael Franke = Hof 2, Tisch 57, Nummer 3 [58] - Olga Koch = Hof 2, Tisch 58, Nummer 1 - Emil Koch = Hof 2, Tisch 58, Nummer 2 - Marie Koch = Hof 2, Tisch 58, Nummer 3 - Sarah Koch = Hof 2, Tisch 58, Nummer 4 [59] -Prof. Dr. Dragana Dietrich = Hof 2, Tisch 59, Nummer 1 - Michael Koch = Hof 2, Tisch 59, Nummer 2 - Emre Hoffmann = Hof 2, Tisch 59, Nummer 3 - Jan Koch = Hof 2, Tisch 59, Nummer 4 + Henry Wagner = Hof 2, Tisch 59, Nummer 1 + Marco Wagner = Hof 2, Tisch 59, Nummer 2 + Nicole Wagner = Hof 2, Tisch 59, Nummer 3 + Sarah Wagner = Hof 2, Tisch 59, Nummer 4 [60] - Patrick Lehmann = Hof 2, Tisch 60, Nummer 1 -Prof. Dr. Yusuf Ott = Hof 2, Tisch 60, Nummer 2 -Dr. Nadine Berger = Hof 2, Tisch 60, Nummer 3 + Sarah Roth = Hof 2, Tisch 60, Nummer 1 + Sofia Roth = Hof 2, Tisch 60, Nummer 2 + Christian Roth = Hof 2, Tisch 60, Nummer 3 [61] - Christian Maier = Hof 2, Tisch 61, Nummer 1 - Olga Maier = Hof 2, Tisch 61, Nummer 2 - Arda Maier = Hof 2, Tisch 61, Nummer 3 - Sarah Maier = Hof 2, Tisch 61, Nummer 4 + Thomas Sahin = Hof 2, Tisch 61, Nummer 1 +Dr. Jan Thiel = Hof 2, Tisch 61, Nummer 2 +Prof. Dr. Anja Richter = Hof 2, Tisch 61, Nummer 3 [62] - Markus Klein = Hof 2, Tisch 62, Nummer 1 -Prof. Dr. Emre Ludwig = Hof 2, Tisch 62, Nummer 2 - Daniel Krause = Hof 2, Tisch 62, Nummer 3 - Nicole Aksoy = Hof 2, Tisch 62, Nummer 4 +Dr. Nadine Berger = Hof 2, Tisch 62, Nummer 1 +Prof. Dr. Yusuf Ott = Hof 2, Tisch 62, Nummer 2 + Patrick Lehmann = Hof 2, Tisch 62, Nummer 3 [63] - Andreas Simon = Hof 2, Tisch 63, Nummer 1 - Lena Simon = Hof 2, Tisch 63, Nummer 2 - Markus Simon = Hof 2, Tisch 63, Nummer 3 - Emma Simon = Hof 2, Tisch 63, Nummer 4 + Marco Dietrich = Hof 2, Tisch 63, Nummer 1 + Jennifer Dietrich = Hof 2, Tisch 63, Nummer 2 + Sofia Dietrich = Hof 2, Tisch 63, Nummer 3 [64] - Sofia Dietrich = Hof 2, Tisch 64, Nummer 1 - Jennifer Dietrich = Hof 2, Tisch 64, Nummer 2 - Marco Dietrich = Hof 2, Tisch 64, Nummer 3 + Julia Thiel = Hof 2, Tisch 64, Nummer 1 + Yusuf Thiel = Hof 2, Tisch 64, Nummer 2 + Christina Thiel = Hof 2, Tisch 64, Nummer 3 [65] - Julia Thiel = Hof 2, Tisch 65, Nummer 1 - Yusuf Thiel = Hof 2, Tisch 65, Nummer 2 - Christina Thiel = Hof 2, Tisch 65, Nummer 3 [66] - Andreas Werner = Hof 2, Tisch 66, Nummer 1 - Nadine Werner = Hof 2, Tisch 66, Nummer 2 - Marco Werner = Hof 2, Tisch 66, Nummer 3 - Sandra Werner = Hof 2, Tisch 66, Nummer 4 + Matthias Krause = Hof 2, Tisch 66, Nummer 1 +Dr. Patrick Kraus = Hof 2, Tisch 66, Nummer 2 +Prof. Dr. Marco Seifert = Hof 2, Tisch 66, Nummer 3 +Dr. Aylin Ludwig = Hof 2, Tisch 66, Nummer 4 [67] - Patrick Barth = Hof 2, Tisch 67, Nummer 1 - Nadine Barth = Hof 2, Tisch 67, Nummer 2 - Timo Barth = Hof 2, Tisch 67, Nummer 3 - Lina Barth = Hof 2, Tisch 67, Nummer 4 + Stefan Richter = Hof 2, Tisch 67, Nummer 1 + Marco Franke = Hof 2, Tisch 67, Nummer 2 + Luca Kovac = Hof 2, Tisch 67, Nummer 3 + Olga Franke = Hof 2, Tisch 67, Nummer 4 [68] -Dr. Kathrin Koch = Hof 2, Tisch 68, Nummer 1 - Marija Tran = Hof 2, Tisch 68, Nummer 2 -Dr. Julia Kuhn = Hof 2, Tisch 68, Nummer 3 +Prof. Dr. Dennis Schmitt = Hof 2, Tisch 68, Nummer 1 +Dr. Dragana Krause = Hof 2, Tisch 68, Nummer 2 + Luca Ott = Hof 2, Tisch 68, Nummer 3 + Patrick Zimmermann = Hof 2, Tisch 68, Nummer 4 [69] -Dr. Aylin Ludwig = Hof 2, Tisch 69, Nummer 1 -Prof. Dr. Marco Seifert = Hof 2, Tisch 69, Nummer 2 -Dr. Patrick Kraus = Hof 2, Tisch 69, Nummer 3 + Patrick Arnold = Hof 2, Tisch 69, Nummer 1 + Christian Arnold = Hof 2, Tisch 69, Nummer 2 + Mila Arnold = Hof 2, Tisch 69, Nummer 3 [70] -Prof. Dr. Thomas Tran = Hof 2, Tisch 70, Nummer 1 - Sergej Petrov = Hof 2, Tisch 70, Nummer 2 - Kathrin Polat = Hof 2, Tisch 70, Nummer 3 - Marija Aksoy = Hof 2, Tisch 70, Nummer 4 + Jennifer Arnold = Hof 2, Tisch 70, Nummer 1 + Leni Arnold = Hof 2, Tisch 70, Nummer 2 [71] - Marija Polat = Hof 2, Tisch 71, Nummer 1 - Nadine Arnold = Hof 2, Tisch 71, Nummer 2 - Marco Richter = Hof 2, Tisch 71, Nummer 3 -Prof. Dr. Patrick Hoffmann = Hof 2, Tisch 71, Nummer 4 + Svenja Zimmermann = Hof 2, Tisch 71, Nummer 1 + Jan Zimmermann = Hof 2, Tisch 71, Nummer 2 + Mia Zimmermann = Hof 2, Tisch 71, Nummer 3 + Markus Zimmermann = Hof 2, Tisch 71, Nummer 4 [72] - Luca Ott = Hof 2, Tisch 72, Nummer 1 - Luca Kovac = Hof 2, Tisch 72, Nummer 2 -Dr. Dragana Krause = Hof 2, Tisch 72, Nummer 3 +Prof. Dr. Stefan Schmitt = Hof 2, Tisch 72, Nummer 1 + Luca Werner = Hof 2, Tisch 72, Nummer 2 + Katrin Weber = Hof 2, Tisch 72, Nummer 3 [73] - Michael Lange = Hof 2, Tisch 73, Nummer 1 - Dragana Lange = Hof 2, Tisch 73, Nummer 2 + Hannah Ott = Hof 2, Tisch 73, Nummer 1 + Melanie Ott = Hof 2, Tisch 73, Nummer 2 + Matthias Ott = Hof 2, Tisch 73, Nummer 3 [74] - Dragana Pohl = Hof 2, Tisch 74, Nummer 1 - Emre Pohl = Hof 2, Tisch 74, Nummer 2 - Mia Pohl = Hof 2, Tisch 74, Nummer 3 - Theo Pohl = Hof 2, Tisch 74, Nummer 4 + Stefan Polat = Hof 2, Tisch 74, Nummer 1 + Daniel Ott = Hof 2, Tisch 74, Nummer 2 + Olga Ott = Hof 2, Tisch 74, Nummer 3 + Sarah Polat = Hof 2, Tisch 74, Nummer 4 [75] - Emilia Stein = Hof 2, Tisch 75, Nummer 1 - Ben Stein = Hof 2, Tisch 75, Nummer 2 - Giovanna Stein = Hof 2, Tisch 75, Nummer 3 - Thomas Stein = Hof 2, Tisch 75, Nummer 4 + Julia Krause = Hof 2, Tisch 75, Nummer 1 + Emma Krause = Hof 2, Tisch 75, Nummer 2 + Andreas Krause = Hof 2, Tisch 75, Nummer 3 + Arda Krause = Hof 2, Tisch 75, Nummer 4 [76] - Emma Wolf = Hof 2, Tisch 76, Nummer 1 - Ben Wolf = Hof 2, Tisch 76, Nummer 2 - Julia Wolf = Hof 2, Tisch 76, Nummer 3 - Thomas Wolf = Hof 2, Tisch 76, Nummer 4 + Elif Ludwig = Hof 2, Tisch 76, Nummer 1 + Elias Ludwig = Hof 2, Tisch 76, Nummer 2 + Emre Ludwig = Hof 2, Tisch 76, Nummer 3 + Giovanna Ludwig = Hof 2, Tisch 76, Nummer 4 [77] -Prof. Dr. Stefan Schmitt = Hof 2, Tisch 77, Nummer 1 - Luca Werner = Hof 2, Tisch 77, Nummer 2 - Katrin Weber = Hof 2, Tisch 77, Nummer 3 + Patrick Sahin = Hof 2, Tisch 77, Nummer 1 + Nicole Sahin = Hof 2, Tisch 77, Nummer 2 + Kathrin Sahin = Hof 2, Tisch 77, Nummer 3 + Markus Sahin = Hof 2, Tisch 77, Nummer 4 [78] - Giovanna Schwarz = Hof 2, Tisch 78, Nummer 1 - Yusuf Weber = Hof 2, Tisch 78, Nummer 2 - Matthias Krause = Hof 2, Tisch 78, Nummer 3 + Olga Maier = Hof 2, Tisch 78, Nummer 1 + Sarah Maier = Hof 2, Tisch 78, Nummer 2 + Arda Maier = Hof 2, Tisch 78, Nummer 3 + Christian Maier = Hof 2, Tisch 78, Nummer 4 [79] - Stefanie Polat = Hof 2, Tisch 79, Nummer 1 - Sarah Polat = Hof 2, Tisch 79, Nummer 2 - Stefan Polat = Hof 2, Tisch 79, Nummer 3 + Sofia Schmitt = Hof 2, Tisch 79, Nummer 1 + Markus Schmitt = Hof 2, Tisch 79, Nummer 2 + Sarah Schmitt = Hof 2, Tisch 79, Nummer 3 [80] - Timo Seifert = Hof 2, Tisch 80, Nummer 1 - Yusuf Seifert = Hof 2, Tisch 80, Nummer 2 - Elif Seifert = Hof 2, Tisch 80, Nummer 3 + Marija Tran = Hof 2, Tisch 80, Nummer 1 +Dr. Julia Kuhn = Hof 2, Tisch 80, Nummer 2 +Dr. Kathrin Koch = Hof 2, Tisch 80, Nummer 3 [81] - Svenja Lange = Hof 2, Tisch 81, Nummer 1 - Jan Lange = Hof 2, Tisch 81, Nummer 2 - Sofia Lange = Hof 2, Tisch 81, Nummer 3 + Andreas Simon = Hof 2, Tisch 81, Nummer 1 + Markus Simon = Hof 2, Tisch 81, Nummer 2 + Emma Simon = Hof 2, Tisch 81, Nummer 3 + Lena Simon = Hof 2, Tisch 81, Nummer 4 [82] - Nicole Wagner = Hof 2, Tisch 82, Nummer 1 - Marco Wagner = Hof 2, Tisch 82, Nummer 2 - Sarah Wagner = Hof 2, Tisch 82, Nummer 3 - Henry Wagner = Hof 2, Tisch 82, Nummer 4 + Leon Horn = Hof 2, Tisch 82, Nummer 1 + Kathrin Horn = Hof 2, Tisch 82, Nummer 2 + Layla Horn = Hof 2, Tisch 82, Nummer 3 + Michael Horn = Hof 2, Tisch 82, Nummer 4 [83] - Layla Horn = Hof 2, Tisch 83, Nummer 1 - Leon Horn = Hof 2, Tisch 83, Nummer 2 - Kathrin Horn = Hof 2, Tisch 83, Nummer 3 - Michael Horn = Hof 2, Tisch 83, Nummer 4 + Markus Polat = Hof 2, Tisch 83, Nummer 1 + Stefanie Polat = Hof 2, Tisch 83, Nummer 2 + Katrin Polat = Hof 2, Tisch 83, Nummer 3 [84] - Olga Franke = Hof 2, Tisch 84, Nummer 1 - Julia Franke = Hof 2, Tisch 84, Nummer 2 - Marco Franke = Hof 2, Tisch 84, Nummer 3 + Melanie Rossi = Hof 2, Tisch 84, Nummer 1 + Luca Rossi = Hof 2, Tisch 84, Nummer 2 + Emilia Rossi = Hof 2, Tisch 84, Nummer 3 [85] - Katrin Polat = Hof 2, Tisch 85, Nummer 1 - Markus Polat = Hof 2, Tisch 85, Nummer 2 - Michael Franke = Hof 2, Tisch 85, Nummer 3 - Amira Franke = Hof 2, Tisch 85, Nummer 4 + Mia Pohl = Hof 2, Tisch 85, Nummer 1 + Dragana Pohl = Hof 2, Tisch 85, Nummer 2 + Theo Pohl = Hof 2, Tisch 85, Nummer 3 + Emre Pohl = Hof 2, Tisch 85, Nummer 4 [86] - Sofia Schmitt = Hof 2, Tisch 86, Nummer 1 - Markus Schmitt = Hof 2, Tisch 86, Nummer 2 - Sarah Schmitt = Hof 2, Tisch 86, Nummer 3 + Thomas Neumann = Hof 2, Tisch 86, Nummer 1 + Matteo Neumann = Hof 2, Tisch 86, Nummer 2 + Lina Neumann = Hof 2, Tisch 86, Nummer 3 + Jennifer Neumann = Hof 2, Tisch 86, Nummer 4 [87] - Luca Rossi = Hof 2, Tisch 87, Nummer 1 - Emilia Rossi = Hof 2, Tisch 87, Nummer 2 - Melanie Rossi = Hof 2, Tisch 87, Nummer 3 + Ben Stein = Hof 2, Tisch 87, Nummer 1 + Emilia Stein = Hof 2, Tisch 87, Nummer 2 + Giovanna Stein = Hof 2, Tisch 87, Nummer 3 + Thomas Stein = Hof 2, Tisch 87, Nummer 4 [88] - Andreas Krause = Hof 2, Tisch 88, Nummer 1 - Emma Krause = Hof 2, Tisch 88, Nummer 2 - Arda Krause = Hof 2, Tisch 88, Nummer 3 - Julia Krause = Hof 2, Tisch 88, Nummer 4 + Emma Wolf = Hof 2, Tisch 88, Nummer 1 + Ben Wolf = Hof 2, Tisch 88, Nummer 2 + Thomas Wolf = Hof 2, Tisch 88, Nummer 3 + Julia Wolf = Hof 2, Tisch 88, Nummer 4 diff --git a/work/test1/Entwicklung.svg b/work/test1/Entwicklung.svg new file mode 100644 index 0000000..f6dbdf2 --- /dev/null +++ b/work/test1/Entwicklung.svg @@ -0,0 +1,50 @@ + + + +Entwicklung der Loesungsfindung + + + +-187 + +-152 + +-117 + +-82 + +-47 + +-12 +Wertigkeit (hoeher = besser) + + + + +beste Loesung + +Durchschnitt + +schlechteste Loesung +Anzahl erzeugter Verteilungen im Pool + + + +0 + +60 + +120 + +e +m +j +s +m +j +s +m +j +s +Zyklus-Aktion (Zeit) + diff --git a/work/test2/Entwicklung.svg b/work/test2/Entwicklung.svg index cab0dfe..26c9345 100644 --- a/work/test2/Entwicklung.svg +++ b/work/test2/Entwicklung.svg @@ -1,47 +1,50 @@ - + Entwicklung der Loesungsfindung - - - --68 - --56 - --43 - --31 - --18 + + + +-170 + +-138 + +-106 + +-75 + +-43 --6 -Wertigkeit (hoeher = besser) -Zyklus-Aktion (Zeit) -e -s -z -m -j -z -s -z -m -j -z -s -z -m -j -z -s - - - +-11 +Wertigkeit (hoeher = besser) + + + beste Loesung Durchschnitt schlechteste Loesung +Anzahl erzeugter Verteilungen im Pool + + + +0 + +60 + +120 + +e +m +j +s +m +j +s +m +j +s +Zyklus-Aktion (Zeit) diff --git a/work/test2/PersonenTische.csv b/work/test2/PersonenTische.csv index 0544d46..0c2666d 100644 --- a/work/test2/PersonenTische.csv +++ b/work/test2/PersonenTische.csv @@ -1,17 +1,17 @@ Bloedkopf, Bestelli, = Hof 1, Tisch 2, Nummer 2 Bloedkopf, Bestelli, = Hof 1, Tisch 2, Nummer 3 Bloedkopf, Bestelli, = Hof 1, Tisch 2, Nummer 4 -Brandt, Willi, Dr. = Hof 1, Tisch 4, Nummer 4 -Bruegge, Heinz, = Hof 1, Tisch 3, Nummer 2 -Dietrich, Marlene, = Hof 1, Tisch 2, Nummer 6 -Emmerlich, Walter, = Hof 1, Tisch 5, Nummer 2 -Frenzen, Heinz Harald, = Hof 1, Tisch 4, Nummer 3 -Hoehn, Bernd Robert, Professor = Hof 1, Tisch 1, Nummer 3 -Junke, Harald, = Hof 1, Tisch 4, Nummer 2 -K, Hubert, = Hof 1, Tisch 3, Nummer 3 -Leone, Sergio, = Hof 1, Tisch 5, Nummer 3 -Mueller, Magnus, Professor = Hof 1, Tisch 1, Nummer 4 -Ruehmann, Heinz, = Hof 1, Tisch 2, Nummer 5 -Schumacher, Michael, = Hof 1, Tisch 5, Nummer 5 -Schumacher, Ralf, = Hof 1, Tisch 5, Nummer 4 +Brandt, Willi, Dr. = Hof 1, Tisch 4, Nummer 2 +Bruegge, Heinz, = Hof 1, Tisch 5, Nummer 2 +Dietrich, Marlene, = Hof 1, Tisch 5, Nummer 5 +Emmerlich, Walter, = Hof 1, Tisch 3, Nummer 4 +Frenzen, Heinz Harald, = Hof 1, Tisch 3, Nummer 2 +Hoehn, Bernd Robert, Professor = Hof 1, Tisch 1, Nummer 4 +Junke, Harald, = Hof 1, Tisch 4, Nummer 3 +K, Hubert, = Hof 1, Tisch 5, Nummer 3 +Leone, Sergio, = Hof 1, Tisch 4, Nummer 4 +Mueller, Magnus, Professor = Hof 1, Tisch 1, Nummer 3 +Ruehmann, Heinz, = Hof 1, Tisch 5, Nummer 4 +Schumacher, Michael, = Hof 1, Tisch 4, Nummer 5 +Schumacher, Ralf, = Hof 1, Tisch 3, Nummer 3 Stangl, Michael, Dipl. Ing. = Hof 1, Tisch 1, Nummer 2 diff --git a/work/test2/Sitzplatzverteilung.svg b/work/test2/Sitzplatzverteilung.svg index 6963219..353b60f 100644 --- a/work/test2/Sitzplatzverteilung.svg +++ b/work/test2/Sitzplatzverteilung.svg @@ -1,37 +1,37 @@ - - - - - -3 + 1 + + + + + +2 + + + + + +3 - - + + + 4 - - - - + + + + 5 - - - - - - - -2 diff --git a/work/test2/TischePersonen.txt b/work/test2/TischePersonen.txt index cbd5d0c..b0cbe00 100644 --- a/work/test2/TischePersonen.txt +++ b/work/test2/TischePersonen.txt @@ -1,27 +1,27 @@ [1] Dipl. Ing. Michael Stangl = Hof 1, Tisch 1, Nummer 1 -Professor Bernd Robert Hoehn = Hof 1, Tisch 1, Nummer 2 -Professor Magnus Mueller = Hof 1, Tisch 1, Nummer 3 +Professor Magnus Mueller = Hof 1, Tisch 1, Nummer 2 +Professor Bernd Robert Hoehn = Hof 1, Tisch 1, Nummer 3 [2] Bestelli Bloedkopf = Hof 1, Tisch 2, Nummer 1 Bestelli Bloedkopf = Hof 1, Tisch 2, Nummer 2 Bestelli Bloedkopf = Hof 1, Tisch 2, Nummer 3 - Heinz Ruehmann = Hof 1, Tisch 2, Nummer 4 - Marlene Dietrich = Hof 1, Tisch 2, Nummer 5 [3] - Heinz Bruegge = Hof 1, Tisch 3, Nummer 1 - Hubert K = Hof 1, Tisch 3, Nummer 2 + Heinz Harald Frenzen = Hof 1, Tisch 3, Nummer 1 + Ralf Schumacher = Hof 1, Tisch 3, Nummer 2 + Walter Emmerlich = Hof 1, Tisch 3, Nummer 3 [4] - Harald Junke = Hof 1, Tisch 4, Nummer 1 - Heinz Harald Frenzen = Hof 1, Tisch 4, Nummer 2 -Dr. Willi Brandt = Hof 1, Tisch 4, Nummer 3 +Dr. Willi Brandt = Hof 1, Tisch 4, Nummer 1 + Harald Junke = Hof 1, Tisch 4, Nummer 2 + Sergio Leone = Hof 1, Tisch 4, Nummer 3 + Michael Schumacher = Hof 1, Tisch 4, Nummer 4 [5] - Walter Emmerlich = Hof 1, Tisch 5, Nummer 1 - Sergio Leone = Hof 1, Tisch 5, Nummer 2 - Ralf Schumacher = Hof 1, Tisch 5, Nummer 3 - Michael Schumacher = Hof 1, Tisch 5, Nummer 4 + Heinz Bruegge = Hof 1, Tisch 5, Nummer 1 + Hubert K = Hof 1, Tisch 5, Nummer 2 + Heinz Ruehmann = Hof 1, Tisch 5, Nummer 3 + Marlene Dietrich = Hof 1, Tisch 5, Nummer 4