Redundanz (Informationstheorie)

aus Wikipedia, der freien Enzyklopädie

Der Begriff der Redundanz (von lateinisch redundare, „überlaufen, sich reichlich ergießen“) beschreibt in der Informationstheorie diejenigen Informationen oder Daten, die in einer Informationsquelle mehrfach vorhanden sind. Eine Informationseinheit ist dann redundant, wenn sie ohne Informationsverlust weggelassen werden kann. Das Identifizieren und Entfernen solcher Redundanzen heißt Deduplikation.

Nachrichten- und Informationsübertragung

Redundant ist der Teil einer Nachricht, der keine Information enthält. Der redundante Teil der Nachricht kann eine Funktion der in der Nachricht enthaltenen Information sein. In der informationstechnischen und nachrichtentechnischen Anwendung wird Redundanz gezielt eingesetzt, um Fehler zu erkennen. Eine stärkere Redundanz ermöglicht neben dem Erkennen von Fehlern auch gleich deren Korrektur. Redundanz erlaubt also eine Steigerung der Qualität (weniger Fehler) auf Kosten der Quantität (höhere Datenrate). Die Stärke der jeweils einzusetzenden Redundanz richtet sich also nach der Fehlertoleranz der jeweiligen Anwendung – bei Bankgeschäften und Raumfahrt könnte ein einziges umgekipptes Bit viel Geld kosten, während bei Internettelefonie oder DVB sogar der andauernde Verlust ganzer Pakete ohne Bedeutung ist.

Fehlertoleranz

Eine Kommunikation lässt sich durch redundante Informationen fehlertolerant über einen Informationskanal durchführen, da unter Umständen verloren gegangene oder verfälschte Teilinformationen von dem Empfänger aus ihrem Kontext rekonstruiert werden können. Ein Maß für die Fehlertoleranz ist die Hamming-Distanz.

Mittlere Codewortlänge

Sei ein Alphabet und
bezeichnet das zu gehörende Codewort
bezeichnet die Länge von

Die mittlere Codewortlänge eines Quell-Codes mit der Wahrscheinlichkeitsverteilung ist gegeben durch:

Redundanz eines Codes

Die Redundanz des Codes ist die Differenz zwischen mittlerer Codewortlänge und Entropie . (Beispiel: Huffman-Kodierung für optimales (= minimales) ).

Die Redundanz der Quelle ist die Differenz zwischen maximaler Entropie und der Entropie der Nachrichtenquelle.

Da die Codewortlänge nicht kleiner als die Entropie sein kann, ist die Redundanz nie negativ.

Kodierung

In der Kodierungstheorie werden zwei Erscheinungsformen der Redundanz unterschieden:

  • Die Verteilungsredundanz liegt in dem unterschiedlich wahrscheinlichen Auftreten der einzelnen Zeichen des Alphabets.
  • Die Bindungsredundanz liegt darin, dass nach bestimmten Zeichen das Auftreten eines bestimmten anderen Zeichens besonders wahrscheinlich ist. Beispielsweise folgt in einem deutschen Text auf ein q fast immer ein u.

Datenbanken und Datenstrukturen

In der Datenbankentwicklung sowie in Datenstrukturen von Programmen gilt es, Redundanzen möglichst vollständig zu vermeiden, da diese zu einem höheren Speicherplatzbedarf und zu Inkonsistenzen führen können. Redundanzen werden daher zu den Anomalien gezählt. Redundanzfreiheit gilt als Grundprinzip für ein logisches Datenmodell.

Durch Normalisierung des Datenbankschemas können Redundanzen weitgehend vermieden werden. Es gibt auch Redundanzen, die unvermeidbar sind (zum Beispiel Schlüsselredundanzen) und daher als notwendiges Übel in Kauf genommen werden. Es gibt auch Redundanzen, die in Kauf genommen werden, weil deren Vermeidung einen zu hohen Aufwand im Verhältnis zu ihrer Problematik darstellen würde, wie zum Beispiel das mehrfache Auftreten eines Attributwertes oder die doppelte Speicherung des Namens Müller für Herrn Müller und für Frau Müller.

Die absichtliche Inkaufnahme von Redundanz zur Gewinnung einer besseren Leseleistung nennt man Denormalisierung.

Nachteile

In Datenstrukturen von Programmen und Datenbanken können Redundanzen zu Programmfehlern führen. Der Programmierer muss darauf achten, dass er bei allen Änderungen auch die redundanten Daten konsistent hält. Dies erfordert einen hohen Synchronisationsaufwand. Je größer das Projekt ist und je länger an dem Projekt entwickelt wird, desto schwieriger gestaltet sich dies. Wenn mehrere Programmierer unwissenderweise unabhängig voneinander an redundanten Daten arbeiten, so ist es fast unmöglich, die Änderungen konsistent zu halten.

Vorteile

Es gibt einige Fälle, in denen absichtlich herbeigeführte Datenredundanz die Rechenzeit der Software reduziert. Sie kann durch gezielte Denormalisierung erreicht werden. Diese genau kalkulierte und gewollte Redundanz ist jedoch deutlich zu unterscheiden von nachlässig entstandener Redundanz, weil jemand die Normalisierungsregeln nicht anwendet. Denormalisierungen steigern in der Regel die Leseleistung, aber verschlechtern die Schreibleistung.

Literatur

  • Flemming Topsøe: Informationstheorie. Eine Einführung, B.G. Teubner Verlag, Stuttgart 1974, ISBN 978-3-519-02048-6.
  • Otto Mildenberger: Informationstheorie und Codierung. 2. Auflage. Friedrich Vieweg & Sohn Verlagsgesellschaft, Wiesbaden 1992, ISBN 3-528-13046-6.
  • Werner Meyer-Eppler: Grundlagen und Anwendungen der Informationstheorie. 2. Auflage, Springer Verlag, Berlin / Heidelberg 1969, ISBN 978-3-642-49130-6.
  • Martin Bossert: Einführung in die Nachrichtentechnik. Oldenbourg, München 2012, ISBN 978-3-486-70880-6.
  • Ernst Schultze: Einführung in die mathematischen Grundlagen der Informationstheorie. Springer Verlag, Berlin / Heidelberg 1969, ISBN 978-3-540-04633-2.
  • Martin Werner: Nachrichtentechnik. Eine Einführung für alle Studiengänge, 7. Auflage, Vieweg + Teubner Verlag, Wiesbaden 2010, ISBN 978-3-8348-0905-6.

Weblinks