Archive for Juni, 2021

Ich habe mich entschieden mich mal wieder in die Leere und an den Rand der Galaxis zu begeben. Wie man auf der hier gezeigten Karte sieht, war ich noch nicht am Ende des Perseus Arms. Dafuer werde ich wieder zu meiner Kassiopeia wechseln. Aber bevor es los geht hier noch zwei schick anzuschauende Rekordhalter aus dem naeheren Umfeld der Bubble, welche ich mit meiner Frigg besuchte.

Der Class V gas giant BD+20 2457 1

… und der Class IV gas giant BD+20 2457 2:

Beide Planeten sind in Periapsis die jeweils schnellsten Planeten dieses Typs. Der Erste mit einer Geschwindigkeit von 114,312,781.67491636 m/s und der Zweite mit einer Geschwindigkeit von 123,944,491.31743304 m/s. Letzterer Wert ist ebenso am schnellsten (in Periapsis) von ALLEN bisher gefundenen Planeten.

Da wunderte ich mich, ob der Orbit sehr lang gestreckt ist … dem war aber nicht so. Also schaute ich mir mal die Periode des Orbits an und die betraegt nur 0.2 Tage! Bei einer groszen Halbachse von ca. 2 au wunderte ich mich dann nicht mehr, dass die beiden so um ihren Stern flitzen.

Waehrend dieser Entdeckungsfahrt in und um die Bubble fing ich an meine Frigg richtig gut zu leiden. Hauptsaechlich wegen des Ausblicks. Der Imperial Courier ist aber leider nicht wirklich gebaut fuer schnelles voran kommen bei laengeren Touren. Frigg’s Sprungreichweite ist dafuer zu kurz und dass ich nur einen „Trichter“ der Grøsze drei einbauen kann um Treibstoff an Sternen aufzufuellen, verlangsamt das Reisen nochmals. Das ist dann auch der Hauptgrund, dass ich wieder auf Kassiopeia umsattel. Ein anderer Grund ist, dass es komisch waere, wenn ich NICHT Kassiopeia dafuer nehmen wuerde. Never change a winning team … und wir zwei und die Leere … das gehørt einfach zusammen.

Die letzten Beitraege in dieser Reihe und die folgenden waren/werden relativ technisch und gingen/gehen sehr ins Detail. Normalerweise wuerde ich nicht so sehr ins Detail gehen, wie ich die Daten fuer eine Analyse aufbereite und hantiere. Dieses Mal ist das anders, weil daran die Durchfuehrbarkeit des kompletten Projekts haengt. Hinzu kommt, dass dies insgesamt ein schønes Beispiel ist, wie aus einer komplexen „das geht ueberhaupt nicht“-Problemstellung  eine „das kønnte tatsaechlich was werden“-Løsung wird.
Aber der Reihe nach.

Aus den Rohdaten ziehe ich (ohne Bearbeitung) ca. 21 Millionen Titel in denen ca. 328 Millionen Links vorkommen. Man kann sich das also leicht vorstellen, dass selbst ein moderner Computer ein bisschen Zeit braucht um fuer nur _eine_ Wikipediaseite das komplette Netzwerk zu erforschen.
Fuer die Ueberlegungen wieviel Zeit das braucht, kann man leider nicht wirklich die Taktfrequenz des Prozessors nehmen. Denn die sagt nur aus, wie schnell der ein Bit „bearbeitet“ (im uebertragenen Sinne). Eine menschliche Anweisung sind aber viele interne Anweisungen und benøtigen viele Prozessorzyklen. Bspw. 1 + 1 = 2 ist im Prozessor: lies Inhalt an Speicherplatz A, lies Inhalt an Speicherplatz B, addiere die Werte, schreibe zu Speicherplatz C das Resultat, gib das ganze auf dem Schirm aus. Und DAS ist auch wieder nur eine vereinfachte Darstellung und besteht an und fuer sich wieder aus mehreren internen Schritten.

