Blatt6 - Institut für Informatik

Werbung
Universität Augsburg, Institut für Informatik
Prof. Dr. W. Kießling
Dr. F. Wenzel, L. Rudenko
SS 2016
20. Mai. 2016
Übungsblatt 6
Suchmaschinen
Aufgabe 1: Hasse-Diagramm mit trivialer SV-Semantik
Gegeben ist folgende bekannte 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
Weiter sind die folgenden Basispräferenzen gegeben:
• P1 = P OS/P OS(Color, {0 green0 ,0 red0 }, {0 yellow0 }, =)
• P2 = AROU N D(P rice, 30, =)
• P3 = HIGHEST2 (ID, 5, =)
Zeichnen Sie die Hasse-Diagramme für folgende komplexe Präferenzen:
• P4 = P1 ⊗ P2
• P5 = P2 & P 3
• P6 = P3 ⊗ (P1 & P2 )
Aufgabe 2: Komplexe Ranking-Präferenz
Gegeben ist folgende aus der Vorlesung bekannte Relation mit dom(ident) = {Maggie, Bart, Homer, Selma, Smithers, Skinner}, dom(color) = {white, yellow, red} und inf age = 10, supage = 60.
oldtimer ident
Maggie
Bart
Homer
Selma
Smithers
Skinner
color
white
white
yellow
red
red
yellow
age
29
19
35
40
43
51
Ferner sind folgende Präferenzen gegeben:
a) P1 = P OS/P OS(color, {white}; {yellow}), P2 = AROU N D(age, 40)
b) P1 = BET W EEN5 (age, [30, 33]), P2 = P OS/N EG(color, {white}; {yellow})
Da alle gezeigten Basispräferenzen Subkonstruktoren der SCORE-Präferenz sind, lassen sich diese
jeweils auf eine SCORE-Präferenz mit entsprechender (im Skript definierter) SCORE Funktion f
abbilden. Diese bilden wiederum die Grundlage für die komplexe Ranking-Präferenz.
Bestimmen Sie jeweils getrennt für a) und b) das BMO-Set bezüglich oben gezeigter Relation
mit einer Ranking-Funktion F (f1 (x1 ), f2 (x2 )) = f1 (x1 ) + f2 (x2 ). Vergleichen Sie anschließend
das Ergebnis für a) mit den Ergebnissen für eine Pareto bzw. Priorisierungs-Präferenz anstelle der
RankF Präferenz.
Aufgabe 3: Modellierung und Auswertung von Präferenzen
Gegeben sei folgende Instanz einer Relation Song ohne Angabe der Domänen:
Song ID
1
2
3
4
5
6
7
Album
Talking Book
Talking Book
Miles Smiles
Help
Maiden Voyage
Moby 18
Moby 18
Titel
Sunshine
Superstition
Orbits
Help!
Maiden Voyage
18
Fireworks
Künstler
Stevie Wonder
Stevie Wonder
Miles Davis
Beatles
Herbie Hancock
Moby
Moby
Dauer
2,97
4,43
4,60
2,30
7,95
4,47
2,20
Plattenfirma
Motown
Motown
Columbia
Capitol
Blue Note
EMI
EMI
Jahr
1972
1972
1967
1965
1965
2004
2004
1) Betrachten Sie die Song-Relation von oben. Bestimmen Sie das Ergebnis (IDs) der Präferenzselektion folgender Präferenzen, basierend auf den angegebenen Daten. Das Infimum von Dauer
sei 0.
a) P1 := P OS(Album, {Moby 18, Talking Book}) ⊗
LOW EST4 (Dauer, 2.20)
b) P2 := P OS(Album, {Moby 18, Talking Book}, T RIV IAL) ⊗
LOW EST4 (Dauer, 2.20, =)
2) Setzen Sie folgende Anfragen in Ausdrücke in Preference SQL um.
a) “Ich suche Album und Titel der Songs, deren Dauer möglichst zwischen 3 Minuten und 3,8
Minuten liegt.”
b) “Ich möchte alle Künstler, die bevorzugt ein Album um das Jahr 1970 veröffentlicht haben.
Abweichungen von 5 Jahren sind für mich gleich gut. Die Plattenfirma sollte ’Motown’ sein,
aber möglichst nicht ’Capitol’. Dies ist mir weniger wichtig als das Jahr.”
c) “Ich möchte alle Titel haben, die möglichst lange dauern, aber auf gar keinen Fall länger als
10 Minuten sind. Das Album sollte ’Talking Book’ oder ’Moby 18’ sein, wobei beide gleich
gut sind (reguläre SV-Semantik). Beide Wünsche sind mir gleich wichtig.”
d) ”Ich suche Titel der Künstler ’Stevie Wonder’ und ’Ringo Star’. Wenn es keine Titel dieser
Künstler gibt, bevorzuge ich Titel von ’Roger Waters’ und ’David Gilmour’, danach die von
’Miles Davis’ und anschließend die von ’Herbie Hancock’. ’Moby’ soll definitiv nicht im
Ergebnis erscheinen.“
Aufgabe 4: Erstellen eines Datenbankaccounts
Damit Sie die Preference SQL Übungsaufgaben direkt auf der Oracle-Datenbank ausführen können,
benötigen Sie einen Datenbank-Account. Gehen Sie zum Erstellen Ihres persönlichen Accounts
wie folgt vor:
1. Öffnen Sie den Oracle SQL-Developer (installiert auf den PCs im Datenbankraum)
2. Rechts-Klick auf Verbindungen → Neue Verbindung
3. Tragen Sie folgende Daten ein:
• Verbindungsname: SuMa-OracleAccount
• Benutzername: student
• Kennwort: student
• Hostname: gemini.informatik.uni-augsburg.de
• Port: 1521
• SID: db
4. Stellen Sie eine Verbindung zur Datenbank her.
5. Führen Sie im SQL-Worksheet folgenden Befehl aus
CALL create suma user(’BENUTZER’, ’PASSWORT’);
Dabei müssen Sie als Benutzer und Passwort ihre Matrikelnummer verwenden, z.B.
CALL create suma user(’0815’, ’0815’);
6. Melden Sie sich anschließend wieder ab.
Hinweise:
• Benutzen Sie den Account student nicht für Ihre Übungsaufgaben. Der Account wird nach
Ablauf eines gewissen Zeitfensters gesperrt.
• Der Datenbank-Account dient nur für die Übungen zur Vorlesung. Alle Accounts werden
zum Ende des Sommersemesters gelöscht.
Herunterladen