Übungsblatt 04 - Institut für Informatik
Transcription
Übungsblatt 04 - Institut für Informatik
Universität Augsburg, Institut für Informatik Prof. Dr. W. Kießling Dr. M. Endres, F. Wenzel SS 2012 11. Mai. 2012 Übungsblatt 4 Suchmaschinen Aufgabe 1: Präferenzen In der Vorlesung wurden einige Präferenz-Konstruktoren vorgestellt. Bearbeiten Sie folgende Teilaufgaben: a) Weisen Sie direkt nach, dass POS/POS(A, POS-set1, POS-set2) irreflexiv und transitiv ist. b) Zeigen Sie, wie sich die Antichain-Präferenz durch LAYERED ausdrücken lässt. Aufgabe 2: Modellierung von Basispräferenzen Gegeben sind folgende Domänen für Attribute zur Charakterisierung von Restaurants: • dom(Typ)={italienisch, griechisch, deutsch} • dom(Kategorie)={preiswert, angemessen, teuer} • dom(Entfernung)=[0,2000] m • dom(Bewertung)= [0,6] Sterne Geben Sie für folgende Aussagen die entsprechenden Basispräferenzen bezüglich der gegebenen Domänen an: a) Ich mag italienisches Essen am liebsten. Bevor ich in ein deutsches Restaurant gehe, esse ich lieber noch griechisch. b) Das Restaurant sollte wenn möglich höchstens 500 Meter von meinem Standort entfernt sein. c) Ich bevorzuge eine Bewertung von 4 Sternen. d) Ich bevorzuge entweder preiswertes oder teures Essen. e) Die Entfernung sollte maximal sein, dabei ist ein Unterschied von 50 Metern nicht entscheidend. Aufgabe 3: Hasse-Diagramm a) Gegeben sei folgendes Hasse-Diagramm: a ☞ ☞☞ ☞ ☞ ☞☞ ☞ b ☞ ☞☞ ☞ ☞ ☞☞ ☞ c ☞☞ ☞ ☞☞ ☞ ☞ e d Durch welche weitere Kanten kann obiges Hasse-Diagramm in ein Hasse-Diagramm überführt werden, das einer LAYERED-Präferenz entspricht? 1 b) Gegeben ist folgende Relation Artikel mit den Domänen • dom(Color) = {white, green, yellow, red, black, blue} • dom(Price) = R+ 0 Artikel ID 1 2 3 4 5 Color white green yellow yellow red Price 22 22 21 10 30 Zeichnen Sie die Hasse-Diagramme für folgende Präferenzen: • P1 = P OS/P OS(Color, {′green′ ,′ red′ }; {′yellow ′ }) • P2 = AROUND(P rice, 30) • P3 = P1 ⊗ P2 Aufgabe 4: Phonetik-Algorithmen – Soundex Der Soundex-Algorithmus dient zur Auffindung von Homophonen, d. h. Wörtern mit gleicher Aussprache. Der Algorithmus wurde für die Indizierung von Familiennamen in den USA bereits im Jahr 1918 entwickelt. Er bildet jedes Wort auf seinen Anfangsbuchstaben (als Großbuchstabe) und drei darauf folgende Ziffern ab. Die Abbildung auf Ziffern folgt dabei den folgenden Regeln: • Die in der Tabelle vorkommenden Buchstaben werden durch die entsprechende Ziffer erstetzt. Andere Buchstaben entfallen. Beispiel: Suchmaschine wird zu S252. Ziffer 1 2 3 4 5 6 ersetzte Buchstaben B, F, P, V C, G, J, K, Q, S, X, Z D, T L M, N R • Das scharfe S (ß) wird durch ein einfaches und damit durch ’2’ ersetzt. • Aufeinanderfolgende Buchstaben, die gleich sind oder durch die gleiche Ziffer ersetzt werden, werden nur durch eine Ziffer codiert. • Wurden weniger als drei Ziffern gebildet, wird mit Nullen aufgefüllt. Auch bei längeren Wörtern werden nicht mehr als drei Ziffern gebildet. Zusätzlich vorhandene Buchstaben werden abgeschnitten. a) Implementieren Sie den Algorithmus. b) Verwenden Sie nun die englische Worthäufigkeitsliste top10000en.txt, welche Sie auf der Webseite zu den Übungen finden. Für ein vorgegebenes Wort sollen Worte mit gleicher SoundexCodierung ausgegeben werden. Implementieren Sie die gewünschte Funktionalität. Hinweis: Soundex wurde vor allem für englische Homophone entwickelt. Für die deutsche Sprache gibt es die Kölner Phonetik. Eine ausführliche Beschreibung des Algorithmus finden Sie in Wikipedia (zumindest in der Version vom 08.05.2012). 2