Bioalgo 2013-05-aho-corasick

Preview:

Citation preview

Aho-Corasicalgorithm

April 6, 2013

The problem

Text T, |T| = m

Patterns p1, p2... pk, |p1| + |p2| + ... + |pk| = n

Find all occurrences of pi within T

2/7

Meet the trie

1. he2. she3. his4. hers

3/7

Suffix links i

For node u, suffix link points to node v such that string(v) is the maximal proper suffix of string(u)

3/7

Suffix links ii

5/7

go & link

go :: node –> char –> nodelink :: node –> node

go n c = n.child[c] or go (link n) c

link n = go (link n.p_node) n.p_char

6/7

Домашка =)Решить задачи в классеTRIE – построить и вывести борATRIE + суффиксные ссылкиEPM – задача из первого слайда

PS. Не забываем про тесты: короткие случайные паттерны из ab алфавита + длинный текст

PPS. Сдать до 20.04 или до 27.04, но со штрафом

Recommended