Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² DelphiΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 96

Автор Π”ΠΆΡƒΠ»ΠΈΠ°Π½ Π‘Π°ΠΊΠ½Π΅Π»Π»

if (FTable.Count = 0) then begin

if not Parse (ErrorPos, ErrorCode) then

rcError(tdeRegexParseError, 'MatchString', ErrorPos);

end;

{Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, соотвСтствуСт Π»ΠΈ строка рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ (сопоставлСниС пустых строк Π½Π΅ выполняСтся)}

Result := 0;

if (S <> '') then

{Ссли ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ содСрТит Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ символ привязки, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ соотвСтствиС строки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ}

if FAnchorStart then begin

if rcMatchSubString(S, 1) then

Result := 1;

end

{Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ соотвСтствиС строки Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ сопоставлСнии Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚}

else begin

for i := 1 to length(S) do

if rcMatchSubString (S, i) then begin

Result := i;

Break;

end;

end;

end;


Если Π²Ρ‹ Π΅Ρ‰Π΅ Ρ€Π°Π· Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ просмотритС листинг 10.15, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ сопоставлСния ΡƒΠΆΠ΅ обСспСчиваСт ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ символа привязки. Код воспринимаСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ состояниС Π² качСствС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° соотвСтствия рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Ссли рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ содСрТало ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ символа привязки, ΠΈΠ»ΠΈ ΠΆΠ΅ Π² случаС достиТСния ΠΊΠΎΠ½Ρ†Π° строки. ΠŸΡ€ΠΈ Π½Π΅Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ любого ΠΈΠ· этих условий, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ состояниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ..

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ класса TtdRegexEngine ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° Web-сайтС ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². ПослС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎΡ‚Ρ‹Ρ‰ΠΈΡ‚Π΅ срСди Π½ΠΈΡ… Ρ„Π°ΠΉΠ» TDRegex.pas.

РСзюмС

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (DFA), Ρ‚Π°ΠΊ ΠΈ Π½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (NFA) ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹. ΠŸΡ€ΠΈ этом ΠΌΡ‹ исслСдовали нСсколько простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² DFA-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ².

ΠœΡ‹ установили Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ DFA-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ NFA-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ большС подходят для автоматичСских процСссов. Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, которая выполняСт синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ рСгулярного выраТСния Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ NFA-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ (прСдставлСнный Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²). Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ NFA-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для сопоставлСния строк.

Π“Π»Π°Π²Π° 11. Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

Думая ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ прСдставляСм сСбС Π½ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: список ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², мСлодию Π½Π° Π°ΡƒΠ΄ΠΈΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС, письмо ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΡ‹ Π½Π΅ слишком задумываСмся ΠΎ физичСском прСдставлСнии Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°Π±ΠΎΡ‚Ρƒ ΠΎΠ± этом - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ списка ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², воспроизвСдСнии ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-диска, ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ письма - Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Рассмотрим Π΄Π²ΠΎΠΉΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: с ΠΎΠ΄Π½ΠΎΠΉ стороны, содСрТимоС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ - Π΅Π΅ физичСскоС прСдставлСниС. Π’ 1950 Π³ΠΎΠ΄Ρƒ Клод Π¨Π΅Π½Π½ΠΎΠ½ (Claude Shannon) Π·Π°Π»ΠΎΠΆΠΈΠ» основы Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС идСю ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством Π±ΠΈΡ‚ΠΎΠ². Π­Ρ‚Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ энтропии Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π±Ρ‹Π» заимствован ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ). Π¨Π΅Π½Π½ΠΎΠ½ установил Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ количСство Π±ΠΈΡ‚ Π² физичСском прСдставлСнии Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, опрСдСляСмоС ΠΈΡ… энтропиСй.

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

