ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ арифмСтичСского кодирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ сравнСниС ΠΈΡ… коэффициСнтов сТатия

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

НапримСр, для числа 21 вычисляСтся bin'(21)=0101, Π·Π°Ρ‚Π΅ΠΌ bin'(4)=00, bin'(2)=0. Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π²Π½ΠΎ 3, поэтому ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слово ΠΊΠΎΠ΄Π° Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ lev (21)=(1110)(0)(00)(0101)=11 100 000 101. Π”Π΅ΠΊΠΎΠ΄Π΅Ρ€ ΠΊΠΎΠ΄Π° Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°, дСкодируя ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΡƒΠ·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΠΈ. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΎΠ΄ΠΈΠ½ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠΉ разряд (0) ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Π² ΠΊ Π½Π΅ΠΌΡƒ Π² Π½Π°Ρ‡Π°Π»ΠΎ 1, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 10. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ арифмСтичСского кодирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ сравнСниС ΠΈΡ… коэффициСнтов сТатия (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π• ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΉ

1. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ арифмСтичСского кодирования

1.1 Π£Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

1.2 Код Π“ΠΎΠ»ΠΎΠΌΠ±Π°

1.3 Код Райса

1.4 ΠšΠΎΠ΄Ρ‹ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

1.5 Π“Π°ΠΌΠΌΠ° — ΠΊΠΎΠ΄Ρ‹ Элиаса

1.6 Π”Π΅Π»ΡŒΡ‚Π° — ΠΊΠΎΠ΄Ρ‹ Элиаса

1.7 ОмСга код Элиаса

1.8 ΠšΠΎΠ΄Ρ‹ Ивэн-Родэ

1.9 Код Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°

1.10 Π“Π°ΠΌΠΌΠ° ΠΊΠΎΠ΄Ρ‹ Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°

1.11 Π‘Ρ‚Π°Ρ€Ρ‚ — шаг — стоп ΠΊΠΎΠ΄Ρ‹

1.12 Код Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

2. ОбоснованиС ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² кодирования

2.1 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

2.2 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π“ΠΎΠ»ΠΎΠΌΠ±Π°

2.3 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

2.4 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ Элиаса

2.5 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ Элиаса

3. ОбоснованиС ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ кодирования

3.1 ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств

3.2 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

3.3 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π“ΠΎΠ»ΠΎΠΌΠ±Π°

3.4 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

3.5 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π³Π°ΠΌΠΌΠ°-кодирования Элиаса

3.5 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π΄Π΅Π»ΡŒΡ‚Π°-кодирования Элиаса

4. Π’Π΅Ρ…Π½ΠΈΠΊΠΎ-экономичСскоС обоснованиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ арифмСтичСского кодирования

4.1 ЦСль ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

4.2 РасчСт сСбСстоимости ΠΈ Ρ†Π΅Π½Ρ‹ издСлия

4.2.1 РасчСт ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… расходов

4.2.2 Расходы Π½Π° ΠΎΠΏΠ»Π°Ρ‚Ρƒ Ρ‚Ρ€ΡƒΠ΄Π°

4.2.3 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ заработная ΠΏΠ»Π°Ρ‚Π°

4.2.4 отчислСния Π½Π° ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ мСроприятия

4.2.5 АмортизационныС отчислСния

4.2.6 Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠ΅ врСмя

4.2.7 НакладныС расходы

4.3 ЭкономичСская ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ НИР

4.4 Π’Ρ‹Π²ΠΎΠ΄Ρ‹

5 ΠžΡ…Ρ€Π°Π½Π° Ρ‚Ρ€ΡƒΠ΄Π° ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды

5.1 ΠžΠ±Ρ‰ΠΈΠ΅ вопросы ΠΎΡ…Ρ€Π°Π½Ρ‹ Ρ‚Ρ€ΡƒΠ΄Π° ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды

5.2 ΠžΠΏΠ°ΡΠ½Ρ‹Π΅ ΠΈ Π²Ρ€Π΅Π΄Π½Ρ‹Π΅ производствСнныС Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹

5.3 ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Π°Ρ санитария

5.3.1 ΠœΠ΅Ρ‚Π΅ΠΎΡ€ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ условия помСщСния ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅

5.3.2 ΠžΡΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ производствСнного помСщСния

5.3.3 Π˜Π·Π»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ ΡΠΊΡ€Π°Π½Π°

5.3.4 Π¨ΡƒΠΌ ΠΈ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΡ

5.3.5 Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

5.3.6 ΠŸΠΎΠΆΠ°Ρ€Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

5.4 ΠžΡ…Ρ€Π°Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Бписок источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, А — Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ кодирования-дСкодирования

ΠŸΠ•Π Π•Π§Π•ΠΠ¬ ΠžΠ‘ΠžΠ—ΠΠΠ§Π•ΠΠ˜Π™ И Π‘ΠžΠšΠ ΠΠ©Π•ΠΠ˜Π™

Unar — ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ДБН — Π΄Π΅Ρ€ΠΆΠ°Π²Π½Ρ– Π±ΡƒΠ΄Ρ–Π²Π΅Π»ΡŒΠ½Ρ– Π½ΠΎΡ€ΠΌΠΈ Π”ΠΠΠžΠŸ — Π΄Π΅Ρ€ΠΆΠ°Π²Π½ΠΈΠΉ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΈΠΉ Π°ΠΊΡ‚ ΠΏΡ€ΠΎ ΠΎΡ…ΠΎΡ€ΠΎΠ½Ρƒ ΠΏΡ€Π°Ρ†Ρ–

ΠšΠ•Πž — коэффициСнт СстСствСнного освСщСния НДБ — Налог Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ НИР — Π½Π°ΡƒΡ‡Π½ΠΎ-ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° НИОКР — коэффициСнт Π½Π°ΡƒΡ‡Π½ΠΎ-тСхничСского эффСкта ПУЭ — ΠΏΡ€Π°Π²ΠΈΠ»Π° устройства элСктроустановок БНиП — БистСма Π½ΠΎΡ€ΠΌ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»

Π’Π’Π•Π”Π•ΠΠ˜Π•

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ общСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²ΠΈΠ΄ прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… сфСрах ΠΆΠΈΠ·Π½Π΅Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ объСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большой протяТСнности ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΠΎΠΉ способности ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ развития ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ инфраструктуры, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ‹ Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ся с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π·Π°Π΄Π°Ρ‡Π° сТатия Π΄Π°Π½Π½Ρ‹Ρ… являСтся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… прилоТСниях ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… называСтся Ρ‚Π°ΠΊΠΎΠ΅ Π΅Π³ΠΎ описаниС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ создаваСмый сТатый Π±Π»ΠΎΠΊ содСрТит мСньшС Π±ΠΈΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ исходный, Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΌΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ восстановлСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° исходного Π±Π»ΠΎΠΊΠ°. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс, восстановлСниС ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡŽ, называСтся Ρ€Π°Π·ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ²: компрСссия /дСкомпрСссия, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ /Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° /распаковка.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² компрСссии самых Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… стадиях Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ энтропия сТатых Π΄Π°Π½Π½Ρ‹Ρ… совпадаСт с ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΠ΅ΠΉ исходного источника ΠΈ ΠΏΠΎ ΡΠΆΠ°Ρ‚Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ компрСссия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ являСтся ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ случаСм сТатия, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ энтропия Π΄Π°Π½Π½Ρ‹Ρ… остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сТатия Π»Π΅ΠΆΠΈΡ‚ простая идСя: Ссли ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ элСмСнты ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ, Π° Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ — Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ, Ρ‚ΠΎ Π΄Π»Ρ хранСния Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… трСбуСтся мСньший объСм памяти, Ρ‡Π΅ΠΌ Ссли Π±Ρ‹ всС элСмСнты ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ»ΠΈΡΡŒ ΠΊΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сТатия ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ нСсТатых Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π΄Π»ΠΈΠ½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ ΡΠΆΠ°Ρ‚Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ сТатия ΠΈ Ρ€Π°Π·ΠΆΠ°Ρ‚ия. Часто ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΊ ΡΡ‚Π΅ΠΏΠ΅Π½ΠΈ сТатия Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ — коэффициСнтом сТатия, опрСдСляСмым ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ сТатых Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π΄Π»ΠΈΠ½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ Π½Π΅ΡΠΆΠ°Ρ‚Ρ‹Ρ….

Настоящая Ρ€Π°Π±ΠΎΡ‚Π° посвящСна исслСдованию Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² арифмСтичСского кодирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ ΠΈΡ… ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠ² сТатия. ВСорСтичСскоС ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ исслСдованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

1. ΠœΠ•Π’ΠžΠ”Π« ΠΠ Π˜Π€ΠœΠ•Π’Π˜Π§Π•Π‘ΠšΠžΠ“Πž ΠšΠžΠ”Π˜Π ΠžΠ’ΠΠΠ˜Π―

ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ΅ прСдставлСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ — ΠΎΡ‡Π΅Π½ΡŒ ваТная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΠ±Π»Π°ΡΡ‚ях, Π³Π΄Π΅ приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со ΡΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. ЦСль — сТатиС ΠΏΠΎΡ‚ΠΎΠΊΠ° R-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… элСмСнтов. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ся, поэтому ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ способов прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… чисСл.

АрифмСтичСскоС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ извСстно сСгодня ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сТатия Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ для большого класса источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Основная идСя арифмСтичСского кодирования Π±Ρ‹Π»Π° сформулирована ЭлайСсом Π΅Ρ‰Ρ‘ Π² Π½Π°Ρ‡Π°Π»Π΅ 60-Ρ… Π³ΠΎΠ΄ΠΎΠ². ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ арифмСтичСского ΠΊΠΎΠ΄Π° ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΉ избыточности Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» источника (ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ — Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ понятиС Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ сТатия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π›ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ°Ρ‚ΡŒ; Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ избыточности — ΡΠΆΠ°Ρ‚ΡŒ нСльзя). ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ для Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² распрСдСлСния вСроятностСй ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… символов.

