<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marcel Zierenberg</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Algorithms</institution>
          ,
          <addr-line>Performance</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Brandenburgische Technische Universität Cottbus Institut für Informatik</institution>
          ,
          <addr-line>Informationsund Medientechnik Lehrstuhl Datenbankund Informationssysteme Postfach 10 13 44, 03013 Cottbus</addr-line>
          ,
          <country country="DE">Deutschland</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>7</lpage>
      <abstract>
        <p>Ähnlichkeitssuche beschäftigt sich mit dem Auffinden ähnlicher Objekte zu einem vorgegebenen Anfrageobjekt. Die logische Kombination verschiedener Features des Anfrageobjekts erhöht dabei die Ausdruckskraft von Anfragen und führt zu besseren Anfrageergebnissen. Um eine effiziente Suche zu ermöglichen ist eine Indexierung der Datenbankobjekte nötig. Neben einer möglichst hohen Sucheffizienz spielt die Flexibilität des Indexierungsverfahrens eine entscheidende Rolle. Das in dieser Arbeit vorgestellte Indexierungsverfahren ermöglicht eine effiziente Verarbeitung von Multi-Feature-Anfragen mit beliebigen logischen Kombinationen und Gewichtungen anhand eines einzigen Index. Die Verwendung metrischer Indexierungsmethoden garantiert die Anwendbarkeit des Konzepts für ein großes Spektrum von Features und Distanzfunktionen. similarity search, retrieval, nearest neighbor search, metric indexing, complex query</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>KURZFASSUNG</title>
    </sec>
    <sec id="sec-2">
      <title>Kategorien und Themenbeschreibung</title>
      <sec id="sec-2-1">
        <title>H.3.1 [Information Storage and Retrieval]: Content Analysis and</title>
        <p>Indexing — Indexing methods</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Allgemeine Begriffe</title>
      <p>
        EINLEITUNG
Ähnlichkeitssuche [
        <xref ref-type="bibr" rid="ref12">13</xref>
        ] verfolgt das Ziel, in einer Menge von
Objekten genau die Objekte zu finden, die einem Anfrageobjekt am
ähnlichsten sind. Die (Un-)Ähnlichkeit der Objekte wird mithilfe
von Distanz- oder Ähnlichkeitsmaßen1 anhand der aus den
Objekten extrahierten Features bestimmt. Bei einem Feature handelt es
1Im Folgenden gehen wir von Distanzmaßen aus.
sich dabei um eine Menge von Werten, die bestimmte
Eigenschaften eines Objekts charakterisieren. Die Nutzung von Features,
welche die gewünschte Semantik geeignet beschreiben, ist dabei
entscheidend für eine effektive Ähnlichkeitssuche.
      </p>
      <p>
        Die Verwendung mehrerer Features und einer geeigneten
Kombination dieser, erhöht die Ausdruckskraft von Anfragen und führt
somit zu besseren Anfrageergebnissen [
        <xref ref-type="bibr" rid="ref19">20</xref>
        ].
Multi-Feature-Anfragen nutzen daher eine Vielzahl von Features für die
Anfrageformulierung.
      </p>
      <p>
        Logikbasierte Anfragemodelle, wie die Commuting Quantum
Query Language (CQQL [
        <xref ref-type="bibr" rid="ref13">14</xref>
        ]) oder die Fuzzy-Logik [18],
erlauben die Kombination mehrerer Features mithilfe boolescher
Junktoren. Neben der verbesserten Ausdruckskraft von Anfragen wird
hierdurch eine Verbindung von (unscharfen)
Ähnlichkeitsbedingungen und (scharfen) relationalen Datenbankbedingungen
ermöglicht [
        <xref ref-type="bibr" rid="ref12">13</xref>
        ]. Eine Gewichtung der einzelnen Anfrageatome erlaubt
weiterhin eine dynamische Anpassung der Anfragen. Das Lernen
dieser Gewichte anhand von Nutzerpräferenzen [19] ermöglicht
eine schrittweise Verfeinerung von Anfragen in Form von Relevance
      </p>
      <sec id="sec-3-1">
        <title>Feedback.</title>
        <p>Der naive Ansatz zur Umsetzung einer Ähnlichkeitssuche ist der
lineare Scan der Datenbank, bei dem alle Distanzen zwischen
Anfrageobjekt und Datenbankobjekten ermittelt werden. Für
MultiFeature-Anfragen bedeutet dies, dass für jedes einzelne Feature die
Distanz zwischen Anfrage- und jedem Datenbankobjekt ermittelt
wird. Anschließend werden diese Teildistanzen für jedes Objekt
zu einer Gesamtdistanz aggregiert. Da die Evaluierung von
Distanzfunktionen mitunter hohe CPU- und das Lesen der
zugehörigen Features hohe I/O-Kosten verursachen, ist der lineare Scan
für große Datenbanken mit einer Vielzahl von Objekten und
Features nicht praktikabel. Stattdessen sollten Indexierungsverfahren
genutzt werden, um eine effizientere Suche zu realisieren. Sie
ermöglichen einen frühzeitigen Ausschluss von Objekten, die nicht
zur Ergebnismenge gehören können, und verringern somit die
Anzahl der nötigen Distanzberechnungen und I/O-Operationen.</p>
        <p>Eine besondere Anforderung an die logikbasierte Indexierung
stellt die Flexibilität dar. Die logische Kombination der Anfrage
und auch die Anfragegewichte können sich im Rahmen von
Relevance Feedback dynamisch verändern, dennoch sollte nur ein
einziger Index zur Verarbeitung beliebiger Anfragen benötigt
werden. Weiterhin sollte das Indexierungsverfahren unabhängig von
Art und Struktur der verwendeten Features und Distanzfunktionen
sein.</p>
        <p>Hauptbeitrag dieser Arbeit ist die Entwicklung eines
effizienten Indexierungsverfahrens zur Verarbeitung logikbasierter
MultiFeature-Anfragen am Beispiel von CQQL. Dazu werden
spezifische Anforderungen an die logikbasierte Indexierung definiert und
anhand dieser ein Indexierungsverfahren entworfen, das eine
effizi</p>
        <sec id="sec-3-1-1">
          <title>Tabelle 1: Umwandlung boolescher Ausdrücke in arithmetische</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Formeln in CQQL</title>
          <p>Ausdruck arithmetische Formel
