Übung 10

Moses
Neuling
Neuling
Beiträge: 4
Registriert: 9. Apr 2008 23:26

Übung 10

Beitrag von Moses »

Servus,

kann mir einer erklären wie ich bei der 10.3 auf die neuen Intervalle für A bis C komme?

Gruß

Mousie

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 10

Beitrag von oren78 »

ich hoffe es hilft dir weiter: http://www.halvani.de/Aritmetic_Coding_(decode).jpg

viel erfolg beim lernen ;-)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Moses
Neuling
Neuling
Beiträge: 4
Registriert: 9. Apr 2008 23:26

Re: Übung 10

Beitrag von Moses »

Servus,

danke für die Hilfe :)

Viel erfolg beim lernen.

Mspringer
Nerd
Nerd
Beiträge: 555
Registriert: 19. Okt 2006 14:41
Wohnort: Darmstadt / Alzenau
Kontaktdaten:

Re: Übung 10

Beitrag von Mspringer »

Thx, hatte das selbe Problem. Sag mal sind da auf der Rückseite des Zettels GDI3 Folien? :D

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 10

Beitrag von oren78 »

Mspringer hat geschrieben:Thx, hatte das selbe Problem. Sag mal sind da auf der Rückseite des Zettels GDI3 Folien? :D
du weißt ja studenten haben kein geld, da ist recycling angesagt ;-)

übrigens, ich bin mir nicht 100% sicher aber das "kodieren" ist doch eigentlich vollkommen analog dazu, oder ??
ich hab z.B für die folgende klausuraufgabe diese intervalle bekommen:
Compression Aufgabe...
Compression Aufgabe...
klausur.gif (11.06 KiB) 1170 mal betrachtet
A: [0; 0.1)
B: [0.01; 0.05)
C: [0.01; 0.014)

korrigiert mich bitte wenn das falsch ist...

PS: Was meinen die eigentlich in der Aufgabenstellung mit: "Geben Sie eine gute Komprimierung für die 3 Zeichen im Dezimalsystem an..." ??
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Mspringer
Nerd
Nerd
Beiträge: 555
Registriert: 19. Okt 2006 14:41
Wohnort: Darmstadt / Alzenau
Kontaktdaten:

Re: Übung 10

Beitrag von Mspringer »

Glaube nicht das dein Ergebnis stimmen kann. Es kann nie passieren das 2 intervalle an der gleichen Stelle starten.

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 10

Beitrag von oren78 »

hmmm...ja, schon, aber das kommt bei mir ständig raus, habs schon 3 x gerechnet :shock:

hatte übrigens ausversehen C hingeschrieben obwohl das gar nicht im wort auftaucht :D
also für das wort/string "aba" bekomme ich irgendwie das hier raus:

A: [0; 0.1)
B: [0.01; 0.05)
A: [0.01; 0.014)

ich finde das irgendwie auch total beschissen erklärt, es gibt dazu nur eine einzige folie aus der überhaupt nicht ersichtlich ist, wie die einzelnen schritte genau zustande kommen...seh nur ich das so ???

falls jemand irgendwie genau weiß wie's geht, wäre es eine nette geste von ihm, uns daran teilhaben zu lassen ;-)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Benutzeravatar
Red*Star
Kernelcompilierer
Kernelcompilierer
Beiträge: 510
Registriert: 28. Nov 2006 19:40

Re: Übung 10

Beitrag von Red*Star »

In der wikipedia ist's auch nicht optimal erklärt, aber m.E. ein *bisschen* besser als auf den NCS-Folien (vor allem wenn man auch die Diskussion liest).

Also ich hab den Algorithmus gestern mal implementiert (kann aber keine Texte mit einem Informationsgehalt > 64 bit encodieren, warum wird man sich denken können, wenn man an die Faulheit von Informatikern und die Zahlendarstellung im Computer denkt ;) ), und deine Zeichenkette dadurchgejagt, und hab das gleiche raus wie du, oren.


