Avstand mellom kodeord. Beskrivelse av HEngine-algoritmen for en statisk oppgave

Side 1


Hammeravstand mellom to sekvenser lik lengde tilsvarer antall posisjoner okkupert av ikke-matchende elementer. Når det gjelder sekvenser med forskjellig lengde, er Hamming-avstanden definert som minimum antall posisjoner okkupert av ikke-matchende elementer ved.  

Hammeravstand d(u,v) mellom to ord u og v samme lengde lik antall sifre som ikke samsvarer med disse ordene. Den brukes i teorien om blokkkoder (V.  

Ved å bruke de metriske egenskapene til Hamming-avstanden, bekreftes det direkte at /l er en metrikk på Xt, men ikke en metrikk på settet med blandede periodiske sekvenser.  

Denne nærhetsfunksjonen tilsvarer Hamming-avstanden.  

Metrikken p i KLOP-algoritmen er spesifisert av Hamming-avstanden.  

Hvis søkeprosedyren kan finne en posisjon der Hamming-avstanden er null, vil problemet være løst.  


En sammenligning av de uklare undergruppene B og B3, grader av uklarhet, samt Hamming-avstanden viser at de uklare undergruppene som vurderes er forskjellige. Imidlertid, hvis vi tar som den beregnede verdien elementet m2 G Uz, hvis grad tilhører den resulterende fuzzy delmengden er maksimal, så kan bruken av fuzzy relasjonen R beregnet på denne måten rettferdiggjøres. Sammen med det faktum at med denne tilnærmingen er det mulig å beskrive ikke-lineariteten til forholdet mellom maksimumstemperaturen i den andre sonen av reaktoren og polyetylensmeltestrømningshastigheten, tar denne metoden ikke hensyn til den ikke-stasjonære naturen til reaktoren. prosessen med å oppnå LDPE, som er assosiert med endringer i egenskapene til den teknologiske prosessen.  


Overføringsfunksjonen til denne koden indikerer at det er den eneste måten med Hamming-avstand d - fra banen til alle nuller, som smelter sammen med banen til alle nuller ved en gitt node. Fra tilstandsdiagrammet vist i fig. 8.2.6, eller espalierdiagrammet vist i fig. 8.2.5, er det tydelig at banen fra d6 er acbe. Igjen fra tilstandsdiagrammet eller gitteret ser vi at disse banene er acdbe og acbcbe. Det tredje leddet i (8.1.2) indikerer at det er fire baner med avstand d 0 og så videre. Dermed, Overføringsfunksjon gir oss avstandsegenskapene til en konvolusjonskode.  

Dette resultatet stemmer overens med observasjonen at en bane med alle nuller (/0) har en Hamming-avstand på d3 fra den mottatte sekvensen, mens en bane på /1 har en Hamming-avstand på d5 fra den mottatte banen. Dermed er Hamming-avstand en ekvivalent beregning for hard beslutningsdekoding.  

Dette resultatet stemmer overens med observasjonen at en bane med alle nuller (/0) har en Hamming-avstand på d3 fra den mottatte sekvensen, mens en bane på /1 har en Hamming-avstand på d5 fra den mottatte banen. Dermed er Hamming-avstand en ekvivalent beregning for hard beslutningsdekoding.  

På et sett med binære ord med lengde m avstand d(a,b) mellom ordene a og b er antall ikke-matchende posisjoner til disse ordene, for eksempel: avstanden mellom ordene a = 01101 og b = 00111 er 2.

Konseptet definert på denne måten kalles Hamming-avstanden.

Den tilfredsstiller følgende avstandsaksiomer:

1) d(a,b)  0 og d(a,b)=0 hvis og bare hvis a = b;

2) d(a,b) = d(b,a);

3) d(a,b) + d(b,c)  d(a,c) (trekantulikhet).

Vekten w(a) til et ord a er antallet enere blant dets koordinater. Da er avstanden mellom ordene a og b vekten av summen deres a b: d(a,b)=w(a b) , hvor symbolet  angir operasjonen av koordinatvis addisjonsmodulo 2. Intuitivt er koden bedre egnet til å oppdage og rette feil, jo mer forskjellige kodeordene er. Konseptet Hamming-avstand lar oss klargjøre dette.