Eine Ueberschlagsrechnung was zu erwarten ist, kann man dennoch durchfuehren und das ist mglw. deutlich anschaulicher als abstrakte Instruktionen im Prozessor.
Die Rohdaten beinhalten ca 1,2 Milliarden Zeilen mit Text. Die Verarbeitung einer Zeile beinhaltet (ganz grob) das Lesen der Zeile, die Verarbeitung der Information und Entscheidungen ob da Zeug drin ist was ich haben will oder nicht. Ein Durchgang durch die kompletten Rohdaten benøtigt ca. 6000 Sekunden. Das bedeutet, dass das Pythonprogram ca. 200,000 Zeilen pro Sekunde verarbeiten kann.
Auch wenn die Erforschung des Linknetzwerks eine ganz andere Aufgabe ist, so ist der „Rechenaufwand“ sicherlich aehnlich und der folgende Vergleich ist durchaus aussagekraeftig.
Ich nehme also an, dass ich 200,000 Links pro Sekunde „verfolgen“ kann. Mit den oben erwaehnten 328 Millionen Links bedeutet dies, dass die Erforschung des Linknetzwerks nur EINER Seite ca. 1600 Sekunden dauert. Bei 21 Millionen Wikipediaseiten sind das dann fast 1100 Jahren die die komplette Analyse braucht.

Nun gebe ich zu, dass der Vergleich nicht ganz ok ist. Denn Input/Output (vulgo: lesen und schreiben auf die Festplatte/den Bildschirm) gehøren zu den Sachen die am laengsten bei der Datenverarbeitung dauern. Dies illustriert im Uebrigen auch sehr schøn, warum ich so darauf rumhacke, dass ich alles in den Arbeitsspeicher bekomme. Eben damit ich genau diesen „Flaschenhals“ vermeiden kann.
Nehmen wir also an, dass alles im Arbeitsspeicher ist und damit die Rechenzeit nur 1/100 betraegt (was schon in der richtigen Grøszenordnung liegt). Dann dauert die gesamte Analyse immer noch fast elf Jahre. Diese elf Jahre muss der Rechner durchgehend laufen.
Nehmen wir nun weiter an, dass nur ein Viertel der Webseiten analysiert werden muss (ca. 6 Millionen) und insgesamt nur 200 Millionen Links darin verlinkt sind. Dann braucht die Analyse des Linknetzwerks einer Webseite nur 10 Sekunden (wenn alles im Arbeitsspeicher ist) und alles kann in zwei Jahren fertig sein.

Zwei Jahre? DAS ist ein realistischer Zeitrahmen! Und wenn ich den Code optimiere und das auf mehreren Rechnern laufen lasse, dann brauche ich noch weniger Zeit.

So, nun wisst ihr, meine lieben Leserinnen und Leser beide Hauptgruende warum mir so sehr am Verstaendnis der Daten liegt. Die Menge der zu verarbeitenden Daten entscheidet darueber ob das Projekt durchfuehrbar ist oder nicht. Und den ganzen irrelevanten Kram muss ich auch deswegen rausbekommen, damit mir das nicht die Ergebnisse verfaelscht (das erwaehnte ich beim letzten Mal).

Die Erwaehnung irrelevanten Krams bringt mich nun endlich zu dem worueber ich eigentlich Schreiben wollte: Umleitungen … oder auf englisch: redirects.

Umleitungen sind (beinahe) unsichtbar. Nehmen wir als Beispiel wieder Sprevane vom letzten Mal. Das kann man in der Wikipediasuche auch mit einem „w“ anstelle eines „v“ schreiben. Man landet dennoch direkt bei der Seite die ich verlinkt habe. Wenn man auf diese Art und Weise dort hingelangt, dann sieht man zusaetzlich:

Drueckt man dort dann auf den Link, landet man hier

… und erfaehrt, warum man nicht dort sondern bei der Seite mit der anderen Schreibweise gelandet ist. Dies passiert alles intern und der Nutzer bekommt davon (fast) nix mit. Umleitungen sind somit nicht Teil des Weltwissens, wenn dieses denn (auf der Wikipedia) besprochen wird. Im Quellcode existieren diese natuerlich trotzdem, denn auch wenn das intern geschieht, so muss das ja doch irgendwo stehen, damit die Maschine weisz, was sie intern machen muss.

