lean-path: Angefangenes liegt auf dem Pfad (SPEC §9, D61)
Eine Zugabe (`+`) fällt aus dem günstigsten Pfad — außer sie ist realisiert und noch nicht erledigt (`[~]`/`[/]`). Angefangene Arbeit ist die offene Front, und seit D46 zeigt der Pfad genau die; bisher führte der Von-Station-zu-Station-Knopf nie dorthin, wo gearbeitet wird. Erledigte Zugaben bleiben draußen: dort ist nichts mehr zu tun, und was darunter offen blieb, ist mit ihnen zusammen entbehrlich (§3). Dabei die fehlende Hälfte von D46 gefunden: SPEC §9 sagt seit jeher „eine bereits realisierte Alternative gewinnt", umgesetzt war das aber nur über die Kosten — und die sind allein bei `[x]`/`[^]` null. Ein `[~]`-Zweig verlor damit gegen eine unangetastete billigere, obwohl die XOR-Regel gerade ihn als die realisierte Alternative ausweist. `chosenPool()` schränkt die Wahlmenge auf die realisierten ein; unter mehreren entscheiden wieder die Kosten. Nebengewinn: eine entschiedene Gruppe ist keine freie Variable mehr und verkleinert die Suche (D42). 10 neue Tests; Gegenprobe geführt (jede Regel einzeln herausgenommen lässt genau die nach ihr benannten Zusicherungen fallen). Der mitgelieferte Plan ändert sich nicht — er hat keine angefangene Zugabe. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3018db9f61
commit
36b78efa53
@@ -63,7 +63,8 @@ One node per line. Everything except the label is optional.
|
||||
`[~]`, `[/]`, `[x]` or `[^]`); each additional realized one warns
|
||||
(`xorConflict`).
|
||||
- Optionality (`+`) is orthogonal to status: an optional node can be long
|
||||
`[^]`. Optional nodes never count toward the cheapest path.
|
||||
`[^]`. An optional node counts toward the cheapest path **only while it is
|
||||
being worked on** — `[~]` or `[/]`; untouched and finished ones stay out.
|
||||
|
||||
### Fold mark (immediately before the label, i.e. after the status box)
|
||||
|
||||
@@ -96,10 +97,11 @@ One node per line. Everything except the label is optional.
|
||||
- **`[x]` and `[^]` cost nothing any more.** The cheapest path prices the
|
||||
work that is *left*, so a done node adds zero regardless of its size and
|
||||
carries no station on the path line; started work (`[~]`, `[/]`) still
|
||||
counts in full. A realized alternative therefore wins its `|`/`=` group
|
||||
even when a cheaper unstarted one sits next to it. The *intrinsic* status
|
||||
decides — dependencies may hold a node back effectively, but the work on
|
||||
it is paid for.
|
||||
counts in full. **A realized alternative wins its `|`/`=` group** even when
|
||||
a cheaper unstarted one sits next to it — the choice has been made; among
|
||||
several realized ones cost decides again. The *intrinsic* status decides —
|
||||
dependencies may hold a node back effectively, but the work on it is paid
|
||||
for.
|
||||
|
||||
### Size (effort)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user