Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Алгоритм Карпа-Рабина

Содержание

Обобщения задачи поиска образца:Образцы с джокерами: x – любой символПример. P = abxxcx содержится в тексте gabdccbababcad дважды. Образцы, позиции которых заданы множествами символов a- [a,b]-c-[c,d]-[a,c,d]-[c,d]-a a- [a,b]-c-[c,d]- ¬b - x - a Поиск образца с
Алгоритм Карпа-Рабинаns : Σ → [0.. |Σ| − 1] − порядок символов Обобщения задачи поиска образца:Образцы с джокерами: x – любой символПример. P = Алгоритм Ахо-КорасикЗадача. Задано множество образцов P = {P1, P2, … Pz}. Требуется Алгоритм Ахо-КорасикЭтап предобработки: построение ДКА по исходному множеству образцовЭтап поиска: однократный Алгоритм Ахо-КорасикФункция переходов φ(s,a)=s', если существует выходящее из s ребро, помеченное символом Алгоритм Ахо-Корасик.Построение f (s): пусть φ(s_pred,a) = s, f(s_pred) = s Алгоритм Ахо-Корасик.12346,12598710171311151214160aсagcctgcccaggtt1918ggt Повтор ─ пара совпадающих фрагментов текста.Классификация повторовПо способу их прочтения и использованию Повторы в текстах Слова и словосочетания.Повтор предложения (абзаца) – признак ошибки.Мелодические обороты.В ∙ По наличию искажений:Повторы могут быть совершенные:… AGTTC … AGTTC…и несовершенные (с ∙  По характеру расположения в тексте: будем различать повторыразнесенные Представление текста в терминах повторов Полный частотный спектр текста. Частотная характеристика l-го порядка текста S – совокупность элементов Φl(S)= {φ l1, Пример.  Пусть S = caabcabbca.Тогда Φ *(S) = {Φ*1(S), Φ*2(S), Φ*3(S)}, Наиболее важными являются следующие параметры частотного спектра: lmax — длина максимального повтора Elk — Число различных l-грамм, каждая из которых встречается в тексте ровно Алгоритмы отыскания совершенных повторов Метод лексикографической сортировки Лексикографический порядок слов u = Числовая сортировкаЗадача:Дан массив A из n элементов: a1, a2,…anС каждым элементом ai  связан ключ ki ∈ K. На множестве Числовая сортировкаСортировка выбором (Selection sort) :находим номер минимального значения в текущем спискепроизводим обмен этого Числовая сортировкаСортировка пузырьком (сортировка всплыванием)Элементы последовательно сравниваются попарно и, если порядок в Сортировка деревом. При добавлении в дерево нового элемента его последовательно сравнивают с Числовая сортировкаСортировка вычерпыванием :Пусть известно, что максимальный элемент сортируемого массива не превосходит некоторое Числовая сортировкаСортировка вычерпыванием :Пусть известно, что максимальный элемент сортируемого массива не превосходит некоторое Лексикографическая сортировка на основе сортировки вычерпыванием :l-граммы сортируем по позиции lПолученный список сортируем Лексикографическая сортировка на основе сортировки вычерпыванием l-граммы сортируем по позиции lПолученный список сортируем Алгоритмы отыскания совершенных повторов Метод, основанный на хешировании. Хеширование – отображение, которое Компромисс по памяти и по времени может быть достигнут, если сузить диапазон Пример списковой схемы устранения наложений Информа-      Расстановочное Префиксное и суффиксное деревьяЕсли v = xyz, то x – префикс v, Пример дерева префикс-идентификаторов для T# = abacbcbacb#	i   pr(i)ab Алгоритм Мартинеца на примере  T# = abacbcbacb#        b11#c6941327510aaabbbbcccccc####abacbcbacb#81,3,83,82,5,7,103,82,72,72,74,6,94,6,9 Пример компактного префиксного дерева для T# = abacbcbacb#11#c69413827510aacbabbcbccbcc#### Пример дерева всеx суффиксов для T# = abacbcbacb#	i   suf(i)abaсbcbacb#baсbcbacb#aсbcbacb# Суффиксное дерево для T# = abacbcbacb#11#cbacb#69413827510aacbacb#bbacbcbacb#cbcbacb#cbcbacb#cbacb##### Задачи, решаемые с помощью суффиксного дерева:Вычисление параметров полного частотного спектра;Поиск образца;Последовательный поиск
Слайды презентации