Teorem For at en kode skal oppdage feil i k (eller færre) posisjoner, er det nødvendig og tilstrekkelig at den minste avstanden mellom kodeord er  k + 1.

Beviset for denne teoremet ligner beviset for følgende utsagn.

Teorem. For at koden skal rette opp alle feil i k (eller færre) posisjoner, er det nødvendig og tilstrekkelig at den minste avstanden mellom kodeord er  2k + 1.

32. Teorem om koders korrigeringsevne.

Koder som automatisk kan rette feil kalles selvkorrigerende. For å bygge en selvkorrigerende kode designet for å korrigere enkeltfeil, er ikke ett kontrollsiffer nok. Som det fremgår av det følgende, må antall kontrollbiter k velges slik at ulikheten 2k≥k+m+1eller k≥log2(k+m+1) er tilfredsstilt, der m er antall grunnleggende binære biter. av kodeordet. For tiden er binære blokkkorreksjonskoder av størst interesse. Ved bruk av slike koder overføres informasjon i form av blokker av samme lengde og hver blokk kodes og dekodes uavhengig av hverandre. I nesten alle blokkkoder kan tegn deles inn i informasjon og verifisering.

Hovedkarakteristikkene til selvkorrigerende koder er:

1. Antall tillatte og forbudte kombinasjoner. Hvis n er antall symboler i blokken, r er antall kontrollsymboler i blokken, k er antall informasjonssymboler, så er 2n antall mulige kodekombinasjoner, 2k er antall tillatte kodekombinasjoner, 2n −2k er antall forbudte kombinasjoner.

2. Koderedundans. Verdien rn kalles redundansen til korreksjonskoden.

3. Minimum kodeavstand. Minste kodeavstand d er det minste antallet forvrengte symboler som kreves for å gå fra en tillatt kombinasjon til en annen.

4. Antall feil oppdaget og rettet. Hvis g er antall feil som koden kan rette, er det nødvendig og tilstrekkelig at d≥2g+1

5. Korrigerende muligheter for koder.

33. Matrisekoding. Gruppekoder.

Når du eksplisitt spesifiserer kodingsskjemaet i ( m, n)-kode bør spesifisere 2 m kodeord, noe som er veldig ineffektivt.

En økonomisk måte å beskrive et kodeskjema på er matrisekodingsteknikken.

Tidligere ble hvert kodingsskjema beskrevet av tabeller som spesifiserte et kodeord med lengde n for hvert kildeord av lengde m. For lange blokker krever denne metoden en stor mengde minne og er derfor upraktisk. For eksempel for ( 16, 33 ) kode vil kreve 33 * 2 16 = 2 162 688 biter.

Krever mye mindre minne matrisekoding. La E dimensjonsmatrise m×n, bestående av elementer e ij , hvor Jeg er linjenummeret, og j - kolonnenummer. Hvert av matriseelementene e ij kan være enten 0 eller 1. Koding implementeres av operasjonen b = aE eller hvor kodeord betraktes som vektorer, dvs. som radmatriser med størrelse 1×n.

Koding bør ikke tilordne det samme kodeordet til forskjellige kildemeldinger. En enkel måte å oppnå dette på er å m matrisekolonner dannet en enhetsmatrise. Når en hvilken som helst vektor multipliseres med identitetsmatrisen, oppnås den samme vektoren, derfor vil forskjellige meldingsvektorer tilsvare forskjellige vektorer av den systematiske koden.

Matrisekoder kalles også lineære koder. For lineær (n − r, n)-koder med minimum Hamming-avstand d finnes Plotkin nedre grense (Plotkin) for minimumsmengde kontrollbiter rn³ 2d − 1,

binær ( En m, n) kode kalles en gruppekode hvis kodeordene danner en gruppe.

Legg merke til at settet med alle binære ord med lengde m danner en kommutativ gruppe med operasjonen av koordinatvis addisjon modulo 2, der relasjonen a a gjelder. Følgelig er settet med meldingsord a med lengde m en kommutativ gruppe.

