matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenKrypto,Kodierungstheorie,Computeralgebraperfekte Codes
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Krypto,Kodierungstheorie,Computeralgebra" - perfekte Codes
perfekte Codes < Krypt.+Kod.+Compalg. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Krypto,Kodierungstheorie,Computeralgebra"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

perfekte Codes: Verständnis
Status: (Frage) beantwortet Status 
Datum: 11:51 Di 01.01.2013
Autor: EvelynSnowley2311

Huhu und ein frohes neues Jahr 2013 :)

Ich hab bald ein Proseminar in LinA wobei es um Codierungstheorie geht. Meine Thema sind "perfekte Codes" Dabei finde ich bei wiki erstmal:

Blockcode C [mm] \subset A^n [/mm] , |A| = q .

Ist es so, dass ein Blockcode ein n- dimensionaler Vektor ist? und dass q die Anzahl der Elemente des Codes? (also binär z.b. 0 und 1 , q = 2)

"Damit ein Code perfekt ist, muss die minimale hammingdistanz zwischen zwei Wörtern  eines Code ungerade sein"

hamming- Abstand:

[mm] \Delta(x,y) [/mm] = [mm] \summe_{x_i \not= y_i} [/mm] 1 ; x,y [mm] \in A^n [/mm] . Den Hammingabstand verstehe ich, wenn nur eine Zahl unterschiedlich ist im Vektor, so ist der Abstand am minimalsten.

Dann versteh ich aber nicht den zitierten Satz von mir darüber, das stimmt nicht ganz überein...


Also perfekt wäre dann:

Wenn ich nur 2 Wörter habe z.b. : [mm] \vektor{1 \\ 0} \vektor{0 \\ 0}, [/mm] Abstand = 1

oder [mm] \vektor{1 \\ 0 \\ 1} [/mm] und [mm] \vektor{0 \\ 1 \\ 0} [/mm]
Abstand = 3

und nicht perfekt z.b. : [mm] \vektor{1 \\ 0 \\ 1 \\ 0} [/mm] und [mm] \vektor{1 \\ 1 \\ 0 \\ 0} [/mm]
Abstand = 2


Habe ich das soweit richtig verstanden?


Lg,

Eve

        
Bezug
perfekte Codes: Antwort
Status: (Antwort) fertig Status 
Datum: 14:03 Mi 02.01.2013
Autor: meili

Hallo Eve,

> Huhu und ein frohes neues Jahr 2013 :)
>  
> Ich hab bald ein Proseminar in LinA wobei es um
> Codierungstheorie geht. Meine Thema sind "perfekte Codes"
> Dabei finde ich bei wiki erstmal:
>  
> Blockcode C [mm]\subset A^n[/mm] , |A| = q .
>
> Ist es so, dass ein Blockcode ein n- dimensionaler Vektor
> ist?

Ja

> und dass q die Anzahl der Elemente des Codes? (also
> binär z.b. 0 und 1 , q = 2)

q ist die Anzahl der Elemente des verwendeten Alphabets.
Bei deinem Beispiel binär, mit A = {0;1} ist q=2 richtig.

>  
> "Damit ein Code perfekt ist, muss die minimale
> hammingdistanz zwischen zwei Wörtern  eines Code ungerade
> sein"
>  
> hamming- Abstand:
>  
> [mm]\Delta(x,y)[/mm] = [mm]\summe_{x_i \not= y_i}[/mm] 1 ; x,y [mm]\in A^n[/mm] . Den
> Hammingabstand verstehe ich, wenn nur eine Zahl
> unterschiedlich ist im Vektor, so ist der Abstand am
> minimalsten.
>  
> Dann versteh ich aber nicht den zitierten Satz von mir
> darüber, das stimmt nicht ganz überein...

Zitat: "Ein perfekter Code, oder auch dicht gepackter Code,
bezeichnet in der Codierungstheorie einen Blockcode C [mm] $\subset A^n$, [/mm]
bei dem jedes Wort x [mm] $\in A^n$ [/mm] nur zu genau einem Codewort c [mm] $\in$ [/mm] C
eine minimale Hamming-Distanz hat. ... Um perfekt zu sein muss die
minimale Hammingdistanz zwischen zwei Wörtern eines Codes ungerade
sein, da es sonst für [mm] $c_1,c_2 \in$ [/mm] C : [mm] $d_H(c_1,c_2)$=d [/mm] ein Wort x mit
[mm] $d_H(x,c_1)=\frac{d}{2}=d_H(x,c_2)$ [/mm] gibt, was im Widerspruch zur
Definition eines perfekten Codes steht"