Слайд 2 Обобщения задачи поиска образца:
Образцы с джокерами: x –

Обобщения задачи поиска образца:Образцы с джокерами: x – любой символПример. P

любой символ
Пример. P = abxxcx содержится в тексте gabdccbababcad

дважды.

Образцы, позиции которых заданы множествами символов
a- [a,b]-c-[c,d]-[a,c,d]-[c,d]-a
a- [a,b]-c-[c,d]- ¬b - x - a
Поиск образца с допустимым уровнем искажений:
abcdab – abddab – abcdcb – abccdab – abcdab
Поиск множества образцов
Комбинации задач (например, поиск множества образцов, позиции которых заданы множествами символов)
Образцы с переменными. X ∈ Σ*.
P = abXXcX : abcccc; ababbabbcabb
Параметризованные образцы. 2 алфавита: Σ и Π:
Образцы π-согласованы, если ∃ f : Π → Π
Σ = {a,b,c}; Π = {X, Y, Z, T}
abcXbbYYccZ и abcZbbXXccT

Слайд 3 Алгоритм Ахо-Корасик

Задача. Задано множество образцов P = {P1,

Алгоритм Ахо-КорасикЗадача. Задано множество образцов P = {P1, P2, … Pz}.

P2, … Pz}. Требуется обнаружить все вхождения в текст

Т любого образца из P.
i-й образец Pi = pi1pi2… pi,mi имеет длину mi; pi,j∈Σ.
Текст T = t1 t2 … tN, tk ∈ Σ, 1≤ k ≤ N.
Это обобщение называют множественной задачей точного поиска или задачей поиска по групповому запросу
Наивный алгоритм решает эту задачу путем поиска каждого образца из набора с использованием любого из рассмотренных выше линейных алгоритмов. Такой поиск имеет трудоемкость O(zN + ∑imi).
Эффективный алгоритм решения этой задачи имеет трудоемкость O(N + ∑imi).

Слайд 4 Алгоритм Ахо-Корасик

Этап предобработки: построение ДКА по исходному множеству

Алгоритм Ахо-КорасикЭтап предобработки: построение ДКА по исходному множеству образцовЭтап поиска: однократный

образцов
Этап поиска: однократный "прогон" текста через этот автомат.

Этап предобработки.


Сначала строится "машина идентификации цепочек" Mp. Работа машины Mp описывается тремя функциями: функцией переходов φ(s,a) (s – состояние машины, a ∈Σ),
функцией отказов f(s)
и функцией выходов o(s).

Слайд 5 Алгоритм Ахо-Корасик
Функция переходов φ(s,a)=s', если существует выходящее из

Алгоритм Ахо-КорасикФункция переходов φ(s,a)=s', если существует выходящее из s ребро, помеченное

s ребро, помеченное символом "a" и связывающее состояния s

и s'; в противном случае φ(s,a) = «fail» = −1
Пример. Пусть Σ = {a,c,g,t}; P = {acgaсc, tccga, accggt, acgt, acc, tggt};
φ(7, g) =17; φ(3, a) = 4;

1

2

3

4

6

5

9

8

7

10

17

13

11

15

12

14

16

0



















a

с

a

g

c

c

t

g

c

c

c

a

g

g

t

t



19

18

g

g

t


Слайд 6 Алгоритм Ахо-Корасик.
Построение f (s): пусть φ(s_pred,a) = s,

Алгоритм Ахо-Корасик.Построение f (s): пусть φ(s_pred,a) = s, f(s_pred) = s

f(s_pred) = s".
Metka : Если φ(s'',a) fail, то