edit@Mspringer: Kann sehr wohl sein. Z.B: beim Text "AA" und den von oren gegebenen Grenzen kommt [0.0, 1.0[ -> [0.0, 0.1[ -> [0.0, 0.01[ raus.
Was Sonnenschein für das schwarze Erdreich ist,
ist wahre Aufklärung für die Verwandten des Erdreichs.

- N.F.S. Grundtvig

Benutzeravatar
Red*Star
Kernelcompilierer
Kernelcompilierer
Beiträge: 510
Registriert: 28. Nov 2006 19:40

Re: Übung 10

Beitrag von Red*Star »

oren78 hat geschrieben:, ich bin mir nicht 100% sicher aber das "kodieren" ist doch eigentlich vollkommen analog dazu, oder ?
Im Großen und ganzen: Ja. Außer, dass du da nicht mit einer Zahl anfängst, sondern dir diese Zahl erst (*durch* das Codieren) generierst.

oren78 hat geschrieben:PS: Was meinen die eigentlich in der Aufgabenstellung mit: "Geben Sie eine gute Komprimierung für die 3 Zeichen im Dezimalsystem an..." ??
Womit hast du denn ein Problem? Mit dem "gut", mit dem "Kompression", oder mit dem "Dezimalsystem"? Oder mit allem zusammen :lol: ?
Was Sonnenschein für das schwarze Erdreich ist,
ist wahre Aufklärung für die Verwandten des Erdreichs.

- N.F.S. Grundtvig

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 10

Beitrag von oren78 »

hi RedStar, erstmal danke für die hilfreichen infos ;-)

so, zu dem hier:
Red*Star hat geschrieben:Womit hast du denn ein Problem? Mit dem "gut", mit dem "Kompression", oder mit dem "Dezimalsystem"? Oder mit allem zusammen :lol: ?
also ich versteh halt nicht, was genau ich da jetzt angeben soll? wollen die etwa die differenz der intervallen als prozent dargestellt haben oder was genau? irgendwie werde ich da nicht schlau :-(

hast du eine idee was genau die wollen?
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Benutzeravatar
Red*Star
Kernelcompilierer
Kernelcompilierer
Beiträge: 510
Registriert: 28. Nov 2006 19:40

Re: Übung 10

Beitrag von Red*Star »

Naja, was du beim ArithmeticCoding ausgespuckt bekommst, sind ja deine Eingabedaten in alternativer Codierung. Diese alternative Codierung ist eine reelle Zahl (in der Informatik dürfte allerdings die Einschränkung auf die Forderung nach Rationalität der Zahl ausreichen ;) ). Die Anforderung an diese Zahl ist nur, dass sie im Schlussintervall liegt, d.h. du kannst sie dir im Prinzip aussuchen.

Im Dezimalsystem macht es natürlich Sinn, einen so früh wie möglich abbrechenden Dezimalbruch anzugeben. Das meinen sie mit "gute" Kompression. (Im Dualsystem musst du dir halt einen möglichst früh abbrechenden Dualzahlbruch aussuchen.)

Beispiel: Dein finales Intervall des Codierungsalgorithmus sei [0.33, 0.335[. Dann nimmst du im Dezimalsystem natürlich intelligenterweise nicht den Bruch 1/3, also 0.33333333..., weil dessen Derzimalentwicklung unendlich ist, sondern 0.33.
Was Sonnenschein für das schwarze Erdreich ist,
ist wahre Aufklärung für die Verwandten des Erdreichs.

- N.F.S. Grundtvig

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 10

Beitrag von oren78 »

Red*Star hat geschrieben:Beispiel: Dein finales Intervall des Codierungsalgorithmus sei [0.33, 0.335[. Dann nimmst du im Dezimalsystem natürlich intelligenterweise nicht den Bruch 1/3, also 0.33333333..., weil dessen Derzimalentwicklung unendlich ist, sondern 0.33.
viel dank Red*
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

citta
Mausschubser
Mausschubser
Beiträge: 96
Registriert: 7. Nov 2006 21:52

Re: Übung 10

Beitrag von citta »

Kann es sein, dass die Folie 35 in den Kompressionsfolien falsch ist?

Ich rechne:
L = Länge des aktuellen Intervalls [a,b)
[x,y) = Nächstes zu errechnende Intervall
u = Untere Grenze des Symbols, z.B 0.1 bei B
v = Obere Grenze des Symbols, z.B. 0.6 bei B

x = L*u + a
y = L*v + a

1. Reihe: Intervall von 0 bis 1 (Länge 1)
2. Reihe: Intervall von 0.1 = 1*0.1 + 0 bis 0.6 = 1*0.6 + 0 (Länge 0.5)
3. Reihe: Intervall von 0.15 = 0.5*0.1 + 0.1 bis 0.4 = 0.5*0.6 + 0.1 (Länge 0.25)

In den Folien wird jedoch 0.11 bis 0.36 vorgeschlagen und alle folgenden Reihen sind mir schleierhaft.

In der Übung bin ich mit der Rechenmethode weitgekommen, aber die Folie verstehe ich gar nicht?

SebFreutel
Computerversteher
Computerversteher
Beiträge: 317
Registriert: 30. Okt 2006 21:54

Re: Übung 10

Beitrag von SebFreutel »

Also ich komm bei Folie 35 auch auf was andres, auch die 0,15 und 0,4 als Intervallgrenzen:
Bild

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 10

Beitrag von oren78 »

hallöchen, ich wollte jetzt deswegen kein neuen thread aufmachen...

also folgendes, es geht um das arith. decodieren, ich hab folgende intervalle:

m: [0-0.2),
n: [0.2-0.6),
w: [0.6-0.95),
!: [0.95-1.0)

die aufgabenstellung verlangt folgendes:

"Decodieren Sie 3 Zeichen aus dem arithmetisch kodierten Wert: "0.3", wobei den Symbolen folgende Intervallen zugeordnet seien...bla..bla (siehe oben)...beachten Sie, dass nach dem 3 Zeichen noch kein Stoppsymbol vorliegt."

Ich habs durchgerechnet und komme aus diese 3 Zeichen: nnm kann mir das jemand bestätigen ??

danke im vorraus... :-)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Antworten

Zurück zu „Archiv“