Das ist aber gut, denn es bedeutet, dass ich alle Titel die eine Umleitung sind entfernen kann. Damit fallen dann auch alle Links weg die auf diesen Umleitungsseiten stehen.
Es ist aber natuerlich zu beachten, dass ich bei den verbleibenden Links dann auch alle Umleitungsseiten mit den richtigen „Zielen“ ersetzen muss.

Umleitungen sind im Quellcode auch leicht zu erkennen, denn diese haben eine spezielle Markierung. Gut wa! Da kann ich also die Umleitungen unabhaengig von den anderen Sachen einsammeln.

Normalerweise gibt es auf der Umleitungsseite nur einen Link; den zur richtigen Seite. Manchmal steht da aber auch mehr. Nehmen wir als Beispiel Abdul Alhazred. Dort gibt es (verstaendlicherweise) diese beim letzten Mal erwaehnten Abschnitte nicht, welche als Markierung dienen um das Einsammeln von Daten am Ende einer Seite zu unterbinden.
Deswegen sammle ich die Links in der Box …

… auch mit ein. Das war unerwartet aber gut, denn es machte mich auf eine andere Sache aufmerksam die ich nicht brauche: Categories … oder allgemeiner: interne Wikipediaseiten. Dazu aber mehr beim naechsten Mal.

Insgesamt gibt es 9,385,391 Seiten in der Wikipedia die Umleitungen sind … o.O … das ist jetzt _deutlich_ mehr als ich erwartet habe. Das ist aber voll toll, denn dadurch reduziert sich die Anzahl der zu untersuchenden Wikipediaseiten auf 11,435,116 welche 267,204,162 Links beinhalten. Supergut!
Ach ja, verfolgt man meine genauen Zahlenangaben, dann sieht man, dass ich 23 Seiten zu viel habe (unter der Annahme, dass ich alle Umleitungen løsche). Das ist jetzt zwar doof, aber der Fehler ist so klein, dass ich das nicht weiter verfolgt habe. Die Wikipedia ist von Menschen gemacht und da erwarte ich (Schreib)Fehler.

Die Grøsze der Daten in Textform reduziert sich von 6.0 GB auf nur 5.6 GB und die Grøsze der strukturierten Daten geht runter auf 8.2 GB (von vormals 8.9 GB).

Waehrend ich mich darum kuemmerte, stolperte ich darueber, dass es im Quellcode Kommentare gibt und dass diese auch Links beinhalten kønnen … *seufz* menschengemachte Daten *doppelseufz* …
Kommentare haben zum Glueck auch eine Markierung im Quelltext und somit ist es relativ einfach die herauszufiltern. Mit nur 1363 Links die deswegen wegfallen handelt es sich dabei aber (unerwarteterweise) um kein groszes Problem. Die Anzahl der Titel veraendert sich dadurch natuerlich nicht und bei nur so ein paar weniger Links aendert sich auch die Grøsze der Daten nicht wirklich.

Aber genug fuer heute. Beim naechsten Mal mehr :) .

[…] understanding the surrounding scenes is not merely a task of image classification or object recognition. To perform actual tasks, it is critical for the robot to have a functional understanding of the visual scene.

Dieses Zitat ist aus dem Artikel „What can i do around here? Deep functional scene understanding for cognitive robots“ (*hust*) von Ye, C. et al. in 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 2017, pp. 4604–4611.

Diese beiden Aussagen druecken das aus, was die meisten Menschen vom Potential der Roboter halten. Mich duenkt insbesondere diejenigen, die von sich denken, dass sie informiert waeren.
Oder anders: „Jaja, Bilderkennung geht ja mittlerweile doch schon manchmal, aber das ist nicht relevant … und schon gar nicht fuer mich persønlich (!) … denn wenn das Bild nur ein bisschen anders ist, dann wird das Buttermesser als Elefant kategorisiert und mit ’nem Elefanten kann man kein Brot schmieren.“
Und das stimmt. Das ist ein ganz groszes Problem, wenn immer mehr Aufgaben von Robotern uebernommen werden. Ein Butterbrot illustriert die Schwere dieses Problems nicht, aber Geschichten davon, dass man bspw. keinen Kredit bekommt, weil man im falschen Stadtteil wohnt, oder dass man als potentieller Krimineller eingestuft wird, blosz weil man die falsche Hautfarbe hat, sind ja bekannt. Auch DIES ist nicht falsch zu verstehen, denn solche Sachen passierten lange bevor es Computer gab und passieren auch heute noch, selbst wenn keine Computer in den Entscheidungen involviert sind.
Worauf ich hinaus will, ich gebe den Kritikern durchaus recht. Gleichzeitig meine ich aber auch, dass dies eine Kopf-in-den-Sand-Methode ist. Die Menschheit arbeitet an diesem harten Problem und im oben zitierten Artikel sind die Autoren schon ein gutes Stueck voran gekommen.

