M.M. Dalkilic, PhD Monday, September 08, 2008 Class II Indiana University, Bloomington, IN Sequence Homology 1 Sequence Similiarty (Computation) M.M. Dalkilic,

Slides:



Advertisements
Similar presentations
Variables on Both Sides of the Equation
Advertisements

MATH 224 – Discrete Mathematics
Dynamic Programming Nithya Tarek. Dynamic Programming Dynamic programming solves problems by combining the solutions to sub problems. Paradigms: Divide.
Types of Algorithms.
Lecture 8: Dynamic Programming Shang-Hua Teng. Longest Common Subsequence Biologists need to measure how similar strands of DNA are to determine how closely.
Overview What is Dynamic Programming? A Sequence of 4 Steps
Dynamic Programming.
CSCE 3110 Data Structures & Algorithm Analysis
M.M. Dalkilic, PhD Monday, September 08, 2008 Class III Indiana University, Bloomington, IN Sequence Homology 1 Sequence Similiarty (Computation) M.M.
Complexity Analysis (Part I)
Prune-and-search Strategy
Sequence Alignment Oct 9, 2002 Joon Lee Genomics & Computational Biology.
UNIVERSITY OF SOUTH CAROLINA College of Engineering & Information Technology Bioinformatics Algorithms and Data Structures Chapter 11: Core String Edits.
Analysis of Algorithms
Lecture 7 Topics Dynamic Programming
Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting.
First Ingredient of Dynamic Programming
BIT Presentation 4.  An algorithm is a method for solving a class of problems.  While computer scientists think a lot about algorithms, the term.
Algorithms and Data Structures Lecture X
Lecture 5 Dynamic Programming. Dynamic Programming Self-reducibility.
1 Decrease-and-Conquer Approach Lecture 06 ITS033 – Programming & Algorithms Asst. Prof. Dr. Bunyarit Uyyanonvara IT Program, Image and Vision Computing.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Dynamic Programming. Well known algorithm design techniques:. –Divide-and-conquer algorithms Another strategy for designing algorithms is dynamic programming.
1 Summary of lectures 1.Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture SlidesLecture Slides 2.Recurrence and Master Theorem (Chapter.
Analysis of Algorithms
Recursion and Dynamic Programming. Recursive thinking… Recursion is a method where the solution to a problem depends on solutions to smaller instances.
© The McGraw-Hill Companies, Inc., Chapter 6 Prune-and-Search Strategy.
1 Recurrences Algorithms Jay Urbain, PhD Credits: Discrete Mathematics and Its Applications, by Kenneth Rosen The Design and Analysis of.
Fundamentals of Algorithms MCS - 2 Lecture # 7
Computer Science Department Data Structure & Algorithms Lecture 8 Recursion.
CS 615: Design & Analysis of Algorithms Chapter 5: Searching Brassard & Bratley Chap.: Chapter 9 Page &
The Selection Problem. 2 Median and Order Statistics In this section, we will study algorithms for finding the i th smallest element in a set of n elements.
Analysis of algorithms Analysis of algorithms is the branch of computer science that studies the performance of algorithms, especially their run time.
M.M. Dalkilic, PhD Monday, September 08, 2008 Class V Indiana University, Bloomington, IN Sequence Homology 1 Sequence Similiarty (Computation) M.M. Dalkilic,
COSC 3101A - Design and Analysis of Algorithms 7 Dynamic Programming Assembly-Line Scheduling Matrix-Chain Multiplication Elements of DP Many of these.
CSIS 123A Lecture 9 Recursion Glenn Stevenson CSIS 113A MSJC.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 28, 2014.
IB Computer Science Unit 5 – Advanced Topics Recursion.
1 Chapter 15-1 : Dynamic Programming I. 2 Divide-and-conquer strategy allows us to solve a big problem by handling only smaller sub-problems Some problems.
Chapter 18: Searching and Sorting Algorithms. Objectives In this chapter, you will: Learn the various search algorithms Implement sequential and binary.
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
Algorithm Analysis Part of slides are borrowed from UST.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
1 Dynamic Programming Topic 07 Asst. Prof. Dr. Bunyarit Uyyanonvara IT Program, Image and Vision Computing Lab. School of Information and Computer Technology.
Computer Sciences Department1.  Property 1: each node can have up to two successor nodes (children)  The predecessor node of a node is called its.
Winter 2006CISC121 - Prof. McLeod1 Stuff No stuff today!
CS 3343: Analysis of Algorithms Lecture 19: Introduction to Greedy Algorithms.
1 Recursive algorithms Recursive solution: solve a smaller version of the problem and combine the smaller solutions. Example: to find the largest element.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 21.
Dynamic Programming. What is Dynamic Programming  A method for solving complex problems by breaking them down into simpler sub problems. It is applicable.
Alignment, Part II Vasileios Hatzivassiloglou University of Texas at Dallas.
CS 326 Programming Languages, Concepts and Implementation
Lecture 5 Dynamic Programming
Unit 1. Sorting and Divide and Conquer
CS 3343: Analysis of Algorithms
Summary of lectures Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides Recurrence and Master Theorem (Chapter 4). Lecture Slides.
Course Description Algorithms are: Recipes for solving problems.
Lecture 5 Dynamic Programming
Indiana University, Bloomington, IN
Indiana University, Bloomington, IN
Objective of This Course
Searching: linear & binary
CSE 373 Data Structures and Algorithms
Lecture 4 Dynamic Programming
Decidability continued….
Course Description Algorithms are: Recipes for solving problems.
COMPSCI 330 Design and Analysis of Algorithms
Presentation transcript:

M.M. Dalkilic, PhD Monday, September 08, 2008 Class II Indiana University, Bloomington, IN Sequence Homology 1 Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 ©

Outline New Due Dates for Programs New Reading Posted on Website: T-Coffee Readings [Mount] Chap 3, [R] Chaps 3-4 Most Important Aspect of Bioinformatics—homology search through sequence similarity (cont’d) 2 Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 ©

Computation (review) Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 3 Algorithm “process or rules for (esp. machine) calculations. The execution of an algorithm must not include any subjective decisions, nor must it require the use of intuition or creativity” [Brassard & Bratley]

Computation (review) Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 4 constant Upper bound starts Upper bound

Computation (Next Lecture) Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 5 Divide and Conquer gives rise to Dynamic Programming—the approach used in sequence comparison

General Technique of Divide and Conquer Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 6 General approach—to work on more smaller pieces Key point: data is not share between among processes The cost of breaking-down, solving, then reassembling solution is less than working on the solution itself constantwork

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 7 But what if data needs to be shared or the cost of redundancy is too high? Rethink computation: Dynamic Programming or Recursive Optimization Reduce cost of sharing thereby reduce cost of recursion

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 8 “ Dynamic programming reduces the running time of a recursive function to be at most the time required to evaluate the function for all arguments less than or equal to the given argument, treating the cost of a recursive call as a constant” [Sedgewick] o Top-down DP o Bottom-Up DP

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 9 o Top-down DP Create a “dictionary” of new input-output values are they are encountered; Each time recursion is called, we “look-up” the entry—if it’s blank, we add it; Otherwise, we continue…

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 10 o Top-down DP New input-output pairs encountered

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 11 o Bottom-up DP Simply pre-compute all input-output pairs sequentially;

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 12 o TPD generally easier o Memory isn’t so much of an issue o We might not need every entry in the “dictionary”

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 13 o DP has state variables that keep information about the current state o DP has decision variables that are used for making choices o DP has return function that is optimized

General Technique of Dynamic Programming Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 14

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 15

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 16

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 17

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 18

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 19

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 20 Given that “eine”, “one”, and “bir” all mean 1 in different languages, based on edit distance (sequence similarity) which two words are more related? All that remains is to prove that edit distance is essentially sequence alignment

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 21 A sequence alignment is grid of cells that contain either a single symbol, -, or blank. A sequence alignment looks much like a spreadsheet All that remains is to prove that edit distance is essentially sequence alignment

Edit Substitution to Sequence Alignment Sequence Similiarty (Computation) M.M. Dalkilic, PhD SoI Indiana University, Bloomington, IN 2008 © 22 A scientist then can use sequence alignment and be assured that this is nothing more than window dressing edit distance—which itself is a kind of distance between sequences Next class, the algorithm for sequence alignments…