Projekt Google-Algorithmus
Projektinformationen | |
---|---|
Aufwand (Ph) | 12 |
Teamgröße | 1-2 |
Schwierigkeitsgrad | mittel-schwierig |
Ansprechpartner | Herr Bakera |
Projekttag |
Inhaltsverzeichnis
Auftrag
Google ist die am meisten genutzte Suchmaschine in Deutschland. Doch wie kommen die Ergebnisse eigentlich zustande? Warum stehen die Seiten von Wikipedia und Spiegel-Online über denen von bakera.de und tbs1.de?
Der Grund hierfür ist der PageRank-Algorithmus. Er wurde von den Firmengründern Larry Page und Sergej Brim entwickelt. Durch den Algorithmus wird jeder Seite ein Wert zugewiesen. Wertvollere Seiten landen weiter vorne in den Suchergebnissen, Seiten mit einem niedrigeren Wert finden sich weiter hinten.
Ziel des Projektes ist es, den Algorithmus zu implementieren und für unser Wiki ablaufen zu lassen. Hierbei hilft dir eine Beschreibung des Algorithmus von Markus Sobek.
Projektgruppen
Bitte tragt euch für das Projekt auf der Seite Projekte von Herrn Bakera ein.
Meilensteine
- Ich habe ein Klassendiagramm erstellt, das Klassen meiner Problemlösung enthält.
- Ich habe eine Anwendung geschrieben, die den Algorithmus für ein einfaches kleines Beispiel durchführt.
- Die Ergebnisse des kleinen Beispiels habe ich dokumentiert.
- Ich habe mit meinem Programm den Page-Rank-Wert für die Artikel in unsem Wiki berechnet - vgl. hierzu den unteren Bereich dieses Artikels.
- Die Ergebnisse habe ich dokumentiert.
- Der Quelltext ist in einer Dokumentation erläutert.
- (optional) Ich habe mir überlegt, wie man den Algorithmus noch verfeinern kann. Welche weiteren Kriterien sind noch wichtig für eine Seite - außer der Verlinkung?
- (optional) Ich habe die Verfeinerung in meiner Implementierung umgesetzt.
+ (optional) Ich habe den Algorithmus auf anderen Datensätzen laufen lassen und meine Ergebnisse dokumentiert.
Verlinkungen im Wiki
Die folgenden Daten beschreiben die Verlinkung in einem Wiki. Klicke rechts auf den "Ausklappen"-Link, um alle Daten anzuzeigen. Der Aufbau folgt dem Muster "QUELLE","ZIEL".
"Abnahme_Spieleprogrammierung","Anforderungen" "Abstrakte_Klasse","Dominik_Ruppert" "Abstrakte_Klasse","Dominik_Ruppert" "Aggregatfunktiion_und_GROUP_BY","Aggregatfunktion" "Aggregatfunktiion_und_GROUP_BY","Bedingung" "Aggregatfunktiion_und_GROUP_BY","SELECT" "Aggregatfunktiion_und_GROUP_BY","WHERE-Klausel" "Anforderungen","Anforderungen_Weltraumspiel" "Anforderungen_Weltraumspiel","Adams" "Anforderungen_Weltraumspiel","Adams" "DataGridView_mit_Listen_verknüpfen","List" "Erstellen_einer_View","Wann_ist_eine_View_manipulierbar" "Funktionen","Sichtbarkeiten" "Hauptseite","Projekttag" "Hauptseite","Scheunenbau-Workshop" "Hauptseite","TODO" "Hauptseite","TODO-Datenbanken" "Hauptseite","TODO-Spieleprog" "Invalidate()","Paint()" "Kaskadierendes_löschen","Primärschlüssel" "Kaskadierendes_löschen","Referentielle_Integrität" "Kaskadierendes_löschen","Referenz" "Pixelgenaue_Kollisionserkennung","Anforderungen_Weltraumspiel" "Prinzip:_Aggregation","Prinzip:_Assoziation" "Prinzip:_Aggregation","Prinzip:_Komposition" "Prinzip:_Assoziation","Prinzip:_Aggregation" "Prinzip:_Assoziation","Prinzip:_Komposition" "Prinzip:_Datenkapselung","Objektkonsistenz" "Prinzip:_Datenkapselung","Sichtbarkeiten" "Prinzip:_Datenkapselung","Dominik_Ruppert" "Prinzip:_Datenkapselung","Dominik_Ruppert" "Prinzip:_Datenkaspelung","Prinzip:_Datenkapselung" "Prinzip:_Komposition","Prinzip:_Aggregation" "Prinzip:_Komposition","Prinzip:_Assoziation" "Projekt_4-gewinnt","Projekttag" "Projekt_4-gewinnt","Projektinfo" "Projekt_Android_Counter","Projekte_von_Herrn_Bakera" "Projekt_Android_Counter","Projektinfo" "Projekt_Android_Kreisspiel","Projekt_Android_Counter" "Projekt_Android_Kreisspiel","Projekte_von_Herrn_Bakera" "Projekt_Android_Kreisspiel","Projektinfo" "Projekt_Autonomer_Roboter","Projekt_Robotersteuerung" "Projekt_Autonomer_Roboter","Projekte_von_Herrn_Bakera" "Projekt_Autonomer_Roboter","Projektinfo" "Projekt_Autos","Projekttag" "Projekt_Autos","Projektinfo" "Projekt_Biere_der_Welt","Projekttag" "Projekt_Biere_der_Welt","Projektinfo" "Projekt_Big_Data_-_Datenanalyse","Projektinfo" "Projekt_CTA_Tools","Projekt_Chemie_Tools" "Projekt_Chemie_Tools","Projekte_von_Herrn_Bakera" "Projekt_Chemie_Tools","Projektinfo" "Projekt_Cocktails","Projekttag" "Projekt_Cocktails","Projektinfo" "Projekt_Cryptoparty_E-Mail","Projekte_von_Herrn_Bakera" "Projekt_Cryptoparty_E-Mail","Projektinfo" "Projekt_EN50173","Projekttag" "Projekt_EN50173","Projektinfo" "Projekt_Kugelsammler_in_Unity","Projekte_von_Herrn_Bakera" "Projekt_Kugelsammler_in_Unity","Projektinfo" "Projekt_Life_Cam","Projekttag" "Projekt_Life_Cam","Projektinfo" "Projekt_Manic_Digger","Projekte_von_Herrn_Bakera" "Projekt_Manic_Digger","Projektinfo" "Projekt_Mathe_Tools","Projekte_von_Herrn_Bakera" "Projekt_Mathe_Tools","Projekttag" "Projekt_Mathe_Tools","Projektinfo" "Projekt_Motorräder","Projekttag" "Projekt_Motorräder","Projektinfo" "Projekt_Nim-Spiel","Projekte_von_Herrn_Bakera" "Projekt_Nim-Spiel","Projektinfo" "Projekt_Pong","Projekte_von_Herrn_Bakera" "Projekt_Pong","Projektinfo" "Projekt_RAID-Performance","Projekttag" "Projekt_Robotersteuerung","Projekt_Autonomer_Roboter" "Projekt_Robotersteuerung","Projekte_von_Herrn_Bakera" "Projekt_Robotersteuerung","Projektinfo" "Projekt_Schiebepuzzle_mit_dem_A*-Algorithmus_lösen","Projekte_von_Herrn_Bakera" "Projekt_Schiebepuzzle_mit_dem_A*-Algorithmus_lösen","Projektinfo" "Projekt_Server-Hardware","Projekttag" "Projekt_Server-RAID-Systeme","Projekttag" "Projekt_Server-RAID-Systeme","Projektinfo" "Projekt_Stimmungsbarometer","Projekt_Android_Counter" "Projekt_Stimmungsbarometer","Projekte_von_Herrn_Bakera" "Projekt_Stimmungsbarometer","Projektinfo" "Projekt_Streaming_Server","Projekttag" "Projekt_Streaming_Server","Projektinfo" "Projekt_The_Big_Picture","Projekte_von_Herrn_Bakera" "Projekt_The_Big_Picture","Projektinfo" "Projekt_Toronto_Parking_Tickets","Projekte_von_Herrn_Bakera" "Projekt_Toronto_Parking_Tickets","Projektinfo" "Projekt_Trainingslager_Kommandozeile","Projekte_von_Herrn_Bakera" "Projekt_Trainingslager_Kommandozeile","Projektinfo" "Projekt_Virtualisierung","Projekttag" "Projekt_Virtualisierung","Projektinfo" "Projekt_Virtuelle_Maschine","Projekte_von_Herrn_Bakera" "Projekt_Virtuelle_Maschine","Projektinfo" "Projekt_Zeitansage","Projekte_von_Herrn_Bakera" "Projekt_Zeitansage","Projektinfo" "Projekt_Zeiterfassung","Projektinfo" "Projekt_mysqlbackup_und_mysqlrestore","Projekttag" "Projekt_mysqlbackup_und_mysqlrestore","Projektinfo" "Projekte_von_Herrn_Bakera","Projekt_Pong" "Projekte_von_Herrn_Bakera","Projekt_Zeitansage" "Projekte_von_Herrn_Bakera","Projekttag" "Projekttag","Projekt_4-gewinnt" "Projekttag","Projekt_Android_Counter" "Projekttag","Projekt_Android_Kreisspiel" "Projekttag","Projekt_Autonomer_Roboter" "Projekttag","Projekt_Autos" "Projekttag","Projekt_Biere_der_Welt" "Projekttag","Projekt_Chemie_Tools" "Projekttag","Projekt_Cocktails" "Projekttag","Projekt_Cryptoparty_E-Mail" "Projekttag","Projekt_EN50173" "Projekttag","Projekt_Kugelsammler_in_Unity" "Projekttag","Projekt_Life_Cam" "Projekttag","Projekt_Manic_Digger" "Projekttag","Projekt_Mathe_Tools" "Projekttag","Projekt_Motorräder" "Projekttag","Projekt_Nim-Spiel" "Projekttag","Projekt_Pong" "Projekttag","Projekt_RAID-Performance" "Projekttag","Projekt_Robotersteuerung" "Projekttag","Projekt_Server-Hardware" "Projekttag","Projekt_Server-RAID-Systeme" "Projekttag","Projekt_Streaming_Server" "Projekttag","Projekt_The_Big_Picture" "Projekttag","Projekt_Toronto_Parking_Tickets" "Projekttag","Projekt_Trainingslager_Kommandozeile" "Projekttag","Projekt_Virtualisierung" "Projekttag","Projekt_Virtuelle_Maschine" "Projekttag","Projekt_Zeitansage" "Projekttag","Projekt_Zeiterfassung" "Projekttag","Projekt_mysqlbackup_und_mysqlrestore" "Referentielle_Integrität","Fremdschlüssel" "Referentielle_Integrität","Primärschlüssel" "Referenz","Fremdschlüssel" "Referenz","Primärschlüssel" "Schleife_mit_for","Schleife_mit_while" "TODO","Abstrakte_Klasse" "TODO","Aktualisieren_über_ein_Verwalter-Objekt" "TODO","Array_als_lookup_table_und_Massenspeicher" "TODO","Array_mit_Schleife_durchwandern" "TODO","Bedingte_Anweisung" "TODO","Bedingungen_und_Vergleichsoperatoren" "TODO","Button" "TODO","Cast_bei_Eventfunktionen" "TODO","Checkbox" "TODO","Combobox" "TODO","ContextMenuStrip" "TODO","DataBindung_von_Textboxen_etc._mit_Listen" "TODO","DataGridView_mit_Listen_verknüpfen" "TODO","Datentypen" "TODO","DrawString()" "TODO","Einfügen_über_ein_Verwalter-Objekt" "TODO","Enum" "TODO","Funktionen" "TODO","Grundrechenarten" "TODO","Invalidate()" "TODO","Klassen:_Aufbau" "TODO","Konstruktor" "TODO","Konvertierungen" "TODO","Lambda-Ausdruck" "TODO","List" "TODO","Listbox" "TODO","Lokale_und_nicht_lokale_Variablen_und_Konstanten" "TODO","Mathematische_Funktionen" "TODO","MeasureString()" "TODO","Menü" "TODO","NumericUpDown" "TODO","Objekt-Relationen_Mapping_1._und_2._Stufe" "TODO","Objekt_anlegen" "TODO","Objektkonsistenz" "TODO","Paint()" "TODO","Polymorphie:_Horizontal" "TODO","Polymorphie:_Inklusion" "TODO","Polymorphie:_Parametrisiert" "TODO","Polymorphie:_vertikal" "TODO","Prinzip:_Aggregation" "TODO","Prinzip:_Assoziation" "TODO","Prinzip:_DRY" "TODO","Prinzip:_Datenkapselung" "TODO","Prinzip:_Komposition" "TODO","Prinzip:_Vererbung/Generalisierung" "TODO","Projektverwaltung_Visual_Studio" "TODO","Radiobutton(gruppe)" "TODO","Schleife_mit_for" "TODO","Schleife_mit_foreach" "TODO","Schleife_mit_while" "TODO","Sichtbarkeiten" "TODO","Textbox" "TODO","Toolbar" "TODO","TrackBar" "TODO","UML:_Anwendungsfalldiagramm" "TODO","UML:_Klassendiagramm" "TODO","UML:_Objektdiagramm" "TODO","Ungarische_Notation" "TODO","Unterformulare" "TODO","UserControl" "TODO","Verbindung_zu_einer_MySQL_Datenbank_aufbauen" "TODO","Verzweigungen_mit_if/else" "TODO","Verzweigungen_mit_switch/case" "TODO","Zeichnen_in_einer_PictureBox" "TODO","Zusammenspiel_von_Schleifen_und_Verzweigungen" "TODO","Adams" "TODO","Adams" "TODO-Datenbanken","1._Normalform" "TODO-Datenbanken","1:1" "TODO-Datenbanken","1:n" "TODO-Datenbanken","2._Normalform" "TODO-Datenbanken","3._Normalform" "TODO-Datenbanken","Aggregatfunktiion_und_GROUP_BY" "TODO-Datenbanken","Aggregatfunktion" "TODO-Datenbanken","Atomar" "TODO-Datenbanken","CSV" "TODO-Datenbanken","Einfacher_SELECT" "TODO-Datenbanken","Einfacher_SELECT_mit_Sortierung" "TODO-Datenbanken","Erstellen_einer_View" "TODO-Datenbanken","Fremdschlüssel" "TODO-Datenbanken","INSERT_INTO" "TODO-Datenbanken","Join_typen" "TODO-Datenbanken","Kaskadierendes_löschen" "TODO-Datenbanken","Korrelierende_Unterabfrage" "TODO-Datenbanken","Load_data_infile" "TODO-Datenbanken","Mengenoperation:_INTERSECT" "TODO-Datenbanken","Mengenoperation:_MINUS" "TODO-Datenbanken","Mengenoperation:_UNION" "TODO-Datenbanken","N:m" "TODO-Datenbanken","Primärschlüssel" "TODO-Datenbanken","Projektionsansicht" "TODO-Datenbanken","Referentielle_Integrität" "TODO-Datenbanken","Referenz" "TODO-Datenbanken","Replikation" "TODO-Datenbanken","Schlüssel" "TODO-Datenbanken","Schlüsselkandidat" "TODO-Datenbanken","Selektionsansicht" "TODO-Datenbanken","Sortierung" "TODO-Datenbanken","Spalte" "TODO-Datenbanken","Tabelle" "TODO-Datenbanken","Transitiv" "TODO-Datenbanken","Unterabfrage" "TODO-Datenbanken","Unterschied_WHERE-Klausel_HAVING-Klausel" "TODO-Datenbanken","Vemeidung_von_Mehrfachausgaben" "TODO-Datenbanken","Verbundansicht" "TODO-Datenbanken","Verknüpfung" "TODO-Datenbanken","WHERE-Klausel" "TODO-Datenbanken","Wann_ist_eine_View_manipulierbar?" "TODO-Datenbanken","Wiederholungsgruppe/Wiederholungsgrupenfreiheit" "TODO-Datenbanken","Zeilen_löschen" "TODO-Spieleprog","Allgemeines" "TODO-Spieleprog","Anforderungen" "TODO-Spieleprog","Aufbau_eines_XNA-Spieles" "TODO-Spieleprog","Beschreibung_Moonlander" "TODO-Spieleprog","Grafiken_laden" "TODO-Spieleprog","Hintergrund_scrollt" "TODO-Spieleprog","Klassenmodell_des_Weltraumspiels" "TODO-Spieleprog","Kollisionserkennung" "TODO-Spieleprog","Pixelgenaue_Kollisionserkennung" "TODO-Spieleprog","Raumschiff_bleibt_innerhalb_des_Bildschirms" "TODO-Spieleprog","Raumschiff_mit_der_Tastatur_bewegen" "TODO-Spieleprog","Sound_laden_und_abspielen" "TODO-Spieleprog","SpriteDatabase.net" "UML:_Objektdiagramm","Klassen:_Aufbau" "UML:_Objektdiagramm","UML:_Klassendiagramm" "Unterschied_WHERE-Klausel_HAVING-Klausel","HAVING-Klausel" "Unterschied_WHERE-Klausel_HAVING-Klausel","WHERE-Klausel" "Verknüpfung","1:1" "Verknüpfung","1:n" "Verknüpfung","Fremdschlüssel" "Verknüpfung","N:m" "Verknüpfung","Primärschlüssel" "Zeichnen_in_einer_PictureBox","Paint()"