Das Problem liegt vielleicht darin, dass man C [mm]\subset A^n[/mm] betrachtet.
Wenn C eine echte Teilmenge von [mm] $A^n$, [/mm] ungleich [mm] $A^n$, [/mm] ist, kann der
minimale Hammingabstand von zwei verschiedenen Elementen aus C
min [mm] $\{ d_H(c,\overline{c}) | c \in C, \overline{c} \in C, c \not= \overline{c} \} [/mm] auch 3, 4, 5 oder ... sein,
vorausgesetzt n ist groß genug.

>  
>
> Also perfekt wäre dann:
>
> Wenn ich nur 2 Wörter habe z.b. : [mm]\vektor{1 \\ 0} \vektor{0 \\ 0},[/mm]
> Abstand = 1

[ok]

So könnte man als Beispiel für einen perfekten Code C,

A = {0;1}, [mm] $A^2 [/mm] = [mm] \{ \vektor{0 \\ 0}; \vektor{1 \\ 0}; \vektor{0 \\ 1}; \vektor{1 \\ 1} \}$ [/mm] und C = [mm] $\{ \vektor{1 \\ 0}; \vektor{0 \\ 0} \}$ [/mm]
nehmen.

>  
> oder [mm]\vektor{1 \\ 0 \\ 1}[/mm] und [mm]\vektor{0 \\ 1 \\ 0}[/mm]
>  Abstand
> = 3

[ok]

>  
> und nicht perfekt z.b. : [mm]\vektor{1 \\ 0 \\ 1 \\ 0}[/mm] und
> [mm]\vektor{1 \\ 1 \\ 0 \\ 0}[/mm]
>  Abstand = 2

[ok]

>  
>
> Habe ich das soweit richtig verstanden?
>  
>
> Lg,
>  
> Eve

Gruß
meili

Bezug
                
Bezug
perfekte Codes: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 10:04 Do 03.01.2013
Autor: EvelynSnowley2311


> Hallo Eve,
>  
> > Huhu und ein frohes neues Jahr 2013 :)
>  >  
> > Ich hab bald ein Proseminar in LinA wobei es um
> > Codierungstheorie geht. Meine Thema sind "perfekte Codes"
> > Dabei finde ich bei wiki erstmal:
>  >  
> > Blockcode C [mm]\subset A^n[/mm] , |A| = q .
> >
> > Ist es so, dass ein Blockcode ein n- dimensionaler Vektor
> > ist?
> Ja
>  
> > und dass q die Anzahl der Elemente des Codes? (also
> > binär z.b. 0 und 1 , q = 2)
>  q ist die Anzahl der Elemente des verwendeten Alphabets.
>  Bei deinem Beispiel binär, mit A = {0;1} ist q=2
> richtig.
>  
> >  

