Diskussion:Hamming-Abstand

message: Das Programmierbeispiel in C gibt das Hamming-Gewicht an, die Funktion heißt aber "hammingDist". 
Das ist meines Erachtens nach irreführend, da es auch eine Hamming-Distanz bzw. einen Hamming-Abstand gibt.
Besser wäre hier "hammingWeight". (nicht signierter Beitrag von 31.16.120.62 (Diskussion) 23:02, 13. Jan. 2013 (CET)
replies: text: Mindestabstand wurde nach Hamming-Abstand verschoben. Bitte an alle Sachkundigen: Den Inhalt von Mindestabstand gegebenenfalls einarbeiten. Danke --Philipendula 01:35, 16. Okt 2005 (CEST)
thread_title: Programmierbeispiel

message: Vielleicht sollte noch auf das Hamming Gewicht eingegangen werden oder zumindest verlinkt werden?
=== Gewicht ist nun da  ===
Das Gewicht ist nun erlaeutert - vielleicht aber noch nicht an der richtigen Stelle - 
Es waere schoen wenn sich jemand einen Moment Zeit nimmt und erklaert warum der performante Algorithmus funktioniert.
:sollte "Das Hamming-Gewicht ist der Hamming-Abstand von einem leeren Wort" nicht eigentlich "Das Hamming-Gewicht ist der Hamming-Abstand zu einem leeren Wort" heißen? JeeAge 10:03, 19. Jun 2006 (CEST)
thread_title: Hamming Gewicht

message: Das Gewicht ist nun erlaeutert - vielleicht aber noch nicht an der richtigen Stelle - 
Es waere schoen wenn sich jemand einen Moment Zeit nimmt und erklaert warum der performante Algorithmus funktioniert.
:sollte "Das Hamming-Gewicht ist der Hamming-Abstand von einem leeren Wort" nicht eigentlich "Das Hamming-Gewicht ist der Hamming-Abstand zu einem leeren Wort" heißen? JeeAge 10:03, 19. Jun 2006 (CEST)
thread_title:  Gewicht ist nun da  

message: Ich finde, der Abschnitt über die Erzeugung von Hamming-Codes sollte man auch dorthin verschieben. In einem Artikel über den Hamming-Abstand hat das meines Erachtens nichts verloren. --Rumpler 11:28, 24. Jul 2006 (CEST)
thread_title:  Hamming-Code? 

message: Im Abschnitt Hamming-Abstand eines Codes wird von 2r+1 geschrieben, jedoch ist im Artikel nirgends erläutert wofür r überhaupt steht. Vielleicht könnte das mal jemand Sachkundiges ergänzen. Auf einer anderen Webseite wird bei r von Redundanz gesprochen, ist das hier auch der Fall?
:Wer lesen kann, ist klar im Vorteil. "2r+1" kommt genau einmal im Artikel vor und da steht auf mindestens 2r+1 vergrößert werden, wobei r für die Anzahl der korrigierbaren Bit-Fehler steht. Näher und deutlicher kann man es wohl kaum formulieren. Neues bitte immer unten anfügen. --AchimP 16:59, 3. Dez. 2006 (CET)
thread_title:  Hamming-Abstand eines Codes 

message: Ich möchte hiermit die Quellenangabe in Frage stellen, die scheint mir irgendwie von jemandem per Copy und Paste hierher verfrachtet worden zu sein (Das Interessante ist, dass viele das Volume 29 des TBSTJ gelesen haben wollen). Ein Faksimile von  zeigt, dass  es sich nicht um das Volume 29 handelt, sondern um das Volume XXVI. Sollte jemandem das Volume 29 des TBSTJ zur Verfügung stehen, bitte ich darum, dort nachzusehen und mir ggf. hier eine Nachricht zu hinterlassen oder mir die Diskrepanz zu erklären. -- ThePacker 17:59, 17. Dez. 2006 (CET)
replies: text: XXVI ist ja offensichtlich richtig. Ob's dann in Vol. 29 auf den gleichen Seitenzahlen nochmal veröffentlicht wurde, oder nicht (ich glaub's ja eher nicht), sei dann dahingestellt. Es reicht ja eine Quelle, die sicher richtig ist. Hab's angepasst und den Abdruck verlinkt. --AchimP 19:08, 17. Dez. 2006 (CET)
replies: text:  Das Erscheinungsjahr 1950 spricht aber eher für das Volume 29. Aber der Artikel selbst spricht von 26(XXVI). Dafür muss es ja eine logische Erklärung geben, deswegen meine Anfrage, es könnte auch ein Druckfehler innerhalb des TBSTJ sein. Deswegen sollte noch mal ein Crosscheck zur Originalliteratur vorgenommen werden. -- ThePacker 20:24, 17. Dez. 2006 (CET)
replies: text: Verstehe ich nicht. Dein Faksimile ist doch Originalliteratur, oder nicht? Und da steht "1950". Wieso spricht 1950 eher für Vol. 29? --AchimP 00:02, 18. Dez. 2006 (CET)
thread_title:  Quellenangabe 

