Jump to content

Обобщенный массив суффиксов

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

Функциональность

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

Функциональность обобщенного суффиксного массива следующая: [ 1 ]

  • Для коллекции или набора строк: .
  • Это лексикографически отсортированный массив всех суффиксов каждой строки в наборе. .
  • В массиве каждый суффикс представлен целочисленной парой который обозначает суффикс, начиная с позиции в .
  • В случае, когда разные строки в имеют одинаковые суффиксы, в обобщенном массиве суффиксов эти суффиксы будут занимать последовательные позиции. Однако для удобства можно сделать исключение, когда повторы не будут указаны.

Обобщенный массив суффиксов может быть сгенерирован для обобщенного суффиксного дерева . По сравнению с обобщенным суффиксным деревом, хотя для построения обобщенного массива суффиксов потребуется больше времени, он будет занимать меньше места, чем дерево.

Алгоритмы построения и реализации

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

Алгоритмы и инструменты построения обобщенного суффиксного массива включают:

  • Алгоритм Фей Ши (1996), который работает в время наихудшего случая и пространство, где представляет собой сумму длин всех строк в и длина самой длинной строки в . Сюда входит сортировка, поиск и поиск самых длинных распространенных префиксов. [ 1 ]
  • Алгоритм построения внешнего обобщенного расширенного суффиксного массива, или eGSA, который специализируется на построении внешней памяти, особенно полезен, когда размер входной коллекции или структуры данных превышает объем доступной внутренней памяти. [ 2 ]
  • gsufsort — это быстрый, портативный и легкий инструмент с открытым исходным кодом для создания обобщенных суффиксных массивов и связанных структур данных, таких как преобразование Берроуза-Уиллера или массив LCP ). [ 3 ]
  • Мнемонист, коллекция структур данных, реализованных в JavaScript, содержит реализацию обобщенного суффиксного дерева и может быть найден в открытом доступе на npm и GitHub . [ 4 ]

Решение проблемы сопоставления с образцом

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

Обобщенные массивы суффиксов можно использовать для решения проблемы сопоставления с образцом : [ 5 ]

  • Учитывая шаблон и текст , найти все вхождения в .
  • Использование обобщенного массива суффиксов из , затем сначала суффиксы, которые имеют в качестве префикса необходимо найти.
  • С представляет собой лексикографически отсортированный массив суффиксов , то все такие суффиксы будут появляться в последовательных позициях внутри . Особенно важно, поскольку сортируется, это делает возможным и простым определение суффиксов с помощью двоичного поиска.
  • Используя двоичный поиск, сначала найдите наименьший индекс в такой, что содержит в качестве префикса или определить, что такой суффикс отсутствует. В случае, если суффикс не найден, не происходит в . В противном случае найдите наибольший индекс который содержит в качестве префикса. Элементы в диапазоне указать начальные положения возникновения в .
  • Бинарный поиск включен берет сравнения. сравнивается с суффиксом для определения их лексикографического порядка при каждом сравнении. Таким образом, для этого требуется сравнение не более персонажи. Обратите внимание, что массив не требуется, но дает возможность сократить время работы.

Время работы алгоритма . Для сравнения, решение этой проблемы с использованием суффиксных деревьев требует время. Обратите внимание, что при использовании обобщенного суффиксного массива требуемое пространство меньше по сравнению с суффиксным деревом, поскольку алгоритму требуется место только для слова и место для хранения строки. Как упоминалось выше, при необходимости отслеживая информации, которая будет занимать немного больше места, время работы алгоритма можно улучшить до .

Другие приложения

[ редактировать ]
  • Обобщенный массив суффиксов можно использовать для вычисления самой длинной общей подпоследовательности всех строк в наборе или коллекции. Простая реализация вычислила бы наибольшую общую подпоследовательность всех строк в наборе . [ 6 ]
  • Обобщенный массив суффиксов можно использовать для поиска самого длинного предыдущего массива факторов - концепция, центральная для методов сжатия текста, а также для обнаружения мотивов и повторов. [ 7 ]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б Ши, Фей (1996), Суффиксные массивы для нескольких строк: метод онлайнового поиска нескольких строк. , Конспекты лекций по информатике, вып. 1179, Springer Berlin Heidelberg, стр. 11–22, doi : 10.1007/BFb0027775 , ISBN.  978-3-540-62031-0
  2. ^ Луза, Фелипе; Теллес, Гильерме; Хоффман, Стив; Чиферри, Кристина (2017), «Обобщенное расширенное построение суффиксного массива во внешней памяти», Алгоритмы для молекулярной биологии: AM , vol. 12, с. 26, номер doi : 10.1186/s13015-017-0117-9 , PMC   5719966 , PMID   29234460
  3. ^ Луза, Фелипе, gsufsort
  4. ^ Плик, Гийом, Мнемонист: Кураторская коллекция структур данных для языка JavaScript.
  5. ^ Алуру, Шринивас, суффиксные деревья и суффиксные массивы (PDF)
  6. ^ Плик, Гийом, Мнемонист: Обобщенный массив суффиксов
  7. ^ Крошмор, Максим; Гросси, Роберто; Кярккяйнен, Юха; Ландау, Гад (2013), «Алгоритм, основанный на сравнении в постоянном пространстве, для вычисления преобразования Берроуза – Уиллера», Сопоставление комбинаторных образцов. CPM 2013. Конспекты лекций по информатике , Конспекты лекций по информатике, том. 7922, Springer, Берлин, Гейдельберг, стр. 74–82, doi : 10.1007/978-3-642-38905-4_9 , ISBN.  978-3-642-38904-7
[ редактировать ]

Обобщенное расширенное построение суффиксного массива во внешней памяти

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4aebd8438f8d0e8d4e638dcfec079e5c__1700253840
URL1:https://arc.ask3.ru/arc/aa/4a/5c/4aebd8438f8d0e8d4e638dcfec079e5c.html
Заголовок, (Title) документа по адресу, URL1:
Generalized suffix array - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)