Dort werden Kuechen als komplexe und interaktive Szenen genommen. Ein Beispiel fuer funktionelles Verstehen ist

[…] a round knoblike object indicates that an action of spherical grasping and perhaps turning could be applied to it […].

Und als Menschen erkennen wir …

[…] such functional areas in our daily environments with vision, so we can perform different actions and tasks.

Da muss man erstmal drauf kommen. Hørt sich leicht an, aber wir machen das ueberhaupt nicht bewusst. Wo ist der Unterschied zwischen einer Schuessel und einer Bratpfanne? Ist das Øffnen der Mikrowelle in der selben Aktionskategorie wie das Øffnen des Besteckfachs? Warum ist mein Gehirn ueberhaupt nicht damit beschaeftigt das auseinander zu klamuesern sondern macht das einfach? Nun ja, streng genommen klamuesert mein Gehirn das auseinander, aber das geschieht eben automatisch und unterbewusst nachdem wir das gelernt haben.

Und die Autoren des Artikels haben sich daran gemacht und versucht einem Computer beizubringen unterschiedliche Objekte in einer Kueche funktional zu erkennen.

Ihr bestes Modell hat Zeug zwar in nur ca. 32 % aller Faelle den richtigen Kategorien zuordnen kønnen, aber bei der Vielzahl von verschiedenen Aktionskategorien in einer Kueche, finde ich das schon bemerkenswert. So bemerkenswert, dass ich besagte Kopf-in-den-Sand-Strategie fuer all zu gefaehrlich halte. Natuerlich sind Resultate wie …

[…] a bulb […] is recognized as a “spherical grasp to open” functional area […]

… eine Bestaetigung genau dessen was ich oben schrieb. Aber wenn man bedenkt, dass …

[…] the bulb [was] not labeled with any specific functionality in the training data

… dann ist das kein Fehlschlag, sondern ein Erfolg! Genauso wie Kinder die Sandkuchen essen kein Fehlschlag sind, sondern nur eine von der Evolution als (meistens) erfolgreich erkannte und erprobte Strategie anwenden um zu lernen. Und trotz des Fehlschlags (Sand ist schlieszlich objektiv nicht essbar) erlauben wir den jungen Menschen nach ein paar Jahren Kuechenchef zu werden, Auto zu fahren oder neuen jungen Menschen Dinge beizubringen.

Und auf der Stufe sind (trainierte) Computer — Kleinkinder … und die werden auch mal grosz und kønnen dann alles was auch wir kønnen. Toll wa!

Pru Euq IQ-U c4-2 AB 1 ist etwas Besonderes, denn dieser Gas giant with ammonia-based life haelt den Rekord fuer den grøszten orbitalen Umfang mit 143,720,526,434,355.78 m. An und fuer sich ist das nix Besonderes. Aber dieses Mal folgt dieser Rekord NICHT mit dem Rekord fuer die laengste Halbachse. DAS ist eine (sehr) seltene (Nicht-)Kombination. Sicher, die Laenge der Halbachse ist fast (aber nicht ganz) so lang wie die Rekordhalbachse fuer Planeten dieses Typs. Aber erst eine etwas andere Exzentrizitaet des Orbits macht diesen Rekord hier møglich. Mathematik, verewigt in der Himmelsmechanik … Toll wa!

Dieses Bild vom Rekordhalter …

… zeigt auch, dass all die Schønheit der Dunkelheit eigentlich nur in Verbindung mit (etwas) Licht wirklich zur Geltung kommt. Hier ist es das Licht (fast) der gesamten Galaxis. Und die blauen Punkte im Vordergrund … das ist meine Frigg.