:a
a ^ b
a _ b
(c ^ a) _ (:c ^ b)
1 a
a b
a + b a b
a + b
ente und gleichzeitig flexible Verarbeitung beliebiger logikbasierter
Multi-Feature-Anfragen und eine dynamische Gewichtung dieser
ermöglicht.</p>
          <p>Die Arbeit ist wie folgt aufgebaut. Abschnitt 2 definiert die
grundlegenden Begriffe und die Notationen dieser Arbeit. In
Abschnitt 3 wird ein theoretisches Anwendungsbeispiel aus dem
Bereich der Bildähnlichkeitssuche mithilfe logikbasierter
MultiFeature-Anfragen präsentiert. Auf die speziellen Anforderungen an
Indexierungsverfahren für derartige Anfragen wird in Abschnitt 4
detailliert eingegangen. Abschnitt 5 beschäftigt sich mit dem Stand
der Technik zur Indexierung. Abschnitt 6 zeigt das Konzept eines
Indexierungsverfahrens und Kriterien zur Indexauswahl.
Abschließend wird in Abschnitt 7 eine Zusammenfassung der Arbeit
gegeben.
2.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>GRUNDLAGEN</title>
      <p>Der folgende Abschnitt definiert die grundlegenden Begriffe und
die Notationen, die in dieser Arbeit verwendet werden.
2.1</p>
    </sec>
    <sec id="sec-5">
      <title>Nächste-Nachbarn-Suche</title>
      <p>Ähnlichkeitsanfragen anhand von Distanzmaßen werden auch als
k-Nächste-Nachbarn-Suche (kNN) bezeichnet und geben die k
Objekte aus einer Datenbank zurück, deren Distanz zum
Anfrageobjekt am geringsten ist.</p>
      <p>Eine Ähnlichkeitsanfrage kNN(q) besteht aus einem
Anfrageobjekt q aus dem Universum U und bezieht sich auf eine
Datenbank D = fo1; o2; : : : ; ong U von Objekten oi. Die Distanz
(Unähnlichkeit) von Objekten wird mithilfe einer Distanzfunktion
: U U 7! R 0 anhand der aus den Objekten extrahierten
Features q0 und o0i bestimmt. Das Ergebnis der Anfrage kNN(q) ist dann
eine (nichtdeterministische) Menge K D, für die gilt: jKj = k
und 8oi 2 K; oj 2 D n K : (q; oi) (q; oj ).</p>
      <p>Bei einer kNN-Anfrage bestehend aus m Features werden die
Features eines Objekts mit q0 = (q1; q2; : : : ; qm) beziehungsweise
o0i = (oi1; oi2; : : : ; oim) bezeichnet. Jedem Feature wird eine eigene
Distanzfunktion j zugeordnet. Die Teildistanzen dij aller Features
werden durch eine Aggregationsfunktion agg : Rm0 7! R 0 zu
einer Gesamtdistanz dagg vereinigt. Die k nächsten Nachbarn werden
i
dann anhand dieser Gesamtdistanz bestimmt.
2.2</p>
    </sec>
    <sec id="sec-6">
      <title>CQQL</title>
      <p>
        Für die Evaluation einer auf CQQL basierenden Anfrage werden
boolesche Ausdrücke nach ihrer DNF-Normalisierung anhand von
festgelegten Transformationsregeln in arithmetische Formeln
umgewandelt [
        <xref ref-type="bibr" rid="ref13">14</xref>
        ]. Tabelle 1 zeigt die in CQQL verwendeten
Transformationsregeln. Ebenso ist eine Umsetzung der Gewichtung in
CQQL direkt innerhalb der booleschen Logik möglich. Dazu
werden Gewichte anhand der in Tabelle 2 gezeigten
Transformationsregeln in die Logik eingebettet.
2.3
      </p>
    </sec>
    <sec id="sec-7">
      <title>Logikbasierte kNN</title>
      <p>Im Folgenden werden die in Abschnitt 2.2 beschriebenen
arithmetischen Formeln als Aggregationsfunktionen betrachtet, deren
Definitions- und Wertebereich auf Ähnlichkeitswerte im Intervall</p>
      <sec id="sec-7-1">
        <title>Tabelle 2: Einbettung von Gewichten in die Logik Ausdruck Einbettung</title>
        <p>
          [
          <xref ref-type="bibr" rid="ref1">0,1</xref>
          ] beschränkt ist: agg : [0; 1]m 7! [0; 1]. Hierbei steht ein
Ähnlichkeitswert von 1 für die maximale Ähnlichkeit (Identität),
während ein Wert von 0 die größtmögliche Unähnlichkeit darstellt.
        </p>
        <p>Um eine Nächste-Nachbarn-Suche anhand logikbasierter
Anfragen zu realisieren, müssen alle Teildistanzen dij vor ihrer
Aggregation in Ähnlichkeitswerte sij umgewandelt werden. Die
nächsten Nachbarn sind nach der Aggregation dieser Ähnlichkeitswerte
dann genau die Objekte, deren aggregierte Ähnlichkeitswerte siagg
bezüglich dem Anfrageobjekt am größten sind. Abbildung 1
verdeutlicht den Suchablauf.</p>
        <p>
          Beispiele für geeignete Funktionen zur Umwandlung von
Distanzen in Ähnlichkeitswerte sind t(x) = e x oder t(x) = 1
x , wobei max der maximale Distanzwert der genutzen
Distanzmax
funktion darstellt [
          <xref ref-type="bibr" rid="ref12">13</xref>
          ].
2Monoton fallend im i-ten Argument ist analog anhand des
Operators definiert.
        </p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>ANWENDUNGSBEISPIEL</title>
      <p>Das folgende Anwendungsbeispiel illustriert eine logikbasierte
Ähnlichkeitsanfrage anhand mehrerer Features.</p>
      <p>
        Gegeben sei eine Datenbank mit Bildern verschiedener Pilze und
Informationen über deren Art und Giftigkeit. Ziel sei es nun anhand
eines Anfragebildes eines gesammelten Pilzes, die Art des Pilzes
zu ermitteln und so zu bestimmen, ob der Pilz essbar ist. Die aus
den Bildern extrahierten Features umfassen dabei aus den
Pixeldaten erzeugte Farb- (color ) und Formfeatures (shape) sowie aus den
Metadaten stammende Informationen, wie das Datum der
Bildaufnahme (date) oder die GPS-Koordinaten des Aufnahmeortes (gps).
Zur Ermittlung der (Un-)Ähnlichkeit von Objekten werden jeweils
für das Feature geeignete Distanzfunktionen genutzt,
beispielsweise die Earth Mover’s Distanzfunktion [
        <xref ref-type="bibr" rid="ref10">11</xref>
        ] für Farbsignaturen oder
