06.05.2004, SoSe2004 HS:“Unscharfes Wissen, Unscharfe Logik, Unscharfe Systeme“, Prof. Thaller Referent: Michael Kronenwett Fuzzy-Datenanalyse durch kontextbasierte Datenbankanfragen - Fuzzy = „Unscharf“ - Kontextbasiert: Durch die Einführung von vagen Kontexten kann man die Datenanalyse auf die linguistische Ebene verlagern. Mit den verbalen Beschreibungen der Äquivalenzklassen werden Bedingungen für Klassifikationsanfragen vage formuliert. Z.B.: „Gib alle Liferanten mit ‚guter’ Qualität und ‚akzeptablem’ Terminverzug“ - Äquivalenzklasse: Bsp.: ‚Gut’ und ‚akzeptabel’ sind verbale Beschreibungen einer Äquivalenzklasse der Merkmale Qualität und Terminverzug. Sie beschreiben zusammen z.B. die Klasse der „Lieferanten, zu denen die Geschäftsbeziehungen ausgebaut“ werden sollte. Speichert man die Metadaten, dann kann man Klassen direkt abfragen: „Gib alle Lieferanten, die zur Klasse ‚Geschäftsbeziehungen ausbauen’ gehören“. - Datenbank: Eine Datei, welche einen strukturierten, inhaltlichen zusammengehörenden Datenbestand enthält und deren Datensätze jeweils über Felder organisiert sind. (HSR-Supplement-Heft 12, S. 250) Das Ziel ist es, aussagekräftige Informationen durch Verdichtung und Strukturierung von unübersichtlichen Datensammlungen zu erhalten, indem Objekte (z.B. Lieferanten) mit einer „ähnlichen Charakteristika“ zusammengefasst werden. „Ähnliche“ Objekte werden in vorgegebene Klassen eingeordnet. Für solch eine Datenanalyse benötigt man Verfahren, die unübersichtliche Datensammlungen strukturieren. Hierfür gibt es 2 Verfahren: Scharfe und unscharfe Verfahren - Scharfe: Merkmale und Klassen haben dichotomen Charakter y є { 0, 1 } - Unscharfe: Merkmale und Klassen können stetige Übergänge haben: Fuzzy Datenanalyse. y є [ 0, 1 ] z. B.: (0, 0.1, 0.2, …., 1) Ein weiteres Ziel: Fuzzy Datenanalyse direkt auf der Datenbank mit einer Anfrage durchführen ohne ein zusätzliches separates Auswerteprogramm. Realisiert wird dies, indem das fuzzy-relationale Datenmodell mit Kontexten (Kontextmodell) geeignet erweitert wird. Konkret heißt das, dass mit einer Datenbankanfrage eine unscharfe Klassifikation der in relationalen Datenbanken vorhandenen scharfen (präzisen) Daten erreicht werden soll. 1 Die Zugehörigkeitswerte der unscharfen Klassifikation sind gleichzeitig für eine Bewertung der Anfrageergebnisse nutzbar. Das ist eine zentrale Anforderung an flexible Anfragesysteme. (Papier) S.39: Flexible Anfragen an relationale Datenbanken Relationale Datenbank: In relationalen Datenbanken werden alle Daten in Tabellen dargestellt, die miteinander verknüpft werden können. In einer relationalen Datenbank stellen die Zeilen einer Tabelle die Datensätze und die Spalten die Felder dar. Es werden übereinstimmende Werte von zwei Tabellen verwendet, um die Informationen einer Tabelle mit den Informationen der anderen Tabelle in Verbindung zu bringen. (HSR-Supplement-Heft 12, S. 251) Flexible Anfragesystem für relationale Datenbanken haben das Ziel, den Komfort bei der Abfrage einer Datenbank zu verbessern. Nach Bosc und Pivert (1992, S. 323) ist das Anfragesystem einer Datenbank ein flexibles Anfragesystem, wenn es einige der folgenden Möglichkeiten bietet: -> S. 39 unten - Automatische Korrektur von syntaktischen und semantischen Fehlern bei der Eingabe von Anfragen - Browsing-Möglichkeiten - Erzeugung indirekter Antworten, die über die Ergebnisstabellen (d.h. Listen mit Tupeln) hinausgehen - Erzeugung von „diskriminierenden“ Antworten, durch Rangreihung (Sortierung) der Ergebnistupel anhand eines Kriteriums - Formulierung von impräzisen oder vagen Anfragen Die wesentliche Komponente eines flexiblen Anfragesystems ist ein Kriterium, um die verschiedenen Antworten auf eine Benutzeranfrage trennen zu können. Z. B. durch Angabe einer qualitativen Unterscheidung, wie gut die Antwort des Datenbanksystems mit der Anfrage übereinstimmt. (S.40) 2 Verschiedene Vorgehensweisen für die Realisierung eines Anfragesystems zur Unterstützung impräziser und vager Anfragen: Flexible Anfrage mit Rangkriterium: (S. 41, unten) Flexible Anfrage mit Ähnlichkeitsoperator: (S. 42, unten) Flexible Anfrage mit unscharfen Mengen: (S. 43) 3 Ähnlichkeitsbasiertes fuzzy-relationales Datenmodell 1982 veröffentlichten Buckles und Petry eine Arbeit, in der das relationale Datenmodell zur Modellierung von Unsicherheit erweitert wurde und zugleich noch kompatibel mit dem relationalen Datenmodell ist. S.45 Im relationalen Datenmodell sind nur atomare Tupelkomponenten zulässig. Das ähnlichkeitsbasierte fuzzy-relationale Datenmodell hingegen erlaubt zusätzlich Mengen diskreter Skalare oder unscharfe Zahlen als Attribute zu verwenden. Bsp. eines endlichen skalaren Wertebereichs ist die Menge {hoch, mittel, ausreichend, niedrig}. (S. 45) Analog dem Modell der geschachtelten Relationen oder NF²-Modell können Tupelkomponenten Teilmenge eines Wertebereichs Dj sein. Im ähnlichkeitsbasierten fuzzyrelationalen Datenmodell ist daher eine Tupelkomponente Element der Potenzmenge 2 Dj (ohne die leere Menge). Das "Non First Normal Form" (NFNF = [NF]²) Datenmodell ist eine Weiterentwicklung des relationalen Datenmodells bei dem auf die erste Normalform verzichtet wird. Attribute können hier wieder Tabellen sein (Mengen). Quelle: http://www.informatik.uni-trier.de/~ley/dbi/ein.html Def.: Eine unscharfe Datenbankrelation R ist eine Teilmenge des Kreuzprodukts 2 D1 x 2 D2 x … x 2 Dm. Ein beliebiges Element von R wird ein geordnetes m-Tupel oder einfach ein Tupel genannt. (S.45) Def.: Ein unscharfes Tupel t є 2 D1 x 2 D2 x … x 2 Dm ist irgendein Element von R. Ein beliebiges Tupel ti ist von der Form ti= (ti1,ti2,…,tim) mit tij Dj. (S.46) Da im ähnlichkeitsbasierten Modell mengenwertige Tupelkomponenten zulässig sind, kann es für ein Tupel mehrere Interpretationen mit atomaren (einelementigen) Tupelkomponenten geben. Def.: Eine Interpretation I=(a1,a2,…,am) eines Tupels ti=(ti1,ti2,…,tim) ist irgendeine Zuweisung von Werten, so dass aj є tij, für alle j=1,…,m. Eine weitere Möglichkeit zur Berücksichtigung einer Unschärfe besteht darin, Ähnlichkeitsrelationen über Wertebereiche Dj eines Attributs Aj einzuführen. Damit ist eine zwischen den Elementen des Wertebereichs bestehende Unsicherheit modellierbar, wenn die Elemente zu einem gewissen Grad untereinander austauschbar sind. 4 Def.: Eine Ähnlichkeitsrelation sj: Dj x Dj → [0,1], j = 1,…,m, ist eine Abbildung, so dass für alle x,y,z є Dj gilt: (i) (ii) (iii) sj(x,x)=1 sj(x,y)=sj(y,x) sj(x,z)≥max { min[sj(x,y), sj(y,z)] } y є Dj (Reflexivität) (Symmetrie) (max-min Transitivität) (-> Tabelle S. 48) s(x,y) Hoch Mittel Niedrig Hoch 1.0 0.8 0.5 Mittel 0.8 1.0 0.5 Niedrig 0.5 0.5 1.0 Ein hoher Wert von s(x,y) bedeutet, dass x und y einander sehr ähnlich sind. Z.B. Bei s(hoch,mittel)=0.8 sind „Hoch“ und „Mittel“ nahe bei einander. Max-min-Transitivität: Z.B. für den Ähnlichkeitswert des Paares (hoch,niedrig) gilt folgendes: s(hoch,niedrig) ≥ min [s(hoch,mittel), s(mittel,niedrig) ] = min [0.8,0.5] = 0.5 Die Ähnlichkeit zwischen „hoch“ und „niedrig“ darf nicht kleiner sein, als die Ähnlichkeit für „mittel“ und „niedrig“. Sie muß daher mindestens 0.5 oder größer sein. Der im klassischen Modell durchgeführte Test auf Gleichheit wir im ähnlichkeitsbasierten Modell interpretiert als „ist ähnlich zu“. Neben dem Test auf Ähnlichkeit sind bei der Auswertung eines Ausdrucks der ähnlichkeitsbasierten Relationenalgebra in einem weiteren Schritt „redundante“ Tupel zu entfernen. Ein Tupel im relationalen Datenmodell ist dann redundant, wenn es ein weiteres identisches Tupel zu diesem Tupel gibt. Redundanz bedeutet, dass gleiche Daten mehrfach vorkommen. Will man nun einen Datensatz verändern, dann existieren aber immer noch alte unveränderte Datensätze. Hier spricht man dann von Dateninkonsistenz. Entscheidend für die Redundanz eines Tupel im ähnlichkeitsbasierten fuzzy-relationalen Datenmodell ist nicht, dass es identisch mit einem anderen Tupel ist, sondern maßgebend ist die Ähnlichkeit der Tupel. Der Begriff „Redundanz“ wird im Folgenden durch „Ähnlichkeit“ ersetzt, damit die Abgrenzung deutlich ist. 5 Ermittlung ähnlicher Tupel, durch den Vergleich eines vorgegebenen Ähnlichkeitsniveaus LEVEL (Aj): Def.: Sei sj(x,y) eine max-min-transitive Ähnlichkeitsrelation über den Wertebereich Dj des Attributs Aj. Zwei Tupel ti=(ti1,ti2,…,tim) und tk=(tk1,tk2,…,tkm), i k sind einander ähnlich in Bezug auf die gegebenen LEVEL(Aj), j=1,...,m, wenn gilt: LEVEL(Aj) min [sj(x,y)] für j = 1, …., m. x,y є tij tkj Ist die durch sj(x,y) gegebene Ähnlichkeit für alle korrespondierenden Komponenten zwei Tupel größer als ein vorgegebenes LEVEL, gelten die Tupel als ähnlich. Ähnliche Tupel in der Ergebnisrelation werden durch mengentheoretische Vereinigung über alle Komponenten zu einem Tupel „verschmolzen“ oder auch „gemischt“. (S.50) Die Mischoperation darf keine Ergebnisrelation erzeugen, in der eine Interpretation zweimal auftaucht. D.h. sind ti und tk zwei Tupel einer unscharfen Relation, Ti und Tj die Menge der Interpretationen dieser Tupel, so muss Ti Tk = 0 sein, für ti tk. Diese Forderung ist nur dann erfüllt, wenn die Ähnlichkeitsrelationen sämtlicher Attribute max-min-transitiv sind. (S.51) Die max-min-Transitivität der Ähnlichkeitsrelationen stellt sicher, dass im ähnlichkeitsbasierten fuzzy-relationalen Datenmodell folgende Eigenschaften gelten: - Keine zwei Tupel einer unscharfen Relation haben eine identische Interpretation. - Jede Operation der ähnlichkeitsbasierten Relationenalgebra erzeugt ein eindeutiges Ergebnis. Diese Eigenschaften sind notwendig, um unscharfe Informationen in einer relationalen Struktur konsistent darstellen zu können, und gelten in analoger Form auch für das relationale Datenmodell. (S.52) Die Ergebnisrelation einer unscharfen Anfrage enthält Zugehörigkeitswerte zwischen Null und Eins. Die Zugehörigkeitswerte sind als Maß für die Übereinstimmung eines Tupels mit den Bedingungen der Anfrage interpretierbar. (S.52) 6 Ähnlichkeitsbasiertes fuzzy-relationales Datenmodell zur Datenstrukturierung Ähnlichkeitsbasierte fuzzy-relationale Datenmodelle werden bei Informationssystemen verwendet, die eine inhärente Ungenauigkeit enthalten. Nach Buckles und Petry trifft das in der Regel für Informationen zu, die Meinungen, Präferenzen und schwer zu schätzende Parameter repräsentieren. Z.B.: persönliche Fähigkeiten, physikalische Merkmale von Individuen, Diagnosen, ökonomische Vorhersagen Im folgenden Beispiel wird gezeigt, wie das ähnlichkeitsbasierte fuzzy-realtionale Datenmodell auch für eine Klassifizierung der in einer Datenbank vorhandenen Objekte benutzt werden kann. Dazu ist eine entsprechende Spezifizierung der LEVEL-Parameter bei der Anfrageformulierung notwendig. max-min-transitive Ähnlichkeitsrelation (Beschreibt den Grad der Austauschbarkeit): Es sind diejenigen Lieferanten in Klassen zusammenzufassen, die eine ähnliche Qualität liefern. Diese verbal formulierte Anfrage entspricht einer Projektion der Tabelle lfb auf die Attribute Lieferant und Qualität: Das Ergebnis steht in der folgenden Zwischentabelle Z: 7 Die Untersuchung der Zwischentabelle Z auf ähnliche Tupel durch die Überprüfung, ob die durch LEVEL(Qualität) = 0.5 oder LEVEL(Lieferant) = 0 vorgegebenen Ähnlichkeitswerte kleiner oder gleich dem minimalen Ähnlichkeitswert über alle Tupelkomponenten sind: 8 Ein Mischen der ähnlichen Tupel t2, t4 und t5 zu einem Tupel ergibt die folgende Ergebnistabelle E: Mischoperation führen nur dann zu einem eindeutigen Ergebnis, wenn die Ähnlichkeitsrelationen aller Attribute max-min-transitiv sind. Quelle: Schindler, Günther: Fuzzy-Datenanalyse durch Kontextbasierte Datenbankanfrage, DUV, S.1-65,1998. 9