Основная идСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ порядок значСния элСмСнта Xi («ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ» Ei) ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ — Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€Ρ‹ значСния («ΠΌΠ°Π½Ρ‚иссу» Mi).

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈ ΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° объСм Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡ‚Π΅Π½. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ компрСссора (содСрТащСго прямоС, «ΡΠΆΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅) Ρ€Π°Π²Π½Π° скорости дСкомпрСссора (Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅, «Ρ€Π°Π·ΠΆΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΈ Π·Π°Π²ΠΈΡΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΌΠ° исходных Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ°ΠΌΡΡ‚ΠΈ потрСбуСтся всСго нСсколько Π±Π°ΠΉΡ‚ΠΎΠ².

БущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

Β· Fixed+Fixed (фиксированная Π΄Π»ΠΈΠ½Π° экспонСнты — фиксированная Π΄Π»ΠΈΠ½Π° мантиссы)

Β· Fixed+Variable (фиксированная Π΄Π»ΠΈΠ½Π° экспонСнты — пСрСмСнная Π΄Π»ΠΈΠ½Π° мантиссы)

Β· Variable+Variable (пСрСмСнная Π΄Π»ΠΈΠ½Π° экспонСнты — пСрСмСнная Π΄Π»ΠΈΠ½Π° мантиссы)

Β· Variable+Fixed (пСрСмСнная Π΄Π»ΠΈΠ½Π° экспонСнты — фиксированная Π΄Π»ΠΈΠ½Π° мантиссы) Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны ΠΊΠΎΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (Variable+Variable).

1.1 Π£Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π£Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ сопоставляСт числу i Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π²ΠΈΠ΄Π° 10. Π—Π°ΠΏΠΈΡΡŒ Π²ΠΈΠ΄Π° 0 ΠΈΠ»ΠΈ 1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ соотвСтствСнно ΡΠ΅Ρ€ΠΈΡŽ ΠΈΠ· m Π½ΡƒΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†. НапримСр, ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ чисСл 1, 2, ΠΈ 3 ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ unar (1)=10, unar (2)=110 ΠΈ unar (3)=1110 соотвСтствСнно. Π”Π»ΠΈΠ½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ слова для числа n Ρ€Π°Π²Π½Π° ln=n+1. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.1 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ чисСл ΠΎΡ‚ 0 Π΄ΠΎ 6.

Рисунок 1.1 — Π£Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ чисСл ΠΎΡ‚ 0 Π΄ΠΎ 6

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½, Ссли числа i Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎ Π³Π΅ΠΎΠΌΠ΅Ρ‚ричСскому Π·Π°ΠΊΠΎΠ½Ρƒ (1.1) с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ =:

p=(1-), (1.1)

Π³Π΄Π΅ i=1,2,

Для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ < Π±ΠΎΠ»Π΅Π΅ эффСктивСн ΠΊΠΎΠ΄ Π“ΠΎΠ»ΠΎΠΌΠ±Π°.

1.2 Код Π“ΠΎΠ»ΠΎΠΌΠ±Π° ΠšΠΎΠ΄Ρ‹ Π“ΠΎΠ»ΠΎΠΌΠ±Π° — это сСмСйство энтропийных ΠΊΠΎΠ΄Π΅Ρ€ΠΎΠ², ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠ±Ρ‰ΠΈΠΌ случаСм ΡƒΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ энтропиикодированиС словами (ΠΊΠΎΠ΄Π°ΠΌΠΈ) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° символа ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π²Π΅Ρ€ΠΎΡΡ‚ности появлСния символа Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌ сообщСнии. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ энтропийныС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для сТатия Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Ρ‹, Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΡƒ вСроятности символа. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятныС символы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹. Богласно Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ΅ Π¨Π΅Π½Π½ΠΎΠ½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° для символа Ρ€Π°Π²Π½Π°logP, Π³Π΄Π΅ bэто количСство символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для изготовлСния Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ Π Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа. Π£Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ — это энтропийноС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт число n Π² Π²ΠΈΠ΄Π΅ n Π΅Π΄ΠΈΠ½ΠΈΡ† с Π·Π°ΠΌΡ‹ΠΊΠ°ΡŽΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ (Π»ΠΈΠ±ΠΎ n Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°). НапримСр, 5 прСдставляСтся Π² Π²ΠΈΠ΄Π΅ 111 110. Π£Π½Π°Ρ€Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ для распрСдСлСния вСроятности: P (x)=2. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠΌ Π“ΠΎΠ»ΠΎΠΌΠ±Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»Π΅ΠΉ этого сСмСйства.

Код Π“ΠΎΠ»ΠΎΠΌΠ±Π° позволяСт ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… слов. Π­Ρ‚ΠΎ прСдставлСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ распрСдСлСниС вСроятности символов подчиняСтся гСомСтричСскому Π·Π°ΠΊΠΎΠ½Ρƒ (1.2):

P (i) = (1-p)p, (1.2)

Π³Π΄Π΅ i — Π½ΠΎΠΌΠ΅Ρ€ символа, Π° Ρ€ — ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ гСомСтричСского распрСдСлСния. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ условиС (1.3):

p=, (1.3)

Π³Π΄Π΅ m — основной ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ΄Π° Π“ΠΎΠ»ΠΎΠΌΠ±Π°.

Для кодирования символа с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ n Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ n Π² Π²ΠΈΠ΄Π΅ (1.4):

n = qm + r, (1.4)

Π³Π΄Π΅ q ΠΈ r — Ρ†Π΅Π»Ρ‹Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа, 0 r < m. Π—Π°Ρ‚Π΅ΠΌ r ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ся ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π° q — Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ слово.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Основной ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ΄Π° m=4, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ число n=13 .

Β· ЧастноС q===3;

Β· ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ q — 1110;

Β· остаток r=n mod m=13 mod 4=1;

Β· Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ r — 01;

Β· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слово — 111 001.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² Π“ΠΎΠ»ΠΎΠΌΠ±Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° m Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.1:

Π’Π°Π±Π»ΠΈΡ†Π° 1.1 — ΠšΠΎΠ΄Ρ‹ Π“ΠΎΠ»ΠΎΠΌΠ±Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² m

n m

НиТС приводится рисунок 1.2, ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ устройство Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ²: ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС остатка слСдуСт Π·Π° ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ :

Рисунок 1.2 — Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² Π“ΠΎΠ»ΠΎΠΌΠ±Π°

1.3 Код Райса Код Райса ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΊΠΎΠ΄Ρƒ Π“ΠΎΠ»ΠΎΠΌΠ±Π°, ΠΊΠΎΠ³Π΄Π° m ΡΠ²Π»ΡΠ΅Ρ‚ся ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΄Π²ΠΎΠΉΠΊΠΈ. На ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ k, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ вычисляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ m = 2k.

Π’Π²Π΅Π΄Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’=2. Код Райса для числа n ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ· Π΄Π²ΡƒΡ… частСй. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ — ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа [], вторая Ρ‡Π°ΡΡ‚ΡŒ — двоичная запись Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π»ΠΈΠ½Ρ‹ k ΠΎΡΡ‚Π°Ρ‚ΠΊΠ° ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ n Π½Π° T. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° Райса для числа n Ρ€Π°Π²Π½Π° ln=[]+1+k. НапримСр, ΠΏΡ€ΠΈ k=3 ΠΈ n=21 ΠΈΠΌΠ΅Π΅ΠΌ []=2, остаток Ρ€Π°Π²Π΅Π½ 5. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ΄ΠΎΠΌ Райса числа 21 Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 110 101.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² Райса для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² k, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.2:

Π’Π°Π±Π»ΠΈΡ†Π° 1.2 — ΠšΠΎΠ΄Ρ‹ Райса для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² k

n k

Код Райса — это частный случай ΠΊΠΎΠ΄Π° Π“ΠΎΠ»ΠΎΠΌΠ±Π°, это Π»Π΅Π³ΠΊΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 1.3, прСдставлСнной Π½ΠΈΠΆΠ΅:

Π’Π°Π±Π»ΠΈΡ†Π° 1.3 — Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠΎΠ΄Π° Райса ΠΈ ΠΊΠΎΠ΄Π° Π“ΠΎΠ»ΠΎΠΌΠ±Π°

Код Π“ΠΎΠ»ΠΎΠΌΠ±Π°

m=1

m=2

m=3

m=4

m=5

m=6

m=7

m=8

Код Райса

k=0

k=1

k=2

k=3

n=1

1.4 ΠšΠΎΠ΄Ρ‹ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π‘Π°ΠΌΡ‹Π΅ интСрСсныС, Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ исходноС число n Ρ€Π°ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ся Π² ΡΡƒΠΌΠΌΡƒ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ fi (f1 = 1; f2 = 2; fi = fi?1 + fi?2). Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ любоС Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ число ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ прСдставимо Π² Π²ΠΈΠ΄Π΅ суммы чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ числа ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ„Π°ΠΊΡ‚ наличия Π² n ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Ссли Π² Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ числа n ΠΏΡ€ΠΈΡΡƒΡ‚ствуСт fi, Ρ‚ΠΎ Π² ΡΡ‚ΠΎΠΌ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числа fi+1. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ для ΠΊΠΎΠ½Ρ†Π° ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π’ΠΎΠ³Π΄Π° Π΄Π²Π΅ ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ подряд Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ кодирования Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ числа.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.4:

Π’Π°Π±Π»ΠΈΡ†Π° 1.4 — ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

nf

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

Числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ — элСмСнты числовой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, …,

Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ число Ρ€Π°Π²Π½ΠΎ суммС Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… чисСл. НазваниС ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ срСднСвСкового ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π›Π΅ΠΎΠ½Π°Ρ€Π΄ΠΎ Пизанского (ΠΈΠ»ΠΈ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ).

Π‘ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ {F} задаСтся Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹ΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ:

F =1, F=1, F=F+F, nN

Иногда числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΠΈ Π΄Π»Ρ Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² n ΠΊΠ°ΠΊ двустороннС Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΡƒΡŽ основному ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ. Π§Π»Π΅Π½Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ эквивалСнтной Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ «Π½Π°Π·Π°Π΄» (1.5):

F=FF (1.5)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ двустороннС бСсконСчной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ прСдставлСн Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.5:

Π’Π°Π±Π»ΠΈΡ†Π° 1.5-Двусторонняя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [-7.7]

n

— 7

— 6

— 5

— 4

— 3

— 2

— 1

F

— 8

— 3

— 1

Π›Π΅Π³ΠΊΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ F =(-1)F.

1.5 Π“Π°ΠΌΠΌΠ°ΠΊΠΎΠ΄Ρ‹ Элиаса Π“Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ Элиаса — Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ прСфиксный ΠΊΠΎΠ΄ прСдставлСния Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл. Число кодируСтся Π² Π΄Π²Π° этапа. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ количСство Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… разрядов ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ числа. Π’Π½Π°Ρ‡Π°Π»Π΅ кодируСтся n ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²ΠΎΠΌ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, послС Ρ‡Π΅Π³ΠΎ Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ n ΠΌΠ»Π°Π΄ΡˆΠΈΡ… разрядов (ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ разряд, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, опускаСтся). Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΊΠΎΠ΄ прСдставляСт собой число Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ нулями Π½Π° 1 мСньшСй Π΄Π»ΠΈΠ½Ρ‹. Π’ ΡΡƒΠΌΠΌΠ΅ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ 2 n + 1. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.6 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄Ρ‹ Элиаса ΠΌΠ°Π»Ρ‹Ρ… Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл:

Π’Π°Π±Π»ΠΈΡ†Π° 1.6 — Π“Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄Ρ‹ Элиаса ΠΌΠ°Π»Ρ‹Ρ… Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл

Числа

Код

Π”Π»ΠΈΠ½Π°

2−3

01Ρ…

4−7

001Ρ…Ρ…

8−15

0001Ρ…Ρ…Ρ…

16−31

1Ρ…Ρ…Ρ…Ρ…

32−63

1Ρ…Ρ…Ρ…Ρ…Ρ…

64−127

1Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…

1.6 Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄Ρ‹ Элиаса

Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ Элиаса являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄Π°. Π’ Π½Π°Ρ‡Π°Π»Π΅ кодируСтся количСство Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… разрядов Π² Ρ‡ΠΈΡΠ»Π΅ посрСдством Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄Π°, послС Ρ‡Π΅Π³ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ разряды, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (ΠΎΠ±Ρ‰ΠΈΠΌ количСством Π½Π° 1 мСньшС Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ количСства). Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.7 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄Ρ‹ Элиаса для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… чисСл. Π—Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ количСство разрядов ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ числа Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. Π—Π½Π°ΠΊΠΈ Ρ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ разрядам Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ числа.

Π’Π°Π±Π»ΠΈΡ†Π° 1.7 — Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄Ρ‹ Элиаса для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… чисСл

Числа

Код

Π”Π»ΠΈΠ½Π°

2−3

010 Ρ…

4−7

011 Ρ…Ρ…

8−15

100 Ρ…Ρ…Ρ…

16−31

101 Ρ…Ρ…Ρ…Ρ…

32−63

110 Ρ…Ρ…Ρ…Ρ…Ρ…

64−127

111 Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…

128−255

1 000 Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…

256−511

1 001 Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…

Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ Π΄Π°Ρ‘Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС Π΄Π»ΠΈΠ½ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл, Ρ‡Π΅ΠΌ для ΠΌΠ°Π»Ρ‹Ρ… (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΠ΄Π° ΠΊ Ρ‡ΠΈΡΠ»Ρƒ Π΅Π³ΠΎ разрядов стрСмится ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅).

НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π³ ΠΈ Π΄ ΠΊΠΎΠ΄ΠΎΠ² Элиаса ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.8:

Π’Π°Π±Π»ΠΈΡ†Π° 1.8 — Π³ ΠΈ Π΄ ΠΊΠΎΠ΄Ρ‹ Элиаса

n

— ΠΊΠΎΠ΄

— ΠΊΠΎΠ΄

;

0 1

2…3

01Ρ…

0 01Ρ…

4…7

001Ρ…Ρ…

0 001Ρ…Ρ…

8…15

0001Ρ…Ρ…Ρ…

0 0001Ρ…Ρ…Ρ…

16…31

1Ρ…Ρ…Ρ…Ρ…

0 1Ρ…Ρ…Ρ…Ρ…

32…63

1Ρ…Ρ…Ρ…Ρ…Ρ…

0 1Ρ…Ρ…Ρ…Ρ…Ρ…

1.7 ОмСга-ΠΊΠΎΠ΄ Элиаса ОмСга-ΠΊΠΎΠ΄ Элиаса (рСкурсивный ΠΊΠΎΠ΄ Элиаса) состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°, ΠΈ Π·Π°ΠΌΡ‹ΠΊΠ°Π΅ΠΌΡ‹Ρ… Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ. ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° всСгда ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ 2 Π±ΠΈΡ‚Π°. Π”Π»ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ опрСдСляСтся ΠΊΠ°ΠΊ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ большая, Ρ‡Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ. ПослСдняя Π³Ρ€ΡƒΠΏΠΏΠ° Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ число. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ составляСт число 1, ΠΎΠ½ΠΎ кодируСтся СдинствСнным Π±ΠΈΡ‚ΠΎΠΌ 0. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.9:

Π’Π°Π±Π»ΠΈΡ†Π° 1.9 — ОмСга ΠΊΠΎΠ΄Ρ‹ Элиаса

Число

Код

Π”Π»ΠΈΠ½Π°

2−3

1Ρ… 0

4−7

10 1Ρ…Ρ… 0

8−15

11 1Ρ…Ρ…Ρ… 0

16−31

10 100 1Ρ…Ρ…Ρ…Ρ… 0

32−63

10 101 1Ρ…Ρ…Ρ…Ρ…Ρ… 0

64−127

10 110 1Ρ…Ρ…Ρ…Ρ…Ρ…Ρ… 0

128−255

10 111 1Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ… 0

256−511

11 1000 1Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ… 0

512−1023

11 1001 1Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ…Ρ… 0

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π³Ρ€ΡƒΠΏΠΏ Π² ΠΊΠΎΠ΄Π΅ возрастаСт быстро Π²Π½Π°Ρ‡Π°Π»Π΅, Π½ΠΎ Π΄Π°Π»Π΅Π΅ — ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ:

Β· для 1 Π±ΡƒΠ΄Π΅Ρ‚ 0 Π³Ρ€ΡƒΠΏΠΏ;

Β· 2 … 3 (21 … 22? 1) — 1 Π³Ρ€ΡƒΠΏΠΏΠ°;

Β· 4 … 15 (22 … 222? 1) — 2 Π³Ρ€ΡƒΠΏΠΏΡ‹;

Β· 16 … 65 536 (222 … 2222? 1) — 3 Π³Ρ€ΡƒΠΏΠΏΡ‹;

Β· 65 536 … 2 Β· 1019 728 (2222 … 22222? 1) — всСго 4 Π³Ρ€ΡƒΠΏΠΏΡ‹.

1.8 ΠšΠΎΠ΄Ρ‹ ИвэнРодэ Π”Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΎΠΌΠ΅Π³Π°-ΠΊΠΎΠ΄Ρ‹ Элиаса, состоят ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π³Ρ€ΡƒΠΏΠΏ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ L1, L2, L3, …, Lm Π±ΠΈΡ‚ [1], ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΠΈΡ‚Π° 1. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСдуСт 0. Π”Π»ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ (n+1)-ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ задаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΡ‚ΠΎΠ² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ n-ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ² послСднСй Π³Ρ€ΡƒΠΏΠΏΡ‹ являСтся ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ всСго ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всСй ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π³Ρ€ΡƒΠΏΠΏ. Π’ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΠΈ, всС ΠΏΠ΅Ρ€Π²Ρ‹Π΅ m?1 Π³Ρ€ΡƒΠΏΠΏ слуТат лишь для указания Π΄Π»ΠΈΠ½Ρ‹ послСднСй Π³Ρ€ΡƒΠΏΠΏΡ‹.

Π’ Π˜Π²ΡΠ½-Родэ-ΠΊΠΎΠ΄Π°Ρ… Π΄Π»ΠΈΠ½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ — 3 Π±ΠΈΡ‚Π°, Π° Π΄Π»ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π²Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ значСния Π·Π°Π΄Π°Π½Ρ‹ особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠŸΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ формируСтся сначала послСдняя Π³Ρ€ΡƒΠΏΠΏΠ°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π½ΡƒΠ»Π΅ΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΏΠΎΠΊΠ° процСсс Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.

ΠŸΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ, ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π±ΠΈΡ‚ΠΎΠ² ΡƒΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ опрСдСляСтся Π΄Π»ΠΈΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π° итоговая Π³Ρ€ΡƒΠΏΠΏΠ°, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ΄Π΅Ρ‚ ноль.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² Ивэн-Родэ — Ρ‚Π°Π±Π»ΠΈΡ†Π° 1.10:

Π’Π°Π±Π»ΠΈΡ†Π° 1.10 — ΠšΠΎΠ΄Ρ‹ Ивэн-Родэ

n

Код Ивэн-Родэ

100 0

101 10 000 0

110 100 000 0

111 1 100 100 0

1.9 Код Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ число n=21. Π”Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС этого числа ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ 10 101. НСпосрСдствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ прСдставлСния Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл нСльзя. Π‘Π°ΠΌΡ‹ΠΉ простой Π²Ρ‹Ρ…ΠΎΠ΄ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅ слова прСфикс, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π»ΠΈΠ½Ρƒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это число 5). Если это число Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ слСва ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа, Ρ‚ΠΎ ΠΊΠΎΠ΄ получится ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для числа 21 ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слово 11 111 010 101. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π΄Π»ΠΈΠ½Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 2[logn].

