Approximate Pattern Matching Using Suffix Tries
Hendrik Nigul
nigulh@math.ut.ee
University of Tartu
Veskisilla, Oct 3 2004 – p. 1
Approximate Pattern Matching Using Suffix Tries Hendrik Nigul - - PowerPoint PPT Presentation
Approximate Pattern Matching Using Suffix Tries Hendrik Nigul nigulh@math.ut.ee University of Tartu Veskisilla, Oct 3 2004 p. 1 Overview Introduction, problem description Suffix tries What is a suffix trie How to create suffix tries
Hendrik Nigul
nigulh@math.ut.ee
University of Tartu
Veskisilla, Oct 3 2004 – p. 1
Veskisilla, Oct 3 2004 – p. 2
Veskisilla, Oct 3 2004 – p. 3
Veskisilla, Oct 3 2004 – p. 3
Veskisilla, Oct 3 2004 – p. 4
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $
: A NA NA$ $ $ BANANA$ NA NA$ $ $
Veskisilla, Oct 3 2004 – p. 5
: B A N A N A $ : A N A N A $ B A N A N A $ : A N A N A $ $ B A N A N A $ N A N A $
Veskisilla, Oct 3 2004 – p. 6
Veskisilla, Oct 3 2004 – p. 7
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $
Veskisilla, Oct 3 2004 – p. 8
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ 55 19 14 11 6 4 2 2 2 17 14 11 8 6 4 2 14 11 6 4 2 2 2
Veskisilla, Oct 3 2004 – p. 9
: A N A @ @ @ @ N A @ @ @ : A N A N A $ $ $ B A N A N A $ N A N A $ $ $
Veskisilla, Oct 3 2004 – p. 10
: A N A @ @ @ @ N A @ @ @ 28 13 8 6 4 6 6 8 6 4 6 6
Veskisilla, Oct 3 2004 – p. 11
Veskisilla, Oct 3 2004 – p. 12
Index size / text size ratio
Length of row rows 10 100 1000 1 12.9 163 2223 10 9.73 157 2214 100 6.94 152 1000 4.93 146 10000 3.54
Length of row rows 10 100 1000 10000 1 3.55 5.14 6.01 7.11 10 4.28 5.95 7.10 8.11 100 5.21 6.97 8.09 9.13 1000 5.92 7.93 9.11 10000 6.65 8.92 without pointers with pointers If a random string in 4-letter alphabet has length n, then the number of nodes is about 1.72n. The description of each node is at most 1 + log10n bytes.
Veskisilla, Oct 3 2004 – p. 13
Veskisilla, Oct 3 2004 – p. 14
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ :
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : A N A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : A N A N
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : A N A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : A N A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : B
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : B A N A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : B A N A A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : N
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ : N A
Veskisilla, Oct 3 2004 – p. 15
: A N A N A $ $ $ B A N A N A $ N A N A $ $ $ :
Veskisilla, Oct 3 2004 – p. 15
Veskisilla, Oct 3 2004 – p. 16
Veskisilla, Oct 3 2004 – p. 17
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ :
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G
Veskisilla, Oct 3 2004 – p. 18
A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G L
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O
Veskisilla, Oct 3 2004 – p. 18
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O L L L A
Veskisilla, Oct 3 2004 – p. 18
M A N G O 1 2 3 4 5 A 1 1 1 2 3 4 N 2 2 2 1 2 3 G 3 3 3 2 1 2 E 4 4 4 3 2 2 L 5 5 5 4 3 3
Veskisilla, Oct 3 2004 – p. 19
Veskisilla, Oct 3 2004 – p. 20
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ :
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L G
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L G O
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G L
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G L O
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O L
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O L A
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O L A
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : G
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : G O
Veskisilla, Oct 3 2004 – p. 21
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : M
Veskisilla, Oct 3 2004 – p. 21
Veskisilla, Oct 3 2004 – p. 22
Veskisilla, Oct 3 2004 – p. 23
Veskisilla, Oct 3 2004 – p. 24
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ :
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N A : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N G : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N G O : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G L
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N G O : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : G : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : G
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : G O : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : G O
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : N : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : M
Veskisilla, Oct 3 2004 – p. 25
: A N A N G O $ G O $ G O $ N A N G O $ G O $ O $ $ : A N A G O G O N : A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L N G L O G O M
Veskisilla, Oct 3 2004 – p. 25
: A A G L $ G L $ G L $ L $ $
Veskisilla, Oct 3 2004 – p. 26
: A A G L G L G L L
AA AAG AAGL AG AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ :
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG
AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L G
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG
AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A L G O
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG
AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG
AAGL
AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G L
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG
AAGL
AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G L O
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG
AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : A N G O
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA AAG AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : G
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA AAG AAGL AG
AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : G O
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA AAG AAGL AG AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : M
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG AAGL AG AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : M A
Veskisilla, Oct 3 2004 – p. 27
: A A G L G L G L L
AA
AAG AAGL AG AGL
GL
: A L G O $ N G L O $ O L A $ $ G O $ M A N G O $ : M A N
Veskisilla, Oct 3 2004 – p. 27
Veskisilla, Oct 3 2004 – p. 28
Veskisilla, Oct 3 2004 – p. 28
Veskisilla, Oct 3 2004 – p. 29
Veskisilla, Oct 3 2004 – p. 30
Veskisilla, Oct 3 2004 – p. 31
Veskisilla, Oct 3 2004 – p. 32
Veskisilla, Oct 3 2004 – p. 33
Veskisilla, Oct 3 2004 – p. 34