> > "Damit ein Code perfekt ist, muss die minimale
> > hammingdistanz zwischen zwei Wörtern  eines Code ungerade
> > sein"
>  >  
> > hamming- Abstand:
>  >  
> > [mm]\Delta(x,y)[/mm] = [mm]\summe_{x_i \not= y_i}[/mm] 1 ; x,y [mm]\in A^n[/mm] . Den
> > Hammingabstand verstehe ich, wenn nur eine Zahl
> > unterschiedlich ist im Vektor, so ist der Abstand am
> > minimalsten.
>  >  
> > Dann versteh ich aber nicht den zitierten Satz von mir
> > darüber, das stimmt nicht ganz überein...
>  Zitat: "Ein perfekter Code, oder auch dicht gepackter
> Code,
> bezeichnet in der Codierungstheorie einen Blockcode C
> [mm]\subset A^n[/mm],
> bei dem jedes Wort x [mm]\in A^n[/mm] nur zu genau einem Codewort c
> [mm]\in[/mm] C
> eine minimale Hamming-Distanz hat. ... Um perfekt zu sein
> muss die
> minimale Hammingdistanz zwischen zwei Wörtern eines Codes
> ungerade
> sein, da es sonst für [mm]c_1,c_2 \in[/mm] C : [mm]d_H(c_1,c_2)[/mm]=d ein
> Wort x mit
> [mm]d_H(x,c_1)=\frac{d}{2}=d_H(x,c_2)[/mm] gibt, was im Widerspruch
> zur
> Definition eines perfekten Codes steht"
>  
> Das Problem liegt vielleicht darin, dass man C [mm]\subset A^n[/mm]
> betrachtet.
>  Wenn C eine echte Teilmenge von [mm]A^n[/mm], ungleich [mm]A^n[/mm], ist,
> kann der
> minimale Hammingabstand von zwei verschiedenen Elementen
> aus C
> min [mm]$\{ d_H(c,\overline{c}) | c \in C, \overline{c} \in C, c \not= \overline{c} \}[/mm]
> auch 3, 4, 5 oder ... sein,
> vorausgesetzt n ist groß genug.
>  >  
> >
> > Also perfekt wäre dann:
> >
> > Wenn ich nur 2 Wörter habe z.b. : [mm]\vektor{1 \\ 0} \vektor{0 \\ 0},[/mm]
> > Abstand = 1
>  [ok]
>  
> So könnte man als Beispiel für einen perfekten Code C,
>  
> A = {0;1}, [mm]A^2 = \{ \vektor{0 \\ 0}; \vektor{1 \\ 0}; \vektor{0 \\ 1}; \vektor{1 \\ 1} \}[/mm]
> und C = [mm]\{ \vektor{1 \\ 0}; \vektor{0 \\ 0} \}[/mm]
> nehmen.

Also ist, wenn ich mein n ehöhe, die Vektoren jeweils alle möglichen Kombinationen der Elemente q? z.b. Also wäre es bei [mm] A^3 [/mm]


[mm] \vektor{1 \\ 0 \\ 0} [/mm] , [mm] \vektor{0 \\ 0 \\ 0} [/mm] , [mm] \vektor{1 \\ 1 \\ 1}, \vektor{0 \\ 1 \\ 0} [/mm] , [mm] \vektor{0 \\ 0 \\ 1} [/mm]
, [mm] \vektor{1 \\ 1 \\ 0} [/mm] , [mm] \vektor{0 \\ 1 \\ 1}, \vektor{1 \\ 0 \\ 1} [/mm]
?


Was mich hier nun noch sehr interessiert: Was hat es mit dem [mm] A^n [/mm] auf sich? Was ändert sich für einen Code, desto größer n ist? Welche Auswirkungen hat es?


Und ist ein Blockcode ein "Fehler korrigierender" Code? Bzw der Blockcode dient ja als Decoder, richtig?


Bezug
                        
Bezug
perfekte Codes: Zum Blockcode
Status: (Antwort) fertig Status 
Datum: 12:51 Do 03.01.2013
Autor: Infinit

Hallo Eve,
ja, solch ein Blockcode ist ein fehlerkorrigierender Code, wenigstens aber ein fehlererkennender Code. Da die Gesamtdatenmenge, die man überträgt aus den ursprünglichen Daten und dem Blockcode besteht und beide natürlich übertragen werden müssen, spricht man in der Nachrichtentechnik von einem FEC-Code (FEC=Forward Error Correction).
Viele Grüße,
Infinit



Bezug
                                
Bezug
perfekte Codes: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:08 Do 03.01.2013
Autor: felixf

Moin,

> ja, solch ein Blockcode ist ein fehlerkorrigierender Code,
> wenigstens aber ein fehlererkennender Code.

haengt ein wenig davon ab, wie man was definiert :-)

Wenn man voraussetzt, dass der Hamming-Abstand mindestens 2 ist (ansonsten kann man Fehler i.A. weder erkennen noch korrigieren), ist der triviale Code [mm] $A^n$ [/mm] kein fehlererkennender/fehlerkorrigierender Code, aber immer noch ein Blockcode. (Wenn auch ein trivialer.)

> Da die
> Gesamtdatenmenge, die man überträgt aus den
> ursprünglichen Daten und dem Blockcode besteht

Werden die Daten nicht mit Hilfe des Blockcodes codiert dargestellt und dann uebertragen? (Je nach Codierung sehen die codierten Daten dann aus wie die urspruenglichen + zusaetzliche Informationen.)

LG Felix


Bezug
                        
Bezug
perfekte Codes: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:20 Sa 05.01.2013
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                
Bezug
perfekte Codes: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:12 Do 03.01.2013
Autor: felixf

Moin!