Π¨Π°Π³ Π·Π° ΡˆΠ°Π³ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ этот способ кодирования. Π’Π°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ пСрвая значащая Ρ†ΠΈΡ„Ρ€Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа — всСгда 1. Π•Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ, Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ сам Π΄ΠΎΠΏΠΈΡˆΠ΅Ρ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Ссли Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· bin'(n) Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ запись Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа n Π±Π΅Π· ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Π”Π»ΠΈΠ½Ρ‹ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… слов Ρ€Π°Π²Π½Ρ‹ (1.6):

ln=2[log n]+1 (1.6)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ запись Π΅Ρ‰Ρ‘ ΠΊΠΎΡ€ΠΎΡ‡Π΅, с Π΄Π»ΠΈΠ½ΠΎΠΉ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠ°ΠΌΠΈΠΌ числом, Ρ‚. Π΅. ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ разряды (ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹), Π·Π°Ρ‚Π΅ΠΌ Π΄Π»ΠΈΠ½Ρƒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… разрядов ΠΈ Ρ‚. Π΄. Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΡ‚анСтся ΠΎΠ΄ΠΈΠ½ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠΉ разряд. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΌ, достаточно ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ прСфикс, содСрТащий Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ прСфиксным ΠΊΠΎΠ΄ΠΎΠΌ (ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ — это ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΊΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ символа) число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. МинимальноС число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π²Π½ΠΎ 0 (ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ числа 1). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ прСфиксного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° 1 числа ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слово Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ словом ΠΊΠΎΠ΄Π° Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°.