f(s)= φ(s'',a); o(s) := o(s) ∪ o(f(s)) ,
иначе s" := f(s"); goto Metka.
Порядок построения: по уровням дерева (структура «очередь»).
Пример. Пусть Σ = {a,c,g,t}; P = {acgatc, tccga, accggt, acgt, acc, tggt}; o(6)={1,4};
f(6) =12; f(2) = 0; f(16) = 7;

1

2

3

4

6, 12

5

9

8

7

10

17

13

11

15

12

14

16

0



















a

с

a

g

c

c

t

g

c

c

c

a

g

g

t

t



19

18

g

g

t


Слайд 7 Алгоритм Ахо-Корасик.

1
2
3
4
6,12
5
9
8
7
10
17
13
11
15
12
14
16
0


















a
с
a
g
c
c
t
g
c
c
c
a
g
g
t
t


19
18
g
g
t

Алгоритм Ахо-Корасик.12346,12598710171311151214160aсagcctgcccaggtt1918ggt

Слайд 8 Повтор ─ пара совпадающих фрагментов текста.
Классификация повторов
По способу

Повтор ─ пара совпадающих фрагментов текста.Классификация повторовПо способу их прочтения и

их прочтения и использованию переименований:
Повтор (в широком смысле) ─

пара фрагментов текста, совпадающих с точностью до переименования элементов алфавита и (или) изменения направления считывания.
Типы повторов:
– прямые : … AGTTC … AGTTC…
– симметричные: … AGTTC … CTTGA…
– с точностью до подстановки на элементах алфавита: секвентные переносы в музыке; замены 0 ↔ 1; A ↔ T, C ↔ G.
– прямые комплементарные: … AGTTC… TCAAG…
– инвертированные: … AGTTC… GAACT…

Слайд 9 Повторы в текстах
Слова и словосочетания.
Повтор предложения (абзаца)

Повторы в текстах Слова и словосочетания.Повтор предложения (абзаца) – признак ошибки.Мелодические

– признак ошибки.
Мелодические обороты.

В ДНК-последовательностях:
Участки с аномальным нуклеотидным составом:

(A,T)-богатые…
Участки микросателлитной ДНК: периодичности с малой длиной периода (2-3) и достаточно высокой кратностью повторений.
Тандемные повторы с произвольной длиной периода.
Разнесенные повторы значительной длины.
Мобильные элементы


Слайд 10 ∙ По наличию искажений:
Повторы могут быть
совершенные:
… AGTTC

∙ По наличию искажений:Повторы могут быть совершенные:… AGTTC … AGTTC…и несовершенные

… AGTTC…

и несовершенные (с заменами, вставками, делециями):
… AGTTC …

AATTC … (замена),
… AGTTC … AGTTTC… (вставка),
в том числе с точностью до агрегирования:
… AGTTC … GATСT …
(совпадают при заменах {A,G} → Pu, {C,T} → Py).

Классификация повторов


Слайд 11 ∙ По характеру расположения в тексте:
будем

∙ По характеру расположения в тексте: будем различать повторыразнесенные

различать повторы
разнесенные

… AGTTC … AGTTC…

тандемные … AGTTC AGTTC…

с наложением : … AGTTCAGTTCAGTTC …



Классификация повторов


Слайд 12 Представление текста в терминах повторов
Полный частотный спектр

Представление текста в терминах повторов Полный частотный спектр текста.

текста.

Пусть
Σ – конечный алфавит;
S – текст, составленный из элементов Σ;
N = | S | – длина текста;
S [i] = si – i-й элемент текста S (1 ≤ i ≤ N);
S [i : j] – фрагмент текста, включающий элементы с i-го по j-й (1 ≤ i < j≤ N).
l-грамма – связная цепочка текста длины l (S [i : i + l – 1]).
S = s1 s2 s3 s4 s5 … sN

Полное число l-грамм: N – l + 1.
Число различных l-грамм: Ml ≤ N – l + 1.

Слайд 13 Частотная характеристика l-го порядка текста S –
совокупность