verschiedene Minkowski-Distanzfunktion (Lp-Distanzfunktion).
      </p>
      <p>Eine Anfrage, bestehend aus nur einem Feature, genügt nicht,
um eine korrekte Zuordnung der Pilzarten vorzunehmen. So kann
zum Beispiel allein anhand der Farbfeatures eines Pilzes nicht
immer ein Rückschluss auf dessen Art gezogen werden, wenn
sich etwa die Form stark von der des Anfragebildes
unterscheidet. In diesem Fall ist eine UND-Verknüpfung der Features nötig:
shape ^ color . Für den Fall, dass der Pilz des Anfragebildes
eine für seine Art sehr untypische Form aufweist (:shape ) und
daher anhand dieser nicht zugeordnet werden kann, soll stattdessen
allein anhand der GPS-Koordinaten des Bildes (gps ) auf dessen
Art geschlossen werden. Als zusätzliche relationale (scharfe)
Bedingung sollen nur Pilze betrachtet werden, die im selben Monat
gesammelt wurden, wie der Pilz des Anfragebildes (date=). Eine
logische Verknüpfung der Features eines Anfragebildes sieht dann
wie folgt aus, wobei 1; 2 für Parameter stehen, die eine
unterschiedliche Gewichtung der Teilbedingungen ermöglichen.
date= ^ ((shape
^ color ) _ 1; 2 (:shape
^ gps )) (2)</p>
      <p>Nach einer DNF-Normalisierung und Transformation anhand
der in Abschnitt 2.2 beschriebenen Transformationsregeln, ergibt
sich aus dem booleschen Ausdruck (2) folgende arithmetische
Formel:
( 1
( 2
date=
date=
shape</p>
      <p>color ) +
(1
shape ) gps )
(3)</p>
    </sec>
    <sec id="sec-9">
      <title>ANFORDERUNGEN</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref12">13</xref>
        ] werden allgemeine Anforderungen an
Indexierungsverfahren im Bereich des Multimedia Retrievals definiert. Auf Grundlage
dieser werden im Folgenden die spezifischen Anforderungen für
Indexierungsverfahren zur effizienten Verarbeitung von
logikbasierten Multi-Feature-Anfragen vorgestellt.
      </p>
      <p>Flexibilität: Multi-Feature-Anfragen setzen sich aus
unterschiedlichen Features und Distanzfunktionen zusammen, das
Indexierungsverfahren muss daher unabhängig von Art und Struktur der
Features sein und ein breites Spektrum an Distanzfunktionen
unterstützen. Die Anzahl der unterschiedlichen zur Verfügung stehenden
Features ist potentiell hoch. Das Indexierungsverfahren muss
daher mit einer großen Menge von Features umgehen können, auch
wenn nur eine Teilmenge dieser für eine Anfrage genutzt wird. Je
nach Anfrage können sich die genutzten Features unterscheiden.
Ebenso sind unterschiedliche logische Kombinationen und
unterschiedliche Gewichtungen der selben Features möglich. Das
Indexierungsverfahren darf daher nicht nur auf eine logische
Kombination zugeschnitten werden, sondern muss mit beliebigen logischen
Kombinationen und Gewichtungen umgehen können.</p>
      <p>
        Sucheffizienz: Die Anzahl der nötigen Berechnungen der
Distanzfunktion und die Anzahl von I/O-Operationen (Seitenzugriffe)
dienen als Effizienzmaß für Indexierungsverfahren. Die Grundlage
für die Bewertung der Sucheffizienz bildet der Vergleich mit dem
Suchaufwand des linearen Scans der Datenbank. Ein effizientes
Indexierungsverfahren sollte diesen linearen Aufwand stets
unterbieten. Es existieren zwar Verfahren, welche eine sehr hohe
Sucheffizienz bieten, dabei aber einen nicht realisierbar hohen
Speicherverbrauch verursachen (vgl. [
        <xref ref-type="bibr" rid="ref15">16</xref>
        ]). Ein geeignetes
Indexierungsverfahren sollte daher einen möglichst geringen Speicherverbrauch bei
gleichzeitig möglichst hoher Sucheffizienz aufweisen.
      </p>
      <p>
        Skalierbarkeit: Ein inhärentes Problem der Ähnlichkeitssuche
ist der Fluch der hohen Dimensionen (FdhD [
        <xref ref-type="bibr" rid="ref12 ref5">13, 5</xref>
        ]). Dieser
bewirkt, dass die Performanz von Indexierungsverfahren mit
steigender (intrinsischer) Dimensionalität3 eines Features abnimmt.
Indexierungsverfahren können den Suchaufwand des linearen Scans
dann nicht mehr signifikant unterbieten oder übersteigen ihn
sogar. Analog zur Erhöhung der Dimensionsanzahl bei einem Feature
lässt sich der FdhD auch bei Multi-Feature-Anfragen beobachten.
Die Kombination von Features bewirkt hier ebenfalls eine
Erhöhung der (intrinsischen) Dimensionalität. Ein geeignetes
Indexierungsverfahren für Multi-Feature-Anfragen muss daher
Möglichkeiten bieten, mit dem FdhD umzugehen und möglichst ohne
Effizienzeinbußen skalierbar bezüglich der (intrinsischen)
Dimensionalität einzelner Features und der Kombination mehrerer Features
sein.
5.
      </p>
    </sec>
    <sec id="sec-10">
      <title>STAND DER TECHNIK</title>
      <p>Der folgende Abschnitt geht auf den Stand der Technik auf dem
Gebiet der effizienten Verarbeitung von Multi-Feature-Anfragen
ein. Die existierenden Verfahren werden kurz vorgestellt und
ausschnittsweise hinsichtlich der in Abschnitt 4 definierten
Anforderungen bewertet. Wir beschränken uns dabei auf Verfahren für die
exakte Suche der nächsten Nachbarn und gehen nicht auf
Spezialfälle wie die approximative Suche oder zusätzliche Anfragearten
wie getNext (Ranking-Anfrage) ein.
5.1</p>
    </sec>
    <sec id="sec-11">
      <title>Combiner-Algorithmen</title>
      <p>
        Combiner-Algorithmen [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] kombinieren die Ergebnisse mehrerer
