Ü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