Частотная характеристика l-го порядка текста S – совокупность элементов Φl(S)= {φ

элементов Φl(S)= {φ l1, φ l2, …, φ l

Ml }
где φ l i (1 ≤ i ≤ Ml) есть пара :
« i-я l-грамма – xi , ее частота в тексте – Fl (xi) ».
 
lmax(S) – наибольшее l, при котором в S есть повторяющиеся
l-граммы.
Совокупность частотных характеристик
Φ (S) = {Φ1(S), Φ2(S),…, Φ l max + 2 (S)}
называется полным частотным спектром текста S.

Усеченный спектр
Φ *(S) = {Φ*1 (S), Φ*2 (S),…, Φ* l max (S)}
Φ*l (S) отличается от Φ l (S) отсутствием l-грамм с единичной частотой встречаемости.

Слайд 14 Пример. Пусть S = caabcabbca.
Тогда Φ *(S)

Пример. Пусть S = caabcabbca.Тогда Φ *(S) = {Φ*1(S), Φ*2(S), Φ*3(S)},

= {Φ*1(S), Φ*2(S), Φ*3(S)}, где

Φ*1(S) = {

(a) = 4>; ; };

Φ*2(S) = {; ; };

Φ*3(S) = {};
 
Для повторов значительной длины спектр можно дополнить позиционной информацией.


Слайд 15 Наиболее важными являются следующие параметры частотного спектра:
lmax

Наиболее важными являются следующие параметры частотного спектра: lmax — длина максимального

— длина максимального повтора в тексте.
Для случайного текста

длины N с вероятностями появления элементов алфавита pr (1 ≤ r ≤ n = | Σ |) можно пользоваться оценкой: .

Если реальная длина lmax в тексте существенно превышает ожидаемое значение, это свидетельствует о наличии дупликативных механизмов порождения текста.
Ml — размер словаря l-грамм.
Он фигурирует в определении комбинаторной сложности текста.
— максимальное значение частот встречаемости
l-грамм в тексте (1 ≤ l ≤ lmax);
  — минимальное значение частот встречаемости
l –грамм в тексте (1 ≤ l ≤ lmax); представляет интерес лишь при малых значениях l; при больших, обычно Flmin = 1.

Слайд 16 Elk — Число различных l-грамм, каждая из которых

Elk — Число различных l-грамм, каждая из которых встречается в тексте

встречается в тексте ровно k раз (k = 1,2,…,N

– l + 1); зависимость Elk от k при фиксированном l является аналогом известной в лингвистике кривой Юла;
Ml − El1 — число различных повторяющихся l-грамм;
El0 — число l-грамм, ни разу не встретившихся в тексте. Наличие таковых в ситуации, когда N / nl >> 1, можно трактовать как аномальный эффект.
 
Имеют место простые соотношения, связывающие основные параметры:


, , El0 = nl − Ml .

Слайд 17 Алгоритмы отыскания совершенных повторов
Метод лексикографической сортировки
Лексикографический

Алгоритмы отыскания совершенных повторов Метод лексикографической сортировки Лексикографический порядок слов u

порядок слов u = u1… up и v =

v1…vq :
u ≤ v, если u = v или (∃ j, такое что uj < vj и ui = vi ∀ i < j) или (p < q и для всех i ≤ p ui = vi).
Пример. S = abcdabcbcbabcd; l = 3;
abc f(abc) = 3 аналог для произвольного l -
abc суффиксный массив
abc
bab
bcb f(bcb) = 2
bcb
bcd f(bcd) = 2
bcd
cba
cbc
cda
dab

Слайд 18 Числовая сортировка
Задача:
Дан массив A из n элементов: a1, a2,…an
С каждым элементом ai  связан ключ ki

Числовая сортировкаЗадача:Дан массив A из n элементов: a1, a2,…anС каждым элементом ai  связан ключ ki ∈ K. На

∈ K.
На множестве ключей K задано отношение порядка —линейного (или совершенного) упорядочивания, для которого выполнены

следующие условия:
закон трихотомии: для любых x,y ∈ K  либо x < y, либо x > y, либо x = y;
транзитивность: для любых x,y, z ∈ K если x < y  и y < z, то x < z.
Задачей сортировки по неубыванию является нахождение перестановки элементов p(1), p(2), … p(n)  при которой ключи располагаются в порядке неубывания: kp(1) ≤ kp(2) ≤ … ≤ kp(n).
В результате работы алгоритма и применения перестановки получается отсортированный массив: ap(1), ap(2),… , ap(n)
Аналогично можно определить сортировку по невозрастанию.

Слайд 19 Числовая сортировка
Сортировка выбором (Selection sort) :
находим номер минимального значения в

Числовая сортировкаСортировка выбором (Selection sort) :находим номер минимального значения в текущем спискепроизводим обмен

текущем списке
производим обмен этого значения со значением первой неотсортированной

позиции (обмен не нужен, если минимальный элемент уже находится на данной позиции)
сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы
5 9 4 7 2 4 1 6
1 9 4 7 2 4 5 6
1 2 4 7 9 4 5 6
1 2 4 7 9 4 5 6
1 2 4 4 9 7 5 6
1 2 4 4 5 7 9 6
1 2 4 4 5 6 9 7
1 2 4 4 5 6 7 9


Слайд 20 Числовая сортировка
Сортировка пузырьком (сортировка всплыванием)
Элементы последовательно сравниваются попарно

Числовая сортировкаСортировка пузырьком (сортировка всплыванием)Элементы последовательно сравниваются попарно и, если порядок

и, если порядок в паре неверный, выполняется обмен элементов.

При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший элемент перемещается на одну позицию к началу массива («всплывает»).
Первый цикл: второй цикл третий цикл четвертый цикл
5 9 4 7 2 4 1 6 5 4 7 2 4 1 6 9 4 5 2 4 1 6 7 9 4 2 4 1 5 6 7 9
5 4 9 7 2 4 1 6 4 5 7 2 4 1 6 9 4 2 5 4 1 6 7 9 2 4 4 1 5 6 7 9
5 4 7 9 2 4 1 6 4 5 7 2 4 1 6 9 4 2 4 5 1 6 7 9 2 4 1 4 5 6 7 9
5 4 7 2 9 4 1 6 4 5 2 7 4 1 6 9 4 2 4 1 5 6 7 9 пятый цикл
5 4 7 2 4 9 1 6 4 5 2 4 7 1 6 9 2 1 4 4 5 6 7 9
5 4 7 2 4 1 9 6 4 5 2 4 1 7 6 9 шестой цикл
5 4 7 2 4 1 6 9 4 5 2 4 1 6 7 9 1 2 4 4 5 6 7 9



Слайд 21 Сортировка деревом. При добавлении в дерево нового элемента

Сортировка деревом. При добавлении в дерево нового элемента его последовательно сравнивают

его последовательно сравнивают с нижестоящими узлами. Если элемент >=

корня - он идет в правое поддерево, сравниваем его уже с правым сыном, иначе - он идет в левое поддерево, сравниваем с левым, и так далее, пока есть сыновья, с которыми можно сравнить. 44 55 12 42 94 18 06 67

44



55

44


44



55


12

44



12


55


42

44



12


55


42


94

44



55


42


94


12


18

44



55


42


94


12


18


6

44



55


42


94


12


6


18


67


Слайд 22 Числовая сортировка
Сортировка вычерпыванием :
Пусть известно, что максимальный элемент сортируемого

Числовая сортировкаСортировка вычерпыванием :Пусть известно, что максимальный элемент сортируемого массива не превосходит

массива не превосходит некоторое натуральное m:
Организовать m пустых  очередей по одной для

каждого натурального числа от 1 до m. Каждую такую очередь называют черпаком.
Просмотреть последовательность А слева направо, помещая элемент  ai в очередь с номером ai.
Сцепить эти очереди, т.е. содержимое (i+1)-й очереди приписать к концу i-й очереди (i=1,2,... m-1), получив тем самым упорядоченную последовательность.
Пример: 1 3 2 5 2 5 1 2 1 5 4 3 4 5. Просмотрели 5 элементов
1: 1
2: 2 2
3: 3
4:
5: 5



Слайд 23 Числовая сортировка
Сортировка вычерпыванием :
Пусть известно, что максимальный элемент сортируемого

Числовая сортировкаСортировка вычерпыванием :Пусть известно, что максимальный элемент сортируемого массива не превосходит

массива не превосходит некоторое натуральное m:
Организовать m пустых  очередей по одной для

каждого натурального числа от 1 до m. Каждую такую очередь называют черпаком.
Просмотреть последовательность А слева направо, помещая элемент  ai в очередь с номером ai.
Сцепить эти очереди, т.е. содержимое (i+1)-й очереди приписать к концу i-й очереди (i=1,2,... m-1), получив тем самым упорядоченную последовательность.
Пример: 1 3 2 5 2 5 1 2 1 5 4 3 4 5 : 1 1 1 2 2 2 3 3 4 4 5 5 5 5
1: 1 1 1
2: 2 2 2
3: 3 3
4: 4 4
5: 5 5 5 5



Слайд 24 Лексикографическая сортировка на основе сортировки вычерпыванием :
l-граммы сортируем по

Лексикографическая сортировка на основе сортировки вычерпыванием :l-граммы сортируем по позиции lПолученный список

позиции l
Полученный список сортируем по позиции l – 1

Полученный список сортируем по позиции 1
Пример: abcdabcbcbabcd; l = 3;
abc
bcd
cda
dab
abc
bcb
cbc
bcb
cba
bab
abc
bcd




Слайд 25 Лексикографическая сортировка на основе сортировки вычерпыванием 
l-граммы сортируем по

Лексикографическая сортировка на основе сортировки вычерпыванием l-граммы сортируем по позиции lПолученный список

позиции l
Полученный список сортируем по позиции l – 1

Полученный список сортируем по позиции 1
Пример: abcdabcbcbabcd; l = 3;
abc, bcd, cda, dab, abc, bcb, cbc, bcb, cba, bab, abc, bcd;
Сортировка по 3-й позиции:
a: cda, cba
b: dab, bcb, bcb, bab
c: abc, abc, cbc, abc
d: bcd, bcd
Список l-грамм после первого этапа:
cda, cba, dab, bcb, bcb,bab, abc, abc, cbc, abc, bcd, bcd


Сортировка по 2-й позиции:
a: dab, bab
b: cba, abc, abc, cbc, abc
c: bcb, bcb, bcd, bcd
d: cda
Список l-грамм после второго этапа:
dab, bab, cba, abc, abc, cbc, abc, bcb, bcb, bcd, bcd, cda
Сортировка по 1-й позиции:
a: abc, abc, abc
b: bab, bcb, bcb, bcd, bcd
c: cba, cbc, cda
d: dab
Список l-грамм после 3 этапа:
abc, abc, abc, bab, bcb, bcb, bcd, bcd, cba, cbc, cda, dab



Слайд 26 Алгоритмы отыскания совершенных повторов
Метод, основанный на хешировании.

Алгоритмы отыскания совершенных повторов Метод, основанный на хешировании. Хеширование – отображение,


Хеширование – отображение, которое ставит в соответствие произвольной l-грамме

текста xi (1≤ i ≤ N – l + 1) число h(xi), (адрес, по которому хранится информация об xi).
Пример простейшего отображения – представление l-граммы xi = ai1ai2… ail, где aij ∈ Σ (j = 1 ÷ l) в q-ичной системе счисления, где q = | Σ |.


(0 ≤ ki ≤ q – 1).
Недостаток этого отображения – большой (порядка | Σ |l ) диапазон изменения чисел h1(xi) (сильно разреженный массив адресов).
Достоинство – отображение h1 взаимно-однозначное и достаточно просто вычислимо.
Трудоемкость «рекуррентного хеширования» — O(N).

Слайд 27 Компромисс по памяти и по времени может быть

Компромисс по памяти и по времени может быть достигнут, если сузить

достигнут, если сузить диапазон изменения возможных значений h(x).

Для этого:


а) отказаться от требования однозначности функции расстановки h(xi),

