Archive for the ‘Kevin Bacon’ Category

Damals wurde mir ziemlich spaet erst bewusst, dass ich zwar fuer ein gegebenes Linklevel (und eine gegebene Grøsze von Interesse) die Summe ueber alle Seiten untersucht hatte, es mir bis dahin aber nie in den Sinn gekommen ist, mir mal die Summe ueber alle Linklevel einer gegebene Seite (und einer gegebenen Grøsze von Interesse) anzuschauen. Eine einzelne Summe ist natuerlich nicht von Interesse, aber die Verteilung aller Summenwerte aller Seiten schon.

Das hab ich nochmal gemacht und hier sieht man den Vergleich dieser Verteilungen bzgl. der totalen Links fuer die 2020-Daten und die 2023 Daten:

Bei doppellogarithmischer Darstellung (linkes Diagramm) sieht das gleich aus. Bei linearer Abzsisse sind die „Balken“ bei hohen Summenwerten gewaltig verschoben. Der Grund liegt natuerlich mal wieder daran, weil die 2023 Wikipedia mehr Seiten enthaelt.
Bereits damals hatte ich mir besagten „Balken“ genauer angeschaut und es stellte sich heraus, dass das gar kein Balken ist. In diesem Diagramm …

… hab ich nicht nur in die „Balken“ „reingezoomt“, sondern auch den 2023-Daten eine von den 2020-Daten unabhaengige Abzsisse gegeben (die obere). Das sieht dann wie eine „Verschiebung“ aus und erleichtert den Vergleich der Daten. Siehe da: die „Dynamik“ ist die Gleiche (gar die Selbe wuerd ich sagen), sowohl bei kleinen, als auch bei hohen Summwerten.

Obacht: bei den hohen Summen handelt es sich um weniger als 2000 Datenpunkte, die nicht mal 10 % aller Wikipediaseiten repraesentieren! Wie zu erwarten ist, haben die allerallerallermeisten Seiten die selbe Anzahl an totalen Links (das ist der eine Datenpunkt, welcher der oberen Abzsisse am naehsten kommt). Das besprach ich damals detailliert (siehe der Beitrag hinter dem obigen Link) und werde das an dieser Stelle nicht nochmal wiederholen.

Fuer die neuen Links hatte ich mir das damals nie angeschaut, aber da gibt es keine Ueberraschungen (wenn man sich schonmal die totalen Links angeschaut hat):

Die „Dynamik“ bei hohen Summenwerten scheint (deutlich?) schneller runter zu gehen als bei den totalen Links und das sollte vielleicht mal wer anders genauer untersuchen. Wie schon oben, gibt es auch hier wieder keinen echten Unterschied zwischen den beiden Datensaetzen.

Ebenso nicht angeschaut hatte ich mir die Verteilung der Summe(n) ueber die Linklevel fuer die Selbstreferenzen. Die sind hier im linken Diagramm zu sehen:

