Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 How to Perform a Good Presentation of a Paper and How to Read Difficult Papers 李家同 暨南大學.

Similar presentations


Presentation on theme: "1 How to Perform a Good Presentation of a Paper and How to Read Difficult Papers 李家同 暨南大學."— Presentation transcript:

1 1 How to Perform a Good Presentation of a Paper and How to Read Difficult Papers 李家同 暨南大學

2 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 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 one’s career.

4 4 Let us forget about writing a good paper and concentrate our mind on how to perform a good presentation of a paper.

5 5 In 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.

6 6 Example 1: For text T, we choose pivots. “Pivot” was not defined at all.

7 7 Rule 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.

8 8 If 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.

9 9 Rule 3: The definition has to be accurate. Example: This is a very strange definition, supposedly copied from a journal paper.

10 10 The 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.

11 11 Rule 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.

12 12 Rule 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

13 13 The 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.

14 14 Rule 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 15 Rule 7: The presentation must be smooth. Suppose you are now talking about subject A.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.

16 16 The 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.

17 17 Example: Then, after this observation is given, suffix tree becomes the next subject of discussion. T P S2S2 Let S be a substring of T, and S= S 1 S 2. P = P 1 P 2. If d(S 1, P 1 ) ≦ k, and Dist(S 2, P 2 ) = 0, d(S, P) ≦ k. S1S1 S P1P1 P2P2

18 18 These two subjects are totally unrelated. What happened?

19 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 20 The approach of this paper is as the follows: Given a pattern P and an error bound k, we generate all possible P’s which contain ( ≦ k) errors deduced from P. Then we conduct an exact match of all such P’s against T.

21 21 Example: T=abbaaa, P=aba and k=1. From P and k, we generate the following P’s: ba, aaba, baba, bba, aa, abba, aaa, ab, abaa, abb, aba.

22 22 Then we conduct an exact matching of all P’s against T. Any success indicates that there is a substring S in T such that d(S,T) ≦ k. How can we generate all P’s which we want? We use the following observation.

23 23 T P S2S2 Let S be a substring of T, and S= S 1 S 2. P = P 1 P 2. If d(S 1, P 1 ) ≦ k, and Dist(S 2, P 2 ) = 0, d(S, P) ≦ k. S1S1 S P1P1 P2P2

24 24 Example: T ACACAAAAACACC 12345678910111213 AGABCA P 123456 k = 2 Consider the substring S = T(6, 11) = AAAACA, Let S 1 = T(6, 9) = AAAA, and S 2 = T(10, 11) = CA. Dist(S 1, P 1 ) = 2 ≦ k, and Dist(S 2, P 2 ) = 0. We have Dist(S, P) = 2 ≦ k. S1S1 P1P1 S2S2 P2P2

25 25 Example: T ACACAAAAACACC 12345678910111213 AGABCA P 123456 k = 2 Consider the substring S = T(8, 11) = AACA, Let S 1 = T(8, 9) = AA, and S 2 = T(10, 11) = CA. Dist(S 1, P 1 ) = 2 ≦ k, and Dist(S 2, P 2 ) = 0. We have Dist(S, P) = 2 ≦ k. S1S1 P1P1 S2S2 P2P2

26 26 Based upon the above observation, we can generate all edited pattern P’s by editing the prefix and keeping the suffix untouched, in some manner. Consider P=aba, k=1.

27 27 P=aba, k=1. P = aba ba (Deletion) k = 1 i = 1 aaba (Insertion) k = 1 baba (Insertion) k = 1 bba (Substution) k = 1 aba k = 0 i = 2 aa (Deletion) k = 1 aaba (Insertion) k = 1 abba (Insertion) k = 1 aaa (Substution) k = 1 aba k = 0 ab (Deletion) k = 1 abaa (Insertion) k = 1 abba (Insertion) k = 1 abb (Substution) k = 1 aba k = 0 i = 3 i = 4 abaa (Insertion) k = 1 abab (Insertion) k = 1

28 28 P=aba, k=2. P = aba ba (Deletion) k = 1 i = 1 aaba (Insertion) k = 1 baba (Insertion) k = 1 bba (Substution) k = 1 aba k = 0 i = 2 aa (Deletion) k = 1 aaba (Insertion) k = 1 abba (Insertion) k = 1 aaa (Substution) k = 1 aba k = 0 ab (Deletion) k = 1 abaa (Insertion) k = 1 abba (Insertion) k = 1 abb (Substution) k = 1 aba k = 0 i = 3 i = 4 abaa (Insertion) k = 1 abab (Insertion) k = 1

29 29 P=aba, k=2. ba (k = 1) a (Deletion) k = 2 i = 2 aba (Insertion) k = 2 bba (Insertion) k = 2 aa (Substution) k = 2 ba k = 1 i = 3 b (Deletion) k = 2 baa (Insertion) k = 2 bba (Insertion) k = 2 bb (Substution) k = 2 ba k = 1 i = 4 baa (Insertion) k = 2 bab (Insertion) k = 2

30 30 For i=1 to m+1 PL’PL’PR’PR’ P’P’ k’=Dist(P L ’, P L ) ≦ k. Dist(P R ’, P R ) = 0 i PL’PL’ PR’PR’ P’P’ i PLPL PRPR P Deletion, k’++ A PL’PL’PR’PR’ P’P’ C P’P’ … Replacement, k’++ A PL’PL’PR’PR’ P’P’ C P’P’ … Insertion, k’++ PL’PL’PR’PR’ P’P’ No operation. i Terminate if k’ > k.

31 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 P=aba. 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 32 This exact matching can be found by using the suffix array and the inverse suffix array.

33 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 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.

35 35 Rule 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 36 The paper is about approximate string matching. The structure of the presentation is as Follows: 1.The matrix M produced by dynamic programming approach. 2. Some new matrices derived from M.

37 37 3.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: 1. How can they be generated? 2. Why should they be produced?

38 38 4. 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 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 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 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.

42 42 Rule 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.

43 43 Rule 10: If you present an experiment, again, it should be so, clear, precise and accurate that any other person can repeat your experiment.

44 44 How 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 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 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 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 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 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 50 Rule 3: Never miss any critical point. For example, in one paper, the author indicated that we should use a suffix with (k+1) 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.

51 51 Another 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 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 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 54 A good graduate student can always tell us that the paper, although mysterious, is actually based upon something which we are familiar with.

55 55 A 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.

56 56 Consider the suffix of W with (k+1) length. Find a character in it which appears in P as shown below T P T

57 57 Slide the pattern as shown below. It may seem strange why this is done. T

58 58 Actually, 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 k+1 and there is at least one matching and therefore at most k mismatches. T

59 59 The Lowest Common Ancestor Problem Given a tree, find the lowest common ancestor of two nodes.

60 60 8 4 2 13 1000 0011 0100 0010 0001 6 57 0111 0110 0101 12 10 911 1011 1100 1010 1001 14 1315 1111 1110 1101 With 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 61 1 2 34 5 678 910 1000 0100 1100 0011 1101 0110 1010 0111 1001 1010  This is the coding for a general tree which is rather mysterious.

62 62 Lemma: 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 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 64 Thank You.


Download ppt "1 How to Perform a Good Presentation of a Paper and How to Read Difficult Papers 李家同 暨南大學."

Similar presentations


Ads by Google