в) разделить «наложившиеся» объекты с помощью специальной техники (открытая адресация, перехеширование, использование списковых структур и т.д.).

Пример функции расстановки, допускающей наложения:
h2(xi) = h1(xi) mod M
M - простое число (размер поля).

Слайд 28 Пример списковой схемы устранения наложений
Информа-

Пример списковой схемы устранения наложений Информа-   Расстановочное

Расстановочное

Дополнительное
ционный поле поле (ДП)
массив



Слайд 29 Префиксное и суффиксное деревья
Если v = xyz, то

Префиксное и суффиксное деревьяЕсли v = xyz, то x – префикс

x – префикс v, z – суффикс, y –

подслово. Оптимальные алгоритмы отыскания совершенных повторов основаны на построении префиксного дерева, суффиксного дерева или графа подслов текста (DAtG).
Первая конструкция разработана Вайнером (teiner P., 1973), вторая − Мак-Крейгом (McCreight, 1976), третья − (A.Blumer, J.Blumer, A.Ehrenfeucht, et al., 1984). Все конструкции функционально эквивалентны и реализуются за линейное (в зависимости от длины текста) время с линейными затратами памяти.

Префикс−идентификатор pr(i) позиции i в тексте T − кратчайшее подслово, начинающееся в позиции i и встречающееся в T # только один раз (# - конечный маркер).
Префиксное дерево = дерево префикс-идентификаторов.

