Blahut–Arimoto algoritm

Termen Blahut–Arimoto-algoritm används ofta för att hänvisa till en klass av algoritmer för att numeriskt beräkna antingen den informationsteoretiska kapaciteten hos en kanal, hastighetsförvrängningsfunktionen hos en källa eller en källkodning (dvs. komprimering för att ta bort redundansen). De är iterativa algoritmer som så småningom konvergerar till ett av maxima för optimeringsproblemet som är förknippat med dessa informationsteoretiska koncept.

Historik och tillämpning

När det gäller kanalkapacitet uppfanns algoritmen oberoende av Suguru Arimoto och Richard Blahut . Dessutom ger Blahuts behandling algoritmer för att beräkna hastighetsförvrängning och generaliserad kapacitet med ingångskontraint (dvs. kapacitetskostnadsfunktionen, analogt med hastighetsförvrängning). Dessa algoritmer är mest tillämpliga på fallet med godtyckliga finita alfabetkällor. Mycket arbete har gjorts för att utvidga det till mer generella probleminstanser. Nyligen föreslogs en version av algoritmen som står för kontinuerliga och multivariata utgångar med tillämpningar inom cellulär signalering. Det finns också en version av Blahut-Arimoto-algoritmen för riktad information .

Algoritm för kanalkapacitet

En diskret minneslös kanal (DMC) kan specificeras med två slumpvariabler med alfabetet och en kanallag som en betingad sannolikhetsfördelning . Kanalkapaciteten , definierad som indikerar den maximala effektiviteten som en kanal kan kommunicera, i enheten bit per användning. Om vi ​​nu betecknar kardinalitet sedan är en matris, som vi betecknar raden, kolumnpost av . När det gäller kanalkapacitet uppfanns algoritmen oberoende av Suguru Arimoto och Richard Blahut . fann självständigt följande uttryck för kapaciteten hos en DMC med kanallag:

där och är maximerade över följande krav:

  • är en sannolikhetsfördelning på det vill säga om vi skriver som
  • är en matris som beter sig som en övergångsmatris från till med avseende på kanallagen. Det vill säga, för alla :
    • Varje rad summerar till 1, dvs .

När du sedan väljer en slumpmässig sannolikhetsfördelning , kan vi generera en sekvens iterativt enligt följande:

För .

Sedan, med hjälp av teorin om optimering, specifikt koordinatnedstigning , visade Yeung att sekvensen verkligen konvergerar till det maximala som krävs. Det är,

.

Så givet en kanallag , kan kapaciteten uppskattas numeriskt upp till godtycklig precision.

Algoritm för Rate-Distortion

Anta att vi har en källa med sannolikheten för en given symbol. Vi vill hitta en kodning som genererar en komprimerad signal från originalet signal samtidigt som den förväntade distorsionen minimeras där förväntan tas över den gemensamma sannolikheten för och . Vi kan hitta en kodning som minimerar hastighetsförvrängningen lokalt genom att upprepa följande iteration tills konvergens:

där är en parameter relaterad till lutningen i hastighetsdistorsionskurvan som vi riktar in oss på och därmed är relaterad till hur mycket vi föredrar komprimering kontra distorsion (högre betyder mindre komprimering) .