Blokkkode kalles gruppe, hvis kodeordene danner en gruppe.

Hvis koden er en gruppekode, er den minste avstanden mellom to kodeord minst vekt ikke-null ord.

Dette følger av forholdet d(b Jeg , b j ) = w(b Jeg + b j ).

Når du bruker en jokertegnkode, blir de og bare de feilene som tilsvarer feilstrenger nøyaktig lik kodeordene uoppdaget.

Slike feillinjer oversetter ett kodeord til et annet.

Derfor er sannsynligheten for at en feil forblir uoppdaget lik summen av sannsynlighetene for alle feilstrenger lik kodeord.

Sett med alle binære ord a = a 1 ...en m lengde m danner en abelsk (kommutativ) gruppe med hensyn til bitvis addisjon.

La E - koding m×n-en matrise som har m × m- en submatrise med en determinant som ikke er null, for eksempel identitet. Så kartleggingen a → a E oversetter en gruppe av alle binære ord med lengde m til en gruppe kodeord av lengde n.

La oss anta at Da får vi

dvs. Derfor en en-til-en-kartlegging av en gruppe binære ord med lengde m ved hjelp av en gitt matrise E bevarer egenskapene til en gruppeoperasjon, som betyr at kodeordene danner en gruppe.

Gruppekodeegenskap: minste kodeavstand mellom kodevektorer er lik minimumsvekten til vektorer som ikke er null. Vekten til kodevektoren er lik antallet enere i kodekombinasjonen.

Det er praktisk å spesifisere gruppekoder ved hjelp av matriser, hvis dimensjon bestemmes av parametrene k og n. Antall rader er k og antall kolonner er n = k+m.

Kodene som genereres av disse matrisene kalles (n, k)-koder, og de tilsvarende matrisene kalles generatorer (generatorer).

Hamming avstand

Den amerikanske matematikeren Hamming undersøkte hva som avgjør denne koden om den vil oppdage feil og når den kan rette dem. Intuitivt er det klart at dette avhenger av hvordan kodeordene er adskilt og hvor mange feil som kan vises i overførte ord. Vi vil nå formalisere følgende idé. Ved koding må du avtale nummeret mulige feil i det overførte kodeordet slik at når det overførte kodeordet endres, forblir det nærmere det opprinnelige kodeordet enn noe annet kodeord.

Definisjon 13.1. Tenk på settet med alle binære ord i alfabetet I= (0,1) lengde T avstand d(x, ), som er lik antallet ikke-matchende posisjoner for disse ordene. For eksempel For ord X = 011101, = 101010 avstand er d(x, y) = 5. Denne avstanden kalles Hamming avstand .

Det kan vises at Hamming-avstanden tilfredsstiller aksiomene til metrisk rom:

1) d(x, ) ≥ 0, d(x, ) = 0 hvis og bare hvis X = y;

2) d(x, y) = d(y, x);

3) d(x, ) ≤ d(x, z) + d(z, ) - trekantulikhet.

Teorem 13.1(om deteksjonskode). Koden oppdager i tilfellet når det overførte ordet ikke inneholder mer enn k

d(b 1, b 2) ≥ k+ 1.

Teorem 13.2(om korrigeringskoden.). Koden korrigerer alle feil i tilfellet når det overførte ordet ikke inneholder mer enn k feil, hvis og bare hvis den minste avstanden mellom kodeord

d(b 1, b 2) ≥ 2k+ 1.

Bevis. Bevisene for disse teoremene er like. Derfor vil vi bare bevise det siste teoremet.

Tilstrekkelighet. La for eventuelle kodeord vi har d(b 1, b 2) ≥ 2k+ 1. Hvis, når du sender et kodeord b 1 ikke mer skjedde k feil, så for det aksepterte ordet med vi har d(b 1, c) ≤ k. Men fra trekanten ulikhet for alle andre kodeord b 2 vi har d(b 1, Med) + d(c, b 2) ≥ d(b 1, b 2) ≥ 2 k+ 1. Derfor, fra det mottatte ordet til et hvilket som helst annet kodeord, er avstanden d(c, b 2) ≥ k + 1, dvs. mer enn før b 1. Derfor, i henhold til det aksepterte ordet Med du kan definitivt finne det nærmeste kodeordet b 1 og dekode den deretter.