НапримСр, для числа 21 вычисляСтся bin'(21)=0101, Π·Π°Ρ‚Π΅ΠΌ bin'(4)=00, bin'(2)=0. Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π²Π½ΠΎ 3, поэтому ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слово ΠΊΠΎΠ΄Π° Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ lev (21)=(1110)(0)(00)(0101)=11 100 000 101. Π”Π΅ΠΊΠΎΠ΄Π΅Ρ€ ΠΊΠΎΠ΄Π° Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°, дСкодируя ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΡƒΠ·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΠΈ. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΎΠ΄ΠΈΠ½ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠΉ разряд (0) ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Π² ΠΊ Π½Π΅ΠΌΡƒ Π² Π½Π°Ρ‡Π°Π»ΠΎ 1, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 10. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π»ΠΈΠ½Π° числа Π±Ρ‹Π»Π° 2. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² 2 разряда ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Π² слСва 1, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ 100. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ считаСт 4 разряда ΠΈ Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ слСва 1. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 10 101, Π΅ΠΉ ΡΠΎΠΎΡ‚вСтствуСт число 21. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΡƒΠΆΠ΅ послСдняя 3-я итСрация, число 21 являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ дСкодирования.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° 1.11 — Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠΎΠ΄ΠΎΠ² Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… чисСл Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ряда.

Π’Π°Π±Π»ΠΈΡ†Π° 1.11 — ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°

n

Код Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°

Lev (n)

ln

ΠšΠΎΠ΄Ρ‹ Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° ΠΈ Π­Π»ΠΈΠ°ΡΠ° практичСски эквивалСнтны, Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ ΠΊΠΎΠ΄Π° Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° проявляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ астрономичСски Π±ΠΎΠ»ΡŒΡˆΠΈΡ… значСниях n.

1.10 Π“Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄Ρ‹ Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для числа n ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ся ΠΏΡƒΡ‚Π΅ΠΌ обращСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚ΠΎΠ² Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи этого числа ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ послСднСго, Ρ„Π»Π°Π³ΠΎΠ²ΠΎΠ³ΠΎ (flag bit) Π±ΠΈΡ‚Π° 0. ПослСдним Ρ„Π»Π°Π³ΠΎΠ²Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ являСтся Π±ΠΈΡ‚ 1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ совпадаСт с ΡΠ°ΠΌΡ‹ΠΌ ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи числа n.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.12:

Π’Π°Π±Π»ΠΈΡ†Π° 1.12 — ΠšΠΎΠ΄Ρ‹ Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°

n

Π“Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°

ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ„Π»Π°Π³ΠΎΠ²Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ послСдним Ρ‚Π°ΠΊΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, которая являлась ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ числа.

1.11 Π‘Ρ‚Π°Ρ€Ρ‚-шаг-стоп ΠΊΠΎΠ΄Ρ‹ (Start-step-stop codes)

Π­Ρ‚ΠΈ ΠΊΠΎΠ΄Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ трСмя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ {i, j, k}. Код опрСдСляСт сСрии Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… слов Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ с Ρ‡ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄Π»ΠΈΠ½ΠΎΠΉ i Π±ΠΈΡ‚ΠΎΠ², Π²Ρ‚ΠΎΡ€ΠΎΠΉ — i + j Π±ΠΈΡ‚ΠΎΠ², Π·Π°Ρ‚Π΅ΠΌ — i + 2j Π±ΠΈΡ‚ΠΎΠ², ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ‹ k Π±ΠΈΡ‚ΠΎΠ². Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… слов ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ прСфикс, Π΄Π°ΡŽΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π³Ρ€ΡƒΠΏΠΏΡ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ {3, 2, 9} ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ слова с Ρ‡ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ 3, 5, 7 ΠΈ 9 Π±ΠΈΡ‚ ΠΈ ΠΏΡ€Π΅Ρ„иксы 0, 10, 110 ΠΈ 111 (опуская послСдний 0 Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ прСфиксС). Π”Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.13 ΠΈ Π²Ρ‹Π³Π»ΡΠ΄ΡΡ‚ Ρ‚Π°ΠΊ:

Π’Π°Π±Π»ΠΈΡ†Π° 1.13 — Π‘Ρ‚Π°Ρ€Ρ‚-шаг-стоп ΠΊΠΎΠ΄Ρ‹

КодовоС слово

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

0xxx

0−7

10xxxxx

8−39

110xxxxxxx

40−167

111xxxxxxxxx

168−679

Π”Π°Π»Π΅Π΅ приводится общая Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° для восстановлСния числа ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу n.

ВосстановлСниС числа n ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ {i, j, k}-start-step-stop ΠΊΠΎΠ΄Ρƒ

ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ {i, j, k}-ΠΊΠΎΠ΄ ΠΈ ΠΏΡƒΡΡ‚ΡŒ количСство Π΅Π΄ΠΈΠ½ΠΈΡ† Π² ΡƒΠ½Π°Ρ€Π½ΠΎΠΉ части (экспонСнты) Ρ€Π°Π²Π½ΠΎ Q. Π’ΠΎΠ³Π΄Π° число n (Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ число) Ρ€Π°Π²Π½ΠΎ (1.7):

(1.7)

Π³Π΄Π΅ Π² — мантисса записанного ΠΊΠΎΠ΄Π°, Dec (x) — функция, пСрСводящая x Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ систСму счислСния.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ {i, j, k}-start-step-stop ΠΊΠΎΠ΄Π° ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу n

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΡƒΡΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΎ число n. Для получСния Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ минимальноС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число Q0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ нСравСнство (1.8):

. (1.8)

ΠŸΡ€ΠΈ этом сам ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ (1.9):

Π± (Q0? 1): Π² (n + 2IQ0? S). (1.9)

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ частных случаСв Start-step-stop ΠΊΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΎΠ½ΠΈ свСдСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ 1.14:

Π’Π°Π±Π»ΠΈΡ†Π° 1.14 — Частный случай старт-шаг-стоп ΠΊΠΎΠ΄ΠΎΠ²

{i, j, k}

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

k, 1, k

простой Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Ρ†Π΅Π»Ρ‹Ρ… чисСл

0, 1, ?

г-код Элиаса

k, k, ?

Π³-ΠΊΠΎΠ΄ Элиаса ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡŽ 2k

1.12 Код Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Код Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° (Huffman code) Π΅Ρ‰Ρ‘ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ минимально-ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ прСфиксным ΠΊΠΎΠ΄ΠΎΠΌ (minimum-redundancy prefix code). ИдСя, лСТащая Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°, достаточно проста. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС символы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ числом Π±ΠΈΡ‚ (ΠΊΠ°ΠΊ это сдСлано, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ASCII ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, Π³Π΄Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ отводится Ρ€ΠΎΠ²Π½ΠΎ ΠΏΠΎ 8 Π±ΠΈΡ‚), символы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‡Π°Ρ‰Π΅, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ мСньшим числом Π±ΠΈΡ‚, Ρ‡Π΅ΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ€Π΅ΠΆΠ΅. Код ΠΏΡ€ΠΈ этом Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ ΠΈΠ»ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, минимально-ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π΅Π½.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Ρ‚Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Дэвид Π₯Π°Ρ„Ρ„ΠΌΠ°Π½ Π² 1952 Π³ΠΎΠ΄Ρƒ. Алгоритм Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π΄Π²ΡƒΡ…ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ строится частотный ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ся ΠΊΠΎΠ΄Ρ‹. На Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ происходит нСпосрСдствСнно ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π° 50 Π»Π΅Ρ‚ со Π΄Π½Ρ опубликования, ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π½ΠΈΡ‡ΡƒΡ‚ΡŒ Π½Π΅ ΠΏΠΎΡ‚Срял своСй Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΠΈ. Π’Π°ΠΊ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡΡ‚алкиваСмся с Π½ΠΈΠΌ, Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ (Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Π°Ρ‰Π΅ работая Π² ΡΠ²ΡΠ·ΠΊΠ΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ), практичСски ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹, смотрим Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Ρ„ΠΈΠ»ΡŒΠΌΡ‹, посылаСм факс ΠΈΠ»ΠΈ ΡΠ»ΡƒΡˆΠ°Π΅ΠΌ ΠΌΡƒΠ·Ρ‹ΠΊΡƒ.

