Title: How to Perform a Good Presentation of a Paper and How to Read Difficult Papers
1How to Perform a Good Presentation of a Paper and
How to Read Difficult Papers
2- Most of our poor graduate students are asked to
read papers. - They often have difficulty in understanding those
papers and they often have difficulty in
presenting the papers to their advisers and their
fellow students.
3- After a student graduates and becomes an
engineer, he is still asked to report his work
regularly. - The ability to write a good report or to present
a paper well is important for ones career.
4- Let us forget about writing a good paper and
concentrate our mind on how to perform a good
presentation of a paper.
5In a bad presentation, a term may be
given without defining it first. For instance,
we may mention without giving a
definition of this term. Rule 1 Always
remember that no term can be mentioned without
first defining it.
6Example 1 For text T, we choose pivots. Pivot
was not defined at all.
7Rule 2 The definition of any term must
be precise. Example Each explicit internal
node represents itself and the nodes
descending to it by unary path. If the
definition of the term explicit internal node
is precise, one should be able to figure out what
node is not an explicit internal node.
8If you fully understand the definition of the
term explicit internal node, you should
immediately give an example of an explicit
internal node and another example of an internal
node which is not explicit. Since you did not
give the examples and the definition is not
precise, no one can understand it and the
professor simply thinks that you actually do not
understand it.
9Rule 3 The definition has to be
accurate. Example
This is a very strange definition, supposedly
copied from a journal paper.
10The real definition Let be a Boolean
variable defined as follows
This means will be true whenever
and will be false if otherwise.
Now the definition makes sense.
11Rule 4 Once a term is defined, this definition
must be strictly followed. For instance, we have
defined which means that is a
matrix. Then, in the next slide, we have
All of a sudden, becomes a vector. This
should not have happened.
12Rule 5 Every statement must be precise. For
instance, suppose we have a text T which is
and a pattern P. We may have the
following statement X(0)4 means that there are
4 matches if we start matching between T and P
from location
13The precise and accurate statement is
more complicated Let j be the smallest j such
that P(1,j) contains 2K distinct
characters. X(0)4 means that there are 4
matches between T(1,j) and P. Note that these
two statements are entirely different.
14Rule 6 Once a term is defined and mentioned,
it must be mentioned later. If it is not used
later, why should we have defined it in the first
place? Example In a report, valid window
was defined clearly and accurately. But it is
never used later.
15- Rule 7 The presentation must be smooth.
- Suppose you are now talking about subject
- Then you start talking about subject B
- while these two subjects are totally unrelated.
- This is not good. Something must be wrong.
- There are two possibilities.
16The first possibility is that something between A
and B should be talked about. But you missed
it. The second possibility is that B should
not be presented after A at all.
17Example
S
S2
S1
T
P
P1
P2
Let S be a substring of T, and S S1S2. P
P1P2. If d(S1, P1) ?k, and Dist(S2, P2) 0, d(S,
P) ? k.
Then, after this observation is given, suffix
tree becomes the next subject of discussion.
18These two subjects are totally unrelated. What
happened?
19- Let x and y be two strings. Edit distance d(x,
y) is the minimum number of character insertions,
deletions, and replacements to covert string x to
y. - k-difference string matching problem
- Given a text T with length n, a pattern P with
length m, and an error bound k. - Find all position i of T such that there exists
an suffix S of T(1, i), d(S, P) ? k.
20- The approach of this paper is as the follows
- Given a pattern P and an error bound k, we
generate all possible Ps which contain (?k)
errors deduced from P. - Then we conduct an exact match of all such Ps
against T.
21- Example
- Tabbaaa,
- Paba and k1.
- From P and k, we generate the following Ps
- ba, aaba, baba, bba, aa, abba, aaa, ab, abaa,
abb, aba.
22- Then we conduct an exact matching of all Ps
against T. Any success indicates that there is a
substring S in T such that d(S,T)?k. - How can we generate all Ps which we want?
- We use the following observation.
23S
S2
S1
T
P
P1
P2
Let S be a substring of T, and S S1S2. P
P1P2. If d(S1, P1) ?k, and Dist(S2, P2) 0, d(S,
P) ? k.
24k 2
1
2
3
4
5
6
7
8
9
10
11
12
13
T
A
C
A
C
A
A
A
A
A
C
A
C
C
S1
S2
1
2
3
4
5
6
P
A
G
A
B
C
A
P1
P2
Consider the substring S T(6, 11) AAAACA, Let
S1 T(6, 9) AAAA, and S2 T(10, 11)
CA. Dist(S1, P1) 2 ?k, and Dist(S2, P2) 0. We
have Dist(S, P) 2 ?k.
25k 2
1
2
3
4
5
6
7
8
9
10
11
12
13
T
A
C
A
C
A
A
A
A
A
C
A
C
C
S1
S2
1
2
3
4
5
6
P
A
G
A
B
C
A
P1
P2
Consider the substring S T(8, 11) AACA, Let
S1 T(8, 9) AA, and S2 T(10, 11)
CA. Dist(S1, P1) 2 ?k, and Dist(S2, P2) 0. We
have Dist(S, P) 2 ?k.
26- Based upon the above observation, we can generate
all edited pattern Ps by editing the prefix and
keeping the suffix untouched, in some manner. - Consider Paba, k1.
27ba (Deletion) k 1
aaba (Insertion) k 1
i 1
baba (Insertion) k 1
P aba
bba (Substution) k 1
aa (Deletion) k 1
aba k 0
aaba (Insertion) k 1
abba (Insertion) k 1
i 2
aaa (Substution) k 1
ab (Deletion) k 1
aba k 0
abaa (Insertion) k 1
abba (Insertion) k 1
i 3
abb (Substution) k 1
aba k 0
abaa (Insertion) k 1
abab (Insertion) k 1
i 4
28ba (Deletion) k 1
aaba (Insertion) k 1
i 1
baba (Insertion) k 1
P aba
bba (Substution) k 1
aa (Deletion) k 1
aba k 0
aaba (Insertion) k 1
abba (Insertion) k 1
i 2
aaa (Substution) k 1
ab (Deletion) k 1
aba k 0
abaa (Insertion) k 1
abba (Insertion) k 1
i 3
abb (Substution) k 1
aba k 0
abaa (Insertion) k 1
abab (Insertion) k 1
i 4
29a (Deletion) k 2
i 2
aba (Insertion) k 2
bba (Insertion) k 2
ba (k 1)
aa (Substution) k 2
b (Deletion) k 2
ba k 1
baa (Insertion) k 2
bba (Insertion) k 2
i 3
bb (Substution) k 2
ba k 1
baa (Insertion) k 2
bab (Insertion) k 2
i 4
30PR
PL
i
For i1 to m1
Deletion, k
P
PR
PL
i
P
PL
PR
P
PL
PR
A
Replacement , k
P
P
C
PL
PR
kDist(PL, PL)?k. Dist(PR, PR) 0
P
Insertion, k
A
P
C
PL
PR
No operation.
P
i
Terminate if k gt k.
31- Our problem now becomes the following Given a
pattern P, we produce a modified pattern P. Our
job is to determine whether P exactly matches
some substring of T or not. - For example, Suppose Paba. We have ba as one of
the modified patterns. So, we like to find out
whether ba matches exactly with a substring in T.
32- This exact matching can be found by using the
suffix array and the inverse suffix array.
33- Somehow we know that we must tell the story
smoothly. - At any point, we must not make the reader
surprised. - A good presentation is just opposite to a good
detective story.
34- A good detective story always keeps the reader
puzzled. - Who is the murderer?
- No detective story would tell you at the very
beginning who did it. - A good presentation should always tell people the
whole story at the very beginning.
35Rule 8 Give the top view of the paper first and
give the technical details later. The worst case
is to introduce individual trees before
introducing the structure of the forest.
36- The paper is about approximate string
- matching.
- The structure of the presentation is as
- Follows
- The matrix M produced by dynamic
- programming approach.
- 2. Some new matrices derived from M.
37- How to generate these new matrixes
- without producing the original matrix M.
- Note that these new matrixes are all
- defined upon M.
- Two puzzles occur
- How can they be generated?
- 2. Why should they be produced?
38- A window is opened to compare this
- window with the pattern.
- 5. Somehow, the comparison uses these
- newly generated matrixes.
- In the next slides, let us give you the
- real story.
39- The most important idea of this paper is the
following We do not need to use the traditional
method to apply dynamic programming which
produces a matrix M. - Instead, we use a bunch of the so-called bit
vectors. The algorithm is still based upon the
dynamic programming approach.
40- But, by using the bit-vectors, we may reduce the
time-complexity by a constant, the length of the
word of our computer. - If the paper is presented in this way,
- everything becomes clear and easy to
- understand.
41- The new matrixes are actually the bit-vectors.
- Somehow, if we do not have the top-view, we in
reality do not understand the paper. -
42Rule 9 If you present an algorithm, it should
be so clear, precise and accurate that any other
person can write a program out of it. Note that
you cannot use any low-level computer language to
present your algorithm. The algorithm must be
given in natural Language.
43Rule 10 If you present an experiment, again, it
should be so, clear, precise and accurate that
any other person can repeat your experiment.
44How to Read Difficult Papers?
- Rule 1 Given a paper to read, we should always
try to get the top view before getting into the
technical details. - If you fail to see the whole forest, knowing
individual trees would never help you.
45- So, a good adviser would never be interested in
technical details and would never ask questions
about the technical details first. - He would ask the student to let him know the
high-level structure of the paper first.
46- Rule 2 If this paper is an improvement of some
old techniques and you do not know these old
techniques. Give up this paper at once and go to
read the old papers.
47- Example
- A student gave me a presentation of a bit-vector
approach to solve the approximate string matching
problem. - The presentation was very difficult for me to
understand.
48- Then I noticed many definitions which are
recursive. - So, I asked a question Is this approach a
variant of the dynamic programming approach? - Answer Yes.
49- We decided to give a presentation of the old
dynamic programming approach. - It suddenly became clear that the so-called
bit-vector approach is actually still the dynamic
programming approach. - Now, everything becomes easy to understand.
50- Rule 3 Never miss any critical point.
- For example, in one paper, the author indicated
that we should use a suffix with (k1) characters
where k is the number of mismatches allowed. - If you are a well-experienced graduate student,
you would pay close attention to the length of
this suffix because it must be critical.
51Another example There is a term defined and a
lemma given in a paper. Yet, the student totally
ignored them. The consequence He did not
understand the paper at all. No one in the world
would define a useless term and give a useless
lemma.
52- Rule 4 Never pay too much attention to abstract
definitions. You must understand the physical
meaning of these definitions. - You must try to figure out why the researcher
defined these terms.
53- In most cases, you will find out that you
suddenly understand the whole story of the paper
simply because you have the physical feeling of
everything discussed. - The worst case is that you learn advanced topics
by rote learning. That is, you simply remember
some terms without knowing what they really mean.
54- A good graduate student can always tell us that
the paper, although mysterious, is actually based
upon something which we are familiar with.
55A Typical Example
- We are studying a paper on approximate matching
Given a text T and a pattern P, find all
occurrences of P in T with at most k mismatches. - The following step was suggested in the paper.
56T
P
Consider the suffix of W with (k1) length. Find
a character in it which appears in P as shown
below
T
57Slide the pattern as shown below.
T
It may seem strange why this is done.
58Actually, the physical meaning is very easy
to understand, we slide the window in such a
that there are at most k mismatches because the
length of the suffix is k1 and there is at least
one matching and therefore at most k mismatches.
T
59The Lowest Common Ancestor Problem
- Given a tree, find the lowest common ancestor of
two nodes.
60With this kind of coding, the lowest common
ancestor of two can be easily found because each
code indicates the path from root to it.
61- This is the coding for a general tree which is
rather mysterious.
1000 1000
1
0100 1100
2
5
3
4
6
7
8
0011 1101
0110 1010
0111 1001
9
10
1001 1001
1010 1010
62Lemma If z is an ancestor of x in T then I(z) is
an ancestor of I(x) in B. Now we know the
physical meaning of the mysterious coding. It
allows us to code a general tree in such a way
that the ancestor relationship between nodes is
preserved. To some degree, the coding is not
mysterious to us any more because we have grasped
its physical meaning.
63- My final advice
- Go back to the Basics.
- If you do not understand the basics of a research
field, you might as well forget about it and go
back home to work as a farmer. You will be
happier and more successful.
64