Nødvendighet. Fra det motsatte. Anta at minimumsavstanden mellom kodeord er mindre enn 2 k+ 1. Så er det to kodeord, avstanden mellom dem vil være d(b 1, b 2) ≤ 2 k. La når du overfører ordet b 1 akseptert ord Med er plassert mellom ordene b 1, b 2i har akkurat k feil. Deretter d(c, b 1) = k, d (c, b 2) = d(b 1, b 2) – d(c, b 1) ≤ k. Fra ordet c er det således umulig å entydig rekonstruere kodeordet som ble overført, b 1eller b 2. Vi kom til en motsetning.

Eksempel 13.3 . Tenk på følgende fem-bits koder for ord med lengde 2 i alfabetet I = {0,1}:

b 1= K(00) = 00000, b 2= K(01) = 01011,

b 3= K(10) = 10101, b 4= k(11) =11110.

Minimumsavstanden mellom forskjellige kodeord er d(bi, bj) = 3. I kraft av det første teoremet om deteksjonskoden, er denne koden i stand til å oppdage ikke mer enn to feil i et ord. I kraft av det andre teoremet er koden i stand til å korrigere maksimalt én feil i et ord.

Gruppekoder

La oss se nærmere på kodene til ord i alfabetet I= (0, 1). Hvis for ord av lengde T kodeord av lengde brukes n, så kaller vi slike koder ( T , P)-koder. Total lengde på ord m tilsvarer 2 m. Å sette ( T , P)-kode, kan du liste kodeord for alle mulige ord lengde m, som i forrige eksempel. En mer økonomisk måte å spesifisere kodeord på er en matriseoppgave.

I dette tilfellet er genereringsmatrisen spesifisert G= ∣∣ gij∣∣ rekkefølge T × P fra 0 og 1. Kodeord bestemmes hver gang for ord EN = EN 1en 2... ved å multiplisere dette ordet til venstre, som en vektor, med den genererende matrisen

Her er addisjon definert modulo 2. For å forskjellige ord korresponderte forskjellige kodeord, er det nok å ha i matrisen G enhetsbasis mindre av ordre T, for eksempel den helt til venstre.

Eksempel 13.4 . Tenk på genereringsmatrisen

Denne matrisen definerer (3, 4) koden. I dette tilfellet er de tre første tegnene i kodeordet informative, og det fjerde er en kontroll. Det er lik 0 if partall enheter i det opprinnelige ordet, og 1 hvis oddetall enheter. For eksempel for ordet EN= 101 kode vil være b= aG= 1010. Minimum Hamming-avstand mellom kodeord er d(bi, bj) = 2. Derfor er dette kode som oppdager en engangsfeil.

Definisjon 13.2. Koden kalles gruppe , hvis settet med alle kodeord danner en gruppe. Antall enheter i ordet a kalles vekter ord og er betegnet If b- kodeord og ord mottatt i kommunikasjonskanalen Med = b + e, deretter ordet e kalt vektor av feil .

Teorem 13.3. La det være en gruppe ( T , P)-kode. Deretter den kommutative gruppen TIL av alle kodeord er en undergruppe av den kommutative gruppen MED alle ord av lengde P, som kan mottas i kommunikasjonskanalen. Den minste avstanden mellom kodeord er lik den minste vekten til et kodeord som ikke er null og

Tenk på faktorgruppen S/K. Cosets her vil bli bestemt av skiftet e + b, bK.

Som representant for coset-klassen velger vi elementet med minst vekt. Vi vil kalle slike elementer tilstøtende klasseledere .

Hvis ledere tolkes som feilvektorer, er hver tilstøtende klasse et sett med forvrengte ord i en kommunikasjonskanal med en fast feilvektor, spesielt når e= 0 har vi en tilstøtende klasse med ord uten forvrengninger, dvs. settet av alle kodeord. Prosessen med ordkorreksjon og dekoding Med består i å søke etter den tilstøtende klassen som ordet tilhører Med = e + b. Feilvektor e bestemmer antall og plassering av feil, kodeord b bestemmer korrigeringen av det mottatte ordet.

