Unární kódování - Unary coding
Unární kódování,[pozn. 1] nebo unární číselná soustava a také někdy volal kód teploměru, je kódování entropie to představuje a přirozené číslo, n, s n ty, za nimiž následuje nula (pokud přirozené číslo se chápe jako nezáporné celé číslo) nebo s n - 1 jednotka následovaná nulou (pokud přirozené číslo se chápe jako přísně kladné celé číslo). Například 5 je reprezentováno jako 111110 nebo 11110. Některá reprezentace používají n nebo n - 1 nula následovaná jednou. Jednotky a nuly jsou zaměnitelné bez ztráty obecnosti. Unární kódování je a kód bez předpony a a samosynchronizační kód.
n (nezáporné) | n (přísně pozitivní) | Unární kód | Alternativní |
---|---|---|---|
0 | 1 | 0 | 1 |
1 | 2 | 10 | 01 |
2 | 3 | 110 | 001 |
3 | 4 | 1110 | 0001 |
4 | 5 | 11110 | 00001 |
5 | 6 | 111110 | 000001 |
6 | 7 | 1111110 | 0000001 |
7 | 8 | 11111110 | 00000001 |
8 | 9 | 111111110 | 000000001 |
9 | 10 | 1111111110 | 0000000001 |
Unární kódování je optimálně efektivní kódování pro následující diskrétní rozdělení pravděpodobnosti
pro .
V kódování symbol za symbolem je optimální pro všechny geometrické rozdělení
pro který k ≥ φ = 1,1803398879…, Zlatý řez, nebo obecněji pro jakoukoli diskrétní distribuci, pro kterou
pro . Přestože se jedná o optimální kódování symbolu po symbolu pro takové rozdělení pravděpodobnosti, Golombovo kódování dosahuje lepší schopnosti komprese pro geometrické rozdělení, protože nezohledňuje vstupní symboly nezávisle, ale spíše implicitně seskupuje vstupy. Ze stejného důvodu, aritmetické kódování funguje lépe pro obecné rozdělení pravděpodobnosti, jako v posledním případě výše.
Unární kód se dnes používá
Mezi příklady použití unárního kódu patří:
- v Golomb rýžový kód, unární kódování se používá ke kódování kvocientové části kódového slova Golomb.
- v UTF-8, unární kódování se používá v počátečním bajtu vícebajtové sekvence k označení počtu bajtů v sekvenci, takže lze zjistit délku sekvence bez zkoumání pokračovacích bajtů.
- Okamžitě trénované neuronové sítě pro efektivní reprezentaci dat použijte unární kódování.
Unární kódování v biologických sítích
Unární kódování se používá v neurální obvody zodpovědný za ptačí zpěv Výroba.[1][2] Jádrem v mozku zpěvných ptáků, které hraje roli jak při učení, tak při výrobě ptačího zpěvu, je HVC (vysoké hlasové centrum ). Příkazové signály pro různé noty v ptačím zpěvu vycházejí z různých bodů HVC. Toto kódování funguje jako prostorové kódování, což je efektivní strategie pro biologické obvody díky své vlastní jednoduchosti a robustnosti.
Zobecněné unární kódování
Zobecněnou verzi unárního kódování představil Subhash Kak reprezentovat čísla mnohem efektivněji než standardní unární kódování.[3] Zde je příklad zobecněného unárního kódování celých čísel od 1 do 15, které vyžaduje pouze 7 bitů (kde jsou tři bity libovolně vybrány místo jednoho ve standardním unárním k zobrazení čísla). Všimněte si, že reprezentace je cyklická, kde jeden používá značky k reprezentaci vyšších celých čísel ve vyšších cyklech.
n | Unární kód | Zobecněný unár |
---|---|---|
0 | 0 | 0000000 |
1 | 10 | 0000111 |
2 | 110 | 0001110 |
3 | 1110 | 0011100 |
4 | 11110 | 0111000 |
5 | 111110 | 1110000 |
6 | 1111110 | 0010111 |
7 | 11111110 | 0101110 |
8 | 111111110 | 1011100 |
9 | 1111111110 | 0111001 |
10 | 11111111110 | 1110010 |
11 | 111111111110 | 0100111 |
12 | 1111111111110 | 1001110 |
13 | 11111111111110 | 0011101 |
14 | 111111111111110 | 0111010 |
15 | 1111111111111110 | 1110100 |
Zobecněné unární kódování vyžaduje, aby byl předem zadán rozsah zobrazovaných čísel, protože tento rozsah určuje počet bitů, které jsou potřeba.
Viz také
Poznámky
- ^ Ekvivalent k pojmu „unární kódování“ v německé vědecké literatuře je „BCD-Zählcode„, což by se přeložit do“Binárně kódované desetinné místo počítací kód ". To nesmí být zaměňováno s obdobným německým výrazem"BCD kód"překlad do BCD kód v angličtině.
Reference
- ^ Fiete, I. R .; Seung, H. S. (2007). "Neuronové síťové modely produkce ptáků, učení a kódování ptáků". V Squire, L .; Albright, T .; Bloom, F .; Gage, F .; Spitzer, N. (eds.). Nová encyklopedie neurovědy. Elsevier.
- ^ Moore, J. M .; et al. (2011). „Konvergence motorické dráhy předpovídá velikost slabikového repertoáru u ptáků ve vlnách“. Proc. Natl. Acad. Sci. USA. 108 (39): 16440–16445. doi:10.1073 / pnas.1102077108. PMC 3182746. PMID 21918109.
- ^ Kak, S. (2015). Msgstr "Zobecněné unární kódování". Obvody, systémy a zpracování signálu. 35 (4): 1419–1426. doi:10.1007 / s00034-015-0120-7.