lecture9 - Department of Computer Science

advertisement
.
• Week 10: test contains all material from
Week 1– Week 8, not including this week
Week 9: String Matching Allowing
Errors
• Problem: Given a short pattern P of length
m, a long text T of length n, and a
maximum allowed number of errors k, find
all the text positions where the pattern
occurs with at most k errors.
Dynamic Programming
• C[i,j] be the number of errors allowed.
• Three kinds of error: mismatch (a, b),
insertion( a, )and deletion ( , a).
C[0, j ]  0
C[i ,0 ]  i
C[i , j ]  if ( Pi  T j ) then C[i  1, j  1]
else 1  min( C[i  1, j ], C[i, j  1], C[i  1, j  1])
The matrix
s
u
r
g
e
r
y
0
0
0
0
0
0
0
0
s
1
0
1
1
1
1
1
1
u
2
1
0
1
2
2
2
2
r
3
2
1
0
1
2
2
3
v
4
3
2
1
1
2
3
3
e
5
4
3
2
2
1
2
3
y
6
5
4
3
3
2
2
2
The dynamic programming algorithm search ‘survey’ in
the text ‘surgery’ with two errors. Bold entries indicate
matching positions. Running time O(nm).
String Matching Allowing Errors
• O(nk) algorithm, where n is the length of
the pattern and k the number of errors
allowed.
• C[i,q] the number of errors for c[i,i+q],
• q=-k, -(k+1), …,0, 1, 2, …, k.
• C[i,i+q]= C[i-1, i+q-1] if pi=ti+q.
• else C[I,i+q]=1+min{C[i-1,i+q], C[I, i+q-1],
C[i-1,i+q-1]}.