Ueber „Das Kapital“ habe ich bereits mehrfach geschwaermt. Eine (eigentlich ueberhaupt nicht wichtige) Sache die ich noch zeigen wollte sind die vielen Titelseiten.

Bereits vor laengerer Zeit stellte ich die „Auszenhuelle“ meiner Ausgabe vor:

Aber innerhalb eines Buches kommt ja dann oft eine schøn aufgemachte Version. Das ist diese hier ist so eine:

Ich bitte den Gelbstich zu ignorieren. Das ist mein Kuechenlicht.
Besonders erwaehnenswert ist der historische Hinweis ganz oben. Bald weisz keiner mehr, welche Relevanz diese drei dort erwaehnten Organisationen mal hatten. Ach Mensch, _ich_ weisz das ja schon nicht mal mehr.

Gleich danach folgt die eigene Titelseite des ersten Buchs:

Und im Vorwort wird das Titelblatt der Erstausgabe gezeigt:

Abgerundet wird das Ganze mit dem Titelblatt der ersten Ausgabe der russischen Version:

Das ist jetzt zwar nichts super Besonderes, aber ich fand es erwaehnenswert

Eine ganz andere Art von Dunkelheit wird durch Y (Brown dwarf) Stars praesentiert. Hier ist BD+52 262B mit einer absoluten Helligkeit von gar winziglichen 29.59259 (!!!):

Das macht diesen ganz spezifischen Stern zum dunkelsten aller Sterne dieses Typs.

Ueberhaupt! Y Sterne sind voll interessant. Einige sind so kalt, dass man bei einer Temperatur um ca. 300 K darauf „rumlaufen“ kønnte. Das interssante ist, dass man diese Himmelskørper trotzdem „Sterne“ nennt. Dies verdeutlicht, dass dieser Begriff wenig mit „Strahlkraft“ an sich zu tun hat, sondern wie solche Massenansammlungen entstehen (waehrend des Kollaps einer Gaswolke). Und solch kalte Sterne gibt es sogar in der Naehe des Ursprungssystems. Cool wa … tihihi … im wahrsten Sinne des Wortes.

Beim letzten Mal bin ich einen groszen Teil der fuer die Bearbeitung der Problemstellung irrelevanten Information losgeworden. Anstatt die kompletten Texte der Wikipedia in die Betrachtungen einzubeziehen habe ich nur alle Titel und die dazugehørigen Links aus den Daten herausgezogen. Es stellte sich dann heraus, dass das immer noch eine zu grosze Datenmenge war um die zu bearbeiten. Auszerdem stimmte die Anzahl der Wikipediatitel mit fast 21 Millionen nicht ueberein mit den offiziellen ca. 6 Millionen.

Letzteres machte mich stutzig und ich schaute mir die verbliebenen Daten mal genauer an. Als allererstes vielen mir zwei Dinge auf. Vor dem eigentlichen Titel gibt es im Code jeder Wikipedia noch mehr „Steuerelemente“. Dort kønnen prinzipiell auch Links auftauchen. Ebenso muss nach dem Titel nicht direkt der Text der eigentlichen Seite anfangen. Und in diesem Teil kønnen prinzipiell auch Links auftauchen.
Dieses Problem war einfach zu løsen denn das eigentliche Textfeld beginnt immer mit diesem Steuerelement:

<text bytes=

Da konnte ich also einfach sagen, dass Links erst dann aufgenommen werden sollen, wenn diese Markierung passiert ist.

Die zweite Sache die mir auffiel war … mhm … schwerwiegender und weniger einfach zu løsen. Als Beispiel soll der Artikel ueber die Sprevane dienen. Ganz am Ende, nach dem eigentlichen Artikel findet sich diese weiterfuehrende Infobox:

Solche Infoboxen gibt es auf vielen Seiten und zu vielen Themen. Das ist zwar gut und soll da auch stehen, aber fuer die Problemstellung ist das eher irrefuehrend. Ich wollte wissen, wie man aus den eigentlichen Texten von einer Wikipediaseiten zu jeder anderen kommt. Solche Infoboxen fuehlen sich da an wie „schummeln“, weil man damit ja gleich ganz total woanders „hinspringen“ kann.
Lange Rede kurzer Sinn, die wollte ich also nicht dabei haben. Dummerweise haben die keine Markierung im Quellcode.

