i

Ein Ranking-Algorithmus

Automatisierung des Surf-Simulationsverfahrens

Wir betrachten weiterhin die folgende Webseitenwelt:

Graph - Webseiten

Das entwickelte Surf-Simulationsverfahren lässt sich wie folgt beschreiben:

ALGORITHMUS erzeugeRankingwerte:
    Lege den Surf- und Sprunganteil fest.
    Lege die Ausgangsbesucherzahlen fest.
    Lege die Anzahl der Simulationsschritte fest.
    Setze einen Zähler auf 0.
    SOLANGE der Zähler kleiner als die Anzahl der Simulationsschritte ist:
        Berechne die neuen Besucherzahlen.
        Erhöhe den Zähler um 1.
    Gib die Besucherzahlen (ggf. als Anteile) aus.

Aufgabe 1

Bei einer Suche nach einem Stichwort wird man auf den Webseiten A, B und E fündig. In welcher Reihenfolge werden die Webseiten von einer Suchmaschine angezeigt, die den oben gezeigten Ranking-Algorithmus benutzt?

Aufgabe 2

Die mit der Simulation berechneten Besucherzahlen stabilisieren sich mit zunehmender Anzahl von Schritten.

Ändere den Algorithmus und seine Implementierung so ab, dass die wiederholte Berechnung der Besucherzahlen erst dann abgebrochen wird, wenn sich die Zahlen hinreichend gut stabilisiert haben. Du musst hierzu festlegen, was „hinreichend gut stabilisiert“ bedeuten soll.

Was ist ein Algorithmus?

Wir haben nun einen Algorithmus für das Ranking-Problem gefunden. Allgemein nutzt man Algorithmen zur automatisierten Datenverarbeitung. Wichtig ist dabei, dass die Vorgänge exakt beschrieben werden. So mussten wir das Surf-Verhalten präzise festlegen, um Zahlen-Werte zu berechnen.

Ein Algorithmus ist eine Verarbeitungsvorschrift zur Lösung eines Problems, die so präzise formuliert ist, dass sie auch von einer Maschine abgearbeitet werden kann.

Algorithmen lassen sich auf unterschiedliche Weise formulieren: Hier hast du sowohl Pseudocode (siehe oben) als auch Programmcode in der Programmiersprache Python gesehen.

Anforderungen an Algorithmen

An Algorithmen werden vier Anforderungen gestellt:

  • Ausführbarkeit bedeutet, dass der Prozessor (das ist die Maschine oder die Person, die den Algorithmus ausführen soll) jeden Einzelschritt des Algorithmus ausführen kann.
  • Eindeutigkeit bedeutet, dass die Abfolge der einzelnen Schritte genau festgelegt ist.
  • Endlichkeit bedeutet, dass die Beschreibung aus einem Text endlicher Länge besteht.
  • Allgemeinheit bedeutet, dass nicht nur ein singuläres Problem, sondern eine ganze Klasse von Problemen gelöst werden soll.

Aufgabe 4

Diskutiere, inwieweit die vier Anforderungen an Algorithmen bei unserem Verfahren für das Ranking-Problem erfüllt sind.

Zur Herkunft des Algorithmusbegriffs

Die Bezeichnung „Algorithmus“ leitet sich aus dem Namen Al-Khwarizmi ab. Abu Abd Allah Mohammed Ibn Musa Al-Khwarizmi – so der vollständige Name – war ein choresmischer Universalgelehrter und Mathematiker, der etwa von 780 bis 850 n. Chr. lebte. Al-Khwarizmi stammte aus Choresm (arab. Khwarizmi) – das ist eine Gegend, die heute Teil von Usbekistan und Turkmenistan ist – und lebte und arbeitete in Bagdad. Al-Khwarizmi beschäftigte sich u. a. mit Verfahren zur Lösung von Gleichungen. Diese Verfahren können aus heutiger Sicht als Algorithmen bezeichnet werden. Das ist wohl der Grund, weshalb Al-Khwarizmi Pate für maschinell verarbeitbare Verfahren geworden ist.

Manipulationen

Ziel ist es zu verstehen, wie bei realen Suchmaschinen Rankingreihenfolgen manipuliert werden.

Aufgabe 5

Betrachte wieder die oben gezeigte sehr einfache Webseitenwelt. Die Seite A wird beim Ranking weit hinten aufgelistet. Die Rankingreihenfolge kann man manipulieren, indem man (viele) neue Webseiten erzeugt, die alle auf die Seite A verweisen.

(a) Erkläre, welche Entscheidungen im Random Surfer Modell dazu führen, dass diese Manipulation funktioniert.

(b) Probiere das selbst mit einer Simulation aus.

Suche

v
2.1.2.2.5
dev.inf-schule.de/algorithmen/grundlagen/bedeutung/fallstudie_pagerank/algorithmus
dev.inf-schule.de/2.1.2.2.5
dev.inf-schule.de/@/page/HTcb5uWVDYJ1F47T

Rückmeldung geben