Loesungs-Ids wieder als fortlaufende Nummern 1..N (Vorgaenger separat)

- Farm._WurzelId/_KindId ersetzt durch _NeueId: jede Loesung bekommt eine
  einfache fortlaufende Nummer (Wurzeln wie Mutationskinder gleich)
- die Abstammung steckt nicht mehr in der Id, sondern im schon vorher
  gemerkten Vorgaenger (Abstammung-Knoten 'eltern'); der Baum und die
  Hervorhebung des Sieger-Astes funktionieren unveraendert
- Tests auf das neue Id-Schema umgestellt (Nummern 1..N, Abstammung ueber
  Vorgaenger), README/CLAUDE.md aktualisiert
- Beispiele neu berechnet

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-07-11 22:48:49 +02:00
parent 6710d4f06a
commit 740c420900
22 changed files with 3554 additions and 3507 deletions
+3 -4
View File
@@ -96,10 +96,9 @@ Pass `--tosvg` to additionally write `<indir>/Sitzplatzverteilung.svg` via
`Sitzplatzverteilung.alsSVG()` (see below). `--show-development` writes
`<indir>/Entwicklung.svg` (value curves + pool-size panel), and `--show-lineage` writes
`<indir>/Abstammung.svg` — the full mutation tree of every solution, with the final best
solution's ancestral branch highlighted and labelled with its lineage id. Lineage ids are
hierarchical (`Farm._WurzelId`/`_KindId`): a root solution is a plain counter (`7`), each
mutation appends `.<child-index>` (`7.2`, then `7.2.1`), so the whole ancestry is readable
straight off the id.
solution's ancestral branch highlighted and labelled with its id. Every solution gets a plain
running number (`Farm._NeueId`, `1..N`); the ancestry is not encoded in the id but recorded
via each node's stored predecessor (parent id) and followed back along the highlighted branch.
Run the test suite with `bin/run_tests.bat` / `bin/run_tests.sh` (or directly: `python -m
unittest discover -s tests -p "test_*.py" -v`). A stray global `PYTHONPATH` entry on this