Ähnlichkeitsanfragen zu einem aggregierten Ergebnis. Für
MultiFeature-Anfragen existiert dazu je Feature eine nach Distanz4 zum
Anfrageobjekt sortierte Liste der Datenbankobjekte.
      </p>
      <p>Combiner-Algorithmen sind keine Indexierungsverfahren,
sondern arbeiten auf einer darüber liegenden Ebene. Sie legen nicht
fest, wie die sortierten Listen bereitgestellt werden. Um eine
effiziente Suche zu ermöglichen, sollte der Zugriff über
Indexierungsverfahren mit Unterstützung von getNext-Anfragen umgesetzt
werden.</p>
      <p>
        Combiner-Algorithmen erlauben eine dynamische Auswahl der
verwendeten Features sowie unterschiedliche
Aggregationsfunktionen und Gewichtungen. Aufgrund der Forderung nach globaler
Monotonie kommen sie jedoch nicht für alle logikbasierten
MultiFeature-Anfragen in Frage. Formel 3 ist beispielsweise nicht
global monoton steigend, da eine Erhöhung des Ähnlichkeitswerts
shape nicht in jedem Fall zu einer Erhöhung des aggregierten
Ähnlichkeitswerts führt. Ein weiterer Nachteil ist die geforderte
Bereitstellung der sortierten Listen, da Indexstrukturen mit
effizienten getNext-Anfragen nicht immer zur Verfügung stehen und sich
durch die getrennte Verwaltung jedes einzelnen Index ein
Mehraufwand ergibt.
3Die Dimensionalität eines Features ergibt sich aus der Anzahl
seiner Featurewerte. Die intrisische Dimensionalität lässt sich
beispielsweise anhand der paarweisen Distanzen zwischen den
Featurewerten der Datenbankobjekte abschätzen und ist dann definiert
als = 2=2 2 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
4Combiner-Algorithmen sind ohne größere Anpassungen auch für
Ähnlichkeitswerte nutzbar.
5.2
      </p>
    </sec>
    <sec id="sec-12">
      <title>Räumliche Indexierung</title>
      <p>Räumliche Indexierungsverfahren gehen davon aus, dass die
Features in Form von Vektoren vorliegen und die euklidsche
Distanzfunktion (L2-Distanzfunktion) zur Berechnung der Unähnlichkeit
zwischen den Featurevektoren verwendet wird. Da diese
Beschränkung im Widerspruch zur Flexibilität steht, scheidet die
Verwendung räumlicher Indexierungsverfahren aus. Dennoch soll im
Folgenden auf sie eingegangen werden, da ihre Konzepte teilweise
übertragbar sind.</p>
      <p>
        Hierarchische Verfahren, wie zum Beispiel der R-Baum [9],
beschreiben Mengen von Objekten durch geometrische Regionen
(Cluster). Aufgrund des Fluchs der hohen Dimensionen sinkt die
Sucheffizienz dieser Verfahren jedoch bereits ab einer
Dimensionsanzahl der Featurevektoren von 10-20 unter die des linearen
Scans [
        <xref ref-type="bibr" rid="ref12">13</xref>
        ]. Im Folgenden stellen wir daher lediglich den
nichthierarchischen Ansatz der VA-Datei vor.
5.2.1
      </p>
      <p>VA-Datei</p>
      <sec id="sec-12-1">
        <title>Die Vektor-Approximations-Datei (VA-Datei) [17] ist ein nicht</title>
        <p>hierarchisches Verfahren und akzeptiert den FdhD in dem Sinne,
dass sie statt Cluster zu bilden, direkt einen linearen Scan der
Datenbank durchführt. Sie setzt dazu einen Filter-Refinement-Ansatz
auf Basis kompakter Bitsignaturen ein. Ziel dieses Ansatzes ist es
in der Filterphase, anhand der durch Bitsignaturen approximierten
Objekte, Distanzgrenzen zu ermitteln und mithilfe dieser möglichst
viele Objekte von der weiteren Suche auszuschließen. Die exakte
Distanz muss in der Verfeinerungsphase dann lediglich für die
Objekte berechnet werden, die in der Filterphase nicht ausgeschlossen
werden konnten.</p>
        <p>Die Sucheffizienz des Verfahrens ergibt sich daraus, dass die
Bitsignaturen in der Filterphase sequentiell aus Signaturdateien
gelesen werden und durch den Ausschluss von Objekten die
Anzahl teurer, wahlfreier Zugriffe in der Verfeinerungsphase
verringert wird. Für Multi-Feature-Anfragen ist eine Anpassung der
VADatei nötig.
5.2.2</p>
        <p>
          GeVAS
GeVAS [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] ist eine Erweiterung der VA-Datei für
Multi-FeatureAnfragen und erlaubt eine dynamische Auswahl der in der
Anfrage verwendeten Features aus einer großen Menge vorhandener
Features. Für jedes Feature wird dazu eine separate VA-Datei
erzeugt, wobei die Reihenfolge der Objekte in allen Signaturdateien
gleich ist. Bei einer Multi-Feature-Anfrage werden nun nur die
Signaturdateien der Features parallel abgearbeitet, die tatsächlich in
der Anfrage eingesetzt werden. Für jedes einzelne Feature eines
Objekts werden Distanzgrenzen ermittelt und dynamisch zu
aggregierten Distanzgrenzen zusammengefasst. Der Ausschluss von
Objekten geschieht in der Filterphase anhand dieser aggregierten
Distanzgrenzen. Voraussetzung für die korrekte Aggregation von
Distanzgrenzen ist, dass die Aggregationsfunktion global
monoton steigend ist. Diese Forderung lässt sich jedoch so
abschwächen, dass beliebige, logikbasierte Multi-Feature-Anfragen
ermöglicht werden (siehe Abschnitt 6.1).
        </p>
        <p>
          Liegen die einzelnen VA-Dateien auf der gleichen Festplatte
(HDD) ergeben sich für GeVAS Effizienzprobleme beim Lesen der
Daten vom Sekundärspeicher, da statt jede VA-Datei einzeln
sequentiell zu lesen, der Lesekopf der Festplatte zwischen den
verschiedenen VA-Dateien hin und her springen muss [
          <xref ref-type="bibr" rid="ref12">13</xref>
          ].
5.3
        </p>
      </sec>
    </sec>
    <sec id="sec-13">
      <title>Metrische Indexierung</title>
      <sec id="sec-13-1">
        <title>Metrische Indexierungsverfahren stellen keine Anforderungen an</title>
        <p>die Art der Featuredaten. Im Gegensatz zu räumlichen