Zur Hilfe kam mir eine andere Sache, die ich auch nicht dabei haben wollte (und zwar von Anfang an nicht). Im obigen Beispiel ist es der mit „See also“ bezeichnete Abschnitt. Das ist thematisch zwar auch immer passend, aber ebenso eine „unerlaubte Abkuerzung“.
Nun haben aber nicht alle Artikel solche einen Abschnitt. Anstatt dessen gibt es andere, aehnliche Paragraphen, die in die selbe Kategorie fallen. Diese sind „References“, „Further reading“, „‚External links“ und „Sources“. In den allerallermeisten Faellen ist eins davon immer dabei. Und diese Abschnitte stehen (zumindest bei den vielen hunderten Stichproben die ich gemacht habe im Laufe des Projekts) auch immer ganz am Ende (vor møglichen Infoboxen). Wenn doch ein paar ein paar ganz wenige „durchgehen“, entweder weil so ein Abschnitt doch nicht auftaucht, oder weil der nicht ganz am Ende steht, dann ist das auch nicht soo schlimm. Ist halt so bei Daten aus der echten Welt … das geht dann in den immer angenommenen 10-Prozent-Fehler. Ist ja schlieszlich keine Bruecke die ich hier baue.
Und welche Blueten das treiben kann, kann man an diesem Beispiel, welches alle fuenf „Endabschnitte“ und gar sekundaere und tertiaere Quellenangaben hat o.O .

Somit hatte ich also meine Markierung; ich hørte einfach auf Links mit dazuzunehmen, wenn einer von den obigen fuenf Abschnitten erreicht war.

Die Anzahl der Titel blieb mit 20,820,530 natuerlich die Selbe, aber die Anzahl aller in Betracht gezogenen Links reduzierte sich um ueber 15 % von urspruenglich 327,784,045 auf 277,321,420.

Ich mache dies alles so im Detail, weil ich genau wissen møchte, was meine Daten die ich letztlich analysieren werde eigentlich beinhalten. Denn das wird die Resultate beeinflussen!

Ach ja, die Grøsze der Daten in Textform reduziert sich durch diesen Schritt nochmals betraechtlich von 7.5 GB auf nur 6.0 GB. Die (relevante) Grøsze der strukturierten Daten geht runter auf 8.9 GB (von ehemals 10.8 GB). Toll wa! Bald bin ich in Bereichen, wo ich alles gleichzeitig im Arbeitsspeicher halten kann :) .

Oft ist nichtmenschliches Leben (oder Strukturen die ich dafuer halte) welches sich im Vakuum des Alls aufhaelt riesig. Aber neulich stolperte ich ueber diese kleinen Racker:

Das sind Albulum Gourd Molluscs und wenn ich zu nahe komme, dann bewegen sie sich schnell von mir fort. Deswegen entschied ich mich nicht weiter zu støren und flog weiter.

Von Oochost KA-Q c21-0 1 aus hat man einen ganz fantastischen Blick auf Barnard’s Loop:

Der Planet selber ist nicht nur die High metal content world (auf der man landen kann) mit der grøszten Exzentrizitaet des Orbits. Sondern mit einem Wert von 0.999485 fuer diesen Parameter haelt sie diesen Rekord fuer ALLE Planeten auf denen man landen kann.
Zur Zeit befindet sich der Planet aber naeher am Apoapsis des Orbits. Deswegen kommt hier nicht so viel Licht an und ich musste die Oberflaeche mit den Lampen meines SRV illuminieren.

Vor einiger Zeit kaufte ich mir eine Playstation 4. Am Anfang ist die noch ganz jungfraeulich. Trotz lanjaehrigen Zockens (das muesste ich auch mal aktualisieren) auf der Playstation 3 wurde ich (verstaendlicherweise) so begrueszt:

Und als ich mir meine Pokale anschauen wollte wurde mir gesagt:

Gut zu wissen.

Zum Glueck (???) sind meine Pokale „auf dem Server“ gespeichert. Die Information konnte also schwuppdiwupps runtergeladen werden und dann war mein System auf dem aktuellen Stand.
Ich fand das ein bisschen witzig, denn „0 Trophies“ sehe ich nicht so oft.