For å lette søket etter et coset og dermed feilvektoren foreslo Hamming å bruke gruppekoder med spesielle genererende matriser.

Hamming-koder

La oss vurdere konstruksjonen av Hamming ( T , P)-kode med den minste kodeordvekten lik 3, dvs. en kode som retter en feil.

La oss sette P = 2 r– 1 og la hvert kodeord inneholde r kontrolltegn, og T tegn ( T = Pr= 2 r– 1– r) - informativ, r≥ 2, for eksempel (1, 3) kode, (4, 7) kode osv. Dessuten, i hvert kodeord b= b 1b 2... b s symboler med indekser, like grader 2 vil være kontroll, og resten vil være informativ. For eksempel for en (4, 7) kode i kodeordet b= b 1b 2b 3b 4b 5b 6b 7 tegn b 1b 2b 4 vil være kontroll seg, og symbolene b 3b 5b 6b 7- informativ. For å spesifisere generatormatrisen G Hammings ( T , P)-kode, vurdere hjelpematrise M rekkefølge r× P, Hvor P = 2 r– 1, slik at i hver j matrisekolonne M det vil være binære symboler j, for eksempel for (4, 7)-koden matrisen M vil være 3 × 7:



Vi definerer settet av alle kodeord som et sett med løsninger homogent system lineær algebraiske ligninger type

b MT= 0.

For eksempel, for en (4, 7) kode vil et slikt system være:

La oss velge en naturlig basis mindre av systemet b MT= 0, står i kolonner med tall lik potensen 2. Dermed deler vi variablene inn i grunnleggende (kode) og fri (informasjon). Nå, etter å ha definert gratis variabler, er det enkelt å skaffe grunnleggende. La oss finne det grunnleggende systemet m= Pr løsninger av dette homogene systemet. Da er enhver løsning på systemet en lineær kombinasjon av disse m beslutninger. Skriv derfor ut linje for linje m løsninger av det grunnleggende systemet i form av en matrise G størrelse m× P, får vi genereringsmatrisen til Hamming-gruppen ( T , P)-kode, for eksempel for (4, 7)-kode grunnleggende system løsninger vil det være 4 = 7 – 3 følgende løsninger av et homogent system:

g 1= 1110000, g 2= 1001100, g 3= 0101010, g 4= 1101001.

Enhver lineær kombinasjon av disse løsningene vil være en løsning, dvs. et kodeord. La oss komponere en genererende matrise fra disse grunnleggende løsningene

Nå ifølge ethvert ord EN lengde T= 4 enkle å beregne kodeord b lengde P= 7 ved å bruke generatormatrisen b= aG. Samtidig symbolene b 3, b 5, b 6, b 7 vil være informativ. De sammenfaller med EN 1, EN 1, EN 3, EN 4. Symboler b 1, b 2, b 4 vil være kontroll.

Konklusjon. Hamming-koder er praktiske fordi cosets lett kan bestemmes under dekoding. La ordet mottatt over kommunikasjonskanalen være Med = e + b, Hvor e- feil, b- et kodeord. Multipliser det deretter med hjelpematrisen cMT= (e + b)MT= eM T. Hvis eM T= 0, deretter ordet Med- kode og vi vurderer: det er ingen feil. Hvis eM T≠ 0, deretter ordet e definerer en feil.

Husk at de konstruerte Hammings ( T , P)-kode identifiserer én feil. Derfor feilvektoren e inneholder en enhet i Jeg stillinger. Dessuten nummeret Jeg posisjon oppnås i binær representasjon som resultat eM T, sammenfallende med Jeg matrisekolonne M. Det gjenstår å endre symbolet Jeg i ordet c mottatt over kanalen, kryss ut kontrolltegnene og skriv ned det dekodede ordet.

La for eksempel det aksepterte ordet være Med= 1100011 for (4, 7) Hamming-koden. La oss multiplisere dette ordet med matrisen M T. Vi får