Høh? Das sieht ja (fast) so aus wie die Summer ueber alle Seiten auf einem gegebenen niedrigen Linklevel (siehe bspw. hier). Das stimmt, das sieht so aus, aber wenn man sich das mal genauer anschaut, dann ist dem nicht so. Die Aehnlichkeit kommt durch die starke „Begrenztheit“ der Selbstreferenzen zustande. Zum Einen gibt es ohnehin nicht sehr viele Selbstreferenzen und zum Anderen nimmt das „Selbstreferenzensignal“ sehr schnell ab. Ab LL23 ist da (fast) nix mehr (man kønnte argumentieren, dass ab LL10 praktisch nix mehr ist. Im Gegensatz zu den totalen (oder neuen) Links wo das Signal immer irgendwie hoch-ish ist, dominiert fuer diese Summe bei den Selbstreferenzen das Signal der ersten paar Linklevels und deswegen sehen sich die Verteilungen dieser zwei, konzeptionell vøllig unterschiedlichen (!), Summen so aehnlich.

Ansonsten ist nur zu sagen, dass die 2023-Daten den 2020-Daten so aehnlich sind, dass man beinahe von „deckungsgleich“ sprechen kønnte.

Als Letztes ist dann die Verteilung dieser Summenwerte fuer die Linkfrequenz im rechten Diagramm zu sehen. Das war damals der „Aufhaenger“, wie ich auf diese (andere) Summer ueberhaupt erst aufmerksam geworden bin, weil man damit ganz leicht „Archipelagoseiten“ identifizieren kann.
Wie man sieht, reproduzieren auch hier die 2023-Daten die 2020-Daten … mehr hatte ich damals dazu gesagt, was ich hier aber nicht wiederholen werde.

Beim naechsten Mal: die „Archipelagos“ an sich.

Ich wollte doch eigentlich die Simulation der Entwicklung der Selbstreferenzen von einem Linklevel zum naechsten NICHT nochmal schreiben. Ich frage mich, warum ich solche Sachen immer noch behaupte? Am Ende mach ich’s doch sowieso.
Ein Grund fuer die Meinungsaenderung waren die zwei Programme, die mir grosze Teile der Diagrammerstellung abnehmen. Das reduzierte die „Hemmschwelle“ deutlich. Der andere Grund war, dass ich den zugehørigen Code dann doch ordentlich machen wollte … ein Projekt ordentlich abzuschlieszen (auch wenn das bei diesem Projekt dauert und dauert und dauert und dauert …) motiviert mich gewaltig, auch nicht ganz so spannende Sachen gruendlich zu machen.

Wieauchimmer, ich habe das dazu gehørende Programm nochmal neu geschrieben und dabei „entruempelt“. Letzteres bezieht sich vor allem auf den Anfangszustand, von dem die Simulation starten soll.
Damals hatte ich mir dazu viele Gedanken gemacht und mehr oder weniger viel (aber sicher unnøtig) komplexen Code geschrieben. So richtig zufrieden war ich damit nicht, denn mein Ansatz fuehlte sich zu sehr ad hoc an (was erstmal nicht schlimm ist), und gleichzeitig nicht aus „einem Guss“. Beides zusammen ist schon „schlimmer“, denn das heiszt im Prinzip, dass sich ein beliebiger anderer Ansatz haette „vom Haken“ nehmen lassen.
Auszerdem løste der Ansatz das Randproblem der „wenige Daten im langen Schwanz“ auch nicht, was sich dann natuerlich durch alle Simulationsergebnisse zog.

Die erste grosze Neuerung im neuen Code ist jetzt, dass ich einfach das erste passende „Messergebnis“ als Ausgangspunkt nehme. Das løst alle oben genannten Probleme auf einen Schlag.

Die zweite grosze Neuerung ist, dass ich jetzt fuer jede „Seite“ einzeln simuliere (vulgo: zufaellig zuordne), wieviele Selbstreferenzen die auf dem naechsten Linklevel hat. Vorher hatte ich das anteilsweise fest zugeteilt.

Am Ende habe ich das dann mit den selben relevanten Parametern und den 2020 Daten (NICHT die 2023 Daten, deswegen in dem Sinne KEINE Reproduktion) alles nochmal simuliert und das ist das Ergebnis:

Die blauen Punkte sind die Ergebnisse der neuen Simulation, die roten Quadrate sind die Resultate der alten Simulation, und die grauen Diamanten sind die 2020 „Messergebnisse“. Man sieht (hoffe ich, wenn nicht schaue man sich die originalen Artikel nochmal an), dass der lange Schwanz bei den blauen Punkten nicht mehr abgeschnitten wird. Damit „passt“ das diesbezueglich deutlich besser zu den „Messergebnissen“ als die alte Simulation.

Andernfalls sind die alte und die neue Simulation gleich in allen wichtigen Punkten — Amplitude und (zunehmender) Anstieg — und teilen auch die bereits damals diskutierten Unzulaenglichkeiten.

Da es nicht Ziel dieser „Uebung“ war alles besser zu machen, bin ich sehr zufrieden und froh, dass das jetzt auch endlich fertig ist.

Zur Simulation der Selbstreferenzen via „atomistischer Naeherung“ (die ich an sich eigtl. nicht nochmal machen will, weil ich das Gefuehl hatte, dass das nicht viel gebracht hat) benøtigte ich auch die Abhaengigkeit der Anzahl der Selbstreferenzen die eine Seite auf einem gegebenen Linklevel hat, von der Anzahl der Selbstreferenzen dieser Seite auf dem vorherigen Linklevel. Oder anders und an einem konkreten Beispiel: hat eine Seite mit vielen Selbstreferenzen auf LL5 auch viele Selbstreferenzen auf LL6?

Nachdem ich das „Konzept“ „entwickelt“ hatte, wandte ich das dann auch auf  die totalen und neuen Links und die Linkfrequenz an. Viel ist dabei nicht rumgekommen … aber ich habe den Code dafuer neu geschrieben und deshalb liegen die Ergebnisse jetzt auch fuer die 2023 Daten vor.
Hinzu kommt, dass ich fuer’s letzte und vorletzte Mal ein Werkzeug schrieb, mit welchem ich ([deutlich mehr als] halb-)automatisiert Diagramme erstellen und schøn machen kann. Anstatt also nur ein paar repraesentative Beispiele zu zeigen, kann ich nun ohne all zu viel arbeite ALLES diagrammisieren … was in diesem Falle hiesz, deutlich ueber 200 Bilder zu erstellen. Zugegeben, die meisten davon sind nur „Zwischenschritte“ im automatischen Prozess und nicht direkt im Endergebnis zu sehen … aber erstellt werden mussten die trotzdem. Das Endergebnis sind dann nur vier bewegte Bilder; eins pro Messgrøsze. Die enthalten jeweils zwei Diagramme („Rohdaten“ und Durschnittswerte … macht schonmal acht Diagramme) und laufen ueber jedes Linklevel. Bei ungefaehr 80 zu zeigenden Linkleveln macht das ueber 600 Bilder die ihr, meine lieben Leserinnen und Leser gleich sehen werdet.

Ich schreibe das hier nochmal ausfuehrlich, weil es so ein schønes Beispiel fuer einen wichtigen Teil des wissenschaftlichen Prozesses ist: hier habe ich keine „neue“ Methode entwickelt, sondern ein effektives Werkzeug geschaffen, mit dem man viel mehr abstrakte Daten (in der Form langer Zahlenreihen) in verstaendlichere Information (in Form von „bewegten“ Diagrammen) bringen kann. Das aendert nichts an den urspruenglichen Schlussfolgerungen und Ergebnissen, erøffnet aber die „Dynamik“ eines Systems im Detail zu untersuchen … was ich aber nicht mehr machen werden.

Damit genug der langen Vorrede. Hier ist die Entwicklung der totalen Links auf einem gegebenen Linklevel in Abhaengigkeit der totalen Links auf dem vorherigen Linklevel dargestellt:

Im linken Diagramm sind die „Rohdaten“ zu sehen. Im Wesentlichen entspricht jeder Punkt einer Seite … und hier geht’s auch schon los. Nicht nur wird einem gegebenen Wert auf der Abzsisse oft mehr als einen Wert auf der Ordinate zugeordnet. Viele (in spaeteren Linkleveln alle) zu sehende Datenpunkte sind „degeneriert“. Das heiszt, dass mehrere (viele) Seiten das selbe (Anzahl-Links-auf-LLi-1, Anzahl-Links-auf-LLi)-Paar haben. Ich komme darauf gleich nochmal zurueck.

Desweiteren ist zu sagen, dass ich alle „Nullwerte“ weglasse. Also alle Daten die entweder keine (in diesem Fall) Links auf diesem oder dem vorherigen Level hatten. Ersters entspricht einem „Nullwert“ auf der Abzsisse, Letzteres einem „Nullwert“ auf der Ordinate. Bei den totalen Links kann Letzteres nur in der Form einer „Doppelnull“ auftreten (deswegen ist das allerletzte Diagramm auf LL84 leer), aber bei den Selbstreferenzen weiter unten sind beide Faelle møglich.
Ich habe mich zu diesem Schritt aus der Not heraus entschlossen, denn die Nullen bei logarithmischen Achsen mit reinzubringen ist in der Kombination meines Diagrammerstell- und Diagrammschønmachprogramms ziemlich umstaendlich. Das ist der wirkliche Grund. Ich kønnte natuerlich auch darauf zeigen, dass die Achsen bei einem Wert von jeweils 0.5 aufhøren und ein Wert von Null darunter liegt … aber das hat mich frueher ja auch nicht gestørt … als noch keine drei Grøszenordnungen weniger Diagramme zu erstellen waren.

Beim rechten Diagramm sieht man den Durchschnittswert der totalen Links zu einem gegebenen Wert auf der Abzisse. Ein Beispiel: die (totalen) Links ALLER Seiten die auf LL23 fuenf Links haben werden aufsummiert und das wird durch die Anzahl dieser Seiten dividiert. Die dabei entstehende Zahl wird im Diagramm fuer LL24 genommen und auf der Abzsisse ueber dem Wert fuenf als Punkt dargestellt. Wichtig: auch die „Nullwerte“ zaehlen dazu, zwar nicht wenn die Summe gebildet wird (plus Null macht ja nix) aber sehr wohl bei der Anzahl der Seiten durch die dividiert werden muss.

Das Feine ist nun, dass damit (zwangslaeufig) jedem Wert auf der Abzsisse nur ein Wert auf der Ordinate zugeordnet wird. Auszerdem gibt es (zwanslaeufig) auch keine „degenerierten“ Punkte mehr im Diagramm.

Als naechstes das gleiche fuer die Anzahl der neuen Links:

Die Achsen reichen nicht so lang (war zu erwarten) und zum Ende hin Ende zappelts nicht mehr so doll, ja steht gar still (war auch zu erwarten, wg. der „Ketten“). Kurios ist die „Verzweigung“ zwischen LL7 und LL10. Ich weise da aber nur drauf hin, ich habe das nicht weiter untersucht und werde es auch nicht tun. Das ist aber ein schønes Beispiel fuer den oben erwaehnten Prozess, dass man mittels neuer Werkzeuge (bspw.) die „Dynamik“ eines Systems besser untersuchen kann. Das ist beim Zeigen repraesentativer Datensaetze nicht aufgetaucht (denn es ist definitiv nicht repraesentativ), aber gleichzeitig aendert es auch nichts an den wesentlichen Aussagen.

Wieder gilt: die 2023-Daten reproduzieren die 2020-Daten gut.

Auf zu den Selbstreferenzen:

Hier wird im rechten Diagramm wichtig, was ich oben zu den „Nullwerten“ sagte … und dass die Grenze eigtl. schon bei 0.5 liegt. Denn hier sieht man øfter Punkte die gerade so ueber der Abzsisse „herumduempeln“, weil die einem Durchschnittswert von gerade mal ein kleines bisschen ueber 0.5 Selbstreferenzen entsprechen. Man sieht nicht, dass manchmal einige Punkte auch unter dem Wert von 0.5 liegen … denn die werden ja „unterdrueckt“.
Oben bei den neuen Links sieht man aber einen Hinweis auf die unterdrueckten Punkte „indirekt“, wenn man ganz schnell hinschaut. Denn das LL80 Durchschnittsdiagramm ist leer (die Rohdaten sind aber noch zu sehen); das erklaert sich natuerlich aus dem eben Gesagten.

Mehr gibt’s nicht zu sagen … ach doch: und nocheinmal reproduzieren die 2023-Daten die 2020-Daten gut.

Als Letztes dann die Linkfrequenz:

Auch wenn ab ca. LL15 deutlicher als bei den anderen Diagrammen zu sehen ist, dass die schwarzen und roten Punkte nicht mehr (beinahe) deckungsgleich sind, so bleiben alle Merkmale (Form, Verlauf und „Merkwuerdigkeiten“) erhalten. Deswegen bleibt mir nix weiter als zu sagen: auch hier ist die Reproduktion der 2020-Daten in den 2023-Daten gelungen.

Ach doch, eine Sache noch: waehrend der Durchschnittswert fuer die Links und Selbstreferenzen durchaus sinnvoll ist, gilt das fuer die Linkfrequenz mitnichten. Da kommt einfach keine (mehr oder weniger) gerade Linie bei raus, sondern die Ellipse bleibt bestehen. Man muss also immer die Sinnhaftigkeit und Interpretation der angewandten (nicht notwendigerweise nur mathematischen) „Umformungen“ der Daten gut durchdenken, damit man keinen Mist publiziert.

Und damit soll’s gut sein damit. Etwas wehmuetig habe ich das alles in nur einen Beitrag gepackt. Wehmuetig deswegen, weil trotz der (mehr oder weniger) automatisierten Bilderstellung, es noch fast ’ne Woche dauerte bis die hier zu sehenden Endresultate fertig waren … und die ganze Arbeit ist mit nur einem Beitrag „abgegessen“ … Uff! … Aber letztlich gibt’s nicht wirklich viel mehr dazu zu sagen und das ist auch gut so, denn um es muss noch mehr reproduziert werden … und ich will wirklich auch mal mit dem ganzen Projekt abschlieszen.

Aus der Entwicklung der Anzahl der Selbstreferenzen kam damals eins der schønsten Ergebnisse all dieser Untersuchungen heraus (die Verbildlichung des Sprichworts „vom Hundertsten ins Tausendste kommen“). Das muesste ich eigentlich nicht nochmal machen, denn beim letzten Mal zeigte sich ja, dass die entsprechen Daten aus 2019 und 2023 uebereinander liegen und somit die selben Anstiege haben (es wuerde also eine Art „Autoreproduktion“ vorliegen).

Besagte Anstiege wurden aus doppellogarithmischen Plots „herausgezogen“ … die waren aber (noch) nicht kumulativ, denn da bin ich erst spaeter drauf gekommen. Bei dem spaeter hatte ich das dann zwar nochmal kurz angeschaut, aber nur qualititativ (vulgo: draufgucken ob das richtig aussieht) und nicht quantitativ.

Das aendert nix daran, dass ich das nicht nochmal machen muesste … aber ich hab mir nun ein Programm geschrieben, welches kumulative log-log Diagramme automatisch erstellt und mittels linearer Regression anpasst … mit dem feinen Zusatz, dass dieses Programm erlaubt, vorne und hinten Punkte „abzuschneiden“ (weil die manchmal Aerger machen) und das dann mit den Originaldaten direkt verglichen werden kann.
Oder anders: ich hatte den kumulativen Teil vorher immer manuell gemacht und das dauert ’ne Weile wenn man das fuer viele Datensaetze machen muss. Ebenso ist es zeitaufwaendig „Aerger machende Punkte am Anfang und Ende“ zu entfernen und jedes Mal die lineare Regression durchzufuehren. Das waren die Gruende, warum ich das damals dann nur nochmal qualitativ anschaute. Aber all das ist jetzt VIIIIIIEEEEL schneller … und deswegen hab ich das jetzt doch nochmal quantitativ-isiert:

Weil die 2019 und 2023 Daten hierfuer uebereinander liegen, vergleiche ich in dem Bild natuerlich nicht die, sondern was Anderes. Naemlich die urspruenglichen Anstiege der linearen Regression, ermittelt aus NICHT kumulativen log-log Diagrammen und die Anstiege die ich mittels des besagten (kumulativen) Programms bekommen habe.

Im Wesentlichen stimmt das ueberein. Wobei ich den neuen Daten (aus kumulativen Plots) eher vertraue wuerde. Zur Erklaerung der Unterschiede kommen die Fehlerbalken und die „duennblauen“ Punkte ins Spiel. Aber der Reihe nach.

Erstens, „zappeln“ NICHT kumulierte Daten mehr. Insb. hin zu kleinen Haeufigkeiten (wenn also nur noch wenige Punkte zum Signal beitragen). Dieses „Zappeln“ fuehrt dann zu gewissen „Fehlerbalken“ und der wahre Wert des Anstiegs hat eine gewisse (meist 95 %) Chance innerhalb dieses Intervalls zu liegen. Wenn man die Fehlerbalken mit in Betracht zieht dann ueberlappt sich da schon recht viel.
Apropos Fehlerbalken; die Ergebnisse der linearen Regression von kumulativen Daten muessen korrigiert werden. Bei den Werten fuer den Anstieg muss man hier nur eine eins abziehen. Der Betrag des Anstiegs wird also grøszer. Das ist einfach. Ich weisz aber nicht, inwieweit die Fehlerbalken durch die Kumulierung beentraechtigt werden. Mein Bauchgefuehl und halbgares Verstaendniss der Mathematik sagt mir aber, dass die roten Fehlerbalken etwas (ich weisz nur nicht wieviel) laenger werden sollten … das wuerde dann zu noch mehr Uebereinstimmungen fuehren.

Damals musste ich auszerdem oft den (langen) „Schwanz“ der Daten in den NICHT kumulativen Plots abschneiden, denn ansonsten haette die lineare Regression nix Vernuenftiges errechnet. Diese „Grenzen“ fuer die Regression hatte ich mehr oder weniger mit dem Auge abgeschaetzt. Zum Glueck schrieb ich die konkreten Werte fuer besagte Grenzen auf (das wird gleich nochmal wichtig).
Auch bei kumulierten Daten muss man Punkte „aufgeben“ (siehe oben). Aber es muessen laengst nicht so viele Punkte „weggeschmissen“ werden. Meist weniger als ein Dutzend (oder sehr oft auch gar keine), wenn die Daten dann offensichtlich einem Potenzgesetz gehorchen. (Im Unterschied zu manchmal hunderten (!) bei nicht kumulativen Plots)

Nun gibt es in obigem Bild doch genuegend Abweichungen, dass mir das (mal wieder) keine Ruhe liesz und ich da genau hinschaute. Konkret „schnitt“ ich bei den kumulativen Plots genau so viele Punkte ab, wie damals bei den grauen Daten. Das spiegelt sich in den „duennblauen“ Punkten wieder (Fehlerbalken hab ich weggelassen). Und siehe da! Die stimmen im Wesentlichen mit den roten Punkten ueberein.
Das war beruhigend herauszufinden, denn damit lag der Fehler ja ganz eindeutig nicht bei mir. Vielmehr bedeutet dies, dass die Unterschiede im obigen Diagramm tatsaechlich auf die „Methode“ an sich (also NICHT kumulative log-log Plots und dem staerkeren „Herumzappeln“ dort) zurueckzufuehren sind, als auf das Abschaetzen der Grenzen fuer die lineare Regression. Oder anders: (bestimmt nicht nur) die grauen Fehlerbalken sollten vermutlich noch laenger sein.

So … wie gesagt, das hier ist keine Reproduktion im Sinne dessen, dass ich mir bzgl. der Daten aus unterschiedlichen Jahren anschaue … aber ’ne Art Reproduktion ist’s ja doch und weil ich da jetzt doch noch ein kleines Werkzeug zu programmiert und mir das alles nochmal „durchgerechnet“ hatte, wollte ich das hier auch aufgeschrieben haben.

Beim letzten Mal zeigte ich die (vielen) Linklevelverteilungen der neuen und totalen Links. Trotz der Datenmenge gab es nicht viel zu sagen, da die 2019- und 2023-Daten im Groszen und Ganzen das Gleiche waren.

Die Verteilungen der Selbstreferenzen hatte ich damals nicht fuer alle Linklevel angeschaut. Deswegen sieht man hier viele der 2019-Daten diesbezueglich hier …

… zum ersten Mal … und dann sofort auf einen Blick mit den 2023-Daten. Und wie man sieht … sieht das alles gleich aus. Weil alles spannende eigtl. nur (optimistisch gesehen) bis ca. LL23 geschieht, hatte ich das damals nicht weiter betrachtet und das ist auch dieses Mal der Fall. Also bleibt mir nur wieder zu sagen: Reproduktion gelungen.

Die linklevelabhaengigen Linkfrequenzen zeigte ich (auch nur an ausgewaehlten Beispielen) damals hier und heute hier:

Dank der vielen Vorarbeiten kann ich mich ausnahmsweise ganz kurz halten: Reproduktion auch hier gelungen … mehr gibt’s nicht wirklich dazu zu sagen.

Ach doch das hier will ich noch erwaehnen: im letzten und in diesen Beitrag sind ja nun buchstaeblich mehrere hunderte Diagramme zu sehen. Die hab ich tatsaechlich alle gemacht … aber nicht von Hand, denn das ist mir zu stupide. weil es bis auf die Daten an sich, immer das Selbe ist. Deswegen hab ich hab mir ’nen Roboter programmiert, der die Klicks fuer mich machte um das Diagramm aus den Daten zu erstellen. Und dann einen zweiten Roboter, der das Diagramm verschønerte (im Vektorgrafikformat). Fetzt schon wieviel Arbeit man spart, wenn man sowas kann … und ich wuerde sogar sagen, dass ich in diesem Falle zeitlich tatsaechlich laenger gebraucht haette das alles von Hand zu erstellen, anstatt die Roboter zu programmieren. Das ist ja ’ne „Falle“ in die man in solchen Faellen oft faellt. „Falle“ in Anfuehrungszeichen, weil ich lieber Zeit mit coolen Programmen programmieren verbringe, als mit stupiden, sich viele viele viele Male wiederholenden, immer gleichen Hand- und Klickbewegungen.

Wie versprochen geht es mit den linklevelabhaengigen Verteilungen unserer Grøszen von Interesse weiter. Heute behandeln wir erstmal nur die der totalen und die neuen Links.

Ersteres hat mich damals zunaechst ziemlich in die Irre gefuehrt. Nachdem ich das erkannt hatte, konnte ich das aber nicht einfach so stehen lassen und habe die Spekulationen (wie es gute Wissenschaft nunmal so macht) ordentlich dekonstruiert.
Die Dekonstruktion hatte dann sogar ein super interessantes und brauchbares Ergebnis, machte es mich doch auf das São-Paulo-FC-Artefakt aufmerksam … auch wenn ich es zum damaligen Zeitpunkt noch nicht wusste, dass eben dieses ein Teil eines systematischeren Phaenomens (der „Familien„) ist.
Wieauchimmer, eben weil es eine Irrefuehrung war, muss davon nix reproduziert werden und auf besagte „Familien“ komme ich an anderer Stelle nochmals separat zurueck (auch wenn die Diagramme zum São-Paulo-FC-Artefakt zu den coolsten Grafiken gehøren die ich in meinem Leben erstellte).

Von Interesse sind aber die Verteilungen an sich und ob sich was in den 2023-Daten geaendert hat. Deswegen hier nun ALLE Verteilungen der totalen Links in nur einem, sich „bewegenden“ Diagramm:

Fetzt wa!

Davon abgesehen, dass die 2023-Daten „laenger leben“ (also ueber das 72. Linklevel hinaus gehen), wuerde ich sagen, dass diese die 2020-Daten im Groszen und Ganzen und durchaus auch im Kleinen und Feinen (insb. auf fruehen Linkleveln) reproduzieren.

Im Detail scheinen Erstere, den Letzteren aber nach der „Reflexion“ etwas voraus zu laufen — die Verteilungen haben also das Maximum systematisch bei geringeren Anzahlen an totalen Links. Das ist hier an vier repraesentativen Beispielen dargestellt:

Ich wuerde hinter der Form der Kurve „dynamische Gruende“ vermuten; vulgo: auf welcher „Weise“ man zu bspw. LL23 gekommen ist. Die Regeln welche die „Dynamik“ … øhm … regeln, sollten sich nicht aendern und deswegen wundert mich das erstmal nicht, dass die Kurvenform gleich bleibt.

Bzgl. der Separation denke ich, dass die dem Phaenomen der oben erwaehnten „Familien“ zuzuordnen ist … auf das ich ja hier (noch) gar nicht eingehen wollte. Aber wenn ich mir das so anschaue, dann ist man ab LL20 ziemlich sicher in dem relevanten Bereich, in dem (fast) alle Seiten nur noch die selben („Familien“)Seiten in ihrem Linknetzwerk sehen. Es wird also alles durch relativ wenige Seiten dominiert. Wenn nun die Anzahl der Links in den „Familienseiten“ geringer ist, dann kønnte (wuerde? sollte?) das eine solche Separation zur Folge haben.

Prinzipiell kønnte bei diesem Mechanismus eine Verteilung auch ganz anders aussehen wie bspw. hier:

Im rechten Diagramm sieht man zwei „Haufen“, die wieder darauf hindeuten, dass es zwei „Familien“ gibt in die sich alle Seiten zum Ende hin einsortieren. So einen „Doppelhaufen“ sehe ich aber nur ein Mal und es ist schon kurios, dass die Anzahl der Links in den zwei „Familien“ sich an einer Stelle so sehr unterscheidet, dass sich das in der Gesamtbetrachtung nicht zu einem einzigen breiten „Haufen“ (wie in fast allen anderen Verteilungen) „verschmiert“.
Im linken Diagramm ist nun gar nichts Systematisches zu sehen. Aber diese beiden Diagramme eine Art „Uebergangsphase“ zu kennzeichnen sein, und das sollte man mal naeher untersuchen … aber das kann wer anders machen.

Die linklevelabhaengigen Verteilungen der neuen Links hatte ich damals gar nicht im Detail angeschaut, weil ich nix Neues sehen konnte (Wortspielkasse) … warum auch, neue Links sind ja im Wesentlichen nur eine Untergruppe der totalen Links. Hier diesmal alle Verteilungen, aber ich sage dazu auch heute nichts weiter:

Ach doch … eine Sache: die 2023-Daten scheinen KEINEN so deutlichen Vorlauf zu haben wie bei den totalen Links. Das wuerde sich aber auch mittels der „Familien“ erklaeren lassen. Denn da geht man ja immer nur von einer Seite zur naechsten, es gibt also immer nur EINEN neuen Link pro Familie (und weil man auf einem Linklevel bspw. 420 Familien gleichzeitig sieht, landet man beim Wert 420 auf der Abszisse). 2020 wie 2023 gibt es aber nur relativ wenige Familien. Ich muesste also deren Anzahl massiv veraendern, um eine deutliche sichtbare Separation zu reproduzieren.
Das gilt NICHT bei den totalen Links oben. Zur Erklaerung denke man sich in 2020 einhundert „Familien“ auf einem gegebenen Linklevel und die haben alle 10 Links. Das macht 1000 Links total. Nun denke man sich weiter, dass es in 2023 immer noch diese 100 Familien gibt. Damit aendert sich also nix an der Anzahl der neuen Links auf diesem Linklevel. Wenn diese 100 Seiten aber alle einen Link weniger haben (also insgesamt nur noch 900), dann erhaelt man eine Verschiebung in den totalen Links wie man die oben sehen kann.

Damit habe ich etliche von den alten Beitraegen „abgehandelt“. Beim naechsten Mal die linklevelabhaengigen Verteilungen der Selbstreferenzen und der Linkfrequenz.

Beim letzten Mal verwies ich auf einen aelteren Beitrag, der nicht nur die beim letzten Mal (mehr oder weniger) reproduzierten Reaktivierungen pro Linklevel zeigte, sondern auch zwei tolle bunte Bilder.

Im ersten bunten Bild untersuchte ich wie lange (in „Linkleveleinheiten“) es dauert von einer Reaktivierung der Selbstreferenzen bis zum naechsten „Ausstieg“. Dabei ist zu beachten, dass

[e]ine Kette an Selbstreferenzen […] mehrfach abbrechen und reaktiviert werden [kann].

Ich nannte das damals „Selbstreferenzenketten“ … und nenne das jetzt lieber „Reaktivierungslaenge“.

Aber damit war es noch nicht genug, denn die bunten Bilder sind (wie so oft) (Pseudo) 3D-„Karten“ … oder anders: Ich untersuchte eigentlich vielmehr die Haeufigkeit der Reaktivierungslaenge in Abhaengigkeit vom Linklevel … oder noch anders: ich erstellte fuer jedes Linkevel ein Histogramm der Reaktivierungslaengen. Damit ist hoffentlich (wieder) klar, was hier zu sehen ist:

Der wichtigste Unterschied zum damaligen bunten Bild (abgesehen davon, dass ich jetzt eine bessere Farbpalette benutze) ist, dass ich jetzt richtig an die Sache heran gehe. Deswegen sieht man jetzt auch bei LL1 was (waehrend ich das damals einfach abgeschnitten hatte, denn da war ja nix).

Ansonsten wuerde ich sagen, dass das im Groszen und Ganzen erfolgreich reproduziert ist. Im Detail wuerde ich aber sagen, dass in den 2023 Daten zwei Dinge anders sind. Es scheint weniger lange Reaktivierungslaengen zu geben. Das bezieht sich sowohl auf die Ordinate, als auch auf die Abszisse (deswegen zwei (!) Dinge die anders sind). Wobei „lang“ relativ ist, ich meine aber, dass es deutlich weniger dunkle Punkte weg von den helleren Bereichen gibt. Also weiter nach rechts, wenn man es bezogen auf die Ordinate betrachtet, und weiter nach oben, bezogen auf die Abszisse.
Mein Bauchgefuehl sagt mit, dass das ’n echter Effekt ist; weil wir hier aber sowieso schon mit nur wenigen „Ereignissen“ in den 2020 Daten anfangen, ist das vermutlich relativ schwer systematisch zu untersuchen. Allerdings kønnte man sich das mglw. „Ereigniss“ fuer „Ereigniss“ anschauen, denn man hat es ja mit nur sehr wenigen davon zu tun. Ich belasse das an der Stelle so wie’s ist und das das soll mal wer anders machen.

Das zweite bunte Bild damals zeigte die durchschnittlich hinzukommende Anzahl an Selbstreferenzen pro Reaktivierung. Dazu summierte ich zunaechst in jedem Datenpunkt die Summe aller in einer „Reaktivierungskette“ hinzukommenden Selbstreferenzen auf. Ja das ist ’ne doppelte Summe, zunaechst fuer jede Seite die Summer der hinzukommenden Selbstreferenzen (pro Reaktivierung) und dann die Summe ueber alle Seiten die zu einem gegebenen Datenpunkt beitragen. Wenn das fuer alle Seiten getan ist, wird Wert in jedem Datenpunkt durch die Anzahl der Seiten geteilt die beigetragen haben und das Resultat wurde nochmals durch die relevante Reaktivierungslaenge dividiert.

Ein Beispiel macht hoffentlich deutlicher was ich meine. Man denke sich, dass Seite A auf LL5 reaktiviert wird mit einer Reaktivierungslaenge von drei Linkleveln. Auf LL5 erhaelt Seite A sieben Selbstreferenzen, auf LL6 zwei und auf LL7 eine. Im Datenpunkt (LL5, Reaktivierungslaenge 3) speichere ich die Summe (7 + 2 + 1 = 10).
Seite B wird nun auch auf LL5 reaktiviert, aber mit einer Reaktivierungslaenge von nur einem Linklevel und Seite B erhaelt 23 zusaetzliche Selbstreferenzen durch die Reaktivierung. Im Datenpunkt (LL5, Reaktivierungslaenge 1) speichere ich diesen Werte (23).
Als Letztes dann Seite C, die auch auf LL5 reaktiviert wird, auch mit einer Reaktivierungslaenge von 3 Linkleveln; Seite C traegt also zum selben Datenpunkt bei wie Seite A. Seite C erhaelt auf LL5 dreizehn Selbstreferenzen, auf LL6 sechs und auf LL7 eine. Im Datenpunkt (LL5, Reaktivierungslaenge 3) befindet sich bereits die Zahl 10 und dazu wird jetzt die Summe der durch Seite C hinzukommenden Selbstreferenzen (13 + 6 + 1 = 20) addiert. Damit befindet sich danach in diesem Datenpunkt der Wert 10 + 20 = 30.
Das war der erste Schritt (der in Echt natuerlich fuer ca. 6 Millionen Seiten gemacht wurde).

Nun zur Division. Im Datenpunkt (LL5, Reaktivierungslaenge 3) befindet sich der Wert 30 und der wird zunaechst durch zwei geteilt (weil Seite A und Seite B) beigetragen haben. Das ergibt 15. Diese 15 wird abschlieszend durch die Reaktivierungslaenge (also drei) geteilt. Die durchschnittliche Anzahl an hinzukommenden Selbstreferenzen fuer Seiten die auf LL5 mit einer Reaktivierungslaenge von drei reaktiviert werden ist somit fuenf.
Zum Wert 23 im Datenpunkt (LL5, Reaktivierungslaenge 1) hat nur eine Seite beigetragen und weil die Reaktivierungslaenge nur eins ist, ist die Division das Einfachste von der Welt. Oder anders: die durchschnittliche Anzahl an hinzukommenden Selbstreferenzen fuer Seiten die auf LL5 mit einer Reaktivierungslaenge von eins reaktiviert werden ist dreiundzwanzig.

Im dazugehørigen bunten Bild aenderte sich deswegen „nur“ die Farbe der Punkte und die Bedeutung der Farbskala. Alles andere Dinge (Bedeutung der Abszisse und Ordinate und die Verteilung der Datenpunkte im Bild) blieb gleich.

Ich hatte das damals gemacht, weil ich vermutete, dass bei „hohen“ Reaktivierungen (bezogen sowohl auf das Linklevel, als auch auf die Reaktivierungslaenge … und „hoch“ ist (mit Absicht) relativ „diffus“ gemeint) die durchschnittliche Anzahl an hinzukommenden Selbstreferenzen (pro Reaktivierungslaenge) eins betraegt. Oder anders (an einem Beispiel): wenn eine Seite auf LL23 reaktiviert wird und bis LL65 die Selbstreferenzenkurve nicht wieder abgebrochen wird (das entspricht einer Reaktivierungslaenge von 42), dann vermutete ich, dass das eine zusammenhaenge „Kette“ von 42 Einsen war.

Diese Vermutung wurde damals im Wesentlichen bestaetigt und in den 2023 …

… aendert sich an dem Ergebnis nix.

(Fast) alle Unterschiede zum damaligen bunten Bild kommen durch die selben Mechanismen zustande wie bereits oben diskutiert.

Das „fast“ bezieht sich darauf, dass die Farbskala dieses Mal auch logarithmisch ist (waehrend sie beim letzten Mal linear war). Der Grund liegt in Ausreiszern, also Seiten die viele Selbstreferenzen (und mglw. lange Reaktivierungslaengen) haben, wo aber nur wenige Seiten (mitunter nur eine Einzige) zum Datenpunkt beitragen. Da reduziert die Division den Wert also nicht so stark wie bei den meisten anderen Datenpunkten.
In den 2023 Daten ist das Extrem die Seite „The“ (jup, nix weiter), die auf LL1 mit einer (re)aktiviert wird, mit einer (Re)aktivierungslaenge von 34 Linkleveln und die dann 374,173 Selbstreferenzen ansammelt. Diesen Wert bringt eine Division durch 34 auch nur runter auf ca. 11-tausend … was natuerlich bei einer linearen Skala alle anderen Punkte in den (dann schwarzen) Hintergrund draengen wuerde.

So … damit ist das Thema „Ausgaenge“ abgeschlossen und ich kann beim naechsten Mal endlich mit den ganz vielen Verteilungen weitermachen.

Uff … vor einer Weile war ich dabei die „Ausgangspositionen“ zu reproduzieren. Damals ging’s danach mit ganz vielen Verteilungen weiter. Ich denke aber, dass es sinnvoller ist das noch ein wenig hinten anzustellen und erst mal alles was ich sonst noch habe, was mehr oder weniger ins Thema „Ausgaenge“ passt, abzuhandeln. Dazu muss ich aber zeitlich etwas vorspringen, denn erst im Zuge meiner versuchten Simulation der Entwicklung der Selbstreferenzen von einem Linklevel zum naechsten, schnitt ich besagtes Thema damals wieder an; auf zwei verschiedene Weisen.

Die erste Weise war in Form der Abhaengigkeit der Anzahl der „Ausstiege“ in den Selbstreferenzkurven von der Anzahl der Selbstreferenzen an sich (pro Linklevel). Ich schaute mir das aber nicht fuer alle Linklevel an (recht schnell gibt’s da naemlich nix mehr zu holen … einfach weil’s bei hohen Linkleveln so wenige Selbstreferenzen gibt), sondern nur fuer ein paar beispielhaft Ausgewaehlte. Deswegen reproduziere ich hier auch nur drei der Beispiele:

Hier jibt’s auszer „Reproduktion jelungen“ nuescht zu sagen … wuerd ich mal sagen. Fein, dass das auch mal schnell geht.

Die zweite Weise war in der Form von „Reaktivierungen“. Kurze Wiederholung (zur „Reaktivierung“ des bereits Gelernten … hihi) Eine „Reaktivierung“ findet statt, wenn eine Kurve bereits auf einem niedrigen Linklevel ausgestiegen ist und dann auf einem høheren Linklevel doch nochmal einen Wert ungleich Null annimmt. Das kann nur bei den Selbstreferenzen passieren und die letzten zwei Beitraege wurden geschrieben, weil ich mir damals nicht bewusst war, dass das møglich ist (im Nachhinein haette ich mir das aber durchaus denken kønnen), was zu einem (schwerwiegenden) Fehler fuehrte.

Wenn ich jetzt nach den Reaktivierungen pro Linklevel schaue sei so viel gesagt, dass ich nach „Reaktivierungen“ (!) derart schaue, dass ein Wert bei einem gegebenen Linklevel UNgleich Null sein muss, aber beim direkt davor liegenden GLEICH Null. Das bedeutet, auf LL0 kann es keine Reaktivierungen geben. Das bedeutet auszerdem, dass das allererste Auftreten einer Selbstreferenz IMMER als „Reaktivierung“ detektiert wird, abgesehen von Seiten die auf LL0 eine Selbstreferenz haben (von denen gibt es aber nicht so viele). Das geht mehr oder weniger direkt in die Sache(n) hinein, die ich ausfuehrlich die letzten zwei Male diskutierte … was hier aber wenig zur Sache tut, denn man kønnte das einfach so interpretieren wie bei flachen Kurven: ein Wert von Null auf LL0 wird als erster „Ausgang“ gezaehlt und alles andere danach ist ’ne „Reaktivierung“ … deswegen geh ich da nicht weiter drauf ein.

Und das Ergebnis ist das hier:

Ja, das liegt in der Natur der Sache, dass das dem Diagramm der Selbstreferenzen“ausgaenge“ pro Linklvel sehr aehnlich sieht.
Auf den ersten und zweiten Blick wirken die 2020 Daten und die 2023 Daten ziemlich gleich und ich wuerde sagen, dass auch hier die Reproduktion gelungen ist. Aber beim dritten Blick finde ich’s schon interessant, dass bei Linkleveln ueber ca. LL40 die 2023 Daten systematisch ungefaehr ’ne Grøszenordnung unter den 2020 Daten liegen.
Wir sprechen hier aber von kleinen absoluten Zahlen. Wenn man bspw. sowieso schon nur 10 Seiten hatte die auf LL50 „reaktiviert“ wurden, dann muss da nicht viel passieren, damit die dort nicht mehr auftauchen.
Andererseits, scheint das (wie gesagt) systematisch zu sein und wer anders sollte das mglw. mal genauer untersuchen.

Huch … das ging auch schøn schnell … naja, ’nem geschenkten Gaul usw. … dann soll’s damit auch reichen reichen fuer heute.

Direkt an das letzte Mal (also ohne Wiederholungen) anknuepfend:

Super! Reproduziert … … … … … … … … … aber hmmmm … hier stimmt doch was nicht!

Am Anfang des letzten Artikels beschrieb ich die alte Vorwaertsmethode doch gar nicht mit „schaue wann der NAECHSTE Wert Null ist“ (auch wenn ich derart die damaligen Daten reproduzieren konnte; siehe das dritte Diagramm beim letzten Mal), sondern „schaue wo der ERSTE Wert Null ist“. Ich muss also die „wenn der Wert auf einem gegebenen Linklevel UNgleich Null ist“ Bedingung zu „wenn der Wert auf einem gegebenen Linklevel GLEICH Null ist“ modifizieren und NUR dies benutzen um nach „Ausgaengen“ zu suchen. Das sieht dann so aus:

Verdammt! Wenn ich das was ich sagte (und meinte) ordentlich implementiere, dann sieht das zwar von der Form aehnlich aus, aber liegt im Wesentlichen ueberall ([zum Teil sehr deutlich] mehr als) eine Grøszenordnung UNTER den Ergebnissen von damals (und damit auch unter den Ergebnissen der Rueckwaertsmethode).
Aber da stimmt immer noch was nicht … ich kønnte mich da zwar gewaltig taeuschen, aber ich kann mich nicht erinnern, dass ich damals „schau ob der NAECHSTE Wert Null ist“ implementiert hatte. Wie bin ich dann aber auf die Ergebnisse gekommen?
Ueber die Antwort stolperte ich in anderen Beitraegen (die ich vermutlich naechstes Mal versuchen werde zu reproduzieren) und die ist trivial — ich hab (unbewusst) geschummelt:

[…] die Skala fuer das Linklevel [geht] erst bei 2 los. Auf LL1 kann nix reaktiviert werden.

Oder anders: ich fange an „Ausgaenge“ erst ab LL1 zu suchen (anstatt bei LL0). Und wenn ich schummel, dann erhalte ich tatsaechlich die Ergebnisse wie damals (siehe das erwaehnte dritte Diagramm im vorhergehenden Beitrag). Das entspricht naemlich dem Algorithmus „schaue ob der NAECHSTE Wert Null ist“, angefangen bei LL0, denn dabei steht man zwar am Anfang auf LL0 schaut aber als allererstes auf LL1.

Oder noch anders: die urspruengliche (!), damals benutzte (?) Vorwaertsmethode war ueberhaupt nicht so wie ich die beschrieben hatte. Vielmehr implementiere ich das damals mit der UNZULAESSIGEN (!) Zusatzinformation, dass Selbstreferenzen ohnehin nicht vor LL1 losgehen kønnen. Das ist aus zwei Gruenden unzulaessig. Zum Einen gibt es durchaus Seiten die Selbstreferenzen auf LL0 haben (auch wenn ich das als Artefakte des Dateneinsammelns erkannt habe). Zum Zweiten macht das die Vorwaertsmethode nur fuer Selbstreferenzen (und nicht allgemein) brauchbar, denn alle anderen Grøszen von Interesse MUESSEN auf LL0 anfangen.

Und hier liegt der schwerwiegende Fehler. Ich habe urspruenglich eine Methode benutzt die zum Ersten nicht gut ist und nur (wie im Nachhinein erkannt) mit Zusatzannahmen ordentliche Ergebnisse liefert. Zum Zweiten bei richtiger Implementierung (also ohne Zusatzannahmen oder erweiterte oder modifizierte Bedingungen, also genau so wie ich die Methode beschrieben habe) Ergebnisse zur Folge hat, die etwas vøllig anderes liefern als das was ich eigtl. suche. Und zum Dritten erhielt ich damals nur deswegen irgendwie (?) richtige (?) Ergebnisse, weil ich durch „schummeln“, die Diskrepanzen des zweiten Punktes unbewusst und unerkannt, also aus Versehen, kompensiert habe.

DAS ist eine Art Fehler die wissenschaftliche Arbeiten fundamental zu Fall bringen.

Mich duenkt (bin mir aber nicht ganz sicher) ich erwaehnte das Folgende bereits an anderer Stelle. Im Wesentlichen kønnen alle Fehler in der Wissenschaft in zwei Kategorien eingeordnet werden.
1.: Berichtigungen,
2.: die Methode ist komplett falsch weil zugrundeliegende Annahmen oder Methoden Quatsch sind.

Berichtigungen sind OK und wichtig. Die kønnen auch die Methode kritisieren und kønnen flapsig als „man muss aber diesen Effekt auch beachten und dann korrigiert das Ergebniss 5 % nach unten“ bezeichnet werden. Rein vom „Rechnerischen“ kønnte man das bzgl. der Korrekturen an Newtons Vorhersagen durch Einsteins Gravitationstheorie sagen. Und rein vom Rechnerischen ist das auch OK und die Menschenhheit hat mittels Netwons Theorie Menschen auf den Mond gebracht. Aber …

… Newton meinte von seiner Gravitationstheorie, dass diese das Universum beschreibt, waehrend Einstein zeigte, dass die grundlegenden Annahmen Newtons, ein universales Koordinatensystem, auf das man von ueberall aus Bezug nehmen kann und instantan wirkende Kraefte, komplett ueberhaupt nicht der Realitaet entsprechen. Newtons Theorie geht von so falschen Annahmen aus, dass Einstein die Theorie komplett zu Fall gebracht hat.
Newtons Theorie funktioniert verdammt gut fuer alles was uns im normalen Leben interessiert, denn da sind seine Annahmen zwar (auch) nicht realisiert, aber weil nur kleine Gravitationsfelder und Geschwindigkeiten vorliegen ist das nicht so schlimm und es fuehrt nur zu winzigkleinen Fehlern, wenn man so tut als ob sie realisiert sind. Das fuehrt aber NICHT dazu, dass Einsteins Gravitationstheorie nur zu einer Berichtigung wird, denn selbst bei kleinen Gravitationsfeldern und Geschwindigkeiten beschreibt Newtons Theorie das Universums nicht wirklich, denn Newtons Theorie laeszt bspw. Gravitationswellen nicht zu.

Und der Punkt bleibt selbst dann bestehen, wenn aus Newtons Theorie die „richtigen Zahlen rausfallen“. Ein anderes Beispiel was meinen Punkt mglw. etwas besser illustriert sind „KI“ Chatbots. Wir sind laengst nicht mehr in der Lage die von echten Menschen zu unterscheiden (wenn wir es nict vorher wissen). Oder anders: es „fallen die richtigen Zahlen“ bei einem Gespraech mit denen raus. Das macht solche „KI“ Chatbots noch laengst nicht zu Menschen. Auch dann nicht, wenn sie in Roboter installiert werden, die aueszerlich nicht von Menschen unterschieden werden kønnen (wenn „die Zahlen“ also noch „richtiger“ werden). Und das Argument bleibt auch dann bestehen, wenn man die Anfuehrungszeichen weg laeszt und man irgendwann echte Intelligenzen (nur eben auf Silizium basierend) hat, denen man dann meiner Meinung nach sogar Persønlichkeitsrechte einraeumen muss … das sind immer noch keine Menschen … selbst dann nicht wenn wir sie wie Menschen behandeln (siehe bspw. der Film Her … „die Zahlen“ als noch „richtiger richtiger“ werden) … es sei denn natuerlich, wir veraendern die Definition von „Mensch“ (und damit die zugrundliegende Theorie) fundamental.

Und wer mir jetzt mit „Aber aber aber! Newton ist richtig, denn wir bauen damit doch Bruecken und bringen Menschen auf den Mond und ich soll mal bitte nicht so’n Erbsenzaehler sein“ kommt, den verweise ich auf Aristoteles. Denn der hat gesagt, dass jeder bewegte Gegenstand AUTOMATISCH zur Ruhe kommt, wenn man den in Ruhe laeszt. DAS beschreibt die Welt um mich herum, wie ich sie den ganzen Tag sehe und erlebe, VIEL besser als Newtons erstes Gesetz. Deswegen war es DIE akzeptierte Wahrheit bzgl. dessen wie die Welt funktioniert fuer Jahrtausende. Als Newton formulierte, dass dem NICHT so ist, war es damals auch direkt als Widerlegung von Aristoteles gemeint. Und wer mir so kommt, møge mir bitte detailliert darlegen, warum er das auf Newton, aber nicht auf Aristoteles bezieht … Aber ich schwoff ab.

Oder anders: „KI“ Chatbots als Menschen zu behandeln, oder mit Netwons Gravitationstheorie (bisher ausschlieszlich) Maenner auf den Mond zu bringen, reproduziert zwar was wir messen, es beschreibt aber nicht das Universum.

Und deswegen hab ich das beim letzten Mal (und hier) alles so detailliert ausgebreitet. Auf den ersten Blick sieht’s so aus als ob die zwei Methoden um „Ausgaenge“ zu finden nicht viel anders sind und alle Unterschiede in den Ergebnissen natuerlich erklaert werden kønnen. Als ich aber genauer hinschaute erkannte ich, dass eine ordentliche Implementierung der urpsruenglich diskutierten Vorwaertsmethode eigentlich vøllig andere Ergebnisse zur Folge hat und das damals nur durch weitere, nicht erkannte, Fehler (bzw. unzulaessige Zusatzannahmen) kompensiert wurde.

Und DAS ist ein schwerwiegender Fehler der zweiten Art und ich kann hier eigentlich nur sagen: Reproduktion NICHT geglueckt.

Solche Fehler passieren und das ist auch erstmal nix Schlimmes. Es ist durchaus auch ein Zeichen von Fortschritt, denn ein Fehler wird ja erst dann zum Fehler wenn man den als solchen erkennt (vorher ist’s einfach nur richtig und die Wahrheit). In der Wissenschaft sollte man das dann halt nur eingestehen und genau diskutieren um zu erkennen was falsch gemacht wurde, damit man aehnliche Fehler an anderer Stelle nicht wiederholt.

So, nun hab ich alles gesagt, was ich sagen wollte un kann mit ruhigem Gewissen beim naechsten Mal endlich die naechste Reproduzierung angehen.

Letztes Mal reproduzierte ich die „Aussteiger“. Dabei benutzte ich aber eine etwas andere Herangehensweise als damals. Ich erwaehnte nur kurz, dass die damalige Herangehensweise etwas „haarig“ war in Bezug auf Selbstreferenzen, da die entsprechenden Kurven nicht nur und ausschlieszlich am Ende des (seitenabhaengigen) Linknetzwerks „aussteigen“, sondern das auch schon auf fruehen Linkleveln tun kønnen … um dann u.U. auch wieder „reaktiviert“ zu werden auf nachfolgenden Linkleveln.
Wieauchimmer, da beide Herangehsenweisen zur Ermittling der „Aussteiger“ bei den anderen Grøszen von Interesse zum selben Ergebnis fuehren, und auch das Diagramm der Selbstreferenzen auf den ersten Blick nicht all zu unterschiedlich war, habe ich mich darum zunaechst gar nicht weiter gekuemmert und nur mit …

[d]eswegen sind die roten Balken im linke[n] Diagramm hier nicht identisch zum damaligen Diagramm

… kommentiert.

Natuerlich hat mir das keine Ruhe gelassen, und ich wollte schauen wie grosz die Diskrepanz ist. … … … Und ach du Schreck! … da hab ich ja einen wirklich ernstzunehmenden Fehler gemacht.
Aber der Reihe nach und heute nur mit den 2020 Daten denn hier muss nix in dem Sinne reproduziert werden, denn ich will ja den Fehler diskutieren.

Zur Erinnerung: die neue Herangehensweise findet den „Ausgang“ derart, dass vom Ende einer Kurve, in Richtung Anfang gehend, geschaut wird, bei welchem Linklevel der Wert der Kurve zum ersten Mal UNgleich Null ist. Die damalige Herangehensweise hingegen schaute vom Anfang einer Kurve, in Richtung Ende gehend, bei welchem Linklevel der Wert der Kurve zum ersten Mal GLEICH Null wird.
Wie gesagt, ist das, von den Selbstreferenzen abgesehen, kein Problem, da alle anderen Grøszen von Interesse „durchgehende“ Kurven haben und beide Methoden das selbe Ergebnis liefern. Aber es geht ja um genau diese Selbstreferenzen.

Hier sieht man den Unterschied der Aussteiger-per-Linklevel-Kurven-der-Selbstreferenzen wenn man das wie damals macht (schwarze Punkte, vorwaerts nach der erste Null suchend) bzw. besser (rote Quadrate, rueckwaerts nach dem ersten Wert der ungleich Null ist suchend):

Achtung: Damals hatte ich das Linklevel beim dem zum ersten Mal null Selbstreferenzen auftreten als „Ausgang“ deklariert, waehrend es nach der neuen Methode das Linklevel direkt davor ist was ja noch einen Wert ungleich null hat. Die Punkte von damals wurden dahingehend um ein Linklevel nach Links verschoben; das gilt auch fuer alle folgenden Diagramme.

Das scheint anfangs qualitativ (!) recht gut uebereinzustimmen (davon abgesehen, dass ich damals „flache“ Kurven nicht extra bedacht hatte). Quantitativ gibt’s zwar zum Teil zahlentechnisch grosze Unterschiede die man wg. der logarithmischen Skala (fast) nicht wahr nimmt, das ist aber nicht so wichtig, denn alles was ’n Unterschied von ’nem Faktor weniger als ’ne Grøszenordnung hat ist schon OK.
Was mich zu Werten ueber LL10 bringt; denn ab dort erhaelt man mit der (neuen) Rueckwaertsmethode ca. ’ne Grøszenordnung mehr „Ausgaenge“ als mit der (alten) Vorwaertsmethode.

Aber das ist NICHT der schwerwiegende Fehler, denn das ist erklaerbar mittels „Reaktivierungen“. Es passiert dass eine Kurve die schon „ausgestiegen“ ist, auf einem høheren Linklevel „reaktiviert“ wird. Das ist dann meistens nur das eine einzige Linklevel (oder vllt. auch mal zwei oder drei), auf dem pløtzlich nochmal eine Selbstreferenz auftaucht. Das fuehrt dann natuerlich zu einem weiteren „Ausgang“ (es ist halt nur nicht der erste „Ausgang“ fuer eine gegebene Kurve) der von der Rueckwaertsmethode erkannt wird, wenn es denn der Letzte ist.
Damit die Vorwaertsmethode so weit hinten einen „Ausgang“ registriert, muss die entsprechende Kurve ohne Unterbrechung mindestens eine Selbstreferenz auf jedem Linklevel bis dorthin gehabt haben. Eine so lange ununterbroche Kette von Selbstreferenzen zu haben hat natuerlich eine sehr kleine Wahrscheinlichkeit, weswegen die Vorwaertsmethode bspw. auf LL35 nur einen „Ausgang“ registriert, waehrend die Rueckwaertsmethode 45 „Ausgaenge“ aufspuert (wovon der eine von der Vorwaertsmethode darunter ist).
In anderen Worten: die Diskrepanz hat eine Erklaerung die aus der Natur der unterschiedlichen Methoden kommt, und insb. weil es sich hierbei um eher kleine absolute Zahlen handelt, macht mich der Unterschied nicht wirklich stutzig.

Nun arbeite ich aber an der Reproduzierbarkeit und da ist’s kontraproduktiv die Methode zu aendern (auch wenn es die bessere Methode ist). Das wurmte mich und deswegen setzte ich mich ran und hackte kurz die Vorwaertsmethode zusammen. Weil ich gute Vorarbeit geleistet habe ging das recht fix. … … … Und hier ging der „Aerger“ los.

Alles fing damit an, dass ich mittlerweile von „flachen“ Kurven (also solchen die keine einzige Selbstreferenz haben) gelernt hatte. Damals hatte ich die ueberhaupt nicht beachtet. Nun wollte ich die aber mit unterbringen. Deswegen muss ich nochmal kurz auf die Rueckwaertsmethode zu sprechen kommen und erklaeren warum die der Vorwaertsmethode ueberlegen (und vorzuziehen) ist um die „Ausgaenge“ zu bestimmen.

Es gibt bei der Rueckwaerrtsmethode nur zwei Bedingungen und alles andere folgt zwingend aus denen. Erstens: geh rueckwaerts, Zweitens: der erste Wert ungleich Null ist der Ausgang. Simpler als das geht’s nicht. Und wenn man mal nachdenkt ist die erste Bedingung keine richtige Bedingung denn man kann eine Dynamik nicht erforschen, wenn man sich nicht bewegt; man braucht also zwingend eine „Bewegungsrichtung“. Wichtig ist nur zu wissen, wann man stoppen muss (wann man also das gefunden hat wonach man sucht). Ich sage jetzt also mal, dass es nur EINE Bedingung gibt … einfacher geht’s nicht.
Man sieht leicht, dass da automatisch der „wahre Ausgang“ rausfaellt, denn bei der Rueckwaertsmethode muss man sich nicht drum kuemmern ob eine Kurve mehrere vorherige „Ausgaenge“ hat und dann nochmal „reaktiviert“ wird. Auszerdem folgt automatisch dass eine Kurve flach ist wenn man bis LL0 kommt und kein einziger Wert ueber Null liegt.

Nun zurueck zur Vorwaertsmethode; im Namen liegt bereits die „Bewegungsrichtung“, womit das gegessen ist. Oben schrieb ich, dass ich schaute, wann der erste Wert Null wird als „Ausgangsbedingung“. Das alleine ist zunaechst eine genauso simple Regel aehnlich bei der Rueckwaertsmethode. Die ist aber leider nur notwendig und nicht hinreichend. Insb. dann wenn man flache Kurven unterscheiden will, denn bei denen liegt ja bereits auf LL0 der Wert Null vor … ich kann aber nicht entscheiden ob eine Kurve flach ist, ohne durch alle Linklevel durchgegangen zu sein.
Deswegen muss man eine zweite Bedingung anfuehren und die Erste etwas modifizieren: ein „Ausgang“ liegt vor, wenn der Wert auf einem gegebenen Linklevel UNgleich Null und der Wert auf dem naechsten (!) Linklevel GLEICH Null ist. Kommt man am Ende aller Linklevel an und beide Bedinungen lagen nie gleichzeitig vor, hat man (automatisch) eine flache Kurve (fuer die die „gleich Null“ Bedingung ueberall gilt).

Damit erhaelt man dieses Diagramm:

Das sieht auf den ersten Blick ganz gut aus. Es gibt ein rotes Quadrat bei LLminus 1 fuer die flachen Kurven und deswegen stimmen die Werte bei LL0 nicht ueberein (denn frueher hatte ich beides in LL0 zusammengefasst). Das ist also OK … Aber Moment mal! Wieso findet die neue Vorwaertsmethode einen Wert bei LL27 (und ein paar anderen Linkleveln) die alte aber nicht? Und ueberhaupt scheinen die schwarzen Punkte und Quadrate etwas gegeneinander verschoben zu sein! (Das sieht man bei linearer Ordinate deutlich deutlicher). Beides sollte nicht vorkommen, ich muss hier also was „falsch“ machen … Hinweis: ich habe damals was (maechtig) falsch gemacht.

Also suchte ich nach dem alten Code … und konnte den nicht finden. Ich bin mir ziemlich sicher, dass der irgendwo ist, aber der alte Code ist so ein Saustall (was ja die Motivation fuer den Reproduktionsteil des ganzen Projekts ist, weil ich eben auch den Code ordentlich machen wollte, damit ich das publizieren kann), dass ich den entsprechenden Teil nicht mittels Schlagwortsuche gefunden hab und ich wollte nicht durch mehrere tausend Linien Code lesen. Auszerdem gibt es eine gewisse Wahrscheinlichkeit, dass ich den tatsaechlich geløscht habe … das liegt an einer gewissen Eigenheit meines Modus Operandi, aber da geh ich jetzt nicht naeher drauf ein.

Also ueberlegte ich was ich damals gemacht haben kønnte und zum Glueck war mein (neuer) Code jetzt „gut sortiert“ und mittels nur einer winzigen Aenderung konnte ich die „Wert auf einem gegebenen Linklevel muss UNgleich Null“-Bedingung rausschmeiszen … denn an die hatte ich damals ja gar nicht gedacht. Es bleibt also nur „Wert auf dem naechsten Linklevel muss GLEICH Null sein“ uebrig. Und siehe da …

… das passt … Hurra! Also auszer von den Werten bei LLminus 1 und LL0 abgesehen, aber die stimmen in der Summe mit dem alten Wert bei LL0 ueberein. Super! Reproduziert … … … … … … … … … aber hmmmm … hier stimmt doch was nicht! … … … Der Beitrag ist nur jetzt schon so lang, sodass ich den Rest der Diskussion auf’s naechste Mal verschiebe.