Слайд 30 Пример дерева префикс-идентификаторов для T# = abacbcbacb#

i

Пример дерева префикс-идентификаторов для T# = abacbcbacb#	i  pr(i)ab

pr(i)
ab


bacbc
acbc
cbc
bc
cba
bacb#
acb#
cb#
b#
#








b

11

#

c

6

9

4

1

3

8

2

7





5

10

a

a

a

b

b

b

b

c

c

c

c

c

c

#

#

#

#


Слайд 31 Алгоритм Мартинеца на примере T# = abacbcbacb#

Алгоритм Мартинеца на примере T# = abacbcbacb#    b11#c6941327510aaabbbbcccccc####abacbcbacb#81,3,83,82,5,7,103,82,72,72,74,6,94,6,9








b
11
#
c
6
9
4
1
3
2
7



5
10
a
a
a
b
b
b
b
c
c
c
c
c
c
#
#
#
#
abacbcbacb#

8
1,3,8



3,8
2,5,7,10

3,8

2,7
2,7
2,7




4,6,9
4,6,9



Слайд 32 Пример компактного префиксного дерева для T# = abacbcbacb#







11
#
c
6
9
4
1
3
8
2
7




5
10
a
acb
a
b
b
cb
c
cb
c
c
#
#
#
#

Пример компактного префиксного дерева для T# = abacbcbacb#11#c69413827510aacbabbcbccbcc####