message: Ich wäre dafür, dass der Code etwas einfacher zu verstehen sein sollte. Der C Syntax ist schwer zu verstehen. 
Ich hab schnell mal ein Pascal Programm dafür geschrieben, was nach meiner Meinung viel einfacher zu verstehen ist.
 function HammingGewicht(Zahl : Integer) : Integer;
 var i,
     ZahlBinLaenge,
     Zaehler : Integer;
 begin
  Zaehler := 0;
  ZahlBinLaenge := 8 * sizeof(Zahl);
  for i := 0 to ZahlBinLaenge do
  begin
    if Zahl mod 2 = 1 then
      Zaehler := Zaehler + 1;
    Zahl := Zahl div 2;
    if Zahl = 0 then break;
  end;
  HammingGewicht := Zaehler;
 end;
Für programmierunbedarfte Leute ist der Code viel Leichter zu verstehen, oder? Der Code ist natürlich frei.
Dabei wird die Zahl immer durch zwei geteilt und der Rest wird überprüft, ob es eine eins ist. Durch das Teilen von zwei, wird binär rechts eine Zahl abgeschnitten. 
:Nun, ob jemand, der in seinem Leben nur C und noch nie Pascal codiert hat, Deinen Code leichter lesen kann, weiß ich nicht. Aber ob jemand, der programmierunbedarft ist, überhaupt eine von beiden Versionen verstehen kann, wage ich zu bezweifeln. Was mir an Deinem Code nicht gefällt ist:
:*Im Gegensatz zur C-Lösung zählst Du für Bitmuster mit gesetztem höchsten Bit (negative Zahlen) falsch.
:*Die For-Schleife wird nie wegen Erreichen der Endebedingung verlassen. Bei sizeof(Zahl) = 1 liefe i von 0 bis 8 - das sind 9 Durchläufe statt der erforderlichen 8. Spätestens mit dem 8. Durchlauf ist Zahl immer auf 0 und die Schleife wird durch break verlassen.
:*In Code, der dem "Programmierunbedarften" etwas verständlich machen soll, baut man keine Laufzeitoptimierungen wie "if Zahl = 0 then break;" ein.
:*Wozu der Umstand über ZahlBinLaenge und for-Schleife, wenn es (zumindest für positive Zahlen) einfacher, kürzer und IMO eleganter auch so ginge?
 function HammingGewicht(Zahl : Integer) : Integer;
 var Zaehler : Integer;
 begin
  Zaehler := 0;
  while Zahl <> 0 do
  begin
    if Zahl mod 2 = 1 then
      Zaehler := Zaehler + 1;
    Zahl := Zahl div 2;
  end;
  HammingGewicht := Zaehler;
 end;
--AchimP 23:29, 28. Mär. 2007 (CEST)
replies: text: Echten Code kann man auf Funktionstüchtigkeit überprüfen und sogar ändern und gucken was dabei passiert. Pseudocode ist dafür völlig unbrauchbar und damit das schlechteste, was man nehmen kann. --84.140.194.210 13:38, 2. Dez. 2022 (CET)
thread_title: Hamming Gewicht Code

message: Habe den Abschnitt entfernt weil:
#Hamming-Codes haben immer einen fixen Hamming-Abstand von 3. Erweiterter Hamming-Code hat 4. Siehe Begründung/Quellen dazu Artikel Hamming-Code. In dem erwähnten Abschnitt tauchen in der Tabelle aber Distanzen von 2 bis 8 auf, was schon gar nicht zum Hamming-Code passt.
#Die Hamming-Codes haben mit den "Sieb des Eratosthenes" wenig gemein - was immer das hier Dargestellte für ein Code sein mag, ein Hamming-Code ist das keiner.
#Es fehlen Quellen im Abschnitt um das was gemeint ist eventuell korrigieren bzw. mit passenden Namen versehen zu können.
#Hamming-Codes und deren Erzeugung/Generierung sind im betreffenden Artikel Hamming-Code dargestellt und müssen hier, abseits kurzen Abriss, nicht nochmal dargestellt werden. (Redundanzvermeidung)
--wdwd 23:08, 4. Okt. 2011 (CEST)
thread_title:  Abschnittsentfernung "Erzeugung von Hamming-Codes" 