Π—Π°Π΄Π°Ρ‡Π° построСния ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½Π° Π·Π°Π΄Π°Ρ‡Π΅ построСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅ΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Π°. ΠžΠ±Ρ‰Π°Ρ схСма построСния Π΄Π΅Ρ€Π΅Π²Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°:

1. БоставляСтся список ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… символов (ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ рассматриваСтся ΠΊΠ°ΠΊ одноэлСмСнтноС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, вСс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π΅Π½ вСсу символа).

2. Из ΡΠΏΠΈΡΠΊΠ° выбираСтся 2 ΡƒΠ·Π»Π° с Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ вСсом.

3. ЀормируСтся Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ·Π΅Π» ΠΈ ΠΊ Π½Π΅ΠΌΡƒ присоСдиняСтся, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ…, Π΄Π²Π° ΡƒΠ·Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠŸΡ€ΠΈ этом полагаСтся, Ρ‡Ρ‚ΠΎ вСс сформированного ΡƒΠ·Π»Π° Ρ€Π°Π²Π΅Π½ суммС вСсов Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ².

4. Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡƒΠ·Π΅Π» добавляСтся ΠΊ ΡΠΏΠΈΡΠΊΡƒ.

5. Если Π² ΡΠΏΠΈΡΠΊΠ΅ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‚оряСтся 2−5.

2. ΠžΠ‘ΠžΠ‘ΠΠžΠ’ΠΠΠ˜Π• И ΠžΠŸΠ˜Π‘ΠΠΠ˜Π• ΠΠ›Π“ΠžΠ Π˜Π’ΠœΠžΠ’ ΠšΠžΠ”Π˜Π ΠžΠ’ΠΠΠ˜Π―

2.1 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π‘ΡƒΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

Π’ΠΎ Π²Ρ…одящСй ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа подсчитываСтся частота Π΅Π³ΠΎ «Π²ΡΡ‚рСчаСмости» Π² Π½Π΅ΠΉ. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ частотам строится Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠΎ Π²ΠΎΡΡ…одящСму ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ: Π»ΠΈΡΡ‚ΡŒΡ — это самыС Π½ΠΈΠ·ΠΊΠΈΠ΅ частоты; ΡƒΠ·Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоят Π²Ρ‹ΡˆΠ΅ Π»ΠΈΡΡ‚ΡŒΠ΅Π² ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ — это суммарноС количСство частот Π»ΠΈΡΡ‚ΡŒΠ΅Π²-Π΄Π΅Ρ‚Π΅ΠΉ; ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄Π΅Ρ€Π΅Π²Π° — это сумма всСх частот.

По Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ составляСтся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ: ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° с ΠΊΠΎΡ€Π½Ρ Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ символа, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Π²Π»Π΅Π²ΠΎ — Π² ΠΊΠΎΠ΄ записываСтся «0», Π²ΠΏΡ€Π°Π²ΠΎ — «1».

Благодаря Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ встрСчаСтся Ρ‡Π°Ρ‰Π΅ всСго, кодируСтся мСньшим количСством Π±ΠΈΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ символ с ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΉ частотой.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ кодирования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ «adamand» ΠΊΠΎΠ΄ΠΎΠΌ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°. Π˜Ρ‚Π°ΠΊ, пошагово Ρ€Π°ΡΠΏΠΈΡˆΠ΅ΠΌ дСйствия:

1. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ частоты встрСчаСмости всСх символов Π²ΠΎ Π²Ρ…одящСй ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

«a» — 3; «d» — 2; «m» — 1; «n» — 1

2. Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, исходя ΠΈΠ· Ρ‡Π°ΡΡ‚ΠΎΡ‚ встрСчаСмости. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.1:

Рисунок 2.1- Π‘ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

3. ВыписываСм ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹:

«a» — 0

«d» — 10

«m» — 110

«n» — 111

4. Π˜Ρ‚Π°ΠΊ, закодированная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄: 100 110 011 110.

Π‘Π»ΠΎΠΊ-схСмы, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… 2.2 — 2.5.

Рисунок 2.2 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Рисунок 2.3 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° построСния Π΄Π΅Ρ€Π΅Π²Π° для ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Рисунок 2.4 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±Ρ…ΠΎΠ΄Π° Π΄Π΅Ρ€Π΅Π²Π°, формирования ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Рисунок 2.5 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° дСкодирования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

2.2 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π“ΠΎΠ»ΠΎΠΌΠ±Π° Π‘ΡƒΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования:

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π²ΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° М. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ M Ρ€Π°Π²Π½ΠΎ Π΄Π²ΠΎΠΉΠΊΠ΅ Π² Ρ†Π΅Π»ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни, Ρ‚ΠΎ ΠΊΠΎΠ΄ Π“ΠΎΠ»ΠΎΠΌΠ±Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠ²ΠΎΠΉ частный случай — ΠΊΠΎΠ΄ Райса.

ΠŸΡƒΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ число N, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ Ρ„иксированноС число М.

Π¨Π°Π³ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

1. Находим частноС q = N /М — Π΄Π΅Π»Π΅Π½ΠΈΠ΅ цСлочислСнноС.

2. Находим остаток ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ N /М: r = N %М.

3. Π—Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ число N ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: <οΏ½ΠΊΠΎΠ΄ q><οΏ½ΠΊΠΎΠ΄ r>

3.1 Код q ΡΠ²Π»ΡΠ΅Ρ‚ся просто ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ числа q, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ прСдставимо Π² Π²ΠΈΠ΄Π΅: 111…110, Π³Π΄Π΅ количСство Π΅Π΄ΠΈΠ½ΠΈΡ† Ρ€Π°Π²Π½ΠΎ самому числу q.

3.2 Для нахоТдСния ΠΊΠΎΠ΄Π° r Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ b=[log2(M)], ΠΏΡ€ΠΈΡ‡Π΅ΠΌ b ΠΎΠΊΡ€ΡƒΠ³Π»ΡΠ΅Ρ‚ся Π² ΡΡ‚ΠΎΡ€ΠΎΠ½Ρƒ большСго Ρ†Π΅Π»ΠΎΠ³ΠΎ, ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ с = 2b-M. Π”Π°Π»Π΅Π΅, Ссли число 0? r < c, Ρ‚ΠΎ ΠΊΠΎΠ΄ r — это просто Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа r, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚, Ρ€Π°Π²Π½ΠΎΠ΅ b-1;

Ссли ΠΆΠ΅ r? c, Ρ‚ΠΎ ΠΊΠΎΠ΄ r — это Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа (r + c), ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚, Ρ€Π°Π²Π½ΠΎΠ΅ b.

Π‘Π»ΠΎΠΊ-схСма, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.6.

Рисунок 2.6 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π“ΠΎΠ»ΠΎΠΌΠ±Π°

2.3 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π‘ΡƒΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования:

Числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ — это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ€Π°Π²Π½ΠΎ суммС Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ…. Π’ΠΎ Π΅ΡΡ‚ΡŒ, 1,2,3,5,8,13…

ΠŸΡƒΡΡ‚ΡŒ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свой порядковый Π½ΠΎΠΌΠ΅Ρ€, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ F (1)=1;

F (2)=2; F (3)=3; F (4)=5; F (6)=8 ΠΈ Ρ‚. Π΄.

ΠŸΡƒΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ число Π₯, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слСдуСт Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ. По ΡΡƒΡ‚ΠΈ, трСбуСтся Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ это число Π₯ Π½Π° Ρ‡ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ.

Π˜Ρ‚Π°ΠΊ, опишСм пошагово Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

1. Находим число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΠΊ Ρ‡ΠΈΡΠ»Ρƒ Π₯. ΠŸΡƒΡΡ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ число Fx; Π° ix — порядковый Π½ΠΎΠΌΠ΅Ρ€ числа Fx, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ F (ix) = Fx.

2. Π’ ix-ΠΌ Π±ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Π° ставим «1».

3. Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ· Π₯ Ρ‡ΠΈΡΠ»ΠΎ Fx. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ шаги 1,2,3 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π₯>0.

4. Π’ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΠΌΠ΅ΡΡ‚Π°Ρ…, Π³Π΄Π΅ Π½Π΅Ρ‚ «1», ставим «0», Π° ΠΏΠΎΡΠ»Π΅ послСднСй «1» ставим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ «1».

Π‘Π»ΠΎΠΊ-схСма, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.7.

Рисунок 2.7 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

2.4 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ Элиаса Π‘ΡƒΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования:

ΠŸΡƒΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число N, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

1. Находим b = log2(N) — максимальная цСлая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, возводя Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ «2», ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ число, максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΊ N.

2. Находим число q = N — 2b.

3. Π“Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ числа N ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄: <οΏ½ΠΊΠΎΠ΄ b><οΏ½ΠΊΠΎΠ΄ q>

3.1. Код b — инвСрсный ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа b, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ прСдставимо Π² Π²ΠΈΠ΄Π΅: 000…001, Π³Π΄Π΅ количСство Π½ΡƒΠ»Π΅ΠΉ Ρ€Π°Π²Π½ΠΎ самому числу b.

3.2. Код q — просто Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа q, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚, Ρ€Π°Π²Π½ΠΎΠ΅ b.

Π‘Π»ΠΎΠΊ-схСма, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.8.

Рисунок 2. 8 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π³Π°ΠΌΠΌΠ° — кодирования Элиаса

2.5 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ Элиаса Π‘ΡƒΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° кодирования:

ΠŸΡƒΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число N, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

1. Находим b = log2(N) — максимальная цСлая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, возводя Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ «2»,

ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ число, максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΊ N.

2. Находим число q = N — 2b.

3. Находим ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ b1=b+1

4. Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ числа N ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄: <οΏ½ΠΊΠΎΠ΄ b1><οΏ½ΠΊΠΎΠ΄ q>

