Einige der Leser kennen es sicherlich: die Behauptung, dass man, folgt man in der Wikipedia immer dem ersten nicht-kursiven und nicht in Klammern stehendem Link, immer bei der Philosophie landen wird. Drüben bei den Wissenslogs wurde das Thema bereits vor kurzer Zeit besprochen. Dabei wurde die Beobachtung gemacht, dass – zumindest in der deutschen Wikipedia – die meisten Pfade, die zur Philosophie führen, vorher den Artikel “Wissenschaft” berühren. Der ursprüngliche Hinweis war vermutlich spöttisch gemeint und sollte wohl darauf hinweisen, dass Philosophie derart allgemein ist, dass sich mit ihr alles erklären lässt. Dabei ist die eigentliche Aussage viel positiver: am Ende ist alles Wissenschaft!
Gut, bis hierhin erzähle ich sicherlich nichts neues. Aber ich bin nicht umsonst Informatiker und dies hier ist ein Informatik-Blog; was liegt also näher, einmal mit Mitteln der Informatik zu untersuchen, ob diese Behauptung überhaupt korrekt ist (und dabei die Chance zu nutzen, einige Methoden der Informatik zu erklären)? Für die englische Wikipedia gibt es hierzu bereits ein nettes Programm, mit welchem die Beziehungen der Artikel untereinander visualisiert werden können.
Aber erstens beschränkt sich das auf die englische Wikipedia (mein Fehler: tut es nicht) und zweitens bleibt man hier auf relativ kleine Mengen von Datensätzen beschränkt (außerdem fehlt eine Auswertung). Also habe ich mich hingesetzt und ein eigenes Programm geschrieben, mit welchem ich die Behauptung überprüfen kann.
Zu Beginn noch einmal kurz die Problemstellung. Die Behauptung ist die folgende: klickt man in einem beliebigen Wikipedia-Artikel auf den ersten Link, der nicht in Klammern steht oder kursiv ist und wiederholt die Prozedur beim so aufgerufenen Artikel, so landet man irgendwann bei der Philosophie. Wie bereits erwähnt, führt der Weg in der deutschen Wikipedia dabei meist über “Wissenschaft” – und da dies ein Wissenschafts-Blog ist, ändere ich die Behauptung entsprechend ab und prüfe nicht auf “Philosophie”, sondern auf “Wissenschaft”.
Nach einigem Klicken von Hand fällt dabei auf, dass die Behauptung so schon einmal nicht ganz stimmen kann: ab und zu landet man in Kreisen, das heißt, man besucht immer wieder die gleichen Artikel. Es ergeben sich sich somit zwei mögliche Artikel-Strukturen (den Fall, dass ein Artikel keine weiteren Links hat, klammere ich einmal aus, da er selten auftritt). Das erste Beispiel zeigt einen regulären Pfad, das zweite einen Kreis mit der Größe 2 hat (da 2 Artikel daran beteiligt sind); beide Beispiele kommen so real in der Wikipedia vor:
Das Problem muss also ein wenig abgeändert werden; ich bearbeite daher die folgende Frage: wie groß ist das Verhältnis von Artikeln, die schließlich zur Wissenschaft führen, gegenüber den Artikeln, die einen Kreis bilden.
Zur Lösung eines solchen Problems wird man sich in der Regel einen sogenannten Webcrawler programmieren. Das ist ein Programm, welches Websites nach bestimmten Informationen durchsucht und dabei auch den Links innerhalb einer Site folgt. Die Vernetzung der Sites (in unserem Fall: Wikipedia-Artikel) untereinander bildet einen sogenannten Graphen. Ein Graph besteht aus verschiedenen Knoten (Sites, Artikel), die über Kanten (Links) miteinander verbunden sind. Die untenstehende Abbildung zeigt ein kleines Beispiel hierfür (die Kästchen sind Knoten, die Linien sind Kanten). Ein üblicher Webcrawler würde ausgehend von einem Knoten alle weiteren Knoten, die über Kanten miteinander verbunden sind, absuchen.
Unser Wiki-Crawler muss nur, ausgehend von einem Knoten (also einer Site) oder Seed (von englisch “Samen”), dem ersten gültigen Link auf der Site folgen, und zwar so lange, bis der Wissenschafts-Artikel oder ein Kreis gefunden wird (dieses Verfahren entspricht im Übrigen einer sogenannten Tiefensuche, welche aber sicherlich noch ihren eigenen Artikel erhalten wird). Wurde auf diese Art ein Ziel erreicht, kann für den so bestimmten Pfad (also den Seed-Artikel und alle Artikel auf dem Weg zum Ziel) die Entfernung zur Wissenschaft oder eben die Information, dass sie nicht erreichbar ist, gespeichert werden. Danach geht es mit dem nächsten Seed weiter, bis alle Artikel der Wikipedia durchsucht wurden – oder der Speicher des Computers voll ist. Man muss dabei übrigens nur von solchen Seeds ausgehen, die noch nicht bereits auf einem Weg gefunden wurden. Für den oben aufgezeichneten Graphen könnte also folgender Pfad gefunden werden (die Kästchen enthalten die Entfernung zum Ziel):
Kommentare (7)