Lauflängenkodierung als Abbildung darstellen

Aufrufe: 527     Aktiv: 13.11.2020 um 13:16

0

Hallo, 

wir sollen ein Kompressionsverfahren, mit welchem sich eine Datei verkleinern und verlustfrei wiederherstellen lässt, als Abbildung darstellen. Ich würde dies gerne anhand der Lauflängenkodierung machen, allerdings komme ich nicht sehr weit damit.

Meine Idee: Man hat eine Abbildung von \(\{1,0\}^* \rightarrow \{(\mathbb{N}, 1), (\mathbb{N}, 0)\}^*\). Damit könnte man dann \((1,1,0,0,1,1,1)\) nach \(((2,1), (2,0), (3,1))\) abbilden und daraus wiederherstellen. 

Allerdings kommt ich nicht darauf, wie ich die Abbildung mathematisch (ohne for-loops etc....) konstruieren kann.

Vielen Dank schonmal für alle Antworten!

 

Diese Frage melden
gefragt

Student, Punkte: 21

 

Bei dem Wertebereich habe ich * vergessen... Wie könnte ich denn einen String darstellen? Ich soll das ganze ja als Abbildung machen, d.h. ich muss eine Menge auf eine andere Menge abbilden...   ─   mathebob42 09.11.2020 um 18:08

Ich verstehe nicht ganz, weshalb der Definitionsbereich nicht stimmen sollte... Der Definitionsbereich stellt ja eine Menge von unendlich vielen Kombination aus 1 und 0 dar. Und diese gilt es dann zu komprimieren. Beispielsweise wäre 11010011 ein Element dieser Menge.

Wie sollte ich den Bereich anders formulieren?
  ─   mathebob42 09.11.2020 um 22:25

Du meintest, dass der x-Wert sowie der y-Wert nicht stimmt, weil das jeweils Mengen und keine Strings sind. Allerdings soll ich eine Abbildung darstellen, welche eine Menge auf eine andere abbildet. Daher verstehe ich nicht, wo der Fehler liegt.

Es wäre hilfreich, wenn du mich in die richtige Richtung lenken könntest.
  ─   mathebob42 10.11.2020 um 08:37

Hm, okay... Ich habe einen Fehler gesehen, und zwar dass ich anstatt Mengen eigentlich Tupel hätte. Geht das in die richtige Richtung?   ─   mathebob42 10.11.2020 um 12:16
Kommentar schreiben
1 Antwort
0
Dein Wertebereich stimmt nicht, der hat ja nur zwei Elemente. Du meinst \((\mathbb{N}\times \{1,0\})^*\). Und in Deinem Beispiel stimmt der x-Wert nicht (ist ja ne Menge und kein string) und der y-Wert auch nicht, ist auch ne Menge und kein string. Du musst hier ganz pingelig auf die richtigen Schreibweise bei den Objekten achten, sonst geht das schief. PS: Hast Du gerade nen * angefügt? Ist trotzdem noch falsch.
Diese Antwort melden
geantwortet

Lehrer/Professor, Punkte: 38.86K

 

Leider scheint diese Antwort Unstimmigkeiten zu enthalten und muss korrigiert werden. Mikn wurde bereits informiert.