4.1. Код b1 — Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ ЭлайСса числа b1.

4.2. Код q — просто Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа q, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚, Ρ€Π°Π²Π½ΠΎΠ΅ b.

Π‘Π»ΠΎΠΊ-схСма, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.9.

Рисунок 2. 9 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄Π΅Π»ΡŒΡ‚Π° — кодирования Элиаса

3. ΠžΠ‘ΠžΠ‘ΠΠžΠ’ΠΠΠ˜Π• И ΠžΠŸΠ˜Π‘ΠΠΠ˜Π• ΠŸΠ ΠžΠ“Π ΠΠœΠœ ΠšΠžΠ”Π˜Π ΠžΠ’ΠΠΠ˜Π―

3.1 ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠž Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ большим Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ характСристик. Π’Π°ΠΊ, Π² Π½Π°ΡΡ‚оящСС врСмя ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚:

— Π±Π°Π·ΠΈΡ€ΡƒΡΡΡŒ Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрфСйс прилоТСния Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΠΎΡΡ‚ояния систСмы ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ процСссам;

— ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…;

— Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠŸΠž.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

— ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ стиля программирования;

— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования CASE-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для проСктирования Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы, использованиС Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для наглядного проСктирования интСрфСйса;

— Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса;

— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² рСляционной Π°Π»Π³Π΅Π±Ρ€Ρ‹ для управлСния рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

— ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ срСдств синхронизации ΠΈ ΠΊΠΎΠ½Ρ‚роля вСрсий составных частСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (эти срСдства ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ программистов);

— ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ инсталляционных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для распространСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ критСриями Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

— ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;

— ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²ΠΎ использования;

— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстрого внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ;

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ минимальноС врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этих условий. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ характСристики срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния:

— ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ IDE;

— Π½Π΅Π²Ρ‹ΡΠΎΠΊΠ°Ρ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ рСсурсов;

— Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса;

— ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСмыС возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

— ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

— ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций;

— Π²Ρ€Π΅ΠΌΡ создания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

— ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²ΠΎ эксплуатации;

— ΡΡ€Π΅Π΄ΡΡ‚Π²Π° контроля вСрсий составных частСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

— Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ справочной систСмы.

Для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ срСдства Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Ρ… сСтСй. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапов:

— ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ сравнСниС ΠΈ

— ΡΡ‚Π΅ΠΏΠ΅Π½ΠΈ ΠΈΡ… Π²Π°ΠΆΠ½ΠΎΡΡ‚ΠΈ;

— ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ оцСниваСтся ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ‡Π½ΡŽ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² (получаСтся числСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΎΡ†Π΅Π½ΠΊΠ°);

— Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства Π±Π°Π»Π»ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² (ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π²).

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ характСристик, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅. ΠšΠ°ΠΆΠ΄ΡƒΡŽ характСристику Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Π±Π°Π»ΠΎΠΌ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [1.10], Π° Ρ‚Π°ΠΊ ΠΆΠ΅ вСсовым коэффициСнтом Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. Π’Ρ‹Π±ΠΎΡ€ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊ: Java Eclipse, Borland Delphi 7, Microsoft VC++ 6. Π›ΡƒΡ‡ΡˆΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±Π΅Ρ€Ρ‘Ρ‚ максимальноС количСство Π±Π°Π»Π»ΠΎΠ². Π’Ρ‹Π±ΠΎΡ€ срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Ρ… сСтСй прСдставлСн Π² Ρ‚Π°Π±Π». 3.1.

Π’Π°Π±Π»ΠΈΡ†Π° 3.1 — Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Ρ… сСтСй

Π₯арактСристика срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ВСс

ΠžΡ†Π΅Π½ΠΊΠ° срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Java Eclipse

Borland Delphi7

Microsoft VC++ 6

Минимальная ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ IDE

НСвысокая ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ рСсурсов

ΠΠ°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций

МинимальноС врСмя создания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

Удобство эксплуатации

НаличиС ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ справочной систСмы

Π˜Ρ‚ΠΎΠ³ΠΎ

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ примСнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Ρ… сСтСй установлСно, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ срСдством с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся срСда Borland Delphi7.

3.2 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

Для программирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² кодирования ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π²Π° класса:

1. Класс Tree Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ структуру Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ осущСствляСт ΠΎΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π°.

Tree = class

public child0: Tree; // Π»Π΅Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ

public child1: Tree; // ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ

public leaf: boolean; // ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ листа

public character: integer; // Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ символ

public weight: integer; // частота Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ символа

public constructor Create;overload;// созданиС пустого Π΄Π΅Ρ€Π΅Π²Π°

public constructor Create (character:integer; weight: integer; leaf: boolean);overload; // созданиС Π΄Π΅Ρ€Π΅Π²Π° с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ

public procedure traverse (code:String; h: Huffman); // ΠΎΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π°, //Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ символов

end;

ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Tree. traverse (code:String; h: Huffman);

begin

if (leaf) then //Ссли Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ Π»ΠΈΡΡ‚Π°

begin

writeln (Gf, chr (character),' ', weight ,' ', code); //сохраняСм Π² Ρ„Π°ΠΉΠ»

h.code[character] := code; // Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠ΄ листа

end;

if (child0 <> nil) then child0. traverse (code + '0', h); //ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ Π»Π΅Π²ΠΎΠΉ //Π²Π΅Ρ‚Π²ΠΈ

if (child1 <> nil) then child1. traverse (code + '1', h);//ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ //Π²Π΅Ρ‚Π²ΠΈ

end;

2. Класс Huffman Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ всю Π»ΠΎΠ³ΠΈΠΊΡƒ построСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ осущСствляСт ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ кодирования ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°.

Huffman = class

weights:array[0.ALPHABETSIZE] of integer; // массив частот //Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ символов Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

public code: array[0.ALPHABETSIZE]of string; // массив строк-ΠΊΠΎΠ΄ΠΎΠ² //для символов ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

public procedure growTree (data:array of integer);// рост Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ· //источника data

public function coder (data:array of integer):string;//ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ //ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ data ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ

public function decoder (data:String):string;//Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° data ΠΏΠΎ //Π΄Π΅Ρ€Π΅Π²Ρƒ

end;

Gtreeмассив Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², глобальная пСрСмСнная.

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° построСния Π΄Π΅Ρ€Π΅Π²Π° Huffman. growTree (data:array of integer);

var i, used, c, w, min, weight0: integer ;

temp:Tree;

begin

for i:=0 to length (data)-1 do

weights[data[i]]: = weights[data[i]]+1; //вычислСниС ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ //частот Π² ΠΌΠ°ΡΡΠΈΠ² weights

used := 0; // количСство Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… частот символов

for c:=0 to ALPHABETSIZE-1 do //ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ символам

begin

w := weights[c];

if (w <> 0) then begin // Ссли частота символа с Π½Π΅ Ρ€Π°Π²Π½Π° 0

Gtree[used] := Tree. Create (c, w, true); //Π² массив Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²

//добавляСм Π½ΠΎΠ²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ

used:=used+1;

end;

end;

while (used > 1) do // просмотр всСх Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅

begin

min := getLowestTree (used); //поиск Π΄Π΅Ρ€Π΅Π²Π° с ΠΌΠΈΠ½. частотой

weight0 := Gtree[min]. weight;

temp := Tree. Create; //создаСм ΡƒΠ·Π΅Π», ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²ΡŒΡ с //ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ частотами

temp.child0 := Gtree[min]; // создаСм Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ΡƒΠ·Π»Π°

used:=used-1;

Gtree[min] := Gtree[used];

min := getLowestTree (used);

temp.child1 := Gtree[min];

temp.weight := weight0 + Gtree[min]. weight;

Gtree[min] := temp; //ставим ΡƒΠ·Π΅Π» Π½Π° ΠΌΠ΅ΡΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ΡƒΠ·Π»Π°

end;

end;

— Ρ„ункция кодирования Huffman. coder (data:array of integer):string;

var str: string;

i:integer;

begin

str := '';

for i:=0 to length (data)-1 do // просмотр всСх символов посл-Ρ‚ΠΈ data

str :=str+ code[data[i]]; // ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

//code ΠΈ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ строки-ΠΊΠΎΠ΄Π° всСй посл-Ρ‚ΠΈ

result:=str;

end;

— Ρ„ункция дСкодирования Huffman. decoder (data:String):string;

var str: string;

c:integer;

begin

str:='';

while (length (data) > 0) do // ΠΏΠΎΠΊΠ° строка для дСкодирования сущСствуСт

for c:=0 to ALPHABETSIZE-1 do //просмотр всСвозмоТных символов

if (weights[c]>0) and (Pos (code[c], data)=1) then // Ссли символ с Ρ…отя Π±Ρ‹ //Ρ€Π°Π· встрСчался ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ΄ стоит Π²Π½Π°Ρ‡Π°Π»Π΅ строки-ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ //ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ

begin

data:= copy (data, Length (code[c])+1,length (data)); //сокращаСм //строку-ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΠ΄ символа с

str := str+chr (c); //Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ строку-Π΄Π΅ΠΊΠΎΠ΄ΠΈΠ½Π³

end;

result:=str;

end;

3.3 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π“ΠΎΠ»ΠΎΠΌΠ±Π°

Golomb_M — ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ M Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π“ΠΎΠ»ΠΎΠΌΠ±Π°

— Ρ„ункция кодирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа

function GolombCodingOne (n:integer):string;

// n — число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слСдуСт Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ — строка-ΠΊΠΎΠ΄ числа

var q, r, b, cutoff, i: integer;

bin:string;

begin

q:= n div Golomb_M; //Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ частного ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ числа n Π½Π°

//ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Golomb_M

r:= n mod Golomb_M; //Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ остатка ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ числа n Π½Π°

//ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Golomb_M

result:=UnaringCode (q); //ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° — ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

//частного q

b:= ceil (math.Log2(Golomb_M));// ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ b

cutoff:=round (power (2,b))-Golomb_M; // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ с