message: Auf welche "oben stehende Tabelle" bezieht sich der Text "Die notwendige Länge des Codewortes hängt vom geforderten Hamming-Abstand und der Zahl der möglichen Schalterstellungen ab und ist in der oben stehende Tabelle dargestellt. Dort sieht man beispielsweise, dass für 20 verschiedene Positionen eines Schalters mindestens 8 Bit übertragen werden müssen, wenn alle 20 Codewörter zueinander mindestens den Hamming-Abstand ≥ 3 erreichen sollen."
--Gcey (Diskussion) 11:53, 30. Nov. 2017 (CET)
thread_title: Referenz auf nicht vorhandene Tabelle

message: Es gibt in dem Artikel zwei Beispiele - einmal als Abschnitt und noch einmal weiter unten. Frage nach Zusammenlegung und Erstellung eines möglichst vollständigem Beispiels?
Der Abschnitt "Beispiele" besteht aus Binärzahlen ohne Erklärungen. Das untere Beispiel ist für andere nicht allgemeinverständlich. Die Sätze sind auch unvollständig im Vergleich zu den Gleichungen. Beispiel:
Um y (Wie, Woraus? - "aus x") zu generieren, muss man zwei Bits (von rechts nach links das erste und zweite Bit) ändern.
Was Bits sind, ist für andere nicht unbedingt bekannt. Was "(Code) Wörter" sind ist weder verlinkt noch erklärt.
Vorschlag zur Verbesserung der Allgemeinverständlichkeit: Wie Bits zu lesen sind, kann man auch in einem Satz vorab erklären, vielleicht so: Das niederwertigste Bit steht immer rechts, das höchste steht immer links. Die Bit-Reihenfolge entspricht der aufsteigenden Stellenwertigkeit.
Man könnte erklären was man in dem Beispiel überhaupt sieht, weil Codewörter oder auch Binärzahl nicht verlinkt sind. Zum Beispiel so:
Die Stellen einer Binärzahl werden nachfolgend Bit genannt. In diesem Beispiel sieht man drei Codewörter. Die drei Codewörter des Codes bestehen hier jeweils aus fünf Bits. Die Numerierung der Bits, der einzelnen Stellen einer Binärzahl, erfolgt (wie auch bei Dezimalzahlen) immer von rechts nach links, entsprechend der Stellenwertigkeit.
Ich habe mir vorgenommen, die Lesbarkeit bzw. Verständlichkeit der "IT/Informatik"-Artikel zu verbessern, weil "wir" mit Gleichungen auskommen, die "anderen Leser" aber nicht unbedingt. Wenn man Sätze zur Erklärung von Zahlen, Gleichungen oder Vorschriften bildet, sollten IMHO die Sätze auch erklären, was dort zu sehen ist und das möglichst vollständig. Ich habe mir diesen Artikel mal auf meine Todo-Liste gesetzt. --Eneliting (Diskussion) 22:09, 13. Feb. 2022 (CET)
thread_title:  Verbesserungswürdig, nicht unbedingt allgemeinverständlich 

message: Im Artikel heißt es:
:
00110 und 00100	→ Hamming-Abstand=1
12345 und 13344	→ Hamming-Abstand=2
Haus und Baum  	→ Hamming-Abstand=2
Beispiel 2 und 3 haben also deswegen einen Hamming-Abstand von zwei, weil:
* 1. Möglichkeit: Die beiden Zeichen einen Abstand von 2 Zeichen dazwischen haben. Siehe "34" bei Beispiel 2 und "au" bei Beispiel 3.
* 2. Möglichkeit: Jedes dieser beiden Beispiel genau zwei unterschiedliche Zeichen hat.
Was ist also mit folgenden Beispielen?
:
Kreis und Gleis      	→ Hamming-Abstand=0 wegen Variante Möglichkeit 1
Kreis und Gleis      	→ Hamming-Abstand=2 wegen Variante Möglichkeit 2
11110000 und 01100010	→ Hamming-Abstand=2 wegen Variante Möglichkeit 1
11110000 und 01100010	→ Hamming-Abstand=3 wegen Schema nach Variante Möglichkeit 2
Es wäre also gut, wenn ihr bessere Beispiele nehmen würdet, damit es eindeutig wird. --84.140.194.210 13:34, 2. Dez. 2022 (CET)
thread_title:  Schlecht gewählte Beispiele!