Objec&ves. Review. Dynamic Programming. What is the knapsack problem? What is our solu&on? Ø Review Knapsack Ø Sequence Alignment 3/28/18
|
|
- Avis Willis
- 5 years ago
- Views:
Transcription
1 /8/8 Objec&ves Dynamic Programming Ø Review Knapsack Ø Sequence Alignment Mar 8, 8 CSCI - Sprenkle Review What is the knapsack problem? What is our solu&on? Mar 8, 8 CSCI - Sprenkle
2 /8/8 Dynamic Programming: Adding a New Variable Def. OPT(i, w) = max profit subset of items,, i with weight limit w Ø Case : OPT does not select item i OPT selects best of {,,, i- } using weight limit w Ø Case : OPT selects item i new weight limit = w w i OPT selects best of {,,, i } using new weight limit, w w i # if i = % OPT(i, w) = $ OPT(i, w) if w i > w % max OPT(i, w), v Mar 8, 8 & { CSCI - Sprenkle i + OPT(i, w w i )} otherwise Knapsack Problem: Bo^om-Up Fill up an n-by-w array Input: W, N, w,,w N, v,,v N for w = to W M[, w] = for i = to N # for all items for w = to W # for all possible weights if w i > w : # item s weight is more than available M[i, w] = M[i-, w] else M[i, w] = max{ M[i-, w], v i + M[i-, w-w i ] } return M[N, W] Mar 8, 8 CSCI - Sprenkle
3 /8/8 Knapsack Input W = Item Value Weight 8 8 Mar 8, 8 CSCI - Sprenkle Knapsack Algorithm i = W φ n + { } {, } {,, } {,,, } {,,,, } OPT: Solution = W = Value 8 Mar 8, 8 CSCI - Sprenkle Item 8 Weight
4 /8/8 Knapsack Algorithm i = W φ n + { } {, } {,, } {,,, } {,,,, } Observations? Questions from last time? W = Value 8 Mar 8, 8 CSCI - Sprenkle Item 8 Weight Knapsack Algorithm i = W φ n + { } {, } {,, } {,,, } {,,,, } OPT: Solution = What is the optimal solution? W = Value 8 Mar 8, 8 CSCI - Sprenkle 8 Item 8 Weight
5 /8/8 Knapsack Algorithm W φ n + { } {, } {,, } {,,, } {,,,, } OPT: = + 8 Solution={, } W = Value 8 Mar 8, 8 CSCI - Sprenkle 9 Item 8 Weight SEQUENCE ALIGNMENT Mar 8, 8 CSCI - Sprenkle
6 /8/8 String Similarity How similar are two strings? Ø ocurrance Ø occurrence Measurements Ø Gap (-): add a le^er Ø Mismatch o c u r r a n c e - o c c u r r e n c e mismatches, gap o c - u r r a n c e o c c u r r e n c e mismatch, gap Which is the best alignment? o c - u r r - a n c e o c c u r r e - n c e mismatches, gaps Mar 8, 8 CSCI - Sprenkle Edit Distance [Levenshtein 9, Needleman-Wunsch 9] Ø Gap penalty: δ Parameters allow us to tweak cost Ø Mismatch penalty: α pq If p and q are the same, then mismatch penalty is Ø Cost = sum of gap and mismatch penal&es C T G A C C T A C C T - C T G A C C T A C C T C C T G A C T A C A T α TC + α GT + α AG + α CA C C T G A C - T A C A T δ + α CA Mar 8, 8 CSCI - Sprenkle
7 /8/8 Sequence Alignment Goal: Given two strings X = x x... x m and Y = y y... y n find alignment of minimum cost An alignment M is a set of ordered pairs x i -y j such that each item occurs in at most one pair and no crossings The pair x i -y j and x i' -y j' cross if i < i', but j > j. o c c u r e r n c e o c c u r e r n c e o c c u r r e n c e o c c u r r e n c e crossing mismatches Mar 8, 8 CSCI - Sprenkle Sequence Alignment Example X = CTACCG Y = TACATG Solu&on: M = x -y, x -y, x -y, x -y, x -y x x x x x x C T A C C - G - T A C A T G y y y y y y cost( M ) = α xi y j (x i, y j ) M mismatch + δ + δ i : x i unmatched j : y j unmatched gap Recall: mismatch penalty is if x i and y j are the same Mar 8, 8 CSCI - Sprenkle
8 /8/8 Sequence Alignment Case Analysis Consider last character of the strings X and Y: x M and y N Ø M and N are not necessarily equal i.e., strings are not necessarily the same length What are the possibili&es for x M and y N in terms of the alignment? x y Mar 8, 8 CSCI - Sprenkle Sequence Alignment Case Analysis Consider last character of strings X and Y: x M and y N Ø Case : x M and y N are aligned Ø Case : x M is not matched Ø Case : y N is not matched x y Formulate the optimal solution s value Mar 8, 8 CSCI - Sprenkle 8
9 /8/8 Sequence Alignment Case Analysis Consider last character of strings X and Y: x M and y N Ø Case : x M and y N are aligned Ø Case : x M is not matched Ø Case : y N is not matched x y OPT(i, j) = min cost of aligning strings x x... x i and y y... y j What are the costs for these cases? Mar 8, 8 CSCI - Sprenkle Sequence Alignment Cost Analysis Consider last character of strings X and Y: x M and y N Ø Case : x M and y N are aligned Pay mismatch for x M -y N + min cost of aligning rest of strings OPT(M, N) = α XmYn + OPT(M-, N-) Ø Case : x M is not matched Pay gap for x M + min cost of aligning rest of strings OPT(M, N) = δ + OPT(M-, N) Ø Case : y N is not matched Pay gap for y N + min cost of aligning rest of strings OPT(M, N) = δ + OPT(M, N-) Mar 8, 8 CSCI - Sprenkle 8 9
10 /8/8 Sequence Alignment Cost Analysis Base costs? à i or j is Ø What happens when we run out of le^ers in one string before the other? X = CTACCG Y = TACTG Mar 8, 8 CSCI - Sprenkle 9 Sequence Alignment: Problem Structure Gaps for remainder of Y " $ $ OPT(i, j) = # $ % $ jδ if i = " α xi y j + OPT(i, j ) $ min # δ + OPT(i, j) otherwise $ % δ + OPT(i, j ) iδ if j = Ran out of st string Ran out of nd string Gaps for remainder of X Mar 8, 8 CSCI - Sprenkle
11 /8/8 Sequence Alignment: Algorithm Cost parameters Sequence-Alignment(m, n, x x...x m, y y...y n, δ, α) for i = to m M[i, ] = iδ for j = to n M[, j] = jδ for i = to m for j = to n M[i, j] = min(α[x i, y j ] + M[i-, j-], δ + M[i-, j], δ + M[i, j-]) return M[m, n] Mar 8, 8 CSCI - Sprenkle Example α =, for vowel mismatch α =, for other mismatches δ = i X = bait b o o t j Y = boot b a i t Mar 8, 8 CSCI - Sprenkle
12 /8/8 Example X = bait Y = boot α =, for vowel mismatch α =, for other mismatches δ = i b o o t 8 j b a i t 8 Mar 8, 8 CSCI - Sprenkle Example X = bait Y = boot α =, for vowel mismatch α =, for other mismatches δ = i b a i t 8 b o o t 8 j Mar 8, 8 CSCI - Sprenkle
13 /8/8 Example X = bait Y = boot α =, for vowel mismatch α =, for other mismatches δ = i b a i t 8 b o o t 8 j Mar 8, 8 CSCI - Sprenkle Example X = bait Y = boot α =, for vowel mismatch α =, for other mismatches δ = i b a i t 8 b o o t 8 j Mar 8, 8 CSCI - Sprenkle
14 /8/8 Example What is the value for the problem? What is the solution? X = bait Y = boot α =, for vowel mismatch α =, for other mismatches δ = i j b a i t 8 b o o t 8 Mar 8, 8 CSCI - Sprenkle Example X = bait Y = boot α =, for vowel mismatch α =, for other mismatches δ = i j b a i t 8 b o o t 8 Mar 8, 8 CSCI - Sprenkle 8
15 /8/8 Sequence Alignment: Analysis Sequence-Alignment(m, n, x x...x m, y y...y n, δ, α) for i = to m M[, i] = iδ for j = to n M[j, ] = jδ O(mn) for i = to m for j = to n M[i, j] = min(α[x i, y j ] + M[i-, j-], δ + M[i-, j], δ + M[i, j-]) return M[m, n] Costs? Mar 8, 8 CSCI - Sprenkle Sequence Alignment: Algorithm Sequence-Alignment(m, n, x x...x m, y y...y n, δ, α) for i = to m M[, i] = iδ for j = to n M[j, ] = jδ for i = to m for j = to n M[i, j] = min(α[x i, y j ] + M[i-, j-], δ + M[i-, j], δ + M[i, j-]) return M[m, n] What are the space costs? When computing M[i,j], which entries in M are used? Mar 8, 8 CSCI - Sprenkle
16 /8/8 Sequence Alignment: Analysis Sequence-Alignment(m, n, x x...x m, y y...y n, δ, α) for i = to m M[, i] = iδ for j = to n M[j, ] = jδ Space Cost: O(mn) for i = to m for j = to n M[i, j] = min(α[x i, y j ] + M[i-, j-], δ + M[i-, j], δ + M[i, j-]) return M[m, n] Observation: to calculate the current value, we only need the row above us and the entry to the left Mar 8, 8 CSCI - Sprenkle SEQUENCE ALIGNMENT IN LINEAR SPACE Mar 8, 8 CSCI - Sprenkle
17 /8/8 Sequence Alignment: O(m) Space Collapse into an m x array Ø M[i,] represents previous row; M[i,] -- current Space-Efficient-Alignment(m, n, x x...x m, y y...y n, δ, α) for i = to m # initialize first row M[i, ] = iδ for j = to n M[, ] = jδ # first gap for i = to m M[i, ] = min(α[x i, y j ] + M[i-, ], δ + M[i, ], δ + M[i-, ]) for i = to m # copy current row into previous M[i, ] = M[i, ] return M[m, ] Any drawbacks? Mar 8, 8 CSCI - Sprenkle Sequence Alignment: O(m) Space Collapse into an m x array Ø M[i,] represents previous row; M[i,] -- current Space-Efficient-Alignment(m, n, x x...x m, y y...y n, δ, α) for i = to m # initialize first row M[i, ] = iδ for j = to n M[, ] = jδ # first gap for i = to m M[i, ] = min(α[x i, y j ] + M[i-, ], δ + M[i, ], δ + M[i-, ]) for i = to m # copy current row into previous M[i, ] = M[i, ] return M[m, ] Finds optimal value but will not be able to find alignment Mar 8, 8 CSCI - Sprenkle
18 /8/8 Why Do We Care About Space? For English words or sentences, probably doesn t ma^er Ma^ers for Biological sequence alignment Ø Consider: strings with, symbols each Processor can do billion primi&ve opera&ons BUT dealing with a GB array Mar 8, 8 CSCI - Sprenkle Sequence Alignment: Linear Space Can we avoid using quadra&c space? Ø Op&mal value in O(m) space and O(mn) &me. Compute OPT(i, ) from OPT(i-, ) BUT, no simple way to recover alignment itself Theorem. [Hirschberg 9] Op&mal alignment in O(m + n) space and O(mn) &me. Ø Clever combina&on of divide-and-conquer and dynamic programming Ø Sec&on. Mar 8, 8 CSCI - Sprenkle 8
19 /8/8 Looking Ahead PS8 Mar 8, 8 CSCI - Sprenkle 9
6.6 Sequence Alignment
6.6 Sequence Alignment String Similarity How similar are two strings? ocurrance o c u r r a n c e - occurrence First model the problem Q. How can we measure the distance? o c c u r r e n c e 6 mismatches,
More informationCSE 202 Dynamic Programming II
CSE 202 Dynamic Programming II Chapter 6 Dynamic Programming Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithmic Paradigms Greed. Build up a solution incrementally,
More informationChapter 6. Dynamic Programming. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 6 Dynamic Programming Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithmic Paradigms Greed. Build up a solution incrementally, myopically optimizing
More informationCS 580: Algorithm Design and Analysis
CS 58: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 28 Announcement: Homework 3 due February 5 th at :59PM Midterm Exam: Wed, Feb 2 (8PM-PM) @ MTHW 2 Recap: Dynamic Programming
More informationChapter 6. Dynamic Programming. CS 350: Winter 2018
Chapter 6 Dynamic Programming CS 350: Winter 2018 1 Algorithmic Paradigms Greedy. Build up a solution incrementally, myopically optimizing some local criterion. Divide-and-conquer. Break up a problem into
More informationDynamic Programming. Weighted Interval Scheduling. Algorithmic Paradigms. Dynamic Programming
lgorithmic Paradigms Dynamic Programming reed Build up a solution incrementally, myopically optimizing some local criterion Divide-and-conquer Break up a problem into two sub-problems, solve each sub-problem
More informationCopyright 2000, Kevin Wayne 1
/9/ lgorithmic Paradigms hapter Dynamic Programming reed. Build up a solution incrementally, myopically optimizing some local criterion. Divide-and-conquer. Break up a problem into two sub-problems, solve
More information6. DYNAMIC PROGRAMMING II
6. DYNAMIC PROGRAMMING II sequence alignment Hirschberg's algorithm Bellman-Ford algorithm distance vector protocols negative cycles in a digraph Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison
More informationChapter 6. Weighted Interval Scheduling. Dynamic Programming. Algorithmic Paradigms. Dynamic Programming Applications
lgorithmic Paradigms hapter Dynamic Programming reedy. Build up a solution incrementally, myopically optimizing some local criterion. Divide-and-conquer. Break up a problem into sub-problems, solve each
More informationAreas. ! Bioinformatics. ! Control theory. ! Information theory. ! Operations research. ! Computer science: theory, graphics, AI, systems,.
lgorithmic Paradigms hapter Dynamic Programming reed Build up a solution incrementally, myopically optimizing some local criterion Divide-and-conquer Break up a problem into two sub-problems, solve each
More informationChapter 6. Dynamic Programming. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 6 Dynamic Programming Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Algorithmic Paradigms Greed. Build up a solution incrementally, myopically optimizing some
More informationMore Dynamic Programming
CS 374: Algorithms & Models of Computation, Spring 2017 More Dynamic Programming Lecture 14 March 9, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 What is the running time of the following? Consider
More informationMore Dynamic Programming
Algorithms & Models of Computation CS/ECE 374, Fall 2017 More Dynamic Programming Lecture 14 Tuesday, October 17, 2017 Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 48 What is the running time of the following?
More informationChapter 6. Dynamic Programming. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 6 Dynamic Programming Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithmic Paradigms Greed. Build up a solution incrementally, myopically optimizing
More informationAside: Golden Ratio. Golden Ratio: A universal law. Golden ratio φ = lim n = 1+ b n = a n 1. a n+1 = a n + b n, a n+b n a n
Aside: Golden Ratio Golden Ratio: A universal law. Golden ratio φ = lim n a n+b n a n = 1+ 5 2 a n+1 = a n + b n, b n = a n 1 Ruta (UIUC) CS473 1 Spring 2018 1 / 41 CS 473: Algorithms, Spring 2018 Dynamic
More informationOutline DP paradigm Discrete optimisation Viterbi algorithm DP: 0 1 Knapsack. Dynamic Programming. Georgy Gimel farb
Outline DP paradigm Discrete optimisation Viterbi algorithm DP: Knapsack Dynamic Programming Georgy Gimel farb (with basic contributions by Michael J. Dinneen) COMPSCI 69 Computational Science / Outline
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 18 Dynamic Programming (Segmented LS recap) Longest Common Subsequence Adam Smith Segmented Least Squares Least squares. Foundational problem in statistic and numerical
More informationAlgoritmi e strutture di dati 2
Algoritmi e strutture di dati 2 Paola Vocca Lezione 5: Allineamento di sequenze Lezione 5 - Allineamento di sequenze 1 Allineamento sequenze Struttura secondaria dell RNA Algoritmi e strutture di dati
More informationBio nformatics. Lecture 3. Saad Mneimneh
Bio nformatics Lecture 3 Sequencing As before, DNA is cut into small ( 0.4KB) fragments and a clone library is formed. Biological experiments allow to read a certain number of these short fragments per
More informationDynamic Programming. Cormen et. al. IV 15
Dynamic Programming Cormen et. al. IV 5 Dynamic Programming Applications Areas. Bioinformatics. Control theory. Operations research. Some famous dynamic programming algorithms. Unix diff for comparing
More informationComputational Biology Lecture 5: Time speedup, General gap penalty function Saad Mneimneh
Computational Biology Lecture 5: ime speedup, General gap penalty function Saad Mneimneh We saw earlier that it is possible to compute optimal global alignments in linear space (it can also be done for
More informationObjec&ves. Review. Divide and conquer algorithms
Objec&ves Divide and conquer algorithms Ø Recurrence rela&ons Ø Coun&ng inversions March 9, 2018 CSCI211 - Sprenkle 1 Review What approach are we learning to solve problems (as of Wednesday)? What is a
More informationSequence Comparison. mouse human
Sequence Comparison Sequence Comparison mouse human Why Compare Sequences? The first fact of biological sequence analysis In biomolecular sequences (DNA, RNA, or amino acid sequences), high sequence similarity
More informationLecture 4: September 19
CSCI1810: Computational Molecular Biology Fall 2017 Lecture 4: September 19 Lecturer: Sorin Istrail Scribe: Cyrus Cousins Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes
More informationLecture 5: September Time Complexity Analysis of Local Alignment
CSCI1810: Computational Molecular Biology Fall 2017 Lecture 5: September 21 Lecturer: Sorin Istrail Scribe: Cyrus Cousins Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes
More informationCSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo
CSE 431/531: Analysis of Algorithms Dynamic Programming Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Paradigms for Designing Algorithms Greedy algorithm Make a
More informationLecture 2: Pairwise Alignment. CG Ron Shamir
Lecture 2: Pairwise Alignment 1 Main source 2 Why compare sequences? Human hexosaminidase A vs Mouse hexosaminidase A 3 www.mathworks.com/.../jan04/bio_genome.html Sequence Alignment עימוד רצפים The problem:
More informationPair Hidden Markov Models
Pair Hidden Markov Models Scribe: Rishi Bedi Lecturer: Serafim Batzoglou January 29, 2015 1 Recap of HMMs alphabet: Σ = {b 1,...b M } set of states: Q = {1,..., K} transition probabilities: A = [a ij ]
More informationReview Asympto&c Bounds
Objec&ves Review: Asympto&c running &mes Classes of running &mes Implemen&ng Gale-Shapley algorithm Office hours: Today, 2:35-2:55, 5-5:50 p.m. Thursday: 1 5 p.m. Faculty Candidate Talk - Today at 4 p.m.
More informationAnalysis and Design of Algorithms Dynamic Programming
Analysis and Design of Algorithms Dynamic Programming Lecture Notes by Dr. Wang, Rui Fall 2008 Department of Computer Science Ocean University of China November 6, 2009 Introduction 2 Introduction..................................................................
More informationDynamic Programming: Interval Scheduling and Knapsack
Dynamic Programming: Interval Scheduling and Knapsack . Weighted Interval Scheduling Weighted Interval Scheduling Weighted interval scheduling problem. Job j starts at s j, finishes at f j, and has weight
More informationCopyright 2000, Kevin Wayne 1
//8 Fast Integer Division Too (!) Schönhage Strassen algorithm CS 8: Algorithm Design and Analysis Integer division. Given two n-bit (or less) integers s and t, compute quotient q = s / t and remainder
More informationOutline. Approximation: Theory and Algorithms. Motivation. Outline. The String Edit Distance. Nikolaus Augsten. Unit 2 March 6, 2009
Outline Approximation: Theory and Algorithms The Nikolaus Augsten Free University of Bozen-Bolzano Faculty of Computer Science DIS Unit 2 March 6, 2009 1 Nikolaus Augsten (DIS) Approximation: Theory and
More informationCS 580: Algorithm Design and Analysis
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 208 Announcement: Homework 3 due February 5 th at :59PM Final Exam (Tentative): Thursday, May 3 @ 8AM (PHYS 203) Recap: Divide
More informationCSE 421 Dynamic Programming
CSE Dynamic Programming Yin Tat Lee Weighted Interval Scheduling Interval Scheduling Job j starts at s(j) and finishes at f j and has weight w j Two jobs compatible if they don t overlap. Goal: find maximum
More informationSolving and Graphing Inequalities Joined by And or Or
Solving and Graphing Inequalities Joined by And or Or Classwork 1. Zara solved the inequality 18 < 3x 9 as shown below. Was she correct? 18 < 3x 9 27 < 3x 9 < x or x> 9 2. Consider the compound inequality
More informationPairwise alignment, Gunnar Klau, November 9, 2005, 16:
Pairwise alignment, Gunnar Klau, November 9, 2005, 16:36 2012 2.1 Growth rates For biological sequence analysis, we prefer algorithms that have time and space requirements that are linear in the length
More informationDynamic Programming( Weighted Interval Scheduling)
Dynamic Programming( Weighted Interval Scheduling) 17 November, 2016 Dynamic Programming 1 Dynamic programming algorithms are used for optimization (for example, finding the shortest path between two points,
More informationOutline. Similarity Search. Outline. Motivation. The String Edit Distance
Outline Similarity Search The Nikolaus Augsten nikolaus.augsten@sbg.ac.at Department of Computer Sciences University of Salzburg 1 http://dbresearch.uni-salzburg.at WS 2017/2018 Version March 12, 2018
More informationApproximation: Theory and Algorithms
Approximation: Theory and Algorithms The String Edit Distance Nikolaus Augsten Free University of Bozen-Bolzano Faculty of Computer Science DIS Unit 2 March 6, 2009 Nikolaus Augsten (DIS) Approximation:
More informationObjec&ves. Review. Data structure: Heaps Data structure: Graphs. What is a priority queue? What is a heap?
Objec&ves Data structure: Heaps Data structure: Graphs Submit problem set 2 1 Review What is a priority queue? What is a heap? Ø Proper&es Ø Implementa&on What is the process for finding the smallest element
More informationDynamic Programming. Prof. S.J. Soni
Dynamic Programming Prof. S.J. Soni Idea is Very Simple.. Introduction void calculating the same thing twice, usually by keeping a table of known results that fills up as subinstances are solved. Dynamic
More informationSimilarity Search. The String Edit Distance. Nikolaus Augsten. Free University of Bozen-Bolzano Faculty of Computer Science DIS. Unit 2 March 8, 2012
Similarity Search The String Edit Distance Nikolaus Augsten Free University of Bozen-Bolzano Faculty of Computer Science DIS Unit 2 March 8, 2012 Nikolaus Augsten (DIS) Similarity Search Unit 2 March 8,
More informationCMPSCI 311: Introduction to Algorithms Second Midterm Exam
CMPSCI 311: Introduction to Algorithms Second Midterm Exam April 11, 2018. Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more
More informationSimilarity Search. The String Edit Distance. Nikolaus Augsten.
Similarity Search The String Edit Distance Nikolaus Augsten nikolaus.augsten@sbg.ac.at Dept. of Computer Sciences University of Salzburg http://dbresearch.uni-salzburg.at Version October 18, 2016 Wintersemester
More informationPairwise sequence alignment
Department of Evolutionary Biology Example Alignment between very similar human alpha- and beta globins: GSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKL G+ +VK+HGKKV A+++++AH+D++ +++++LS+LH KL GNPKVKAHGKKVLGAFSDGLAHLDNLKGTFATLSELHCDKL
More information6. DYNAMIC PROGRAMMING I
6. DYNAMIC PROGRAMMING I weighted interval scheduling segmented least squares knapsack problem RNA secondary structure Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013
More informationAlgorithms in Bioinformatics FOUR Pairwise Sequence Alignment. Pairwise Sequence Alignment. Convention: DNA Sequences 5. Sequence Alignment
Algorithms in Bioinformatics FOUR Sami Khuri Department of Computer Science San José State University Pairwise Sequence Alignment Homology Similarity Global string alignment Local string alignment Dot
More informationLecture 1, 31/10/2001: Introduction to sequence alignment. The Needleman-Wunsch algorithm for global sequence alignment: description and properties
Lecture 1, 31/10/2001: Introduction to sequence alignment The Needleman-Wunsch algorithm for global sequence alignment: description and properties 1 Computational sequence-analysis The major goal of computational
More informationDynamic programming. Curs 2015
Dynamic programming. Curs 2015 Fibonacci Recurrence. n-th Fibonacci Term INPUT: n nat QUESTION: Compute F n = F n 1 + F n 2 Recursive Fibonacci (n) if n = 0 then return 0 else if n = 1 then return 1 else
More informationAlgorithms in Bioinformatics
Algorithms in Bioinformatics Sami Khuri Department of omputer Science San José State University San José, alifornia, USA khuri@cs.sjsu.edu www.cs.sjsu.edu/faculty/khuri Pairwise Sequence Alignment Homology
More informationMinimum Edit Distance. Defini'on of Minimum Edit Distance
Minimum Edit Distance Defini'on of Minimum Edit Distance How similar are two strings? Spell correc'on The user typed graffe Which is closest? graf gra@ grail giraffe Computa'onal Biology Align two sequences
More informationDynamic Programming. Data Structures and Algorithms Andrei Bulatov
Dynamic Programming Data Structures and Algorithms Andrei Bulatov Algorithms Dynamic Programming 18-2 Weighted Interval Scheduling Weighted interval scheduling problem. Instance A set of n jobs. Job j
More information6. DYNAMIC PROGRAMMING I
6. DYNAMIC PRORAMMIN I weighted interval scheduling segmented least squares knapsack problem RNA secondary structure Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos
More informationCSE 421 Weighted Interval Scheduling, Knapsack, RNA Secondary Structure
CSE Weighted Interval Scheduling, Knapsack, RNA Secondary Structure Shayan Oveis haran Weighted Interval Scheduling Interval Scheduling Job j starts at s(j) and finishes at f j and has weight w j Two jobs
More informationA Survey of the Longest Common Subsequence Problem and Its. Related Problems
Survey of the Longest Common Subsequence Problem and Its Related Problems Survey of the Longest Common Subsequence Problem and Its Related Problems Thesis Submitted to the Faculty of Department of Computer
More informationSara C. Madeira. Universidade da Beira Interior. (Thanks to Ana Teresa Freitas, IST for useful resources on this subject)
Bioinformática Sequence Alignment Pairwise Sequence Alignment Universidade da Beira Interior (Thanks to Ana Teresa Freitas, IST for useful resources on this subject) 1 16/3/29 & 23/3/29 27/4/29 Outline
More informationComputa(on of Similarity Similarity Search as Computa(on. Stoyan Mihov and Klaus U. Schulz
Computa(on of Similarity Similarity Search as Computa(on Stoyan Mihov and Klaus U. Schulz Roadmap What is similarity computa(on? NLP examples of similarity computa(on Machine transla(on Speech recogni(on
More informationEfficient High-Similarity String Comparison: The Waterfall Algorithm
Efficient High-Similarity String Comparison: The Waterfall Algorithm Alexander Tiskin Department of Computer Science University of Warwick http://go.warwick.ac.uk/alextiskin Alexander Tiskin (Warwick)
More informationImplementing Approximate Regularities
Implementing Approximate Regularities Manolis Christodoulakis Costas S. Iliopoulos Department of Computer Science King s College London Kunsoo Park School of Computer Science and Engineering, Seoul National
More informationCS325: Analysis of Algorithms, Fall Final Exam
CS: Analysis of Algorithms, Fall 0 Final Exam I don t know policy: you may write I don t know and nothing else to answer a question and receive percent of the total points for that problem whereas a completely
More informationPairwise Alignment. Guan-Shieng Huang. Dept. of CSIE, NCNU. Pairwise Alignment p.1/55
Pairwise Alignment Guan-Shieng Huang shieng@ncnu.edu.tw Dept. of CSIE, NCNU Pairwise Alignment p.1/55 Approach 1. Problem definition 2. Computational method (algorithms) 3. Complexity and performance Pairwise
More information20 Grundlagen der Bioinformatik, SS 08, D. Huson, May 27, Global and local alignment of two sequences using dynamic programming
20 Grundlagen der Bioinformatik, SS 08, D. Huson, May 27, 2008 4 Pairwise alignment We will discuss: 1. Strings 2. Dot matrix method for comparing sequences 3. Edit distance 4. Global and local alignment
More informationSequence Alignment (chapter 6)
Sequence lignment (chapter 6) he biological problem lobal alignment Local alignment Multiple alignment Introduction to bioinformatics, utumn 6 Background: comparative genomics Basic question in biology:
More informationDynamic programming. Curs 2017
Dynamic programming. Curs 2017 Fibonacci Recurrence. n-th Fibonacci Term INPUT: n nat QUESTION: Compute F n = F n 1 + F n 2 Recursive Fibonacci (n) if n = 0 then return 0 else if n = 1 then return 1 else
More informationA Simple Linear Space Algorithm for Computing a Longest Common Increasing Subsequence
A Simple Linear Space Algorithm for Computing a Longest Common Increasing Subsequence Danlin Cai, Daxin Zhu, Lei Wang, and Xiaodong Wang Abstract This paper presents a linear space algorithm for finding
More informationAlgorithms: COMP3121/3821/9101/9801
NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales TOPIC 4: THE GREEDY METHOD COMP3121/3821/9101/9801 1 / 23 The
More informationPattern Matching. a b a c a a b. a b a c a b. a b a c a b. Pattern Matching Goodrich, Tamassia
Pattern Matching a b a c a a b 1 4 3 2 Pattern Matching 1 Brute-Force Pattern Matching ( 11.2.1) The brute-force pattern matching algorithm compares the pattern P with the text T for each possible shift
More informationLecture 2: Divide and conquer and Dynamic programming
Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in
More informationExclusive Disjunction
Exclusive Disjunction Recall A statement is a declarative sentence that is either true or false, but not both. If we have a declarative sentence s, p: s is true, and q: s is false, can we rewrite s is
More informationActivity selection. Goal: Select the largest possible set of nonoverlapping (mutually compatible) activities.
Greedy Algorithm 1 Introduction Similar to dynamic programming. Used for optimization problems. Not always yield an optimal solution. Make choice for the one looks best right now. Make a locally optimal
More information1 The Knapsack Problem
Comp 260: Advanced Algorithms Prof. Lenore Cowen Tufts University, Spring 2018 Scribe: Tom Magerlein 1 Lecture 4: The Knapsack Problem 1 The Knapsack Problem Suppose we are trying to burgle someone s house.
More informationCollected Works of Charles Dickens
Collected Works of Charles Dickens A Random Dickens Quote If there were no bad people, there would be no good lawyers. Original Sentence It was a dark and stormy night; the night was dark except at sunny
More informationDecision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012
Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM
More informationPattern Matching. a b a c a a b. a b a c a b. a b a c a b. Pattern Matching 1
Pattern Matching a b a c a a b 1 4 3 2 Pattern Matching 1 Outline and Reading Strings ( 9.1.1) Pattern matching algorithms Brute-force algorithm ( 9.1.2) Boyer-Moore algorithm ( 9.1.3) Knuth-Morris-Pratt
More informationAlgorithms in Bioinformatics: A Practical Introduction. Sequence Similarity
Algorithms in Bioinformatics: A Practical Introduction Sequence Similarity Earliest Researches in Sequence Comparison Doolittle et al. (Science, July 1983) searched for platelet-derived growth factor (PDGF)
More informationLecture 5: Hashing. David Woodruff Carnegie Mellon University
Lecture 5: Hashing David Woodruff Carnegie Mellon University Hashing Universal hashing Perfect hashing Maintaining a Dictionary Let U be a universe of keys U could be all strings of ASCII characters of
More informationUnsupervised Vocabulary Induction
Infant Language Acquisition Unsupervised Vocabulary Induction MIT (Saffran et al., 1997) 8 month-old babies exposed to stream of syllables Stream composed of synthetic words (pabikumalikiwabufa) After
More informationDefine M to be a binary n by m matrix such that:
The Shift-And Method Define M to be a binary n by m matrix such that: M(i,j) = iff the first i characters of P exactly match the i characters of T ending at character j. M(i,j) = iff P[.. i] T[j-i+.. j]
More informationDynamic Programming 1
Dynamic Programming 1 lgorithmic Paradigms Divide-and-conquer. Break up a problem into two sub-problems, solve each sub-problem independently, and combine solution to sub-problems to form solution to original
More informationPairwise & Multiple sequence alignments
Pairwise & Multiple sequence alignments Urmila Kulkarni-Kale Bioinformatics Centre 411 007 urmila@bioinfo.ernet.in Basis for Sequence comparison Theory of evolution: gene sequences have evolved/derived
More informationLinear Algebra I Lecture 8
Linear Algebra I Lecture 8 Xi Chen 1 1 University of Alberta January 25, 2019 Outline 1 2 Gauss-Jordan Elimination Given a system of linear equations f 1 (x 1, x 2,..., x n ) = 0 f 2 (x 1, x 2,..., x n
More informationRela%ons and Their Proper%es. Slides by A. Bloomfield
Rela%ons and Their Proper%es Slides by A. Bloomfield What is a rela%on Let A and B be sets. A binary rela%on R is a subset of A B Example Let A be the students in a the CS major A = {Alice, Bob, Claire,
More informationSections 6.1 and 6.2: Systems of Linear Equations
What is a linear equation? Sections 6.1 and 6.2: Systems of Linear Equations We are now going to discuss solving systems of two or more linear equations with two variables. Recall that solving an equation
More informationPart V. Intractable Problems
Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree
More informationCS173 Running Time and Big-O. Tandy Warnow
CS173 Running Time and Big-O Tandy Warnow CS 173 Running Times and Big-O analysis Tandy Warnow Today s material We will cover: Running time analysis Review of running time analysis of Bubblesort Review
More informationCSE 591 Foundations of Algorithms Homework 4 Sample Solution Outlines. Problem 1
CSE 591 Foundations of Algorithms Homework 4 Sample Solution Outlines Problem 1 (a) Consider the situation in the figure, every edge has the same weight and V = n = 2k + 2. Easy to check, every simple
More informationCSE 549 Lecture 3: Sequence Similarity & Alignment. slides (w/*) courtesy of Carl Kingsford
CSE 549 Lecture 3: Sequence Similarity & Alignment slides (w/*) courtesy of Carl Kingsford Relatedness of Biological Sequence https://en.wikipedia.org/wiki/phylogenetic_tree Relatedness of Biological Sequence
More informationLecture 3: Nondeterministic Finite Automata
Lecture 3: Nondeterministic Finite Automata September 5, 206 CS 00 Theory of Computation As a recap of last lecture, recall that a deterministic finite automaton (DFA) consists of (Q, Σ, δ, q 0, F ) where
More information6. DYNAMIC PROGRAMMING II
6. DYNAMIC PROGRAMMING II sequence alignmen Hirschberg's algorihm Bellman-Ford algorihm disance vecor proocols negaive cycles in a digraph 6. DYNAMIC PROGRAMMING II sequence alignmen Hirschberg's algorihm
More information6. DYNAMIC PROGRAMMING II
6. DYNAMIC PROGRAMMING II sequence alignmen Hirschberg s algorihm Bellman Ford algorihm disance vecor proocols negaive cycles in a digraph 6. DYNAMIC PROGRAMMING II sequence alignmen Hirschberg s algorihm
More informationIntroduction to Bioinformatics Algorithms Homework 3 Solution
Introduction to Bioinformatics Algorithms Homework 3 Solution Saad Mneimneh Computer Science Hunter College of CUNY Problem 1: Concave penalty function We have seen in class the following recurrence for
More informationString Search. 6th September 2018
String Search 6th September 2018 Search for a given (short) string in a long string Search problems have become more important lately The amount of stored digital information grows steadily (rapidly?)
More informationEECS730: Introduction to Bioinformatics
EECS730: Introduction to Bioinformatics Lecture 07: profile Hidden Markov Model http://bibiserv.techfak.uni-bielefeld.de/sadr2/databasesearch/hmmer/profilehmm.gif Slides adapted from Dr. Shaojie Zhang
More informationLesson 76 Introduction to Complex Numbers
Lesson 76 Introduction to Complex Numbers HL2 MATH - SANTOWSKI Lesson Objectives (1) Introduce the idea of imaginary and complex numbers (2) Prac?ce opera?ons with complex numbers (3) Use complex numbers
More information3. SEQUENCE ANALYSIS BIOINFORMATICS COURSE MTAT
3. SEQUENCE ANALYSIS BIOINFORMATICS COURSE MTAT.03.239 25.09.2012 SEQUENCE ANALYSIS IS IMPORTANT FOR... Prediction of function Gene finding the process of identifying the regions of genomic DNA that encode
More informationCSE 421. Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee
CSE 421 Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee 1 Shortest Paths with Neg Edge Weights Given a weighted directed graph G = V, E and a source vertex s, where the weight of edge
More information7-7 Multiplying Polynomials
Example 1: Multiplying Monomials A. (6y 3 )(3y 5 ) (6y 3 )(3y 5 ) (6 3)(y 3 y 5 ) 18y 8 Group factors with like bases together. B. (3mn 2 ) (9m 2 n) Example 1C: Multiplying Monomials Group factors with
More informationDo not turn this page until you have received the signal to start. Please fill out the identification section above. Good Luck!
CSC 373H5 F 2017 Midterm Duration 1 hour and 50 minutes Last Name: Lecture Section: 1 Student Number: First Name: Instructor: Vincent Maccio Do not turn this page until you have received the signal to
More information8 Grundlagen der Bioinformatik, SS 09, D. Huson, April 28, 2009
8 Grundlagen der Bioinformatik, SS 09, D. Huson, April 28, 2009 2 Pairwise alignment We will discuss: 1. Strings 2. Dot matrix method for comparing sequences 3. Edit distance and alignment 4. The number
More information