Слайд 33 Пример дерева всеx суффиксов для T# = abacbcbacb#

i

Пример дерева всеx суффиксов для T# = abacbcbacb#	i  suf(i)abaсbcbacb#baсbcbacb#aсbcbacb#

suf(i)
abaсbcbacb#
baсbcbacb#
aсbcbacb#


сbcbacb#
bcbacb#
cbacb#
bacb#
acb#
cb#
b#
#








b

11

#

6

9

4

1

3

8

2

7





5

10

a

b

b

c

c

c

c

#

#

#

c

b

b

a

c

#

b

b

a

a

c

c

b

#

#

a

c

c

c

c

b

b

a

b

#

#

#

#

b

b

b

b

a

c

c

c

a

a

b

b


Слайд 34 Суффиксное дерево для T# = abacbcbacb#







11
#
cbacb#
6
9
4
1
3
8
2
7




5
10
a
acb
acb#
b
bacbcbacb#
cb
cbacb#
cb
cbacb#
cbacb#
#
#
#
#

Суффиксное дерево для T# = abacbcbacb#11#cbacb#69413827510aacbacb#bbacbcbacb#cbcbacb#cbcbacb#cbacb#####

  • Имя файла: algoritm-karpa-rabina.pptx
  • Количество просмотров: 136
  • Количество скачиваний: 0