Indexierungsverfahren erlauben sie daher auch die Indexierung von
Features bei denen es sich nicht um Vektoren handelt (zum Beispiel
textuelle Daten) oder die nicht die euklidsche Distanzfunktion
verwenden. Sie erfordern lediglich das Vorliegen einer Metrik.</p>
        <p>Eine Metrik ist eine Distanzfunktion, für die folgenden
Eigenschaften für alle oi; oj ; ok 2 U gelten: (oi; oj ) &gt; 0 für oi 6= oj
(Positivität), (oi; oi) = 0 (Selbstidentität), (oi; oj ) = (oj ; oi)
(Symmetrie) und (oi; ok) (oi; oj ) + (oj ; ok)
(Dreiecksungleichung).</p>
        <p>Der Ausschluss von Objekten wird mithilfe der
Dreiecksungleichung erreicht, die es ermöglicht, untere und obere Grenzen
bezüglich der Distanz von Anfrageobjekt und Datenbankobjekten zu
bestimmen. Die Grenzen können effizient anhand von
vorberechneten Distanzen zu einem oder mehreren Referenzobjekten5 ermittelt
werden. Die untere und die obere Grenze für die Distanz (q; oi)
und ein Referenzobjekt p sind wie folgt definiert:
j (q; p)
|</p>
        <p>{z
lb (q;oi)
(p; oi)j
}
(q; oi)
|
(q; p) + (p; oi)</p>
        <p>{z }
ub (q;oi)
(4)</p>
        <p>
          Analog zu räumlichen Indexierungsverfahren lässt sich zwischen
hierarchischen (M-Baum [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]) und nicht-hierarchischen (AESA [
          <xref ref-type="bibr" rid="ref15">16</xref>
          ])
metrischen Indexierungsverfahren unterscheiden. Eine
umfassende Übersicht metrischer Indexierungsverfahren bietet zum Beispiel
das Lehrbuch von Samet [
          <xref ref-type="bibr" rid="ref11">12</xref>
          ].
        </p>
        <p>
          Der Großteil der existierenden metrischen
Indexierungsverfahren ist auf die Indexierung anhand einer einzigen
Distanzfunktion ausgelegt. Die Forderung nach der Unterstützung beliebiger
logischer Kombinationen kann daher nicht erfüllt werden.
MultiMetrische Indexierungsverfahren [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] ermöglichen die Indexierung
auf Grundlage einer dynamischen Kombination mehrerer
Distanzfunktionen zu einer Aggregationsfunktion. Sie unterstützen
dadurch mit einem einzigen Index unterschiedliche Gewichtungen
der gleichen Aggregationsfunktion. Da es sich bei der
Aggregationsfunktion jedoch um eine Metrik handeln muss, ist diese auf die
gewichtete Summe metrischer Distanzfunktion beschränkt. Für
logikbasierte Multi-Feature-Anfragen sind diese Verfahren daher nur
eingeschränkt anwendbar.
5.3.1
        </p>
        <p>
          M2-Baum
Der M2-Baum [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] ist eine Erweiterung des M-Baums für
MultiFeature-Anfragen. Statt die Distanzen bezüglich aller Features
bereits bei der Indexierung zu aggregierten Distanzen
zusammenzufassen, werden die Distanzgrenzen bei der Anfrage dynamisch
für jedes einzelne Feature abgeschätzt. Diese Grenzen werden
anschließend in Ähnlichkeitswerte umgewandelt und zu aggregierten
Ähnlichkeitsgrenzen kombiniert (vergleiche aggregierte
Distanzgrenzen bei GeVAS). Der Vorteil bei diesem Vorgehen ist, dass die
metrischen Eigenschaften in diesem Fall nicht für die
Aggregationsfunktion gelten müssen, sondern nur für jede zugrundeliegende
Distanzfunktionen.
        </p>
        <p>
          Der M2-Baum verlangt die lokale Monotonie der
Aggregationsfunktion. Die arithmetische Formel 3 erfüllt jedoch auch
diese Eigenschaft nicht. Analog zu GeVAS lässt sich die
MonotonieEigenschaft aber auch hier so abschwächen, dass beliebige,
logikbasierte Multi-Feature-Anfragen möglich werden (siehe
Abschnitt 6.1). Der M2-Baum erlaubt somit beliebige, logische
Kombinationen und eine dynamische Auswahl der tatsächlich genutzten
Features. Da es sich beim M2-Baum um ein hierarchisches
Verfahren handelt, nimmt die Sucheffizienz jedoch aufgrund des Fluchs
der hohen Dimensionen mit steigender intrinsischer
Dimensionalität der Features stärker ab, als bei nicht-hierarchischen Verfahren
[
          <xref ref-type="bibr" rid="ref12">13</xref>
          ].
5Für Referenzobjekte existieren unterschiedliche Benennungen in
der Literatur, wie zum Beispiel Routing-, Focus-, Vantage- oder
Pivot-Objekt, die das gleiche Konzept widerspiegeln.
        </p>
      </sec>
    </sec>
    <sec id="sec-14">
      <title>KONZEPT</title>
      <p>Dieser Abschnitt beschreibt das Konzept eines
Indexierungsverfahrens zur effizienten Verarbeitung logikbasierter
Multi-FeatureAnfragen. Dazu wird zuerst auf die Berechnung aggregierter
Distanzgrenzen eingegangen. Die Übertragung des GeVAS-Ansatzes
auf den metrischen Raum stellt den Kern des Konzepts dar. Wir
wählen GeVAS aufgrund seiner Flexibilität im Bezug auf
Featureanzahl und -auswahl sowie aufgrund seiner besseren
Skalierbarkeit im Bezug auf die Dimensionalität als hierarchische Verfahren.
Zusätzliche Anpassungen, wie die direkte Berechnung exakter
Distanzen für eine Teilmenge der Features, dienen dazu, die
Sucheffizienz des entworfenen Verfahrens bei steigender Featureanzahl zu
verbessern.
6.1</p>
    </sec>
    <sec id="sec-15">
      <title>Aggregierte Distanzgrenzen</title>
      <p>
        Die korrekte Berechnung aggregierter Distanzgrenzen6 hängt von
