Der Blaster ist in der Tat sehr gut mit graphentheoretischen Modellen zu beschreiben. Grund: Er ist ein Netzwerk. Aber er ist kein Netzwerk im einfachen Sinne. Nicht wie Wikipedia. Nicht wie das Internet.
OK, ich versuche es mal verständlich: Ein Graph besteht aus »Knoten« V (Punkten) und »Kanten« E (Strecken, Verbindern). Ein Knoten gehört nur dann zum Graph, wenn er durch mindestens eine Kante mit ihm verbunden ist (ich weiß, es gibt da auch andere Definitionen!). Graphen können gerichtet oder ungerichtet sein. Eine gerichtete Kante ist sozusagen eine Einbahnstraße: Wenn Knoten A mit Knoten B durch eine nach B gerichtete Kante verbunden sind, kann man lediglich von A nach B gelangen, nicht aber von B nach A. Für unsere Betrachtung des Blasters genügt ein ungerichteter Graph.
Graphen haben einen unterschiedlichen Vermaschungsgrad. Einen Graphen, in dem jeder Knoten mit jedem anderen verbunden ist, nennen wir vollständig vermascht. Die Anzahl der Kanten e läßt sich dann durch die Fakultät der Anzahl der Knoten v abzüglich 1 bestimmen: e = (v-1)! (im vollst. vermaschten Graph)
Wie kann der Blaster als Graph modelliert werden?
Diese Frage ist nicht trivial. Meines Erachtens nach gibt es zwei Möglichkeiten der Modellierung als Graph:
1. Ein Stichwort stellt einen Knoten dar
2. Ein Eintrag stellt einen Knoten dar
Zunächst die einfachere Variante, 1.: Wenn jedes Stichwort ein Knoten ist, besteht das Problem, daß ein Stichwort ja beliebig viele Einträge haben kann. Das hieße: Potentiell ist jeder Knoten mit jedem anderen verbunden. Entweder, man verwendet hier den Fuzzy-Ansatz und legt sich gar nicht fest. Dann hätte man um jeden Knoten eine Wolke unscharfer Kanten. Oder aber, man schert sich gar nicht um die Einträge und hängt prinzipiell alle Einträge eines Stichwortes sequenziell aneinander, so daß jedes Stichwort nur einen Eintrag hat - was letzten Endes aber eine Verfälschung wäre.
Variante 2 betrachtet den Blaster nicht als einen Graphen mit zwei Dimensionen oder als Menge von Graphen. Stichwort und Eintrag stellen dabei je eine Dimension dar. Wir haben also verschiedene Ebenen mit jeweils einem Blaster-Graphen, und es besteht die Möglichkeit, sowohl einer solchen Ebene als auch zwischen den Ebenen zu navigieren. Deutlich wird das vielleicht, wenn man von einem Eintrag eines Stichwortes das Stichwort selbst anklickt: Man bewegt sich dann vertikal auf eine andere Ebene. Klickt man dagegen auf ein anderes Stichwort, verhält es sich komplizierter:
Von einem Eintrag eines Stichwortes gelangt man über die Kanten (Links) zu einem ZUFÄLLIGEN Eintrag eines anderen Stichwortes. In diesem ZUFÄLLIG liegt das Problem. Denn um das Modell plausibel zu machen, müssen wir uns die Abgrenzungen zwischen den Ebenen erst definieren. Diese Abgrenzungen könnten sein: Der Autor, Der Zeitstempel oder die Bewertungszahl eines Eintrags. Betrachten wir die Variante mit dem Autor: Unser Modell hätte dann so viele Ebenen bzw. (Teil-)Graphen wie es Autoren gibt. Wenn ich also in einem Eintrag von mcnep auf einen Link zu einem anderen Stichwort klicke und wiederum zu einem Eintrag von mcnep gelange, so bewege ich mich horizontal im Blastergraphen von mcnep. Gelange ich zu einem Eintrag von baumhaus, bewege ich mich sowhl horizontal als auch vertikal. Horizontal, da ich ein anderes Stichwort angeklickt habe und vertikal, da ich den mcnep-Graphen verlassen habe. Das Modell erscheint auf den ersten Blick schlüssig, ist aber auf den zweiten Blick nicht wasserdicht. Denn es kann den Fall geben, daß ein Autor mehrere Einträge zu einem Stichwort geschrieben hat. Bliebe man bei der Methode, müsste man jetzt eine weitere Dimension einführen: Neben dem Autor also das Datum des Eintrags betrachten. Gelöst ist das Problem dadurch nicht, denn ein Autor kann auch an einem Tag mehrere Einträge zu einem Stichwort verfassen. Eine vierte Dimension, die Uhrzeit, würde notwendig - und wäre zielführend. Ein Autor kann zu einem Zeitpunkt nur einen einzigen Beitrag schreiben. Es sei denn, jemand anderes verwendet seinen Namen. Man sieht: das Dimensionenmodell ist zwar reizvoll aber genügt nicht. Um es genügend zu machen, bräuchte man einen internen Zähler bzw. Primärschlüssel für jeden Eintrag eines Stichwortes als Abgrenzung für die Ebenen. Dann würde es für den 1. Eintrag eine Ebene geben, für den 2., für den 3. und so weiter. Das Ebenenmodell für die Anzahl an Bewertungspunkten ist bereits im Blaster (zumindest im Ansatz) implementiert. Man kann bekanntlicherweise eine Mindestanzahl an Bewertungspunkten festlegen, was zur Folge hat, daß man, wenn man eine relativ hohe Zahl einstellt, man sehr viele der unteren Ebenen »wegschneidet« und sich nur noch auf wenigen verbliebenen Ebenen bewegen kann. Würde es eine Möglichkeit geben, einzustellen, daß man nur Einträge mit 3 Bewertungspunkten sehen will, hätte man tatsächlich nur eine Ebene, auf der man sich bewegen kann. Allerdings gilt auch hier wieder: Das Modell ist nicht mehr schlüssig, wenn ein Stichwort mehr als einen Eintrag mit 3 Bewertungspunkten besitzt. Hier müßte man dann wiederum Hilfskonstruktionen in Form weiterer Dimensionen verwenden.
Interessant beim Ebenenmodell ist, daß die vertikalen Graphen, also die Verbindungen zwischen zwei oder mehr Ebenen, immer vollständig vermascht sind. Grund dafür ist die Zufallswahl: Ein Eintrag ist potentiell mit jedem eines anderen Stichwortes verbunden.
Ich bin mir sicher, daß sich noch eine Menge dazu denken und schreiben läßt. Also, liebe Theoretiker, Mathematiker, Informatiker, Philosophen: Ans Werk!
|