Professional Documents
Culture Documents
Mã Hamming - Wikipedia Tiếng Việt
Mã Hamming - Wikipedia Tiếng Việt
Mã Hamming - Wikipedia Tiếng Việt
M Hamming
Bch khoa ton th m Wikipedia
M Hamming nh phn
M Hamming(7,4) (vi r = 3)
Mc lc
1 Lch s
2 Cc m trc thi k ca Hamming
2.1 M chn l
t theo tn
Richard W. Hamming
Phn loi
Th loi
Chiu di khi
2.2 M hai-trong-nm
Chiu di thng ip
2r-r-1
T l
1 - r / (2r-1)
Khong cch
4 M Hamming (7,4)
K hiu
M [2r-1, 2r-r-1,3]2
Tnh cht
m hon ho
7 Xem thm
8 Lin kt ngoi
Lch s
Trong nhng nm ca thp nin k 1940, Hamming lm vic ti Bell Labs trn my tnh Bell Model V, mt
my in c (electromechanical) dng r-le (relay-based), vi tc rt chm, my giy ng h mt chu
k my. Nhp liu c cho vo my bng nhng ci th c l (punch cards), v hu nh my lun lun
gy li trong khi c. Trong nhng ngy lm vic trong tun, nhng m c bit c dng tm ra li v
mi khi tm c, n nhp nhy n bo hiu, bo cho ngi iu khin bit h sa, iu chnh my li.
Trong thi gian ngoi gi lm vic hoc trong nhng ngy cui tun, khi ngi iu khin my khng c
mt, mi khi c li xy ra, my tnh t ng b qua chng trnh ng chy v chuyn sang cng vic
khc.
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
1/10
10/11/2014
Hamming thng lm vic trong nhng ngy cui tun v ng cng ngy cng tr nn bc tc mi khi ng
phi khi ng li cc chng trnh ng dng t u, do cht lng km, khng ng tin cy (unreliability)
ca b my c cc th c l. My nm tip theo , ng dn tm lc vo vic xy dng hng lot cc
thut ton c hiu qu cao gii quyt vn sa li. Nm 1950, ng cng b mt phng php m
hin nay c bit l M Hamming. Mt s chng trnh ng dng hin thi vn cn s dng m ny ca
ng.
M chn l
M chn l thm mt bit vo trong d liu, v bit cho thm ny cho bit s lng bit c gi tr 1 ca on
d liu nm trc l mt s chn hay mt s l. Nu mt bit b thay i trong qu trnh truyn d liu, gi
tr chn l trong thng ip s thay i v do c th pht hin c li (Ch rng bit b thay i c th
li chnh l bit kim tra). Theo quy c chung, bit kim tra c gi tr bng 1 nu s lng bit c gi tr 1
trong d liu l mt s l, v gi tr ca bit kim tra bng 0 nu s lng bit c gi tr 1 trong d liu l mt
s chn. Ni cch khc, nu on d liu v bit kim tra c gp li cng vi nhau, s lng bit c gi tr
bng 1 lun lun l mt s chn.
Vic kim tra dng m chn l l mt vic khng c chc chn cho lm, v nu s bit b thay i l mt
s chn (2, 4, 6 - c hai, bn hoc su bit u b hon v) th m ny khng pht hin c li. Hn na, m
chn l khng bit c bit no l bit b li, k c khi n pht hin l c li xy ra. Ton b d liu nhn
c phi b i, v phi truyn li t u. Trn mt knh truyn b nhiu, vic truyn nhn thnh cng c
th mt rt nhiu thi gian, nhiu khi cn khng truyn c na. Mc d vic kim tra bng m chn l
khng c tt cho lm, song v n ch dng 1 bit kim tra cho nn n c s tng ph (overhead) thp
nht, ng thi, n cho php phc hi bit b tht lc nu ngi ta bit c v tr ca bit b tht lc nm
u.
M hai-trong-nm
Trong nhng nm ca thp nin k 1940, Bell c s dng mt m hiu phc tp hn mt cht, gi l m
hai-trong-nm (two-out-of-five code). M ny m bo mi mt khi 5 bit (cn c gi l khi-5) c chnh
xc hai bit c gi tr bng 1. My tnh c th nhn ra l d liu nhp vo c li nu trong mt khi 5 bit
khng 2 bit c gi tr bng 1. Tuy th, m hai-trong-nm cng ch c th pht hin c mt n v bit m
thi; nu trong cng mt khi, mt bit b ln ngc thnh gi tr 1, v mt bit khc b ln ngc thnh gi
tr 0, quy lut hai-trong-nm vn cho mt gi tr ng (remained true), v do n khng pht hin l c
li xy ra.
Ti din d liu
Mt m na c dng trong thi gian ny l m hot ng bng cch nhc i nhc li bit d liu vi ln
(ti din bit c truyn) m bo bit d liu c truyn, truyn n ni nhn trn vn. Chng hn, nu
bit d liu cn c truyn c gi tr bng 1, mt m ti din n=3 s cho truyn gi gi tr "111". Nu ba bit
nhn c khng ging nhau, th hin trng ny bo cho ta bit rng, li trong truyn thng xy ra. Nu
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
2/10
10/11/2014
knh truyn khng b nhiu, tng i m bo, th vi hu ht cc ln truyn, trong nhm ba bit c gi,
ch c mt bit l b thay i. Do cc nhm 001, 010, v 100 u tng ng cho mt bit c gi tr 0, v
cc nhm 110, 101, v 011 u tng ng cho mt bit c gi tr 1 - lu s lng bit c gi tr 0 trong
cc nhm c coi l c gi tr 0, l a s so vi tng s bit trong nhm, hay 2 trong 3 bit, tng ng
nh vy, cc nhm c coi l gi tr 1 c s lng bit bng 1 nhiu hn l cc bit c gi tr 0 trong nhm
- chng khc g vic cc nhm bit c i x nh l "cc phiu bu" cho bit d liu gc vy. Mt m c
kh nng ti dng li thng ip gc trong mt mi trng nhiu li c gi l m "sa li" (errorcorrecting code).
Tuy nhin, nhng m ny khng th sa tt c cc li mt cch ng n hon ton. Chng hn chng ta c
mt v d sau: nu mt knh truyn o ngc hai bit v do my nhn thu c gi tr "001", h thng
my s pht hin l c li xy ra, song li kt lun rng bit d liu gc l bit c gi tr bng 0. y l mt
kt lun sai lm. Nu chng ta tng s ln cc bit c nhc li ln 4 ln, chng ta c th pht hin tt c
cc trng hp khi 2 bit b li, song chng ta khng th sa cha chng c (s phiu bu "ha"); vi s
ln nhc li l 5 ln, chng ta c th sa cha tt c cc trng hp 2 bit b li, song khng th pht hin ra
cc trng hp 3 bit b li.
Ni chung, m ti din l mt m ht sc khng hiu qu, gim cng sut xung 3 ln so vi trng hp
u tin trong v d trn ca chng ta, v cng sut lm vic gim xung mt cch nhanh chng nu chng
ta tng s ln cc bit c nhc li vi mc ch sa nhiu li hn.
Cng nhiu bit sa li thm vo trong thng ip, v
cc bit y c b tr theo mt cch l mi b tr ca
nhm cc bit b li to nn mt hnh thi li ring bit,
th chng ta c th xc nh c nhng bit b sai.
Trong mt thng ip di 7-bit, chng ta c 7 kh nng
mt bit c th b li, nh vy, ch cn 3 bit kim tra (23
= 8) l chng ta c th, khng nhng ch xc nh c
l li trong truyn thng c xy ra hay khng, m cn
c th xc nh c bit no l bit b li.
Hamming nghin cu cc k hoch m ha hin c, bao
gm c m hai-trong-nm, ri tng qut ha khi nim
ca chng. Khi u, ng xy dng mt danh mc
M hnh ca mt m 7-bit, bao gm 4 bit d liu
(nomenclature) din t h thng my, bao gm c s
(3,5,6,7) v 3 bit chn l (1,2,4). S lin quan ca
lng bit dng cho d liu v cc bit sa li trong mt
cc bit d liu vi bit chn l c biu hin bng
khi. Chng hn, bit chn l phi thm 1 bit vo trong
cc phn ca hnh trn gi ln nhau. Bit th 1 kim
mi t d liu (data word). Hamming din t phng
tra bit th (3, 5, 7), trong khi bit 2 kim tra bit (3,
php ny l m (8,7). N c ngha l mt t d liu c
6, 7). Lu , cc v tr (1,2,4 v.v.) thc ra l v tr
tng s bit l 8 bit, trong ch c 7 bit l cc bit ca
20, 21, 22 v.v.
d liu m thi. Theo phng php suy ngh ny, m ti
din (nhc li) trn phi c gi l m (3,1). T l
thng tin l t l c tnh bng vic ly con s th hai chia cho con s th nht. Nh vy vi m ti din
(3,1) trn, t l thng tin ca n l .
Hamming cn pht hin ra nan vi vic o gi tr ca hai hoc hn hai bit na, v miu t n l
"khong cch" (distance) (hin nay n c gi l khong cch Hamming (Hamming distance) - theo ci
tn ca ng). M chn l c khong cch bng 2, v nu c 2 bit b o ngc th li trong truyn thng tr
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
3/10
10/11/2014
nn v hnh, khng pht hin c. M ti din (3,1) c khong cch l 3, v 3 bit, trong cng mt b ba,
phi b i ngc trc khi chng ta c mt t m khc. M ti din (4,1) (mi bit c nhc li 4 ln)
c khong cch bng 4, nn nu 2 bit trong cng mt nhm b o ngc th li o ngc ny s i thot
m khng b pht hin.
Cng mt lc, Hamming quan tm n hai vn ; tng khong cch v ng thi tng t l thng tin ln,
cng nhiu cng tt. Trong nhng nm thuc nin k
1940, ng xy dng mt s k hoch m ha. Nhng
k hoch ny u da trn nhng m hin tn ti song
c nng cp v tin b mt cch su sc. B quyt
cha kha cho tt c cc h thng ca ng l vic cho
cc bit chn l gi ln nhau (overlap), sao cho chng c
kh nng t kim tra ln nhau trong khi cng kim tra
c d liu na.
Thut ton cho vic s dng bit chn l trong 'm
Hamming' thng thng cng tng i n gin:
1. Tt c cc bit v tr l cc s m ca 2 (powers
of two) c dng lm bit chn l. (cc v tr nh
1, 2, 4, 8, 16, 32, 64 v.v. hay ni cch khc
20 ,
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
4/10
10/11/2014
Ni cch khc, bit chn l ti v tr 2k kim cc bit cc bit v tr t c gi tr logic ca php ton AND
gia k v t l khc 0
1 2 3 4 5 6 7 8 9 10 11
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
p2
1 1 0
1 0 1
0 0
p3
0
1 0
1
0 1
0 1 1 0
p4
0 1 0 1
1 0 0 0 1 1 0 0 1 0 1
1 2 3 4 5 6 7 8 9 10 11
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
0
0 0
p3
0
1 0
0 1 1 0
p4
Bit chn
1 0 0 0 1 1 0 0 1 0 0
1
p2
Kim chn
0 Sai
0 0 Sai
ng
0 1 0 0 Sai
0
1
5/10
10/11/2014
Bc cui cng l nh gi tr ca cc bit chn l (nn nh bit nm di cng c vit v bn phi - vit
ngc li t di ln trn). Gi tr s nguyn ca cc bit chn l l 11(10), v nh vy c ngha l bit th 11
trong nhm d liu (data word) - bao gm c cc bit chn l - l bit c gi tr khng ng, v bit ny cn
phi i ngc li.
p4 p3 p2 p1
Nh phn 1 0 1 1
Thp phn 8
2 1 = 11
M Hamming (7,4)
Hin thi, khi ni n m Hamming chng ta thc ra l mun ni n m (7,4) m Hamming cng b nm
1950. Vi mi nhm 4 bit d liu, m Hamming thm 3 bit kim tra. Thut ton (7,4) ca Hamming c th
sa cha bt c mt bit li no, v pht hin tt c li ca 1 bit, v cc li ca 2 bit gy ra. iu ny c
ngha l i vi tt c cc phng tin truyn thng khng c chm li t pht (burst errors) xy ra, m
(7,4) ca Hamming rt c hiu qu (tr phi phng tin truyn thng c nhiu rt cao th n mi c th
gy cho 2 bit trong s 7 bit truyn b o ln).
6/10
10/11/2014
Nguyn l ca m Hamming bt ngun t vic khai trin v m rng quan im chn l. Vic khai trin
ny bt u bng vic nhn cc ma trn, c gi l Ma trn Hamming (Hamming matrices), vi nhau.
i vi m Hamming (7,4), chng ta s dng hai m trn c lin quan gn gi, v t tn cho chng l:
Cc ct vect trong
l nn tng hch ca
v phn trn ca
(4 hng u) l mt ma trn n v
(identity matrix). Ma trn n v cho php vect d liu i qua trong khi lm tnh nhn, v nh vy, cc bit
d liu s nm 4 v tr trn cng (sau khi nhn). Sau khi php nhn hon thnh, khc vi cch gii thch
phn trc (cc bit chn l nm v tr 2k), trt t ca cc bit trong t m (codewords) y khc vi cch
b tr ni (cc bit d liu nm trn, cc bit kim chn l nm di).
Chng ta dng mt nhm 4 bit d liu (s 4 trong ci tn ca m l v vy) ch cht, v cng thm vo 3
bit d liu tha (v 4+3=7 nn mi c s 7 trong ci tn ca m). truyn gi d liu, chng ta hy nhm
cc bit d liu m mnh mun gi thnh mt vect. Ly v d, nu d liu l "1011" th vect ca n l:
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
v p, vi cc gi tr mul 2 [3]:
7/10
10/11/2014
My thu s nhn
vi r, kim tra xem c li xy ra hay khng. Thi hnh tnh nhn ny, my thu c
(mt ln na, cc gi tr ng d mul 2):
v r bng 0. Do
Vy, tch ca
vi vect nn chun ti ct th i (the ith standard basis vector) lm l ra ct trong
,
v th m chng ta bit rng li xy ra ti v tr ct ny trong
. V chng ta kin to
di mt
hnh thc nht nh, cho nn chng ta c th hiu gi tr ca ct ny nh mt s nh phn - v d, (1,0,1) l
mt ct trong
, tng ng gi tr vi ct th 5, do chng ta bit li xy ra u v c th sa c
n.
Ly v d, gi s chng ta c:
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
8/10
10/11/2014
Ghi ch
1. ^
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
10/11/2014
Cch tnh bit chn l trong nhm cc bit d liu, dng quy
7 bit d liu
lut s chn nh sau: nu s lng bit c gi tr bng 1 (the
bit is set) l mt s l, th bit chn l bng 1(2) (v do vic
cng thm mt bit c gi tr 1(2) ny vo d liu, tng s bit 0000000
c gi tr 1(2) s l mt s chn - bao gm c bit chn l,
1010001
cn khng th bit chn l s c gi tr 0(2). Ngc li, bit
chn l dng quy lut s l s c gi tr 1(2) nu s lng 1101001
cc bit c gi tr bng 1(2) l mt s chn - do vic thm bit
1111111
chn l c gi tr bng 1(2) vo nhm d liu, tng s bit c
gi tr 1(2) l mt s l - v bng 0 nu ngc li.
00000001
10100011
10100010
11010010
11010011
11111111
11111110
2. ^ GF (nguyn ting Anh: Galois field - hay gi finite field), tm dch l "Trng Hu Hn". Xin xem thm bi
ting Anh Finite field (http://en.wikipedia.org/wiki/Galois_field).
3. ^ mul (nguyn ting Anh: Modulo) l php tnh s d trong tnh chia. V d 100/3 = 1 (c 33 d 1). Trong
ton hc, nu c hai s nguyn a v b, cng mt s d n no , th biu thc a b (mod n) - ni l a v b c
ng d munl n - c ngha l a v b c cng s d khi c chia cho n, hay ni mt cch tng t, a-b l mt
bi s (multiple) ca n. Xin xem thm trong bi ting Anh Modulo (http://en.wikipedia.org/wiki/Modulo).
Xem thm
Khong cch Hamming (Hamming distance)
M Golay (Golay code)
M Reed-Muller (Reed-Muller code)
M Reed-Solomon (Reed-Solomon code)
M Turbo (Turbo code)
Lin kt ngoi
PHP page that emulates Hamming Code calculation (from L. Lange, Luxembourg)
(http://www.apple.lu/stlau/hamming.php)
CGI script for calculating Hamming distances (from R. Tervo, UNB, Canada)
(http://www.ee.unb.ca/cgi-bin/tervo/hamming.pl)
Ly t http://vi.wikipedia.org/w/index.php?title=M_Hamming&oldid=19818796
Th loi: L thuyt m ha Pht hin v sa li S hc trong my tnh S hc my tnh
Trang ny c sa i ln cui lc 12:05, ngy 9 thng 10 nm 2014.
Vn bn c pht hnh theo Giy php Creative Commons Ghi cng/Chia s tng t; c th p
dng iu khon b sung. Xem iu khon S dng bit thm chi tit.
Wikipedia l thng hiu ng k ca Wikimedia Foundation, Inc., mt t chc phi li nhun.
http://vi.wikipedia.org/wiki/M%C3%A3_Hamming
10/10