der Monotonie der Aggregationsfunktion ab. Zur Berechnung der
oberen Distanzgrenze einer global monoton steigenden
Aggregationsfunktion müssen die oberen Grenzen aller Teildistanzen in die
Aggregationsfunktion eingesetzt werden [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Für die obere Distanzgrenze lokal monotoner
Aggregationsfunktionen kommt es auf die Monotonie der einzelnen Argumente an.
Bei monoton steigenden Argumenten muss die obere
Distanzgrenze und bei monoton fallenden Argumenten die untere
Distanzgrenze eingesetzt werden [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>Die arithmetische Formel (3) ist nicht lokal monoton. Jedoch
liegt eine Monotonie vor, für die wir den Begriff fixe Monotonie
einführen. Hierbei hängt die Monotonie eines Arguments der
Aggregationsfunktion von den Wertebelegungen der anderen
Argumente ab. Eine fix monotone Funktion kann also in einem
Argument für bestimmte Wertebelegungen monoton fallend und für alle
andere Wertebelegungen monoton steigend sein. In Formel (3)
ergibt sich die fixe Monotonie daraus, dass das Argument shape
in einem Teil der Formel negiert und in einem anderen Teil
nichtnegiert auftritt.</p>
      <p>Die aggregierte obere Distanzgrenze für fix monotone
Funktionen ergibt sich durch das Einsetzen aller möglichen Kombinationen
von oberen und unteren Grenzen in die Aggregationsfunktion und
einer Auswahl des maximalen Ergebnisses.</p>
      <p>C = dl1b ; d1ub
daugbg = max agg(c)
c2C
fdlmb ; dumb g
(5)
(6)
Wie zuvor erwähnt, lässt sich die Berechnung der aggregierten
Grenzen in GeVAS und M2-Baum entsprechend anpassen.</p>
      <p>Es kann gezeigt werden, dass alle mithilfe von CQQL erzeugten
arithmetischen Formeln eine der beschriebenen Monotonien
erfüllen. Die Monotonie kann dabei allein anhand der Syntax der
Anfrage bestimmt werden. Auf die Darstellung der Beweise dieser
Eigenschaften wird an dieser Stelle aus Platzgründen verzichtet.
6.2</p>
    </sec>
    <sec id="sec-16">
      <title>Metrisches Filter-Refinement</title>
      <p>Im Gegensatz zu GeVAS werden die Signaturen beim metrischen
Filter-Refinement nicht anhand der Featuredaten der
Datenbankobjekte ermittelt, sondern ergeben sich aus den Distanzen der
Datenbankobjekte zu Referenzobjekten. Jede Signaturdatei besteht daher
aus den Bitsignaturen der Distanzen jedes Datenbankobjekts zu
einer Menge von Referenzobjekten. Die Reihenfolge der
Datenbankobjekte ist dabei in allen Signaturdateien gleich. Die kNN-Suche
verläuft analog zu GeVAS, wobei der Ausschluss von Objekten
jedoch anhand aggregierter Ähnlichkeitsgrenzen stattfindet.
6Die Beschreibungen lassen sich analog auf Ähnlichkeitsgrenzen
anwenden.</p>
      <p>
        Für die Auswahl geeigneter Referenzobjekte stehen
verschiedene Verfahren zur Verfügung, darunter die zufällige Auswahl oder
die inkrementelle Auswahl entfernter Objekte [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Um möglichst
enge Grenzen zu garantieren, nutzt jedes Datenbankobjekt eine
dynamisch ausgewählte Teilmenge seiner nächsten Referenzobjekte.
      </p>
      <p>
        Bei der Indexerzeugung werden für einen repräsentativen
Ausschnitt der Datenbank die paarweisen Distanzen je Feature
bestimmt. Ein Equi-Height-Histogramm [
        <xref ref-type="bibr" rid="ref9">10</xref>
        ] dieser Distanzen wird
genutzt um Distanzintervalle für jedes Feature zu berechnen.
Diese Distanzintervalle dienen dann der Quantisierung der Distanzen
zwischen Referenzobjekten und Datenbankobjekten. Statt also zur
Indexierung exakte Distanzen zu speichern, werden die exakten
Distanzen durch nummerierte Distanzintervalle repräsentiert (vgl.
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Die kompakte Darstellung dieser Nummern durch
Bitsignaturen verringert den Speicherverbrauch und erhöht gleichzeitig die
Sucheffizienz in der Filterphase, da weniger Daten von der
Festplatte gelesen werden müssen. Der Approximationsfehler der
Distanzgrenzen steigt jedoch durch die Verwendung von
Distanzintervallen. Die Festlegung der Anzahl an Bits pro Signatur entspricht
daher der Steuerung der Genauigkeit der Distanzintervalle.
6.3
      </p>
    </sec>
    <sec id="sec-17">
      <title>Lesefenster</title>
      <p>Dem in Abschnitt 5.2.2 erläuterten GeVAS-Problem der sinkenden
Sucheffizienz bei der Ablage aller Signaturedateien auf einer
Festplatte begegnen wir mit der Einführung eines Lesefensters. Statt für
jedes Objekt parallel auf alle genutzten Signaturdateien
zuzugreifen, wird jede Signaturdatei einzeln in Größe des Lesefensters
ausgelesen. Der Vorteil dabei ist, dass längere sequentielle Lesephasen
entstehen und weniger Sprünge zwischen den Signaturdateien
stattfinden. Allerdings müssen die gelesenen Daten jeweils solange im
Hauptspeicher gehalten werden, bis alle genutzten Signaturdateien
in Größe des Lesefensters abgearbeitet wurden.
6.4</p>
    </sec>
    <sec id="sec-18">
      <title>Begrenzter Hauptspeicher</title>
      <p>Ein Problem des Filter-Refinements ist, dass alle Objekte, die in der
Filterphase nicht ausgeschlossen werden können, bis zur
Verfeinerungsphase in einer nach unterer Distanzgrenze sortierten
Kandidatenliste gehalten werden müssen. Für große Datenbanken kann es
jedoch vorkommen, dass der vorhandene Hauptspeicher dazu nicht
ausreicht. Ein weiteres Lesefenster ermöglicht daher die
Einhaltung von festen Grenzen für die Hauptspeichernutzung.</p>
      <p>
        Nach einem in [
        <xref ref-type="bibr" rid="ref14">15</xref>
        ] vorgeschlagenen Prinzip werden Filter- und
Verfeinerungsphase verschränkt. Die Filterphase wird gestoppt,
sobald eine festgelegte Speichergrenze erreicht ist. In der nun
folgenden Verfeinerungsphase wird die Kandidatenliste abgearbeitet, bis
k vorläufige nächste Nachbarn ermittelt wurden. Damit diese k
Objekte nicht verloren gehen, werden sie abschließend in die zuvor
geleerte Kandidatenliste eingefügt, bevor die Filterphase wieder an
der abgebrochenen Stelle fortgesetzt wird. Der Effizienznachteil
dieses Vorgehens ist, dass das sequentielle Lesen der Filterphase
regelmäßig unterbrochen wird und durch einen wahlfreien Zugriff
wieder fortgesetzt werden muss.
6.5
      </p>
    </sec>
    <sec id="sec-19">
      <title>Steigende Featureanzahl</title>
      <p>Steigt die Anzahl der in der Anfrage genutzten Features, steigt der
Approximationsfehler bei der Abschätzung der aggregierten
Ähnlichkeitsgrenzen, da alle Teildistanzen in Form von Distanzgrenzen
eingehen. Für Anfragen mit vielen Features bedeutet dies, dass sich
die Anzahl der Objekte, die anhand dieser Grenzen ausgeschlossen
werden können, verringert und die Sucheffizienz des Verfahrens
sinkt.</p>
      <p>Um diesem Problem zu begegnen, werden bei steigender
Featureanzahl, statt Distanzgrenzen für jedes einzelne Feature zu
nutzen, nur noch für eine Teilmenge der verwendeten Features
Distanzgrenzen abgeschätzt. Für alle anderen Features werden direkt
die exakten Distanzen berechnet. Aus der exakten Berechnung von
Teildistanzen ergibt sich ein Mehraufwand gegenüber der Nutzung
von Distanzgrenzen. Dieser Mehraufwand kann jedoch
ausgeglichen werden, wenn durch diese exakte Berechnung genügend
zusätzliche Objekte ausgeschlossen werden können.</p>
      <p>Dieses Prinzip lässt sich in der Filterphase anwenden um mehr
Objekte auszuschließen. Analog zum sequentiellen Lesen der
Signaturdateien müssen die Features in diesem Fall ebenfalls
sequentiell gelesen werden, um die Sucheffizienz in der Filterphase zu
garantieren.</p>
      <p>Das gleiche Prinzip kann in der Verfeinerungsphase genutzt
werden, um die Suche früher und mit weniger exakten
Distanzberechnungen abbrechen zu können. Statt für ein Objekt in der
Verfeinerungsphase direkt alle Teildistanzen auf einmal exakt zu
berechnen und zu aggregieren, wird schrittweise vorgegangen. Jedes Mal,
wenn ein Objekt in der Verfeinerungsphase am Anfang der
Kandidatenliste steht, für das noch nicht alle Teildistanzen berechnet
wurden, wird eine Teildistanz berechnet und das Objekt anhand
der neuen (genaueren) aggregierten Ähnlichkeitsgrenze wieder in
die Kandidatenliste einsortiert. Ein Vorteil ergibt sich dann, wenn
der Ausschluss eines Objekts von nur wenigen Teildistanzen
abhängt. Bei einer geeigneten Reihenfolge der berechneten
Teildistanzen müssen dann nur diese diskriminierenden Distanzen
exakt berechnet werden, die Berechnung aller weiteren Teildistanzen
kann gespart werden.</p>
      <p>Die Auswahl der Features, für die exakte Distanzen berechnet
werden, erfolgt statisch (zur Indexierungszeit) oder dynamisch (zur
Anfragezeit) nach unterschiedlichen Kriterien, wie der
(intrinsischen) Dimensionalität der Features oder der Berechnungsdauer
der zugehörigen Distanzfunktion.
6.6</p>
    </sec>
    <sec id="sec-20">
      <title>Indexauswahl</title>
      <p>Die Sucheffizienz des beschriebenen Verfahrens hängt besonders
von der Anzahl der verwendeten Features und der daraus
resultierenden (intrinsischen) Dimensionalität ab. Hierarchische
Verfahren können bei niedriger (intrinsischer) Dimensionalität, aufgrund
der hohen Lokalität der Daten, größere Mengen von Objekten auf
einmal ausschließen und dadurch effizienter als nicht-hierarchische
Verfahren sein. Ein Vergleich des entworfenen Konzepts mit dem
angepassten M2-Baum dient daher zur Bestimmung der
Schnittpunkte bezüglich der Sucheffizienz beider Ansätze. Eine Selektion
des effizienteren Index kann dann entweder bereits bei der
Indexerzeugung oder erst zur Anfragezeit anhand der in der Anfrage
genutzten Features und ihrer (intrinsischen) Dimensionalität
stattfinden. Überschreitet die (intrinsische) Dimensionalität eine
bestimmte Grenze, ist unter Umständen ein Rückfall auf den linearen Scan
sinnvoll.</p>
    </sec>
    <sec id="sec-21">
      <title>ZUSAMMENFASSUNG</title>
      <p>In dieser Arbeit wurde ein Konzept zur flexiblen Indexierung für
Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen
vorgestellt. Dazu wurden die spezifischen Anforderungen an geeignete
Indexierungsverfahren definiert und der Stand der Technik im
Bezug auf diese Anforderungen analysiert. Das entwickelte Konzept
zur Indexierung basiert auf einer Übertragung und Anpassung des
GeVAS-Ansatzes auf den metrischen Raum. Der Index ist dadurch
unabhängig von der genutzten logischen Kombination, der Art und
Struktur der verwendeten Features und unterstützt eine Vielzahl
unterschiedlicher Features und Distanzfunktionen zur Berechnung
der Unähnlichkeit.</p>
      <p>Als zukünftige Arbeiten verbleiben Teile der Implementierung,
die Bestimmung der optimalen Indexparameter und die
Evaluation des Konzeptes anhand von synthetischen und realen Daten. Die
Unterstützung von Multi-Objekt-Anfragen sowie von
Distanzfunktionen die keine Metriken sind, stellen weitere Herausforderungen
dar.</p>
      <p>Literatur
[9] Antonin Guttman. “R-trees: a dynamic index structure for spatial
searching”. In: Proceedings of the 1984 ACM SIGMOD
international conference on Management of data. SIGMOD ’84. 1984, S. 47–
57.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Stanislav</given-names>
            <surname>Barton</surname>
          </string-name>
          <article-title>u. a. “Estimating the indexability of multimedia descriptors for similarity searching”</article-title>
          .
          <source>In: Adaptivity, Personalization and Fusion of Heterogeneous Information. RIAO '10</source>
          .
          <year>2010</year>
          , S.
          <fpage>84</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Klemens</given-names>
            <surname>Böhm</surname>
          </string-name>
          <article-title>u. a. “Fast Evaluation Techniques for Complex Similarity Queries”</article-title>
          .
          <source>In: Proceedings of the 27th International Conference on Very Large Data Bases. VLDB '01</source>
          .
          <year>2001</year>
          , S.
          <fpage>211</fpage>
          -
          <lpage>220</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Bustos</surname>
          </string-name>
          ,
          <article-title>Gonzalo Navarro und Edgar Chávez. “Pivot selection techniques for proximity searching in metric spaces”</article-title>
          . In: Pattern Recogn.
          <source>Lett</source>
          .
          <volume>24</volume>
          (
          <issue>14</issue>
          <year>2003</year>
          ), S.
          <fpage>2357</fpage>
          -
          <lpage>2366</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Bustos</surname>
          </string-name>
          und Tomáš Skopal. “
          <article-title>Dynamic similarity search in multi-metric spaces”</article-title>
          .
          <source>In: Proceedings of the 8th ACM international workshop on Multimedia information retrieval. MIR '06</source>
          .
          <year>2006</year>
          , S.
          <fpage>137</fpage>
          -
          <lpage>146</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Edgar</given-names>
            <surname>Chávez</surname>
          </string-name>
          <article-title>u. a. “Searching in metric spaces”</article-title>
          .
          <source>In: ACM Comput. Surv</source>
          .
          <volume>33</volume>
          (3
          <year>2001</year>
          ), S.
          <fpage>273</fpage>
          -
          <lpage>321</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Ciaccia und Marco</surname>
          </string-name>
          <article-title>Patella. “The M2-tree: Processing Complex Multi-Feature Queries with Just One Index”</article-title>
          . In: DELOS Workshop: Information Seeking, Searching and Querying in Digital Libraries.
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          , Marco Patella und Pavel Zezula. “
          <article-title>M-tree: An Efficient Access Method for Similarity Search in Metric Spaces”</article-title>
          .
          <source>In: VLDB'97, Proceedings of 23rd International Conference on Very Large Data Bases, August 25-29</source>
          ,
          <year>1997</year>
          , Athens, Greece. Hrsg. von Matthias Jarke u. a.
          <year>1997</year>
          , S.
          <fpage>426</fpage>
          -
          <lpage>435</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Ronald</given-names>
            <surname>Fagin</surname>
          </string-name>
          , Amnon Lotem und Moni Naor. “
          <article-title>Optimal aggregation algorithms for middleware”</article-title>
          . In:
          <article-title>Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems</article-title>
          .
          <source>PODS '01</source>
          .
          <year>2001</year>
          , S.
          <fpage>102</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Yannis</given-names>
            <surname>Ioannidis</surname>
          </string-name>
          . “
          <article-title>The history of histograms (abridged)”</article-title>
          .
          <source>In: Proceedings of the 29th international conference on Very large data bases - Volume 29. VLDB '03</source>
          .
          <year>2003</year>
          , S.
          <fpage>19</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Yossi</surname>
            <given-names>Rubner</given-names>
          </string-name>
          , Carlo Tomasi und
          <string-name>
            <surname>Leonidas J. Guibas.</surname>
          </string-name>
          “
          <article-title>The Earth Mover's Distance as a Metric for Image Retrieval”</article-title>
          .
          <source>In: Int. J. Comput. Vision</source>
          <volume>40</volume>
          (2
          <year>2000</year>
          ), S.
          <fpage>99</fpage>
          -
          <lpage>121</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Hanan</given-names>
            <surname>Samet</surname>
          </string-name>
          .
          <article-title>Foundations of Multidimensional and Metric Data Structures</article-title>
          (The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling).
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Ingo</given-names>
            <surname>Schmitt</surname>
          </string-name>
          . Ähnlichkeitssuche in Multimedia-Datenbanken - Retrieval, Suchalgorithmen und Anfragebehandlung.
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Ingo</given-names>
            <surname>Schmitt</surname>
          </string-name>
          . “QQL:
          <string-name>
            <surname>A DB</surname>
          </string-name>
          &amp;
          <article-title>IR Query Language”</article-title>
          .
          <source>In: The VLDB Journal 17 (1</source>
          <year>2008</year>
          ), S.
          <fpage>39</fpage>
          -
          <lpage>56</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [15]
          <article-title>Ingo Schmitt und Sören Balko. “Filter ranking in high-dimensional space”</article-title>
          .
          <source>In: Data Knowl. Eng</source>
          .
          <volume>56</volume>
          (3
          <year>2006</year>
          ), S.
          <fpage>245</fpage>
          -
          <lpage>286</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Enrique</surname>
            <given-names>Vidal. “</given-names>
          </string-name>
          <article-title>An algorithm for finding nearest neighbours in (approximately) constant average time”</article-title>
          .
          <source>In: Pattern Recognition Letters 4.3</source>
          (
          <issue>1986</issue>
          ), S.
          <fpage>145</fpage>
          -
          <lpage>157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Roger</surname>
            <given-names>Weber</given-names>
          </string-name>
          ,
          <article-title>Hans-Jörg Schek und Stephen Blott. “A Quantitative Analysis and Performance Study for Similarity-Search Methods in High-Dimensional Spaces”</article-title>
          .
          <source>In: Proceedings of the 24rd International Conference on Very Large Data Bases. VLDB '98</source>
          .
          <year>1998</year>
          , S.
          <fpage>194</fpage>
          -
          <lpage>205</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <given-names>Lofti A.</given-names>
            <surname>Zadeh</surname>
          </string-name>
          . “
          <article-title>Fuzzy Logic”</article-title>
          .
          <source>In: Computer</source>
          <volume>21</volume>
          (
          <year>1988</year>
          ), S.
          <fpage>83</fpage>
          -
          <lpage>93</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <article-title>David Zellhöfer und Ingo Schmitt. “A preference-based approach for interactive weight learning: learning weights within a logicbased query language”</article-title>
          .
          <source>In: Distributed and Parallel Databases</source>
          <volume>27</volume>
          (1
          <year>2010</year>
          ), S.
          <fpage>31</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [20]
          <article-title>David Zellhöfer und Ingo Schmitt. “Approaching Multimedia Retrieval from a Polyrepresentative Perspective”</article-title>
          . In: Adaptive Multimedia Retrieval. Context, Exploration, and
          <string-name>
            <surname>Fusion</surname>
          </string-name>
          .
          <source>Hrsg. von Marcin Detyniecki u. a. Bd. 6817. Lecture Notes in Computer Science</source>
          .
          <year>2011</year>
          , S.
          <fpage>46</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>