• Keine Ergebnisse gefunden

Algorithmic Intelligence „Hashing“

N/A
N/A
Protected

Academic year: 2021

Aktie "Algorithmic Intelligence „Hashing“"

Copied!
54
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmic Intelligence

„Hashing“

Stefan Edelkamp

(2)

Übersicht

Hashing, Tabellen und Funktionen

Divisions-Rest-, Multiplikatives, Universelles Hashing

Verkettung der Überläufer und Offene Hashverahren

Brent‘s Algorithmus und geordnetes Hashing

Dynamische Tabellen

Suffix-Listen

Cuckoo-Hashing

Perfekte Hashfunktionen

(3)

Hash-

verfahren

Textmasterformate durch Klicken bearbeiten

Zweite Ebene

Dritte Ebene

Vierte Ebene

Fünfte Ebene

(4)

Probleme

(5)

Hash- funktion

(6)

Hashverfahren

(7)

Divisions- Rest

(8)

Multiplikative Methode

(9)

Universelles Hashing

(10)

Beispiel

(11)

Universelles Hashing

(12)

Hashing mit Verkettung der Überläufer

(13)

Wörterbuch-Operationen

(14)

Offene

Hashverfahren

(15)

Sondierungsfolgen

(16)

Sondierungsfolgen (ctd.)

(17)

Lineares Sondieren

(18)

Quadratisches Sondieren

(19)

Double Hashing

(20)

Beispiel

(21)

Verbesserung Erfolgreiche Suche

(22)

Brent

(23)

Brent (ctd.)

(24)

Beispiel

(25)

Ordered Hashing

(26)

Dynamische Tabellen

(27)

Dynamische Tabellen

(28)

Suffix- Listen

(29)

Wörterbuch Operationen auf

Suffix- Listen

(30)

Ergebnisse

(31)

Cuckoo-Hashing

Erfolgreich

Problemfall

(32)

Pseudo-Codes

(33)

Perfekte Hashfunktionen

Minimal?

(34)

Theoretischer Durchbruch

(35)

Permutationsspiele

(36)

Parity

(37)

Rubik‘s Cube

(38)

Sliding Tile

(39)

Top Spin

(40)

Pan-Cake

(41)

(Minimal Perfect Hashing)

(42)

Orthogonal Hashing

(43)

Parity Preservation

(44)

Inversible Hash Functions

(45)

Myrvold Ruskey

Erzeuge

Random Permutation a[1,..,n ] := [1,..,n]

For i:= 1..n

Swap(i,rand([i+1..n])

(46)

Perfect Hashing Permutationen

(47)

Myrvold and Ruskey Unrank

(48)

Recursion Free Unranking

(49)

Recursion-Free Ranking

(50)

Beispiel

(51)

Hashing Board Games

(52)

Ranking with BDDs

(53)

Unranking with BDDs

(54)

Referenzen

ÄHNLICHE DOKUMENTE

Our notion of collision resistance of graph hashing demands that the adversary cannot output a hash value and different graphs G, G 0 such that they both verify against the hash

Auch bei guten Hash-Funktionen treten immer noch Kollisionen auf (Taubenschlagprinzip), und wir m¨ ussen sie behandeln. L¨ osung

Chaining: Slots werden durch verkettete Listen realisiert, Überläufer werden in diesen Listen abgespeichert (Hashing mit Verkettung der Überläufer).. Open Addressing: Überläufer

• Wir wissen bereits, dass Hashing bei festgelegter Hash Funktion immer schlecht sein kann. Hashing mit zufällig

Aufgabe 06.3: Einfügen in Hashtabellen (zur Präsentation an der Tafel vorbereiten) (5 Punkte) Fügen Sie nachstehende Mitarbeiter in eine Hashtabelle ein (Anfangsgröße der

Implementieren Sie eine Hashtabelle (hash map) für beliebige Objekte. Bei Kollisionen verwenden Sie Überlauflisten. Die Hashtabelle soll mit Länge 1 initialisiert werden und

Als Kollisionsstrategie verwenden Sie separate chaining und quadratic probing mit dem in der Vorlesung beschriebenen Trick, um bei der Suche alle Tabellenplätze

Ausnahmen der Klasse Exeption , die in einer Methode auftreten können und dort nicht selbst abgefangen werden, müssen explizit im Kopf der Methode aufgelistet werden !!!.. Achtung:.