Jump to content

Сопоставление сжатого шаблона

В информатике ) — сопоставление сжатых данных (сокращенно CPM это процесс поиска шаблонов в сжатых данных с небольшой декомпрессией или без нее. Поиск в сжатой строке выполняется быстрее, чем поиск в несжатой строке, и требует меньше места.

Проблема сжатого соответствия

[ редактировать ]

Если в сжатом файле используется кодировка переменной ширины, это может стать проблемой: например, пусть «100» будет кодовым словом для a , а «110100» — кодовым словом для b . Если мы ищем вхождение a в тексте, мы можем получить в результате также вхождение внутри кодового слова b : мы называем это событие ложным совпадением . Поэтому нам нужно проверить, эффективно ли обнаруженное вхождение выровнено по границе кодового слова. Однако мы всегда могли бы декодировать весь текст, а затем применить классический алгоритм сопоставления строк , но это обычно требует больше места и времени и часто невозможно, например, если сжатый файл размещен в Интернете. Эта проблема проверки совпадения, возвращаемого алгоритмом сопоставления сжатого шаблона, является ли оно истинным или ложным совпадением, а также невозможность декодирования всего текста называется проблемой сопоставления сжатого образца . [1]

Стратегии

[ редактировать ]

Существует множество стратегий для нахождения границ кодовых слов и предотвращения полной распаковки текста, например:

  • Список индексов первого бита каждого кодового слова, к которому мы можем применить двоичный поиск;
  • Список индексов первого бита каждого кодового слова с дифференциальным кодированием, чтобы мы могли занимать меньше места в файле;
  • Маска бита , где бит 1 отмечает начальный бит каждого кодового слова;
  • Разделение на блоки для частичной и целенаправленной декомпрессии.

Были предложены алгоритмы, обеспечивающие время работы, которое логарифмически растет с увеличением длины строки и шаблона. [2]

  1. ^ Джоэл Грус (2019). Наука о данных с нуля. Первые принципы работы с Python . О'Рейли Медиа. ISBN  9781491901427 . Архивировано из оригинала 17 августа 2021 г. Проверено 26 августа 2021 г.
  2. ^ Артур Еж (25 июня 2013 г.). «Более быстрое сопоставление полностью сжатых образов путем повторного сжатия». arXiv : 1111.3244 [ cs.DS ].
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d9d5d7472d96f78d4bda8e47a4cc33f5__1703027880
URL1:https://arc.ask3.ru/arc/aa/d9/f5/d9d5d7472d96f78d4bda8e47a4cc33f5.html
Заголовок, (Title) документа по адресу, URL1:
Compressed pattern matching - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)