s
u
r
v
e
y
no errors
ε
ε
s
ε
u
ε
r
ε
v
ε
e
y
1 error
ε
ε
s
ε
u
ε
r
ε
v
ε
e
y
2 errors
An NFA for approximate string matching of the pattern ‘survey’ with
two errors. The shaded states are those active after reading the text
‘surgery’. Unlabelled transitions match any character.(Also O(nk)
time.)
Regular expressions Matching
• Regular expression:
1. Any letter x in {},is a regular
expression, where  is the set of all
letters.
2. if A and B are regular expression, then
A|B, A.B and (A)* are regular
expressions.
Regular expressions Matching
•
•
•
•
•
Given an regular expression E and a string T,
find all the substrings in T that match E.
Let d(i) be the set of all states in the automaton
that can be reached after T1T2…Ti is accepted.
Given d(i), d(i+1) can be computed easily.
There is a starting and final state in the
automaton.
Whenever the final state is reach, we find a
substring in T that match the expression.
ε
FA
ε
S
f
ε
FB
FA|B
ε
S
FA
ε
FA B
FB
f
ε
S
FA
F(A)*
f
ε
b
A
c
a
A
e
ε
d
A
ε
ε
g
B
ε
h
f
l
ε
i
(AA | B)  (B | AB)
A
j
B
k
ε
Example:
•
•
•
•
•
•
•
•
•
E=(A|AA).(B|AB).
T=ABBAAAB.
D(1)={a,b,d,c, e, f, g, i}
D(2)={a,b,d, h,l },
D(3)={a,b,d}.
D(4)={a,b,d,c,e,f,g,i}
D(5)={a,b,d,c,e,f,g, i,j}
D(6)={a,b,d,c,e,f,g,i,j}
D(7)={a, h, k,l}.
Running time
• O(n2), where n is the size of the
automaton since d(s, i) could
contain O(n) states.
Choices of Search Engines
• Many search engines exist to compete for
users
– The results are not necessarily the same
– Different users prefer different search engines
– Search results may, in the future, be biased
towards paid advertisements.
GOOGLE: City University
1.
2.
3.
4.
5.
6.
City University London - the University for business and the ...
... The University for business and the professions. Contact Us | About City University
| Maps & Directions, AZ Index | Site Map | Help. Prospective Students. ...
Description: Official site with information about courses, research, schools, and departments. Includes details...
City University Home
A University which believes in forward-thinking business and leadership skills, exposing students to the latest
technology in all courses of study.
Description: A private, nonprofit institution founded to serve working adults wanting to pursue educational
opportunit...
Welcome to Dublin City University
... here... Dublin City University, Dublin 9, Ireland. Tel. +353 (0) 1
700 5000, Fax. +353 (0) 1 836 0830. Page updated: 02/09/03 legal. ...
Description: Information on facilities, services, degree courses, research, the campus, student life, the library...
The City University of New York
Description: The University's Main Website.
City University of Hong Kong
AD Working Group lends staff, students an ear. Several issues still
evoked strong emotions as staff members and students voiced their ...
Description: Formerly the City Polytechnic of Hong Kong. Includes information on university, links to learning...
Welcome to Oklahoma City University
... At Oklahoma City University, our students come first. Our ... Oklahoma City
University offers a quality, values-centered education. United ...
Description: Admissions, academic programs and alumni relations, sports, services, news, calendar of events
and...
YAHOO
1.
2.
3.
4.
5.
6.
City University London - the University for business and the ...
... The University for business and the professions. Contact Us | About City University | Maps & Directions, AZ
Index | Site Map | Help. Prospective Students. ...
City University
A University which believes in forward-thinking business and leadership skills, exposing students to the latest
technology in all courses of study.
www.cityu.edu/ - 3k - Cached - More pages from this site
Dublin City University
... here... Dublin City University, Dublin 9, Ireland. Tel. +353 (0) 1 700 5000, Fax. +353 (0) 1 836 0830. Page
updated: 02/09/03 legal. ...
www.dcu.ie/ - 6k - Cached - More pages from this site
City University of New York
The University's Main Website.
www.cuny.edu/ - More pages from this site
City University of Hong Kong
AD Working Group lends staff, students an ear. Several issues still evoked strong emotions as staff members and
students voiced their ...
www.cityu.edu.hk/ - 26k - Cached - More pages from this site
Oklahoma City University
... At Oklahoma City University, our students come first. Our ... Oklahoma City University offers a quality,
values-centered education. United ...
www.okcu.edu/ - 20k - Cached - More pages from this site
AllTheWeb
1.
2.
3.
4.
5.
6.
Apartment Listings in University City (sponsored)
St. Louis, Missouri area apartment listings at Apartments.com. Free nationwide apartment search with
visual rental listings online.
http://www.apartments.com
City University - Washington (sponsored)
Contact information and resources such as yellow page information, phone number, address, maps and
directions as provided by QwestDex.
http://service.bfast.com
City University Apartments - Rent.com (sponsored)
Rent.com has millions of free apartment listings nationwide. Get $100 when you sign a lease near your
school - it's easy.
http://www.rent.com
City University London - the University for business and the professions
... Contact Us | About City University | Maps & Directions A-Z Index | Site Map | Help ...
Description: Official site with information about courses, research, schools, and departments. Includes
details of news and events.
more hits from: http://www.city.ac.uk/ - 13 KB
Flash Upgrade
Description: A University which believes in forward-thinking business and leadership skills, exposing
students to the latest technology in all courses of study.
http://www.cityu.edu/ - 27 KB
Welcome to Dublin City University
... KnowledgeWorks, wins DCU Mallin-invent award Full text you can go anywhere in the world from here...
Dublin City University, Dublin 9, Ireland. Tel. +353 (0) 1 700 5000, Fax. +353 (0) 1 836 0830. Page updated:
02/09/03 legal search ...
Description: Information on facilities, services, degree courses, research, the campus, student life, the
library and DCU news.
MSN Search
1.
2.
3.
4.
5.
6.
City University of New York Details the CUNY system's campuses and admissions
requirements. Eye photos of notable graduates such as actor Judd Hirsch.
www.cuny.edu
City University Offers prospectus, admissions, academic calendar, courses and degrees, and
news.
www.cityuniversity.net
City University Private, nonprofit institution located in Belleview, Washington, offers higher
education opportunities to working professionals and lifelong learners.
www.cityu.edu
Valley City University Admissions Site covers financial aid and tuition and offers a virtual
campus tour. Site also provides access to an online application.
www.vcsu.nodak.edu/admissions
Oklahoma City University The Oklahoma City University site contains information about
admissions, academic departments and student life. The site also provides library resources,
faculty information and news.
frodo.okcu.edu
Dublin City University, Dublin - TripAdvisor Browse reviews of the Dublin City University in
Dublin, County Dublin, Ireland. Check consumer reviews, articles and opinions about the
Dublin City University.
www.tripadvisor.com/Hotel_Review-g186605-d209093-Reviews-Dublin_City_U...
AOL Search
1.
2.
3.
4.
5.
6.
City University London - the University for business and the ... - ... The University for
business and the professions. Contact Us | About City University | Maps & Directions, AZ
Index | Site Map | Help. Prospective Students. ...
http://www.city.ac.uk/
City University Home - A University which believes in forward-thinking business and
leadership skills, exposing students to the latest technology in all courses of study.
http://www.cityu.edu/
Welcome to Dublin City University - ... here... Dublin City University, Dublin 9, Ireland. Tel.
+353 (0) 1 700 5000, Fax. +353 (0) 1 836 0830. Page updated: 02/09/03 legal. ...
http://www.dcu.ie/
http://www.cuny.edu/ - The University's Main Website.
http://www.cuny.edu/
City University of Hong Kong - AD Working Group lends staff, students an ear. Several
issues still evoked strong emotions as staff members and students voiced their ...
http://www.cityu.edu.hk/
Welcome to Oklahoma City University - ... At Oklahoma City University, our students come
first. Our ... Oklahoma City University offers a quality, values-centered education. United ...
http://www.okcu.edu/
Ask Jeeves
1.
2.
3.
4.
5.
6.
City University of Hong Kong Formerly the City Polytechnic of Hong Kong.
Includes information on university, links to learning resources, research and
departmental information.....From:www.cityu.edu.hk/
City University Text Version. The University for business and the professions
... Contact Us | About City University | Maps & Directions A-Z Index | Site
Map | Help...From:www.city.ac.uk/
New Jersey City University Official site includes graduate and undergraduate
information, news, events, online learning, calendars, and
athletics.From:www.njcu.edu/
Elizabeth City State University Admission Application Introduction 20042005 APPLICATION FOR ADMISSION. Welcome to the Elizabeth City State
University Online Application. New
Freshmen...From:www.ncmentor.org/applications/unc/apply/elizabeth_city
_state_univ...
City University A University which believes in forward-thinking business and
leadership skills, exposing students to the latest technology in all courses of
study.From:www.cityu.edu/
The City College of New York City College of New York (CUNY) A senior
college of The City University of New York. Located in Manhattan. 138th
Street at Convent Avenue. A Harlem masterpiece in the neoGothic...From:www.ccny.cuny.edu/
HotBot
1. City University of New York
Details the CUNY system's campuses and admissions requirements. Eye photos of notable
graduates such as actor Judd Hirsch.
www.cuny.edu/ - August 10, 2003 - 25 KB
2. City University
Private, nonprofit institution located in Belleview, Washington, offers higher education
opportunities to working professionals and lifelong learners.
www.cityu.edu/ - August 23, 2003 - 27 KB
3. New Jersey City University
Explore the course requirements for this liberal arts institution. Link to admissions and
financial aid information. ... New Jersey City University. 2039 Kennedy Boulevard Jersey
City, New Jersey 07305-1597 ...
www.njcu.edu/ - November 1, 2003 - 20 KB
4. City University London - the University for business and the...
... Contact Us | About City University | Maps & Directions. A-Z Index | Site Map | Help ...
www.city.ac.uk/ - September 28, 2003 - 14 KB
5. Oklahoma City University
Take a tour of the campus, and explore a roster of academic programs. ... At Oklahoma
City University, our students come first. ...
www.okcu.edu/ - October 26, 2003 - 20 KB
6. University of Missouri, Kansas City
University based in Kansas City, Missouri, presents and overview of its academic
programs, and offers campus news. ... UNIVERSITY OF MISSOURI-KANSAS CITY. Bulletin.
Winter 2004 Fee Update, more... ...
www.umkc.edu/ - October 23, 2003 - 16 KB
Lycos
1. City University London - the University for business and the...
… Contact Us | About City University | Maps & Directions A-Z Index | Site Map | Help …
More results from: www.city.ac.uk September 16, 2003 - 14 KB
2. Flash Upgrade
A University which believes in forward-thinking business and leadership skills, exposing
students to the latest technology in all courses of study.
www.cityu.edu November 1, 2003 - 27 KB
3. The City University of New York
The University's Main Website.
www.cuny.edu December 31, 1969 - 121 B
4. Welcome to Dublin City University
… KnowledgeWorks, wins DCU Mallin-invent award Full text you can go anywhere in the
world from here... Dublin City University , Dublin 9, Ireland. Tel. +353 (0) 1 700 5000,
Fax. +353 (0) 1 836...
More results from: www.dcu.ie October 29, 2003 - 5 KB
5. City University of Hong Kong
Formerly the City Polytechnic of Hong Kong. Includes information on university, links to
learning resources, research and departmental information and student information.
More results from: www.cityu.edu.hk October 29, 2003 - 26 KB
6. HCU HomePage -English… contact us For any suggestion and requests to this web site, www-admin@hiroshimacu.ac.jp Feel free to link this web site. Hiroshima City University
More results from: www.hiroshima-cu.ac.jp May 11, 2003 - 26 KB
Teoma
1.
City University of Hong Kong Formerly the City Polytechnic of Hong Kong. Includes
information on university, links to learning resources, research and departmental
information...www.cityu.edu.hk/
[Related Pages]
[More Results from www.cityu.edu.hk]
2.
City University Text Version. The University for business and the professions ... Contact Us
| About City University | Maps & Directions A-Z Index | Site Map | Help...www.city.ac.uk/
[More Results from www.city.ac.uk]
3.
New Jersey City University Official site includes graduate and undergraduate information,
news, events, online learning, calendars, and athletics.www.njcu.edu/
[Related Pages]
[More Results from www.njcu.edu]
4.
Elizabeth City State University Admission Application Introduction 2004-2005
APPLICATION FOR ADMISSION. Welcome to the Elizabeth City State University Online
Application. New Freshmen...www.ncmentor.org/applications/unc/apply/el...
5.
City University A University which believes in forward-thinking business and leadership
skills, exposing students to the latest technology in all courses of study.www.cityu.edu/
6.
The City College of New York City College of New York (CUNY) A senior college of The City
University of New York. Located in Manhattan. 138th Street at Convent Avenue. A Harlem
masterpiece in the neo-Gothic...www.ccny.cuny.edu/
[More Results from www.ccny.cuny.edu]
MetaSearch Engine
• Metasearch Engines are designed to
increase the coverage of web by forwarding
users’ queries to multiple search engines
– Users’ requests are sent to multiple search
engines such as AlltheWeb, Google, MSN.
• Then the results from the individual search
engine are combined into a single result set
to present to users.
Longest common subsequence
• Definition 1: Given a sequence X=x1x2...xm,
another sequence Z=z1z2...zk is a
subsequence of X if there exists a strictly
increasing sequence i1i2...ik of indices of X
such that for all j=1,2,...k, we have xij=zj.
• Example 1: If X=abcdefg, Z=abdg is a
subsequence of X.
X=abcdefg,
Z=ab d g
• Definition 2: Given two sequences X
and Y, a sequence Z is a common
subsequence of X and Y if Z is a
subsequence of both X and Y.
• Example 2: X=abcdefg and Y=aaadgfd.
Z=adf is a common subsequence of X
and Y.
X=abc defg
Y=aaaadgfd
Z=a d f
• Definition 3: A longest common
subsequence of X and Y is a common
subsequence of X and Y with the
longest length. (The length of a
sequence is the number of letters in the
seuqence.)
• Longest common subsequence may
not be unique.
• Example: abcd
acbd
Both acd and abd are LCS.
Longest common subsequence problem
• Input:
Two sequences X=x1x2...xm, and
Y=y1y2...yn.
• Output: a longest common subsequence of X and Y.
• A brute-force approach
Suppose that mn. Try all subsequence of X
(There are 2m subsequence of X), test if such a
subsequence is also a subsequence of Y, and
select the one with the longest length.
Charactering a longest common
subsequence
• Theorem (Optimal substructure of an LCS)
• Let X=x1x2...xm, and Y=y1y2...yn be two
sequences, and
• Z=z1z2...zk be any LCS of X and Y.
• 1. If xm=yn, then zk=xm=yn and Z[1..k-1] is an
LCS of X[1..m-1] and Y[1..n-1].
• 2. If xm yn, then zkxm implies that Z is an LCS
of X[1..m-1] and Y.
• 2. If xm yn, then zkyn implies that Z is an LCS
of X and Y[1..n-1].
The recursive equation
• Let c[i,j] be the length of an LCS of X[1...i] and
X[1...j].
• c[i,j] can be computed as follows:
0
if i=0 or j=0,
c[i,j]= c[i-1,j-1]+1
if i,j>0 and xi=yj,
max{c[i,j-1],c[i-1,j]} if i,j>0 and xiyj.
Computing the length of an LCS
• There are nm c[i,j]’s. So we can compute them
in a specific order.
The algorithm to compute an LCS
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
1. for i=1 to m do
2.
c[i,0]=0;
3. for j=0 to n do
4.
c[0,j]=0;
5. for i=1 to m do
6.
for j=1 to n do
7.
{
8.
if x[I] ==y[j] then
9.
c[i,j]=c[i-1,j-1]=1;
10
b[i,j]=1;
11.
else
if c[i-1,j]>=c[i,j-1] then
12.
c[i,j]=c[i-1,j]
13.
b[i,j]=2;
14.
else c[i,j]=c[i,j-1]
15.
b[i,j]=3;
14
}
Example 3: X=BDCABA and Y=ABCBDAB.
Constructing an LCS (back-tracking)
• We can find an LCS using b[i,j]’s.
• We start with b[n,m] and track back to some cell b[0,i] or
b[i,0].
• The algorithm to construct an LCS
1.
2.
3.
4.
i=m
j=n;
if i==0 or j==0 then exit;
if b[i,j]==1 then
{
i=i-1;
j=j-1;
print “xi”;
}
5. if b[i,j]==2
i=i-1
6. if b[i,j]==3
j=j-1
7. Goto Step 3.
• The time complexity: O(nm).
Shortest common supersequence
• Definition: Let X and Y be two sequences. A
sequence Z is a supersequence of X and Y if
both X and Y are subsequence of Z.
• Shortest common supersequence problem:
Input: Two sequences X and Y.
Output: a shortest common supersequence of X and Y.
• Example: X=abc and Y=abb. Both abbc and
abcb are the shortest common supersequences
for X and Y.
Recursive Equation:
• Let c[i,j] be the length of an LCS of
X[1...i] and X[1...j].
• c[i,j] can be computed as follows:
c[i,j]=
j
if i=0
i
if j=0,
c[i-1,j-1]+1
if i,j>0 and xi=yj,
min{c[i,j-1]+1,c[i-1,j]+1} if i,j>0 and xiyj.
Download