Chain-Load: generate new start node automatically

this is only a minor rearrangement in the Algorithm,
but allows to re-boot computation should node connectivity
go to zero. With current capabilities, this could not happen,
but I'm considering to add a »pruning« parameter to create the
possibility to generate multiple shorter chains instead of one
complete chain -- which more closely emulates reality for
Scheduler load patterns.
This commit is contained in:
Fischlurch 2023-11-26 18:25:10 +01:00
parent dbe71029b7
commit ecbe5e5855
2 changed files with 265 additions and 10 deletions

View file

@ -118,6 +118,7 @@ namespace test {
// using lib::meta::RebindVariadic;
using util::min;
using util::max;
using util::isnil;
using util::limited;
using util::unConst;
using util::toString;
@ -284,21 +285,21 @@ namespace test {
static Rule rule() { return Rule(); }
TestChainLoad&&
seedingRule (Rule&& r)
seedingRule (Rule r)
{
seedingRule_ = move(r);
return move(*this);
}
TestChainLoad&&
expansionRule (Rule&& r)
expansionRule (Rule r)
{
expansionRule_ = move(r);
return move(*this);
}
TestChainLoad&&
reductionRule (Rule&& r)
reductionRule (Rule r)
{
reductionRule_ = move(r);
return move(*this);
@ -317,7 +318,7 @@ namespace test {
Node* node = &nodes_->front();
size_t level{0};
// local copy of all rules (they are non-copyable, once engaged)
// local copy of all rules (non-copyable, once engaged)
Rule expansionRule = expansionRule_;
Rule reductionRule = reductionRule_;
Rule seedingRule = seedingRule_;
@ -337,12 +338,13 @@ namespace test {
return rule(n);
};
addNode(); // prime next with root node
// visit all further nodes and establish links
while (moreNodes())
{
++level;
curr->clear();
if (isnil(next))
addNode(); // ensure parent
++level;
swap (next, curr);
size_t toReduce{0};
Node* r = nullptr;

View file

@ -96219,6 +96219,16 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1701017861080" ID="ID_797249846" MODIFIED="1701017874112" TEXT="nur begrenzte Verifikation">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
<node CREATED="1701017876854" ID="ID_1348039679" MODIFIED="1701018011736" TEXT="man k&#xf6;nnte sehr viel Zeit mit einer strikten Verifikation verbringen">
<icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1701017891876" ID="ID_849462036" MODIFIED="1701017942137" TEXT="aber es geht nur darum, da&#xdf; das Scheduler-Test-Tool verl&#xe4;sslich nutzbar ist"/>
<node CREATED="1701017948018" ID="ID_1354899472" MODIFIED="1701017976555" TEXT="es gen&#xfc;gt, wenn ich seblber genug Vertrauen gewinne"/>
<node CREATED="1701017994288" ID="ID_1312682056" MODIFIED="1701018004852" TEXT="und da&#xdf; ich sp&#xe4;ter die Mittel habe, Fehler zu finden"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1699746799143" ID="ID_1824939661" MODIFIED="1699746805576" TEXT="Implementierung">
<icon BUILTIN="pencil"/>
@ -96246,6 +96256,19 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1699805813117" ID="ID_593874916" MODIFIED="1699805822698" TEXT="buildTopology: Grundstruktur">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1701013424438" ID="ID_111752985" MODIFIED="1701013455120" TEXT="&#xe4;u&#xdf;ere Schleife &#xfc;ber alle Nodes">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1701013433964" ID="ID_655963117" MODIFIED="1701013453940" TEXT="innere Schleife &#xfc;ber alle Vorg&#xe4;nger">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1701013445667" ID="ID_478612436" MODIFIED="1701013452515" TEXT="RandomDraw-Parameter eingef&#xfc;hrt">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701013458796" ID="ID_382069196" MODIFIED="1701014006906" TEXT="Umbau Erzeugung Start-Node">
<arrowlink COLOR="#676075" DESTINATION="ID_1577021137" ENDARROW="Default" ENDINCLINATION="294;-251;" ID="Arrow_ID_342682284" STARTARROW="None" STARTINCLINATION="476;43;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1700163498328" ID="ID_14989689" MODIFIED="1700163505288" TEXT="CtrlRules + Infrastruktur">
<icon BUILTIN="flag-yellow"/>
@ -96753,7 +96776,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</html></richcontent>
<linktarget COLOR="#719f60" DESTINATION="ID_1225692248" ENDARROW="Default" ENDINCLINATION="1568;-1210;" ID="Arrow_ID_298662468" SOURCE="ID_1582937575" STARTARROW="None" STARTINCLINATION="2265;134;"/>
<linktarget COLOR="#639b93" DESTINATION="ID_1225692248" ENDARROW="Default" ENDINCLINATION="-812;-40;" ID="Arrow_ID_879341368" SOURCE="ID_36351098" STARTARROW="None" STARTINCLINATION="655;81;"/>
<linktarget COLOR="#719f60" DESTINATION="ID_1225692248" ENDARROW="Default" ENDINCLINATION="-466;214;" ID="Arrow_ID_834549033" SOURCE="ID_557518427" STARTARROW="None" STARTINCLINATION="242;0;"/>
<linktarget COLOR="#719f60" DESTINATION="ID_1225692248" ENDARROW="Default" ENDINCLINATION="-466;214;" ID="Arrow_ID_834549033" SOURCE="ID_557518427" STARTARROW="None" STARTINCLINATION="241;10;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1700491815546" ID="ID_1942150407" MODIFIED="1700713887314" TEXT="bestehenden Prototyp konsolidieren">
<icon BUILTIN="button_ok"/>
@ -98444,9 +98467,10 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1700240183293" ID="ID_1092101612" MODIFIED="1700240190782" TEXT="Regel-Baukasten">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1700240183293" ID="ID_1092101612" MODIFIED="1701012931570" TEXT="Regel-Baukasten">
<linktarget COLOR="#5a509e" DESTINATION="ID_1092101612" ENDARROW="Default" ENDINCLINATION="8;265;" ID="Arrow_ID_362060244" SOURCE="ID_1931960006" STARTARROW="None" STARTINCLINATION="415;-28;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1700770889303" ID="ID_1475798694" MODIFIED="1700969773151" TEXT="Non-copyable Rules &#x2014; problematisch f&#xfc;r DSL">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1700770889303" FOLDED="true" ID="ID_1475798694" MODIFIED="1700969773151" TEXT="Non-copyable Rules &#x2014; problematisch f&#xfc;r DSL">
<icon BUILTIN="messagebox_warning"/>
<node COLOR="#5b280f" CREATED="1700770943791" ID="ID_1199767820" MODIFIED="1700770980394" TEXT="sie m&#xfc;ssen non-copyable sein wegen internem Function-binding">
<icon BUILTIN="broken-line"/>
@ -98509,10 +98533,27 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</p>
</body>
</html></richcontent>
<arrowlink COLOR="#4575ad" DESTINATION="ID_508651287" ENDARROW="Default" ENDINCLINATION="24;-48;" ID="Arrow_ID_1906631092" STARTARROW="None" STARTINCLINATION="-135;6;"/>
</node>
<node CREATED="1700969673859" ID="ID_1388522888" MODIFIED="1700969690306" TEXT="...da RandomDraw jetzt so wunderbar elegant kopierbar ist..."/>
</node>
</node>
<node CREATED="1701012412539" ID="ID_757448445" MODIFIED="1701012416971" TEXT="Regel-Instanzen">
<node CREATED="1701012419704" ID="ID_508651287" MODIFIED="1701012634497" TEXT="Workaround f&#xfc;r das fixed-Location-Problem: stets Kopieren zur Anwendung">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Ab dem Zeitpunkt der ersten Anwendung m&#252;ssen Regeln an einer festen Stelle im Speicher sitzen, da sie Referenzen intern binden. Deshalb macht buildTopology() sich nun jeweils eine lokale Kopie
</p>
</body>
</html></richcontent>
<linktarget COLOR="#4575ad" DESTINATION="ID_508651287" ENDARROW="Default" ENDINCLINATION="24;-48;" ID="Arrow_ID_1906631092" SOURCE="ID_347427762" STARTARROW="None" STARTINCLINATION="-135;6;"/>
</node>
<node CREATED="1701012635503" ID="ID_1854694715" MODIFIED="1701012669391" TEXT="damit sind die Instanzen in der Konfiguration von TestChainLoad zu &#xbb;Templates&#xab; geworden"/>
<node CREATED="1701012698015" ID="ID_45448504" MODIFIED="1701012717450" TEXT="diese k&#xf6;nnten nun via perfect-Forwarding von anderen Instanzen initialisiert werden"/>
<node CREATED="1701012761918" ID="ID_985295794" MODIFIED="1701012786631" TEXT="der Einfachheit halber k&#xf6;nnen die Setter aber einfach eine Val-Arg nehmen"/>
</node>
</node>
</node>
</node>
@ -98634,6 +98675,37 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node COLOR="#338800" CREATED="1699821225351" ID="ID_1826969287" MODIFIED="1699827726975" TEXT="Verzweigen und Reduzieren">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701013104992" ID="ID_1384585617" MODIFIED="1701013115290" TEXT="vorzeitiges Kappen (Pruning)">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1701013119678" ID="ID_514160905" MODIFIED="1701013248977" TEXT="sinnvoll f&#xfc;r den geplanten Einsatz">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Man m&#246;chte n&#228;mlich auch <i>ganz normale Rendervorg&#228;nge</i>&#160; simulieren, nicht blo&#223; extravagant komplexe Graphen. Denn im Normalfall ist der Abh&#228;ngigkeitsgraph sehr klein, daf&#252;r aber werden immerfort neue Str&#228;nge begonnen. Wir brauchen also einen Mechanismus, der regelm&#228;&#223;ig Str&#228;nge mitten im Graphen beendet.
</p>
</body>
</html></richcontent>
<icon BUILTIN="info"/>
</node>
<node CREATED="1701013265691" ID="ID_1808531102" MODIFIED="1701013288207" TEXT="nimmt zuf&#xe4;llig einen Knoten aus der Weiterverkn&#xfc;pfung heraus">
<icon BUILTIN="yes"/>
</node>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1701013295279" ID="ID_1577021137" MODIFIED="1701014006906" TEXT="verhindern da&#xdf; die Generierung steckenbleibt">
<linktarget COLOR="#676075" DESTINATION="ID_1577021137" ENDARROW="Default" ENDINCLINATION="294;-251;" ID="Arrow_ID_342682284" SOURCE="ID_382069196" STARTARROW="None" STARTINCLINATION="476;43;"/>
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1701013320019" ID="ID_1117191097" MODIFIED="1701013347739" TEXT="bisher wird nur die initiale Start-Node explizit erzeugt"/>
<node CREATED="1701013349488" ID="ID_1770244833" MODIFIED="1701013370227" TEXT="durch Pruning k&#xf6;nnten alle Vorg&#xe4;nger verschwinden; die Schleife dreht dann leer">
<icon BUILTIN="broken-line"/>
</node>
<node CREATED="1701013373590" ID="ID_1960309734" MODIFIED="1701013393842" TEXT="L&#xf6;sung: falls das passiert &#x27f6; neue Start-Node">
<icon BUILTIN="idea"/>
</node>
<node CREATED="1701013395009" ID="ID_532861011" MODIFIED="1701013411163" TEXT="&#x27f9; Corrolar: die erste Start-Node entsteht dann von selbst"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1699805890752" ID="ID_604823204" MODIFIED="1699827731274" TEXT="Limitierungen einhalten">
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1700163524509" ID="ID_1054737506" MODIFIED="1700166665465" TEXT="Auswertung der CtrlRules sicher handhaben">
@ -98727,7 +98799,11 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1700240219001" ID="ID_531532352" MODIFIED="1700240227249" TEXT="Hilfsmittel zur Regel-Definition">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#11660e" CREATED="1700761069915" ID="ID_557518427" MODIFIED="1700761165588" TEXT="Basis: &#xbb;ziehen&#xab; von Zufallszahlen aus dem Hash &#x27f6; lib::RandomDraw">
<arrowlink COLOR="#719f60" DESTINATION="ID_1225692248" ENDARROW="Default" ENDINCLINATION="-466;214;" ID="Arrow_ID_834549033" STARTARROW="None" STARTINCLINATION="242;0;"/>
<arrowlink COLOR="#719f60" DESTINATION="ID_1225692248" ENDARROW="Default" ENDINCLINATION="-466;214;" ID="Arrow_ID_834549033" STARTARROW="None" STARTINCLINATION="241;10;"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701012898916" ID="ID_1931960006" MODIFIED="1701012940106" TEXT="Regel-Baukasten aufbauen">
<arrowlink COLOR="#5a509e" DESTINATION="ID_1092101612" ENDARROW="Default" ENDINCLINATION="8;265;" ID="Arrow_ID_362060244" STARTARROW="None" STARTINCLINATION="415;-28;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
</node>
@ -99167,6 +99243,183 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701014034892" ID="ID_866240930" MODIFIED="1701014041643" TEXT="Topologie-Kennzahlen">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1701014048994" ID="ID_1678541468" MODIFIED="1701014062212" TEXT="globale Statistik">
<node CREATED="1701014092123" ID="ID_97178406" MODIFIED="1701014096623" TEXT="Anzahl...">
<node CREATED="1701014366015" ID="ID_94760001" MODIFIED="1701014369211" TEXT="Levels"/>
<node CREATED="1701014373886" ID="ID_1494013511" MODIFIED="1701014375569" TEXT="Nodes"/>
<node CREATED="1701014110513" ID="ID_883717238" MODIFIED="1701014372296" TEXT="inner Nodes"/>
<node CREATED="1701014097851" ID="ID_165643382" MODIFIED="1701014103255" TEXT="Seed-Nodes"/>
<node CREATED="1701014103986" ID="ID_53295910" MODIFIED="1701014108086" TEXT="Exit-Nodes"/>
<node CREATED="1701014150515" ID="ID_518423204" MODIFIED="1701014266135" TEXT="Forks">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Node mit mehr als einem Nachfolger
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1701014158011" ID="ID_864773478" MODIFIED="1701014276582" TEXT="Joins">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Node mit mehr als einem Vorl&#228;ufer
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1701014235017" ID="ID_722933063" MODIFIED="1701016481952" TEXT="Links">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Fortsetzung einer Kette mit genau einem Vorl&#228;ufer und einem Nachfolger
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1701014318366" ID="ID_986125599" MODIFIED="1701014342306" TEXT="Knots">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Node mit mehr als einem Vorl&#228;ufer <i>und</i>&#160;mehr als einem Nachfolger
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1701016507804" ID="ID_1599719137" MODIFIED="1701016768302" TEXT="Spread">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
die Zahl der ausgehenden Verbindungen minus der eingehenden Verbindungen;&#160;&#160;&#8721;spread &#8793; 0 (Konsistenz der Connectivity)
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node CREATED="1701014411294" ID="ID_156727535" MODIFIED="1701014453423" TEXT="&#x2205; Level : f&#xfc;r alle diese...">
<node CREATED="1701015385538" HGAP="177" ID="ID_1646330288" MODIFIED="1701015748897" TEXT="empirische Rate" VSHIFT="2">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
f&#252;r einfache Topologien sollte das den konfigurierten Wahrscheinlichkeiten entsprechen; bei komplexeren Topologien beschreibt es das Gleichgewicht, und ist daher eine wesentliche Kennzahl
</p>
</body>
</html>
</richcontent>
<edge COLOR="#296a72" STYLE="sharp_linear" WIDTH="2"/>
<font NAME="SansSerif" SIZE="10"/>
</node>
</node>
<node CREATED="1701015327833" ID="ID_1250341173" MODIFIED="1701015522945" TEXT="&#x2205; Level / Breite : f&#xfc;r die Geometrie">
<node CREATED="1701015385538" HGAP="111" ID="ID_1031922946" MODIFIED="1701015908437" TEXT="Aktivit&#xe4;ts-Dichte" VSHIFT="2">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
da in einem breiteren Graph die viel mehr Nodes pro Level konzentriert sind, wachsen alle Gemmetrie-Kenndaten auch mit der Breite, was die Beurteilung des Verlaufs erschwert; daher ist es sinnvoll, eine Variante der lokalen Kennzahlen zu erstellen, die auf die Einheitsbreite normiert ist; erst dadurch wird ein zeitlicher Tredn im Gleichgewicht sichtbar
</p>
</body>
</html>
</richcontent>
<edge COLOR="#296a72" STYLE="sharp_linear" WIDTH="2"/>
<font NAME="SansSerif" SIZE="10"/>
</node>
</node>
<node CREATED="1701015198394" ID="ID_711058115" MODIFIED="1701015638420" TEXT="&#x2205; &#x3b3; Level : gewichteter Level f&#xfc;r diese">
<node CREATED="1701015385538" HGAP="90" ID="ID_1626397963" MODIFIED="1701016073457" TEXT="Schwerpukt der Aktivit&#xe4;t" VSHIFT="2">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
man berechnet hierf&#252;r ein gewichtetes Mittel &#252;ber die Level, gewichtet durch die jweilige Kennzahl; dadurch ergibt sich, wo die betr. Kennzahl schwerpunktm&#228;&#223;ig aktiv ist. Das ist f&#252;r alle Kennzahlen sinnvoll, selbst die Nodes (wo sind die meisten Nodes?). Die Standardabweichung k&#246;nnte man dann auch gleich noch dazu berechnen (um die Breite der Verteilung zu kennzeichnen)
</p>
</body>
</html>
</richcontent>
<edge COLOR="#296a72" STYLE="sharp_linear" WIDTH="2"/>
<font NAME="SansSerif" SIZE="10"/>
</node>
</node>
<node CREATED="1701015615530" ID="ID_1006500268" MODIFIED="1701015636161" TEXT="&#x2205; &#x3b3; Level / Breite : gewichteter Level">
<node CREATED="1701015385538" HGAP="100" ID="ID_622462617" MODIFIED="1701016442682" TEXT="Schwerpunkt Aktivit&#xe4;ts-Dichte" VSHIFT="3">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
analog zum einfachen gewichteten Level, nur da&#223; hier die auf die Breite normierten Geometrie-Daten betrachtet werden; dadurch werden tats&#228;chlich zeitliche Verl&#228;ufe sichtbar
</p>
</body>
</html>
</richcontent>
<edge COLOR="#296a72" STYLE="sharp_linear" WIDTH="2"/>
<font NAME="SansSerif" SIZE="10"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1701014700627" ID="ID_486759315" MODIFIED="1701014706596" TEXT="nice-to-have">
<icon BUILTIN="hourglass"/>
<node CREATED="1701014725672" ID="ID_1385369844" MODIFIED="1701014815616" TEXT="Verlauf : Kennzahlen pro Level"/>
<node CREATED="1701014846672" ID="ID_1126849458" MODIFIED="1701015090770" TEXT="linearer Trend dieser Verl&#xe4;ufe"/>
<node CREATED="1701014816940" ID="ID_918181422" MODIFIED="1701014845325" TEXT="moving-average dieser Verl&#xe4;ufe"/>
<node CREATED="1701014906601" ID="ID_162075664" MODIFIED="1701015017014" TEXT="Trend &#xfc;ber den moving-Average"/>
<node CREATED="1701015039119" ID="ID_1142392150" MODIFIED="1701015065135" TEXT="Trend-indicator">
<node CREATED="1701015067619" ID="ID_648924723" MODIFIED="1701015072037" TEXT="% grow"/>
<node CREATED="1701015072763" ID="ID_1521958486" MODIFIED="1701015076534" TEXT="% constant"/>
<node CREATED="1701015077434" ID="ID_22691328" MODIFIED="1701015081226" TEXT="% decline"/>
<node CREATED="1701015081865" ID="ID_1426934946" MODIFIED="1701015088816" TEXT="average"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701016789541" ID="ID_677587050" MODIFIED="1701016798574" TEXT="Berechnung">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1701016800527" ID="ID_465492261" MODIFIED="1701016850415" TEXT="auf Erweiterbarkeit abzielen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Ziemlich sicher werden wir zu Begin nur einen Bruchteil der m&#246;glichen Statisktiken berechnen, und es ist &#252;berhaupt nicht klar, ob wir jemals mehr brauchen
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701016792372" ID="ID_1251453714" MODIFIED="1701016798575" TEXT="Darstellung">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1700105473288" ID="ID_363744899" MODIFIED="1700105544295" TEXT="Operatoren">
<icon BUILTIN="pencil"/>