> So könnte man als Beispiel für einen perfekten Code C,
>  
> A = {0;1}, [mm]A^2 = \{ \vektor{0 \\ 0}; \vektor{1 \\ 0}; \vektor{0 \\ 1}; \vektor{1 \\ 1} \}[/mm]
> und C = [mm]\{ \vektor{1 \\ 0}; \vektor{0 \\ 0} \}[/mm]
> nehmen.

Vorsicht, der zweite Code ist nicht perfekt, da [mm] $\vektor{1 \\ 1}$ [/mm] zu beiden Codewoertern den gleichen Abstand hat. Ueber [mm] $\IF_2$ [/mm] gibt es nur zwei perfekte Codes der Laenge 2: die beiden trivialen Codes.

LG Felix


Bezug
                        
Bezug
perfekte Codes: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:40 Do 03.01.2013
Autor: meili

Hallo,

ist $ [mm] \Delta \left( \vektor{1 \\ 1}, \vektor{1 \\ 0} \right) [/mm]  = 1$ und

$ [mm] \Delta \left( \vektor{1 \\ 1}, \vektor{0 \\ 0} \right) [/mm]  = 2$ ?

(Hamming-Abstand)

Gruß
meili

Bezug
                                
Bezug
perfekte Codes: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:45 Do 03.01.2013
Autor: EvelynSnowley2311

Das seh ich auch so

Bezug
                                
Bezug
perfekte Codes: Antwort
Status: (Antwort) fertig Status 
Datum: 12:57 Fr 04.01.2013
Autor: felixf

Moin!

> ist [mm]\Delta \left( \vektor{1 \\ 1}, \vektor{1 \\ 0} \right) = 1[/mm]
> und
>  
> [mm]\Delta \left( \vektor{1 \\ 1}, \vektor{0 \\ 0} \right) = 2[/mm]
> ?

Oh, stimmt, sorry.

Mir faellt da gerade auf, dass es offenbar verschiedene, nicht-aequivalente Definitionen eines perfekten Codes gibt. Einmal steht []hier, dass ein Code perfekt ist, wenn jedes Element aus dem [mm] $A^n$ [/mm] zu genau einem Codewort minimalen Abstand hat. Diese Eigenschaft wird von deinem Code erfuellt.

Weiter unten auf der Wikipedia-Seite steht "Bei einem perfekten Code sind alle Wörter $x [mm] \in A^n$ [/mm] in einer der Kugeln enthalten (anders ausgedrückt: Die Kugeln überdecken den Raum). Deshalb gilt bei der Hammingschranke für diesen Code dann die Gleichheit." (Das ist die entscheidene Eigenschaft, die ich intuitiv von einem perfektem Code erwarte.) Diese Eigenschaft wird nicht von deinem Code erfuellt: der Minimalabstand des Codes ist 1, und die zwei Kugeln von Radius 1 ueberdecken nur die Haelfte von [mm] $A^n$ [/mm] -- naemlich genau den Code selber. Fuer den Code ist die Hamming-Schranke also nicht erfuellt -- der groesste binaere Code der Laenge 2 mit Minimalabstand 1 ist der triviale Code --, womit er nicht perfekt ist.

LG Felix


Bezug
        
Bezug
perfekte Codes: Sprache
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:21 Do 03.01.2013
Autor: Marcel

Hallo,

nur mal ein Sprachgebrauch:

> hamming- Abstand:
>  
> [mm]\Delta(x,y)[/mm] = [mm]\summe_{x_i \not= y_i}[/mm] 1 ; x,y [mm]\in A^n[/mm] . Den
> Hammingabstand verstehe ich, wenn nur eine Zahl
> unterschiedlich ist im Vektor, so ist der Abstand am
> minimalsten.

denk' mal über den Sinn nach. Macht es Sinn, sowas zu benutzen wie:
[mm] $\bullet$ [/mm] minimal, minimaler, am minimalsten
[mm] $\bullet$ [/mm] maximal, maximaler, am maximalsten
[mm] $\bullet$ [/mm] optimal, optimaler, am optimalsten
??

Soweit ich weiß, ist minimal "das kleinstmögliche", minimaler wäre also
noch kleiner als kleinstmöglich??

P.S. Ich weiß, dass das ein bisschen "Klugscheißerei" ist, aber dennoch
sollte man aufpassen, bei wem und wo man sowas sagt bzw. dass man
das dann besser nicht sagt: Manche Leute reiten gerne auf sowas rum. ;-)