(1100011)M T=(010).

Derfor er det en feil i det andre tegnet. Derfor blir kodeordet b= 1000011. Kryss ut kontrolltegnene b 1, b 2, b 4.Det dekodede ordet vil være EN = 0011.

Selvfølgelig, hvis feilen ble gjort i mer enn ett tegn, vil ikke denne koden rette den.

) V vektorrom kodesekvenser, i dette tilfellet er Hamming-avstanden mellom to binære sekvenser (vektorer) og lengde antallet posisjoner de er forskjellige i - i denne formuleringen er Hamming-avstanden inkludert i Dictionary of Algorithms and Data Structures Nasjonalt institutt amerikanske standarder ( Engelsk NIST Dictionary of Algoritms and Data Structures ).

Dermed er Hamming-avstanden mellom vektorene 0 011 1 og 1 010 1 lik 2 (forskjellene er markert med rødt biter). Deretter ble metrikken generalisert til q-ary-sekvenser: for et par strenger "valg" og "gjerde" er Hamming-avstanden lik tre.

I generelt syn Hamming-avstanden for objekter og dimensjoner er gitt av funksjonen:

Hamming-avstanden har egenskapene til en metrikk, som tilfredsstiller følgende betingelser:

Hamming avstand inn bioinformatikk Og genomikk

Litteratur

  • Richard W. Hamming. Feildeteksjons- og feilrettingskoder, Bell System Technical Journal 29(2):147-160, 1950.
  • Richard Bleichut. Teori og praksis for feilkontrollkoder. M., "Mir", 1986

Linker

  • Richard Hamming og begynnelsen på kodingsteori // Virtual Computer Museum

Wikimedia Foundation. 2010.

Se hva «Hamming distance» er i andre ordbøker:

    Hamming avstand- Hamming avstand Avstand d (u,v) mellom to kodesekvenser u og v av samme lengde, lik tallet karakterer der de er forskjellige. En blokkkode med minimum Hamming-avstand d lar en oppdage (d 1) og... ...

    kodeavstand- Minimum Hamming-avstand tatt over alle løyper av forskjellige kodeord i en enhetlig kode. [Samling av anbefalte vilkår. Utgave 94. Teori om informasjonsoverføring. USSRs vitenskapsakademi. Teknisk terminologikomité. 1979] Temateori ... ... Teknisk oversetterveiledning

    Innen matematikk og informasjonsteori er en lineær kode viktig type blokkkode som brukes i feildeteksjons- og korrigeringsskjemaer. Lineære koder, sammenlignet med andre koder, tillater implementering av mer effektive algoritmer... ... Wikipedia

    I feltene matematikk og informasjonsteori er en lineær kode en viktig type blokkkode som brukes i feildeteksjons- og korrigeringsskjemaer. Lineære koder, sammenlignet med andre koder, tillater implementering av mer effektive algoritmer... ... Wikipedia

    Deteksjon av feil i kommunikasjonsteknologi er en handling rettet mot å overvåke integriteten til data ved opptak/gjengivelse av informasjon eller ved overføring over kommunikasjonslinjer. Feilretting (feilretting) gjenopprettingsprosedyre... ... Wikipedia

    Deteksjon av feil i kommunikasjonsteknologi er en handling rettet mot å overvåke integriteten til data ved opptak/gjengivelse av informasjon eller ved overføring over kommunikasjonslinjer. Feilretting (feilretting) prosedyre for å gjenopprette informasjon etter... ... Wikipedia

    Deteksjon av feil i kommunikasjonsteknologi er en handling rettet mot å overvåke integriteten til data ved opptak/gjengivelse av informasjon eller ved overføring over kommunikasjonslinjer. Feilretting (feilretting) prosedyre for å gjenopprette informasjon etter... ... Wikipedia

    Deteksjon av feil i kommunikasjonsteknologi er en handling rettet mot å overvåke integriteten til data ved opptak/gjengivelse av informasjon eller ved overføring over kommunikasjonslinjer. Feilretting (feilretting) prosedyre for å gjenopprette informasjon etter... ... Wikipedia