if (r< c

begin

bin:=GetBinary®; //ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа r Π² Π²ΠΈΠ΄Π΅ строки

for i:=1 to (b-1)-length (bin) do

result:=result+'0';

result:=result+bin; // Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅ строки-ΠΊΠΎΠ΄Π°

end

else // Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ r? c

begin

bin:=GetBinary (r+cutoff); //ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа r+с Π² Π²ΠΈΠ΄Π΅

//строки

for i:=1 to (b)-length (bin) do

result:=result+'0';

result:=result+bin; // Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅ строки-ΠΊΠΎΠ΄Π°

end;

end;

— Ρ„ункция дСкодирования GolombDecoding (name:string):string;

// name — имя Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится закодированная //ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ;

//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — строка-Π΄Π΅ΠΊΠΎΠ΄ΠΈΠ½Π³

var kol, i, M, q, b, b1, b2,cutoff:integer;

s_temp:string;

f:textfile;

c:char;

begin

assignfile (f, name); //привязка логичСского Ρ„Π°ΠΉΠ»Π° ΠΊ Ρ„изичСскому

reset (f); // ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для чтСния

readln (f); // пропускаСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ»Π΅

readln (f, M); // считываСм с Ρ„Π°ΠΉΠ»Π° число Π“ΠΎΠ»ΠΎΠΌΠ±Π° — М

b:=ceil (math.Log2(M)); //считаСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ b

cutoff:=round (power (2,b))-M; //считаСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ с

s_temp:=''; result:='';

read (f, c);

while not (eof (f)) do //ΠΈΠ΄Π΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°

begin

kol:=0;

while c<>'0' do //считываСм ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

begin

read (f, c);

kol:=kol+1;

end; //q

q:=kol; //ΠΏΠΎ считанному ΡƒΠ½Π°Ρ€Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ опрСдСляСм частноС q

s_temp:='';

for i:=1 to b-1 do //считываниС b-1Π±ΠΈΡ‚ΠΎΠ² ΠΊΠΎΠ΄Π°

begin

read (f, c);

s_temp:=s_temp+c;

end;

b1:=BinToInt (s_temp); //считаСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ остаток b1

read (f, c);

s_temp:=s_temp+c//считываниС b Π±ΠΈΡ‚ΠΎΠ² ΠΊΠΎΠ΄Π°

b2:=BinToInt (s_temp);// считаСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ остаток b2

if (b2<=cutoff)or (b2-cutoff>=M)or (b2-cutoff<=cutoff-1) then //ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°

//условия формирования ΠΊΠΎΠ΄Π° остатка ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π“ΠΎΠ»ΠΎΠΌΠ±Π°

//Π² зависимости ΠΎΡ‚ ΡƒΡΠ»ΠΎΠ²ΠΈΡ остатком являСтся Π»ΠΈΠ±ΠΎ b1, Π»ΠΈΠ±ΠΎ b2

result:=result+Code_table[q*M+b1]

else

begin

result:=result+Code_table[q*M+b2-cutoff];

read (f, c);

end;

end;

closefile (f); //Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

end;

3.4 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

Fib_arr — массив с Ρ‡ΠΈΡΠ»Π°ΠΌΠΈ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ, глобальная пСрСмСнная.

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

procedure GenerateFib (n:integer);

//n — количСство Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… чисСл

var i: integer;

begin

Fib_arr[1]: =1; //инициализация ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа Π€ΠΈΠ±.

Fib_arr[2]: =2; //инициализация Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ числа Π€ΠΈΠ±.

for i:=3 to n do

Fib_arr[i]: =Fib_arr[i-1]+Fib_arr[i-2]; //число Π€ΠΈΠ±. = суммС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄Π²ΡƒΡ…

//чисСл Π€ΠΈΠ±.

end;

— Ρ„ункция кодирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа

function FibCodingOne (one:integer):string;

// one — число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π΄ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — строка-ΠΊΠΎΠ΄ числа one

var i, kol: integer;

one_temp:integer;

last:boolean;

begin

one_temp:=one;

kol:=0;

result:='';//инициализация Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ строки

for i:=1 to FIB_MAX_LENGTH do

result:=result+'$'; // Π·Π°Π±ΠΈΠ²Π°Π΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ строку символами «$»

last:=true;

//search closest Fib number

while (one_temp>0) do //ΠΏΠΎΠΊΠ° число ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° Ρ‡ΠΈΡΠ»Π° Π€ΠΈΠ±.

for i:=1 to FIB_MAX-1 do //ΠΈΡ‰Π΅ΠΌ большСС число Π€ΠΈΠ±.

if (one_temp>=Fib_arr[i])and (one_temp

begin //нашли Π΅Π³ΠΎ Π½Π° ΠΌΠ΅ΡΡ‚Π΅ i

result[i]: ='1'; // Π² i-ΠΉ Π±ΠΈΡ‚ записываСм «1»

one_temp:=one_temp-Fib_arr[i]; // ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ число Π½Π° Π±ΠΎΠ»ΡŒΡˆΠ΅Π΅ число Π€ΠΈΠ±.

if (last) then begin

result[i+1]: ='1'; //записываСм Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚. «1» Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ посл-Ρ‚ΠΈ

last:=false;

kol:=i+1;

end;

break;

end;

delete (result, kol+1,length (result)-kol); // ΡƒΡ€Π΅Π·Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ строку Π΄ΠΎ

//ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

for i:=1 to length (result) do //обнуляСм Π½Π΅Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Π΅ символы ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ строки

if (result[i]<>'1') then

result[i]: ='0';

end;

— Ρ„ункция дСкодирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ числа

function FibOneDecoding (s_tmp:string):integer;

// s_tmp — строка-ΠΊΠΎΠ΄ числа

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — раскодированноС число

var i, kol: integer;

begin

kol:=0; // Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ инициализация числа-Π΄Π΅ΠΊΠΎΠ΄ΠΈΠ½Π³Π°

for i:=1 to length (s_tmp)-1 do // ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ Π²ΡΠ΅ΠΌ символам строки-ΠΊΠΎΠ΄Π°

if (s_tmp[i]='1') then // нашли Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΡ‚

kol:=kol+ Fib_arr[i]; // складываСм число ΠΈΠ· Ρ‡ΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

result:=kol;

end;

3.5 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π³Π°ΠΌΠΌΠ°-кодирования Элиаса

— Ρ„ункция кодирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π³Π°ΠΌΠΌΠ°-кодирования Элиаса

function ElGammaCodingOne (one:integer):string;

// one — число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — строка-Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ для числа one

var kol, temp, i: integer;

bin:string;

begin

temp:=one;

kol:=0;

while (temp>0)do // Π΄Π΅Π»ΠΈΠΌ Π½Π° «2» число one максимальноС ΠΊΠΎΠ»-Π²ΠΎ Ρ€Π°Π·

begin

temp:=temp div 2;

kol:=kol+1; //считаСм количСство «2», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ число one

end;

kol:=kol-1; // kol = ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ b ΡΡ…Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

result:='';

for i:=1 to kol do

result:=result+'0'; //заполняСм «0» ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

result:=result+'1'; //Π² строку-ΠΊΠΎΠ΄ занСсСн ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ числа b

bin:=GetBinary (one mod strtoint (floattostr ((power (2,kol))))); // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ

//Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС числа q ΡΡ…Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

for i:=1 to kol-length (bin) do

result:=result+'0';

if one>1 then

result:=result+bin; //добавляСм Π² Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС

//остатка q

end;

— Ρ„ункция дСкодирования Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΠ΄Π°

function ElGammaDecoding (name:string):string;

// name — имя Ρ„Π°ΠΉΠ»Π° с Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΎΠΌ

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — раскодированная информация Π² Π²ΠΈΠ΄Π΅ строки

begin

assignfile (f, name); //связываниС логичСского ΠΈ Ρ„изичСского ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»Π°

reset (f); //ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» для чтСния

s_temp:='';

result:='';

while not (eof (f)) do //ΠΈΠ΄Π΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°

begin

kol:=0;

read (f, c);

while c<>'1' do // Ρ‡ΠΈΡ‚Π°Π΅ΠΌ с Ρ„Π°ΠΉΠ»Π° символы, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³Π½Π΅ΠΌ «1»

begin

read (f, c);

kol:=kol+1; // считаСм количСство «0» ΡƒΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

end;

s_temp:='';

for i:=1 to kol do //количСство «0» ΡƒΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° = ΠΊΠΎΠ»-Π²Ρƒ Π±ΠΈΡ‚ΠΎΠ² послС «1»

begin

read (f, c);

s_temp:=s_temp+c; //Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ строку числа q ΠΈΠ· ΡΡ…Π΅ΠΌΡ‹

//Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

end;

result:=result+chr (BinToInt (s_temp)+strtoint (floattostr (power (2,kol))));// //Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΠΌ строку-Π΄Π΅ΠΊΠΎΠ΄ΠΈΠ½Π³, высчитывая ΠΊΠΎΠ΄ посчитанного числа ΠΈΠ· //ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² q, b

end;

closefile (f); //Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

end;

3.5 ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π΄Π΅Π»ΡŒΡ‚Π°-кодирования Элиаса

— Ρ„ункция Π΄Π΅Π»ΡŒΡ‚Π°-кодирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа

function ElDeltaCodingOne (one:integer):string;

// one — число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — строка-Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ числа one

var kol, temp, i: integer;

bin:string;

begin

if one=1 then //Ссли число one=1, Ρ‚ΠΎ ΡΡ€Π°Π·Ρƒ опрСдСляСм Π΅Π³ΠΎ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ = «1»

begin

result:='1';

exit;

end;

temp:=one;

kol:=0;

while (temp>0)do // Π΄Π΅Π»ΠΈΠΌ Π½Π° «2» число one максимальноС ΠΊΠΎΠ»-Π²ΠΎ Ρ€Π°Π·

begin

temp:=temp div 2; //считаСм количСство «2», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ число one

kol:=kol+1;

end;

result:=ElGammaCodingOne (kol); //kol = b1 ΠΈΠ· ΡΡ…Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΡ‰Π΅ΠΌ Π³Π°ΠΌΠΌΠ°;

//ΠΊΠΎΠ΄ ЭлайСса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° b1 (kol)

bin:=GetBinary (one mod strtoint (floattostr ((power (2,kol-1)))));//ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ

//Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС числа q ΡΡ…Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

for i:=1 to kol-length (bin)-1 do

result:=result+'0';

if one>1 then

result:=result+bin; //добавляСм Π² Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС

//остатка q

end;

— Ρ„ункция дСкодирования Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄Π° ЭлайСса

function ElDeltaDecoding (name:string):string;

// name — имя Ρ„Π°ΠΉΠ»Π° с Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΎΠΌ

// Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — дСкодированная информация Π² Π²ΠΈΠ΄Π΅ строки

var kol, i, pow:integer;

s_temp:string;

f:textfile;

c:char;

begin

assignfile (f, name); //связываниС логичСского ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° с Ρ„изичСским

reset (f); // ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для чтСния

s_temp:='';

result:='';

while not (eof (f)) do //ΠΈΠ΄Π΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°

begin

kol:=0;

read (f, c);

while c<>'1' do //считываСм «0» ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠΌ «1»

begin

read (f, c);

kol:=kol+1;// считаСм количСство Π½ΡƒΠ»Π΅ΠΉ kol

end;

s_temp:='';

for i:=1 to kol do //Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΠΌ строкубинарный ΠΊΠΎΠ΄ Π³Π°ΠΌΠΌΠ°-части ΠΊΠΎΠ΄Π°

begin

read (f, c);

s_temp:=s_temp+c;

end;

pow := BinToInt (s_temp)+strtoint (floattostr (power (2,kol))); //нашли

//ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ b1 ΠΈΠ· ΡΡ…Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

s_temp:='';

for i:=1 to pow-1 do

begin

read (f, c);

s_temp:=s_temp+c; //Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΠΌ строкубинарный ΠΊΠΎΠ΄ числа q ΠΈΠ· ΡΡ…Π΅ΠΌΡ‹

//Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

end;

result:=result+ Chr (BinToInt (s_temp)+strtoint (floattostr (power (2,pow-1))));

//вычисляСм Π΄Π΅Π»ΡŒΡ‚Π°-Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ число ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊ //Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строкС-Π΄Π΅ΠΊΠΎΠ΄ΠΈΠ½Π³Π°

end;

closefile (f); //Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

end;

4 Π’Π•Π₯НИКО-Π­ΠšΠžΠΠžΠœΠ˜Π§Π•Π‘ΠšΠžΠ• ΠžΠ‘ΠžΠ‘ΠΠžΠ’ΠΠΠ˜Π• Π ΠΠ—Π ΠΠ‘ΠžΠ’ΠšΠ˜ ΠŸΠ ΠžΠ“Π ΠΠœΠœΠΠž-АППАРАВНЫΠ₯ Π‘Π Π•Π”Π‘Π’Π’ ΠžΠŸΠ’Π˜ΠœΠΠ›Π¬ΠΠžΠ“Πž ΠΠ Π˜Π€ΠœΠ•Π’Π˜-Π§Π•Π‘ΠšΠžΠ“Πž ΠšΠžΠ”Π˜Π ΠžΠ’ΠΠΠ˜Π―

4.1 ЦСль ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ АрифмСтичСскоС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ извСстно сСгодня ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сТатия Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² ΠŸΠš ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния энтропийной ΠΎΡ†Π΅Π½ΠΊΠΈ кодирования Π¨Π΅Π½Π½ΠΎΠ½Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ для Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² распрСдСлСния вСроятностСй ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… символов ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ становится всС Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π”Π°Π½Π½ΠΎΠ΅ исслСдованиС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‚ вострСбованы Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… отраслях, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сигналов ΠΈ ΡΠΆΠ°Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

4.2 РасчСт сСбСстоимости ΠΈ Ρ†Π΅Π½Ρ‹ издСлия ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½Π°Ρ ΡΠ΅Π±Π΅ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ (Ρ€Π°Π±ΠΎΡ‚, услуг) — это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π΄Π΅Π½Π΅ΠΆΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ расходы прСдприятия Π½Π° Π΅Ρ‘ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²ΠΎ. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… экономичСских ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ прСдприятия, ΠΈ ΡΡ‚ΠΎ обуславливаСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ³ΠΎ опрСдСлСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Π΅Π³ΠΎ расчСта Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ производствСнной сСбСстоимости. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ «ΠœΠ΅Ρ‚одичСскиС указания ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ сСбСстоимости ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ (Ρ€Π°Π±ΠΎΡ‚, услуг) Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ», ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΎΠΌ № 7 ГоскомитСта ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹ ΠΎΡ‚ 2.02.2002Π³.

ЦСлью ΡƒΡ‡Π΅Ρ‚Π° сСбСстоимости ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ являСтся своСврСмСнноС, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ фактичСских расходов, связанных с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ, исчислСниС фактичСской сСбСстоимости ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΈ Π²ΡΠ΅ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Ρ‹Ρ… ΠΈ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… рСсурсов.

Расходы, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² ΡΠ΅Π±Π΅ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ (Ρ€Π°Π±ΠΎΡ‚, услуг) Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ экономичСским элСмСнтам

— ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ расходы

— Ρ€Π°ΡΡ…ΠΎΠ΄Ρ‹ Π½Π° ΠΎΠΏΠ»Π°Ρ‚Ρƒ Ρ‚Ρ€ΡƒΠ΄Π°

— ΠΎΡ‚числСниС Π½Π° ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ мСроприятия

— Π°ΠΌΠΎΡ€Ρ‚изация

— ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ расходы Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ эти расходы для опрСдСлСния сСбСстоимости ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ — ΠΎΠ΄Π½ΠΈ расходы ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΈΡ… Π²ΠΈΠ΄Π°ΠΌ (элСмСнтам), Π΄Ρ€ΡƒΠ³ΠΈΠ΅ — ΠΏΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡΠΌ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ нСсколько элСмСнтов). ΠŸΡ€ΠΈ этом ΠΎΠ΄ΠΈΠ½ элСмСнт расходов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ†ΠΈΠΈ.

4.2.1 Π’ состав элСмСнта «ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ расходы» Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ расходы:

На ΡΡ‹Ρ€ΡŒΠ΅ ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прСдприятия. ΠŸΡ€ΠΈ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ (Ρ€Π°Π±ΠΎΡ‚, услуг) ΠΈΠ»ΠΈ для хозяйствСнных Π½ΡƒΠΆΠ΄, тСхничСских Ρ†Π΅Π»Π΅ΠΉ ΠΈ ΡΠΎΠ΄Π΅ΠΉΡΡ‚вия Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌ процСссС.

РасчСт вСдСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (4.1):

(4.1)

Π³Π΄Π΅ — Π½ΠΎΡ€ΠΌΠ° расходаго ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ;

— Ρ†Π΅Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹Π³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°;

— ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²ΠΈΠ΄ΠΎΠ² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

РасчСты ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 4.1:

Π’Π°Π±Π»ΠΈΡ†Π° 4.1 — РасчСт стоимости ΡΡ‹Ρ€ΡŒΡ ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, ΡˆΡ‚.

Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² Π³Ρ€ΠΈΠ²Π½Π°Ρ…

Π‘ΡƒΠΌΠΌΠ°, Π³Ρ€Π½

НазначСниС

ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚-диски

1,00

4,00

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

Π‘ΡƒΠΌΠ°Π³Π° (Π² ΠΏΠ°Ρ‡ΠΊΠ°Ρ… ΠΏΠΎ 500 Π»)

25,00

25,00

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 4.1

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, ΡˆΡ‚.

Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² Π³Ρ€ΠΈΠ²Π½ΡΡ…

Π‘ΡƒΠΌΠΌΠ°, Π³Ρ€Π½

НазначСниС

ΠšΠ°Ρ€Ρ‚Ρ€ΠΈΠ΄ΠΆ для ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°

40,00

40,00

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ВсСго

63,00

4.2.2 Расходы Π½Π° ΠΎΠΏΠ»Π°Ρ‚Ρƒ Ρ‚Ρ€ΡƒΠ΄Π° Π² ΡΠΎΡΡ‚Π°Π² элСмСнта Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ: заработная ΠΏΠ»Π°Ρ‚Π° ΠΏΠΎ ΠΎΠΊΠ»Π°Π΄Π°ΠΌ ΠΈ Ρ‚Π°Ρ€ΠΈΡ„Π°ΠΌ, Π½Π°Π΄Π±Π°Π²ΠΊΠΈ ΠΈ Π΄ΠΎΠΏΠ»Π°Ρ‚Ρ‹ ΠΊ Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΌ ставкам ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚Π½Ρ‹ΠΌ ΠΎΠΊΠ»Π°Π΄Π°ΠΌ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…, прСдусмотрСнным Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ; ΠΏΡ€Π΅ΠΌΠΈΠΈ ΠΈ ΠΏΠΎΠΎΡ‰Ρ€Π΅Π½ΠΈΡ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒ, компСнсационныС Π²Ρ‹ΠΏΠ»Π°Ρ‚Ρ‹, ΠΎΠΏΠ»Π°Ρ‚Ρƒ отпусков ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π΅ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ расходы Π½Π° ΠΎΠΏΠ»Π°Ρ‚Ρƒ Ρ‚Ρ€ΡƒΠ΄Π° пСрсонала, занятого нСпосрСдствСнно Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹ (Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΈ, Π½Π°ΡƒΡ‡Π½ΠΎ-тСхничСский, Π½Π°ΡƒΡ‡Π½ΠΎ-Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ пСрсонал ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅)

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