Gruß,
  Marcel

Bezug
        
Bezug
perfekte Codes: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:10 Do 03.01.2013
Autor: felixf

Moin!

> Huhu und ein frohes neues Jahr 2013 :)

Danke gleichfalls!

> Blockcode C [mm]\subset A^n[/mm] , |A| = q .
>
> Ist es so, dass ein Blockcode ein n- dimensionaler Vektor
> ist?

Vorsicht, hier musst du auch aufpassen. Ein Blockcode ist eine Menge/Ansammlung von $n$-dimensionalen Vektoren. Jedes Element dieser Menge ist ein Codewort.

LG Felix


Bezug
                
Bezug
perfekte Codes: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:45 Do 03.01.2013
Autor: EvelynSnowley2311

Entschuldigt ihr habt natürlich Recht was meine Ausdrucksweise angeht..^^

Bezug
                        
Bezug
perfekte Codes: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:01 Fr 04.01.2013
Autor: Marcel

Hallo,

> Entschuldigt ihr habt natürlich Recht was meine
> Ausdrucksweise angeht..^^

Du brauchst Dich dafür nicht zu entschuldigen. Ich wollte nur drauf
aufmerksam machen, weil ich halt früher auch immer von der optimalsten
Lösung etwa gesprochen habe. ;-)

Gruß,
  Marcel

Bezug
        
Bezug
perfekte Codes: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:27 Fr 04.01.2013
Autor: EvelynSnowley2311

Mir fällt da noch was wichtiges auf, womit ich nicht ganz einverstanden bin:

Laut Wikipedia Artikel:


"Ein perfekter Code bezeichnet in der Codierungstheorie einen Blockcode.., bei dem jedes Wort nur zu genau einem Codewort eine minimale Hammingdistanz hat"

und

"Da der Code t fehlerkorrigierend ist (t = [mm] \bruch{d-1}{2} [/mm] in der Abrundungsfunktion, d Hammingdistanz von C.) kann ein Wort einem Codewort eindeutig zugeordnet werden, wenn [mm] d_H (x,c_1) \le [/mm] t ist.

Also wenn das gilt, ist der Code perfekt?
Aber in dem Beispiel von oben geht das gar nicht auf, und überhaupt, wie kann diese Gleichung überhaupt funktionieren?  Ist ja irgendwie so als hätte ich da

d [mm] \le \bruch{d-1}{2} [/mm] in der Abrundungsfunktion stehe, was nie funktionieren kann ?

Oder überseh ich da was?


lg,
Evelyn

Bezug
                
Bezug
perfekte Codes: Antwort
Status: (Antwort) fertig Status 
Datum: 13:16 Fr 04.01.2013
Autor: felixf

Moin!

> Mir fällt da noch was wichtiges auf, womit ich nicht ganz
> einverstanden bin:
>  
> Laut Wikipedia Artikel:
>  
>
> "Ein perfekter Code bezeichnet in der Codierungstheorie
> einen Blockcode.., bei dem jedes Wort nur zu genau einem
> Codewort eine minimale Hammingdistanz hat"

Ich denke, diese Definition ist falsch. Sie beschreibt eine Familie von Codes, die zwar die perfekten Codes umfasst, aber eben auch Codes, die nicht perfekt sind -- wie das Beispiel von meili. Ich hab mal in der Wiki-Diskussionsseite darauf hingewiesen.

> und
>  
> "Da der Code t fehlerkorrigierend ist (t = [mm]\bruch{d-1}{2}[/mm]
> in der Abrundungsfunktion, d Hammingdistanz von C.) kann
> ein Wort einem Codewort eindeutig zugeordnet werden, wenn
> [mm]d_H (x,c_1) \le[/mm] t ist.
>  
> Also wenn das gilt, ist der Code perfekt?

Nein, erstmal nicht. Es muss gelten, dass fuer jedes $x$ gilt [mm] $d_H(x, c_1) \le [/mm] t$ fuer ein passendes [mm] $c_1$ [/mm] (von $x$ abhaengig). Dann ist der Code perfekt.

Besser ist die Definition: der Code heisst perfekt, wenn bei der Hamming-Schranke (oder auch Kugelpackungsschranke) Gleichheit auftritt.

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Krypto,Kodierungstheorie,Computeralgebra"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]