Однако посмотрим Π½Π° это ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ³Π»ΠΎΠΌ: Π²ΠΎ всСх ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ сохраняСм ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ - ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС мСньший ΠΈ мСньший объСм памяти. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΡ‹ выполняСм сТатиС Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Думая ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ прСдставляСм сСбС Π½ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: список ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², мСлодию Π½Π° Π°ΡƒΠ΄ΠΈΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС, письмо ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΡ‹ Π½Π΅ слишком задумываСмся ΠΎ физичСском прСдставлСнии Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°Π±ΠΎΡ‚Ρƒ ΠΎΠ± этом - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ списка ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², воспроизвСдСнии ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-диска, ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ письма - Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Рассмотрим Π΄Π²ΠΎΠΉΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: с ΠΎΠ΄Π½ΠΎΠΉ стороны, содСрТимоС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ - Π΅Π΅ физичСскоС прСдставлСниС. Π’ 1950 Π³ΠΎΠ΄Ρƒ Клод Π¨Π΅Π½Π½ΠΎΠ½ (Claude Shannon) Π·Π°Π»ΠΎΠΆΠΈΠ» основы Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС идСю ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством Π±ΠΈΡ‚ΠΎΠ². Π­Ρ‚Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ энтропии Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π±Ρ‹Π» заимствован ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ). Π¨Π΅Π½Π½ΠΎΠ½ установил Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ количСство Π±ΠΈΡ‚ Π² физичСском прСдставлСнии Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, опрСдСляСмоС ΠΈΡ… энтропиСй.

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

Однако посмотрим Π½Π° это ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ³Π»ΠΎΠΌ: Π²ΠΎ всСх ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ сохраняСм ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ - ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС мСньший ΠΈ мСньший объСм памяти. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΡ‹ выполняСм сТатиС Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (data compression) - это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ эффСктивного кодирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньший объСм памяти, Π½Π΅ΠΆΠ΅Π»ΠΈ Ρ€Π°Π½Π΅Π΅. ΠœΡ‹ избавляСмся ΠΎΡ‚ избыточности (redundancy), Ρ‚.Π΅. удаляСм ΠΈΠ· физичСского прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅ Π±ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ, оставляя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ количСство Π±ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² соотвСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ энтропии. БущСствуСт ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ эффСктивности сТатия Π΄Π°Π½Π½Ρ‹Ρ…: коэффициСнт сТатия (compression ratio). Он вычисляСтся ΠΏΡƒΡ‚Π΅ΠΌ вычитания ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ частного ΠΎΡ‚ дСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° сТатых Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выраТаСтся Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…. НапримСр, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ сТатых Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π²Π΅Π½ 1000 Π±ΠΈΡ‚, Π° нСсТатых - 4000 Π±ΠΈΡ‚, коэффициСнт сТатия составит 75%, Ρ‚.Π΅. ΠΌΡ‹ избавились ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ… Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Π΅ΠΉ исходного количСства Π±ΠΈΡ‚ΠΎΠ².

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, сТатыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² Ρ„ΠΎΡ€ΠΌΠ΅ нСдоступной для нСпосрСдствСнного считывания ΠΈ понимания Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Π›ΡŽΠ΄ΠΈ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ избыточности прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ… эффСктивному Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡŽ ΠΈ пониманию. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ экспСримСнту с подбрасываниСм ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов "О" ΠΈ "Π " ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ большСй Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Π΅ΠΌ 8-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ значСния Π±Π°ΠΉΡ‚ΠΎΠ². (Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ для большСй наглядности ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов "О" ΠΈ "Π " Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹, скаТСм, ΠΏΠΎ 10 символов Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ.) Π˜Π½Π°Ρ‡Π΅ говоря, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния сТатия Π΄Π°Π½Π½Ρ‹Ρ… бСсполСзна, Ссли отсутствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ восстановлСния. Π­Ρ‚Ρƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (decoding).

Π’ΠΈΠΏΡ‹ сТатия

БущСствуСт Π΄Π²Π° основных Ρ‚ΠΈΠΏΠ° сТатия Π΄Π°Π½Π½Ρ‹Ρ…: с потСрями (lossy) ΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ (lossless). Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ для понимания. Π­Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ сТатия Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ восстановлСнии Π΄Π°Π½Π½Ρ‹Ρ… возвращаСтся точная копия исходных Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ сТатия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ PKZIB"1: распаковка ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ созданию Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π² точности Ρ‚ΠΎ ΠΆΠ΅ содСрТимоС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ сТатиСм. И Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², сТатиС с потСрями Π½Π΅ позволяСт ΠΏΡ€ΠΈ восстановлСнии ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ исходныС Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ каТСтся нСдостатком, Π½ΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π·Π²ΡƒΠΊΠ°, Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ восстановлСнными ΠΈ исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого значСния: наши Π·Ρ€Π΅Π½ΠΈΠ΅ ΠΈ слух Π½Π΅ Π² состоянии ΡƒΠ»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ΡΡ различия. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия с потСрями ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивноС сТатиС, Ρ‡Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΈΡ… Π½Π΅ стоило Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅). Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с потСрями JPEG с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ GIF. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Internet для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°-ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ сТатия с потСрями.